Rigidbody 中文名称是刚体。所谓的刚体,简单点就是使物体具有物理属性或者性质。好比如,一个Cube(方块)加上Rigidbody之后具有重力效果,质量,阻力等物理属性。
下面是Rigidbody组件的面板:
Mass :质量
Drag:阻力
Use Gravity:是否使用重力,勾上即是使用重力
Is Kinematic 是否是运动学。专业的解释是:激活时,物体不再受物理引擎驱动,而只能通过变换来操作。一般此选项用于,需要向其他刚体产生作用,自己本身也需要通过变换进行运动的情况。
Collision是用来刚体的碰撞,而Collider是用来碰撞器的碰撞。其中,Collider含于Collision内。
Collision中的语法:
OnCollisionEnter(){} 事件在这个collider/rigidbody 已经开始接触到另
⼀一个rigidbody/collider时被调⽤用
OnCollisionExit(){}事件在这个collider/rigidbody停⽌止接触另⼀一个
rigidbody/collider的时候被调⽤用
OnCollisionStay(){}事件在collider/rigidbody接触另⼀一个rigidbody/
collider时,每⼀一帧调⽤用⼀一次
在两个物体组件中加入 Collider,其中在两个物体内加上刚体,这时拿一个物体去撞另一个物体会发生碰撞效果,如果你写有OnCollisionEnter(){}方法的脚本,你会发现控制台上有信息显示出来。
Collider中的语法:
OnTriggerEnter(){}碰撞体进⼊入其它Trigger触发器的时候,OnTriggerEnter事件被调⽤用
OnTriggerExit(){}碰撞体退出Trigger触发器的时候,OnTriggerExit事件被调⽤用
OnTriggerStay(){}事件所在的碰撞体保持处于某个触发器之中的时候,
每⼀一帧OnTriggerStay事件都会被调⽤用⼀一次
勾上Collider的Is Trigger的选项,同时给其中一个物体或者是两个物体加上刚体,这时你要是不将刚体的重力选项去掉, 你会发现物体会掉下。如果你在物体的下方放个Plane的会会穿过平面掉下去的。所以在使用Is Tirgger的时候将重力选项去掉后。移动其中的一个物体就可以看见这个物体从另一个物体中穿过去。
总之,Collider和Collision只能触发一个。
博主也是刚学Unity的,对Unity有很多不大了解的地方,有什么不对的地方,希望我们能一起探讨,交流。