01做物体与粒子碰撞特效时,我们要追求好效果,要求粒子必须发射到精确的位置。比如剑在墙上刮起的火花,石头从山上滚下来带起来的灰尘和小石子,一个人走路时,脚带起来的尘土等等。
02石头(暂且将石头命名为 boulder )从小山丘上滚下来,会带起很多灰尘。我们现在实现这种效果。我们做个石头(命名为 boulder ),进入 Dynamics 主菜单,给石头加 active rigid body 和 gravity field 效果。然后建个( plane )平面,给 plane 加个 passive rigidbody 。再选择附加了 rigidbody 效果的石头,再给它个 softbody (如下图),选择 Duplicate, make Copy Soft ;勾选 ''hide non-soft Object ,勾选 'make non soft a goal' ,然后设置 weight 为 0.8 ,点 Create 按钮。我们打开 Outliner ,选择石头中的( copy0boulder )节点,将它隐藏,粒子不要隐藏,我们只要看到 'soft boulder' 就行了。
03我们这一步要做的是把 softbody particles 与 plane 进行碰撞。选择 plane ,进行 Particles >Make Collide ,设置如下属性:
resilience 为0
friction 为0;
然后打开 window >Relationships editor >Dynamics Pelationships, 使 softbody particle's collision 和 plane 连接,现在这两个物体就可以碰撞了。
选择 softbody particle 对象,打开 Particles >Particle Collision Events ,在弹出的框中,按下图设置属性:
04现在 hardware (硬件)渲染动画,大家会看到 boulder 与 plane 碰撞时产生的点是灰色的,也就是 softbody particles 是灰色的。我们就给这些粒子加颜色。进入粒子的 particleShape Attribute ,点击 Add Dynamic Attributes 里的 Color ,给它个如下图的颜色。
在它的 opacity attribute 里设置 value 为 0。
05最后要注意的是,这个技巧不是要我们怎么用 rigid body ,而是要大家延伸这个技巧。假设角色走路所带起来的灰尘,路面还要用 'make collide' ,但不需要 rigid body 了,同样角色的脚也不需要变成 softbody ,我们只要选择脚骨骼那的皮肤进行 softbody 就行了。
教程很粗糙,希望大家能做出好效果。