今回のテーマ
- Cinemachine 入門
- FPS のカメラを作る
学習環境のセットアップ
Unity 2018.4 以降を想定しています。
- 新たにプロジェクトを作る
- Package Manager から Cinemachine, ProBuilder をインポートする
- アセットパッケージ LearnCinemachine.unitypackage をダウンロード・インポートする
解説動画
学習環境を確認する
Assets/_LearningCinemachine/3D/ にあるシーン "3D with Cinemachine" と "3D" をそれぞれ開いて実行してみましょう
- "3D with Cinemachine" は Cinemachine の機能を使っており、"3D" は使っていません
- シーン "3D" に Cinemachine の機能を使って "3D with Cinemachine" のようにする方法を学びます
FPS カメラを作る
以下の手順で Cinemachine を使った FPS を作ってみましょう。
- シーン "3D" を開く
- メニューの Cinemachine > Create Virtual Camera を選び、仮想カメラを追加する
- 一つ前の記事から引き続き作業していて、新しく作った仮想カメラでなく先に作った仮想カメラがアクティブになってしまう場合は、以前に作った仮想カメラオブジェクトを無効にしてしまいましょう
- どの仮想カメラがアクティブになっているかは Main Camera オブジェクトの CinemachineBrain コンポーネントの設定 "Live Camera" の設定を見ればわかります
- 任意の仮想カメラをアクティブにする方法については次回扱います
- 仮想カメラオブジェクト (CM vcam1 とか CM vcam2 とかいう名前が付いています) の CinemachineVirtualCamera コンポーネントの設定 "Follow" に Player オブジェクトをアサインする
- 警告が出ているが "Look At" には何も設定しなくてよい
- CinemachineVirtualCamera コンポーネントの設定 "Body" - Follow Offset を (0, 0.5, 0) に設定する
- FPS だからカメラの位置はキャラクターの位置でよい
- Y = 0.5 だと、大体地面から高さ 150cm 位のところにカメラが来る設定になる
- CinemachineVirtualCamera コンポーネントの設定 "Aim" を POV に変更する
- 警告が消えます
- POV Camera とは「一人称視点カメラ」のことです
- これで実行し、カメラが FPS になっていることを確認しましょう
- ただし、キャラクターの移動に対してカメラが遅れて追いかけるため、キャラクターが映ってしまいます
- 次はこの問題を解決しましょう
- CinemachineVirtualCamera コンポーネントの設定 "Body" - X Damping, Y Damping, Z Damping を全て 0 にする
- Damping は「カメラがどれくらい遅れる」かという設定です
- X/Y/Z Damping は、それぞれの軸への移動に対してカメラがどれくらい遅れるか、という設定です
- これらを全て 0 にすれば、カメラはキャラクターの移動に対してまったく遅れずについてくるようになります
- Player の方向を示すための赤い Cylinder が無効になっていますが、これが邪魔であればオブジェクトを無効にして消してしまいましょう
- CinemachineVirtualCamera コンポーネントの設定 "Aim" を変えると、その下に設定できるパラメーターが変わります
- どのような設定があるか見ておきましょう
- パラメーターの説明は公式ドキュメントにあります
参考資料
ドキュメントは現時点で英語のものしかありませんが、検索すれば日本語の記事もいくつか見つかります。