facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(2Dでの対応)
(2Dでの対応)
行7: 行7:
 
*ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。
 
*ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。
 
*ChinemachineVirtualCameraのAimをDo nothingになってることを確認。
 
*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>

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);
        }
    }