基礎知識-體積Actor

體積?是一種三維?Actor,用于調整關卡中指定區(qū)域的行為。例如,體積可用于下述操作:
對體積中的玩家或其他Actor造成傷害。
作為碰撞體積,阻止特定Actor進入體積。
當某個Actor進入體積時打開門。
更改關卡計算其光照或可視性的方式。
創(chuàng)建和放置體積
你可在?放置Actor(Place Actors)?面板的?體積(Volumes)?選項卡中選擇一個體積,然后將它拖放到關卡視口中來創(chuàng)建體積。?

將體積放置到關卡中之后,你可以按照你的想法調整它的大小或位置。放置體積時需要謹記兩個要點:
體積是一種輔助型Actor,通常用于檢測某類Actor是否進入了指定區(qū)域,并觸發(fā)效果作為響應。
體積有時自帶一些效果(通過代碼或藍圖提供),但多數(shù)時候,它們至負責為其他Actor提供提示。一般,應將它們視為更大的系統(tǒng)的組成部分(以某些元素作為視覺提示)。
例如,可按以下方式將一個?傷害施加體積(Pain-Causing Volume)(它會對其中的Actor造成傷害)放置到關卡中:


在上圖中,玩家不知道要避開該體積,或者可能不知道為何進入該體積時會受到傷害。關卡設計師應為玩家提供提示,說明傷害施加體積(Pain Causing Volume)的存在:


在上述示例中,火焰粒子效果有助于提示該區(qū)域不安全;傷害施加體積則能配合游戲邏輯以及燃燒效果,讓玩家在接近火焰時降低生命值。
體積類型
碰撞和重疊類體積
阻擋體積
阻擋體積(Blocking Volume)

阻擋體積(Blocking Volume)可用于表示靜態(tài)網格體的碰撞表面,比如用于墻壁。它可以增強場景的可預測性,因為物理對象能避免與地板、墻壁等表面上的凸起細節(jié)碰撞。它還能降低物理模擬開銷,提高性能。
攝像機阻擋體積
攝像機阻擋體積(Camera Blocking Volume)?采用了預置的碰撞設置,可阻擋攝像機,并忽略攝像機以外的所有Actor體積。它們用于定義不可見邊界,可以將攝像機限制在合理范圍內。例如,在第三人稱游戲中,游玩區(qū)域的墻壁上具有多葉藤蔓等裝飾物。在這些情況下,可貼著墻壁放置一些很薄的攝像機阻擋體積(Camera Blocking Volume),確保攝像機不會撞進藤蔓或伸到葉片后面,使得它流暢運動,確保游戲畫面不會被干擾。
銷毀Z體積
銷毀Z體積(Kill Z Volume)?旨在防止某些游戲的對象越界,例如,避免從懸崖上掉落或掉進深坑,或者在科幻設定中在不穿宇航服的情況下離開太空船。每當有Actor進入銷毀Z體積(Kill Z Volume)的任何Actor,該體積都將調用?FellOutOfWorld
?函數(shù)。默認情況下,這些Actor會快速執(zhí)行清理程序并銷毀自身。你也可以根據(jù)游戲需求,重載Actor的銷毀行為。例如,如果鑰匙掉進了熔巖坑(玩家必須收集才能繼續(xù)游戲),游戲可能需要將鑰匙傳送回玩家可以到達的區(qū)域而非銷毀該物品,或者告知玩家該物品已銷毀并重新加載上一個檢查點,而非任由游戲停留在無法獲勝的狀態(tài)。
傷害施加體積
傷害施加體積(Pain-Causing Volume)
物理體積
物理體積(Physics Volume)?是一種可以對范圍內角色及對象產生物理效果的體積。它們的一個常見用處是創(chuàng)建供玩家游動的水環(huán)境。物理體積(Physics Volume)的效果可以是可見的。角色移動組件(Character Movement Component)類會根據(jù)體積的力場來調整?角色
?在環(huán)境中的移動方式。
觸發(fā)器體積
觸發(fā)器體積(Trigger Volume)?可以在玩家或其他對象進入或離開它們時觸發(fā)事件。你可以在?關卡藍圖?中用它們來快速測試事件效果和游戲邏輯,而無需其他藍圖。
例如,你可以在關卡中放置一個觸發(fā)器體積,然后在?關卡藍圖?中為該體積創(chuàng)建一個重疊事件,以此播放聲音,打開門,或啟動過場動畫。
請務必檢查碰撞設置,以確保觸發(fā)器會響應碰撞并對目標Actor做出反應。
圖形和音頻體積
音頻體積
音頻體積(Audio Volume)
剔除距離體積
剔除距離體積(Cull Distance Volume)?是一種優(yōu)化工具,可根據(jù)對象距攝像機的距離及其尺寸,對對象進行剔除(即不繪制到屏幕上)。當對象小到可被視為不重要時,即可不繪制對象,從而優(yōu)化場景。尺寸是按照邊界框的最長邊計算的,而剔除距離是根據(jù)與該尺寸最接近的距離計算的。
剔除距離體積(Cull Distance Volume)設置取決于?剔除距離(Cull Distances)?屬性,如以下圖中的?細節(jié)(Details)?面板截圖所示。

