Javascript 在A-Frame中,如何更改实体';从光线投射器相交事件中删除属性?

Javascript 在A-Frame中,如何更改实体';从光线投射器相交事件中删除属性?,javascript,aframe,webvr,Javascript,Aframe,Webvr,我已使用将光线投射器连接到vive控制器实体。我希望一些相交的对象在相交时更改不透明度。这些对象不相交时不可见(不透明度为0),相交时不透明度为0.5 我成功地创建了一个组件,在raycaster相交事件中触发函数。但是,我很难找出如何从这个函数中更改相交对象的属性 表示“光线投射相交事件细节”将包含光线投射实体el和相交,相交是一个包含有关相交的详细数据的对象。“我如何访问这些?”?我尝试了以下操作,但出现错误“UncaughtTypeError:无法读取未定义的属性'setAttribute

我已使用将光线投射器连接到vive控制器实体。我希望一些相交的对象在相交时更改不透明度。这些对象不相交时不可见(不透明度为0),相交时不透明度为0.5

我成功地创建了一个组件,在raycaster相交事件中触发函数。但是,我很难找出如何从这个函数中更改相交对象的属性

表示“光线投射相交事件细节”将包含光线投射实体el和相交,相交是一个包含有关相交的详细数据的对象。“我如何访问这些?”?我尝试了以下操作,但出现错误“UncaughtTypeError:无法读取未定义的属性'setAttribute'”


this.el指的是您的raycaster实体,而不是目标实体。目标实体包含在事件详细信息中,通过事件处理程序回调传入。尝试:

this.el.addEventListener('raycaster-intersected', function (evt) {
        evt.detail.el.setAttribute('material', 'opacity', '0.5');
});
有关类似的解决方案,请参见

<script src="https://unpkg.com/aframe-vive-cursor-component/dist/aframe-vive-cursor-component.min.js></script>
<a-entity vive-controls="hand: left" vive-cursor></a-entity>

这起作用了。现在我有了一些似乎相关的性能问题,但至少我面临着下一个挑战:P
<script src="https://unpkg.com/aframe-vive-cursor-component/dist/aframe-vive-cursor-component.min.js></script>
<a-entity vive-controls="hand: left" vive-cursor></a-entity>