我是a-frame的新手,所以如果问题非常简单,请耐心等待。我的问题是,当光标碰到模型时,它会显示Uncaught TypeError:无法读取属性' emit' undefined。这是我的代码:
<a-scene>
<a-assets>
<img id="room" src="./pics/room.jpg">
<a-asset-item id="crate-obj" src="/models/chair/Chair.obj"></a-asset-item>
<a-asset-item id="crate-mtl" src="/models/chair/Chair.mtl"></a-asset-item>
</a-assets>
<a-entity position="0 1.8 4">
<a-camera id="camera">
<a-cursor id="cursor" color="#4CC3D9"></a-cursor>
</a-camera>
</a-entity>
<a-obj-model src="#crate-obj" mtl="#crate-mtl"></a-obj-model>
<a-sky src="#room"></a-sky>
</a-scene>
答案 0 :(得分:0)
你可以参考这个链接。aframe issue。作者说我们可以解决方法来创建一个透明的边界框并监听它上面的点击事件。
答案 1 :(得分:0)
通过将A-Frame实体绑定到模型的每个子项,已在https://github.com/aframevr/aframe/pull/1497修复此问题。
您可以等待A-Frame 0.3.0或使用最新的A-Frame主机。现在,cursor
使用raycaster
来查看相交的对象。使用OBJ / COLLADA模型,它可以创建一个对象树。但是,A-Frame仅将顶级对象视为实体。因此,当raycaster返回对象时,它没有关联实体来发送事件。
现在它应该起作用:
<a-camera><a-cursor></a-cursor></a-camera>
<a-obj-model></a-obj-model>