【Unity】カメラをキャラクターに合わせて動かす
machokoさんの動きに合わせて、カメラが移動しています。これは、StandardAssetsのSmoothFollowスクリプトをカメラにアタッチして実装しています。
SmoothFollowをインポートする
StandartAssetsをダウンロードし、インポートします。全部インポートしても良いのですが、今回はピンポイントでSmoothFollowスクリプトのみとしました。SmoothFollow.csは、Standard Assets->Utility下にあります。
ちなみに一部だけインポートすると、インポートしたアイテムが他のアイテムを参照している場合に参照エラーが起きてしまうので、注意が必要です。
メインカメラにアタッチする
先ほどのSmoothFollow.csをメインカメラにアタッチします。インスペクタのAddComponentボタンでも良いし、ヒエラルキーウィンドウにD&DでもOKです。ちなみに私は後者派です。
パラメータを調整する
メインカメラのインスペクタから、 SmoothFollowのパラメータを調整します。
- Target・・・カメラが追随するターゲットを設定します。
- Distance・・・カメラとTargetとの距離を設定します。
- Height・・・Targetからの高さを設定します。
- Rotation Damping・・・回転速度
- Height Damping・・・上下移動速度
カスタマイズする
machokoさんがゴール中に入ると、カメラが手前に来すぎてしまい、ステージが見切れてしまう現象が起きました。
これを防ぐために、SmoothFollow.csを少しだけカスタマイズ。
SmoothFollow.csでは、LateUpdateメソッド内でカメラ位置を調整しています。これを、以下のように修正しました。
結論
- カメラでターゲットを追随するには、StandardAssetsのSmoothFollowを使うと便利
- インポートしたスクリプトは、自分好みにカスタマイズしよう
- アセットは、使うもののみインポートすることができるが、参照エラーが出る場合があるので要注意