XRInputSourceEvent: frame 屬性
只讀的 XRInputSourceEvent 屬性 frame 指定了一個 XRFrame 物件,該物件代表了發生 WebXR 使用者輸入事件的幀。因此,這可能是一個發生在過去而不是當前或即將發生的事件。
值
一個 XRFrame,指示了物件所描述的使用者輸入事件發生的幀。
用法說明
事件幀不對應於傳遞給幀渲染回撥函式的視覺幀(有關回調的詳細資訊,請參閱 渲染和 WebXR 幀渲染回撥)。相反,frame 屬性指定的 XRFrame 是提供對 getPose() 方法的訪問的一種方法,您可以使用它來獲取事件發生時場景中物件的相對位置。
然而,由於事件幀不是動畫幀,因此沒有可用的視口姿勢來表示視口的當前視角;呼叫 getViewerPose() 的結果將是一個具有空 views 列表的 XRViewerPose。
示例
此程式碼顯示了一個 selectstart 事件的處理程式,它從幀中獲取目標射線的姿勢,將表示射線的姿勢(event.inputSource.targetRaySpace)對映到整體參考空間 myRefSpace。
然後,如果結果不是 null,則將目標射線姿勢的變換傳遞給一個名為 myCheckAndHandleHit() 的函式,以檢視在觸發選擇時射線是否指向任何東西。
js
xrSession.onselectstart = (event) => {
let targetRayPose = event.frame.getPose(
event.inputSource.targetRaySpace,
myRefSpace,
);
if (targetRayPose) {
checkAndHandleHit(targetRayPose.transform);
}
};
規範
| 規範 |
|---|
| WebXR Device API # dom-xrinputsourceevent-frame |
瀏覽器相容性
載入中…