aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/xrreferencespaceevent/transform/index.html
blob: 25047fcbc3c60b4ba14b0c6da280432afa6c135e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
title: XRReferenceSpaceEvent.transform
slug: Web/API/XRReferenceSpaceEvent/transform
tags:
  - API
  - AR
  - Coordinate System
  - Coordinates
  - Event
  - Mixed
  - Orientation
  - Position
  - Property
  - Read-only
  - Reality
  - Reference
  - VR
  - Virtual
  - WebXR
  - WebXR API
  - WebXR Device API
  - XR
  - XRReferenceSpace
  - augmented
  - reset
  - transform
translation_of: Web/API/XRReferenceSpaceEvent/transform
---
<p>{{APIRef("WebXR Device API")}}{{SecureContext_header}}</p>

<p><span class="seoSummary">{{domxref("XRReferenceSpaceEvent")}}<strong><code>transform</code></strong> 読み取り専用プロパティは、イベントが表す変更が適用された後の、影響を受ける {{domxref("XRReferenceSpaceEvent.referenceSpace", "referenceSpace")}} のネイティブの原点の位置と向きを示します。</span> <code>transform</code> は古い座標系を使用して定義します。 これにより、座標をイベント前の座標系からイベント後の座標系に変換するために使用できます。</p>

<h2 id="" name="">構文</h2>

<pre class="syntaxbox notranslate">let <em>refSpace</em> = <em>xrReferenceSpaceEvent</em>.transform;</pre>

<h3 id="" name=""></h3>

<p>座標をイベント前の座標系からイベント後の座標系に変換するために使用できる変換を提供する {{domxref("XRRigidTransform")}} オブジェクト。</p>

<h2 id="" name="">使用上の注意</h2>

<p><code>reset</code> イベントを受信すると、キャッシュされた位置または向きの情報に変換を適用して、それらを更新された座標系にシフトできます。 または、キャッシュされた位置情報を破棄して、最初から再計算することもできます。 あなたが取るアプローチはあなたのニーズに依存します。</p>

<p><code>reset</code> イベントの原因と対応方法の詳細については、{{domxref("XRReferenceSpaceEvent.reset_event", "reset")}} イベントのドキュメントを参照してください。</p>

<h2 id="" name=""></h2>

<p>この例では、シーン内のすべてのオブジェクトをウォークスルーし、各オブジェクトの位置にイベントの指定された <code>transform</code> を掛けて更新することにより、<code>reset</code> イベントを処理します。 シーンは <code>scene</code> オブジェクトで表され、その中にある <code>objects</code> と呼ばれる配列にすべてのオブジェクトが含まれています。</p>

<pre class="brush: js notranslate">xrReferenceSpace.addEventListener("reset", event =&gt; {
  for (let obj of scene.objects) {
    mat4.multiply(obj.transform, obj.transform, event.transform);
  }
});
</pre>

<h2 id="" name="">仕様</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">仕様</th>
   <th scope="col">状態</th>
   <th scope="col">コメント</th>
  </tr>
  <tr>
   <td>{{SpecName('WebXR','#dom-xrreferencespaceevent-transform','XRReferenceSpaceEvent.transform')}}</td>
   <td>{{Spec2('WebXR')}}</td>
   <td>初期定義</td>
  </tr>
 </tbody>
</table>

<h2 id="" name="">ブラウザーの互換性</h2>

<div class="hidden">
<p>The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
</div>

<p>{{Compat("api.XRReferenceSpaceEvent.transform")}}</p>