当前位置:首页 > 新闻资讯 > 科技生活 > 新闻
布料系统+修改器实现高精度模型物理效果
  • 2022/8/2 9:24:35
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:电脑报
  • 作者:
【电脑报在线】熟悉动画制作的朋友们应该都知道,高精度模型因为顶点数量庞大,无论是物理效果模拟还是动画绑定与制作都需要花费大量的时间,所以在很多时候我们都不得不选择“曲线救国”的道路,利用其它方法来实现近似的效果。

悉动画制作的朋友们应该都知道,高精度模型因为顶点数量庞大,无论是物理效果模拟还是动画绑定与制作都需要花费大量的时间,所以在很多时候我们都不得不选择“曲线救国”的道路,利用其它方法来实现近似的效果。


比如制作一个复杂的管道或锁链模型摇摆效果,如果直接用刚体系统来模拟,不仅需要准确设置物体碰撞模式,还要花费不少的时间来进行调参,反复试错后或许才能达到满意的效果,但如果结合布料系统和正确的修改器,其实可以很容易地完成这一效果。


第一步:利用线段+钩挂,模拟布料效果


既然是模拟金属链条(比如挎包的金属肩带)自然垂摆的效果,它的运动轨迹其实完全可以用布料系统来替代,通过模拟线段的布料物理效果,然后把这个效果加载到高精度模型,不就解决问题了?


所以咱们首先需要新建一条线段,Blender预设网格模型里没有线段,我们一则可以先新建平面,然后删掉其中2个顶点的方式来让它的一条边成为线段,二则也可以新建一个路径曲线并转换为网格模型来实现。无论使用哪种方法,都需要注意让线段的顶点数尽量多一点,这样才能让模拟效果更加真实。



图1


接下来我们需要在线段的两端,如图一所示分别通过Ctrl+H来钩挂一个新的空物体,这个空物体其实就是咱们控制线段运动的控制器,你就把它们想象成是捏着线段两头的双手吧,接下来再把两端的两个顶点设置分配一个单独的顶点组,这样做的目的是为了让两端能够在布料系统中不受重力影响,固定在我们想要的位置并跟随两个空物体移动,完成后的修改器界面如图2。



图2


接下来我们为线段添加布料系统,记得在“形状”里将钉固顶点组选择为我们刚刚新建的顶点组,这时候播放视频就能看到线段如我们所想的那样向下垂摆了,但因为我们是为物体碰撞做的效果,所以还需要先利用蒙皮修改器来让为线段添加面,这样才能实现我们想要的碰撞效果,但注意,蒙皮的厚度也决定了咱们后续要做的链条的直径,因此在调整时需要稍微注意一点。



图3


如图3 所示,结合碰撞物体并烘焙布料系统数据之后,我们就能得到一个比较满意的效果了,接下来的工作就是用高精度的链条模型来进行替换。


第二步:新建高精度模型并利用“表明形变”修改器绑定


为了方便演示,我们使用圆环和“阵列”修改器做了一个锁链链条,但记住这个锁链链条的长宽高必须限制在咱们线段的蒙皮范围之内,超出则无法实现正确的形变效果,具体可参考图4。



图4


设计完成后应用“阵列”修改器,当然也可以复制一个作为备份,方便后续可能需要的调整。接下来就是为咱们的链条添加“表面形变”修改器,将目标设定为第一步已经做好的线段,然后点击“绑定”,完成后再播放视频你会发现它已经正确绑定我们想要的效果,链条如图5所示,跟随“挎包”的边缘缓慢滑落,结合运动效果则可以更自然地反馈,关键是这种设计思路可以大幅节约计算资源,省去了做高精度模型物理效果的时间。



图5


也正因这种设计思路可以节约大量时间和资源,所以在游戏和动画设计领域也是非常常用的技巧,比如服装和头发效果,可以先用一个低精度模型来制作物理模拟效果,然后高精度模型再通过“表面形变”或类似的功能来进行绑定,比如图6,就是一个约1000万个顶点的衣服模型,套用在了一个3000多个顶点的衣服模型布料效果上,大家有机会可以自己尝试一下直接烘焙有千万顶点级别的布料系统,看看100帧到底会花多少时间。



图6


单元总结:动画设计的必备技巧

对于动画设计,尤其是3D电影和游戏角色动画设计来说,“表面形变”修改器几乎是必备技能,在角色设计时有时候也会出现因为低精度模型的动画效果顶点数量不足,导致高精度模型套用后穿模的情况下,解决方案其实也很简单粗暴,直接把被服装遮盖的角色人体部分遮罩就完了,这也是为什么很多游戏角色建模只有裸露在外的部分才有皮肤,被衣服遮住的地方就没有模型的原因,人体的模型只是为了制作碰撞效果而已,得到碰撞数据后就反而成了隐患,所以干脆就遮罩掉让玩家无法看到啦。

编辑|张毅

本文出自2022-07-11出版的《电脑报》2022年第27期 A.新闻周刊
(网站编辑:qiaoyun)