facebook twitter hatena line email

「Unity/3d/視点操作」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(サンプル)
(サンプル)
行17: 行17:
 
{
 
{
 
     Vector3 angle = new Vector3(Input.GetAxis("Mouse X") * rotateSpeed,Input.GetAxis("Mouse Y") * rotateSpeed, 0);
 
     Vector3 angle = new Vector3(Input.GetAxis("Mouse X") * rotateSpeed,Input.GetAxis("Mouse Y") * rotateSpeed, 0);
     mainCamera.transform.RotateAround(player.transform.position, Vector3.up, angle.x);
+
     player.transform.RotateAround(mainCamera.transform.position, Vector3.up, angle.x);
     mainCamera.transform.RotateAround(player.transform.position, transform.right, angle.y);
+
     mainCamera.transform.RotateAround(mainCamera.transform.position, transform.right, angle.y);
 
}
 
}
 
</pre>
 
</pre>

2023年2月20日 (月) 17:53時点における版

サンプル

右クリックからのドラッグで、視点操作

呼び出し(UniRxだと)

 Observable.EveryUpdate()
            .Where(_ => Input.GetMouseButton(0))
            .Subscribe(_ => {
                RotateCamera();
            })
            .AddTo(gameObject);
rotateSpeed = 2f;
private void RotateCamera()
{
    Vector3 angle = new Vector3(Input.GetAxis("Mouse X") * rotateSpeed,Input.GetAxis("Mouse Y") * rotateSpeed, 0);
    player.transform.RotateAround(mainCamera.transform.position, Vector3.up, angle.x);
    mainCamera.transform.RotateAround(mainCamera.transform.position, transform.right, angle.y);
}

参考:https://xr-hub.com/archives/6272

左クリックのとき

Input.GetMouseButton(0)をInput.GetMouseButton(1)へ