XRInputSourceEvent: thuộc tính frame
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.
Thuộc tính chỉ đọc frame của XRInputSourceEvent chỉ định một đối tượng XRFrame đại diện cho khung sự kiện trong đó một sự kiện đầu vào người dùng WebXR đã xảy ra. Do đó, đây có thể là một sự kiện đã xảy ra trong quá khứ thay vì là sự kiện hiện tại hoặc sắp xảy ra.
Giá trị
Một XRFrame cho biết khung sự kiện tại đó sự kiện đầu vào người dùng được mô tả bởi đối tượng đã xảy ra.
Ghi chú sử dụng
Khung sự kiện không tương ứng với khung trực quan như được cung cấp cho hàm callback render khung (xem Rendering và callback render khung WebXR để biết chi tiết về callback). Thay vào đó, XRFrame được chỉ định bởi thuộc tính frame là phương thức cung cấp quyền truy cập vào phương thức getPose(), mà bạn có thể sử dụng để lấy vị trí tương đối của các đối tượng trong cảnh tại thời điểm sự kiện xảy ra.
Tuy nhiên, vì khung sự kiện không phải là khung hoạt ảnh, không có tư thế người xem nào đại diện cho điểm nhìn hiện tại của người xem; kết quả của việc gọi getViewerPose() sẽ là một XRViewerPose với danh sách views rỗng.
Ví dụ
Mã này hiển thị trình xử lý cho sự kiện selectstart lấy tư thế của tia mục tiêu từ khung, ánh xạ tư thế đại diện cho tia (event.inputSource.targetRaySpace) sang không gian tham chiếu tổng thể myRefSpace.
Sau đó, nếu kết quả không phải là null, biến đổi của tư thế tia mục tiêu được truyền vào hàm myCheckAndHandleHit() để xem liệu tia có đang chỉ vào bất cứ điều gì khi select được kích hoạt không.
xrSession.onselectstart = (event) => {
let targetRayPose = event.frame.getPose(
event.inputSource.targetRaySpace,
myRefSpace,
);
if (targetRayPose) {
checkAndHandleHit(targetRayPose.transform);
}
};
Thông số kỹ thuật
| Specification |
|---|
| WebXR Device API> # dom-xrinputsourceevent-frame> |