使用刚体移动物体
RigidBody.MovePosition(Vector3):使用刚体移动物体的位置
使用刚体移动物体时,是根据世界坐标系移动的
同时物体会触发物理相关事件
参数Vector3不能直接使用,需要自身位置+方向
Transform.Position:属性 当前的位置
刚体常用方法
1.AddForce()
作用:给物体添加力
是按照世界坐标系进行运动的
Rigidbody.AddForce(Vector3,ForceMode);
Vector3:力的方向和大小
ForceMode:力的模式[enum类型]:以什么样的方式添加力给刚体
Acceleration:加速度
Force:力,通常设置真实的物理
Impulse:冲击力,通常用于瞬间发生的力
VelocityChange:速度的变化
2.AddRelativeForce()
作用:给刚体添加一个力
是按照自身坐标系运动的
Rigidbody.AddRelativeForce(Vector3,ForceMode)
碰撞事件
目标物体必须要有Collider组件
碰撞事件方法
1.OnCollisionEnter(Collision)
当碰撞开始时调用,只会调用该方法一次
Collision参数
碰撞,类 作用:用于传递信息
Collision.gameObject属性,与当前物体碰撞物体的引用
gameObject.name属性
2.OnCollisionExit(Collision)
当碰撞结束时调用,只会调用该方法一次
3.OnCollisionStay(Collision)
当碰撞进行中,持续调用该方法
触发事件
1.触发器
将碰撞体组件(Collider)中的“Is Trigger”选中,便成为了触发器
移动的刚体物件会穿过触发器的物体
2.触发事件监测方法
1.OnTriggerEnter(Collider);
Collider参数
Collider.gameObject属性,进入触发范围内的目标物体的引用
gameObject.name属性,当前物体的名字
collider.sendmessage(string):向接触的游戏对象发送消息(也就是目标物体要执行的函数)
2.OnTiggerExit(Collider);
3.OnTiggerStay(Collider);