LoginSignup
9
10

More than 5 years have passed since last update.

【Unity3D】カメラを回転|フリック・スワイプの向きに回転

Last updated at Posted at 2018-08-19

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様のコードはスワイプの向きの反対方向に回転、僕のコードはスワイプの向きに回転します。

元コードはこちら

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10