facebook twitter hatena line email

「Unity/Cinemachine/2D」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==2Dでの対応== 基本的に3Dとかわらない。」)
 
(2Dでの対応)
 
(同じ利用者による、間の3版が非表示)
行1: 行1:
 
==2Dでの対応==
 
==2Dでの対応==
基本的に3Dとかわらない。
+
基本的にBodyがFramingTransposerであること以外、3Dとかわらない。
 +
 
 +
*MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
 +
*UnityメインのCinemachineのCreate 2D Cameraを追加する
 +
*追っかけるPlayerImageオブジェクトを作って、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
 +
*ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。
 +
*ChinemachineVirtualCameraのAimをDo nothingになってることを確認。
 +
 
 +
プレイヤー入力操作のための適当なサンプル
 +
<pre>
 +
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);
 +
        }
 +
    }
 +
</pre>
 +
 
 +
参考:https://nekojara.city/unity-cinemachine-2d

2022年1月4日 (火) 12:40時点における最新版

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