用Maya制作随机变化下落的字母效果
作者:网友整理玛雅maya最新网站地址1.1.71.5.7 38.95M / 简体中文
点击下载娃娃-小鱼找字母v1.11.1 64.83M /
点击下载Maya影视安卓版(影音资源播放平台) v1.4 手机版 26.48M / 简体中文
点击下载首先,打开Text Curves选项,将Text的类型设置为Poly,输入全部26个英文字母,从“a”到“z”,单击“Create”。
图1
打开Outline窗口,在这里能够找到Maya自动创建的两个组:一个包含所有字母的曲线,另一个包含26个网格物体。删除包含有所有字母曲线的组,因为我们只需要包含全部多边形字母的组。
现在我们需要编写一个Script来重命名所有的多边形字母,这是为了其后能够更容易的重命名这些字母,当然也可以手动为它们重命名。
int $i;
string $t="abcdefghijklmnopqrstuvwxyz";
string $cmd="rename Trim_Char_";
for($i=1;$i<=26;$i++)
{string $temp;
$temp=eval("substring "+$t+" "+$i+" "+$i);
print($temp);
eval($cmd+$temp+"_1_1 "+"text"+$i);
};
在Script Editor中输入上面的Script并运行,此时Outline窗口应该如下图所示。
图2
选择所有的多边形字母和中心枢轴点,移动到abs(0,0,0),然后自由变换,之后将其全部隐藏。
创建一个10*20 Nurbs平面;选择这个平面并加载一个粒子发射器(Particle Emitter),将发射器的类型设置为Surface;将这个平面围绕Z轴旋转180度;将发射器的的速度设置到15左右,发射率设为0.2。
现在我们将为粒子形态(particleShape)节点添加一个属性(Attribute)。
选择particleShape1节点,打开属性编辑器(Ettribute Editor),单击“General”下的“Add Dynamic Attributes”部分,添加一个名为“index”的属性并设置其类型为 “Array”。
图3
接下来在Outline窗口中选择所有的多边形字母(不要选择这个组),创建粒子替代物(Particle Instancer)。在Option窗口中钩选“Allow All Data Types”,在“Particle Object To Instance”选项中选择particleShape1。
图4
现在将会看到场景中每个粒子都变成了字母“a”。我们将加载一个表达式来实现用随机变化的字母来替代每个粒子。
选择particleShape1并且打开表达式编辑器(Expression Editor)。添加一个执行时间表达式(Runtime Expression)。
index=rand(1,26);
播放动画,将会发现每个粒子在每一帧都被随机变化的字母所替代。现在已经非常接近我们想要的效果了,但还需要编写一些表达式来控制每个粒子的运动。
选择particleshape1并且添加另一个数组属性(Array Attribute)为“Gate”。无需其他设置,加载执行时间表达式(Runtime Expression)到particleshape1节点下。
particleShape1.index=rand(1,26);
vector $temp=particleShape1.worldVelocity;
if ($temp.y<=rand(-10,-5))
{ particleShape1.gate=1;};
if ($temp.y>=(-1))
{particleShape1.gate=0;};
if (particleShape1.gate==1){ particleShape1.acceleration=<<0,rand(20,25),0>>;
//print("aaaa");
};
if (particleShape1.gate==0) {
particleShape1.acceleration=<<0,rand(-25,-20),0>>;
//print("bbbb");
};
最后,调整摄象机并进行渲染。渲染完成后可以用Maya Fusion或其它软件来加载一些运动模糊/拖尾效果。下面是最终的效果。
图5
加载全部内容