(全流程)如何在UE4中創(chuàng)建科幻環(huán)境場景關(guān)卡
Alberto Catalan Gallac準(zhǔn)備了他最新的3D場景Power Overload的詳盡分步細分。使用的軟件:UE4、3ds Max,ZBrush,Substance Painter和Marmoset工具包。
介紹
大家好!我叫Alberto Catalan Gallach,今年23歲,目前正在西班牙巴倫西亞的Florida Replay學(xué)習(xí)AAA電子游戲的動畫和數(shù)字藝術(shù)碩士學(xué)位。我的目標(biāo)是為視頻游戲行業(yè)創(chuàng)造堅實的環(huán)境和道具藝術(shù),這就是為什么我一直在尋找新的工作流程和工具來幫助我提高自己作為藝術(shù)家的技能并加快我的工作過程的原因,以便有一天我可以加入一支藝術(shù)家團隊,并能夠在藝術(shù)上進一步發(fā)展。
背景
高中畢業(yè)后,我獲得了兩年的視頻和音頻制作專業(yè)的學(xué)位,之后又獲得了3D圖形設(shè)計專業(yè)的畢業(yè)證書,最終在現(xiàn)在所在的同一所學(xué)校專注于視頻游戲藝術(shù)。
對我來說,視頻游戲的藝術(shù)世界不僅是未來的職業(yè)生涯,而且是一種激情,所以我每天花很多時間尋找有關(guān)Polycount線程的新技巧,分析諸如80lv之類的平臺的細目,在許多新游戲中尋找靈感藝術(shù)家的作品,甚至分析軟件創(chuàng)作者發(fā)布的許多視頻,了解如何正確使用他們的工具。





功率過載:目標(biāo)和參考?
我做Power Overload項目的主要目的是創(chuàng)建一個科幻走廊,從頭到尾執(zhí)行創(chuàng)建環(huán)境的整個過程。我的中級目標(biāo)包括:加深對模塊化設(shè)計的了解,增加我對從高多邊形到低多邊形的硬表面建模技術(shù)的了解,在Substance Painter中進行紋理化,在虛幻引擎中進行環(huán)境創(chuàng)建(照明,材質(zhì)創(chuàng)建)和藍圖),還可以了解有關(guān)引擎紋理優(yōu)化的更多信息。
我為跑道的一般樣式以及場景的各個元素(甚至是燈光)使用了大量參考,但是我始終牢記最終的結(jié)果必須具有創(chuàng)造性和原創(chuàng)性。可能,我的主要靈感是謝爾蓋·蒂亞普金(Sergey Tyapkin)的作品。
我也一直在沉迷于《毀滅戰(zhàn)士》,《星際公民》或《外星人隔離》等游戲環(huán)境,以及許多其他在藝術(shù)水平和環(huán)境方面都非常出色的游戲。我已經(jīng)深思熟慮地檢查了建模樣式,場景的組成,調(diào)色板等。

建模工作流程
封鎖
建模的開始實質(zhì)上是計劃過程。我開始確定需要多少個墻壁,地板和天花板模塊,以便在不創(chuàng)建太多模塊的情況下獲得復(fù)雜的結(jié)果。在3ds Max中進行了阻塞測試之后,我最終決定除了門外還要制作2個地板模塊,2個天花板模塊和5個墻模塊。為了獲得正確的尺寸,我將高度為1.80 m的基于人的網(wǎng)格導(dǎo)入了我的Max場景。
在使用盒子進行了一些尺寸測試之后,我開始了一個非常簡單的程序塊,僅定義每個模塊的輪廓和尺寸。為了確保所有模塊完美地配合在一起,我決定所有模塊必須具有1米的標(biāo)準(zhǔn)尺寸,即:每個模塊的尺寸都是1米(3.3英尺)的倍數(shù)。
在規(guī)劃舞臺時,從一開始我就決定對兩個燈具建模,以實現(xiàn)真實的照明點。?
解決了主要模塊后,我決定創(chuàng)建一條電纜槽以覆蓋墻壁和地板之間的現(xiàn)有縫隙,因為我決定將地板放置得比墻壁略高。另外,一組模塊化的管道為上部走廊區(qū)域提供了更多的復(fù)雜性,因此使其更具吸引力。
散落在大廳各處的箱子是我最后決定做的。


