Unityでカメラを自動追尾させる2つの方法。

Unityでカメラを自動追尾させる方法はとくにさだまっていることでもないけど、簡単に自動追尾させる方法2つを紹介したいと思います。

Unityオブジェクトの子要素にカメラをいれる

Unityでカメラをオブジェクトに自動追尾させるもっとも一般的だとおもわれる方法は、動くオブジェクトの子要素にカメラをもたせることです。
screenshot 201812270523
この方法はUnityでカメラを追尾させる方法としては一番簡単な方法かと思います。オブジェクトが回転すればカメラも回転します。Unityでただのカメラを子要素としてもたせることの欠点はカメラの動きがカッチリしすぎていることかと思います。それとカメラを子要素にする場合は位置調整は自分としないといけません。

以下普通のカメラを子要素としてもたせたときの自動追尾の挙動です。

UnityのStandardAssetsのAutoCamを使う

Unityでカメラを自動追尾させるには通常のカメラを使う方法以外に、UnityのStandardAssetsに入っている。MultipurposeCameraRigのAutoCamを使う方法があります。この場合はAutoCamScriptで追尾させるターゲットを指定します。MultipurposeCameraRigのAutoCamについては以下の記事に詳しく書いています。
Blenderで作った車をUnityで動かす④カメラを自動回転させる。

MultipurposeCameraRigのAutoCamの特徴としてはなめらかな動きだけどもっさりしているというのがあります。しかしこちらはパラメーターの調整で改善させることも可能です。

以下はMultipurposeCameraRigのAutoCamの挙動です。
screenshot-20181227-0550
MultipurposeCameraRigはカメラの位置調整をしなくても自動でカメラが背後にまわります。

Unityでカメラを自動追尾させる方法まとめ

Unity標準のカメラをオブジェクトの子要素にもたせる

  • カメラの動きがかっちりしている
  • カメラの位置調整は自分で行わないといけない

Unity – StandardAssetsのAutoCamを使う

  • カメラの位置調整をしなくても自動でオブジェクトの背後にまわる
  • 動きがもっさりしているが、パラメーターの調整で改善可能
  • AutoCamスクリプトにターゲットオブジェクトをアタッチする必要がある