Maya 硬件渲染粒子与软件渲染元素结合

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

本文详细介绍Maya 硬件渲染粒子与软件渲染元素结合

  print(noise(10));

  … cg/image/ 回到 -0.465903 的值

  如果你给声音功能取 10.01 的值 :

  print(noise(10.01));

  … cg/image/ 回到 -0.474992 的值

  参数表达式里:

  flEmitter.rate=$rate+$rateRand*$rate*noise(frame)

  …我们用“帧”作为声音输入,所以,每个帧的声音功能回到一个新的值。

  既然帧以每帧的整数增加,来自声音功能的结果可能变化很大。如果你想从声音功能那里获得一个更加平滑的数字流,那就用“ time ”来代替 “ frame ”。

  一样的输入值,声音功能返回的值也一样,所以,每个发射器需要用不同的输入值。

  在表达式编辑器里,增加:

  frEmitter.rate=$rate+$rateRand*$rate*noise(frame+100)
blEmitter.rate=$rate+$rateRand*$rate*noise(frame+200)
brEmitter.rate=$rate+$rateRand*$rate*noise(frame+300)

  现在每个 rates 参数都是从声音曲线不同部分取样,回放时候,你会看见粒子的轨迹有点更加随意稀少了。

  参数 rates 任何明显的提高都表示模拟轮胎碰到了凹凸块或者是岩石。发生碰撞的时候,粒子方向突然随意改变,就好像刚刚发生了一场小的爆炸。

  因为声音功能对同样的输入总是返回到同样的值,所以,我们检查 rates 参数的一个突然变化并添加一些随意性到发射速度上。

  在表达式编辑器里,添加:

  float $flChange=noise(frame)-noise(frame-1);
float $flChange=noise(frame)-noise(frame-1);
float $frChange=noise(frame+100)-noise(frame+100-1);
float $blChange=noise(frame+200)-noise(frame+200-1);
float $flChange=noise(frame+300)-noise(frame+300-1);
float $randomSpeed=100;
flEmitter.randomDirection=$randomSpeed*linstep(0.1,0.5, $flChange);
frEmitter.randomDirection=$randomSpeed*linstep(0.1,0.5, $frChange);
blEmitter.randomDirection=$randomSpeed*linstep(0.1,0.5, $blChange);
brEmitter.randomDirection=$randomSpeed*linstep(0.1,0.5, $brChange)

责编:豆豆技术应用

正在加载评论...