上圖中,屬性定義了下列行為:
體積內大小最接近50單位(距離等于或小于85單位)的對象會在它們距攝像機500單位或更遠時被剔除(消失)。
體積內大小最接近120單位(距離介于85單位和210單位之間)的對象會在它們距攝像機1000單位或更遠時被剔除(消失)。
體積內大小最接近300單位(距離等于或大于210單位)的對象將永不會被剔除,因為在這種情況下,0被當作無窮大,這意味著永遠不可能距攝像機足夠遠。
設置時,請先向"剔除距離(Cull Distances)"數(shù)組中添加一個新元素,方法是單擊?

?按鈕。接下來,只需填入給定對象的大小以及你希望該尺寸或小于該尺寸的對象被剔除時所處的距離。無需按照特定的順序創(chuàng)建這些屬性。
HLOD體積
層級LOD體積(Hierarchical LOD Volume)?被層級細節(jié)(HLOD)系統(tǒng)用來將Actor劃分到單個HLOD群集。生成群集時,虛幻引擎將覆蓋常規(guī)的生成過程,轉而遵循手動放置的體積。
Lightmass角色間接細節(jié)體積
Lightmass角色間接細節(jié)體積(Lightmass Character Indirect Detail Volume?與Lightmass重要體積(Lightmass Importance Volume)相似,它會在玩家高度(相對于地面)以及在整個體積中生成間接光線樣本。此類體積的一個用處就是放置在電梯井中,確保沿電梯井的所有間接光照都正確,而非只有底部的間接光照正確。
Lightmass重要體積
Lightmass重要體積(Lightmass Importance Volume)
網格體合并剔除體積
網格體合并剔除體積(Mesh Merge Culling Volume)?標記它們包含的網格體對象,以使這些對象合并成單個網格體。通過將合并區(qū)域內的一系列小型網格體作為一個網格體進行剔除或引起HLOD生成以通過更優(yōu)的方式減少幾何體的數(shù)量,它可以提高性能。
后期處理體積
通過調整?細節(jié)(Details)?面板中的屬性應用給攝像機的后期處理設置,可以被?后期處理體積(Post Process Volume)
預計算可視性體積
預計算可視性體積(Precomputed Visibility Volume)?主要用于性能優(yōu)化。這類體積會保存Actor的可視性,以了解它們在場景中的位置。應僅將這些體積放置在玩家可以到達的區(qū)域。
預計算可視性覆蓋體積
如果預計算可視性體積(Precomputed Visibilty Volume)的自動生成結果不理想,你可以使用?預計算可視性覆蓋體積(Precomputed Visibility Override Volume)?手動覆蓋Actor的可視性,以了解它們在場景中的位置。這些體積也用于性能優(yōu)化,而且應僅將這些體積放置在玩家可以到達的區(qū)域。
關卡和AI體積
關卡流送體積
關卡流送體積(Level Streaming Volume)?用于協(xié)助?關卡流送?過程。它們提供了一種封裝關卡以及基于玩家進入或離開體積的時間控制它何時切入和切出內存的簡便方法。
尋路網格體邊界體積
可使用?尋路網格體邊界體積(Nav Mesh Bounds Volume)?來控制在關卡中構建尋路網格體的位置。尋路網格體用于計算在關卡不同區(qū)域的尋路路徑。
在該體積中,會在所有表面上構造尋路網格體,其角度合理,適于在其上行走。你可以按照需要重疊所需數(shù)量的此類體積以生成所需的尋路網格體。
使用尋路網格體邊界體積(Nav Mesh Bounds Volume)的方法是創(chuàng)建一個或多個將關卡的可尋路區(qū)域包圍在其中的尋路網格體邊界體積(Nav Mesh Bounds Volume)。尋路網格體將自動被構建。
通過在視口中按?P?鍵,你可以隨時使尋路網格體可見。