Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)

大家好我是风之子,又一篇博文即将诞生,还是感谢大家对我的支持吧,不管是点赞还是评论,起码有人与我所呼应,我觉得这么做还是有意义的。

我十分欢迎大家加我QQ,探讨有关unity或者建模有关的事情,但我学业比较繁忙,所以如果没有及时回复还是请谅解一下。

好那么开始今天的内容,先跟大家说个对不起,上一篇中打错了一个组件的名字,应该是box collider。在此更正。

在unity的世界里充斥着各种collider,盒碰撞器(Box Collider)、椭圆碰撞器(Sphere Collider)、胶囊碰撞器(Capsule Collider)、车轮碰撞器(Wheel Collider)专用于车辆、网格碰撞器(Mesh Collider)、地形碰撞器(Terrain Collider),许多都是见名知意。

首先我们在场景中新建一个cube
Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
我们会发现cube自带一个box collider组件,这个组件是物体的碰撞器,没有碰撞器的物体就如同贴图一样,会被穿过,没有物理碰撞效果,所以我们的unity中预制模型都是自带collider碰撞器的。

不同碰撞器提供给不同需求使用,碰撞器可以模拟物理效果,限制玩家活动区域,检测碰撞等等作用

Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
一张特写说明,因为每一个碰撞器参数都不太一样,由我来一一介绍,盒子碰撞体,可以模仿门,墙等十分规则的立方体。

  • 点选Edit Collider即可进入编辑模式
  • Is Trigger触发器
  • Material材质,决定了碰撞体的材质,预制里有我们常用的冰面和弹力垫材质等
  • Center中心,调节碰撞体位置
  • Size调节碰撞体大小

胶囊碰撞体
Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
胶囊碰撞体,一般给予人物胶囊碰撞体,这样进出时更加平滑,当然,这也是对性能较好的优化。
唯一不同的就是Direction代表纵轴,默认是Y,反正我没改过

椭圆碰撞体
Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
这一般给球体用,Radius是半径

轮胎碰撞体
Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
这是一个很复杂的碰撞体了,通过参数的多少也能够看出,用来模拟车轮的感觉,当然也很吃性能
Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
我截了一张图片,只为少打几个字,作者不同意的话我立刻撤掉,并说句对不起了。
其实车轮碰撞体完全可以单抽出一节来讲的

网格碰撞体
Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解2(collider&tirgger)
有一个性能大牛,直接采用网格作为碰撞体,低模还是可以的,高模的话还是乖乖做低模网格吧。

碰撞检测
这个必须配刚体才可以,反正我是发现必须有,并且选上与外界触发(is kinematic)然后在检测器上选上is tirgger。

这时候要用到几个函数

private void OnTirggerEnter()    {
}                                                                       //碰撞开始
private void OnTirggerStay()    {
}                                                                            //持续碰撞
private void OnTirggerExit()    {
}                                                                       //碰撞结束

好那么这张就到这里,我好累,晚安各位^