XRRay

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Giao diện XRRay của WebXR Device API là một tia hình học được mô tả bởi một điểm gốc và một vectơ hướng.

Các đối tượng XRRay có thể được truyền vào XRSession.requestHitTestSource() hoặc XRSession.requestHitTestSourceForTransientInput() để thực hiện kiểm tra va chạm (hit testing).

Hàm khởi tạo

XRRay() Thử nghiệm

Tạo một đối tượng XRRay mới.

Thuộc tính phiên bản

XRRay.direction Read only Thử nghiệm

Một DOMPointReadOnly biểu diễn vectơ hướng 3 chiều của tia.

XRRay.matrix Read only Thử nghiệm

Một phép biến đổi có thể được sử dụng để đặt vị trí các đối tượng dọc theo XRRay. Đây là ma trận 4x4 được cho dưới dạng Float32Array 16 phần tử theo thứ tự cột chính.

XRRay.origin Read only Thử nghiệm

Một DOMPointReadOnly biểu diễn điểm 3 chiều trong không gian mà tia xuất phát từ đó, tính bằng mét.

Phương thức phiên bản

Không có.

Ví dụ

Sử dụng XRRay để yêu cầu nguồn kiểm tra va chạm

Phương thức XRSession.requestHitTestSource() nhận một đối tượng XRRay cho tùy chọn offsetRay. Trong ví dụ này, nguồn kiểm tra va chạm được đặt hơi cao hơn so với người xem vì ứng dụng có một số phần tử UI ở phía dưới nhưng vẫn muốn duy trì cảm giác con trỏ ở giữa màn hình.

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;
  });

Thông số kỹ thuật

Thông số kỹ thuật
WebXR Hit Test Module
# xrray-interface

Tương thích trình duyệt

Xem thêm