实现了系统与N布料的碰撞。
可以发现图中多了很多蓝色的小球,这些小球是吸附到网格顶点的n粒子,用于碰撞检测。
这是由于从头实现一个碰撞检测算法实在太麻烦,而且难以与maya原有的动力学系统兼容,所以利用n粒子作为"感应器",具体方法是:
1. 创建等于表面网格点数的n粒子
2. 利用goal命令,让每个n粒子与网格顶点一一对应
3. 让物体碰撞n粒子,再让n粒子把碰撞力传到模拟节点
4. 进行模拟,这样就可以实现带碰撞的效果了
这是模拟出来的弯曲程度轨迹曲线,可以发现在开头一段轨迹发生了扰动,这是由于棍子受到了圆管的碰撞。
n粒子与模拟节点的连接方式如下,
collisionGeometryIndex是发生碰撞的几何体序号
collisionWorldForce是碰撞的力
实现碰撞
原文:http://www.cnblogs.com/dydx/p/4380300.html