XRTransientInputHitTestResult
Limited availability
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 XRTransientInputHitTestResult của WebXR Device API chứa một mảng kết quả kiểm tra va chạm (hit test) cho đầu vào tạm thời, được nhóm theo nguồn đầu vào.
Bạn có thể lấy một mảng các đối tượng XRHitTestResult cho một khung bằng cách gọi XRFrame.getHitTestResultsForTransientInput().
Thuộc tính phiên bản
XRTransientInputHitTestResult.inputSourceRead only Experimental-
Đại diện cho
XRInputSourceđã được sử dụng để tính toán mảngresults. XRTransientInputHitTestResult.resultsRead only Experimental-
Đại diện cho một mảng các đối tượng
XRHitTestResultchứa kết quả kiểm tra va chạm cho nguồn đầu vào, được sắp xếp theo khoảng cách dọc theo tia được sử dụng để thực hiện kiểm tra va chạm, với kết quả gần nhất ở vị trí 0.
Phương thức phiên bản
Không có.
Ví dụ
>Truy cập kết quả kiểm tra va chạm đầu vào tạm thời
Hai mảng được sử dụng để truy cập kết quả kiểm tra va chạm đầu vào tạm thời. Đầu tiên, bạn lấy một mảng các đối tượng XRTransientInputHitTestResult bằng cách gọi XRFrame.getHitTestResultsForTransientInput(). Thứ hai, để truy cập các đối tượng XRHitTestResult thực sự cho một nguồn đầu vào, bạn tham chiếu thuộc tính results trên một trong các đối tượng XRTransientInputHitTestResult.
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
hitTestResults.forEach((resultsPerInputSource) => {
resultsPerInputSource.results.forEach((hitTest) => {
// do something with the hit test
hitTest.getPose(referenceSpace);
});
});
}
Lọc nguồn đầu vào
Thuộc tính inputSource cho phép bạn lọc kết quả kiểm tra va chạm theo nguồn đầu vào.
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
hitTestResults.forEach((resultsPerInputSource) => {
if (resultsPerInputSource.inputSource === myPreferredInputSource) {
// act on hit test results from the preferred input source
}
});
}
Thông số kỹ thuật
| Specification |
|---|
| WebXR Hit Test Module> # xr-transient-input-hit-test-result-interface> |