《功夫》特技探秘(二)——巧学3D爆炸场景制作

多媒体娱乐

在《功夫》影片中还处处体现了一些奇思妙想的点子和特效,比如:阿星以一顶百,将斧头帮的群党打得满天飞,更有甚者竟将人打得飞了出去把木门撞个大窟窿;火云邪神练起了蛤蟆功将护栏砖块撞得满天飞等等,下面的场景就是《功夫》电影中的一些经典镜头,如图1所示。在3DS MAX中如果要实现这样的特效的话,我们可以借助Reactor力学反馈系统来完成。

3-g8-1-1.jpg
图1

认识Reactor力学反馈系统

Reactor力学反馈系统是3DS MAX中集成的一个功能强大的组件。它使用户能够轻易地控制和模拟出复杂的场景,它完全支持以坚硬或柔软的物体为对象的动力学模拟,以及布料和液体的模拟,也能模拟实际的物理现象,比如风、马达等等。只要在3DS MAX中创建一个物体,并为它设置包括了质量、摩擦力和弹力等等的物理属性,用户就可以利用所有的这些特征制作出富有动态特性的场景来。在3DS MAX中,Reactor力学反馈系统已经预设在Utility面板中了。

创建场景

1.打开3DS MAX,导入3DS MAX安装目录中一个自带的、设置好灯光、贴图效果的场景。在这个场景中我们主要使用以下几个物体对象:砖墙(Box1~Box80)、地面(Box81)以及圆球(Sphere01)。现在我们的目的就是实现场景中的圆球飞起来,最终将砖墙撞塌,砖墙满天飞的动画效果。

2.为了使圆球能够撞塌砖墙,我们必须给这个圆球一个初速度。单击Auto Key按钮,打开动画纪录,将时间轴滑块拖动到最后一帧处,然后利用移动工具在Left视图中将圆球从砖墙的前面斜下方地移动到砖墙后面,如图2所示。设置完毕后大家可以单击Play按钮,播放这段动画。但是大家在观看动画时是否发现,圆球运动时只是简单地穿过砖墙,并没有将砖墙撞塌,不符合实际生活中的物理现象。那么下一步就是本文的关键:通过运用Reactor力学反馈系统实现符合物理学原理的场景动画。

3-g8-1-2.jpg
图2

Reactor力学反馈系统的妙用

1.在Create命令面板中,单击Helper标签按钮,在其下方的下拉列表中选择Reactor,按下RBCollection按钮,在场景中添加一个硬实体集合辅助物体。选中这个硬实体集合辅助物体后,单击控制面板中的Add按钮,将需要模拟的物体对象包含进去,这个场景中我们要将整个砖墙的砖块、地面和圆球全部选中。

2.下面就是Reactor力学反馈系统的使用技巧的关键所在:设置物体的物理属性及碰撞检测。进入到Utility面板中,打开Reactor力学反馈系统控制面板,首先给场景中的物体添加物理属性。在Properties卷展栏中,我们先来明确一下Physical Properties区域内几个参数表示的含义:

Mass:设置物体的质量。当Mass为0的时候,物体在力学仿真过程中将保持不动。

Elasticity:设置物体的弹性系数。范围从0到1,取1的时候弹性最大。

Friction:设置物体的摩擦系数,数值越大,摩擦力越大。

下面就来具体设置:设置地面(Box81)的质量为0kg,它的弹性系数设置为0.8;将圆球的质量设置为5.0kg,将每块砖块(Box1~Box80) 的质量设置为1.0kg,它们的弹性系数和摩擦系数都为0.3,如图3所示。

3-g8-1-3.jpg
图3

接下来我们还要对场景中的各个物理对象设置好碰撞的检测类型:砖块(Box)和圆球(Sphere)对象都属于Convex类型,在场景中我们将圆球的碰撞检测类型设置为Use Bounding Sphere,将每块砖块以及地面的碰撞检测设置为Use Bounding Box。

小提示: 如果你对于一个物体的类型不能确定的话,你可以先选中它,然后单击Test Convexity按钮,检测出那个物体的具体类型。

最终效果的实现

1.接下来展开Animation & Export卷展栏设置好开始及结束时的仿真时间和关键帧的设置、运算步骤以及时间缩放系数等参数。本例中圆球和砖墙碰撞接触的时间是在第16帧,所以设置Start Frame参数值为16(图4)。其它参数大家可以自行设置。最后按下Perform Simulation按钮开始场景的动力学仿真计算。如果你选中了Update Viewports选项,你还可以同步更新视图的显示。

3-g8-1-4.jpg
图4

对于一个简单的场景,计算可能在几秒钟就能够完成,但对于稍微复杂一点的仿真场景可能就得花去你几分钟的时间,而需要几个小时甚至几天的情况也不在少数。当然计算机性能越好,完成所需的时间也就相应地短一些。

动力学仿真计算完毕后,大家可以看到如图5所示的效果:圆球不是简单地穿过砖墙,而是碰到砖墙时将砖墙撞塌了,砖块满天飞了。

3-g8-1-5.jpg
图5

总结:通过以上的知识点学习,我相信大家对于Reactor力学反馈系统有了一定的了解,可以真正模拟出一种符合现实生活中自然规律的物理现象出来了。那么在电影中运用这个特技,比如说将圆球换成人等,将可以实现人被打飞出去,将砖墙撞倒并反弹回来,或者人被打飞出去的速度较快,将木门撞个大窟窿,木屑纷纷落下,或者将砖块撞得满天飞的电影特效出来了。