Unity展廳模型預處理UV拆分光影烘焙材質後處理特效製做流程【2020】

  應不少讀者的要求,本文小姐姐將以一個用戶的展廳VR場景爲例,詳細講解Unity3d的VR開發在美工階段的模型預處理、UV2拆分、貼圖優化、光影烘焙、後處理與特效製做以及最終做品優化的基本方法和流程,其中涉及Build-in RP(Build-in Rendering Pipeline-內置渲染管道)、URP(Universal Rendering Pipeline-通用渲染管道)、HDRP(High Definition Rendering Pipeline- 高清渲染管道)和PBR(Physically Based Rendering-基於物理渲染)材質的應用,但願本文對使用unity3d進行VR開發但沒經驗及致力於虛擬展廳製做童鞋們理清思路有所幫助。安全

  這裏特別說明一下,小姐姐在CSDN裏發表了不少Unity3d相關的文章,天天有五六百人由於技術障礙,搜索到小姐姐的文章閱讀來解決實際項目中的問題,撰寫技術文獻實屬不易,小姐姐在這裏沒有任何報酬,您的點贊或關注是小姐姐筆耕不輟的最大動力!若是在閱讀過程當中有什麼疑問,可V聯小姐姐,我將盡全力解答您的提問。ide

  咱們先來看看本案例在內置渲染管道下的效果截圖:測試

在這裏插入圖片描述在這裏插入圖片描述優化


在這裏插入圖片描述在這裏插入圖片描述動畫


在這裏插入圖片描述在這裏插入圖片描述ui


在這裏插入圖片描述在這裏插入圖片描述spa


在這裏插入圖片描述在這裏插入圖片描述.net


在這裏插入圖片描述在這裏插入圖片描述插件


在這裏插入圖片描述在這裏插入圖片描述3d


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  上面這些圖片是一個用戶跟隨小姐姐的視頻教程臨摹幾周後獨自完成的實際項目的截圖,相信一些童鞋看到這些圖片必定很眼饞,由於不少童鞋沒有項目實戰經驗,單憑對Unity3d的一點點了解,硬着頭皮靠本身摸索着推動項目,障礙一個接一個,搞得精疲力盡,可最後完成的卻做品黯然失色。你們都知道,Unity3d的美工是做品的顏值和賣相,若是美工不過關,即便做品功能再強大,別人是不給你機會的,更別說讓用戶承認了,下面小姐姐將帶着你們一塊兒來完成這個項目的美工部分。

  須要說明的是,因爲一些建模師不熟悉unity3d的美工製做,經常被美工要求反覆修改模型,另外一方面,因爲不合理的模型構建方法,給後續的光影烘焙和場景優化帶來不少問題,所以,要作好Unity的美工,就得從建模階段入手,作好一些模型的預處理。


1. 場景結構簡介

  本案例的3dmax模型以下圖所示,這個場景的原始模型是另外一用戶的提供的,因爲這個用戶對Unity3d的美工的掌握和不少童鞋同樣只停留在概念階段,沒有經驗,基本也是一邊摸索一邊推動,結果發現困難重重,儘管他的機器很高端,可是製做的U3d場景蒼白暗淡,沒有美感,並且很是卡頓,最後作不下去了,向小姐姐求援。當小姐姐打開Unity工程的時候,發現材質、貼圖、燈光很是多,不少模型穿插,重面、破面也不少,無奈之下,小姐姐只好放棄他的Unity工程,從3dmax場景開始,從新修改模型,下面的就是小姐姐從新修改後的場景截圖。

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  當小姐姐打開用戶提供的原始3dmax場景時,發現貼圖有215張,材質有264個,並且不少頂點沒有焊合。據這個用戶講,他們團隊的模型師主要作影視動畫的建模,難怪會有200多個貼圖和材質,由於動畫最終提交給用戶的只是視頻(圖片序列),場景渲染的機器配置通常都比較高,建模時不須要過多考慮模型的面數和貼圖與材質的數量,而VR和AR提交的是實時運行的3D場景,播放環境多是電腦,也多是手機,或者是網頁或者3D眼鏡等,這些環境下的播放設備不可能像開發者的機器同樣配置很高,因此Unity對模型的要求很是苛刻,在建模階段,必須作好場景的優化和預處理,不然會給後續的美工製做埋下災難性的隱患。

  由上圖可見,這是一個展廳場景,其中有大量的史料圖片,按照現代展廳的風格,這些圖片都會用背噴燈片作成燈箱,這個可做爲後面佈設燈光的依據。


2. 建模階段的預處理


  小姐姐在《 Unity3d辦公場景燈光佈設與光影烘焙及後處理》一文中詳細講解了建模階段的預處理,其中包括建模方法的優化; 模型拓撲佈線優化預處理;重疊、隱藏面優化清理;材質、貼圖的優化預處理; 基於燈光的模型預處理;碰撞物優化預處理和拆分UV2的預處理,你們可移步此文去閱讀,這裏僅對其中的材質和貼圖優化預處理、遮擋剔除和視錐剔除優化預處理、基於燈光的模型預處理、碰撞物預處理進行討論。

⑴. 材質和貼圖優化預處理

  前面小姐姐提到過,用戶提供的原始模型貼圖和材質多達200多個,如此多的貼圖和材質,勢必會增長機器開銷,致使做品實時運行卡頓,尤爲是在移動端和3D眼鏡中瀏覽,這確定是沒法接受的,所以必須消減貼圖和材質的數量。

  從前面的模型截圖能夠看到,貼圖最多的是那些展牌,原始模型之因此材質數量太多,是由於建模師把每張貼圖都作成了單獨的材質,因此小姐姐考慮將全部的貼圖分組合並,具體操做以下圖步驟所示,之因此用拼音命名,是由於這些羣組的名稱會被傳遞到Unity中,爲防止一些插件不支持中文,因此建議最好用拼音或英文。

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  按照上述操做以後,就將全部剛纔選擇的那些展牌的貼圖在max中烘焙成了一張4096x4096的貼圖,以下圖所示,須要說明的是,上面將目標通道設爲3,是由於UV1被以前的物體貼圖佔用,UV2要給光影圖用,默認是1,若是不改成3,在烘焙前會先展UV,並存放在通道1上,這樣以前的貼圖就會錯亂,烘焙後的這張圖也是錯亂的,因此必須改成3。

在這裏插入圖片描述在這裏插入圖片描述


  下面咱們要將剛纔烘焙的這張貼圖讓上面這些展牌共用,接下來按下圖所示建立一個新的標準材質:

在這裏插入圖片描述在這裏插入圖片描述


  默認狀況下新建立的材質的貼圖是在UV1通道上,以下圖所示:

在這裏插入圖片描述在這裏插入圖片描述


  接下來咱們將剛纔烘焙這些展牌時展開的UV3移動到UV1上,以下圖所示:

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述

  接下來點擊下圖所示的圖標,讓每一個展牌的UV1各自獨立,圖中綠色殼材質線框即刻消失。

在這裏插入圖片描述在這裏插入圖片描述


  經過上面的圖解步驟,咱們將上述的展牌的材質和貼圖就都合併成了一個,以前各自的材質即被空置,能夠安全清除,這種方法也稱之爲多物體共享一個材質和貼圖。

  另外咱們注意到,展牌的貼圖比以前的暗了不少,這是由於這張合併了的貼圖是經過max的烘焙所得,其中多少會有燈光的因素,因此應該將這張貼用ps打開,將其中的圖片用每一個展牌貼圖合併以前的原始貼圖從新逐個替換一遍,保存以後,這張貼圖的顏色就正常了。

  不少童鞋可能不習慣上面這種貼圖方法,只習慣一個物體的不一樣部分貼同一貼圖的不一樣部分(通常會將上述的展牌先合併爲一個物體,這樣作不是不能夠,可是對於後續的遮擋剔除和視錐剔除很是不利),對於不一樣物體貼同一貼圖的不一樣部分有點不太適應,但這是徹底能夠的,之因此這樣作,正是爲了知足後續Unity的遮擋剔除和視錐剔除之需。這裏插句題外話,不少讀者由於製做實際項目遇到技術障礙,急得團團轉,搜索到個人文章,向小姐姐求助,把小姐姐看成最後一根救命稻草。還有一些讀者學Unity幾年了,花了不少時間和精力,始終搞不定Unity的美工製做,因而搜索網上免費資料本身拼湊教程,結果仍是沒能如願以償。小姐姐的文章,只能讓你們理清思路,要真正掌握Unity的美工製做流程,必須學練結合,還須要前人的言傳,有些東西畢竟仍是無法用圖文來表達的,有興趣的童鞋能夠關注小姐姐的《Unity模型預處理布光烘焙後處理特效美工場景優化實戰視頻教程》,在聽講的同時,經過多案例臨摹和感悟,可能脫開教程,將所學的技術應用於實際項目,須要的話可去某寶關注或V小姐姐,好了,言歸正傳。

  上面這種方法是在每一個展牌各自都貼好了材質和貼圖以後爲消減材質和貼圖的數量的被動之舉。咱們也能夠在開始建模的時候,用手工展UV1的方法來作,也就是先規劃好展牌的分類,肯定哪些展牌的貼圖應該合併在一塊兒,而後用ps將這些展牌須要用的貼圖拼在一張大的圖片中,假設下圖是咱們事先拼好的一張大圖:

