This document is about: QUANTUM 3
SWITCH TO

Settings

概述

物理設置可以在與場景關聯的Map資產的Quantum Map Data腳本中,以及在Quantum Runner腳本中鏈接的Simulation Config資產中進行編輯。
Map中的設置特定於某個場景,而Simulation Config可以在多個場景之間共享。

地圖數據

場景的可玩區域相關設置可以在場景的QuantumMapData腳本或資產字段中插入的Q Asset Map中找到。

Adjust the World Size accordingly to the Playable Area
場景中 MapData 腳本中的物理設置。

除了World Size(世界大小),只有當物理模擬成為遊戲的瓶頸時,才需要考慮調整這些設置。

設置 描述
世界大小 桶排序軸上的物理場景大小。廣義階段由所有物理實體的邊界框限制在 -WorldSize/2WorldSize/2 之間。因此,確保世界足夠大以容納所有實體至關重要。如果一個實體在世界之外,它會消耗性能,因為它會被添加到第一個或最後一個桶中。從物理引擎的角度來看,邊界框之外的所有東西都被視為在世界邊緣,這將導致錯誤的碰撞候選對象。
在非桶排序軸上,物理世界僅受 FP.UsableMinFP.UsableMax 的值範圍限制。
桶數量 廣義階段中使用的桶數量,這些桶會并行解析。根據物理實體(碰撞體)的數量使用合理的數量。桶太多,處理開銷會增加,且不會有性能提升,因為每個桶中只有很少的實體;桶太少,每個桶中的實體數量會過多,從而降低廣義階段的性能。
桶細分 常規查詢(重疊和射線檢測)使用一種穿刺方法來檢查桶細分中盡可能少的實體。根據預期的實體數量和執行的常規查詢數量來調整該數字。細分太多會增加開銷而沒有性能提升,而細分太少會導致查詢解析時間更長,因為它們將不得不檢查太多實體。
關於桶數量和桶細分的注意事項
默認的桶數量和桶細分值(16 個桶,8 個細分)通常適用於多達 1~2K 個實體。因此,除非物理是遊戲的瓶頸,否則您不必擔心調整它們。在這種情況下,使用任務分析器評估性能,並根據結果分別調整廣義階段和常規查詢解析的值。
桶排序軸 物理實體根據它們在桶排序軸上的位置被放入桶中。
排序軸 桶中的查詢根據它們在排序軸上的位置進行排序。
關於桶排序軸和排序軸的注意事項
Y 軸代表物理模擬的垂直軸。在 2D 中,這等於 Y 軸,而在 3D 中,Y 軸映射到 Z 軸,因為 3D 空間劃分在 XZ 平面上執行。
C根據實體在世界中的分佈方式選擇這些桶排序軸和排序軸。為桶排序和排序選擇不同的軸(例如 X-Y 或 Y-X)有利於實體在該平面上均勻分佈。如果實體集中在一個軸上,考慮對桶排序和排序使用相同的軸。
三角形網格單元大小 定義 3D 三角形集合被劃分為的單元大小。該數字應根據網格三角形的密度進行調整,以獲得每個單元合理的三角形數量。
為了更好地可視化,在 QuantumEditorSettings 資產的碰撞體 gizmos 部分啟用相關字段。
這將影響廣義階段和常規查詢的性能。使用任務分析器分析性能,找到最適合遊戲的數字。

模擬配置

SimulationConfig數據資產包含物理引擎的大量設置:

Physics Settings on SimulationConfig
SimulationConfig資產。

圖層 和相應的 圖層碰撞矩陣 可以從 Unity 的圖層和碰撞矩陣導入。導入後,可以直接在設置中編輯 碰撞矩陣

優化技巧

在本節中,我們將介紹一些在優化物理設置以提高性能時需要考慮的一般事項:

  • 碰撞矩陣,確保只啟用實際需要相互檢查碰撞的圖層之間的碰撞;
  • 角速度 (物理控制的旋轉),禁用 此選項可使物理模擬更快、更穩定;
  • 運動學實體,只要可能,就使用運動學實體而不是動態實體。運動學實體之間不會檢查碰撞,除非其中一個是觸發器運動學實體。
  • 射線檢測,為射線使用合理的距離,以防止它們成為瓶頸。
  • 物理體,在設置中啟用 靜止物體(resting bodies) 選項,可使靜止的實體排除在碰撞檢查之外,並減少碰撞檢測系統的負載。靜止的物體可以被另一個移動的物體或通過代碼重新喚醒。
  • 線程數調整 此選項可以增加運行時 Quantum 模擬可用的線程數量。
  • 分析器,在性能調整之前和期間運行代碼系統上的分析器。瓶頸通常與自定義代碼有關,而不是物理引擎。此外,分析器有助於確定在特定遊戲負載下哪些設置最有效。有關更多信息,請參閱分析文檔。
Back to top