剔除距離體積(Cull Distance Volume) 是非常有用的優化工具,它定義繪制(顯現)該體積中的Actor的距離。這些體積可存儲任意數量的“大小”和“距離”組合(稱為 剔除距離對)。這些剔除距離對會被映射到Actor(沿其最長有效維度)的邊界,然后指定給關卡中的該Actor實例。剔除距離體積(Cull Distance Volume)對于優化包含精細內部空間的大型室外關卡非常有用。當室內空間小到可被視為不重要時,可以剔除它們。 設置和用法可通過編輯器中的 模式(Modes) 面板向關卡中添加剔除距離體積(Cull Distance Volume),并且你可以縮放它,以適應關卡需求。 ![]() 選中體積之后,使用 細節(Details) 面板訪問 剔除距離(Cull Distance) 對數組。每個“剔除距離(CullDistance)”對都包含 大小(Size) 和 剔除距離(Cull Distance) 數值。單擊 加號(+ 號)可向數組元素列表底部添加新剔除距離(CullDistance)對。 ![]() 默認情況下會為體積添加兩個 剔除距離(CullDistance) 對;你可以將第一個剔除距離對作為要編輯的第一個條目,它的大小和距離都尚未設置,第二個剔除距離對使大于10000單位的對象免于被剔除,因為那些對象的距離為0。通過設置較大的剔除距離對,你可以使遠處的大型建筑或高山等對象免于被剔除。 插入、刪除和復制剔除距離對使用每個數組元素旁的下拉菜單可插入、刪除或復制剔除距離對元素。 ![]() § 插入(Insert) 會在選中的元素上方添加新剔除距離對。 § 刪除(Delete) 會從列表中刪除現有剔除距離對元素。 § 復制(Duplicate) 會將選中的剔除距離對復制到下面的新數組元素。 你可以根據需要擁有任意數量的剔除距離數組元素,其先后順序不會影響它們的有效性。 示例場景和設置本示例使用InfinityBlades Grasslands項目,我們設置了幾個剔除距離對,它們可從攝像機的位置剔除不同大小的對象。 此處使用的數值是極端示例,便于你快速理解剔除距離對對關卡中的Actor發揮的作用。添加更多對數值并且進行更多測試將有助于改善本示例中出現的“突然出現”問題。 我們將下列數值用于定義“剔除距離(Cull Distance)”和“大。⊿ize)”的演示。 ![]() § 該體積中大小最接近 200 單位的對象會在它們距攝像機 1000 單位或更遠時被從視野中剔除。 § 該體積中大小最接近 500 單位的對象會在它們距攝像機 2000 單位或更遠時被從視野中剔除。 § 該體積中大小最接近 1000 單位的對象將永不會被剔除。這可以確保尺寸極大的對象被視為無窮大,這意味著它們距攝像機的距離永不可能遠到應將它們剔除的程度。 設置剔除距離對時,請牢記以下規則: § 剔除距離對數組非線性插值。 § 這意味著你無需使用虛擬對,在存在重疊的剔除距離對時,引擎將挑選最激進的設置(或大于0的最低設置)并將它指定給Actor。 § 你可以根據需要擁有任意數量的剔除距離對。 § 為了便于組織,最好使這些對具有一定的順序(例如從高到低),但并非必需。 § 添加新對時,請記住,你始終可在稍后使用 插入(Insert) 下拉菜單添加對。 § 剔除距離對將指定給邊界直徑與其大小最接近的Actor。你可以使用Actor的 當前最大繪制距離(Current Max Draw Distance) 了解它基于剔除距離對數值被指定到的緩存繪制距離組。 為了幫助你入門,我們在下圖中列出了一些推薦的對數值: ![]() 下列建議可幫助你實現有效的結果: § 使用單個剔除距離體積(Cull Distance Volume)覆蓋整個關卡。 § 包含可代表關卡中大部分Actor的多種剔除距離對。 § 對于體積中的區域,你可以使用額外的剔除距離體積(CullDistance Volume)實現對剔除的額外的更加激進的控制。 § 設置剔除距離對時,可先從較大尺寸和距離開始,以了解你希望使用的上限和下限。 § 請在關卡視口的“游戲(Game)”視圖下在關卡中四處移動,以查看對象是否存在任何可見的“突然出現”。 § 進行更改(可能需要在現有的剔除距離對間添加一些新剔除距離對)。選擇存在問題的Actor并使用其 緩存剔除距離(Cached Cull Distance) 了解部分Actor所屬的剔除距離對分組情況。 § 請記住,剔除距離對組僅在低于個體Actor的 最大繪制距離 時才會被使用。 § 如果某些Actor應永不被剔除距離體積(Cull Distance Volume)剔除,請使用該Actor的“細節(Details)”面板并禁用 允許剔除距離體積(Allow Cull Distance Volume)。 § 請記住,如果需要為大量Actor禁用此選項,可以考慮使用最后一個剔除距離對作為“過大不應剔除距離”數值(大。Size) 的數值很大,剔除距離(Cull Distance) 為 0)。這可以防止高山或建筑物等非常大的對象被剔除。 |