Three.js-如何确定网格和粒子系统之间的交点?

时间:2019-01-03 14:56:58

标签: javascript three.js glsl

我有一个使用精灵的粒子系统,它是一个Object3D,类似于three.js中的“交互式/点”示例,并且有一个基本的球形网格物体跟随我的光标。

https://threejs.org/examples/?q=point#webgl_interactive_points

mesh intersection

确定其中两个对象何时相交的最佳方法是什么?我希望能够用球体推动粒子,但是首先我需要“在球体内部”的点阵列。谢谢!

1 个答案:

答案 0 :(得分:1)

要知道某个点是在球体内部还是外部,可以从该点向给定方向投射射线。然后用球体几何的三角形计算射线的积分。如果计数为奇数,则该点在内部,否则在外部。

此处提供了一些展示了将粒子注入到网格中的演示(原理相同)https://github.com/heroncendre/Volpar