我已经使用Mozilla 的 A-Frame将 raycaster 连接到了 vive 控制器实体。我希望一些相交的对象在相交时改变不透明度。这些对象在不相交时应该是不可见的(不透明度为 0),相交时不透明度为 0.5。
我设法创建了一个组件,该组件在 raycaster-intersected 事件时触发一个函数。但是,我很难弄清楚如何从此函数更改相交对象的属性。
a-frame raycaster 文档说 raycaster-intersected 事件细节“将包含 el,raycasting 实体和 intersection,一个包含有关交叉点的详细数据的对象。” 我如何访问这些?我尝试了以下并收到错误“未捕获的类型错误:无法读取未定义的属性'setAttribute'”
AFRAME.registerComponent('grid-cube-collider', {
dependencies: ['raycaster'],
init: function () {
this.el.addEventListener('raycaster-intersected', function () {
this.el.setAttribute('material', 'opacity', '0.5');
});
}
});