From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../ja/web/api/xrinputsource/gripspace/index.html | 97 ++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 files/ja/web/api/xrinputsource/gripspace/index.html (limited to 'files/ja/web/api/xrinputsource/gripspace') diff --git a/files/ja/web/api/xrinputsource/gripspace/index.html b/files/ja/web/api/xrinputsource/gripspace/index.html new file mode 100644 index 0000000000..45e0b9a0c9 --- /dev/null +++ b/files/ja/web/api/xrinputsource/gripspace/index.html @@ -0,0 +1,97 @@ +--- +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 +--- +
{{securecontext_header}}{{APIRef("WebXR")}}
+ +

{{domxref("XRInputSource")}} の gripSpace 読み取り専用プロパティは、ネイティブの原点がユーザーの手(またはその一部)に保持しているように見える仮想オブジェクトのレンダリングに使用するポーズを追跡する {{domxref("XRSpace")}} を返します。 例えば、ユーザーが仮想の真っ直ぐな棒を持っている場合、この XRSpace のネイティブの原点は、ユーザーの拳のおおよその重心にあります。

+ +

構文

+ +
var xrSpace = xrInputSource.gripSpace;
+ +

+ +

仮想空間での入力デバイスの位置と向きを表す {{domxref("XRSpace")}} オブジェクト。 デバイスの画像をシーンにレンダリングするのに適しています。 入力ソースが本質的に追跡できない場合、gripSpacenull です。 例えば、{{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")}}

-- cgit v1.2.3-54-g00ecf