在這裏插入圖片描述在這裏插入圖片描述


  而後以下圖所示將其指定給一個新建的材質的Diffuse:

在這裏插入圖片描述在這裏插入圖片描述


  接下來將這個新建的材質賦給須要貼這張圖中小圖片的對應物體,以下圖所示:

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  經過上述的圖示步驟,可將多張拼合在一塊兒的大圖中的小圖,正確地貼到對應的物體上。接下來再選擇另外一個須要貼這張大圖中小圖的物體, 用一樣的方法將對應的小圖貼到其上,這種方法就叫手工展UV1,也稱爲手工拆分UV1,此法同樣能夠實現合併材質和貼圖的目標,與前一種方法不一樣的是,此法無需經過烘焙合併貼圖,因此貼圖不會變暗。

  以上討論了多個物體在不合並的狀況下將其材質和貼圖合併的兩種方法。

  接下來將場景中較小的展牌所有分離成單個的物體,以下圖所示,而後羣組,並命名爲「xiao_deng_xiang」,用上述的步驟同法泡製,將材質和貼圖合併爲一個。

在這裏插入圖片描述在這裏插入圖片描述


  最後將場景中全部的文字展牌所有分離成單個的物體,以下圖所示,而後羣組,並命名爲「wen_zi_deng_xiang」,也用上述的步驟同法泡製,將材質和貼圖合併爲一個。

在這裏插入圖片描述在這裏插入圖片描述


  經過上述的操做,場景中的全部展牌就被合併成了三個材質和三張貼圖,整個場景中的材質由264個驟減爲50個,貼圖由原來的的215張驟減爲50幾張,大幅度下降了機器負載,若是不作這樣的材質、貼圖優化預處理,導入Unity以後,會很是卡頓。

  這裏特別強調一點,unity3d有本身的材質系統,不兼容建模軟件中高級渲染器的材質,所以只需用標準材質貼基本的紋理便可。

⑵. 遮擋剔除和視錐剔除優化預處理

  Unity3d場景既要控制貼圖、材質的數量,也要控制物體的數量和場景中模型的總面數,爲此,一些童鞋經常將不少物體在建模軟件中合併(Attach),這樣一來,物體的數量減小了,可是模型面數卻無法消減。Unity3d引入了遮擋剔除和視錐剔除技術來優化相機視圖中模型的面數,若是爲了減小物體數量而將不少物體合併,反倒不利於Unity3d的遮擋剔除和視錐剔除,例如前面的展牌,若是將全部展牌物體所有合併,相機不管如何移動和旋轉,相機會認爲這些展牌的面數始終在視野以內,沒法將真正處於視野之外的模型面剔除,從而致使運行卡頓。這裏說明一點,模型面數對機器形成的負載相對物體的數量來講,要大得多,所以控制模型的面數比控制物體數量要重要的多。

  基於上述的概念,對於場景中衆多的物體,小姐姐傾向於對其分類羣組,不建議隨意合併,以方便在unity進行視錐剔除和遮擋剔除優化。

⑶. 基於燈光的模型預處理

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


