tornado主轴层的制作(一)

来源:互联网 发布:4399刷盒币软件 编辑:程序博客网 时间:2024/04/30 14:21

1、使用nurbs创建一个圆柱,利用晶格变形(选中圆柱和线)制作 tornado外形。

2、创建发射器,goal(goal weight为1)技术使粒子追模型。

表达式:

a/半径

新建once(PP),控制粒子半径在运行时表达式中只运行一次随机

创建表达式:particleShape1.radiusPP = 0;

运行表达式:if (particleShape1.once == 0)
{particleShape1.radiusPP = rand(0.01,0.022);
particleShape1.once = 1;}

b/透明度

创建表达式:particleShape1.opacityPP = rand(0.15,0.3);

c/粒子旋转并上升

创建表达式:

particleShape1.goalU = rand(0,8);    //起始发射
particleShape1.goalV = rand(0,0.02);    //粒子v方向初始值随机

创建一个vspeed

vspeed = rand(1,1.08);    //使得上升速度有一定随机

运行表达式:

particleShape1.goalV += 0.02 * vspeed;    //v方向上升
particleShape1.goalU += -0.08;    //u方向旋转

if (particleShape1.goalV > 1)
{particleShape1.lifespanPP = 0;}    //减少系统负担

d/粒子向法线偏移并且螺纹效果

点击goal weights and objects->delete goal world normal 0 PP 粒子追模型的法线方向

birthTime一个隐藏的粒子属性,控制粒子出身时间,在这里控制螺纹效果

使用ratePP粒子比率控制粒子在圆柱中心和边缘的分布

创建表达式:

创建一个randoffsetPP随机控制内外偏移

particleShape1.randoffsetPP = rand(-0.5,1.05);

particleShape1.ratePP = rand(0,7);

运行表达式:

if (particleShape1.ratePP>1)

{particleShape1.goalOffset = particleShape1.goalWorldNormal0PP * particleShape1.randoffsetPP * (noise(particleShape1.birthTime*10+time*0.5)*0.5+0.5)*0.6;}

else
{particleShape1.goalOffset = particleShape1.goalWorldNormal0PP * particleShape1.randOffsetPP;}

e/粒子分布控制,解决下面和上面的粒子数量少问题

新建一个属性rampPP,添加一个ramp,先设置create ramp options->inputV->goalV。

再edit ramp,控制粒子v向上的分布,黑色表示显示越多,白色表示显示越少。

因为模型UV分布是两端稀疏,中间密集,所以调节整个ramp是中间白,两端灰。

(从新做了一些修改,ramp调节还是有待调整,明天再改了)

(又重新调整里ramp分布)


0 0
原创粉丝点击