高聚
在高多邊形模型創(chuàng)建階段,我與3ds Max一起工作,在創(chuàng)建細分之前將每個細節(jié)添加到每個模型中,以獲取平滑的邊緣,這些邊緣將在執(zhí)行烘焙時在法線貼圖上很好地工作。
每當(dāng)在3ds Max中工作時,每次要在創(chuàng)建過程中進行重要更改時都添加一個新的Edit Poly修改器來創(chuàng)建模型,并在修改器堆棧中累積Edit Poly修改器時,此功能通常非常有用。這樣,如果我們需要返回該過程,則只需消除不需要的“編輯多邊形”修改器,我們將以無損方式進行工作。
在對高多邊形建模時,我們必須考慮要在法線貼圖中烘焙的所有細節(jié)都必須有一個斜面,盡管實際上它們沒有這種形狀。否則,當(dāng)法線貼圖垂直于表面烘焙時,它將不會在我們的法線貼圖中生成像素,并且我們將無法正確捕捉法線貼圖中的位移感。

為了實踐兩種不同的工作流程,我決定以兩種方式進行細分:首先,通過傳統(tǒng)的細分添加支持循環(huán)和Turbosmooth,其次,通過使用ZBrush中的細分。讓我用一些示例解釋每個工作流程:
-3ds Max中的傳統(tǒng)細分
要在3ds Max中創(chuàng)建高多邊形模型,首先創(chuàng)建具有所有所需細節(jié)的模型,然后在具有四倒角修改器或帶有“平滑組”設(shè)置的Turbosmooth修改器的新“編輯多邊形”修改器中手動添加支撐環(huán)?;钚?。之前,我還以期望的方式設(shè)置了模型的平滑組(對于不太復(fù)雜的零件,因為這樣很難控制邊緣的硬度),最后添加了我通常配置為的Turbosmooth修改器3次迭代。
我決定對要存儲在法線貼圖中的許多細節(jié)進行建模,然后在浮動幾何圖形的平坦表面上進行建模,以盡可能簡單地創(chuàng)建基礎(chǔ)網(wǎng)格,以方便進行細分。
此工作流程的優(yōu)勢在于,我們獲得了具有干凈拓?fù)涞母叨噙呅文P?,并且通過以后消除了包含支撐環(huán)的Turbosmooth修改器和“編輯多邊形”修改器,我們有了一個很好的基礎(chǔ)來開始研究低多邊形模型。
為了從此基礎(chǔ)上獲得低多邊形模型,我刪除了該模型的所有未生成輪廓的幾何圖形。所有不會對輪廓產(chǎn)生影響的細節(jié)都將在法線圖中繪制,并且將正常工作。?

-ZBrush中的細分
對于此工作流程,將在3ds Max中創(chuàng)建具有所有所需詳細信息的模型。我以所需的方式設(shè)置了模型的“平滑組”,并添加了“ UVW展開”修改器。在UV編輯器中,我選擇了所有UV島,并使用“平滑組”(Smoothing Groups)使用“ Unwrap”功能對其進行了包裹,而不管這些島是重疊的還是包裹得很差,因為我只這樣做了,以便以后可以在ZBrush中創(chuàng)建多邊形組。?
使用FBX導(dǎo)出器/導(dǎo)入器工具將具有所有所需細節(jié)的3ds Max模型導(dǎo)入到ZBrush中,然后在“多邊形組”部分中選擇“使用Uv進行自動分組”,從而從3ds Max中未包裝的UV島創(chuàng)建多邊形組。創(chuàng)建多組后,該進行Dynamesh了。?
在模型中具有所需幾何形狀的情況下,我們繼續(xù)對彎曲區(qū)域進行平滑處理,為此,我們使用“按要素拋光”選項,直到?jīng)]有發(fā)現(xiàn)任何構(gòu)面為止。?
創(chuàng)建平滑邊緣的最后一步是在Masking部分中激活“ Groups”的情況下按下MaskByFeature。這樣,在多邊形組中創(chuàng)建的遮罩就會更改。我們將這種面膜與GrowMask配合使用,直到達到所需尺寸為止。我們還可以使用SharpenMask和BlurMask為它提供所需的硬度。?
當(dāng)遮罩覆蓋所需區(qū)域時,在視口的任何空白區(qū)域中按Ctrl + Alt + Left單擊以反轉(zhuǎn)遮罩,然后使用變形部分中的``拋光''滑塊,直到獲得所需的邊緣柔軟度為止。

