關(guān)節(jié)組件-Joint

Unity中可以使用物理關(guān)節(jié)組件使物體連接起來(lái)秧耗,如圖1.1是給游戲?qū)ο筇砑雨P(guān)節(jié)組件的步驟:

圖1.1

也可以在物體的Inspector視圖中通過(guò)Add來(lái)添加备籽。
下面就介紹一下Unity中的各種關(guān)節(jié)組件。

1分井、Hinge Joint-鉸鏈關(guān)節(jié)

鉸鏈關(guān)節(jié)由兩個(gè)游戲?qū)ο蟮膭傮w組成车猬,該關(guān)節(jié)會(huì)對(duì)剛體進(jìn)行約束霉猛,使它們就好像被連接在一個(gè)鉸鏈上那樣運(yùn)動(dòng)。它非常適用于對(duì)門的模擬诈唬,也適用在模型鏈以及鐘擺等物體上韩脏。鉸鏈關(guān)節(jié)組件的屬性面板如圖1.2:

圖1.2
  • Connected Body:連接的剛體。該項(xiàng)用于為關(guān)節(jié)指定要連接的剛體铸磅,直接把需要連接的物體(必須有剛體)從Hierarchy視圖中拖過(guò)來(lái)就行赡矢,若不指定則默認(rèn)該關(guān)節(jié)與世界相連。
  • Anchor:錨點(diǎn)阅仔。剛體可圍繞錨點(diǎn)進(jìn)行擺動(dòng)吹散,這里可以設(shè)置錨點(diǎn)的位置,該值應(yīng)用于局部坐標(biāo)系中(也就是物體自己的坐標(biāo)系)八酒。
  • Axis:軸空民。定義了剛體擺動(dòng)的方向,該值同樣應(yīng)用于局部坐標(biāo)系羞迷。
  • Auto Configure Connected Anchor:自動(dòng)設(shè)置連接錨點(diǎn)界轩。選中該項(xiàng),連接錨點(diǎn)會(huì)自動(dòng)設(shè)置衔瓮,該項(xiàng)默認(rèn)是開(kāi)啟狀態(tài)浊猾。
  • Connected Anchor:連接錨點(diǎn)。當(dāng)Auto Configure Connected Anchor選項(xiàng)開(kāi)啟時(shí)热鞍,該項(xiàng)會(huì)自動(dòng)設(shè)置(無(wú)法手動(dòng)更改)葫慎;當(dāng)Auto Configure Connected Anchor未開(kāi)啟時(shí),可以手動(dòng)設(shè)置連接錨點(diǎn)薇宠。如圖1.3
圖1.3

