キャラクターが動くとカメラからフレームアウトするのはどうしたら良いですか?
そうだね、カメラをキャラクターに追従させる方法は2つあるよ!
- MainCameraをScriptで制御
- Cinemachineを使用
1.については、以前解説した記事をご参照ください。
今回は、「2.Cinemachine」を使用について解説していきます。
では、早速始めていきましょう!
プロジェクトは前回の続きから始めていきますので、手順に不安のある方は以下の記事内容を先に実施してから、戻ってきてください。
ここでは、キャラクターとアニメーションは、mixamoを使用します。
キャラクターの移動
まずは、キャラクターがその場から動くように設定していきます。
キャラクター[Worker]を選択し、Inspectorウインドウの[Animator]>[Apply Root Motion]にチェックを入れます。
[▶︎]ゲームプレイで動作を確認します。キャラクターが移動して、カメラからフレームアウトしてしまいます。
今回は、これを改善していきます。
Cinemachineのインポート
Cinemachineを追加します。
メニューの[Window]>[Package Manager]をクリックします。
[Packages:Unity Registry]の状態で、検索窓で、”cin”と入力します。[Cinemachine]が表示されますので、選択して、[Install]をクリックします。
インストールが完了すると、メニューに[Cinemachine]が追加されます。
Cinemachineの設定
Hierarchyウインドウに、Virtual Cameraを追加します。
[Cinemachine]>[Create Virtual Camera]をクリックします。
Hierarchyウインドウに、[CM vcam1]が追加されます。
Virtual Cameraに標的を設定します。
Hierarchyウインドウの[CM vcam1]を選択し、Inspectorウインドウの[CinemachineVirtualCamera]>[Follow]と[Look At]に、Hierarchyウインドウのキャラクター[Worker]をドラッグして離します。
設定が完了すると、Gameビューがこのようになります。
カメラのアングルを設定します。
Hierarchyウインドウの[CM vcam1]を選択し、Inspectorウインドウの[CinemachineVirtualCamera]>[Body]と[Aim]を調整します。
色々と数値を変更して、[▶︎]ゲームプレイで挙動を確認してみてください。
[▶︎]ゲームプレイで動作を確認します。カメラがキャラクターに追従しているのが確認できます。
ここまでは単純な追従ですが、設定によって色々な効果を付けることも可能です。一例を示します。
Hierarchyウインドウの[CM vcam1]を選択し、Inspectorウインドウの[CinemachineVirtualCamera]>[Noise]を調整します。
[▶︎]ゲームプレイで動作を確認します。臨場感のあるカメラワークになりました。
このように、パラメータ調整で自由自在にカメラワークを設定することが可能です。
以上で終わりです。お疲れ様でした。