目的
Unityの2Dゲームにおいての背景の多重スクロール(parallax)を行いたく、諸々の事情からPro Camera 2Dというアセットの使用を検討し、Googleで[Unity pro camera 2d 背景多重スクロール]と検索したが、初心者向けの良い塩梅の情報が出てこなかったため、とりあえずサンプルを見ながらなんとかしたので記事にすることにした。
開発環境
- Mac Book air M1 2020 macOS Ventura 13.2
- Unity 2021.3.23.f1
- Pro Camera 2D Version 2.9.5
結果
Unityエディタでの作業
とりあえずプロジェクト作成
スクロール用のレイヤーをNear,Middle,Farとして作成
プレイヤーとスクロール用のオブジェクト(わかりやすいよう色分けして3種類)を作成して、プレイヤー操作用のスクリプトを作成してプレイヤーにアタッチする。更にスクロール用の各オブジェクトに作成したレイヤーを設定する
Player Transform.Position X:0 Y:-3 Z:0 Layer:Default
Near Transform.Position X:0 Y:-1 Z:0 Layer:Near
Middle Transform.Position X:0 Y:0 Z:0 Layer:Middle
Far Transform.Position X:0 Y:1 Z:0 Layer:Far
PlayerController.cs
using UnityEngine; public class PlayerController:MonoBehaviour { private float speed = 0.01f; void Update() { Vector2 position = transform.position; if (Input.GetKey("left")) { position.x -= speed; } else if (Input.GetKey("right")) { position.x += speed; } transform.position = position; } }
パッケージマネージャーよりPro Camera 2Dをインポートする
メインカメラにPro Camera 2Dコンポーネントを追加後、”DROP CAMERA TARGETS HERE” と書かれた場所にプレイヤーをドラッグアンドドロップする。このときFollow yのチェックを外しておく。
EXTENTIONSの項目”Parallax”を設定にする。
ParallaxLayerの+ボタンよりParallaxCameraを追加する。自動でMainCameraの子(ParallaxCamera)が増えていく。
Speedを上から順に、{0.2, 0.5, 0.8, 1} と設定して、CullingMaskも{Near, Middle, Far , Nothing}と設定し、Parallax Y のチェックを外す。
するとPro Camera 2Dによる背景多重スクロール(Parallax)が実装出来る。
コメント