在C4D吧中,不少吧友制作“锁链和锁头”的例子时,都出现不少问题。一方面是我写的不详细,没有说明白;另一方面也可能因为吧友对物理学知识和动力学很多参数还是不了解。所以必须在了解物理学简单原理的同时,吃透C4D动力学参数才能做到游刃有余,动力学的学习笔录还得写下去。下面研究几个问题:
一、碰撞外形:
在游戏中,游戏角色走到台子上面,他不会从台子上漏下去,这是因为,在台子模型外面罩着一个“简单的,大致与台子相近的,看不见的“碰撞外形。正是由于这个外形存在,才使得游戏引擎控制角色穿不过去台子。在C4D中,刚体和碰撞体也有碰撞外形,但是比游戏一般复杂一些。
1、下面我们做个测试实验。建一个物体如下:
2、给他添加碰撞体标签,系统默认碰撞外形为”自动“
3、克隆一些小球,添加刚体标签。
4、克隆小球的刚体标签设置如下,他的碰撞外形自动(因为它简单,自动是球形)
5、ctrl+d,打开如下设置,监视碰撞过程。
6、点击播放,发现小球并没有与物体表面发生碰撞,而是这样。
(这是因为,复杂的碰撞体,它的自动设置,系统给他一个简单大致外形包裹。因为这样节省计算资源)
7、把物体碰撞外形设置为”方形“
8、把物体碰撞外形设置为”圆柱 X-轴心“
9、把物体碰撞外形设置为”外凸壳体“
10、把物体碰撞外形设置为”关闭“,小球穿过碰撞体,当他不存在。
11、把物体碰撞外形设置为”另一对象“。首先建一个球体,罩住碰撞物体。
把球体拖进下列对象之中。
点击播放,小球刚体就沿着大球体表面碰撞。
12、把物体碰撞外形设置为”动态网格“,正常。
13、把物体碰撞外形设置为”静态网格“正常。
后记:可见设置不同的碰撞外形,对于刚体动力学的碰撞影响非常之大。对于本例子,由于该物体为静止的碰撞体,所以碰撞外形应该选择为”静态网格“,那么,系统就会以物体的形状为碰撞外形。如果,是一个非常复杂的碰撞物体又该如何?假如是一颗大树,那么,应该选择外形”另一个物体“,制作一个简单地,大致与树木相近的物体,罩住复杂的大树,从而节约计算资源。在游戏中都这么干。
二、设置初始形态
制作一个如最上面图”倾倒小球的盆子“。
如何制作?
分两步:
第一步,用动力学把小球装满盆子中,然后,把装满小球的盆子设为”初始化“;第二步,制作盆子倾倒动画。
1、制作一个立方体,按C转多边形。
2、面选择,按I ,在按CTRL延Y向下拖动。
3、添加连接,细分,生成盆子。
4、建个小球,如下克隆。
5、为盆子添加碰撞体标签。设置如下,形状为静态网格。
6、小球的刚体标签,设置如下:
7、点击播放模拟,小球往盆子里落。
8、调整克隆数量,使之填满盆子。(调整克隆数,同时增大小球空间,否则,小球相互碰撞飞走。如果小球从盆子跳出,增加盆子和小球的摩擦力,减小反弹数值)
9、自己制作一些材质,渲染一下,不错吧。完成第一步。
10、选择小球的动力学标签,找到”设置初始化“,点击。小球的状体就固定住了。点击播放测试看看,小球不再从高处落下,而是在盆子里。
11、下面制作第二步,点击盆子,选择坐标,第一帧,按CTRL点击R.P=0,设置关键帧。
12、把播放帧放在50帧,把R.P=45度(自己定)。按CTRL设置关键帧。
13、点击播放测试。
后记:重点是第10步,是所谈的第二个问题的重点。通过这个例子,你的感悟不只是这些吧。
三、题外问题:
上述动画太平淡了,盆子缓慢地倾倒,有点象打太极,盆子内剩余不少球体。
增加一个题外问题, 简单谈谈如何处理动画的节奏。
1、按SHIFT+F3调出动画曲线:发现上述动画之所以慢,是因为旋转变化曲线是默认如下:缓入缓出。
2、调整如下:
3、点击播放测试,又倒出来一些。
4、再调整,盆子转动在最后加快。
5、在点击播放测试,这次倒出不少。
6、再调整曲线。
7、盆子先往反方向运动,然后向前猛烈转动。
8、几乎把球全部倾倒出来。
可见,动力学是动态的,其他参数变了,动画效果也就变了。