#22002/6/15 21:55:38
海浪教程,不过我还没写完,只有一部分,我会尽快完成:
海浪的运动(一)
1. 如我上面所说,我们先建立一nurbs平面,把它命名为sea.
2. 建立柔体,将其粒子结点命名为seawave.
3. 打开expressin editor,选择run time. 在编辑区输入表达式。
4. 表达式的分析(这个表达式我借签了http://cade.scope.edu 里面的一个海浪教程,有一些改动,不过,我这里实现的效果与他那的不一样)我们要使这个平面运动起来,第一点要清楚的是我们用粒子seawave来带动它的运动,也就是说最后形成的seawave表达式应该是这样一种形式:
seawave.position=<< , , >>;
我们来看上面的这个表达式,这个是seawave的位置表达式,在《 , , 》之间的数决定了平面的位置,这就是说如果我们不
改变平面的大小,那么在x,z轴上的位置就是原先粒子所在的位置。
于是我们把它写成这个样子:
vector $p1=seawave.position0;
seawave.position=<<$p1.x, $P ,$p1.z>>;
中间的$P变量我们是用来控制海浪的波动的,所以要单独写一个expression
这样来控制海浪的起伏.当然主要是用$p1接和time,frame等变量来实现,不 同的搭配可以产生不同的效果.
好,上一帖,我们已经分析过海浪波动的表达式。好了
现在我给出一些表达式,供大家讨论,还有一幅图,不过做得急,效果不是很好。
我的平面名为sea;
下面为表达式:
vector $p1=seaParticleShape.position0;
vector $p2=<<$p1.x/6-frame/20+20,frame/20,$p1.z/7+20>>;
seaParticleShape.position=<<$p1.x,3*noise($p2),$p1.z>>;
vector $p3=seaParticleShape.position;