「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)へ
