2016-06-02 8 views
1
<a-assets> 
     <a-mixin id="ring" geometry="primitive: ring; radiusOuter: 0.20; 
       radiusInner: 0.15;" 
       material="color: cyan; shader: flat" 
       cursor=" fuse: true"></a-mixin> 
     <a-asset-item id="mancloth" src="../models/man.obj"></a-asset-item> 
     <a-asset-item id="manclothmtl" src="../models/man.mtl"></a-asset-item> 
</a-assets> 
<a-entity camera look-controls wasd-controls><a-entity mixin="ring" position="0 0 -3"> 
     <a-animation begin="cursor-click" easing="ease-in" attribute="scale" 
       fill="backwards" from="0.3 0.3 0.3" to="1 1 1"></a-animation> 
     <a-animation begin="cursor-fusing" easing="ease-in" attribute="scale" 
       fill="forwards" from="1 1 1" to="0.3 0.3 0.3"></a-animation> 
     </a-entity> 
</a-entity> 
<a-obj-model scale="1 1 1" src="#mancloth" mtl="#manclothmtl"></a-obj-model> 

Ich benutze die Kamera, um die Interaktion mit dem obj zu interagieren, aber aframe.js zeigt einen Fehler auf der Leitung 57766. Wie kann ich dieses Problem ohne Änderung aframe.js lösen.wie mit obj oder collada-Modell in AFrame

var intersectedEl = intersection.object.el; 
intersectedEl.emit('raycaster-intersected', {el: el,intersection:intersection}); 

intersection.object ist ein THREE.Mesh, so intersection.object.el ist nicht definiert!

Antwort

1

Dieses Problem wurde auf https://github.com/aframevr/aframe/pull/1497 durch Binden der A-Frame-Entität an jedes untergeordnete Element des Modells behoben.

Sie können auf A-Frame 0.3.0 warten oder den neuesten A-Frame-Master verwenden. Momentan verwendet der Cursor einen Rycaster, um zu sehen, welches Objekt durchschnitten wurde. Mit OBJ/COLLADA-Modellen wird ein Baum von Objekten erstellt. A-Frame behandelte jedoch nur das Objekt der obersten Ebene als eine Entität. Wenn also der Rycaster das Objekt zurückgab, hatte er keine assoziierte Entität, mit der er ein Ereignis aussenden konnte.

Nun sollte es einfach funktionieren:

<a-camera><a-cursor></a-cursor></a-camera> 
<a-obj-model></a-obj-model> 
Verwandte Themen