iOS、tvOS、iPadOS バージョン 14 以降、Apple ではゲームパッド、キーボード、マウスやトラックパッドなど、様々な入力デバイスがサポートされています。それには、Xbox、PlayStation、MFi ゲームパッド コントローラーのゲームパッド ボタンを OS レベルで再マッピングする機能も含まれます。OS では、それらのデバイスに対するボタン グリフ表示の処理と、ユーザーによるカスタム マッピングに正確なグリフを取得するアプリケーションの有効化を提供します。これは、バージョン 14 以降の OS をターゲットにするすべてのアプリケーションで必要です。
Apple では、ゲーム内のボタン表示がユーザーの OS レベルの入力バインディングに対して正確であることを求めています。App Store および Apple Arcade では、この要件に準拠しないアプリケーションの配布を却下する可能性があります。
バージョン 4.26 以降の Unreal Engine では、Apple の新しい入力処理を完全にサポートし、アプリケーションでより多くのデバイスを最大限に活用することができます。ユーザーが Apple デバイスへの入力を正確に接続している限り、この機能を使用するための追加設定は必要ありません。ただし、機能には UI についての Apple の要件に準拠するための支援が含まれています。
ゲームパッド ボタン グリフを取得する
ブループリント の Get Gamepad Button Glyph ノードを使用して、ユーザーのマッピングに正確なグリフを取得します。
このパラメータは次のとおりです。
パラメータ | タイプ | 説明 |
---|---|---|
Button Key | String | 対象となるボタンの FKey 名です。InputCoreTypes.h に定義されているものが文字列に変換されます。 |
Controller Index | Integer | ボタン グリフをフェッチする接続済みコントローラーのインデックスです。 |
Return Value | Texture2D | UI ウィジェットで使用するボタン グリフを含む 2D テクスチャです。 |
たとえば、コントローラーの上面にあるボタンのボタン グリフを取得する必要がある場合は、文字列 Gamepad_Facebutton_Top を使用します。
このようなボタンをリクエストする時は、ユーザーがデフォルト マッピングに基づいて使用することを予測してこのボタンをリクエストする必要があります。ユーザーが OS 内のボタンを再マッピングした場合、関数は代わりに使用している再マッピングされたボタンを自動的に返します。たとえば、ユーザーが Xbox のコントローラーで X ボタンと Y ボタンを入れ替えた場合、Gamepad_Facebutton_Top
は Y ボタンの代わりに X ボタンのグリフを返します。