就像在3ds Max的細分工作流程中一樣,我們可以使用帶到ZBrush的模型作為清理不必要的幾何的起點。
我使用Marvelous Designer創(chuàng)建了墻模塊的氣囊,并在3ds Max中創(chuàng)建了基本模型,以便能夠使用它進行模擬。
UV展開
要使用3ds Max編輯器解開UV,我通常如下進行操作:我正確設(shè)置了模型的“平滑組”,請始終牢記,如果角度變化大于45度,則必須更改“平滑組”。
平滑組的每次更改都意味著將減少UV,即不同的UV島,但是可以進行其他切割以放松UV島,但這并不意味著平滑組的更改。
為了正確地展開UV島,最初,我使用選項“通過平滑組進行平整”來選擇所有島,然后使用選項“快速剝離”。如果我們正確設(shè)置了平滑組,這將為我們展開展開提供很好的基礎(chǔ),因為這些島將正確分開。如果任何一個島的張力太大,可能在我們的UV中產(chǎn)生變形,我們將引入其他切口。如果沒有使用Quick Peel正確解開任何孤島,我通常會使用Pelt Map選項來更精確地控制解開。
當(dāng)我們正確地將所有島嶼解開后,就該將所有島嶼盡可能平直了。為此,我通常首先選擇要完全水平放置的邊緣,然后按“對齊邊緣”選項。然后,選擇其余幾條幾乎水平的邊緣,然后按“水平水平對齊”,然后對幾乎垂直的其余邊緣按“垂直對齊”,以使其完美對齊。
將所有可能的邊緣完全筆直將阻止我們獲得鋸齒效果,該鋸齒效果是在存在傾斜邊緣時在紋理中生成的,這在法線貼圖中通常尤為煩人。
將所有島嶼解開并盡可能平直,是時候打包了。為此,我在3ds Max的UV編輯器中的方法是選擇所有UV島,然后選擇“重新縮放元素”選項-這會將我們所有的UV島轉(zhuǎn)換為相對于其他島的正確大小,即像素密度為所有島嶼的紋理都相同。
稍后,我使用“打包歸一化”選項,改變填充選項,直到獲得正確的填充。
這樣,我得到了自動打包的UV,這些UV作為手動重定位我考慮的島的基礎(chǔ),以免在UV中留下空白。如果有一個空白空間無法填充場景中的任何其他元素,我通常會選擇增加一些UV島的大小,這些UV島在場景中將更加明顯,就像我通常會減小如果我在UV貼圖上需要更多空間,幾乎看不到UV島。
由于練習(xí)獨特的烘焙是課堂作業(yè),因此我被要求在沒有修剪板或自定義法線的情況下做走廊。

