簡體   English   中英

如何使用WebVR和A-Frame跟蹤控制器運動事件?

[英]How can I track controller movement events with WebVR and A-Frame?

我有一個使用A-Frame制作的WebVR頁面,使用帶有觸摸控制器的Oculus Rift。 我為控制器提供了以下元素:

<a-entity oculus-touch-controls="hand: right" right-control-listener></a-entity>
<a-entity oculus-touch-controls="hand: left" left-control-listener></a-entity>
<a-entity laser-controls="hand: right" raycaster="objects: .clickable"></a-entity>

我想選擇或抓取一個對象,然后隨着控制器的移動來移動它。 但是我還沒有找到控制器運動的事件。 即使mouseupmousedown可用, Mousemove似乎也不可用。

使用tick方法。 如果要跟蹤實體位置或旋轉,請執行以下操作:

AFRAME.registerComponent('track', {
  init: function () {
     this.trackedEl = document.querySelector('#trackedEntity');
  },

  tick: function () {
     this.el.object3D.position.x = this.trackedEl.object3D.position.x;
  }
});

觀看演示 ,其中紅球跟蹤攝像機的x位置(使用wasd鍵移動)。 您可以為要跟蹤的控制器實體使用適當的選擇器來執行類似的操作。 例如: document.querySelector('[laser-controls]');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM