刚体(RigidBody)

使用刚体移动物体

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);

你可能感兴趣的:(刚体(RigidBody))