案例分析
本案例使用Maya的新布料系统制作一个汽车展示的广告片。制作内容很简单,一块盖着车的布料从车上滑落,然后露出绚丽的汽车。最终渲染效果如图所示。
在制作的过程中需要注意以下几点。
1 布料模型的网格数量与布料的动力学属性息息相关,制作前应该考虑好布料的质感后再进行测试,本案例将布料的质感设定为类似软塑料布的材质。
2 关于布料的厚度应该在完成布料计算后添加,这样可以节省动力学的解算时间。
3 出于广告片的考虑,我们应该尽量使布料滑落的动态美观。
制作步骤
一、制作布料初始模型
(1)启动Maya,设置“cloth_ a”为我们的工程,并进入到该工程的Scenes文件夹下,打开场景文件,单击“渲染”按钮,渲染效果如图所示。
Tips:使用Camera01视图与Mentaray渲染器。
(2)执行Create> Polygon Primitives> Plane (创建>多边形基本体>平面)菜单命令,创建一个平面模型,并将模型宽度和高度的细分段数均调节为80,尺寸大概为汽车两倍长度的方形,如图所示。
(3)将布料移动到车子的上方,删除模型的历史记录,然后切换到nDynamics菜单模块,选择平面模型,执行nMesh> Create nCloth (nMesh>创建nCloth)菜单命令,将模型转化为布料,如图所示。
(4)选择汽车的车身与玻离部分的模型,执行nMesh>Create Passive Collider (nMesh> 创建被动碰撞对象)菜单命令,将模型转化为被动碰撞体。这样就可以实现布料与汽车碰撞的效果了,如图所示。
(5)选择布料模型,按下Ctrl+a键打开 属性编辑器,进入Nucleus标签, 勾选Use Plane (使用平面)选项,在场景中建立一个虚拟的地面,播放动画,查看布料动态效果,如图所示。
为了使布料不会过度变形与拉伸,我们需要调节一下动力学参数。
(6)选择布料节点nClothShape标签,在Dynamic Properties (动力学特性)卷展栏下将Stretch Resistance (拉伸阻力)属性的参数值修改为100,防止布料出现拉伸的效果;然后进入Nucleus标签,将Ground Plane (地平面)卷展栏下的Plane Friction (平面摩擦力)值修改为1,防止布料在地面滑动,具体参数如图所示。
(7)再次播放动画,当布料动态达到想要的效果时停止播放动画,选择布料后按下Ctrl+d键复制出一个新的布料模型,然后将原始的布料模型删除。这样我们就将布料的静态效果提取为一个独立的模型,如图所示。
(8)选择复制出来的布料模型,执行Window>Hypergraph: Connections (窗口>超图:连接)菜单命令打开超图连接窗口,首先删除pPlaneShape6节点,这是制作布料后产生的垃圾节点,然后将outputCloth1节点改名为pPlaneShape6,如图所示。
到此,布料初始模型制作完成。
二、制作布料动态
(1)选择上一小节制作好的布料模型,执行nMesh> Create nCloth (nMesh>创建nCloth)菜单命令,将模型转化为布料,并在属性编辑器的nClothShape标签下将布料节点的Stretch Resistance (拉伸阻力)参数值修改为150,增加布料的抗拉伸能力;然后进入Nucleus标签,将Ground Plane (地平面)卷展栏下的Plane Friction (平面摩擦力)值修改为0.3。
(2) 选择车头方向最前端的一排布料点,执行nConstraint> Transform (nConstraint> 变换)菜单命令,将布料的最边缘固定起来,如图所示。
(3)在Outliner (大纲)视图中选择刚刚创建的dynamicConstraintl节点,为其Key一段位移动画,运动方向为车头的朝向,时间大约250帧左右,运动距离大概为车身长度的两倍,以布料完全脱落为标准,如图所示。
(4)选择布料后按健盘的Ctrl+a键打开属性编辑器,找到Collisions (碰撞)卷展栏下的Self Collision Flag (自碰撞标记)属性,将其修改为Full Face (完整曲面)方式,使布料得到较高的自碰撞精度,再将Thickness (厚度)值修改为0.015,Self Collide Width Scale (自碰撞宽度比例)值修改为1,如图所示。
最后提高布料的解算精度,以保证最终的布料动态没有问题。
(5)找到nClothShape标签下的Quality Settings (质量设置)卷展栏,将Max Self Collode Iterations (最大自碰撞迭代次数)属性参数值修改为40,然后在nucleus标签下的Solver Attributes (解算器属性)卷展栏中,将Substeps (子步)值修改为30,Max Collision Iterations (最大碰撞迭代次数)值修改为40,如图所示。
(6)布料动态测试没有问题后,选择布料,执行nCache> Create New Cache (nCache> 创建新缓存)菜单命令,为布料制作一个缓存, 如图所示。
缓存创建完成后,我们可以进入“nClothShapelCache1” 节点随意地调节布料的运动速率及运动时间,如图所示。Start Frame (起始帧) 可以控制布料开始脱落的时间,Scale (缩放) 可以控制布料的运动速度等,大家可以根据实际情况随时调节。
(7)切换到Polygons菜单模块,选择布料模型,执行Edit Mesh> Extrude (编辑网格>挤出)菜单命令,为布料制作一个厚度,然后按下键盘的3键切换到光滑显示模式,如图所示布料动态制作完成。
Tips:根据每个人制作的模型与布料尺寸的不同,我们需要耐心地进行测试,以上参数仅供参考,大家应根据实际的制作情况灵活修改参数。
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。