Three.js 将精灵与光线投射器相交

Three.js 将精灵与光线投射器相交,three.js,Three.js,我想用three.js实现一个3D交互式地球仪,我想知道是否有一种方法可以使用Raycaster在Sprites原语上相交?如果您在 intersectObject函数似乎只检查THREE.Particle或THREE.Mesh实例的对象,而不是THREE.Sprite实例的对象。这可能是因为精灵可以设置为使用屏幕坐标,因此在这种情况下,投射到3d场景中的光线没有意义,或者如果将精灵图像放置在场景中,因为精灵图像始终面向摄影机,则其行为与标准3d网格不同 也许您可以将平面几何体或非常薄的立方几

我想用three.js实现一个3D交互式地球仪,我想知道是否有一种方法可以使用Raycaster在Sprites原语上相交?

如果您在

intersectObject函数似乎只检查THREE.Particle或THREE.Mesh实例的对象,而不是THREE.Sprite实例的对象。这可能是因为精灵可以设置为使用屏幕坐标,因此在这种情况下,投射到3d场景中的光线没有意义,或者如果将精灵图像放置在场景中,因为精灵图像始终面向摄影机,则其行为与标准3d网格不同


也许您可以将平面几何体或非常薄的立方几何体附加到精灵的位置,将其旋转设置为摄影机的旋转,使其始终与摄影机的视图平面平行,就像精灵一样,然后检查是否与网格相交?

自3年前发布后,当前的实现发生了更改。。。回顾历史——是的——你是对的。