用粒子代替做叶子自然飘落撒开

2015-10-14 16:06:16来源:作者:人点击

第七城市

  来源:网络(本文仅为提供更多信息)

1.1 创建一个简单的 nurbs-plane ,将它的 patches u 和 patches V 都设为 3 。

大家好,我是教程频道的编辑,大家有什么建议和意见都可以告诉我,谢谢大家的支持,欢迎投稿 :)

QQ:382593199 Email:chenc@hxsd.com

1.2 选择这个平面,按 F4 进入动力学菜单,给平面一个粒子发射器,不过先进入命令后面的黑色方块按钮( optionbox ),设置发射器的选项,( F4 ->particles -> Emit from object-> optionbox )。我们准备让叶子往 -y 方向下落,将 Emitter Type 设为 Surface , Rate 为 10-20 之间(多少你自己看了),把 Basic Emission Speed Attributes 中的 Normal Speed 设为 -2 ,然后按 create 。你现在点播放动画,就会看到粒子了。打开 Outliner (大纲),选中 particle1 (粒子),给它一个 gravity (重力场),将 gravity 里面的 magnitude 设为 5 , attenuation 为 0 。然后我们再加入 turbulence (扰乱场),将里面的 magnitude 、 attenuation 分别设为 10 和 0 ,这些设置只是我个人的,你如果觉得飘的慢或快,你也可以加大或缩小设置,看看效果。现在就我的过程中,还得在 particleShape1 里将 conserve 设为 0.92

1.3 现在,我们用 polygan 做一两张树叶,然后用( particle->Instancer )粒子替换命令,大家就会看到那些粒子变成树叶了

1.4 Ctrl+A 打开( attribute editor )粒子属性,在 particle-shape 中的 add dynamic attribute 里点击 "General" ,创建新属性(设置如下图)

1.5 在 "Per Particle (Array) Attributes" 中,会看到新增加了一个属性 ——rotPP ,现在我们用鼠标右键点击它,创建一个表达式( Creation-expression_r ),看下图:设为 particleShape1.rotPP = rand (0,360);

1.6 我们还得创建一个 runtime-expression_r (下图),来控制粒子的随机运动值。设为 particleShape1.rotPP += 0.001;"+=" 在这里面的意思是每帧加 0.001 的值。

1.7 现在我们打开 particleshape 属性框,将 Rotation options 里面的 Rotation 设为 "rotPP"

1.8 我们按 play 测试动画,叶子在空中无规则的旋转飘落。

1.9 我们想象怎么能让叶子落到地面上去呢?其实很简单。我们再做个平面(如图),记住要比第一个面大。然后先选择刚做的平面,按住 shift 再选择 particle1 (就是叶子,也可在大纲视图里选),给它们一个( particles->make collide )碰撞命令 , 设置 friction 为 0.8-1 (如图)

1.10 播放动画,大家会看到粒子落到地面后还是在那旋转,这不是我们想要的。我们还得进入表达式编辑器里设置 "velocity" 值( Attribute-Editor->particleshape ) , 在 Per particle (Array) Attributes 里的 "rotPP" 上用鼠标右键点击,然后编辑 runtime 表达式。我们增加新的一小段 MEL (如图)

1.11 现在粒子落到地面不会动了:)因为速度周转率为 0 ( velocity=0 -> $vel=0 ),完成

  本文仅为提供更多信息,不代表火星时代同意其观点或描述,如需转载请注明出处。

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台