Unity3D组件Rigidbody与Collider的概念与区别

小弟刚入学unity3D一个月不到,鉴于对于unity3D的学习更多的疑问都是在网络上解决的,看过很多前辈们写的博文收获很多,所以萌生了自己写博客的想法,一来是为了整理记录下自己的疑问和知识,二来是为了给更多需要帮助的人提供些便利,由于是第一次写,肯定有许多地方的错误和不足,所以希望到访的大神多多指点。

关于Rigibody和Collider

相信很多刚接触unity的人都不免遇到这样的问题,刚体和触发器究竟有什么关系和区别呢?


我们首先来明确下两个组件的概念和界面属性:

Rigibody:

官方文档中对于其解释相当详细:点击打开链接




通俗的理解就是,套上这个组件的物体会受到物理作用里的影响(包括重力,推力,作用力等一切物理力),如果没有这个组件物体也会静止不动,但必须有碰撞检测组件才能保证物体不被穿过。值得注意的一点是,Is Kinematic被勾选上表示物体不接受物理力的作用,只能通过transform的设置改变位置。这里要注意,在unity5.1中不勾选convex的mesh collider必须勾选Is Kinematic,否则会报出下面的错误:


Collider:

官方文档中对于其解释相当详细:点击打开链接


碰撞检测器,很好理解,就是检测一切范围内的触碰事件,注意也就是说rigidbody的物理碰撞需要collider来检测才能发生,也就是物体的运动。这里Is Trigger的被勾选表示物体只支持触发时间,不接受物理引擎作用,就是通常说的物体被穿过。

Is Trigger最好的范例就是自动门的触发,在门前放置一个勾选该项的透明物体,当你的人物走到这个物体时即可以穿过,并触发门事件。


图片参考:点击打开链接


猜你喜欢

转载自blog.csdn.net/TimeCover/article/details/53079156
今日推荐