
上QQ阅读APP看书,第一时间看更新
2.2.4 使用表达式控制蝴蝶的大小随机变化
现在场景中的每一只蝴蝶的大小都是一样的,为了让发射器生成的每一只蝴蝶都大小随机,则需要使用表达式技术来得到这一效果。
展开“每粒子(数组)属性”卷展栏和“添加动态属性”卷展栏,为了给n粒子添加新属性,需要先单击“添加动态属性”卷展栏中的“常规”按钮,如图2-52所示。
在系统自动弹出的“添加属性”对话框中,在“长名称”文本框内为新建属性创建名称suiji,并勾选“覆盖易读名称”选项,在“易读名称”文本框内输入“随机”,这样,新创建的属性则可以以中文“随机”进行显示;设置“数据类型”为“向量”选项,“属性类型”为“每粒子(数组)”选项,如图2-53所示。

图2-52

图2-53
设置完成后,单击“确定”按钮,即可在“每粒子(数组)属性”卷展栏中查看刚刚创建的新属性名称,如图2-54所示。

图2-54
在“随机”属性上右击,在弹出的快捷菜单中执行“创建表达式”命令,如图2-55所示。

图2-55
弹出“表达式编辑器”面板,在“表达式”文本框内输入:
nParticleShape1.suiji=rand(0.8,1.2);
然后,单击“创建”按钮,如图2-56所示。

图2-56
关闭“表达式编辑器”面板后,观察“每粒子(数组)属性”卷展栏,可以看到“随机”属性后面出现了“表达式”的字样,说明该属性中设置了表达式来控制该属性,如图2-57所示。

图2-57
展开“实例化器(几何体替换)”卷展栏中的“常规选项”卷展栏,将“比例”的选项设置为刚刚创建的新属性suiji,如图2-58所示。

图2-58
设置完成后,需要重新播放场景动画,才能在视图中更新设置了表达式之后的蝴蝶大小,如图2-59所示。场景中蝴蝶的大小现在出现了明显的随机变化,看上去自然了许多。

图2-59