教程向朋友们介绍maya粒子做草地生长动画的方法,教程很简单,也是一个基础知识,希望对朋友们有所帮助!
先看效果图
FEVTE编注:更多MAYA角色教程讨论交流和MAYA作业提交请进入飞特论坛三维作业板块,地址:https://www.fevte.com/forum-54-1.html
下面来讲解制作流程
1. 创建草的笔刷,适当调整参数如图。让草直一点,随后好任意旋转
调整笔刷生长动画。我们将主要通过设置start time来生成草地生长的动画。当然,如果你愿意,你还可以调整speed的值来获得不同的生长速度
重命名笔刷为:grass,创建一个空的组物体,我们将用它来放随后复制的笔刷物体。创建一个circle并作100帧的缩放动画。让circle发射粒子,速度为0,我们将在每一个粒子产生的地方放置一个笔刷。场景如图
选择粒子,创建creation expression: string $grassN=`duplicate -rr -un grass`;//copy grass parent $grassN grassGrp; //put the duplicated brush under the grassGrp vector $p=particleShape1.birthWorldPosition/2.5;//不知道为什么这个birthWorldPosition和绝对坐标只有出入。总较实际的小,所以我除了个系数。 move -a ($p.x) ($p.y) ($p.z) $grassN; rotate -r 0 (rand(360)) 0 $grassN;//let brush natural string $nTemp=`listHistory $grassN`;//find duplicated brush curve parent $nTemp grassGrp; string $cmd="setAttr "+$nTemp+".startTime "+frame/25;//set the starting grow time eval($cmd);
现在复制的笔刷能够顺利的生长了,但是回放的时候却不能自动删除,我们得在0帧的时候reset一下
选择grassGrp创建一个命名为reset的表达式: if(frame==0) { select -r -hi grassGrp;//select group and it's children select -tgl grassGrp; //deselect the group Obj delete; }
飞特游客
潘yy
委托设计