粒子替换出来的实例物体常常需要随机大小、旋转角度等等,常规的Mel一般飞花、树叶……不需要太严格的旋转控制,可以使用浮点变量,如下:
在particleShape中添加属性,PPs、PPid、PPri、PPr,均为浮点型、每粒子(其中PPs控制大小,PPid控制实例id、PPri为初始旋转角度、PPr为粒子运动状态角度,属性名字可根据自己喜欢随便取)。
在新建的粒子属性右侧点击创建表达式:
创建:
particleShape1.PPid=rand(0,3);//我的实例有四个
particleShape1.PPri=rand(0,360);//初始角度随机
particleShape1.PPs=rand(0.5,2);//大小随机
particleShape1.PPr=particleShape1.PPri;//把初始角赋值给旋转角
动力学前:
particleShape1.PPr+=5;//旋转角自加5度,需要转得快可以加大数值
最后为替换选项选择大小为PPs,id为PPid,旋转为PPr即可。这是常规的做法,可是如果飘动的是诸如蝴蝶、蒲公英……需要控制它们的旋转角,换个说发就是蝴蝶不会翻着跟斗飞,我们需要用数组变量,修改如下:
在particleShape中添加属性,PPs,均为浮点型、每粒子,添加PPri、PPr属性为数组,数组的表达式为:
创建:
vector $myPPri=<<0.05,1,0.03>>;//定义数组变量
particleShape1.PPri=rand(0,360)*$myPPri;//初始角度为x方向0.05*360范围,y为360范围、z为0.03*360范围,根据需要设置
particleShape1.PPs=rand(0.5,2);//大小随机值
particleShape1.PPr=particleShape1.PPri;//把初始角赋值给旋转角
动力学前:
particleShape1.PPr=particleShape1.PPr+<<0,5,0>>;//只在y轴做旋转