XRTransientInputHitTestSource

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 XRTransientInputHitTestSource của WebXR Device API xử lý các đăng ký kiểm tra va chạm đầu vào thoáng qua. Bạn có thể lấy đối tượng XRTransientInputHitTestSource bằng cách gọi XRSession.requestHitTestSourceForTransientInput().

Đối tượng này không tự chứa kết quả kiểm tra va chạm đầu vào thoáng qua, nhưng được dùng để tính toán kiểm tra va chạm cho mỗi XRFrame bằng cách gọi XRFrame.getHitTestResultsForTransientInput(), vốn trả về các đối tượng XRTransientInputHitTestResult.

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

Không có.

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

XRTransientInputHitTestSource.cancel() Thử nghiệm

Hủy đăng ký kiểm tra va chạm đầu vào thoáng qua.

Ví dụ

Lấy đối tượng XRTransientInputHitTestSource cho một phiên

Sử dụng phương thức XRSession.requestHitTestSourceForTransientInput() để lấy nguồn kiểm tra va chạm đầu vào thoáng qua.

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

let transientHitTestSource = null;

xrSession
  .requestHitTestSourceForTransientInput({
    profile: "generic-touchscreen",
    offsetRay: new XRRay(),
  })
  .then((touchScreenHitTestSource) => {
    transientHitTestSource = touchScreenHitTestSource;
  });

// vòng lặp khung hình
function onXRFrame(time, xrFrame) {
  let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
    transientHitTestSource,
  );

  // thực hiện các thao tác với kết quả kiểm tra va chạm thoáng qua
}

Hủy đăng ký kiểm tra va chạm đầu vào thoáng qua

Để hủy đăng ký khỏi một nguồn kiểm tra va chạm đầu vào thoáng qua, sử dụng phương thức XRTransientInputHitTestSource.cancel(). Vì đối tượng sẽ không còn dùng được nữa, bạn có thể dọn dẹp và đặt đối tượng XRTransientInputHitTestSource thành null.

js
transientHitTestSource.cancel();
transientHitTestSource = null;

Thông số kỹ thuật

Thông số kỹ thuật
WebXR Hit Test Module
# transient-input-hit-test-source-interface

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

Xem thêm