揭秘《死者之书》之环境资源及特效创作
今天將由Unity的Demo團(tuán)隊(duì)的CG和VFX藝術(shù)家Zdravko Pavlov帶領(lǐng)大家了解攝影制圖資源、樹(shù)木以及VFX的創(chuàng)作過(guò)程。
攝影制圖法工作流
我曾經(jīng)在《Viking Village》、《The Blacksmith》和《ADAM》項(xiàng)目中參與過(guò)粒子效果、剛體動(dòng)力學(xué)和布料模擬的創(chuàng)作。然而《死者之書(shū)》項(xiàng)目則有些不同,這個(gè)項(xiàng)目中我需要使用攝影制圖法創(chuàng)建多個(gè)環(huán)境資源,這是一個(gè)全新的領(lǐng)域。
網(wǎng)絡(luò)上有很多文章是關(guān)于使用擁有攝影制圖法,多數(shù)文章會(huì)說(shuō),你需要數(shù)碼單反相機(jī)和帶有50mm定焦鏡頭的相機(jī)。但是我沒(méi)有這樣的設(shè)備,所以我決定使用自己的Sony a7II相機(jī)來(lái)做初步測(cè)試,這個(gè)相機(jī)有16mm-35mm變焦鏡頭, 像素為24MP,沒(méi)有反光鏡。但這個(gè)相機(jī)正好適合接下來(lái)的工作。
更寬的鏡頭會(huì)帶來(lái)更多的失真效果,但攝影制圖軟件會(huì)很好地處理這個(gè)問(wèn)題。定焦鏡頭會(huì)較為僵硬,而從理論上說(shuō),它會(huì)帶來(lái)更清晰的圖像。如果你在一個(gè)受控的工作室環(huán)境中進(jìn)行掃描,定焦鏡頭的效果其實(shí)很棒,在這樣的環(huán)境下,我會(huì)大力推薦定焦鏡頭。在戶外的時(shí)候,能夠使用高質(zhì)量變焦鏡頭來(lái)給想要的對(duì)象進(jìn)行構(gòu)圖將有助于之后的制作。
下面是我使用攝影制圖法初期進(jìn)行的一些探索。
?
我嘗試了多數(shù)熱門(mén)的攝影制圖軟件,其中一些效果不錯(cuò)。我選擇的是RealityCapture,因?yàn)樗哂惺謨?yōu)秀的性能,能夠處理大量圖片而又不至于耗盡內(nèi)存,它還能從圖片中重構(gòu)大量細(xì)節(jié)。我由此得到了多個(gè)模型,有時(shí)候模型有多達(dá)1.85億個(gè)三角形,它們都能以PLY格式成功導(dǎo)出。
?
這個(gè)數(shù)目已經(jīng)超出了預(yù)期,甚至稍微達(dá)到了極端。多數(shù)重構(gòu)內(nèi)容最后大約有5000~9000萬(wàn)個(gè)三角形。我一開(kāi)始使用的是GeForce 980Ti顯卡,后來(lái)?yè)Q成GeForce 1080顯卡,這樣能給我?guī)?lái)一些性能的提升。
我還將相機(jī)換成了Sony aRII,像素為42MP,帶有PlanarT*FE50mmF1.4ZA鏡頭。然而使分辨率變成原來(lái)的2倍并使用高級(jí)的清晰主鏡頭,并沒(méi)給我?guī)?lái)所期待的驚艷效果。
一方面,更長(zhǎng)也更狹窄的主鏡頭意味著需要退后幾步才能使圖像重疊,用來(lái)進(jìn)行畫(huà)面重構(gòu)。當(dāng)我們?cè)谏种袝r(shí),不一定這樣做,因?yàn)闃?shù)林中還有其它樹(shù)木、灌木等障礙。這還意味著我們必須管理、存儲(chǔ)和處理原有2倍的千兆級(jí)圖像數(shù)據(jù)。但盡管如此,還是不一定能得到更高分辨率的掃描結(jié)果。更多的圖片才能得到這樣的結(jié)果,所以使用24MP像素更容易控制。
?
?
?
?
?
?
我使用了PLY格式來(lái)導(dǎo)出高密度的幾何形狀。RealityCapture的PLY導(dǎo)出器沒(méi)有縮放功能和坐標(biāo)軸方向控制,所以PLY格式文件總會(huì)過(guò)大、旋轉(zhuǎn)方向不對(duì)。需要自己解決這個(gè)問(wèn)題。
多數(shù)軟件不能處理幾千萬(wàn)這個(gè)數(shù)量的多邊形,所以我僅僅存儲(chǔ)文件,使用RealityCapture的抽取功能制作出相同模型的低多邊形版本。得到的模型大概有100萬(wàn)個(gè)三角面。這樣的模型能在Zbrush、MeshLab或其它建模軟件中打開(kāi)進(jìn)行重拓?fù)洳僮鳌8鶕?jù)不同模型,需要使用了不同的重拓?fù)浞椒āN医?jīng)常使用的是ZRemesher,有時(shí)候則手動(dòng)處理。
?
?
我使用xNormal來(lái)烘焙紋理。xNormal不會(huì)受到數(shù)億三角形的影響,可以輕松處理它們。我使用頂點(diǎn)顏色信息來(lái)烘焙漫反射紋理。高多邊形中的頂點(diǎn)密度完全足夠用來(lái)制作干凈清晰的紋理,不需要任何頂點(diǎn)間的補(bǔ)間。
如果你的密度云不夠密集,或是有區(qū)域丟失,如下圖所示。從照片投射紋理可以給這些區(qū)域帶來(lái)更多細(xì)節(jié)。
?
多數(shù)攝影制圖教程會(huì)告訴我們?cè)趻呙枰粋€(gè)對(duì)象時(shí),最好能避免直接刺眼的光照和陰影。如果你要捕獲的是塊小石頭,你可以將它帶到陰涼處或甚至是工作室里,使用柔光盒和轉(zhuǎn)盤(pán)來(lái)方便掃描。對(duì)于樹(shù)木來(lái)說(shuō)則不需要那樣做,所以我會(huì)查看天氣預(yù)報(bào),希望能遇到多云的天氣。然而即使在陰天,仍會(huì)有陰影和環(huán)境遮蔽。
這個(gè)問(wèn)題可以通過(guò)Unity的DeLighting工具解決。只需要一個(gè)法線貼圖、彎曲的法線貼圖和烘焙AO即可。它可以在消除陰影的同時(shí)保持漫反射值不變。
?
?
DeLighting實(shí)際使用效果
我們得到的資源后導(dǎo)入U(xiǎn)nity中,測(cè)試動(dòng)態(tài)光照和著色器。
?
需要注意得是,有時(shí)候我們不一定能采集到模型的所有部分,也不一定能得到所有角度的畫(huà)面。也許會(huì)遇到時(shí)間不夠或是電量即將耗盡這樣的情況,所以我們會(huì)忽略一些東西,可能一直到回到家開(kāi)始處理數(shù)據(jù)時(shí)才發(fā)現(xiàn)這個(gè)情況。我在這個(gè)過(guò)程中犯了很多那樣的錯(cuò)誤,但我通過(guò)使用Substance Painter來(lái)克隆特征并修復(fù)丟失的數(shù)據(jù),挽救了部分作品。
?
實(shí)際游戲資源
《死者之書(shū)》創(chuàng)作周期很短,所以部分工作外包給了環(huán)境藝術(shù)家Tihomir Nyagolov,他對(duì)環(huán)境進(jìn)行了白盒建模。我們?cè)诟浇纳种胁杉瘮z影制圖數(shù)據(jù),這些工作自然地轉(zhuǎn)為制作最終游戲資源上來(lái)。我沒(méi)有環(huán)境藝術(shù)的背景,對(duì)處理游戲優(yōu)化、LOD等都毫無(wú)經(jīng)驗(yàn)。Tihomir Nyagolov使用GrowFx已經(jīng)創(chuàng)建了一些樹(shù)木的占位符,所以我從這里開(kāi)始接手工作并從中學(xué)習(xí)。
GrowFX是個(gè)十分強(qiáng)大而功能全面的工具,可以用來(lái)創(chuàng)建多種植被。它能夠與場(chǎng)景中的其它對(duì)象交互,可以實(shí)現(xiàn)各種獨(dú)特而自然的效果。構(gòu)建過(guò)程不會(huì)考慮游戲資源創(chuàng)建,足夠靈活。
?
《死者之書(shū)》中的樹(shù)林原本主要是針葉樹(shù)。我尋找并掃描了一些樹(shù)木。然后將GrowFX創(chuàng)作縫合到已掃描模型上。最后的樹(shù)干由掃描的模型和獨(dú)特的紋理組成,較低部分縫合到了程序化生成樹(shù)干,一直到頂部的剩余部分則使用可平鋪紋理。
?
在石塊和樹(shù)干上進(jìn)行攝影制圖是一回事,二手手游賣(mài)號(hào)掃描松葉完全又是另一回事。在這里我使用了Quixel,它給我們提供了精美的掃描地圖集。Quixel的工作人員與我們合作,為《死者之書(shū)》制作了大量小型資源,例如:草地、灌木和碎片等。
我們可以使用Quixel Megascans的地圖集,但對(duì)于類(lèi)似《死者之書(shū)》的實(shí)時(shí)項(xiàng)目中,我們需要做一些優(yōu)化。優(yōu)化包括構(gòu)建大型元素,例如:樹(shù)枝、樹(shù)頂?shù)?#xff0c;將這些元素排列成新的紋理、為法線貼圖轉(zhuǎn)換初始掃描數(shù)據(jù)、位移和傳輸?shù)取?/span>
已有的Megascans法線數(shù)據(jù)略有修改,從而給出偽造的總體體積印象。
?
我使用不同的法線編輯方法,例如:Normal Thief和其它自定義3DSMax構(gòu)建腳本,用來(lái)將樹(shù)枝與樹(shù)干混合起來(lái)。
?
通過(guò)使用這個(gè)方法,可以制作不同類(lèi)型的針葉樹(shù)。
?
?
風(fēng)
我們想要森林富有生氣,所以風(fēng)是一個(gè)關(guān)鍵要素。我們的環(huán)境藝術(shù)家Julien Heijmans設(shè)計(jì)了基于頂點(diǎn)著色器的風(fēng)動(dòng)畫(huà)解決方案,樹(shù)林則基于這個(gè)方案而設(shè)置。
創(chuàng)建矢量場(chǎng)有很多不同的方法。在熟悉了Chaosgroup流體處理器和PhoenixFD后,我決定看看能從中得到什么樣的可用數(shù)據(jù)導(dǎo)入U(xiǎn)nity。我導(dǎo)出場(chǎng)景模型,將它以FBX格式放進(jìn)3DS Max中,然后在其中運(yùn)行一些流體,流體會(huì)在植被周?chē)蜣D(zhuǎn)然后產(chǎn)生旋風(fēng)效果。較大樹(shù)木會(huì)擋住小型植被,所以效果在這里不會(huì)那么突出。
?
?
?
PhoenixFD流速通道的一些片段
我使用集成的PhoenixFD回放控件循環(huán)操作模擬的序列。然后通過(guò)PhoenixFD Texmap讀取矢量信息,將其標(biāo)準(zhǔn)化處理并作為漫反射紋理插入程序化創(chuàng)建的等值面。
?
?
一個(gè)模擬效果的水平片段示例
渲染圖像序列會(huì)被導(dǎo)入到Unity中組合最后的紋理圖集。我過(guò)去使用After Effects完成這個(gè)工作,但現(xiàn)在Unity擁有一個(gè)十分方便的Image Sequencer工具,它能自動(dòng)完成這個(gè)工作。這是由Unity在巴黎的GFX團(tuán)隊(duì)開(kāi)發(fā)的全新VFX工具。
?
創(chuàng)建的紋理圖集會(huì)放到場(chǎng)景中,我制作了一個(gè)小方框用來(lái)定義模擬效果的邊界,并將其用來(lái)作為位置的參照物。
這個(gè)實(shí)驗(yàn)推動(dòng)了預(yù)告片中一些鏡頭的視覺(jué)效果。如果你正使用Unity進(jìn)行影視制作,我推薦使用這個(gè)方法。它會(huì)插入主程序頂點(diǎn)著色器的風(fēng)動(dòng)畫(huà)解決方案中,這個(gè)方案是由我們技術(shù)主管Torbjorn Laedre為該項(xiàng)目開(kāi)發(fā),它用在預(yù)告片中的多個(gè)場(chǎng)景中,也在GDC上展示的主機(jī)版本中得到使用。后續(xù)文章中,Julien和Torbjorn將向你分享更多關(guān)于處理風(fēng)和最后方案的方法。
?
?
Unity中的動(dòng)畫(huà)矢量場(chǎng)
蜂巢
下面是項(xiàng)目早起,我對(duì)蜂巢的概念畫(huà)出了大致構(gòu)圖。
?
在完成最初的設(shè)計(jì)后,開(kāi)始構(gòu)建大量在游戲中使用的元素和 Unity資源。
?
?
使用pflow為蜂巢創(chuàng)建了一些群集 在Unity中組成的早期蜂巢原型
癲狂之人
對(duì)于癲狂之人群體,我對(duì)軀體變體進(jìn)行了一些探索。我使用了Chaosgroup的PhoenixFD,運(yùn)行了流體煙霧模擬。然后切開(kāi)癲狂之人形狀,并基于流體溫度創(chuàng)建了一個(gè)等值面。
?
這個(gè)方法可以快速預(yù)覽不同的形狀,它會(huì)用作常規(guī)參考。
液滴效果
為了實(shí)現(xiàn)癲狂之人面部的液滴效果,我使用了PhoenixFD。我制作了概念藝術(shù)的小驗(yàn)證用來(lái)展示,說(shuō)明我們能通過(guò)粘稠液體所能實(shí)現(xiàn)的效果。
?
?
驗(yàn)證PhoenixFD的翻轉(zhuǎn)處理器適用于制作液滴效果
我對(duì)總體結(jié)果和流體動(dòng)畫(huà)比較滿意,所以繼續(xù)設(shè)置真實(shí)模型。我的目標(biāo)是防止模擬效果形成太多的分離部分和液滴。我得到生成模型序列的其中一個(gè),然后對(duì)它進(jìn)行重拓?fù)?#xff0c;制作UV并使用WRAP3來(lái)將其投射到序列中剩下的形狀。最后我得到了一系列使用相同拓?fù)涞幕旌闲螤睢?/span>
?
我也嘗試在一些樹(shù)干上運(yùn)行液滴模擬效果。
?
最后的項(xiàng)目中我們沒(méi)有使用這些效果。然而這是個(gè)不錯(cuò)的方法,可以用來(lái)為掃描模型添加一些細(xì)節(jié)。
小結(jié)
《死者之書(shū)》中攝影制圖資源、樹(shù)木以及VFX的創(chuàng)作過(guò)程就分享到這里,后續(xù)我們將深入了解《死者之書(shū)》中的環(huán)境藝術(shù)創(chuàng)作過(guò)程,盡請(qǐng)關(guān)注! 更多Unity項(xiàng)目創(chuàng)作經(jīng)驗(yàn)分享盡在Unity官方中文論壇(UnityChina.cn)!
總結(jié)
以上是生活随笔為你收集整理的揭秘《死者之书》之环境资源及特效创作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《最后的守护者》的开发技术猜想
- 下一篇: 3D游戏开发套件指南(入门篇)