Im группировка <a-box>
с упаковкой <a-entity>
.
Затем я использую компонент курсора в <scene>
и пытаясь выбрать/выбрать отдельные объекты, которые составляют обертку <a-entity>
, но выбирается только обертка <a-entity>
, а не отдельные объекты.Сборка вложенных объектов A-frame (VR)
Им очень интересно. Я посмотрел на все фанаты курсора (https://aframe.io/docs/0.2.0/components/cursor.html), и нет конкретного упоминания об этом сценарии. Он упоминает, что raycaster (https://aframe.io/docs/0.2.0/components/raycaster.html), используемый курсором , возвращает первый объект, который пересекается с проецируемым лучом ... который будет сгруппированным объектом ... так что всегда его возвращение имеет смысл.
все работает нормально, когда все <a-box>
присоединяются к глобальному <a-scene>
, и их можно выбрать индивидуально.
Правильно ли я предполагаю, что сбор только работает правильно, когда конкретный объект является глобальным объектом (а не вложенным)?
Я уже пробовал это, он не работает .... Все объекты, которые я хочу выбрать, имеют добавленный к ним класс «v3d_cube» –
deepblue
Я изменил исходный код компонента «raycaster», как этот '' 'init: function() { this.direction = new THREE.Vector3() ; this.intersectedEls = []; this.objects = []; this.prevCheckTime = undefined; this.raycaster = new THREE.Raycaster(); this.updateOriginDirection(); }, '' ' –
Извините, я не могу отредактировать свой последний комментарий. и я изменил функцию raycaster 'refreshObjects', отмеченную' this.objects = [] 'в строке 58521. Затем я зарегистрировал компонент« update-raycaster ». код 'AFRAME.registerComponent ('обновление-raycaster', { схемы: {тип: 'селектор'}, INIT: функция() { вар raycasterEl = this.data; raycasterEl.components.raycaster.data. objects = "#" + this.el.id; raycasterEl.components.raycaster.refreshObjects(); } }); '. добавьте этот компонент 'update-raycaster =" # cursor ", для которого вы хотите выбрать объект. Извините за мой английский. пожелать, чтобы мои слова были полезны –