刚体的研究
为了研究刚体与碰撞体这两个组件对游戏对象的影响,我进行了下面的实验:
,使用球体施加力的作用碰撞立方体。
方案一:
A:刚体 + 碰撞体
B:刚体 + 碰撞体
实验过程:给A一个普通力(或直接设置position属性或直接使用Translate位移),使A撞击B
实验结果:A与B均能收到碰撞事件,物理效果良好。
方案二:
A:刚体 + 碰撞体
B:碰撞体
实验过程:给A一个普通力(或直接设置position属性或直接使用Translate位移),使A撞击B
实验结果:A与B均能收到碰撞事件,A物理效果良好,但B就像个死东西一样,一动不动
方案三:
A:碰撞体
B:刚体 + 碰撞体
实验过程:给A直接设置position属性或直接使用Translate位移(当然,这里没法用力了,因为A连刚体都不是),是A撞击B
实验结果:A无事件收到,B只收到了Stay事件一次,A、B无物理效果,A直接穿越过去了。
方案四:
A:碰撞体
B:碰撞体
实验过程:给A直接设置position属性或直接使用Translate位移,使A撞击B
实验结果:A、B均无事件收到,A、B无物理效果,A直接穿越过去了。
小结:1.如果想让碰撞事件均收到且有物理效果,至少其中运动的一方有一个为刚体+碰撞体。
2.在游戏中,如果游戏对象(主对象、场景对象)都是刚体,这样其实是对物理引擎效果的大消耗,所以可以只让游戏运动主对象是刚体,而像墙壁、树木这种场景对象只是碰撞体就够了。