как получить мировую позицию курсора, который прикреплен к камере в кадре - PullRequest
1 голос
/ 09 июня 2019

Я хочу получить местоположение курсора в мире, чтобы помочь мне создать горячие точки для 360 тура, для которого я создал компонент, который возвращает позицию курсора.Компонент работает нормально, но возвращает относительную позицию курсора, так что я должен сделать, чтобы получить мировую позицию курсора

ссылка на проект glich

1 Ответ

0 голосов
/ 10 июня 2019

Вы можете использовать один из этих THREE.js методов:

// set a vector from the cursors matrix world
vec3.setFromMatrixPosition(cursorEl.object3D.matrixWorld);

// fill a vector using the getWorldPosition
cursorEl.object3D.getWorldPosition(vec3)

Проверьте это в этой скрипке .


Использование в пользовательскомcomponent.

Имея такую ​​настройку

<a-camera>
   <a-cursor my-component></a-cursor>
</a-camera>

У вас может быть такой компонент:

AFRAME.registerComponent("my-component", {
   init: function() {
       this.vec = new THREE.Vector3()
   },
   tick: function() {
       this.vec.setFromMatrixPosition(this.el.object3D.matrixWorld);
       // do something with this.vec
   }
})
...