This document is about: QUANTUM 2
SWITCH TO

Settings

概述

可在與一個場景關聯的Map資產中的Map Data指令碼中,以及在Quantum Runner指令碼中連結的Simulation Config資產中,編輯物理設定。在Map中的設定為指定到一個給定的場景,而Simulation Config可由多個場景共享。

地圖資料

場景的可遊玩資料區域相關設定,可在場景的MapData指令碼或資產欄位填入的Map Asset中找到。

adjust the world size for your playable area
在場景中的地圖資料指令碼中可見的物理設定。

除了World Size以外,只有當物理模擬是您的遊戲中的瓶頸時,才需要調整這些設定。

設定 說明
世界大小 在貯體軸的物理場景大小。廣相位由-WorldSize/2WorldSize/2之間的所有的物理輸入項目的邊界框所夾緊。因此有必要確保世界足夠大以容納所有實體。如果一個實體在世界之外,它將耗用效能,因為它被新增到第一個或最後一個貯體。從物理引擎的角度而言,在邊界框之外的所有東西都被認定為世界的邊界,其將導致錯誤的碰撞候選項目。
在非貯體軸中,物理世界只受到FP.UsableMinFP.UsableMax的值範圍所限制。
貯體計數 用於廣相位之中的貯體的數量,其被同時地處理。根據您有多少物理輸入項目(碰撞器),來使用一個合理的數量。太多的貯體及處理額外負荷增加,但卻沒有任何效能增加,因為各個貯體中只有很少的輸入項目;太少的貯體,並且在各個貯體中將會有超額的輸入項目,減緩了廣相位效能。
貯體細分 常規查詢(重疊及射線投射)使用一個穿刺方法,以在貯體細分中盡可能少檢查輸入項目。根據期望的輸入項目數量及您執行的常規查詢,來調整數字。太多的細分將新增額外負荷而沒有效能,而太少的話將導致花費更多時間來處理查詢,因為它們將需要檢查太多輸入項目。
關於貯體計數及貯體細分的注意事項
預設貯體計數及貯體細分值(16個貯體附有8個細分)對於一到兩千個輸入項目而言通常是良好的。因此您應不需要調整它們,除非物理是您的遊戲的瓶頸。在這種情況下,使用工作分析器以評估效能,並且基於評估結果來調整值(分別調整廣相位及常規查詢處理)。
貯體軸 物理輸入項目根據它們在貯體軸中的位置,被放入貯體。
排序軸 在一個貯體中的查詢根據它們在排序軸中的位置來被排序。
關於貯體軸及排序軸的注意事項
Y軸代表物理模擬的垂直軸。在2D中這等同於Y軸,而在3D中Y軸被對應到Z軸,因為在XZ平面上執行3D空間分割。
選擇這些,一個基於輸入項目散佈於世界的情況的貯體及排序軸。選擇一個不同的軸用於貯體及排序(例如X-Y或Y-X),對於統一地散佈輸入項目在該平台上有好處。如果輸入項目集中在一個軸,請考慮針對貯體及排序用相同的軸。
三角形網格單元格大小 定義單元格大小,其中3D三角形混集被分割。這個數字應該根據網格的三角形密度進行調整,以獲得各個單元格的合理三角形數量。
為了更好地視覺化,啟用QuantumEditorSettings資產的碰撞器Gizmos區段中的相關欄位。
這將影響廣相位及常規查詢的效能。使用工作分析器來分析效能,並且找出針對您的遊戲的最適合的數字。

模擬設定

SimulationConfig資料資產含有一個針對物理引擎的設定的詳盡的集:

physics settings on simulationconfig
模擬設定資產。

圖層 及相應的 圖層碰撞矩陣 可從Unity來匯入。匯入後,可直接在設定中編輯 碰撞矩陣

最佳化訣竅

在這個章節中,我們涵蓋了一些在最佳化您的物理設定以增進效能時,需考慮的一般性考量:

  • 碰撞矩陣,確保只 啟用 在圖層之間且其實際上需要針對彼此被檢查的碰撞;
  • 角速度(物理控制的旋轉),停用 這個選項將導致更快且更穩定的物理模擬;
  • 運動學的實體,在可能的時候請使用運動學的實體而非動態實體。運動學不針對彼此檢查碰撞,除非其中一個是觸發運動學。
  • 射線投射,針對射線使用合理的 距離 以防止它們成為瓶頸。
  • 物理主體啟用 在設定中的 靜止主體,將允許從碰撞檢查中排除靜止主體,並且減少碰撞偵測系統的載入。可透過另一個移動主體或透過程式碼,來再次喚醒靜止主體。
  • 執行緒計數調整 這個選項將允許提高在運行階段時,可用於Quantum模擬的執行緒數量。
  • 分析器,在效能調整前或效能調整時在您的程式碼系統上運行它。瓶頸經常繫於自訂程式碼而非物理引擎。進一步而言,分析器有助於識別在遊戲特定載入下,哪個設定表現最好。
Back to top