Unity-物理調(diào)試可視化
物理調(diào)試可視化工具 (Physics Debug Visualiser) 可用于快速檢查場(chǎng)景中的碰撞體幾何體,并分析常見的基于物理的情形。該工具提供了游戲?qū)ο笾g是否應(yīng)相互碰撞的可視化表示。當(dāng)場(chǎng)景中有許多碰撞體時(shí),或者渲染和碰撞網(wǎng)格不同步的情況下,這會(huì)很有用。
有關(guān)改善項(xiàng)目物理性能的詳細(xì)指導(dǎo),請(qǐng)參閱有關(guān)?Physics Profiler?的文檔。
要在 Unity Editor 中打開 Physics Debug 窗口,請(qǐng)選擇?Window?>?Analysis?>?Physics Debugger。

通過(guò)此窗口可以自定義視覺設(shè)置,并指定要在可視化工具中顯示或隱藏的游戲?qū)ο箢愋汀?/p>
默認(rèn)模式為?Hide Selected Items。這意味著每項(xiàng)都出現(xiàn)在可視化工具中,必須勾選每項(xiàng)的復(fù)選框才能隱藏該項(xiàng)。要將此模式更改為 __Show Selected Items__,請(qǐng)使用窗口頂部的下拉選單。這意味著可視化工具中不顯示任何項(xiàng),必須勾選每項(xiàng)的復(fù)選框才能顯示該項(xiàng)。
屬性????????????????????????????????????功能
Reset單擊此按鈕可將 Physics Debug 窗口重置為默認(rèn)設(shè)置。
Hide Layers使用下拉菜單來(lái)確定是否顯示選定層中的碰撞體。
Hide Static Colliders勾選此復(fù)選框可從可視化中刪除靜態(tài)碰撞體(不含任何剛體組件的碰撞體)。
Hide Triggers勾選此復(fù)選框可從可視化中刪除也是觸發(fā)器的碰撞體。
Hide Rigidbodies勾選此復(fù)選框可從可視化中刪除剛體組件。
Hide Kinematic Bodies勾選此復(fù)選框可從可視化中刪除包含__運(yùn)動(dòng)__剛體組件(不受物理引擎控制)的碰撞體。請(qǐng)參閱有關(guān)剛體組件的文檔以了解更多詳細(xì)信息。
Hide Sleeping Bodies勾選此復(fù)選框可從可視化中刪除包含__睡眠_(dá)_剛體組件(當(dāng)前無(wú)法與物理引擎互動(dòng))的碰撞體。請(qǐng)參閱有關(guān)剛體組件:睡眠的文檔以了解更多詳細(xì)信息。
Collider Types使用以下選項(xiàng)可從物理可視化中刪除特定碰撞體類型。????Hide
????BoxColliders勾選此復(fù)選框可從可視化中刪除盒型碰撞體。????Hide
????SphereColliders勾選此復(fù)選框可從可視化中刪除球形碰撞體。????Hide
????CapsuleColliders勾選此復(fù)選框可從可視化中刪除膠囊碰撞體。????Hide
????MeshColliders
????(convex)勾選此復(fù)選框可從可視化中刪除凸面網(wǎng)格碰撞體。????Hide
????MeshColliders
????(concave)勾選此復(fù)選框可從可視化中刪除凹面網(wǎng)格碰撞體。????Hide
????TerrainColliders勾選此復(fù)選框可從可視化中刪除地形碰撞體。
Hide None單擊?Hide None?可清除所有過(guò)濾條件并在可視化中顯示所有碰撞體類型。
Hide All單擊?Hide All?可啟用所有過(guò)濾條件并從可視化中移除所有碰撞體類型。
Colors使用以下設(shè)置可定義 Unity 在可視化中顯示物理組件的方式。???
?Static
????Colliders使用此顏色選擇器可定義用何種顏色在可視化中指示靜態(tài)碰撞體(不含任何剛體組件的碰撞體)。????
Triggers使用此顏色選擇器可定義用何種顏色在可視化中指示也是觸發(fā)器的碰撞體。????剛體使用此顏色選擇器可定義用何種顏色在可視化中指示剛體組件。????
Kinematic Bodies使用此顏色選擇器可定義用何種顏色在可視化中指示__運(yùn)動(dòng)__剛體組件(不受物理引擎控制)。請(qǐng)參閱有關(guān)剛體組件的文檔以了解更多詳細(xì)信息。????
Sleeping Bodies使用此顏色選擇器可定義用何種顏色在可視化中指示__睡眠_(dá)_剛體組件(當(dāng)前無(wú)法與物理引擎互動(dòng))。請(qǐng)參閱有關(guān)剛體組件:睡眠的文檔以了解更多詳細(xì)信息。????
Variation使用滑動(dòng)條設(shè)置介于 0 和 1 之間的值。此設(shè)置用于定義所選顏色與隨機(jī)顏色混合的程度。使用此設(shè)置可按顏色直觀區(qū)分碰撞體以及查看游戲?qū)ο蟮慕Y(jié)構(gòu)。渲染使用這些設(shè)置可定義 Unity 渲染和顯示物理可視化的方式。????
Transparency使用滑動(dòng)條設(shè)置 0 到 1 之間的值。此設(shè)置用于定義可視化中繪制的碰撞幾何體的透明度。???
?Force Overdraw正常渲染幾何體有時(shí)可能讓碰撞體變得模糊(例如,地板下面的網(wǎng)格碰撞體平面)。勾選?Force Overdraw?復(fù)選框可讓可視化渲染器在渲染幾何體上繪制碰撞體幾何體。????
View Distance用于設(shè)置可視化的視圖距離。????
Terrain? ? Tiles Max用于設(shè)置可視化中地形區(qū)塊的最大數(shù)量。
覆蓋面板具有更多選項(xiàng):

屬性????????????????????????????????????????功能
Collision Geometry勾選此復(fù)選框可啟用碰撞幾何體可視化。
Mouse Select勾選此復(fù)選框可啟用鼠標(biāo)懸停突出顯示和鼠標(biāo)選擇功能。如果在可視化工具中有大型游戲?qū)ο笙嗷プ璧K,此功能可能很有用。
性能分析
可以使用“物理調(diào)試”來(lái)分析和解決游戲中的物理活動(dòng)問(wèn)題??梢宰远x在可視化工具中可見的碰撞體或剛體組件類型,從而有助于找到活動(dòng)源。最有幫助的兩個(gè)做法是:
僅查看激活的剛體組件:要僅查看處于激活狀態(tài)并因此使用 CPU/GPU 資源的剛體組件,請(qǐng)勾選?Hide Static Colliders?和?Hide Sleeping Bodies。
僅查看非凸面網(wǎng)格碰撞體:非凸面(基于三角形)網(wǎng)格碰撞體附加的剛體組件即將與另一個(gè)剛體或碰撞體發(fā)生碰撞時(shí),往往會(huì)產(chǎn)生最多的接觸。要僅可視化非凸面網(wǎng)格碰撞體,請(qǐng)將窗口設(shè)置為?Show Selected Items?模式,單擊?Select None?按鈕,然后勾選?Show MeshColliders (concave)?復(fù)選框。