--- title: XRHandedness slug: Web/API/XRHandedness tags: - API - AR - Enum - Enumerated Type - Handedness - Reference - Type - VR - WebXR - WebXR Device API - XRHandedness - hand - left - right translation_of: Web/API/XRHandedness ---
{{APIRef("WebXR")}}
WebXR の XRHandedness
列挙型は、使用している XR 入力デバイスに接続された特定の入力コントローラーを操作するために使用しているユーザーの手を識別する値を提供します。 XRHandedness
は、{{domxref("XRInputSource")}} の {{domxref("XRInputSource.handedness", "handedness")}} プロパティの値として使用されます。
none
left
right
handedness
の重要な使用方法の1つは、コントローラーがどちらの手にあるかを判別して、仮想空間でその手(またはその手が制御しているデバイス)の表現を描画できるようにすることです。
function updateInputSources(session, frame, refSpace) { for (let source of session.inputSources) { if (source.gripSpace) { let gripPose = frame.getPose(source.gripSpace, refSpace); if (gripPose) { myRenderHandObject(gripPose, inputSource.handedness); } } } }
この関数は、すべてのアニメーションフレーム(または必要な滑らかさの程度とパフォーマンスの制約に応じて定期的に)で呼ばれ、入力ソースのリストをスキャンして、null
ではない {{domxref("XRInputSource.gripSpace", "gripSpace")}} を持つものを探します。 gripSpace
が存在する場合、それは入力ソースが何らかのハンドヘルドデバイスであることを意味するため、可能であれば視覚的にレンダリングする必要があります。
gripSpace
が null
以外の場合、この関数は、現在の参照空間に変換された gripSpace
のポーズを取得します。 それが有効であると仮定すると、myRenderHandObject()
と呼ばれる関数が、グリップのポーズと handedness
の値を使用して呼び出されます。 これらの値が手元にあれば(しゃれは意図していません)、myRenderHandObject()
は、正しい手のために配置および形成された適切なモデルを描画できます。
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('WebXR','#enumdef-xrhandedness','XRHandedness')}} | {{Spec2('WebXR')}} | 初期定義 |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("api.XRHandedness")}}