Unity实现碰撞检测,碰撞器的使用

2020-05-18 10:28发布

今天我要向大家介绍的Unity中的碰撞器和触发器,碰撞器和触发器在游戏当中会经常使用并且在绝大部分游戏中一定会使用。

      例如上图中玩王者荣耀时,使用英雄推搭时,到达塔攻击范围时,塔会自动的攻击英雄,而英雄到达塔下,可以使用英雄去攻击塔,上述的一系列情况我们在Unity中就可以使用触发器和碰撞器去实现上述的功能。

      下图中是一款经典的跑酷类型游戏,神庙逃亡是Unity开发的一款游戏,在玩耍过程中,当人物碰到下图中黄色类似金币的物体时,会自动吸收物体,相同类似的游戏场景还有很多很多,然而这些功能在Unity中可以使用碰撞器或者触发器实现。

那么到底什么是碰撞器或者触发器呢,它们又有什么特点实现需要什么条件?接下来我们来一一介绍:

在Unity中会经常发现很多游戏物体身上都有着下图所展示的组件,这个物体就是我们上述所说的碰撞器。

 当我们在场景中创建基本游戏物体后,引擎会自动的为该物体加上Collider(碰撞器)组件,其主要功能是进行碰撞检测。对于规则的游戏物体可以使用引擎提供的碰撞器,对于一些大的场景,其碰撞网格可以由建模师提供。

     使用碰撞器有一个特点就是,物体一般情况是不会穿透,就类似于我们行走在路上不小心和路人相撞,或者玩一些刺激的赛车游戏,两辆赛车相撞,这就是我们的碰撞检测在发生作用。而想要发生碰撞,必须得具备三种条件!1:两个相碰撞的物体身上必须得有碰撞器,也就是Collider,2:其中一个物体身上必须具备刚体,3:两个物体需要发生相对运动。

只要满足了上述的条件,我们在灵活的使用代码就可以制作出我们想要的效果了。

    上述中我们介绍了碰撞器到底是什么,发生碰撞的条件,以及一些使用的场景,接下来我们一起来看看触发器到底是什么!触发器在生活有很多例子,假设进入到一些门口时,当我们踏入到一定范围,门会自动打开,这其实就是触发器在现实生活中的例子,游戏中依然也是,例如下图中,人物走回家的时候会自动的恢复血量,这其实就是在使用触发器

触发器和碰撞器一样,如下图所示:

      唯一的区别就是是否勾选了Is Trigger,勾选了之后就是一个触发器,触发器是可以穿透,而碰撞器不可以。

以上就是碰撞器和触发器的简单介绍啦,相信我们可以明白它俩的使用场景吧,只要注意一些文中说明的细节,现在就开始行动起来一起学unity吧。欢迎加入unity的交流群(7410900280),领取免费的网课和相关资源,这里有很多跟你一样想学unity的小伙伴。