如果您查看 RayCaster 的源代码,请访问
https://github.com/mrdoob/ Three.js/blob/master/src/core/Raycaster.js
看来 intersectObject 函数仅检查属于 THREE.Particle 或 THREE.Mesh 实例的对象,而不检查 THREE.Sprite 的实例。这可能是因为精灵可以设置为使用屏幕坐标,因此投射到 3D 场景中的光线在这种情况下没有意义,或者如果放置在场景中,因为精灵图像始终面向相机,则它不会它的行为就像标准的 3D 网格一样。
也许您可以将 PlaneGeometry 或非常薄的 CubeGeometry 附加到精灵的位置,将其旋转设置为相机的旋转,以便它始终像精灵一样平行于相机的视图平面,然后检查交叉点用网格代替?
| 归档时间: |
|
| 查看次数: |
2406 次 |
| 最近记录: |