Unity 2021.2測試版包含對物理特性的可用性進行了改進,支持全新的用例,,同時在機器人模擬領(lǐng)域為用戶提供更容易的操作方式和更快的調(diào)試方案,。
關(guān)節(jié)機構(gòu)改進
關(guān)節(jié)體組件是機器人模擬的核心,因為它能夠以高精度模擬運動鏈,,這對機械手,、操作員以及移動機器人等至關(guān)重要。Unity一直在聽取用戶反饋,,并做出了多項改變來提高性能和可用性,。
為了創(chuàng)造出更好的可讀性,已經(jīng)重新安排了關(guān)節(jié)體組件的屬性?,F(xiàn)在,,與質(zhì)量相關(guān)的參數(shù)在一個可視化的模塊中,我們看到與錨相關(guān)的參數(shù),,然后是與驅(qū)動器相關(guān)的參數(shù),。這些更改已被移植到Unity 2021.1和2020.3版本中。
關(guān)節(jié)體編輯器現(xiàn)在使用與常規(guī)迭代關(guān)節(jié)相同的關(guān)節(jié)工具,。這確保了整個編輯器的一致體驗性,。除此之外,用戶還可以直觀地編輯所有接縫的界限和錨點,。
關(guān)節(jié)工具支持所有關(guān)節(jié)體的關(guān)節(jié)類型,,因為它們已經(jīng)擴展到允許編輯棱柱形關(guān)節(jié),這在以前是不可用的,。
在新版本中關(guān)節(jié)體有一個新的設(shè)置,,可以選擇碰撞檢測模式。支持所有的連續(xù)碰撞檢測模式,,就像剛體一樣,。這已經(jīng)被添加到在2021.1和2020.3版本中,因為這一功能在某些用例中是必不可少的,。例如,,訓(xùn)練一個機器學(xué)習(xí)模型來控制一個人形角色行走需要啟用腳上的連續(xù)碰撞檢測。
添加力以匹配剛體中的力,。直接施加力,、加速度或沖量。這簡化了預(yù)先存在的代碼從剛體到關(guān)節(jié)體的遷移。
我們可以通過明確說明邊界條件和特殊情況來提高文檔的清晰度,?;谟脩舴答仯?a class="insidelink" href="http://shcjtec.com/Item/69424.aspx" target="_blank" title="Unity">Unity還在文檔中包含了所有面向C#的關(guān)節(jié)體組件的度量單位,,如質(zhì)量參數(shù)等,。
編輯器改進
新版本的Unity使與一般物理相關(guān)的管道更容易使用,并提供更強的靈活性,,以適應(yīng)各種使用模式,。這使得使用Unity進行更復(fù)雜的模擬成為可能,這是由創(chuàng)作者推動的,,用戶現(xiàn)在能夠使用附加功能來更好地進行機器人模擬,,從而獲得更準確的結(jié)果。換句話說,,物理調(diào)試器現(xiàn)在在隔離模式和內(nèi)容模式下都支持預(yù)置,,通過獨立觀察預(yù)制構(gòu)件的屬性,隱藏場景的其余部分,,幫助用戶更好的貫徹逐個擊破的設(shè)計原則,。
物理層是優(yōu)化碰撞、檢測系統(tǒng)性能的重要工具,。尤其是在有很多層的大場景中,,超好先禁用所有沖突,然后只啟用需要的沖突,。為了啟用這種使用模式,,Unity添加了新的按鈕來切換物理設(shè)置中所有層之間的碰撞檢測。這在有許多層的大型項目中非常有用,,但是在這些項目中,,用戶可以將交互減少到更小的層組合子集,以提高性能,。
目前額外的度量標準已添加到物理分析器中,。有更多可用的圖形可供選擇,文本子窗口也可以顯示更多關(guān)于當(dāng)前模擬的數(shù)據(jù),。新增加的內(nèi)容包括物理查詢的總數(shù),、關(guān)節(jié)體的數(shù)量以及上一幀同步變換的數(shù)量。
用戶還可以創(chuàng)建一個定制的探查器模塊,,其中只包含特定項目所需的度量,。
最后,內(nèi)存使用現(xiàn)在也可以作為指標進行顯示,。
鏈式物理查詢
物理批處理查詢是一種通過在所有可用的內(nèi)核上運行物理查詢來提高物理查詢性能的方法(例如Raycasts),這與我們通常只在主線程上運行它們正好相反。
理想情況下,,依賴于批處理查詢結(jié)果的代碼本身就是一個C#工作,,能夠最大限度地提高性能。然而,,阻止這種情況發(fā)生的主要問題是collider?hit被作為Unity Component(RaycastHit .collider)進行報告,。Unity組件在主線程之外是不可用的,所以這限制了批處理查詢的采用,。
為了解決這個問題,,collider?hit的instance ID已經(jīng)被顯示出來instance ID可以在主線程之外自由使用,所以查詢工作鏈接現(xiàn)在也可以使用,。
改進的patch friction
patch friction模式是Unity中默認的摩擦力模擬模式,。該模式現(xiàn)在可以進行調(diào)整,以在緊張的計算預(yù)算內(nèi)獲得合理的結(jié)果,。
經(jīng)過全新改進的patch friction模式已經(jīng)可以在物理設(shè)置中使用,。當(dāng)一個接觸對中產(chǎn)生多個摩擦錨點時,摩擦力可能比分析模型預(yù)測的大兩倍,。而這種情況下patch friction模式就能很好的解決問題了,。
例如,在下圖中,,具有不同動摩擦力的立方體在平面上滑動,。紅色立方體顯示理論預(yù)測的預(yù)期最終位置。而藍色立方體使用的是原先的patch friction模式,,在模擬中藍色立方體只達到了模擬目標的一半,。而綠色立方體使用的是全新的改進的patch friction模式,這使得綠色立方體更接近預(yù)期值,。
接觸修改
新的接觸修改API現(xiàn)已推出,,它允許定制物理引擎對觸點做出反應(yīng)。對于任何接觸對,,都可以改變其接觸點,、限制求解器施加的脈沖、調(diào)整目標速度等等,。在下面的示例中,,球體穿過平面,因為它忽略了與它的接觸點(可以實現(xiàn)對區(qū)域敏感),。而在右邊,,一個立方體在不旋轉(zhuǎn)的情況下從兩個斜面反彈回來,因為我們將接觸的反應(yīng)定制為排除旋轉(zhuǎn),。
這些改進能夠確保用戶在Unity中的模擬產(chǎn)生更真實的結(jié)果,。