unity mesh collider convex和其他碰撞体的区别

Unity(166)
很多初学者都会问这么一个问题,那就是碰撞体和刚体到底有什么区别,以及如何应用
两句话概括碰撞体:
碰撞体才能被射线检测到,否则无法被检测
碰撞体是产生碰撞的前提
两句话概括刚体:
需要模拟重力的自由下落时,添加刚体
物体间发生碰撞时,主动体身上必须添加刚体
不管是哪一种Collider,都有 IsTrigger属性,注意,在发生碰撞的两个物体中,不管是一个物体勾选IsTrigger属性,还是两个物体同时勾选这个属性,效果都是一样,勾选上,碰撞时会互不影响的相互穿插过去,如不勾选,在碰撞时,碰撞体之间谁也不让谁,相互僵持
落实到实际开发中就分如下两种情况:
主动体(碰撞体+刚体) +被动体(碰撞体)+勾选IsTrigger属性+OnTriggerEnter
因为勾选IsTigger属性,所以发生碰撞时,碰撞体之间可以互不影响的相互穿插过去,但是碰撞那一刻,OnTiggerEnter函数会被触发,Collider参数代表的是没有挂脚本的那个对象
主动体(碰撞体+刚体)+被动体(碰撞体)+OnCollisionEnter
因为没有勾选IsTigger属性,所以发生碰撞时,碰撞体之间不能够相互穿插,碰撞的那一瞬间,OnCollisionEnter函数会被触发,Collision参数代表的是没有挂脚本的那个对象
下面就做一个简单的demo
在场景中建两个对象,一个正方体,一个球体 ,两个对象都是碰撞体
然后在正方体上添加一个刚体,并且把刚体的重力去掉
此时运行场景,在Scene窗口中,拖动正方体,主动碰撞球体,结果如下:
我只测试上面这一种情况,你也可以继续做如下测试:
测试一:将上面的主动体中的刚体去掉,添加到被动体上,看看结果
测试二:将上面脚本中OnCollisionEnter换成OnTriggerEnter,看看结果
测试三:将上面脚本中碰撞体属性IsTrigger勾选任意一个,看看结果
测试四: 测试二+测试三 结合起来,看看结果
FR:徐海涛(Hunk Xu)
QQ技术群:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:47610次
积分:3679
积分:3679
排名:第6794名
原创:305篇
评论:21条
(6)(62)(62)(58)(44)(58)(23)

我要回帖

更多关于 meshcollider生成原理 的文章

 

随机推荐