maya 4.0 粒子系统-粒子的碰撞
利用 maya 的粒子碰撞功能,可以模拟许多物理现象,最典型的例子就是利用粒子碰撞模拟水滴相撞的效果。由于碰撞,粒子可能会进行再分裂、产生新的粒子或者导致粒子的死亡,这些效果都可通过粒子系统来完成。
创建粒子碰撞
粒子的碰撞不但可以在粒子与粒子之间完成,而且还可以在粒子与物体之间完成。如果要创建粒子碰撞,必须首先创建一个粒子碰撞物体,这个物体将作为粒子与粒子或者粒子与物体之间的介质物体,它会为粒子与物体之间建立联系,这样才能形成最终的粒子碰撞效果。
下面来制作一个场景,以试验粒子的碰撞效果。具体操作步骤如下:
(1) 创建一个新的场景,然后创建一个 nurbs 球体和一个 nurbs 平面物体,设置球体的半径为 2 ,设置 nurbs 平面的 wdith 值为 40 ,如图 10-25 所示。
(2) 确认现在的时间滑块在第 1 帧的位置上,将球体移动到平面的边缘处,执行 animate → set key 命令,创建关键帧,如图 10-26 所示。
图 10-25 创建场景 图 10-26 第 1 帧时球体的位置
(3) 将时间滑块移动到第 60 帧的位置上,沿 x 轴将球体移动到平面的另一侧边缘上,执行 animate → set key 命令,创建关键帧,如图 10-27 所示。
(4) 播放动画可以看到球体向前移动。为了能够使球体完成将来的动作,需要在第 20 帧和第 40 帧上加入关键帧,以使球体在这两个帧上保持在地面的位置上。拖动时间滑块到第 20 帧的位置上,执行 animate → set key 命令,创建关键帧,然后再拖动时间滑块到第 40 帧的位置上,执行 animate → set key 命令,创建关键帧,现在 4 个关键帧的位置应如图 10-28 所示。
图 10-27 第 60 帧处球体的位置 图 10-28 4 个关键帧的位置
(5) 为球体加入跳起的动画。移动时间滑块到第 10 帧的位置上,将球体向上移动一些,执行 animate → set key 命令,如图 10-29 所示。用同样的方法在第 30 帧上和第 50 帧上也创建出球体跳起的关键帧。
(6) 播放动画可以看到球体的弹跳动作。下面为球体加入粒子发射器。确定 nurbs 球体处于选中的状态,执行 particles → emit from object 命令,在弹出的对话框中为这个粒子物体命名为 ball ,单击 add 按钮添加粒子发射器。确认粒子处于选中的状态,在通道栏中设置 rate 的值为 30 ,播放动画观看粒子的发射效果,如图 10-30 所示。
图 10-29 创建球体跳起关键帧 图 10-30 粒子的效果
(7) 为了使粒子的动作更加真实,需要为粒子加入重力设置 ( 动力场的相关知识将在 10.4 节中介绍 ) 。执行 edit → select all by type → particles 命令,选中场景中所有的粒子物体,执行 fields → gravity 命令,为物体粒子物体创建重力。播放动画效果如图 10-31 所示。(8) 在制作碰撞效果之前,必须先明确碰撞发生的物体都有那些。在这个场景中,粒子与地面物体产生碰撞,所以首先需要选中地面物体,然后执行 particles → make collide 命令,这样碰撞物体就被添加在地面物体上了。
(9) 把粒子物体与地面物体连接上。重新选中粒子物体,然后将鼠标指针移动到碰撞物体上 ( 也就是 nurbs 平面物体 ) ,右击,从弹出的快捷菜单中选择 connect collision 命令,如图 10-32 所示。
图 10-32 快捷菜单
提示:连接碰撞物体的另一种方法是,选中粒子物体,然后按 shift 键选中碰撞物体,再执行 particles → make collide 命令即可。
(10) 播放动画观看动画效果,可以看到粒子与平面发生接触之后向上反弹,如图 10-33 所示。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器