案例分析
《植物大战僵尸》风靡全球,在游戏刚开始的时候有一个卷草皮的效果非常经典,如图所示。本案例将Maya的新布料系统与毛发系统联系起来,制作一个卷草地效果。
在制作过程中需要注意以下几点:
1 制作之前需要考虑草皮的质感,它应该属于比较厚重柔软的材料,弹性和抗拉伸性都比较强。
2 由于草皮像蛋糕卷一样卷曲,需要使用一种方法将模型卷起来,再用布料模拟片头中草皮展开的效果,卷曲的方法有很多种,只要能达到目的就是好方法。
3 关于草皮的厚度,应该在完成布料计算后添加,这样可以节省动力学的解算时间。
4 草皮上的小草可以使用Maya的Fur进行模拟。
最终效果如图所示。
制作步骤
一、制作草皮卷模型
(1)启动Maya,设置study\cloth. c为我们的工程,并进入到该工程的Scenes文件夹下,打开场景。单击渲染按钮,渲染效果如图所示。
目前场景中没有任何物体,只有一个《植物大战僵尸》游戏的背景。我们将在场景中添加三维的草坪。
Tips:请使用Camer a01视图与Mentaray渲染器渲染场景。
(2)执行Create> Polygon Primitives> Plane (创建>多边形基本体>平面)菜单命令,创建一个平面模型,并将模型的细分段数调节为5 x 70的正方形网格,草皮长度大概为土地1.8倍的长度,草皮的宽度大概为一块砖的宽度,如图所示。
Tips:平面模型的长度和段数是作者前期经过测试得到的结果,因为模型破过弯曲变形后再展开会收缩变短,所以建模的时候需要适当地将模型加长,预留足够的长度。
(3) 选择模型,按下F2键切换到动画菜单模块,执行Create Deformers>Nonlinear> Bend (创建变形器>非线性>弯曲)菜单命令,并调节弯曲的参数,如图所示。
(4)选择Bend变形器,将变换坐标调节到图所示的位置和大小,就可以得到一个卷曲的效果。
(5)最后删除卷曲好的模型的历史记录,并将模型的位置摆放在土地的左边界上,具体位置与游戏中的草皮一致,如图所示。
Tips:以上参数仅供大家参考, 我们的目的是制作一个像蛋糕卷一样的模型,所以可能需要大家耐心地进行测试。
二、制作草皮卷动态
(1)选择上一小节中制作好的模型,将当前菜单模块切换到nDynamics,执行nMesh> Create nCloth (nMesh> 创建nCloth)菜单命令,将模型转化为布料。为了不让草皮乱跑,选择最左的一排 布料点,执行nConstraint> Transform(约束>变换)菜单命令,将布料边缘处固定起来,如图所示。
(2)选择布料模型,按Ctrl+a键打开其属性编辑器,进入到nucluse标签中,修改Gravity and Wind (重力和风)卷展栏下的Wind Speed (风速)值为10,设置Wind Driection (风向)值为0、0、-10,即-Z轴方向;再勾选Ground Plane (地平面)卷展栏下的Use plane (使用平面)选项,修改Plane Stickiness (平面粘滞)值为2。
这样,草皮卷会受到风力的影响慢慢地在地平面展开,并死死地粘在地面上不会乱动,如图所示。
(3)播放动画进行查看,效果如图所示。
动画的效果与我们想象中的样子相差甚远,一开始就完全塌陷了,这是因为当前的模型只是一个单片,而真实的草皮是有一定厚度的实体。 下面我们来解决这个问题。
在这里,布料模型虽然是单片效果,但在布料系统中有一个Thickness (碰撞厚度)和Self Cllide Width Scale (自碰撞宽度缩放)的属性可以帮我们解决这个问题。
(4)选择布料并打开其属性编辑器,找到ollisions (碰撞)卷展栏下的Self ollision Flag (自碰撞标志)属性,将其修改为Full Face (完整曲面)方式,使布科得到较高的自磁撞精度,然后将Thickness (厚度) 偵修改为0.01,设直Self Cllide Width Scale (自磁撞宽度比例)值为10.4,以自碰撞的厚度正好填满模型中间的空險为标准。为了查着方便,可以在Solver Display (解算器显示)属性下选择Self Cllision Thickness (自碰撞厚度)方式。调节效果如图所示。
(5)设置完成后,再次播放动画查看效果。
如图所示,这一次的伸展动画可以顺利进行,但是在伸展的过程中草皮发生T拐弯的现象,这是动力学计算过程的一个误差,我们需要继续解决这个问题。
(6)分别在草皮模型的两边创建两个方盒子,将草皮模型夹在中间,然后选择两个方盒,执行nMesh>Create Passive ollider (nMesh> 创建被动碰撞对象)命令,将两个盒子设置为碰撞对象,如图所示。
(7)选择两个盒子,按下Ctrl+h键将其隐藏,再次播放动画查看效果,如图所示,当前的动态效果已经很不错了。
(8)布料动态测试结束后,选择草皮模型,执行nCache >Create New Cache (nCache> 创建新缓存)菜单命令,为布料添加缓存,如图所示。
(9)缓存创建完成后,查看动画效果和草皮长度,如果草皮长度和土地长度不一致,可以适当用缩放工具调整一下,如果长度相差太多,则只能重新制作了,如图所示。
(10)选择布料模型,按F3键切换到多边形菜单模块,执行Edit Mesh> Extrude (编辑网格>挤出)菜单命令,为布料制作一个厚度,厚度和之前的碰撞厚度大概相似,如图所示。
(11)选择布料的所有点,执行Edit Mesh> Transform Compoment (编辑网格>变换组件)命令,并将设置窗口中的Random (随机)值为1,如图所示。
(12)设置完成后,单击Apply按钮执行命令,这个工具的作用是,可以让每个点移动、旋转和缩放的距离有所变化,以实现凹凸不平的效果,如图所示。
(13)选择布料模型,执行Mesh> Smooth(网格>平滑)菜单命令,为模型添加细分段数。如图所示,草皮卷动态制作完成。
Tips:根据每个人的模型与布料尺寸的不同,我们需要耐心地进行测试,以上参数仅供参考,大家请根据实际的制作情况灵活修改参数。
(未完待续)
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。
电影剪辑通常被称为“隐形的艺术”,尽管剪辑师的名号不如导演的名号响,但是如果缺少了剪辑师对拍摄素材的二次加工,电影作品将缺少其......