C4D R26新功能中最让我惊喜的是布料解算系统,不仅准确度高,而且GPU模拟速度快了超过十倍,以前很难实现的大量布料堆叠效果,现在也可以轻松搞定。下面我们就来详细了解一下全新解算系统的一些重要参数。
新的解算系统除了可以在项目设置中对模拟参数进行设置之外,还可以在场景中增加多个模拟容器,为不同的物体设置不同的模拟参数。
substeps: 每帧运算次数
iterations:所有constrain约束在一个step中被计算的次数,增加数值有助于减少布料抖动。
增加这两个参数会明显增加计算时间,并且由于布料约束被计算的次数增加,会增加布料的硬度
Smoothing iterations :相当于对iteration 计算进行平滑,有助于减少抖动,但会减低模拟的真实性,同时使布料变得更硬。
Simulate Before Generators
如果和 generator 一起模拟出现模拟延迟,可以激活该项
damping:阻力
collision passes:专门用于解决穿面问题的计算,在遇到穿面问题时,应该首先增加该值,相比substep,更节省运算时间
确保substep值大于该值,否则没有作用
post collision passes:在每个step计算结束后再增加碰撞计算,在快速运动时这个值也有助于解决穿面问题,一般设置为1-3
polish iterations:如果在collison passes 和 post collision 两个过程中检测到某些约束发生碰撞,那就会对这些约束进行额外的计算次数。一般在设置了前两个参数后,如果还有问题,可将该值设置为5-10
总结:以上参数定义了布料结算流程中的关键参数,解算流程如下:
1、每帧运算的次数:substep
2、每个substep会对所有的约束进行计算,计算次数是iteration
3、在每个substep中,会进行两种碰撞计算,一个是在substep开始时,计算次数是collision passes。另一个是在substep结束时,计算次数是post collision passes
4、最后,还可以对碰撞计算检测到的约束进行再次计算,计算次数是polish iteration
所以设置参数的步骤应该是:
1、设置合适的substep值,默认20左右,根据场景复杂程度可设当增减
2、iteration=1
3、模拟后如果有穿面问题,增加collision pass 和 post collision pass,一般不超过10
4、还有穿面问题?增加一点polish iteration
4、如果有抖动问题,可以适当增加iteration 和 Smoothing iteration
另外,对于一些运动特别快的情况,可以先按正常速度进行模拟,得到正确结果后转为abc,再进行时间重置。
内容来源:搞搞C4D
评论前必须登录!
注册