使用剛體移動(dòng)物體
RigidBody.MovePosition(Vector3):使用剛體移動(dòng)物體的位置
使用剛體移動(dòng)物體時(shí),是根據(jù)世界坐標(biāo)系移動(dòng)的
同時(shí)物體會(huì)觸發(fā)物理相關(guān)事件
參數(shù)Vector3不能直接使用,需要自身位置+方向
Transform.Position:屬性 當(dāng)前的位置
剛體常用方法
1.AddForce()
作用:給物體添加力
是按照世界坐標(biāo)系進(jìn)行運(yùn)動(dòng)的
Rigidbody.AddForce(Vector3,ForceMode);
Vector3:力的方向和大小
ForceMode:力的模式[enum類型]:以什么樣的方式添加力給剛體
Acceleration:加速度
Force:力,通常設(shè)置真實(shí)的物理
Impulse:沖擊力,通常用于瞬間發(fā)生的力
VelocityChange:速度的變化
2.AddRelativeForce()
作用:給剛體添加一個(gè)力
是按照自身坐標(biāo)系運(yùn)動(dòng)的
Rigidbody.AddRelativeForce(Vector3,ForceMode)
碰撞事件
目標(biāo)物體必須要有Collider組件
碰撞事件方法
1.OnCollisionEnter(Collision)
當(dāng)碰撞開(kāi)始時(shí)調(diào)用,只會(huì)調(diào)用該方法一次
Collision參數(shù)
碰撞,類 作用:用于傳遞信息
Collision.gameObject屬性,與當(dāng)前物體碰撞物體的引用
gameObject.name屬性
2.OnCollisionExit(Collision)
當(dāng)碰撞結(jié)束時(shí)調(diào)用,只會(huì)調(diào)用該方法一次
3.OnCollisionStay(Collision)
當(dāng)碰撞進(jìn)行中,持續(xù)調(diào)用該方法
觸發(fā)事件
1.觸發(fā)器
將碰撞體組件(Collider)中的“Is Trigger”選中,便成為了觸發(fā)器
移動(dòng)的剛體物件會(huì)穿過(guò)觸發(fā)器的物體
2.觸發(fā)事件監(jiān)測(cè)方法
1.OnTriggerEnter(Collider);
Collider參數(shù)
Collider.gameObject屬性,進(jìn)入觸發(fā)范圍內(nèi)的目標(biāo)物體的引用
gameObject.name屬性,當(dāng)前物體的名字
collider.sendmessage(string):向接觸的游戲?qū)ο蟀l(fā)送消息(也就是目標(biāo)物體要執(zhí)行的函數(shù))
2.OnTiggerExit(Collider);
3.OnTiggerStay(Collider);