我決定對每200平方厘米的紋理使用2048x2048的貼圖,從而得出2048像素/ 200厘米的Texel密度= 10.24像素/厘米。要在3ds Max中使用Texel密度,我通常使用TextTools插件的texel工具,我只是創(chuàng)建一個具有所需texel密度的平面,復(fù)制texel密度,然后將其粘貼到另一個網(wǎng)格中。這將以該紋理像素密度將我們的網(wǎng)格UV縮放到合適的大小。
烘烤階段?
為節(jié)省導(dǎo)入Marmoset的時間,使用良好的命名法非常重要。我通常使用Marmoset快速加載程序,通過此工具,我只需要為低多邊形模型的每個部分選擇一個名稱,后綴“ _low”,然后調(diào)用該模型的高多邊形部分中的所有部分具有相同的名稱,后跟“ _high”后綴,其后是一個可選的后綴“ _part1”,用于指示高端模型的哪個部分。
例如:object_low,object_high,object_high_variation1,object_high_variation2
這樣,我們可以從3ds Max中導(dǎo)出要在同一紋理貼圖中烘焙的所有模型,并且在導(dǎo)入時使用此命名法,Marmoset Quick Loader會自動將場景中的所有烘焙組正確分組。
Marmoset的另一個優(yōu)點是可以通過“最大偏移”滑塊輕松更改烤籠。我們還可以使用“油漆傾斜”功能來決定對象法線的烘焙方向,這非常有用,因為應(yīng)該將法線貼圖在平面上的所有細節(jié)都涂成完全黑色的值,以便強制法線的烘焙方向。使其完全垂直于表面位置,否則可能會在烘烤過程中出現(xiàn)不必要的變形。
為了節(jié)省盡可能多的時間,我的程序是首先僅烘焙具有低質(zhì)量參數(shù)和非常低分辨率的法線貼圖。然后,我完美地調(diào)整了保持架和偏斜度,并使用通常是我將在引擎中使用的目標(biāo)分辨率的兩倍的分辨率來微調(diào)參數(shù):

讓我們來談?wù)勎以贛armoset烘焙的地圖:
法線貼圖:在我的情況下,我翻轉(zhuǎn)“ Y”通道,因為我的地圖目標(biāo)是Unreal Engine,默認(rèn)情況下可與DirectX一起使用。相反,對于Unity,我們不應(yīng)該翻轉(zhuǎn)此通道,因為默認(rèn)情況下它可用于OpenGL。
環(huán)境光遮擋:烘焙環(huán)境光遮擋時,我只想生成每個對象自身的光遮擋(一般的光遮擋將添加到馬達中),因此停用“地板光遮擋”和“忽略組”的參數(shù)很重要。 ”在此地圖的配置中。
厚度:在Substance Painter中進行紋理化時,必須使用此貼圖,以后我將使用的許多生成器都使用此貼圖。
材質(zhì)ID:當(dāng)僅在我們的高多邊形中存在但在低多邊形中存在的零件中要創(chuàng)建蒙版并對不同材質(zhì)進行紋理化時,此貼圖非常有用。
在3ds Max中,將不同的材質(zhì)添加到我們稍后要在Substance Painter中創(chuàng)建的每種材質(zhì)(一種材質(zhì)為鋼,一種材質(zhì)為橙色漆,一種材質(zhì)為白漆……),然后導(dǎo)出帶有“嵌入媒體”選項的模型以進行烘焙。 ”在我們的導(dǎo)出設(shè)置中激活。
如果不想丟失我們在3ds Max中指定的顏色,則可以通過像Marmoset Toolbag中的Albedo貼圖一樣烘焙它來獲得此貼圖。如果我們只是烘烤材質(zhì)ID,Marmoset將分配隨機顏色。
曲率:當(dāng)我們要使紋理遮蓋對象邊緣時,此貼圖非常有用。Marmoset貼圖的結(jié)果通常是一個相當(dāng)細的邊框,因此,如果我們想要一個具有更粗邊的蒙版,我們也可以烘焙貼圖,以便在Substance Painter中獲得此結(jié)果。我通常在兩個軟件包中烘焙此貼圖,以選擇兩個曲率貼圖中的哪一個為我提供更好的效果,具體取決于在Substance Painter中進行紋理化時要使用哪種遮罩類型。
高度:僅當(dāng)我們要在引擎內(nèi)部使用鑲嵌或視差遮擋時,才使用此貼圖。我在兩個元素上使用了視差遮擋。
世界空間法線和位置:當(dāng)使用生成器或智能蒙版時,這兩個貼圖在Substance Painter內(nèi)部使用,而我在Substance Painter中烘烤它們而無需添加高多邊形。


