Unity的物理引擎是如何实现碰撞的呢?

时间:2023-01-22 14:47:29

物理引擎不允许两个碰撞器重叠,当两个或多个物体碰撞时,Unity会根

据他们的旋转速度计算碰撞效果。计算主要根据物体的碰撞器是静止的还
是动态的。物体是不移动的,例如,墙,地面,院子里的喷池等。动态物

体是移动的,例如玩家控制的球,汽车。当计算碰撞时,静态物体不会被

影响,而动态物体会被影响。例如动态的球碰到“静态”的方块时球被弹

开,而方块不受影响。物理引擎有“碰撞器”重叠发生时,物理引擎孩子

计算碰撞器体积,并追踪碰撞器重叠,但不会在碰撞重叠的物体上体现出

来,因为这不叫碰撞。我们把碰撞器放到触发器中,或叫触发器碰撞器。

而当我们这样做时,我们可以检测到触发器的碰撞事件,痛

过“OnTriggerEvent”信息。把碰撞器设为触发器时,可以做出很多智能

效果,比如我们可以在冒险游戏中把触发器放在房间门口,当玩家触发后

,小地图会显示,并告诉玩具,你发现了一个新场景,或者当你走近角落

是,天花板的蜘蛛会掉下来,因为玩家踩到了触发器。(在Collider中勾

选“Is Trigger”)

注:本文摘抄自视频"Unity官方实例教程 Roll-a-ball",视频资源来自游戏蛮牛网。