facebook twitter hatena line email

Unity/Cinemachine/2D

提供: 初心者エンジニアの簡易メモ
2022年1月4日 (火) 12:40時点におけるAdmin (トーク | 投稿記録)による版 (2Dでの対応)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

2Dでの対応

基本的にBodyがFramingTransposerであること以外、3Dとかわらない。

  • MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
  • UnityメインのCinemachineのCreate 2D Cameraを追加する
  • 追っかけるPlayerImageオブジェクトを作って、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
  • ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。
  • ChinemachineVirtualCameraのAimをDo nothingになってることを確認。

プレイヤー入力操作のための適当なサンプル

void Update()
    {
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            playerImage.transform.localPosition = new Vector3(
                playerImage.transform.localPosition.x - 1,
                playerImage.transform.localPosition.y,
                playerImage.transform.localPosition.z);

        }
        else if (Input.GetKey(KeyCode.RightArrow))
        {
            playerImage.transform.localPosition = new Vector3(
                playerImage.transform.localPosition.x + 1,
                playerImage.transform.localPosition.y,
                playerImage.transform.localPosition.z);
        }
        else if (Input.GetKey(KeyCode.UpArrow))
        {
            playerImage.transform.localPosition = new Vector3(
                playerImage.transform.localPosition.x,
                playerImage.transform.localPosition.y + 1,
                playerImage.transform.localPosition.z);
        }
        else if (Input.GetKey(KeyCode.DownArrow))
        {
            playerImage.transform.localPosition = new Vector3(
                playerImage.transform.localPosition.x,
                playerImage.transform.localPosition.y - 1,
                playerImage.transform.localPosition.z);
        }
    }

参考:https://nekojara.city/unity-cinemachine-2d