織構(gòu)階段
要開始紋理化,從一開始就聲明要使用哪種調(diào)色板非常重要。因此,我進行了一些測試,將來自不同調(diào)色板的基礎(chǔ)顏色添加到我的某些模塊中,并查看哪個效果最佳。最后,我選擇了這個調(diào)色板。

一直以來,將模型帶入引擎是一個好主意-在這種情況下為Unreal-在我們在目標(biāo)平臺上前進時查看我們的紋理,因為每種軟件解釋紋理的方式始終存在細微的差異。
接下來,我將逐步解釋我如何處理一種紋理:
基礎(chǔ)材料定義:盡管看起來不是很,但這部分是該過程中最重要的部分。良好定義基礎(chǔ)材料將為我們提供所需的信譽。在這種基礎(chǔ)材料中,我通常會調(diào)整顏色,粗糙度和金屬行為。然后,我繼續(xù)努力。?
當(dāng)產(chǎn)生我們材料的磨損時,重要的是要弄清楚它們發(fā)生了什么,即磨損必須講一個故事。我決定我的飛船以前曾停在某個類似地球的野外行星上,因此沿著走廊走過的乘客留下了灰塵和沙子的痕跡。分析材料在現(xiàn)實中的工作方式也很重要。為此,尋找真實的參考非常有用,盡管大廳是科幻飛船,但我們總是可以找到在現(xiàn)實中會產(chǎn)生類似磨損的材料和物體。我選擇在工業(yè)機械中尋找參考,以了解表面如何磨損以及污垢如何分布。
我們開始制造材料的磨損:
油漆表面的劃痕和剝離:為了達到這種程度的退化,這次我創(chuàng)建了將在油漆下面的金屬材料,并使用Metal Edge Wear生成器對其進行了遮罩。為了有更多的手動控制,我終于在減影模式下添加了一個油漆層,用諸如污垢刷之類的合適的刷子用白色值進行油漆,以手工擦除那些不能說服我的金屬區(qū)域。
焊接:為了產(chǎn)生焊接效果,我創(chuàng)建了具有所需基礎(chǔ)顏色的基礎(chǔ)材料填充層,并最小化增加了height參數(shù),以在法線貼圖上為其提供一些信息,并且粗糙度很高。我將金屬值設(shè)置為1,因為它是金屬。在我想模擬油漆下而不是直接在金屬上的焊縫的區(qū)域中,我只是使用了具有更高高度的層,而沒有更改任何其他參數(shù)。為了創(chuàng)建焊縫,我使用了Substance Painter焊接工具,該工具經(jīng)過謹(jǐn)慎操作并使用正確的基礎(chǔ)材料可以提供非常好的結(jié)果。?
氧化物:為了產(chǎn)生防銹效果,我使用了一種具有所需顏色基礎(chǔ)和粗糙度也很高的基材。這次將金屬值設(shè)置為0,因為金屬在氧化時會失去其特征性的金屬反射率,而使其具有金屬性將是對PBR的誤解。為了創(chuàng)建蒙版,我使用了在Substance Painter中生成的曲率圖和線性減淡模式(添加)中的grunge貼圖,以便在曲率圖未遮蓋的區(qū)域中添加氧化物。然后,我在減色模式下使用了另外一對垃圾貼圖,直到獲得大約所需的數(shù)量。最后,像往常一樣,我在減色模式下添加了一層油漆,以便能夠消除對我不感興趣的區(qū)域中的氧化物。?
灰塵:這次,我主要使用灰塵在粗糙度圖上產(chǎn)生變化和對比度。我決定制作兩層,一層較軟,普通粉塵,另一層在特定區(qū)域(例如,大部分會堆積的接縫和凹槽)積聚更多的灰塵。
在較柔軟的灰塵層中,我在底色上使用了相當(dāng)暗的顏色,以使它不太明顯,并具有中等高的值粗糙度,然后將金屬值移動到0。要生成蒙版,我使用了污垢在grunge部分的貼圖中,我通過添加一些級別對其進行了調(diào)整以進行更多的對比,最后以乘法模式中的一個bnw點貼圖來稍微破壞蒙版的同質(zhì)性。
在特定的灰塵層中,我使用了比以前的顏色更淺的顏色的底材,以使其更加可見,非常高的粗糙度值,并且還使金屬含量為0。
要創(chuàng)建蒙版,我首先從Quixel下載了一個缺陷圖,您可以在其中找到非常好的圖作為蒙版的基礎(chǔ)。在它上面,我添加了一些層次來進行對比,最重要的是,遮罩編輯器生成器調(diào)整了一些參數(shù)并使用了乘法模式,以便只有白色值保留在會有環(huán)境光遮擋的區(qū)域(這是污垢所在的區(qū)域)大部分會累積)。在此結(jié)果之上,我在正常模式下添加了一種涂料,以便能夠在需要的地方使用塵刷手動添加或清除灰塵。
潤滑脂:在我的材料中添加潤滑脂非常有用,我能夠添加非常低的粗糙度值并最大限度地利用粗糙度圖上的可能范圍。我調(diào)整了幾乎是黑色的基本色,其粗糙度非常接近純黑色,但沒有達到,因此使該材料非金屬。在這種情況下,我只希望它位于非常特定的區(qū)域。我在黑色面罩內(nèi)使用了油漆層,以手動使該油脂在我感興趣的區(qū)域中可見,然后添加非常柔和的模糊效果以柔化面罩。
紋理完成后,我總是在Substance Painter或Photoshop中為我的基礎(chǔ)顏色添加一個小的銳化,這樣我就得到了錯誤的感覺,即擁有分辨率更高的紋理。

