vaguely様の【Unity】カメラを回転させるメモのコードを少し書き換えました。
using UnityEngine;
public class CameraRotation : MonoBehaviour
{
public Camera MainCamera;
private Vector3 lastMousePosition;
private Vector3 newAngle = new Vector3(0, 0, 0);
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
// マウスクリック開始(マウスダウン)時にカメラの角度を保持(Z軸には回転させないため).
newAngle = MainCamera.transform.localEulerAngles;
lastMousePosition = Input.mousePosition;
}
else if (Input.GetMouseButton(0))
{
// マウスの移動量分カメラを回転させる.
newAngle.y += (Input.mousePosition.x - lastMousePosition.x) * 0.1f;
newAngle.x -= (Input.mousePosition.y - lastMousePosition.y) * 0.1f;
MainCamera.gameObject.transform.localEulerAngles = newAngle;
lastMousePosition = Input.mousePosition;
}
}
}
僕が変えた所はVector3のnewAngleのyの回転量をマイナスからプラスに変えただけです。
vaguely様のコードはスワイプの向きの反対方向に回転、僕のコードはスワイプの向きに回転します。
元コードはこちら