XRRay

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

XRRay 介面是 WebXR 裝置 API 的一部分,它由一個起始點和一個方向向量描述了一個幾何射線。

XRRay 物件可以傳遞給 XRSession.requestHitTestSource()XRSession.requestHitTestSourceForTransientInput() 來執行命中測試。

建構函式

XRRay() 實驗性

建立一個新的 XRRay 物件。

例項屬性

XRRay.direction 只讀 實驗性

一個表示射線 3 維方向向量的 DOMPointReadOnly

XRRay.matrix 只讀 實驗性

一個變換,可用於沿 XRRay 定位物件。這是一個 4x4 矩陣,以列主序的形式給出,儲存在 16 個元素的 Float32Array 中。

XRRay.origin 只讀 實驗性

一個表示射線在空間中 3 維起始點(單位為米)的 DOMPointReadOnly

例項方法

無。

示例

使用 XRRay 請求命中測試源

XRSession.requestHitTestSource() 方法接受一個 XRRay 物件作為其 offsetRay 選項。在此示例中,命中測試源位於檢視器稍上方,因為應用程式底部有一些 UI 元素,同時希望保持中心游標的感知。

js
const xrSession = navigator.xr.requestSession("immersive-ar", {
  requiredFeatures: ["local", "hit-test"],
});

let hitTestSource = null;

xrSession
  .requestHitTestSource({
    space: viewerSpace, // obtained from xrSession.requestReferenceSpace("viewer");
    offsetRay: new XRRay({ y: 0.5 }),
  })
  .then((viewerHitTestSource) => {
    hitTestSource = viewerHitTestSource;
  });

規範

規範
WebXR Hit Test 模組
# xrray-interface

瀏覽器相容性

另見