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
XRRaymới.
Thuộc tính phiên bản
XRRay.directionRead only Thử nghiệm-
Một
DOMPointReadOnlybiểu diễn vectơ hướng 3 chiều của tia. XRRay.matrixRead 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ạngFloat32Array16 phần tử theo thứ tự cột chính. XRRay.originRead only Thử nghiệm-
Một
DOMPointReadOnlybiể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.
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> |