【Unity】Input Systemの入力感度を設定する

マウスで視点を動かすようにしたいんだけど、カメラの回転が速すぎて困っているの…

マウス感度を調整する必要がありそうね。Input SystemならProcessor機能を使えば良いわ!

Input Systemでジョイスティックやマウス移動量など、一部の入力値に対して感度を設定する方法の紹介です。

結論を述べると、Input ActionScale系Processorを適用すれば可能です。これは、入力値にある倍数を掛けるProcessorの一種です。

Processorの適用例

これは、旧Input ManagerのSensitivity項目に該当します。

例えば、視線操作右スティックマウス操作で行いたい場合、両者の返す入力値の大きさが異なってしまう問題が発生してしまいます。

画像では、右スティックの値は大きさが0~1なのに対し、マウス移動量は10以上の大きな値が返されています。この場合、マウス移動量を小さくして補正することで解消できます。

本記事では、このような入力感度の設定を行う方法を解説します。

この作品はユニティちゃんライセンス条項の元に提供されています

動作環境
  • Unity 2021.2.11f1
  • Input System 1.3.0

スポンサーリンク

前提条件

事前にInput Systemパッケージがインストールされ、Input Actionの設定が済んでいるものとします。

インストール方法が分からない方は、以下記事をご覧ください。

【Unity】Input Systemの使い方入門
Unity公式の新しい入力システムパッケージInput Systemの入門者向け記事です。 本記事では、Input Systemパッケージのインストール方法から、最低限使えるようにするところまでを解説します。 スポンサー ...

Input Actionの設定方法が分からない方は、以下記事を参考に設定を行ってください。

【Unity】Input Actionの基本的な使い方
Input Systemでは、マウスやキーボード、ゲームパッドなどあらゆる入力デバイスを抽象的に扱えるようにするInput Actionが用意されています。 Input Actionを使うと、次のように入力デバイスに依存 ...

本記事では、マウスと右スティック操作が可能な視線操作(Action)に対して感度を適用することとします。

Scale系Processorの仕様

入力値の各要素に係数を掛けた値を出力するProcessorです。

参考:Processors | Input System | 1.3.0

3種類の型(Control Type)に対応したProcessorが用意されています。

  • Scale
    • float型専用
  • Scale Vector 2
    • Vector2型専用
  • Scale Vector 3
    • Vector3型専用

Processorの追加

該当するInput Actionファイルを開き、Scaleを設定したいBindingを選択します。

動画の例では、マウス移動量(Delta)を選択しています。

この状態で右側に表示されるBinding Properties > Processors右の+アイコンから、Scale~を選択します。

マウス移動量の場合、入力値の型(Control Type)はVector2となるため、Scale Vector 2項目がリストに表示されます。

Processorを追加すると、Processors一覧にScale~が追加されますので、入力値の各要素(X、Y、Z等)に掛けたい係数を指定します。

例では0.1倍することとしました。

設定が終わったら、Save Assetボタンをクリックして設定内容を保存します。

実行結果

右スティックとマウス移動でも程よい感じの回転速度となりました。

例では、CinemachineFreeLook Cameraによる視線操作に対して適用しています。

さいごに

Input Systemにおける入力感度の設定は、Scale系のProcessorを用いて実現可能です。

Processorにはほかにも様々な入力値の加工処理を行うものが存在しますので、気になる方は公式リファレンスをご覧ください。

参考:Processors | Input System | 1.3.0

関連記事

【Unity】Input SystemのProcessorで入力値を加工する
Input SystemのProcessor機能の使い方についての解説記事です。 Processorを使うと、次のように入力値に対する加工が可能になります。 値を反転する 値に対してスケールを掛ける(感度を調整する) デ ...
【Unity】CinemachineとInput Systemを連携させる
Cinemachine Free Look Cameraなど、プレイヤーの操作入力によって視点を動かすバーチャルカメラは、通常は内部的には旧式のInput Managerが使われます。 そのため、新しいInput Sys ...
【Unity】三人称視点のカメラワークを簡単に実装する方法
UnityパッケージのCinemachineには、ゲームでよく扱われるカメラワークが用意されています。 CinemachineのFreeLook Cameraを使うと、TPSのような三人称視点のカメラワークを簡単に素早く ...

参考サイト

スポンサーリンク