級聯(lián)粒子系統(tǒng)
包含任意數(shù)量粒子發(fā)射器的資源际起,用于在場景世界中創(chuàng)建特效拾碌。
虛幻引擎內(nèi)包含了一套極為強(qiáng)大并健壯的粒子系統(tǒng),讓美術(shù)人員能夠創(chuàng)建令人瞠目結(jié)舌的視覺特效街望,從煙霧校翔、火星、火焰灾前,到極其復(fù)雜的幻想中才有的效果防症。
虛幻的粒子系統(tǒng)由 級聯(lián) 來編輯,這是一個完全整合并模塊化的粒子特效編輯器哎甲。級聯(lián)為編輯特效提供了實(shí)時的反饋蔫敲,能夠讓即便是非常復(fù)雜的特效,制作過程也變得更為快捷容易炭玫。
粒子系統(tǒng)也和每個粒子上使用的各種材質(zhì)以及貼圖緊密相關(guān)奈嘿。粒子系統(tǒng)自身主要的功能是要控制粒子的行為,然后整體的看粒子系統(tǒng)最終的展現(xiàn)效果則通常取決于材質(zhì)的做法吞加。
粒子系統(tǒng)用戶指南
粒子系統(tǒng)和級聯(lián)的常規(guī)用法及工作流程——————————————————————————————————————————————————————————————————————————————————————————————
粒子系統(tǒng)細(xì)節(jié)級別(LOD)
粒子的 GPU 模擬,可允許成百上千的粒子同時存在德崭。
細(xì)節(jié)級別(LOD)是特效師的福音斥黑,利用它可以創(chuàng)建出根據(jù)玩家距離高效利用屏幕空間的粒子特效。例如篝火粒子系統(tǒng)接癌,可能包含以下幾種發(fā)射器:
火焰內(nèi)焰
火焰外焰
內(nèi)焰輝光
火星和灰燼
一層或多層煙霧
在這種情況下缨叫,粒子系統(tǒng)的一些方面將會變得十分小(小于一個像素)而無需進(jìn)行渲染荔燎,如灰燼耻姥。然而,這些粒子仍然被計(jì)算和處理有咨。LOD 就可以大顯身手了琐簇。它可使粒子系統(tǒng)基于距離進(jìn)行簡化,(在玩家距離過遠(yuǎn)而欣賞不到特效時)將系統(tǒng)中的發(fā)射器和模塊將設(shè)置關(guān)閉座享,或完全關(guān)閉婉商。
講述粒子系統(tǒng)中細(xì)節(jié)層級(LODs)的創(chuàng)建以及在游戲中的實(shí)際用法。
在粒子系統(tǒng)中創(chuàng)建 LOD 層
以下部分將講述 LOD 全支持粒子系統(tǒng)創(chuàng)建的常規(guī)設(shè)計(jì)流程渣叛。流程的步驟詳解如下:
1.創(chuàng)建期望的整體效果丈秩。此為最高的 LOD 層。
2.接下來創(chuàng)建最低的 LOD 層淳衙。
3.添加兩者之間的 LOD 層蘑秽,創(chuàng)建從最高質(zhì)量到最低質(zhì)量的平順過渡。
只能在編輯最高 LOD 層時添加/刪除模塊箫攀。
在此例中我們使用單個 SubUV 發(fā)射器肠牲。它設(shè)置的方式是 SubUV 坐標(biāo) 0 顯示數(shù)字 1,坐標(biāo) 1 顯示數(shù)字 2靴跛,以此類推缀雳。應(yīng)用的紋理外觀如下:我們來設(shè)置最高的 LOD 層梢睛。
最高 LOD 層
當(dāng)特效師打算對粒子系統(tǒng)進(jìn)行 LOD 開發(fā)時俏险,他們應(yīng)該選擇工具欄中的 Regenerate Lowest LOD严拒。這將使系統(tǒng)重新生成最低的 LOD 層扬绪。(它將同時刪除臨時創(chuàng)建的靜態(tài) LOD 層竖独。)在當(dāng)前,它將以較低的生成率復(fù)制最高 LOD 層挤牛。
選擇最低的 LOD 層后莹痢,進(jìn)行數(shù)值調(diào)整獲得需要的外觀。需要注意的是所有模塊在靜態(tài) LOD 層中均默認(rèn)標(biāo)為 un-editable墓赴。模塊中顯示的大理石花紋背景為此特征竞膳。
在此例中,我們已啟用 SubImage Index 模塊的編輯并將索引設(shè)為 3.發(fā)射器中的結(jié)果顯示為黃色的 4章办,如下圖所示:
最低 LOD 層
下一步,按下 Add LOD before current 按鈕(假定此時你仍在查看最低 LOD 層)藕届,在最高和最低之間添加一個靜態(tài) LOD挪蹭。已啟用 SubImage Index 模塊并將索引設(shè)為 1。發(fā)射器中的結(jié)果顯示為藍(lán)色的 2休偶,如下圖所示: LOD 第一層
按下 Add LOD after current 按鈕啟用 SubImage index 模塊梁厉,在第一個靜態(tài) LOD 和最低 LOD 之間添加一個靜態(tài) LOD。SubImage Index 被設(shè)為 2踏兜,導(dǎo)致發(fā)射器顯示一個綠色的 3词顾,如下圖所示:
LOD 第二層
LOD 方法和距離設(shè)置
粒子系統(tǒng)的游戲內(nèi)操作由兩個模式中的一個完成。每個粒子系統(tǒng)中名為 LODMethod 的列舉提供確定此模式的方法碱妆。該模式交替控制 LOD 距離的處理方法肉盹。
下圖顯示范例粒子系統(tǒng)的屬性窗口:
LODDistances 屬性窗口在此例中,發(fā)射器來自攝像機(jī)的 [0..1249] 單位時山橄,使用 LOD 0(最高)垮媒。LOD 1 來自 [1250..1874],LOD 2 來自 [1875..2499]航棱,距離大于 2500 個單位時為 LOD 3睡雇。
設(shè)為自動模式的每個 ParticleSystemComponent 在運(yùn)行時將執(zhí)行 LOD 距離確認(rèn),LODDistanceCheckTime 用于設(shè)置此操作的執(zhí)行頻率(以秒為單位)饮醇。在此例中它抱,關(guān)卡中的每個粒子系統(tǒng)每四分之一秒執(zhí)行一次距離確認(rèn)。——————————————————————————————————————————————————————————————————————————————————————————————
向量場
概述向量場以及它們?nèi)绾问褂肎PU sprite朴艰。
除效率之外观蓄,GPU粒子最有趣的特性是向量場混移。向量場是一個由影響粒子運(yùn)動的向量組成的統(tǒng)一網(wǎng)格。向量場作為Actor放置在場景中(整體向量場)侮穿,可以像任何其他Actor一樣進(jìn)行平移歌径、旋轉(zhuǎn)和縮放。它們是動態(tài)的亲茅,可以在任何時候移動回铛。場也可以放置在級聯(lián)中(局部向量場),限制其對與其相關(guān)聯(lián)的發(fā)射器的影響克锣。當(dāng)粒子進(jìn)入向量場的邊界時茵肃,粒子的運(yùn)動將受到向量場的影響,當(dāng)粒子離開邊界時袭祟,向量場的影響將消失验残。
默認(rèn)情況下,向量場會對其中的粒子施力巾乳。向量場還有一個"緊密度"參數(shù)您没。此參數(shù)控制粒子如何直接跟隨場中的向量。當(dāng)緊密度設(shè)置為1時想鹰,粒子直接從場中讀取其速度紊婉,從而準(zhǔn)確地跟隨場。
靜態(tài)向量場是向量網(wǎng)格永不改變的場辑舷。這些場可以從Maya導(dǎo)出并作為體積紋理導(dǎo)入喻犁。靜態(tài)場資源占用低,可以用來向粒子添加有趣的運(yùn)動何缓,特別是通過對場本身的運(yùn)動設(shè)置動畫肢础。
此外,還可以從二維圖像重新構(gòu)建向量場碌廓。在這種情況下传轰,可以導(dǎo)入一個非常類似于法線貼圖的圖像,通過擠壓它或?qū)⑵鋰@體積旋轉(zhuǎn)來重新構(gòu)建體積紋理谷婆。在此重新構(gòu)建的基礎(chǔ)上慨蛙,可以添加一個靜態(tài)向量場,引入一些噪點(diǎn)和隨機(jī)性纪挎。此外期贫,可以通過在圖譜紋理中存儲單獨(dú)的幀來對2D圖像設(shè)置動畫。這樣做讓您可以離線執(zhí)行流體模擬异袄,并以極低的成本實(shí)時重新構(gòu)建運(yùn)動通砍。
整體向量場
如上所述,整體向量場(Global Vector Fields) 可以作為Actor放置在關(guān)卡中。但是封孙,它們不能僅僅從 內(nèi)容瀏覽器(Content Browser) 中拖出迹冤。為了在關(guān)卡中建立一個向量場,需要添加一個向量場體積Actor虎忌,并且需要將適當(dāng)?shù)南蛄繄鲑Y源與之關(guān)聯(lián)泡徙。
向量場體積Actor
任何包含整體向量場模塊 的GPU sprite粒子系統(tǒng)都可以使用此整體向量場。
局部向量場
與整體向量場相反,局部向量場(Local Vector Fields) 完全存在于粒子系統(tǒng)中泉孩,而未放置在場景中硼端。這意味著,局部向量場只能影響它們被指定給的粒子發(fā)射器寓搬,與整體向量場不同珍昨,整體向量場可以影響任何帶有整體向量場模塊 的粒子系統(tǒng)。
局部向量場是通過局部向量場模塊 添加的句喷。