目前先说2d的:
刚体(RigidBody):
物理系统中的物体都是刚体 具有质量和速度
Mass 质量
可以理解为在unity引擎当中封装了一套物理系统,这个物理系统就挂载在Rigidbody组件上
只要为节点添加了这个组件,那么他就受到这套物理系统管理。
两个刚体默认相遇时不会产生任何变化
若需要增加碰撞效果,还需要增加碰撞组件(Collider)
选择不同形状的碰撞体范围
碰撞的几种组件其实都继承自:Collider2D
编辑碰撞范围
反弹:
添加物理材质:meterial
摩檫力和弹力
碰撞检测
碰撞检测一般会用到kinematic刚体
碰撞事件有三个回调:
OnTrigggerEnter2D 碰撞体相遇时调用
OnTriggerStay2D 碰撞体相遇中不停的调用
OnTriggerExit2D 碰撞体相遇结束
这几个回调中的参数,表示的是对方的碰撞体组件
碰撞事件的处理还可以用到另一种碰撞事件
其相应的回调函数为:
OnColliderEnter
OnColliderStay
OnColliderExit
后续再了解
使用tag标签
碰撞时通常通过检测对方的tag来判断其身份
碰撞规避
有写碰撞我们觉得不必要存在,可以对其进行规避
这里就利用到了Layer层的概念
例如我这里增加了友军和敌军两种Layer
然后在属性设置界面中去规划这两个Layer的碰撞关系
需要有碰撞关系的就勾上,不需要的就去掉勾
Layer不仅仅是用来规避碰撞检测的,它还有其他更重要的用途。