XRFrame: getHitTestResults() method
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.
The getHitTestResults()
method of the XRFrame
interface returns an array of XRHitTestResult
objects containing hit test results for a given XRHitTestSource
.
Syntax
getHitTestResults(hitTestSource)
Parameters
hitTestSource
-
An
XRHitTestSource
object that contains hit test subscriptions.
Return value
An array of XRHitTestResult
objects.
Examples
Getting hit test results
To request a hit test source, start an XRSession
with the hit-test
session feature enabled. Next, request a the hit test source with XRSession.requestHitTestSource()
and store it for later use in the frame loop. Finally, call getHitTestResults()
to obtain the result.
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;
});
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResults(hitTestSource);
// do things with the hit test results
}
Specifications
Specification |
---|
WebXR Hit Test Module # dom-xrframe-gethittestresults |
Browser compatibility
BCD tables only load in the browser