お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
学習コンセプトカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

【Unity C#】カメラの自動追従

MainCameraに自動追従のスクリプト

ゲームのシチュエーションでは、視点(カメラ)を固定せず、プレーヤーを追尾したい場面も出てきます。

そこで今回は、MainCamera自動追従の仕組みについて見ていきましょう。

C#スクリプトを作成。ここではファイル名をCameraにしました。

コードはこのように書きました。

カメラが追いかけるターゲットを指定するために、 変数targetを用意。

また、プレーヤーからカメラまでの距離情報を格納するために、変数distanceを用意します。

続いてvoid Start()、void Update()の中も書いていきましょう。

void Start()には、プレーヤーとメインカメラの距離を、distanceに格納。

まず最初に、この距離情報は必ず取得しましょう。

LateUpdateでフレームレートの誤差を無くす

実際にメインカメラを動かすvoid Update()は、LateUpdateに書き換えました。

プレーヤーの操作はUpdate()で行われるため、メインカメラが先走って動いてしまう可能性もあります。

LateUpdate()は、Update()の後にフレームごとに呼び出されるので、これを使っておいたほうが、確実に挙動してくれるでしょう。

コードが書ければ、MainCameraにCamera.csをアタッチ。

コンポーネントに、ターゲットの項目が出来ています。

ここには、追尾対象となるPlayerを入れました。

プレイして、カメラの自動追従を確認できればOKです。