yotiky Tech Blog

とあるエンジニアの備忘録

Unity - スライダーで対象を中心にカメラを回転させる(三人称視点)

対象のGameObjectを中心にカメラをスライダーの値で回転(三人称視点)させるサンプルスクリプト。 回転可能な角度を設定して正面からの回転角度に制限を設けている。

f:id:yotiky:20201121011440g:plain

    public GameObject playerObject;
    public Slider rotationSlider;
    public float maxAngle = 90;

    private Camera mainCamera;
    private float totalAngleX;

    void Start()
    {
        mainCamera = Camera.main;
    }

    public void Rotation()
    {
        var newAnglex = maxAngle * rotationSlider.value - totalAngleX;

        totalAngleX += newAnglex;

        mainCamera.transform.RotateAround(playerObject.transform.position, Vector3.up, newAnglex);
    }

画面の方は、uGUI で Screen Space - Overlay で右上からスライダーを追加してる。

f:id:yotiky:20201121012005p:plain

スライダーは、-1~1 で定義し、回転可能角度を掛けることで回転する量を計算している。

f:id:yotiky:20201121012116p:plain