代替の入力システム
Cinemachine コンポーネントの中には (例えば、FreeLook、POV、OrbitalTransposer)、カメラの位置や向きを決めるためにユーザの入力を必要とするものがあります。デフォルトでは、Cinemachine は標準的な Input.GetAxis(name)
を使ってユーザーからの入力を取得します。
プロジェクトで代替の入力システムを使用する場合、入力が適切なソースから得られるように、このデフォルトの動作をオーバーライドする必要があります。
Cinemachine はインターフェース Cinemachine.AxisState.IInputAxisProvider
を定義します。このインターフェースを実装した MonoBehaviour
をバーチャルカメラや FreeLook に追加すると、標準の入力システムの代わりにそれを使って入力を処理します。
Cinemachine には、新しい UnityEngine.Input パッケージの CinemachineInputProvider を使ったこのような動作の例が含まれています。これには 2 つの目的があります。
- 新しい UnityEngine.Input パッケージ用のシンプルですぐに使える機能を提供し、一般的な使用例をカバーします。
- Cinemachine をカスタムやサードパーティ製の入力システムと統合する方法例を示すソースコードを提供します。
CinemachineInputProvider
CinemachineInputProvider は、バーチャルカメラや FreeLook に動作を加えます。 これは入力ソースのオーバーライドで、バーチャルカメラが標準の Unity 入力システムではなく、新しい UnityEngine.Input パッケージを使用して入力を取得するようにします。
UnityEngine.Input パッケージをプロジェクトにインストールすると、この動作が可能になります。
プロパティー
プロパティー | 機能 |
---|---|
Player Index | どのプレイヤーの入力を取得するかを指定します。 シングルプレイヤーゲームではデフォルト値の -1 のままにしておきます。 そうでない場合は、UnityEngine.InputSystem.Users.InputUser.all リストのプレイヤーのインデックスを指定します。 |
XY Axis | X 軸と Y 軸に値を供給する Vector2 入力アクション。 X 軸と Y 軸を使用しない場合は null にします。 |
Z Axis | Z 軸に値を供給する float 入力アクション。Z 軸を使用しない場合は null にします。 |