在我們創(chuàng)建稱為PBR Validate的材料的所有層之上添加通常也是一個好習(xí)慣。這將幫助我們檢查紋理是否為PBR使用了正確的值,以紅色向我們顯示了不正確的區(qū)域。

為了優(yōu)化時間,我用油漆和金屬材料創(chuàng)建了智能材料。這樣,只需要更改油漆的基色并重新油漆我先前在每個模型中手工繪制的圖層即可。
用于非發(fā)動機的紋理的制備?
降低紋理的引擎成本的一種極好方法是將它們混合以在很大程度上減少紋理的數(shù)量。我們可以將灰度紋理(粗糙度,金屬色,環(huán)境光遮擋,高度,自發(fā)光,不透明度...)混合使用,方法是將這些紋理分別放置在紅色,綠色,藍色通道或Alpha通道之一中。我為此項目創(chuàng)建了紋理,以使粗糙度貼圖進入紅色通道,金屬進入綠色通道,AO進入藍色通道(RMA),并在必要時利用alpha通道在需要的材料中添加視差遮擋的高度貼圖或發(fā)射貼圖。
通過在Substance Painter中創(chuàng)建導(dǎo)出配置文件或在Photoshop中手動混合它們,可以完成此過程。這是在Substance Painter中執(zhí)行的操作:

