Unityアセット「 Game Creator」で「Camera Motor」を使用してカメラワークを操作する方法を解説します。
Table of Contents
Camera Motorの設置方法
Game CreatorではCamera ControllerとCamera Motorを利用することで簡単にカメラを制御できます。
Camera Motorはカメラの映す場所や方法を指定します。Main CameraにCamera Controllerをアタッチし、Camera Motorを指定することで、Main CameraはそのCamera Motorの設定を適用します。複数の設定のCamera Motorを作り、Main CameraにアタッチしたCamera ControllerからCamera Motorを切り替えることでMain Cameraの映像方法や場所を一瞬で切り替えることができます。
機能はChinemashineに近いのですが、できることを絞ることでより直感的になっています。そのため実現できない事も多々あるのですが、ある程度妥協するなら非常に使いやすいカメラです。拡張も簡単ですし。
Camera MotorとCamera Controllerの設置方法
Hierarchy上で右クリックし、Game Creator > Other > Camera Motorを選択します。すると、Camera Motorオブジェクトを配置した上で、Main CameraにCamera Controllerコンポーネントを追加します。Camera ControllerコンポーネントのCurrent Camera Motorには、今追加したCamera Motorがデフォルトでセットされています。
Camera Motorの種類
Adventure Camera
3Dアドベンチャーゲームのような動きをするカメラ。
私としては、使いどころだと思うのは、ゲーム中にTargetを変えた時に滑らかにカメラが移動する点かなと思います。(Chinemashineほどではありませんが……。)
Initical Direction
初期にカメラが見る方向。ここから、だんだんとTargetを見る方向にスライドしていきます。
Target
カメラが見る位置・方向
Allow Orbit Input
チェックを入れるとカーソルの移動によってカメラが回転するようになります。
Orbit Input
Allow Orbit Inputにチェックが入っている時、マウスがどんな時に回転するかを決めます。
- Mouse Moveの時、マウスを動かした
- Hold Left Mouseの時、マウス左ボタンを押しながらマウスを動かした
- Hold Right Mouseの時、マウス右ボタンを押しながらマウスを動かした
- Hold Center Mouseの時、マウス中央ボタンを押しながらマウスを動かした
Orbit Speed
Orbit Inputに従ったマウスの移動に対する回転速度。
Sensitivity
自動でカメラ視点が移動する速度
Max Pitchはちょっとよくわかりません。
Allow Zoom
チェックが入っているとマウスのホイールで画面の拡大縮小ができます。
Avoid Wall Clip
チェックが入っていると、Wall Clip Radius内で他オブジェクトによってTargetが隠れる場合に、他オブジェクトを避けるようにカメラが動きます。
Auto Reposition Bihind
チェックが入っているとTargetが動いてカメラが動いた後、自動でTagetとの位置・角度を初期と同じ状態になるようにカメラを動かします。
First Person Camera
Playerキャラの目視点、つまりFPS視点になるカメラ。
Position Offset
プレイヤーの前方位置差分。マウスによりカメラが回転します。
Sensitivity
Rotate Inputに従ったマウスの移動に対する回転速度。
Max Pitch
Y(高さ)軸方向の回転角度。0の場合はY軸の回転が無く、XZ方向のみになります。0から180まで。
Rotate Input
画面が回転する条件
- Mouse Moveの時、マウスを動かした
- Hold Left Mouseの時、マウス左ボタンを押しながらマウスを動かした
- Hold Right Mouseの時、マウス右ボタンを押しながらマウスを動かした
- Hold Center Mouseの時、マウス中央ボタンを押しながらマウスを動かした
Smooth Rotation
マウスを移動した時に画面が反応するタイミング。0の時は即座に反応、1の時はワンテンポ遅れるような挙動をします。
Head Bobbing Period,Amount,Model Manipulatorはちょっとわかりません。
Fixed Camera
常に位置が完全固定でLookAtを見るようにします。カメラの位置は一切動きません。
Follow Camera
対象オブジェクトを追うような動きをしつつ、特定のオブジェクトを常に見続けます。
Anchorまでの距離・方角を維持しつつ、いつもLook Atを見るような挙動を示します。
Railway Camera
一定以内の動きはカメラを水平に移動するのみにとどまりますが、大きく動くと距離を保ったままターゲットを追うように回転しながら動きます。
TargetがTarget Start Point~Target End Pointにいる間はカメラはCamera Start Point~Camera End Pointを動きます。Targetの地点のStart~Endの割合とCameraのStart~Endまで割合は一致します。Targetが上記を越えた場合はTargetの移動に合わせてTarget Start~End PointとCamera Start~End Pointの中間点の距離や方角が同じになるように動きます。CameraはLook Atを常に見るようにします。
Target Camera
対象オブジェクトを追うような動きをしつつ、特定のオブジェクトが見る方角とカメラの見る方角を一致させます。
Anchorまでの距離を維持しつつ、いつもTargetが見ている方角と同じ方角を見て、同じ距離にAnchorがいるような挙動を示します。つまり、、Targetの見る方角が変わると対象オブジェクトの距離を維持したままTargetの見る方角と同じ方角に対象オブジェクトがいるように動きます。
Tween Camera
スタート地点からゴール地点まで、速さを変えながら移動するカメラ。
Camera Start PointからCamera End PointまでEasingで指定した速さのカーブでDuration秒かけて移動します。移動後のカメラは静止します。look atで指定した方向を向きます。