
Unreal Engine 4 input action and event system に SteamVR Input System への実験的サポート機能が追加されました。SteamVR Input system を使うことによって、ゲームの書き出し時には存在していないコントローラーに対しても、お気に入りのゲーム用のバインディング結合設定をビルドすることができます。SteamVR Input system を有効にすると、UE4 で定義されたアクションと軸マッピングを SteamVR バインディング エディタ ユーティリティのデバイスに結合することができます。
詳細については、SteamVR Input system について Steam から最初に発表された Controllers Controllers Controllers: Introducing SteamVR Input を参照してください。
既存プロジェクトとの下位互換性を維持するために、新しい SteamVR Input System へのサポートはデフォルトで無効になっています。
手順
-
新しい SteamVR Input System は既存プロジェクトと互換性がないので、明示的に無効にする必要があります。SteamVR Input を有効にするには、Unreal Engine の「ConsoleVariables.ini」ファイル (\Engine\Config\ConsoleVariables.ini) でコンソール変数 vr.SteamVR.EnableVRInput を 1 に設定します。
クリックしてフルサイズで表示。
- [Project Settings] > [Engine] > [Input] > [Bindings] で、処理する入力アクションに対する アクション / 軸マッピング を設定します。
クリックしてフルサイズで表示。
最後のキー バインドは Input Bindings 経由で SteamVR で行われるため、アクションと軸にバインドされたキーがある限り、Input Action Mapping と Axis Mapping へ割り当てた実際のキーは関係ありません。
-
設定を保存して、SteamVR と Unreal Editor を再起動します。
SteamVR が停止している間、Unreal Editor 用にアクション マニフェスト設定が生成したブロック キャッシュを取り除くために、C:\Program Files (x86)\Steam\config\steamvr.vrsettings の編集も必要な場合があります。
- SteamVR の [Devices] で [Controller Input Binding] をクリックします。実行中のアプリケーションが一番上にあります。UI を使用してバインディングを作成し保存します。
- SteamVR beta で [Devices] > [Controller Input Bindings] を選択します。
クリックしてフルサイズで表示。
- 編集するアプリケーションのバインディングを選択します (UE4EDITOR.EXE)。
クリックしてフルサイズで表示。
- 既存のバインディングを編集するために [Edit] を編集します。
クリックしてフルサイズで表示。
- 既存のバインディングを変更し、保存します。
クリックしてフルサイズで表示。
2D Axes について:Steam は最高 3 D 入力までサポートしていますが、Unreal Engine には 1 D の軸入力しかありません。入力設定で同じコントローラーの X および Y に対応するものに結合された 2 つの軸を定義すれば、この不一致は修正されます。たとえば、MoveRight が Motion Controller Thumb Stick X、MoveForward は Motion Controller Thumb Stick Y にそれぞれ結合されると仮定します。SteamVR コントローラー コードは実際に 3 つのアクションを生成します。vector1 アクションは MoveRight、もう 1 つの vector1 アクションは MoveForward、3 つめはそれらを合わせた vector2 の MoveRightForward です。入力の種類 (1D または 2D) に応じて、この 3 つの中の 1 つのみ、あるいは 2 つに結合することができます。
最終結果
Action Input API アクションを使ったゲームは、SteamVR Input System で定義したバインドに反応するようになります。