⑷. 碰撞物預處理

  爲加速Unity的相機渲染,能夠依據場景的輪廓,構建以下圖所示的簡版模型做爲場景的替身,來接受Unity中碰撞物或稱障礙物(Colliders)的實時檢測,以防止相機自由下落或穿牆而過。這個簡版模型相對帶有複雜貼圖和光影圖的衆多場景模型的來講,計算量會小不少,所以會大幅度加速相機的實時渲染,這個簡版模型必須在建模軟件中預先構建好,並且應與場景模型重合,右下圖左上角可見,該模型只有300多個面,遠遠小於場景的總面數(18萬+),這個模型無需貼圖,也無需烘焙和渲染,僅用於碰撞檢測。

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  不少童鞋完成的做品跑起來很卡,大部分狀況是直接將場景中全部物體設爲了碰撞物,實時運行時,每幀都要檢測相機與全部物體的碰撞狀況,機器負載很是巨大,若是改用上面的簡版物體做爲碰撞物,做品跑起來當即就流暢多了,所以在建模軟件中的碰撞物預處理是很是必要的。

⑸. 拆分UV2

  前面和你們討論過拆分UV1,UV1是物體的紋理貼圖座標,咱們使用拆分UV1,合併了多個不一樣物體的材質和貼圖,UV2是物體光影圖的貼圖座標,拆分UV2,是爲unity中烘焙物體的光影圖拆分貼圖座標,小姐姐在別的文章中屢次強調,Unity3d的UV2拆分功能有缺陷,烘焙簡單的場景還行,對於實際的工程,一烘焙就出現黑斑、亮斑、硬邊、鬼影等缺陷,這些都是UV2的拆分缺陷引發的,要消除這些問題,得經歷無數次的參數修改和烘焙測試,耗時費力,因此小姐姐建議在建模軟件中拆分UV2,由於建模軟件中拆分的UV2在Unity中烘焙通常沒什麼問題,這個工做須要在模型導出前來完成,因此拆分UV2也屬於模型的預處理,下面咱們就來拆分這個案例模型的UV2。

  拆分UV2以前,得根據後期光影烘焙的須要,對整個場景進行一個規劃,也就是先肯定哪些物體須要烘焙,哪些不須要烘焙,不須要烘焙的物體就不須要拆分UV2了,須要烘焙的物體還得根據物體的重要性和麪的大小進行權衡,並本着節省光影圖的原則,儘可能將更多的物體拆分在一個UV2裏面。須要注意的是,拆分在一個UV2裏的物體,與前面拆分在一個UV1裏的物體沒有任何關係,各管各的事。不一樣的多個物體能夠共享一個紋理,不一樣的多個物體也能夠共享一個光影圖,這些都是由於不一樣的多個物體共享了一個UV1或UV2產生的,具體將哪些物體拆分在一個UV2裏面,這須要一些實戰經驗,若是有條件,可跟着個人視頻教程去臨摹案例來感悟和積累經驗。另外,做爲建模師,對後期的光影烘焙和場景優化等美工各階段必須有足夠的瞭解,不然構建的模型不是須要反覆修改,就是相互扯皮。

  由於這個場景中的牆體是最大也是最重要的,因此先來拆分牆體,可是若是把全部的牆體拆分在一個UV2裏,光影圖的分辨率須要設到4096X4096纔可能看上去不虛,但是光影圖太大,烘焙太費時、同時後期的實時運行負載太大,因此把牆體分爲南牆和北牆分別拆分,這樣南牆和北牆就能夠分別用2048X2048的分辨率來拆分了,一張4096x4096的光影圖至關於4張2048x2048的光影圖,兩張2048x2048的光影圖比一張4096x4096的光影圖的負載小一半。

  以下圖所示,選中南牆(將牆體上的展牌(燈箱)和地臺及3D文字等物體排除)全部物體,而後羣組,並命名爲「nan_qiang_2048」,請你們養成用英文或拼音命名的習慣,以防Unity中的某個插件不支持中文出問題,拼音用低劃線隔開是爲了好識別,由於有的人一看到字母就覺得是英文,直接就懵了,模型是要轉給美工的和程序的,得讓他們好識別。2048是表示這個羣組拆分UV2的分辨率,在羣組名稱裏標識,也是爲了傳遞到Unity中給美工烘焙時設定光影圖的分辨率時參考。

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  按下圖所示步驟拆分「nan_qiang_2048」羣組的UV2:

在這裏插入圖片描述在這裏插入圖片描述


  拆分的UV2以下圖所示,注意,雖然這些物體的UV2拆分在一個UV裏了,可是這些物體並無也不須要合併成一個物體,理由前面已經說過了。

