Maya表达式控制动力学动画之小鸡抢食

豆豆网   技术应用频道   2007年08月18日  【字号: 收藏本文

内容摘要:Maya表达式控制动力学动画

  群体动画是表达式或mel的强项,下面是我做的追逐的表达式练习,感兴趣的朋友可以看看。为形象,现用小鸡抢食的情景来说明。

  一群小鸡在觅食,突然一只小鸡发现一只小虫,其他小鸡过来抢食,于是就会出现一群小鸡追逐一只小鸡的场景,在具体的测试中,我用一个球体代表叼着小虫的小鸡,其他的小鸡用圆锥表示。下面详细说明整个制作过程。

  1.首先制作场景,建立一块崎岖不平的地面,代表小鸡的球体和圆锥。如图。

  Maya表达式控制动力学动画之小鸡抢食

  2.随机的在地面上排布 “小鸡”。

  3.为了上小鸡们能够贴在地面并且是随着地面坡度而发生相应的角度倾斜,将小鸡们与地面进行法线约束和几何体约束,如图。

  Maya表达式控制动力学动画之小鸡抢食

  4.打开表达式编辑窗口,定义各小鸡初始位置。

  for($k=1;$k<41;$k=$k+1)
  {
  if(frame==1)
  {$tx[0]=ball.translateX;//
  $tx[1]=ball1.translateX=7.9;
  $tx[2]=ball2.translateX=3;
  $tx[3]=ball3.translateX=-0.8;
  $tx[4]=ball4.translateX=1.3;
  $tx[5]=ball5.translateX=-2;
  $tx[6]=ball6.translateX=-4.3;
  $tx[7]=ball7.translateX=8.8;
  $tx[8]=ball8.translateX=16.02;
  $tx[9]=ball9.translateX=12.0;
  $tx[10]=ball10.translateX=5.2;
  $tx[11]=ball1.translateX=-7.9;
  $tx[12]=ball2.translateX=13;
  $tx[13]=ball3.translateX=-10.8;
  $tx[14]=ball4.translateX=21.3;
  $tx[15]=ball5.translateX=-12;
  $tx[16]=ball6.translateX=-14.3;
  $tx[17]=ball7.translateX=28.8;
  $tx[18]=ball8.translateX=10.02;
  $tx[19]=ball9.translateX=18.0;
  $tx[20]=ball10.translateX=15.2;
  $tz[0]=ball.translateZ;
  $tz[1]=ball1.translateZ=1;
  $tz[2]=ball2.translateZ=3.347;
  $tz[3]=ball3.translateZ=8.908;
  $tz[4]=ball4.translateZ=0.736;
  $tz[5]=ball5.translateZ=2.525;
  $tz[6]=ball6.translateZ=-2.145;
  $tz[7]=ball7.translateZ=4.207;
  $tz[8]=ball8.translateZ=0.542;
  $tz[9]=ball9.translateZ=6.277;
  $tz[10]=ball10.translateZ=5;
  $tz[11]=ball11.translateZ=-1;
  $tz[12]=ball12.translateZ=-3.347;
  $tz[13]=ball13.translateZ=-8.908;
  $tz[14]=ball14.translateZ=-0.736;
  $tz[15]=ball15.translateZ=-2.525;
  $tz[16]=ball16.translateZ=-10.145;
  $tz[17]=ball17.translateZ=-4.207;
  $tz[18]=ball18.translateZ=-5.542;
  $tz[19]=ball19.translateZ=16.277;
  $tz[20]=ball20.translateZ=15;

  具体定义值根据当时各小鸡法线和几何体约束后其位移通道的参数来定义,需要一些耐心,如果小鸡更多的话,需要耐心更多,我知道我的方法很笨。有朋友知道简单方便的定义方式吗?

责编:豆豆技术应用

正在加载评论...