其中有兩個(gè)錨點(diǎn)偷办,Anchor設(shè)置了圖1.3中位于上方的那個(gè)錨點(diǎn)的位置,Connected Anchor則設(shè)置了位于下方的那個(gè)錨點(diǎn)的位置澄港;而Axis則決定了兩個(gè)錨點(diǎn)的指向方向椒涯,也就是定義了剛體擺動(dòng)的方向。

  • Use Spring:使用彈簧回梧。選中該項(xiàng)逐工,則彈簧會(huì)使剛體與其相連的物體形成一個(gè)特定的角度。
  • Spring:彈簧漂辐。當(dāng)Use Spring開(kāi)啟時(shí)此屬性才有效。
    Spring:彈簧力棕硫。該項(xiàng)用于設(shè)置推動(dòng)對(duì)象使其移動(dòng)到相應(yīng)位置的作用力髓涯。
    Damper:阻尼。用于設(shè)置對(duì)象的阻尼值哈扮,數(shù)值越大則對(duì)象移動(dòng)得越慢纬纪。
    Target Position:目標(biāo)角度蚓再。用于設(shè)置彈簧的目標(biāo)角度,彈簧會(huì)拉向此角度包各,以度為測(cè)量單位摘仅。就是以連接錨點(diǎn)-Connected Anchor為軸,兩個(gè)物體分別和連接錨點(diǎn)的連線形成的角度需要達(dá)到該值问畅。
  • Use Motor:使用發(fā)動(dòng)機(jī)娃属。選中該項(xiàng)后發(fā)動(dòng)機(jī)會(huì)使對(duì)象發(fā)生旋轉(zhuǎn)。
  • Motor:發(fā)動(dòng)機(jī)护姆。當(dāng)Use Motor開(kāi)啟時(shí)有效矾端。
    Target Velocity:目標(biāo)速度。用于設(shè)置對(duì)象預(yù)期達(dá)到的速度值卵皂。
    Force:作用力秩铆。用于設(shè)置為了達(dá)到目標(biāo)速度而施加在對(duì)象上的作用力大小。
    Free Spin:自由轉(zhuǎn)動(dòng)灯变。選中該項(xiàng)殴玛,則發(fā)動(dòng)機(jī)永遠(yuǎn)不會(huì)停止,對(duì)象旋轉(zhuǎn)只會(huì)越來(lái)越快添祸。
  • Use Limits:使用限制滚粟。選中該項(xiàng),則鉸鏈的角度將被限定在最大值和最小值之間膝捞。
  • Limits:限制坦刀。當(dāng)Use Limits開(kāi)啟時(shí)有效。
    Min:最小值蔬咬。用于設(shè)置鉸鏈能達(dá)到的最小角度鲤遥。
    Max:最大值。用于設(shè)置鉸鏈能達(dá)到的最大角度林艘。
    Min Bounce:最小反彈盖奈。用于設(shè)置當(dāng)對(duì)象觸到最小限制時(shí)的反彈值。
    Max Bounce:最大反彈狐援。用于設(shè)置當(dāng)對(duì)象觸到最大限制時(shí)的反彈值钢坦。
    Contact Distance:接觸距離,用于控制關(guān)節(jié)的抖動(dòng)啥酱。
  • Break Force:斷開(kāi)力爹凹。用于設(shè)置鉸鏈關(guān)節(jié)斷開(kāi)的作用力大小,Infinity代表無(wú)限大镶殷。
  • Break Torque:斷開(kāi)扭矩禾酱。用于設(shè)置斷開(kāi)鉸鏈關(guān)節(jié)所需要的扭矩大小。
  • Enable Collision:激活碰撞。若選中此項(xiàng)颤陶,則關(guān)節(jié)之間也會(huì)檢測(cè)碰撞颗管。
  • Enable Preprocessing:?jiǎn)⒂妙A(yù)處理實(shí)現(xiàn)關(guān)節(jié)的穩(wěn)定。默認(rèn)開(kāi)啟滓走。
鉸鏈關(guān)節(jié)的一些理解

單獨(dú)的鉸鏈關(guān)節(jié)需要應(yīng)用到一個(gè)游戲?qū)ο笊峡呀梢圆挥媒o關(guān)節(jié)的Connected Body添加對(duì)象(此時(shí)相當(dāng)于和世界相連),當(dāng)希望關(guān)節(jié)的Transform屬性依賴于連接對(duì)象的Transform屬性時(shí)可以為關(guān)節(jié)的Connected Body屬性添加對(duì)象搅方。多個(gè)鉸鏈關(guān)節(jié)也可以串聯(lián)起來(lái)形成一條鏈條比吭,可以給鏈條的每一個(gè)環(huán)添加關(guān)節(jié),并向Connected Body那樣依次添加下一環(huán)上腰懂。

2梗逮、Fixed Joint-固定關(guān)節(jié)

固定關(guān)節(jié)組件用于約束一個(gè)游戲?qū)ο髮?duì)另一個(gè)游戲?qū)ο蟮倪\(yùn)動(dòng)。類似于對(duì)象的父子關(guān)系绣溜,但是它是通過(guò)物理系統(tǒng)來(lái)實(shí)現(xiàn)而不是像父子關(guān)系那樣是通過(guò)Transform屬性來(lái)進(jìn)行約束慷彤。固定關(guān)節(jié)適用于以下的情形:當(dāng)希望將對(duì)象較容易與另一個(gè)對(duì)象分開(kāi)時(shí),或者連接兩個(gè)沒(méi)有父子關(guān)系的物體使其一起運(yùn)動(dòng)時(shí)怖喻,使用固定關(guān)節(jié)的對(duì)象自身需要有剛體組件底哗。固定關(guān)節(jié)組件的屬性面板如圖1.4

圖1.4

它的屬性在鉸鏈關(guān)節(jié)中都有講到(意義都是一樣的),這里不再重復(fù)锚沸。
當(dāng)需要某些物體暫時(shí)或永久性的粘在一起時(shí)跋选,就非常適用固定關(guān)節(jié)組件。該組件不需要通過(guò)腳本來(lái)更改層級(jí)結(jié)構(gòu)就可以實(shí)現(xiàn)想要的效果哗蜈,只需要為那些要使用固定關(guān)節(jié)的物體添加剛體組件即可前标。
可以通過(guò)Break Force和Break Torque屬性來(lái)設(shè)置關(guān)節(jié)的強(qiáng)度極限,如果這些參數(shù)不是無(wú)窮大而是一個(gè)數(shù)值的話距潘,當(dāng)施加到對(duì)象身上的力或轉(zhuǎn)矩大于此極限值時(shí)炼列,固定關(guān)節(jié)將被銷毀,其對(duì)象的約束也就隨即失效音比。

3俭尖、Spring Joint-彈簧關(guān)節(jié)

彈簧關(guān)節(jié)組件可以將兩個(gè)剛體連接在一起,使其像連接著彈簧那樣運(yùn)動(dòng)洞翩,其屬性面板如圖1.5:

圖1.5

和鉸鏈關(guān)節(jié)組件中重復(fù)的屬性就不再重復(fù)稽犁。

  • Min Distance:最小距離。用于設(shè)置彈簧啟用的最小距離值骚亿。如果兩個(gè)物體之間的當(dāng)前距離與初始距離的差大于該值已亥,則不會(huì)開(kāi)啟彈簧。
  • Max Distance:最大距離来屠。用于設(shè)置彈簧啟用的最大距離值陷猫。如果兩個(gè)物體之間的當(dāng)前距離與初始距離的差小于該值秫舌,則不會(huì)開(kāi)啟彈簧。
  • Tolerance:容忍绣檬。用于設(shè)置彈簧能容忍的最大力,一旦超過(guò)這個(gè)值彈簧就會(huì)被破壞嫂粟,不再具有彈性娇未。

彈簧關(guān)節(jié)允許一個(gè)帶剛體的對(duì)象被拉向一個(gè)指定的目標(biāo)位置,這個(gè)目標(biāo)可以是另一個(gè)剛體對(duì)象或者世界星虹。當(dāng)游戲?qū)ο箅x目標(biāo)位置越來(lái)越遠(yuǎn)時(shí)零抬,彈簧關(guān)節(jié)會(huì)對(duì)其施加一個(gè)作用力使其回到初起時(shí)的位置,和現(xiàn)實(shí)中的彈簧一個(gè)道理宽涌。
當(dāng)彈簧關(guān)節(jié)被創(chuàng)建后平夜,其目標(biāo)位置是由從錨點(diǎn)到連接的剛體對(duì)象的相對(duì)位置所決定的,這使得在編輯器中將彈簧關(guān)節(jié)設(shè)置給角色或其他游戲?qū)ο蠓浅H菀仔读粒侨绻ㄟ^(guò)腳本來(lái)生成一個(gè)實(shí)時(shí)的推拉彈簧的操作就相對(duì)比較麻煩忽妒。如果想通過(guò)彈簧關(guān)節(jié)來(lái)控制游戲?qū)ο蟮奈恢茫ǔJ墙⒁粋€(gè)有剛體組件的空物體兼贸,然后將該空物體設(shè)置到Connected Rigidbody屬性上段直,這樣就可以通過(guò)腳本來(lái)控制空對(duì)象的移動(dòng)烘挫,進(jìn)而彈簧也會(huì)隨著空對(duì)象的移動(dòng)而移動(dòng)市怎。

