--- title: XRInputSource.gripSpace slug: Web/API/XRInputSource/gripSpace tags: - API - AR - Augmented Reality - Experimental - Property - Reference - VR - Virtual Reality - WebXR - WebXR Device API - XRInputSession - gripSpace translation_of: Web/API/XRInputSource/gripSpace ---
{{domxref("XRInputSource")}} の gripSpace
読み取り専用プロパティは、ネイティブの原点がユーザーの手に保持している(またはユーザーの手の一部の)ように見える仮想オブジェクトのレンダリングに使用するポーズを追跡する {{domxref("XRSpace")}} を返します。 例えば、ユーザーが仮想の真っ直ぐな棒を持っている場合、この XRSpace
のネイティブの原点は、ユーザーの拳のおおよその重心にあります。
var xrSpace = xrInputSource.gripSpace;
仮想空間での入力デバイスの位置と向きを表す {{domxref("XRSpace")}} オブジェクト。 デバイスの画像をシーンにレンダリングするのに適しています。 入力ソースが本質的に追跡できない場合、gripSpace
は null
です。 例えば、{{domxref("XRInputSource.targetRayMode", "targetRayMode")}} が tracked-pointer
である入力のみが gripSpace
を提供します。
コントローラーがまっすぐな棒のような形をしていて、ユーザーの拳で握られていると想像してみてください。 グリップ空間の本来の原点は、ユーザーの拳の重心にあり、ユーザーの手の位置を追跡します。
上の図に示すように、座標系は次のように方向付けられています。
この例では、フレームレンダリングコールバックから取得した gripSpace
を使用して、仮想環境でのコントローラーの位置と向きを表すメッシュをレンダリングします。
for (let source in xrSession.inputSources) { if (source.gripSpace) { let gripPose = frame.getPose(source.gripSpace, xrRefSpace); if (gripPose) { myDrawMeshUsingTransform(controllerMesh, gripPose.transform.matrix); } } }
このループは、gripSpace
の値を持つ各入力ソースについて、gripSpace
によって記述される位置と向きを表す {{domxref("XRPose")}} を取得します。 有効なポーズが返された場合、メソッド myDrawMeshUsingTransform()
を呼び出して、グリップポーズの変換行列を使用して変換されたコントローラーのメッシュを描画します。
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('WebXR','#dom-xrinputsource-gripspace','XRInputSource.gripSpace')}} | {{Spec2('WebXR')}} | 初期定義 |
{{Compat("api.XRInputSource.gripSpace")}}