场景光标破坏光线投射器

我正在尝试设置熔断器来触发悬停动画,同时仍然能够单击/点击环境中的项目。

添加<a-cursor position="0 0 -0.25"></a-cursor>为我的相机的子项会在屏幕上显示环形光标,并允许悬停 mouseenter/mouseleave 事件监听器按预期触发。

然后我添加cursor="rayOrigin:mouse;"到场景中,以便我能够单击场景中的对象,但这会破坏悬停动画。

对于悬停动画,我有一个不可见的平面,但位于具有 mouseenter/mouseleave 事件监听器的动画对象前面。但是,当光标在光线投射中同时具有平面和对象时,将调用 mouseleave。cursor="rayOrigin:mouse;"如果省略,则不会发生这种情况。


翻过高山走不出你
浏览 105回答 1
1回答

翻翻过去那场雪

干扰<a-cursor>场景的光标<a-scene cursor="...">  <a-camera>    <a-cursor>    </a-cursor>因为raycaster创建的 by<a-cursor>会发出事件(在交叉和清除时),这些事件会冒泡并被 s 光标捕获<a-scene>。为了防止他们干扰,可以摆脱两者之间的父子关系:<a-camera>  <a-cursor>  </a-cursor></a-camera><a-entity cursor="rayOrigin: mouse"></a-entity>在这个小提琴中检查一下另一种方法是动态添加/删除一个光标,以便一次只有“预期”的光标在工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript