久久精品人妻一区国产传媒国产精品|51黑料吃瓜网在线观看色噜噜色偷偷30根|久久久久久久久国产在亚洲中文字幕人妻|91av福利china人妻91九色|国语精品视频自产自拍|色婷婷av一区二区三区久久|国产91丝袜在线|亚洲二区中文字幕|91久久精品中文内射|中文 欧美 日韩,3d色噜噜狠狠一区二区三区,国产精品福利99,国产精品传媒网站

我的訂單|我的收藏|我的商城|幫助中心|返回首頁(yè)
搜維爾[SouVR.com]>服務(wù)>案例分享 應(yīng)用研究>案例分享>軟件開(kāi)發(fā)

Unity2022.1擴(kuò)展機(jī)器人工具箱優(yōu)化

文章來(lái)源: 作者:frank 發(fā)布時(shí)間:2022年05月13日 點(diǎn)擊數(shù): 次 字號(hào):

Unity2022.1版本中Unity對(duì)其機(jī)器人工具箱進(jìn)行了多項(xiàng)優(yōu)化并對(duì)諸多功能進(jìn)行了改進(jìn)以提升性能,。這些優(yōu)化包括:

使用新的逆動(dòng)力學(xué)力傳感器工具模擬復(fù)雜的環(huán)境的機(jī)器人感知;

通過(guò)完全改進(jìn)的Physics Debugger探索動(dòng)力學(xué),;

利用插值,、批處理查詢(xún)等方面的性能改進(jìn)。

下面讓我們來(lái)依次了解一下此次Unity都優(yōu)化了一些什么內(nèi)容,。

Physics Debugger優(yōu)化

Physics Debugger是理解物理引擎內(nèi)部工作方式以及理解項(xiàng)目中觀察到的特定行為的重要工具,。一個(gè)好的Debugger是創(chuàng)作令人信服的且符合物理學(xué)原理項(xiàng)目的關(guān)鍵工具。因此Unity徹底改造了Physics Debugger的用戶(hù)界面,并添加了一些有趣的新功能,。

為了在同一個(gè)空間中容納更多的信息,,在新版本中將屬性選項(xiàng)添加到選項(xiàng)卡中,并在其中添加了許多新的選項(xiàng),。

以前,,在Debugger中剛體和關(guān)節(jié)體組件都有可展開(kāi)的“Info”選項(xiàng)卡,用戶(hù)可以將其展開(kāi)來(lái)查看附加信息,,如當(dāng)前的線(xiàn)速度,。然而,展開(kāi)“Info”部分后,,編輯器的整體性能就會(huì)顯著下降,。此外,以前比較不同幾何體的參數(shù)很復(fù)雜,,用戶(hù)需要打開(kāi)兩個(gè)檢查器面板,。為了解決這一問(wèn)題,Unity將所有屬性移到了Physics Debugger窗口的“Info”選項(xiàng)卡中,,窗口中顯示了每個(gè)選定對(duì)象的屬性,,用戶(hù)現(xiàn)在可以輕松地并排比較它們。

現(xiàn)在,,在調(diào)試器中可以在法線(xiàn)和分離距離交匯處旁顯示接觸點(diǎn),。

Physics queries:如Physics.Raycast或Physics.CastSphere通常支持自定義,如自定義角色控制器或車(chē)輛控制器,。再過(guò)去的版本中它們是不可見(jiàn)的,,因此調(diào)試起來(lái)很棘手。為了解決這個(gè)問(wèn)題,,Unity2022.1版本提供了Physics queries可視化功能,。

逆動(dòng)力學(xué)

到目前為止,Unity擁有的工具只支持正向動(dòng)力學(xué),,即,,給定一組物體和施加在物體上的力,以此計(jì)算物體的移動(dòng)軌跡,。這一功能非常實(shí)用,,通過(guò)此次擴(kuò)展機(jī)器人工具箱。Unity 2022.1中全新增加了對(duì)逆向動(dòng)力學(xué)的支持,,即,,給定一個(gè)物體和軌跡,在模擬時(shí)計(jì)算導(dǎo)致該該物體沿軌跡移動(dòng)所受的力,。

具體而言,,新功能包括:

獲得由驅(qū)動(dòng)器施加到物體上的當(dāng)前力,。能明確顯示出驅(qū)動(dòng)器為達(dá)到目標(biāo)付出了多大力。該力的大小取決于驅(qū)動(dòng)器的剛度和阻尼,,以及當(dāng)前的增量目標(biāo)位置和增量目標(biāo)速度,;

獲得所需的合力來(lái)抵消重力,對(duì)抗力和作用在物體上的離心力

獲得 joint force需要達(dá)到期望值的加速度,。

Interpolation與Extrapolation

當(dāng)以相對(duì)較低的頻率進(jìn)行模擬時(shí)剛體會(huì)用Interpolation與Extrapolation的形式來(lái)給人一種平滑運(yùn)動(dòng)的印象,。這是通過(guò)計(jì)算每次更新的變換姿態(tài)來(lái)實(shí)現(xiàn)的。在Interpolation的情況下,,最后兩個(gè)模擬姿態(tài)會(huì)被用于計(jì)算該幀新的變換姿態(tài),。在Extrapolation的情況下,將會(huì)使用最后模擬的姿態(tài)和速度,。但是,,Unity并沒(méi)有把這些姿態(tài)反饋給物理引擎。姿態(tài)僅為系統(tǒng)提供圖形和動(dòng)畫(huà),。因此,,Raycast不會(huì)檢測(cè)到Interpolation姿態(tài)的物體。

為了避免在轉(zhuǎn)換模式過(guò)程中出現(xiàn)物理學(xué)問(wèn)題,,整個(gè)機(jī)制必須完全遵循物理學(xué)原理,。在內(nèi)部法則調(diào)用后,SyncTransforms會(huì)在姿態(tài)寫(xiě)入之前調(diào)用每個(gè)更新權(quán)限,,以清除所有變換更新,。這就導(dǎo)致了兩類(lèi)問(wèn)題:

如果場(chǎng)景中至少有一個(gè)Interpolation物體,所有物理組件的所有變換變化在每次更新時(shí)都會(huì)與物理引擎同步(即使它們?cè)诿看胃聲r(shí)都需要同步一次),;

如果對(duì)具有帶Interpolation的剛體組件的變換進(jìn)行了更改,,則該對(duì)象的Interpolation會(huì)中斷,因?yàn)橛脩?hù)進(jìn)行的變換更改會(huì)傳播到physics engine,,并更改最后一個(gè)模擬的姿態(tài)(姿態(tài)不會(huì)單獨(dú)存儲(chǔ),,只是物理引擎當(dāng)前使用的姿態(tài))。

為了解決這些問(wèn)題,,Unity更新了Interpolation的代碼,,這樣就不需要同步每幀的所有變換,。該優(yōu)化進(jìn)一步提高了性能,;新的Interpolation代碼比以前運(yùn)行更快(取決于場(chǎng)景的復(fù)雜性)。

處理論壇上的反饋

論壇致力于討論physics tech的各種實(shí)驗(yàn)預(yù)覽,,在Unity 2022.1版本中將實(shí)現(xiàn)的一些優(yōu)化:

在許多項(xiàng)目中,,尤其是大型項(xiàng)目,經(jīng)常使用許多GameObject layers,,因此描述層組合和產(chǎn)生物理接觸對(duì)的矩陣也會(huì)變得相當(dāng)大,。在Unity 2022.1版本中,突出顯示了當(dāng)前選定的行和列,這讓使用更加方便,。

Joint用于連接兩個(gè)剛體,,并定義它們相對(duì)運(yùn)動(dòng)的約束。從Unity 2020.2開(kāi)始,,Joint也可以用于將剛體鏈接到關(guān)節(jié)體,。為了實(shí)現(xiàn)這一點(diǎn),每Joint類(lèi)都擁有了一個(gè)附加屬性,,這在檢查器中能夠看到,。同時(shí)鏈接到剛體和關(guān)節(jié)體是不可能的,所以當(dāng)一個(gè)選項(xiàng)已經(jīng)被設(shè)置時(shí),,同時(shí)顯示這兩個(gè)選項(xiàng)會(huì)占用垂直空間,。在新版本中將會(huì)只顯示已設(shè)置的屬性從而節(jié)省空間。