用后綴“ _NRM”命名法線貼圖很有用,這樣,當(dāng)將其導(dǎo)入到虛幻引擎中時,它將被識別為法線貼圖,并且對該類型的圖貼進行的所有必要調(diào)整都將應(yīng)用于此紋理。
將資產(chǎn)導(dǎo)入虛幻引擎?
將網(wǎng)格導(dǎo)入虛幻引擎時,重要的是添加前綴“ SM_”,以便虛幻引擎將我們的網(wǎng)格識別為靜態(tài)并適當(dāng)?shù)嘏渲盟鼈儭N沂褂昧艘韵屡渲茫?/p>
此外,我在3ds Max中為每個模塊生成了一些非常簡單的碰撞網(wǎng)格,必須是凸形的。使用適當(dāng)?shù)拿ǎ骸?UCX_ [RenderMeshName] _ ##”并激活導(dǎo)入碰撞網(wǎng)格參數(shù),在導(dǎo)入時將其自動添加到模型中。因此,我們將不必在虛幻引擎中生成它,并且三角形的數(shù)量也將得到更優(yōu)化。從建模開始就考慮對象和模塊的樞軸點也很重要,它必須放在邏輯上才能舒適地放置在虛幻中。例如,對于模塊,我們甚至可以將其從阻塞階段鎖定到較低的角落。這樣,我們可以重新導(dǎo)出模型,如果樞軸點仍在正確的位置,它將在場景中刷新自身而不會丟失其位置。
將紋理導(dǎo)入虛幻引擎
導(dǎo)入紋理時,我只需要擔(dān)心將RMA映射中的壓縮設(shè)置更改為“ masks(不是sRGB)”,以便將每個通道都視為一個單獨的映射。對于我在Alpha中導(dǎo)入的,沒有任何貼圖的所有紋理,我激活了“無alpha壓縮”參數(shù)。當(dāng)使用后綴“ _NRM”重命名法線貼圖時,導(dǎo)入紋理時將正確應(yīng)用設(shè)置,并且我們不應(yīng)更改任何參數(shù)。
引擎中的霍爾組件
為了在手動放置每個模塊時達到完美,如我在阻塞階段中所述,必須使模塊尺寸完全適合,并用我們感興趣的值激活Unreal中的網(wǎng)格捕捉(在我的情況下,我將其調(diào)整為50厘米)。理想情況下,有必要從頭開始進行組裝,即從阻塞開始,以便在我們前進時簡單地重新導(dǎo)入模型,并從一開始就了解我們的階段。此外,這將使我們能夠確保模塊大小沒有任何問題,并避免以后出現(xiàn)嚴(yán)重的意外情況。
我對某些模塊進行了更改,例如帶有液壓臂的壁(將臂放置在不同的位置)和支柱(在其中一些壁中,我打開了裝有醫(yī)療箱的門)。


我們可以使用Unreal視口的著色器復(fù)雜度模式在舞臺上檢查著色器的復(fù)雜度,這是一種檢查是否應(yīng)該優(yōu)化任何元素的好方法。具有透明度和粒子系統(tǒng)的物體將永遠是引擎最昂貴的物品。

創(chuàng)建有用的材料和工具
創(chuàng)建主要材料
我選擇創(chuàng)建一種主要材料,該材料將用于我的大多數(shù)模塊,并公開一些參數(shù),以便能夠在每種材料的實例中對其進行調(diào)整。


創(chuàng)建藍圖以生成電纜?
在考慮解決布線問題時,我意識到為我需要的每條電纜制作唯一的模型是不可行的,因此我決定制定一個藍圖,以幫助我在Unreal中進行布線。這樣,我只需要導(dǎo)入具有某些幾何形狀的電纜段即可彎曲它和一些小的紋理,因為此藍圖允許我們通過自動制作電纜段的實例以所需的方式在Unreal中變形樣條線。我們只需要將藍圖拖到我們的視口中,并指明我們要使用的網(wǎng)格以及網(wǎng)格的方向。


要開始照明場景,請考慮以下步驟,這一點非常重要:
我們必須創(chuàng)建一個會影響整個場景的后期處理體積,并停用自動曝光參數(shù),以使其不影響場景,并且可以看到真實的照明。最初關(guān)閉“屏幕空間反射”和“屏幕空間環(huán)境光遮擋”也非常有用。我們必須禁用小插圖效果和綻放。為了使靜態(tài)光影響我們的動態(tài)對象(例如打開的門),我們必須在體積照明明細單元大小中更改光點參數(shù)的數(shù)量-這樣,更多的光點將導(dǎo)致更多的照明細節(jié)。
我們添加了一個覆蓋整個環(huán)境的重要重要性量。要在場景中創(chuàng)建反射,我們必須添加一些散布在舞臺周圍的球體反射捕獲。
這樣,由于后處理效果可能會改變我們對最終結(jié)果的感知,因此我們將能夠看到照明而不會發(fā)生變化。
調(diào)整光照貼圖的大小以在整個場景中保持均勻也是很重要的。我們可以在每個網(wǎng)格的屬性內(nèi)執(zhí)行此操作,提高或降低地圖的分辨率,并使用光照圖密度視口,以紅色顯示多余密度的部分,以藍色顯示密度不足的部分。理想情況下,所有光照貼圖必須盡可能綠色。