4、Character Joint-角色關(guān)節(jié)

角色關(guān)節(jié)主要用于表現(xiàn)布娃娃效果词渤,它是擴(kuò)展的球關(guān)節(jié)螺垢,可以用于限制關(guān)節(jié)在不同旋轉(zhuǎn)軸下的旋轉(zhuǎn)角度喧务。角色關(guān)節(jié)組件的屬性面板如圖1.6和1.7:

圖1.6
圖1.7

介紹一下上面沒(méi)有講到的屬性。

  • Swing Axis:擺動(dòng)軸枉圃。用于設(shè)置角色關(guān)節(jié)的擺動(dòng)軸功茴,以綠色的圓錐gizmo表示。其中橙色的圓錐gizmo表示了扭動(dòng)軸-Axis讯蒲,如圖1.8:
圖1.8
  • Twist Limit Spring:彈簧的扭曲限制痊土。
    Spring:用于設(shè)置角色關(guān)節(jié)扭曲的彈簧強(qiáng)度。
    Damper:用于設(shè)置角色關(guān)節(jié)扭曲的阻尼值墨林。
  • Low Twist Limit:扭曲下限赁酝。用于設(shè)置角色關(guān)節(jié)扭曲的下限。
    Limit:用于設(shè)置角色關(guān)節(jié)扭曲的下限值旭等。
    Bounciness:用于設(shè)置角色關(guān)節(jié)扭曲下限的反彈值酌呆。
    Contact Distance:用于避免抖動(dòng)而限制的接觸距離。
  • High Twist Limit:扭曲上限搔耕。用于設(shè)置角色關(guān)節(jié)扭曲的上限隙袁,對(duì)比扭曲下限痰娱,不再重復(fù)。
  • Swing Limit Spring:彈簧的擺動(dòng)限制
    Spring:彈簧強(qiáng)度菩收。用于限制彈簧的強(qiáng)度限制梨睁。
    Damper:阻尼。用于設(shè)置彈簧的限制阻尼娜饵。
  • Swing 1 Limit:擺動(dòng)設(shè)置1坡贺。參考上述Low Twist Limit。
  • Swing 2 Limit:擺動(dòng)設(shè)置2箱舞。參考上述Low Twist Limit遍坟。
  • Enable Projection:?jiǎn)⒂猛队啊S糜诩せ钔队啊?/li>
  • Projection Distance:投影距離晴股。用于設(shè)置當(dāng)對(duì)象與其連接剛體的距離超過(guò)投影距離時(shí)愿伴,該對(duì)象會(huì)回到適當(dāng)?shù)奈恢谩?/li>
  • Projection Angle:投影角度。用于設(shè)置當(dāng)對(duì)象與其連接剛體的角度超過(guò)投影角度時(shí)电湘,該對(duì)象會(huì)回到適當(dāng)?shù)奈恢谩?/li>

角色關(guān)節(jié)組件提供了很多可能性用于約束通用關(guān)節(jié)的運(yùn)動(dòng)隔节。
扭矩(以橙色的gizmo表示)為關(guān)節(jié)的運(yùn)動(dòng)提供了限制,扭矩允許用戶以角度的形式設(shè)置關(guān)節(jié)旋轉(zhuǎn)的下限和上限(角度是相對(duì)初始位置來(lái)衡量的)胡桨。如-20度的扭矩下限和70度的扭矩上限限制了繞扭動(dòng)軸(橙色gizmo)的旋轉(zhuǎn)角度在-20度到70度之間官帘。
Swing 1 Limit限制了繞擺動(dòng)軸的旋轉(zhuǎn)(綠色gizmo)。對(duì)擺動(dòng)軸旋轉(zhuǎn)角度的限制是對(duì)稱的昧谊,如設(shè)置Swing 1 Limit的限制角度為30度刽虹,則表示Swing 1 Limit的旋轉(zhuǎn)角度被限制在-30度和30度之間。
Swing 2 Limit沒(méi)有g(shù)izmo輔以表示呢诬,此軸垂直于扭動(dòng)軸和Swing 1 Limit涌哲。與Swing 1 Limit相同,對(duì)它的限制也是對(duì)稱的尚镰。