運(yùn)動(dòng)學(xué)剛體是一種特殊類(lèi)型的物體,,它可以影響其他物體,,但不會(huì)讓其他物體影響自己,除非其被頻繁移動(dòng),。因此,,它類(lèi)似于一個(gè)static collider。運(yùn)動(dòng)學(xué)剛體的典型的用例是角色控制器,、物理動(dòng)畫(huà)驅(qū)動(dòng)以及對(duì)于手腕運(yùn)動(dòng)的虛擬現(xiàn)實(shí)模擬等,。這是通過(guò)設(shè)置一個(gè)運(yùn)動(dòng)目標(biāo)來(lái)控制的,物體將在一個(gè)模擬幀中達(dá)到該運(yùn)動(dòng)學(xué)目標(biāo),。這里與static collider的主要區(qū)別在于,,運(yùn)動(dòng)學(xué)目標(biāo)不是通過(guò)瞬間瞬移(改變姿態(tài))達(dá)到目的,而是通過(guò)計(jì)算一幀內(nèi)達(dá)到目標(biāo)所需的線(xiàn)速度和角速度,,并在事后將數(shù)據(jù)傳遞給求解器,。通過(guò)這種方式,可以有助于正確地實(shí)現(xiàn)約束雅可比矩陣,,因此任何附加的jointchain都將正確地做出反應(yīng)(沒(méi)有故障),。在Unity2022.1版本中,Unity公開(kāi)了一個(gè)新方法可以實(shí)現(xiàn)在一次操作中設(shè)置運(yùn)動(dòng)學(xué)目標(biāo)的位置和旋轉(zhuǎn),。

Unity 2021.2中引入的Contact modification功能可以在Contact Point details被用于為求解器創(chuàng)建contact constraints之前更改由narrow phase生成的Contact?Point details,。在Unity 2022.1版本中,開(kāi)發(fā)團(tuán)隊(duì)為接觸對(duì)中的物體速度添加了新的getters,。

PhysX版本目前已經(jīng)更新到了4.1.2,,這是迄今為止4.x系列中的全新版本。但這是一個(gè)小版本,,只能解決關(guān)鍵的錯(cuò)誤和崩潰,。

當(dāng)一個(gè)動(dòng)態(tài)物體與一個(gè)collider重疊時(shí),,求解器的目標(biāo)是找到corrective impulse,在滿(mǎn)足所有約束的同時(shí)將它們分開(kāi),。在內(nèi)部,,此impulse是針對(duì)一對(duì)接觸點(diǎn)中的每個(gè)接觸點(diǎn)單獨(dú)計(jì)算的,但是之前版本的Unity只有一個(gè)返回所有點(diǎn)總和的總值,。隨著新版本的發(fā)布,,Unity將公開(kāi)接觸點(diǎn)的一個(gè)新屬性,允許檢索每個(gè)接觸點(diǎn)的impulses的結(jié)構(gòu),。

Physics批處理查詢(xún)功能,,可直接用于支持某些用例,但目前功能不多,。此功能還在繼續(xù)發(fā)展,,新版本的Physics批處理查詢(xún)功能支持更多的用例,比如具有更復(fù)雜的線(xiàn)程模式的用例,,查詢(xún)的類(lèi)型也更加多樣化,。Unity2022.1版本添加了一個(gè)新的批處理查詢(xún)類(lèi)型(Physics.ClosestPointCommand),并支持在任何物理場(chǎng)景中運(yùn)行批處理查詢(xún),。

電話(huà):010-50951355 傳真:010-50951352  郵箱:[email protected] ,;點(diǎn)擊查看區(qū)域負(fù)責(zé)人電話(huà)
手機(jī):13811546370 / 13720091697 / 13720096040 / 13811548270 / 13811981522 / 18600440988 /13810279720 /13581546145

  • 暫無(wú)資料
  • 暫無(wú)資料
  • 暫無(wú)資料
  • 暫無(wú)資料
  • 暫無(wú)資料