Developer

【Unity実践】#7 プレイヤーにカメラを追従させる【ランゲーム】
2021.10.08
Lv2

【Unity実践】#7 プレイヤーにカメラを追従させる【ランゲーム】

今回の内容

前回はコース上をプレイヤーが走るように実装しました。
今回の記事では、カメラをプレイヤーに追従させたいと思います!

※初めての方はこちらから
【第1回記事】導入とサンプルの紹介

カメラの親子関係

カメラをプレイヤーや何らかのオブジェクトに追従させたい時は、
追従させるオブジェクトの子オブジェクトに設定するのが楽です。

今回のケースでは見かけ上プレイヤーに追従するような形にしますが、
厳密にはプレイヤーでは無く、MovementBase に追従させる実装とします。

実装方法はシンプルで、Hierarchyビュー上で Main Camera を MovementBase にドラッグ&ドロップします。

あとはお好みでカメラの位置を調整しましょう。
ここでは、Transform と Field of View を使って調整しました。

シーンビューで見ると、下図のような配置となります。

再生すると、移動に合わせてカメラが付いてくるはずです。

今回は都合上 MovementBase に追従させる実装としましたが、
よくあるアクションゲームではプレイヤーに追従させていることが多いかと思います。
カメラに限らず、様々なケースで使える手法ですので、是非覚えておきましょう。

(関連記事)オブジェクトの親子関係

コラム - Field of View (FOV)とは?

Field of View (以降FOV)とは、いわゆる視野角の設定になります。
たとえば人間の目のFOVはというと、およそ200度くらいになります。

ゲームにおいてはカメラが人間の目の役割を果たすことになるので、
CameraコンポーネントにFOVの設定が含まれています。

人間の目の代わりなら200度くらいに設定しよう・・となりそうですが、
実際のゲームで200度に設定されているものはほとんど無く、
一人称視点のゲームでは60 ~ 120 くらいで設定されているケースがほとんどだと思います。
ゲームにおいてはディスプレイサイズと、集中して見せるべき範囲のことを考慮する必要があるためです。

FPS(ファーストパーソンシューティングゲーム)などでは、このFOVの設定によって弾の当てやすさ、索敵のしやすさなどが大きく変わるため、FPSプレイヤーであれば必ず気にするほど重要な設定項目です。
ゲームを作る際にはプレイヤーが気にするポイントを考慮するのが大事であり、
FOVに限らず、流行りのゲームでどういった設定がプレイヤーにとって重要であるかは常々キャッチアップしていく必要があると考えます。

※今回のようなカジュアルゲームではここまで気にする必要はありません。

(公式リファレンス)Camera.fieldOfView

おわりに

今回の実装は以上です。
カメラの位置に関しては今後もう少し追加実装をしますが、
先に次回行う左右方向の移動などの実装を進めた後に対応します。

 

 
関連リンク ➡ 「初心者のための」Unityゲーム制作 目次

© Unity Technologies Japan/UCL