2Dアクションゲームでプレイヤーを追うようにカメラを動かす【Unityゲーム制作】

今回は2Dアクションゲームでプレイヤーを追うようにカメラを動かしてみました。カメラを動かすというか、プレイヤーが画面の中心に来るようにするといいますか。

まあ、普通のアクションゲームなら当たり前の話ですが、当然、設定してあげないと画面は動きません。

カメラを動かす

カメラを動かす方法はいくつかありますが、今回は「Cinemachine」のパッケージを使っていきます。

何も設定していない場合

まずは何も設定していない時の動きを確認。適当にマップを作り動かしてみます。

このままだとカメラが動かないため、キャラクターを動かすと下のように画面外に出ていきます。

これを常にキャラクターが画面真ん中にくるようにしていきます。

Cinemachineのインストール

UnityにはPackageという便利なものがあり、これを使うと複雑なプログラムが必要なものも簡単に実装できるようです。今回はCinemachineを使ってカメラを動かしていきます。

画面上部「ウィンドウ」にある「Package Manager」を選択します。

出てきた画面で「すべてのパッケージ」にするとたくさんのパッケージが出てくるので、この中から「Cinemachine」を選んで「Install」を選びます。

インストールが完了すると画面上部に「Cinemachine」が追加されるので、これを選択し、「Create 2D Camera」を選びます。

ヒエラルキーに「CM vcam1」が追加されるので、これを選択して、「CinemachineVirtualCamera」の中にあるFollowの項目を、画面の中心にしたいオブジェクトにします。

これで動かすと、もう完成です。が・・・このままだとカメラはどこまでもついていきます。

カメラの範囲設定

次にカメラの範囲を設定していきます。「CM vcam1」のインスペクターにある「Add Extension」から「CinemachineConfiner」を選択。

ヒエラルキーに追加されるので名前を適当に変更しておきます。今回は「CinemachineConfiner」としてます。

んでもって「2D ポリゴンコライダー」のコンポーネントを追加

「コライダーの編集」から頂点をマウスで設定できるし、要素の座標を設定することもできます。一旦、適当に設定。

設定したら「CM vcam1」の「Cinemachine Confiner」の「Bunding Shape 2D」に適用。

これでカメラの範囲設定完了。いい感じに設定しないと逆に違和感の出るカメラの動きになる事も。

タイトルとURLをコピーしました