柔软物体的实时网格变形

时间:2019-04-30 09:55:13

标签: c# unity3d 3d mesh

我的问题是模拟用户交互时的软物体变形,例如当您触摸带有内部沙子的球时,它会在按下球的位置变形其边缘。如何在Unity3D中实现它?

1 个答案:

答案 0 :(得分:1)

人体动力学是一个非常复杂的主题,这就是为什么大多数物理引擎将自身约束为刚体动力学的原因。我非常确定StackOverflow上没有人会为您编写此代码。不过,Obi SoftbodyTruss Physics列出了Unity的一些商业解决方案。

这是一个便宜但功能较少的完整选项:

https://assetstore.unity.com/packages/tools/physics/b-soft-body-deformation-53378

有很多模拟软体物理的方法,一种常见的方法是将顶点映射到点的点阵(具有一定的权重),然后模拟点阵点之间的弹簧约束。这些类型的晶格可能最好通过Verlet积分进行模拟。

Here是有关晶格形状匹配的研究论文。 Here是有关压力模型的另一篇论文。