カメラをマウスドラッグで回転(一人称視点)させるサンプルスクリプト。
public class CameraRotator1stPersonPov : MonoBehaviour { public Vector2 rotationSpeed = new Vector2(0.1f, 0.1f); public bool reverse; private Camera mainCamera; private Vector2 lastMousePosition; private Vector2 newAngle = Vector2.zero; void Start() { mainCamera = Camera.main; } void Update() { if (Input.GetMouseButtonDown(0)) { newAngle = mainCamera.transform.localEulerAngles; lastMousePosition = Input.mousePosition; } else if (Input.GetMouseButton(0)) { if (!reverse) { newAngle.y -= (lastMousePosition.x - Input.mousePosition.x) * rotationSpeed.y; newAngle.x -= (Input.mousePosition.y - lastMousePosition.y) * rotationSpeed.x; mainCamera.transform.localEulerAngles = newAngle; lastMousePosition = Input.mousePosition; } else { newAngle.y -= (Input.mousePosition.x - lastMousePosition.x) * rotationSpeed.y; newAngle.x -= (lastMousePosition.y - Input.mousePosition.y) * rotationSpeed.x; mainCamera.transform.localEulerAngles = newAngle; lastMousePosition = Input.mousePosition; } } } }