我添加的第一個光點是從邏輯點發(fā)出的,即從照明設(shè)備發(fā)出的光。就我而言,我在走廊天花板的中央部分有一些圓形的,在天花板模塊的側(cè)面有另一個矩形的。
圓形燈具是聚光燈,我給它們提供了稍微暖和的燈光顏色,而矩形燈具是具有較冷的燈光顏色的rect燈,所有靜態(tài)燈都具有以下配置:

后來,我調(diào)整了模塊的發(fā)射率,以使它們影響靜態(tài)照明,除了不會變成靜態(tài)的門(針對每種情況調(diào)整發(fā)射率),如下所示:

最后,我觀察到走廊側(cè)面的下部很暗。這不一定是壞的。如果我們的模塊沒有完全點亮,則無需擔(dān)心,以藝術(shù)方式產(chǎn)生所需的效果。但以我為例,我決定添加一些指向模塊的直角燈,為這些部件提供更多的照明,并部分分解此半影。

最后,我決定制作一些閃爍的燈光以營造出令人毛骨悚然的氛圍,并附帶給場景增添動感。為此,我創(chuàng)建了一個燈光功能,該功能可以使燈光閃爍,而材質(zhì)也可以使我要放置這些閃爍的燈光的發(fā)光材料閃爍。

這是燈光功能,我在其中公開了眨眼速度的一些參數(shù),以便能夠創(chuàng)建材質(zhì)實例并修改速度,以使燈光異步閃爍。

這是我在其中添加了發(fā)光眨眼功能的主要材料,其中我還公開了與燈光功能相同的參數(shù)以具有相同的控件。

這些是我在Lightmass中用于最終照明的設(shè)置,因為在進行了幾次測試之后,它們?yōu)槲規(guī)砹俗罴训慕Y(jié)果,而沒有無休止的等待時間。

我特別感謝我的同學(xué)和朋友I?igoCebollero Orella在照明階段的幫助。
使用實時光線追蹤
為了能夠使用“光線跟蹤”功能,我們必須在“項目設(shè)置”的“平臺”部分中將defaultRHI更改為DirectX 12,并在項目設(shè)置中的“渲染”部分中激活“光線跟蹤”框。這是我在“后處理”卷中用于射線跟蹤的配置。

下面,我將比較以下結(jié)果:射線追蹤反射與屏幕空間反射,以及標(biāo)準(zhǔn)環(huán)境光遮擋與光線跟蹤環(huán)境光遮擋。


指數(shù)高度霧和粒子配置
為了使場景更有趣,我決定還添加一個帶有藍色Inscattering顏色的非常細微的ExponentialHeightFog體積。

指數(shù)高度霧是虛幻內(nèi)部的一個非常有用的體積,如果我們不濫用它,則可以幫助我們使舞臺更有趣,因為它通過與燈光交互而產(chǎn)生變化。

為了使燈光影響ExponentialHeightFog,我們必須在每個燈光的設(shè)置中激活“投射體積陰影”框。

我還添加了一些虛幻的原生塵埃和塵埃粒子,它們散布在地板和墻壁之間,使場景更加動感。
從場景中截取屏幕截圖
要拍攝屏幕快照,我決定使用Nvidia Ansel插件,通過它可以獲取非常高分辨率的照片。后來,它們可以縮放到4K分辨率,這使我們避免了如果我們直接在4K中制作屏幕快照而不會造成虛幻崩潰的情況,則會產(chǎn)生鋸齒。此外,此插件使我們可以創(chuàng)建360o圖像。要使用此插件,我們必須在插件窗口中將其激活,選擇以獨立游戲模式播放場景,然后按Alt + F2。這樣,將打開包含所有選項的Ansel窗口,我們將準(zhǔn)備使用它們。

轉(zhuǎn)~https://80.lv/articles/power-overload-creating-a-sci-fi-environment-in-ue4/
微信公眾號關(guān)注:CG小蘇?
更多免費~
更多CG資訊等著你~
