1、3DMAX 的动力学要做出真实的运动和碰撞,用手工调整是不可能的。3DMAX 为我们提供了计算真实运动的方法,那就是动力学系统。现在我们就来制作一个简单、但运动真实的碰撞练习。1:首先,我们在视图中创建一些几何体。建立两个 box,“box01”为地板,“box02”作为被撞物体;一个球体作为运动中的物体。将他们放在正确的位置上:球在半空中,被撞物体“box02”放在地板“box01”上,注意,不要让两个“box”接触,否则将出现错误的计算,让 box02 稍稍离开地面一些些。然后再创建一个 Gravity 引力系统。引力朝下,图标大小随意。我为了给动画增加一些趣味性,所以把 box02 稍加
2、弯曲了。如图所示。2:现在开始设置动力学系统,进入 utilities 面板,按下 Dynamics 钮,出现动力学设置面板,再按下 New 按钮,接受默认的名字。此面板如图所示。 3:打开 Edit Object List,将三个物体全部加入动力学计算中,按下 OK。再按下 Edit Object 钮,出现设置浮动面板,在 OBJECT 下拉菜单中选取 box01,这是模拟地板的物体,因为它是地板嘛,所以我们不打算让他进行运动,勾选它下面的 This Object is Immoyable 选项,地板就设置好了。现在设置被撞物体,到 OBJECT 下拉菜单中选择 box02,按下旁边的 As
3、sign Object Effects,选择那个引力装置“Gravity01”,把它加入右边的框中,按下 OK;再按下下面的 Assign Object Collisions 钮,将两个物体都加入碰撞计算中,按下 OK;box02 也设置好了。轮到球体了,同样,在下拉菜单中选择 Sphere01,在 Assign Object Effects 中也选择引力装置,加入右边的框中,按下 OK;再按 Assign Object Collisions 钮,将其它两个物体都加入碰撞计算中,按下 OK;在旁边的 Collision Test 中,选择 Sphere。最后,按下面板下的 OK,完成设置。现在
4、打开 Animate 钮,把时间调到第 5 帧,用 Move 工具将球体向右边移动一些,这是为了先给它一个初始速度,否则球体只会向下掉,而不会去撞 box02 了;好,放开Animate 钮,结束动画记录。 4:好了,都设置妥当了,现在进行计算吧。将 Timing&Simulation 卷展栏打开,在Timing 下的 Start Time 设为 5,因为我们从第 5 帧才开始计算。最后按下面板上的Solve,待计算机计算完毕后,播放动画看看结果,如果设置得没错,你会发现球向墙撞去,但可能出现一些奇怪的现象,就是球或墙陷入地板中了。这是由于计算不够精确造成的,现在我们来解决这一问题。打开 Edit Object,将三个物体:box01、box02 和球体的碰撞都设置成 Mesh,这是最精确的计算方法了,按下 OK完成设置;再到 Timing&Simulation 卷展栏下,将 Calc Inervals Per Frame 设为 2,现在我们设置得够严格的了,这次按下 Solve 钮,你会发现计算速度明显减慢。如图所示。