maya中粒子做草地生长动画

先看效果图

  下面来讲解制作流程

  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;
  }

maya中粒子做草地生长动画的文章由IT培训网编写收集整理,转载引用本网站的原创文章,请务必注明信息来源,标明“IT培训网”字样如果我们的文章有涉及或侵犯您的有关权益,请即时与我们联系, 注明网址及文章,我们会即时处理或删除, 感谢您的合作!