Unity のガイドの移植の入力Input porting guide for Unity

Windows Mixed Reality を使用して、複数のプラットフォーム全体にわたる Unity の一般的な Input.GetButton/GetAxis Api または Windows 固有 XR の 2 つのアプローチの 1 つに、入力のロジックを移植することができます。WSA します。アニメーション コント ローラーと HoloLens 手を具体的には豊富なデータを提供する Api を入力します。You can port your input logic to Windows Mixed Reality using one of two approaches, Unity's general Input.GetButton/GetAxis APIs that span across multiple platforms, or the Windows-specific XR.WSA.Input APIs that offer richer data specifically for motion controllers and HoloLens hands.

[全般] Input.GetButton/GetAxis ApiGeneral Input.GetButton/GetAxis APIs

入力を公開する、その全般 Input.GetButton/Input.GetAxis Api を現在使用して unity Oculus SDKOpenVR SDKします。Unity currently uses its general Input.GetButton/Input.GetAxis APIs to expose input for the Oculus SDK and the OpenVR SDK. Windows Mixed Reality でモーションのコント ローラーをサポートするための最も簡単なパスは既に、アプリは、これらの Api を使用して、入力は場合、: ボタンと Input Manager での軸を再マップする必要があるだけです。If your apps are already using these APIs for input, this is the easiest path for supporting motion controllers in Windows Mixed Reality: you should just need to remap buttons and axes in the Input Manager.

詳細については、次を参照してください。、 Unity ボタン/軸マッピング テーブル一般的な Unity Api の概要します。For more information, see the Unity button/axis mapping table and the overview of the common Unity APIs.

Windows に固有のダンプします。WSA します。入力 ApiWindows-specific XR.WSA.Input APIs

アプリが既に各プラットフォーム用のカスタム入力ロジックをビルドする場合は、Windows に固有の空間入力 Api を使用することもできます、 UnityEngine.XR.WSA.Input名前空間。If your app already builds custom input logic for each platform, you can choose to use the Windows-specific spatial input APIs under the UnityEngine.XR.WSA.Input namespace. 位置の精度などの追加情報または HoloLens の手と離れているコント ローラーを指示することができます、ソースの種類にアクセスできます。This lets you access additional information, such as position accuracy or the source kind, letting you tell hands and controllers apart on HoloLens.

詳細については、次を参照してください。、 UnityEngine.XR.WSA.Input Api の概要します。For more information, see the overview of the UnityEngine.XR.WSA.Input APIs.

グリップの姿勢ポインティング ポーズとの比較Grip pose vs. pointing pose

Windows Mixed Reality は、さまざまなフォーム ファクターでモーションのコント ローラーをサポートしている、各コント ローラーの設計と、ユーザーの手の形の位置とそのアプリの方向を「転送」自然の間の関係の違いポイントを表示するときに使用する必要があります、コント ローラー。Windows Mixed Reality supports motion controllers in a variety of form factors, with each controller's design differing in its relationship between the user's hand position and the natural "forward" direction that apps should use for pointing when rendering the controller.

これらのコント ローラーをより適切に表すには、各操作のソースを調査することができますが発生 2 つの種類があります。To better represent these controllers, there are two kinds of poses you can investigate for each interaction source:

  • グリップ姿勢、片手で行うことによって、HoloLens、検出された手の形のまたはアニメーション コント ローラーを保持している片手で行うことのいずれかの場所を表します。The grip pose, representing the location of either the palm of a hand detected by a HoloLens, or the palm holding a motion controller.
    • イマーシブ ヘッドセットは、この姿勢が最適な表示に使用ユーザーの手またはオブジェクトは、ユーザーの手の形で保持されている剣やガンなど。On immersive headsets, this pose is best used to render the user's hand or an object held in the user's hand, such as a sword or gun.
    • 位置を握って:Palm 重心当然ながら、コント ローラーを保持しているときに、左または右中央にグリップ内の位置を調整します。The grip position: The palm centroid when holding the controller naturally, adjusted left or right to center the position within the grip.
    • 向きの適切な軸を握って:5 本の指フラットな姿勢を形成する完全に開くと、射線は、palm に通常 (順方向から左 palm、適切な palm から旧バージョンとの)The grip orientation's Right axis: When you completely open your hand to form a flat 5-finger pose, the ray that is normal to your palm (forward from left palm, backward from right palm)
    • 向きの順方向軸を握って:部分的に (場合と同様、コント ローラーを保持している) の手の閉じるときに、"forward"チューブを通じて非 thumb 指によって形成されるポイントの半径。The grip orientation's Forward axis: When you close your hand partially (as if holding the controller), the ray that points "forward" through the tube formed by your non-thumb fingers.
    • 軸の向きを握って:右と前方参照の定義が含まれるアップ軸。The grip orientation's Up axis: The Up axis implied by the Right and Forward definitions.
    • グリップの姿勢をベンダー間入力のいずれかの Unity の API を通じてアクセスできます (XR します。InputTrackingします。GetLocalPosition/Rotation) または Windows 固有 API (sourceState.sourcePose.TryGetPosition/Rotation、グリップ姿勢を要求する)。You can access the grip pose through either Unity's cross-vendor input API (XR.InputTracking.GetLocalPosition/Rotation) or through the Windows-specific API (sourceState.sourcePose.TryGetPosition/Rotation, requesting the Grip pose).
  • ポインター姿勢、フォワード指し示すコント ローラーのヒントを表します。The pointer pose, representing the tip of the controller pointing forward.
    • この姿勢が raycast に適してときUI をポイントコント ローラー モデル自体をレンダリングする場合。This pose is best used to raycast when pointing at UI when you are rendering the controller model itself.
    • 現時点では、ポインターの姿勢は、Windows 固有 API を通じてしか利用できません (sourceState.sourcePose.TryGetPosition/Rotationポインターの姿勢を要求する)。Currently, the pointer pose is available only through the Windows-specific API (sourceState.sourcePose.TryGetPosition/Rotation, requesting the Pointer pose).

これらの姿勢座標がすべて Unity ワールド座標で表されます。These pose coordinates are all expressed in Unity world coordinates.

関連項目See also