「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); | ||
− | + | player.transform.RotateAround(mainCamera.transform.position, Vector3.up, angle.x); | |
− | mainCamera.transform.RotateAround( | + | 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)へ