5阀圾、Configurable Joint-可配置關(guān)節(jié)

可配置關(guān)節(jié)組件支持用戶自定義關(guān)節(jié),它開(kāi)放了PhyX引擎中所有與關(guān)節(jié)相關(guān)的屬性狗唉,因此可以像其他類型的關(guān)節(jié)那樣來(lái)創(chuàng)造各種行為初烘。可配置關(guān)節(jié)中有兩類主要的功能:移動(dòng)/旋轉(zhuǎn)限制和移動(dòng)/旋轉(zhuǎn)加速度分俯∩隹穑可配置關(guān)節(jié)組件的屬性面板如圖1.9和2.0:

圖1.9
圖2.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市缸剪,隨后出現(xiàn)的幾起案子吗铐,更是在濱河造成了極大的恐慌,老刑警劉巖杏节,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唬渗,死亡現(xiàn)場(chǎng)離奇詭異典阵,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)镊逝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門壮啊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蹋半,你說(shuō)我怎么就攤上這事他巨。” “怎么了减江?”我有些...
    開(kāi)封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捻爷。 經(jīng)常有香客問(wèn)我辈灼,道長(zhǎng),這世上最難降的妖魔是什么也榄? 我笑而不...
    開(kāi)封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任巡莹,我火速辦了婚禮,結(jié)果婚禮上甜紫,老公的妹妹穿的比我還像新娘降宅。我一直安慰自己,他們只是感情好囚霸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布腰根。 她就那樣靜靜地躺著,像睡著了一般拓型。 火紅的嫁衣襯著肌膚如雪额嘿。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天劣挫,我揣著相機(jī)與錄音册养,去河邊找鬼。 笑死压固,一個(gè)胖子當(dāng)著我的面吹牛球拦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播帐我,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼坎炼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了焚刚?” 一聲冷哼從身側(cè)響起点弯,我...
    開(kāi)封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矿咕,沒(méi)想到半個(gè)月后抢肛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體狼钮,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年捡絮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熬芜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡福稳,死狀恐怖涎拉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情的圆,我是刑警寧澤鼓拧,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站越妈,受9級(jí)特大地震影響季俩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梅掠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一酌住、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阎抒,春花似錦酪我、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至谴古,卻和暖如春质涛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掰担。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工汇陆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人带饱。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓毡代,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親勺疼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子教寂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 首先要熟悉一些基本的力學(xué)名詞及相關(guān)公式 剛體(Rigidbody):剛體是指在運(yùn)動(dòng)中和受到力的作用后,形狀和大小不...
    FLY旳影子閱讀 11,518評(píng)論 0 11
  • 一迂烁、力場(chǎng)組件Constant Force 力場(chǎng)是一種為剛體快速添加恒定作用力的方法看尼,使用與類似火箭發(fā)射的對(duì)象,起初...
    _涼笙閱讀 564評(píng)論 0 1
  • 關(guān)節(jié)組件屬于物理組件的一部分盟步,是模擬物體與物體之間的一種連接關(guān)系藏斩,關(guān)節(jié)必須依賴剛體組件。關(guān)節(jié)組件可添加到多個(gè)游戲?qū)?..
    90qq閱讀 607評(píng)論 0 0
  • 定義 把不同的剛體通過(guò)某種方式連接起來(lái)却盘,以達(dá)到不同物理特性的連接效果狰域。如(車體與輪胎?,機(jī)器手臂?,門與門框?,彈...
    困卡閱讀 1,274評(píng)論 0 0
  • 一、物理編輯器的使用 在本系列博客的第一篇就介紹了如何使用Box2D內(nèi)置的幾種方式創(chuàng)建剛體的材質(zhì)黄橘,然而我們?cè)陂_(kāi)發(fā)游...
    babybus_newapp閱讀 3,056評(píng)論 0 4