Input Systemでジョイスティックやマウス移動量など、一部の入力値に対して感度を設定(入力値を補正)する方法を見ていきます。
画像では、右スティックの値は大きさが0~1なのに対し、マウス移動量は10以上の大きな値が返されています。この場合、マウス移動量を小さくして補正することで解消できます。
Actionsのアクション名を適当なものにし、Properties > Action項目を設定します。
2軸操作となるため、Action TypeにはValue、Control TypeにはVector 2を指定すればOKです。
マウス移動を設定する場合は、Mouse > Deltaを選択します。
Scaleを設定したいBindingを選択。
右側に表示されるBinding Properties > Processors右の+アイコンから、Scale~を選択。
マウス移動量の場合、入力値の型(Control Type)はVector2となるため、Scale Vector 2項目がリストに表示されます。
Processorを追加すると、Processors一覧にScale~が追加されますので、入力値の各要素(X、Y、Z等)に掛けたい係数を指定します。例では0.1倍しています。
設定が終わったら、Save Assetボタンをクリックして設定内容を保存します。
マウスの補正値設定は以上です
例として、CinemachineのFreeLook Cameraによる視線操作に対して適用させます。
(Cinemachineをインストールしてない場合は、インストール)
ヒエラルキーにて右クリック。Cinemachine > FreeLook Cameraを選択、作成されたGameObjectにCinemachineInputProviderコンポーネントをアタッチ。
(なお、アタッチする場所は、バーチャルカメラオブジェクトおよびその子(孫含む)オブジェクトのどちらでも構いません。)
(TrackingTargetを設定してもいいかも)
無事に追加出来たら、次の項目を設定します。
Cinemachine Free Look Cameraなどのバーチャルカメラでは、基本的にXY Axisしか使わないため、Z Axisはnullでも問題ありません。
Input Systemにおける入力感度の設定は、Scale系のProcessorを用いて実現可能です。