カメラ制御専用のキーバインドを作成して使うことを前提に解説していきます。
すでにキーバインドを設定している場合は、読み飛ばして問題ありません。
トップメニューよりAssets > Create > Input Actionsの順に選択し、Input Actionsの定義ファイルを作成します。
どんな名前でも構いません。
カメラ操作に使うキーバインド情報を作成していきます。必要な操作は、カメラ回転に使う2軸操作です。
先ほど作成したInput Actionsファイルをダブルクリックで開き、Action Mapsの右の+
ボタンから新しいマップを作成します。
Actionsのアクション名(New actionの部分)を適当なものに変更し、Properties > Action項目を設定します。
2軸操作となるため、Action Typeには Value
、Control TypeにはVector 2
を指定すればOKです。
アクションの三角マークをクリックし、
マウス移動を設定する場合は、Mouse > Deltaを選択します。
ここまでの設定が完了したら、Save AssetボタンをクリックしてInput Actionsの設定を保存してください。
これでInput Actionsの設定は完了です。
Input Systemでカメラ操作させたいバーチャルカメラオブジェクトにCinemachineInputProviderコンポーネントをアタッチします。
例では、TPSカメラ制御するCinemachine Free Look Cameraオブジェクトにアタッチすることとします。
なお、アタッチする場所は、バーチャルカメラオブジェクトおよびその子(孫含む)オブジェクトのどちらでも構いません。
無事に追加出来たら、次の項目を設定します。
Player Index
XY Axis
Z Axis
Cinemachine FreeLook Cameraなどをマウスやスティックで動かしたい場合は、Axis Controlの速度や感度調整が必要になる場合があります。
また、マウスとスティック入力を同時に扱う場合、両者の入力値の大きさが全く異なり、入力値の大きさが同じになるような調整が必要になる場合があります。
マウスとスティック入力それぞれで感度を調整したい場合、Input ActionのProcessorの一つであるScaleが使えます。Scale Processorの使い方については、こちらの「8 Processor」の感度まわりを参照