城市天際線資產(chǎn)制作完全入門教程:建模篇

鑒于國區(qū)玩家在幾日前的城市天際線全球建造大賽上令全世界刮目相看的優(yōu)異表現(xiàn),預(yù)期會有大批玩家開始對造景和資產(chǎn)制作感興趣。然而資產(chǎn)制作在國內(nèi)基本是空白的,不僅極度缺乏制作資產(chǎn)的人,更是缺乏基本的入門教程。尤其是B站上,這種教程幾乎沒有,或是即便有一些,也只是制作過程錄像而非嚴(yán)格意義上的教程,看了也是一頭霧水。因此我準(zhǔn)備了這份教程,以為國區(qū)資產(chǎn)的未來鋪路。
本教程主要著重于整套資產(chǎn)制作、導(dǎo)入、編輯和發(fā)布的工作流程和注意事項,并不會無比深入每個細(xì)節(jié)。對于某個特定步驟該怎么做,每一類資產(chǎn)都有很大差異,因此我只能提取精華來概述。
同理:制作資產(chǎn)使用的軟件的獲得及使用方法不屬于本文范疇。
-如何獲得軟件取決于你自己的選擇。如果沒錢,就盜版——國外某帶我入門的大佬原話
-不同軟件的使用方法差異明顯,但達(dá)成的目的是相同的,因此這部分應(yīng)當(dāng)參照該軟件的專門教程。
本文中所有重要概念、參數(shù)都會以雙語標(biāo)注,畢竟CSL是一款國際化游戲,而且資產(chǎn)制作的教程、資料也以英語居多。你發(fā)布資產(chǎn)時,這些你可能無所謂的參數(shù),會實際上地影響他人是否訂閱!因為這些參數(shù)可以判斷對電腦性能的影響!這不是玩笑!如果你光寫一堆簡介,而不把必要的參數(shù)貼上,有的人會直接無視你的資產(chǎn)。所以,請務(wù)必學(xué)習(xí)這些用詞的英文。
接下來進(jìn)入正文。請牢牢記住以下這段話。
一個游戲中的一切物體,都由Main mesh(主建模)定義基本的空間結(jié)構(gòu)。Texture(貼圖)則賦予物體基本的顏色,以及反光程度、發(fā)光程度甚至是凸凹程度等信息。貼圖與模型通過UV mapping(紋理貼圖坐標(biāo))建立聯(lián)系。
本篇專欄著眼于建模部分。
Main mesh(主建模)
Main mesh是資產(chǎn)的基礎(chǔ),它定義物體的空間結(jié)構(gòu)。當(dāng)游戲鏡頭靠近物體時,顯示的就是這個建模。

制作建模,首先要了解triangles count(三角面數(shù))這個概念:
在polygon建模中,模型在引擎里以mesh網(wǎng)格的形態(tài)存在,而mesh確定的是物體表面的頂點。CPU中確定的物體三維形狀數(shù)據(jù)(圖元)進(jìn)到GPU中,先送入頂點處理模塊,然后GPU會根據(jù)三個頂點自動連接一個三角面,以三角面的個數(shù)來處理物體表面的片元數(shù)據(jù)。
即建模的三角面數(shù)直接影響電腦渲染時的渲染性能!這與面的大小無關(guān)!
?
因此實際建模時:
重合的頂點應(yīng)當(dāng)合并,避免增大文件大小或是撞到頂點上限
(游戲?qū)S凶畲箜旤c數(shù)限制:65536)
無必要的面應(yīng)當(dāng)去掉,以求對性能的影響降到最低。
合理的三角面數(shù)主要取決于物體的大小及它本身的細(xì)節(jié)程度。

?
以下是一些游戲原生資產(chǎn)的三角面數(shù)作為對照:



事實上原生資產(chǎn)的三角面數(shù)浪費十分夸張,你做的資產(chǎn)三角面不論如何都應(yīng)控制在同類原生資產(chǎn)的一半左右。但由于顯卡性能的進(jìn)步,主建模的三角面數(shù)并不用太過糾結(jié)。(這不意味著你可以揮霍三角面數(shù)!)即便三角面數(shù)低于原生的四分之一,也不見得建模質(zhì)量就差,因為細(xì)小的凸凹細(xì)節(jié)完全可以用法線貼圖來實現(xiàn)以節(jié)約三角面。法線貼圖的內(nèi)容會在貼圖篇提及。
LOD mesh(LOD建模)
LOD是level of detail(多細(xì)節(jié)層次)的簡稱。它是主建模的大幅度簡化版。當(dāng)物體遠(yuǎn)離鏡頭到一定程度時,物體建模將變成LOD建模,以節(jié)約性能。
大幅度簡化版,顧名思義,一切不必要的統(tǒng)統(tǒng)去除,能簡化成啥樣就是啥樣。(比如遠(yuǎn)距離看不見的面就刪掉,能共用同一平面就共用。)通常而言,LOD的三角面應(yīng)控制在兩位數(shù)。對于特別大的物體,則可以放寬一些,但仍應(yīng)盡可能地少。
?

如果主建模導(dǎo)入時沒有附帶LOD建模文件,游戲會在導(dǎo)入時嘗試自己生成一個LOD。盡管聽上去可以偷懶,但事實上這功能經(jīng)常出問題,因此最好自己做一個LOD。
?
Pivot / Origin(原點)
建模軟件中的原點是重要的參考點。它定義的位置與你制作的物體在游戲中的類型有關(guān)系。例如對于建筑物和汽車,它定義的是地表的位置;但是對于火車,它定義的是軌道的上表面。

?
Vertex Paint(頂點繪制)
頂點繪制并不是畫貼圖,盡管它確實涉及往建模上涂色。Vertex Paint用顏色來定義它在游戲里的一些行為,一些mod也會用到這個功能。具體如何使用取決于你制作的資產(chǎn)。

坐標(biāo)系方向
Unity引擎使用左手坐標(biāo)系,即Y軸向上,如果你的建模軟件可調(diào)整坐標(biāo)系定義,請調(diào)節(jié)。如果你的建模軟件不能調(diào),(比如Blender就是強制Z向上的右手坐標(biāo)系,不可更改)請在完成建模后手動旋轉(zhuǎn)建模以對應(yīng)Y向上。
建模中如果使用了多個物體,最后要導(dǎo)入前必需全部合并成一個,否則游戲會拒絕你導(dǎo)入!
建模中也不能包括鏡頭和光源等無關(guān)建??臻g結(jié)構(gòu)的無效物體!
最后必需確保物體坐標(biāo)和旋轉(zhuǎn)角度都是0,否則游戲會自己執(zhí)行坐標(biāo)歸零和旋轉(zhuǎn)導(dǎo)致錯誤。
如果有不為0的坐標(biāo)或角度,但你的建模又在你認(rèn)為合適的位置上,請使用你建模軟件中清零旋轉(zhuǎn)和位移的功能。
?

法線方向
所有面都是有法向的(可以理解為正反),由于游戲只會以單向渲染,一個面的反面將不予渲染,從該方向看這個面便是透明的。因此建模完成時請檢查法線方向。同理,不要試圖用單個面來表現(xiàn)薄的表面,你必需使用相隔一定距離的兩個背靠背的面。

以上即為所有資產(chǎn)新人所需了解的建模部分的技術(shù)性知識。
最后一句忠告:新手建模應(yīng)當(dāng)盡量遵照現(xiàn)實中實際存在的物體來建模,不要一開始就試圖做個完全虛構(gòu)的作品,否則真的會有你好受的!