XRFrame: phương thức getHitTestResultsForTransientInput()

Limited availability

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

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

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

Phương thức getHitTestResultsForTransientInput() của giao diện XRFrame trả về một mảng các đối tượng XRTransientInputHitTestResult chứa kết quả kiểm tra va chạm đầu vào tạm thời cho một XRTransientInputHitTestSource cho trước.

Cú pháp

js
getHitTestResultsForTransientInput(hitTestSource)

Tham số

hitTestSource

Một đối tượng XRTransientInputHitTestSource chứa các đăng ký kiểm tra va chạm đầu vào tạm thời.

Giá trị trả về

Một mảng các đối tượng XRTransientInputHitTestResult.

Ví dụ

Lấy kết quả kiểm tra va chạm đầu vào tạm thời

Để yêu cầu nguồn kiểm tra va chạm đầu vào tạm thời, hãy bắt đầu một XRSession với tính năng phiên hit-test được bật. Tiếp theo, yêu cầu nguồn kiểm tra va chạm bằng XRSession.requestHitTestSourceForTransientInput() và lưu lại để sử dụng trong vòng lặp khung. Cuối cùng, gọi getHitTestResultsForTransientInput() để lấy kết quả.

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

// frame loop
function onXRFrame(time, xrFrame) {
  let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
    transientHitTestSource,
  );
  // do things with the transient hit test results
}

Thông số kỹ thuật

Specification
WebXR Hit Test Module
# dom-xrframe-gethittestresultsfortransientinput

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

Xem thêm