剛體組件為游戲?qū)ο筇峁┝宋锢韺傩园寤螅層螒驅(qū)ο笤趫?chǎng)景中可以受到物理引擎的作用索烹。當(dāng)游戲?qū)ο筇砑恿薘igidbody組件后,游戲?qū)ο蟊憧梢越邮芡饬εc扭矩力。任何游戲?qū)ο笾挥性谔砑覴igidbody組件后才會(huì)受到重力影響没佑。當(dāng)需要通過(guò)腳本為游戲?qū)ο筇砑幼饔昧σ约巴ㄟ^(guò)NVIDIA物理引擎與其它游戲?qū)ο蟀l(fā)生互動(dòng)的運(yùn)算都必須有Rigidbody組件。
下面介紹兩種給一個(gè)游戲?qū)ο筇砑右粋€(gè)Rigidbody組件的方式:
圖1.1温赔,由Component菜單選項(xiàng)添加
圖1.2蛤奢,直接在游戲?qū)ο蟮腎nspector視圖中添加
圖1.3就是Rigidbody組件的屬性面板圖:
Mass-質(zhì)量
該項(xiàng)用于設(shè)置游戲?qū)ο蟮馁|(zhì)量(同一場(chǎng)景中,建議游戲?qū)ο笾g的質(zhì)量差值不要大于100倍)陶贼。
Drag-阻力
當(dāng)游戲?qū)ο笫芰\(yùn)動(dòng)時(shí)受到的空氣阻力(注意啤贩,不是物體間的摩擦力),0表示沒(méi)有空氣阻力拜秧,阻力極大時(shí)游戲?qū)ο髸?huì)立即停止運(yùn)動(dòng)痹屹。
Angular Drag-角阻力
當(dāng)游戲?qū)ο笫芘ぞ亓πD(zhuǎn)時(shí)受到的控制阻力。0表示沒(méi)有空氣阻力枉氮,阻力極大時(shí)游戲?qū)ο髸?huì)立即停止旋轉(zhuǎn)志衍。
Use Gravity-使用重力
開(kāi)啟此項(xiàng),游戲?qū)ο髸?huì)受到重力的影響聊替。
Is Kinematic-是否開(kāi)啟動(dòng)力學(xué)
開(kāi)啟此項(xiàng)楼肪,游戲?qū)ο髮⒉辉偈芪锢硪娴挠绊憦亩ㄟ^(guò)Transform(幾何變換組件)屬性來(lái)對(duì)其操作。該方法適用于模擬平臺(tái)的移動(dòng)或者帶有鉸鏈關(guān)節(jié)剛體的動(dòng)畫(huà)惹悄。
Interpolate-插值
None:沒(méi)有插值春叫。
Interpolate:內(nèi)插值,基于前一幀的Transform平滑此次的Transform泣港。
Extrapolate:外插值暂殖,基于下一幀的Transform平滑此次的Transform。
Collision Detection-碰撞檢測(cè)
該屬性用于控制避免高速運(yùn)動(dòng)的游戲?qū)ο蟠┻^(guò)其它對(duì)象而未發(fā)生碰撞当纱,有三個(gè)選項(xiàng)可供選擇呛每。
- Discrete:離散碰撞檢測(cè)。
該模式與場(chǎng)景中其它的所有碰撞體進(jìn)行碰撞檢測(cè)坡氯。該值為默認(rèn)值莉给。但是在離散式的碰撞檢測(cè)中毙石,幀與幀之間是獨(dú)立的,因此會(huì)遇到問(wèn)題颓遏,即碰撞體上一個(gè)幀沒(méi)撞上墻徐矩,而下一個(gè)幀穿過(guò)了墻,該物體本身在任意一個(gè)幀獨(dú)立來(lái)看都是不知道自己會(huì)撞墻的(物理學(xué)中管這個(gè)叫量子隧穿效應(yīng))叁幢。
對(duì)于擁有此屬性的碰撞體:
1滤灯、該碰撞體在遇到本場(chǎng)景其他碰撞體時(shí)使用離散式碰撞檢測(cè)(Discrete)。
2曼玩、其他碰撞體在遇到它時(shí)會(huì)使用離散式碰撞檢測(cè)(Discrete)鳞骤。
3、用于正常碰撞黍判。(這是默認(rèn)值) - Continuous:連續(xù)碰撞檢測(cè)豫尽。
該模式用于檢測(cè)與動(dòng)態(tài)碰撞體(帶有Rigidbody)碰撞,使用連續(xù)碰撞檢測(cè)模式來(lái)檢測(cè)與網(wǎng)格碰撞體(后續(xù)章節(jié)會(huì)講)的(不帶Rigidbody)碰撞顷帖。其它的剛體會(huì)采用離散碰撞模式美旧。此模式適用于那些需要采用連續(xù)動(dòng)態(tài)碰撞檢測(cè)的對(duì)象相碰撞的對(duì)象。這對(duì)物理性能會(huì)有很大的影響贬墩,如果不需要對(duì)快速運(yùn)動(dòng)的對(duì)象進(jìn)行碰撞檢測(cè)榴嗅,不建議使用此模式,建議使用離散碰撞檢測(cè)模式陶舞。
對(duì)于擁有此屬性的碰撞體:
1嗽测、該碰撞體在遇到其他動(dòng)態(tài)碰撞體(即包含rigidbody)使用離散式碰撞檢測(cè)(Discrete),在遇到靜態(tài)MechColliders(即不含rigidbody)時(shí)使用連續(xù)式碰撞檢測(cè)(Continuous)肿孵。
2唠粥、設(shè)為動(dòng)態(tài)連續(xù)(Continuous Dynamic)的碰撞體在遇到該物體時(shí)使用連續(xù)式碰撞檢測(cè)(Continuous), 其他碰撞體在遇到該物體時(shí)使用離散式碰撞檢測(cè)(Discrete)停做。
3厅贪、用于設(shè)定被動(dòng)態(tài)連續(xù)(Continuous Dynamic)的物體所碰撞的物體。(會(huì)影響物理引擎的性能表現(xiàn)) - Continuous Dynamic:連續(xù)動(dòng)態(tài)碰撞檢測(cè)雅宾。
該模式用于檢測(cè)與采用連續(xù)碰撞模式或連續(xù)動(dòng)態(tài)碰撞模式對(duì)象的碰撞,也可以用于檢測(cè)沒(méi)有Rigidbody的靜態(tài)網(wǎng)格碰撞體葵硕。對(duì)于與之碰撞的其它對(duì)象可采用離散碰撞檢測(cè)眉抬。該模式也可以用于檢測(cè)快速運(yùn)動(dòng)的游戲?qū)ο蟆?br> 對(duì)于擁有此屬性的碰撞體:
1、該碰撞體在遇到其他設(shè)為連續(xù)(Continuous)或動(dòng)態(tài)連續(xù)(Continuous Dynamic)的物體時(shí)使用連續(xù)式碰撞檢測(cè)(Continuous)懈凹。在遇到靜態(tài)MeshColliders(即不含rigidbody)時(shí)也使用連續(xù)式的碰撞檢測(cè)蜀变。遇到其他碰撞體則使用離散式碰撞檢測(cè)(Discrete)。
2介评、用于快速運(yùn)動(dòng)的物體库北。
也就是說(shuō):如果你有一個(gè)快速運(yùn)動(dòng)的小球爬舰,它會(huì)穿過(guò)一個(gè)靜態(tài)的墻,那么將球設(shè)為Continuous即可解決問(wèn)題寒瓦。但如果你有多個(gè)這樣的小球情屹,它們之間則依舊會(huì)遇到互相穿過(guò)對(duì)方的問(wèn)題,那么將球都設(shè)為Continuous Dynamic更好杂腰。
Constraints-約束
該項(xiàng)用于控制對(duì)于剛體運(yùn)動(dòng)的約束垃你。
Freeze Position:凍結(jié)位置。剛體對(duì)象在世界坐標(biāo)系中的x,y,z軸方向上(選中狀態(tài))的移動(dòng)將無(wú)效喂很。
Freeze Rotation:凍結(jié)旋轉(zhuǎn)惜颇。剛體對(duì)象在世界坐標(biāo)系中的x,y,z軸方向上(選中狀態(tài))的旋轉(zhuǎn)將無(wú)效。