在這裏插入圖片描述在這裏插入圖片描述


  看到這裏,相信童鞋們會用一樣的方法來拆分北牆了,具體過程這裏就不贅述了。接下來將選擇全部的展牌,並命名爲「deng_xiang_128」,有的人說展牌這麼大,這麼多,分辨率怎麼才設128呢,由於這些展牌後續要在Unity裏用發光材質做爲光源來照亮場景,而自發光的物體是不接受陰影的,也就是自發光物體上是不會有光影圖的,同時自發光物體的光照須要烘焙纔會有效果,要烘焙得設分辨率,捨得太大又毫無心義,因此這裏就設爲128。

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  按下圖所示的參數拆分後的結果以下,須要注意的是,拆分完一個羣組隱藏一個,一方面對於選擇物體方便,另外一方面不至於丟掉哪一個物體。

在這裏插入圖片描述在這裏插入圖片描述

  以此類推,將其餘物體根據須要分別羣組並拆分UV2,具體過程就再也不贅述,有關拆分UV2的方法就討論到這裏。最後強調一點,要分批次烘焙,就得在建模軟件中將物體羣組拆分UV2,之因此分批次烘焙,一方面是由於整個場景烘焙太費時,一旦某個羣組裏的物體有問題或者須要修改,只需修改後導入unity從新烘焙這個羣組就能夠了,已經烘焙好的沒有問題的物體是不受影響的,若是不分批次烘焙,每修改一次物體,就得把整個場景烘焙一遍,另外一方面,分批次推動烘焙,不至於等的讓人心急。


3. 模型導出

  模型的導出在別的文章裏面已經討論過了,在這裏再次討論,是由於須要告訴你們,若是要分批次烘焙,就得將上面的羣組一個一個導出成FBX文件,以下圖所示:

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述


  由於整個場景導出的FBX文件導入Unity後,其下的物體一旦有問題,是不能刪除的,以下圖所示,只有單獨的FBX文件是能夠刪除的,因此爲了能讓有問題的物體所在的羣組能單獨刪除,就得將建模軟件中的羣組分批次一個一個導出成FBX文件,這樣導入Unity後,即便烘焙了,刪除某個有問題的FBX文件,別的已經烘焙好的物體是不會受任何影響的,將有問題的物體在建模軟件中修改後,從新導入Unity中,只需烘焙這一個羣組就能夠了,不知道你們明白個人意思不。

在這裏插入圖片描述在這裏插入圖片描述


在這裏插入圖片描述在這裏插入圖片描述

  模型導出須要注意的問題就說到這裏。


4. 模型導入Unity


  模型導入Unity在別的文章中也討論過了,這裏須要討論的是當把分批次導出建模軟件的物體羣組FBX加載到場景時,有兩種方式,一種是直接拖至層級面板,一種是直接拖至場景中,這是兩種不一樣的方試,拖至層級面板,全部物體羣組會按建模軟件中的座標原點對齊,這樣每一個物體都按建模軟件中的相對位置定位,而直接拖至場景中,鼠標在哪,物體羣組就會放在哪,這樣整個場景就會散亂。

在這裏插入圖片描述在這裏插入圖片描述




5. 燈光佈設


  下圖爲全部模型導入Unity後搭建的場景,由圖可見,沒有任何層次,不少作程序的人和初學者,對美工沒概念,作的場景就這樣直接發佈了,這顯然是不行的,現代社會,任何產品都有美學的要求,對於Unity做品亦不例外,因此必須進行美工處理,美工的第一道工序就是場景布光。

在這裏插入圖片描述在這裏插入圖片描述


  和動畫、電影、電視場景同樣,Unity場景也須要採用經典的三點布光法(主光、輔光、背光)來照明,同時應根據場景的特色和實際狀況來佈設燈光。對於現代展廳,和舞廳、K廳同樣,通常都是密閉空間,主要靠人工燈採光和營造氣氛,無需天然光的參與,因此首先關閉默認的平行光和環境光,以下圖所示:

在這裏插入圖片描述在這裏插入圖片描述


因爲這裏文章有字數限制,更多內容可去CSDN閱讀,若有什麼問題可V詢(qtpl_wx)小姐姐,若是以爲小姐姐講的有道理,請給小姐姐的實戰視頻教程一些支持!

相關文章
相關標籤/搜索