Aframe A框架-制造<;a光标>;在桌面上跟随鼠标

Aframe A框架-制造<;a光标>;在桌面上跟随鼠标,aframe,Aframe,更新:这个插件解决了这个问题 新来的。我正在创建一个场景,我希望用户能够“单击”桌面浏览器上的对象,我不想费尽心思去弄乱现有的外观控件代码或创建一个新组件,因此我查看了源代码,并设计了一个解决方案,在该解决方案中,我尝试使鼠标的位置跟随鼠标的移动: // code for moving the cursor var mouse = { x: 0, y: 0 }; var camera = document.querySelector('#camera').components.camer

更新:这个插件解决了这个问题

新来的。我正在创建一个场景,我希望用户能够“单击”桌面浏览器上的对象,我不想费尽心思去弄乱现有的外观控件代码或创建一个新组件,因此我查看了源代码,并设计了一个解决方案,在该解决方案中,我尝试使鼠标的位置跟随鼠标的移动:

// code for moving the cursor
var mouse = {
  x: 0,
  y: 0
};
var camera = document.querySelector('#camera').components.camera.camera;
console.log(camera.position);

function onMouseMove(event) {

  mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
  mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;

  var vector = new THREE.Vector3(mouse.x, mouse.y, -1);
  vector.unproject(camera);
  var dir = vector.sub(camera.position).normalize();
  var distance = -camera.position.z / dir.z;
  var pos = camera.position.clone().add(dir.multiplyScalar(distance));
  positionStr = String(pos.x) + " " + String(pos.y) + " " + String(pos.z);
  document.querySelector('#cursor').setAttribute('position', positionStr);
}

window.addEventListener('mousemove', onMouseMove, false);
这里的问题是,每次鼠标移动时,光标都会消失到位置(0,0,0)。我知道在a帧中获取正确的相机数据可能有问题,但我不确定

如有任何帮助,请通过以下方式解决:


一旦着陆,我就要做这件事了。在鼠标后放置一个光标,单击鼠标会将光线投射到场景中


你不用

谢谢凯文。如插件文档中所述,通过设置
,此功能现在在A-Frame v0.6.1中可用。