本文提到的所有數字模型製作,全部是用3D MAX建立的模型,即使是不同的驅動引擎,對模型的要求基本是相同的。當一個VR模型製作完成時,它所包含的基本內容包括:場景尺寸、單位,模型歸類塌陷、命名、節點編輯,紋理、座標、紋理尺寸、紋理格式、材質球等必須是符合製作規範的。一個歸類清晰、面數節省、製作規範的模型檔案對於程式控制管理是十分必要的。
首先對製作流程作簡單介紹:素材採集-模型製作-貼圖製作-場景塌陷、命名、展UV座標-燈光渲染測試-場景烘培-場景調整匯出。
第一章、模型製作規範
1、在模型分工之前,必須確定模型定位標準。一般這個標準會是一個CAD底圖。製作人員必須依照這個帶有CAD底圖的檔案確定自己分工區域的模型位置,並且不得對這個標準檔案進行任何修改。匯入到MAX裡的CAD底圖最好在(0,0,0)位置,以便製作人員的初始模型在零點附近。
2、在沒有特殊要求的情況下,單位為米(Meters)。
3、刪除場景中多餘的面,在建立模型時,看不見的地方不用建模,對於看不見的面也可以刪除,主要是為了提高貼圖的利用率,降低整個場景的面數,以提高互動場景的執行速度。如box底面、貼著牆壁物體的背面等。
4、保持模型面與面之間的距離推薦最小間距為當前場景最大尺度的二千分之一。例如:在製作室內場景時,物體的面與面之間距離不要小於2mm;在製作場景長(或寬)為1km的室外場景時,物體的面與面之間距離不要小於20cm。如果物體的面與面之間貼得太近,會出現兩個面交替出現的閃爍現象。模型與模型之間不允許出現共面、漏面和反面,看不見的面要刪掉。在建模初期一定要注意檢查共面、漏面和反面的情況。
5、可以複製的物體儘量複製。如果一個1000個面的物體,烘焙好之後複製出去100個,那麼他所消耗的資源,基本上和一個物體所消耗的資源一樣多。
6、建模時最好採用Editable Poly面片建模,這種建模方式在最後烘焙時不會出現三角面現象,如果採用Editable Mesh 在最終烘焙時可能會出現三角面的情況。
7、模型的塌陷當一棟建築模型經過建模、貼紋理之後,然後就是將模型塌陷,這一步工作也是為了下一步烘焙做準備。所以在塌陷的時候要注意一些問題:
(1)按照“一建築一物體”的原則塌陷,體量特別大或連體建築可分塌為2-3個物體,但匯出前要按建築再塌成一個物體,城中村要按照院落塌陷。
(2)用Box反塌物體,轉成Poly模式,這時需檢查貼圖有無錯亂;
(3)塌陷物體,按樓或者地塊來塌陷,不要跨區域塌陷;
(4)按專案對名稱的要求進行嚴格的標準的命名;
(5)所有物體的質心要歸於中心,檢查物體位置無誤後鎖定物體;
備註:所有物體不準出現超過20000三角面的情況,否則匯出時出錯。
8、模型命名。不能使用中文命名,必須使用英文命名,不然在英文系統裡會出問題。地塊建築模型不允許出現重名,必須按規範命名。
9、樹的種植方法用十字交叉樹或簡模樹。在種植樹木的時候,要考慮到與周圍建築的關係,不能亂種樹,要根據現狀放置不同的樹種、位置;重點建築地塊需種簡模樹,並在原地與之對應的種上十字片樹(替換用);匯出時模型樹和與之對應的十字片樹為單棵的,其它十字片樹可塌一起,但面數不能超過1萬。
10、模型的級別也就是模型的精細程度,有時我們在建模的時候要根據建築所處的具體位置,重要程度對該建築進行判斷是建成何種精度的模擬模型。可以將建築分為五個等級。其中,一級為最高等級,五級為最低等級。單個物體的面數不要太大,畢竟是做虛擬現實,而不是製作單張效果圖。單個物體面數要控制到8000個面以下。
11、映象的物體需要修正。用映象複製的方法來建立新模型,需要加修改編輯器修正一下。
第一步:需要選中映象後的物體,然後進入Utilities皮膚中單擊Reset XForm,然後單擊Reset Selected; 第二步:進入modfiy皮膚選取Normal命令,反轉一下法線即可。
12、烘焙的物體黑縫解決對辦法。在烘焙的時候,如果圖片不夠大的時候,往往會在邊緣產生黑縫。處理小技巧 :
1)如果做鳥瞰樓體比較複雜可以把樓體合併成一個物體變成多重材質,然後對樓體進行整體完全烘焙;這樣可以節省很多資源。
2)對於建築及地形,須檢查模型的貼圖材料平鋪的比例,對於較遠的地表(或者草地),可以考慮用一張有真實感的圖來平鋪,平鋪次數少一些。對於遠端的地面材料,如果平鋪次數大了,真實感比較差。
第二章、材質貼圖規範
1、材質和貼圖型別。我們目前使用的是Unity3D軟體作為模擬開發平臺,該軟體對模型的材質有一些特殊的要求,在我們使用的3dsMax中不是所有材質都被Unity3D軟體所支援,只有下面幾種材質是被Unity3D軟體所支援。 Standard(標準材質)預設的通用材質球。基本上目前所有的模擬系統都支援這種材質型別。 Multi/Sub-Object(多維/子物體材質)將多個材質組合為一種複合式材質,分別指定給一個物體的不同次物體選擇級別。要注意的是,在VR場景製作中,Multi/Sub-Object材質中的子材質一定要是Standard標準材質。否則不被unity3d支援。我們在製作完模型進行烘焙貼圖前都必須將所有物體塌陷在一起,塌陷後的新物體就會自動產生一個新的Multi/Sub-Object多維/子物體材質。因此,這種材質型別在我們的模擬製作中經常使用。
2、貼圖通道及貼圖型別。Unity3D目前只支援Bitmap貼圖型別,其它所有貼圖型別均不支援。只支援Diffuse Color(漫反射)同self-Illumination(自發光,用來匯出lightmap)貼圖通道。 Self-Illumination(不透明)貼圖通道在烘焙lightmap後,需要將此貼圖通道的channel設定為烘焙後的新channel,同時將生成的lightmap指向到self-Illumination。
3、貼圖的檔案格式和尺寸。建築的原始貼圖不帶通道的為JPG,帶通道的為32位TGA,但最大別超過2048;貼圖檔案尺寸必須是2的N次方(8、16、32、64、128、256、512),最大貼圖尺寸不能超過(1024×1024)。在烘培時將紋理貼圖存為TGA 格式。
4、貼圖和材質應用規則
(1)貼圖不能以中文命名,不能有重名;
(2)材質球命名與物體名稱一致;
(3)材質球的父子層級的命名必須一致;
(4)同種貼圖必須使一個材質球;
(5)除需要用雙面材質表現的物體之外,其他物體不能使用雙面材質;
(6)材質球的ID號和物體的ID號必須一致。
(7)若使用CompleteMap烘焙,烘焙完畢後會自動產生一個Shell材質,必須將Shell材質變為Standard標準材質,並且通道要一致,否則不能正確匯出貼圖。
(8)帶Alpha通道的貼圖,在命名時必須加_al以區分。
5、通道紋理應用規則。模型需要通過通道處理時需要製作帶有通道的紋理。在製作樹的通道紋理時,最好將透明部分改成樹的主色,這樣在渲染時可以使有效邊緣部分的顏色正確。通道紋理在程式渲染時佔用的資源比同尺寸普通紋理要多。通道紋理命名時應以-AL結尾。
第三章、模型烘焙及匯出
模型烘焙
1、場景燈光
(1)渲染方式:採用Max自帶的Light Tracer光線追蹤進行渲染。
(2)燈光效果控制:該專案在烘焙前會給出固定的烘焙燈光,燈光的高度、角度、引數均不可調整,可以在頂檢視中將燈光組平移到自己的區塊,必須要用燈光合並場景然後烘焙。
2、烘焙貼圖方式建築模型的烘焙方式有兩種:一種是LightMap烘焙貼方式,這種烘焙貼圖渲染出來的貼圖只帶有陰影資訊,不包含基本紋理。具體應用於製作紋理較清晰的模型檔案(如地形),原理是將模型的基本紋理貼圖和LightMap陰影貼圖兩者進行疊加。優點是最終模型紋理比較楚,而且可以使用重複紋理貼圖,節約紋理資源;烘焙後的模型可以直接匯出FBX檔案,不用修改貼圖通道。缺點是LightingMap貼圖不帶有高光資訊;另一種是CompleteMap烘焙方式,這種烘焙貼圖方式的優點是渲染出來的貼圖本身就帶有基本紋理和光影資訊,但缺點是沒有細節紋理,且在近處時紋理比較模糊。
3、烘焙貼圖設定
①CompleteMap烘焙方式在進行CompleteMap烘焙設定時,應注意以下幾點:
a) 貼圖通道和物體UV座標通道必須為1通道;
b) 烘焙貼圖檔案儲存格式為TGA格式;
使用已有通道,預設為3,陰影參與烘焙計算 建立一個新的Baked材質 檔案格式型別,目標貼圖欄 。
② LightingMap烘焙方式在進行LightingMap烘焙設定時,和CompleteMap設定有些地方不同:
a) 貼圖通道和物體UV座標通道必須為3通道;
b) 烘焙時燈光的陰影方式為Adv.RayTraced陰影;
建立一個新的Baked材質,開啟直接光照 陰影參與烘焙計算 開啟間接光照 目標貼圖欄 檔案格式型別 使用已有通道,預設為3 。
c) 用LightingMap烘焙時,背景色要改為白色,可避免有黑邊的情況;而用CompleteMap烘培時,背景色要改為與貼圖近似的顏色。
d) 在使用lightmap烘焙後,需要將材質改回Standard,然後將新生成的map拷貝到Standard的self-Illumination內,並設定正確的貼圖通道。
4、貼圖UV編輯必須手動進行UV編輯。模型匯出
1、將烘培材質球改為標準材質球,通道為1,自發光100;
2、將所有物體名、材質球名、貼圖名保持一致
3、合併頂點(大小要合適);
4、清除場景,除了主要的有用的物體外,刪除一切物件;
5、清材質球,刪除多餘的材質球(不重要的貼圖要縮小);
6、按要求匯出fbx(檢檢視是否要打組匯出);
視具體情況匯出動作
第四章、場景模型驗收 模型製作流程 模型驗收流程 模型驗收標準
第五章、模型備份
提交標準檔案
標準備份模式:
l、UV 座標:存放地型和建築烘培前編輯的UV座標;
2、匯出fbx:存放最終匯出的地型和建築的fbx檔案;
3、烘培貼圖:存放地型的最終貼圖和建築的最終烘培貼圖,tga格式的,同時這裡面有一份轉好的貼圖;
4、原始貼圖:存放地型和建築在製作過程中的所有的貼圖;
5、Max檔案:原始模型,未做任何塌陷的,有UVW貼圖座標的檔案。烘焙前模型,已經塌陷完的,展好UV的,除錯好燈光渲染測試過的檔案。烘焙後模型,已經烘培完的,未做任何處理的檔案。匯出模型,處理完烘培物體,合併完頂點,刪除了一切沒用物件的檔案。
第六章、專案命名要求
1、建築模型命名:區域名_jz_編號;如:SH01_01_jz_01、SH01_01_jz_02……
2、建築貼圖命名:模型名_編號;如:SH01_01_jz_01_01……
3、地形模型命名:區域名_dx_編號;如:SH01_01_dx_01……
4、地形貼圖命名:模型名_編號;如:SH01_01_dx_01_01……
5、鏤空貼圖:要加“_al”字尾
6、需要加特效的玻璃要加“_bl”字尾;(需要加特效的要單獨一個物體烘焙)
第七章、建立各資料路徑
1、航片存放路徑
2、各區域CAD匯出的MAX檔案
3、照片資料
4、公共紋理庫資料
5、客戶提供的所有資料
第八章、特殊製作要求
1、圍牆、護欄、雨棚、車棚等要按實際製作。
2、照片與圖紙不符時,以實際照片為主。
3、沿街店鋪儘量與實際一致。
4、預估尺寸時儘量去借助照片中的參照物,如人、汽車、樹木等。
5、除重點建築外儘量簡化模型,貼圖做精,能用貼圖表現結構的儘量用貼圖表現。
6、綠化的種類、顏色儘量去實際一致。
7、建築頂部的結構及頂部的附屬設施儘量按實際製作。
8、建築貼圖時頂部要留出女兒牆的高度,避免出現窗戶頂到建築頂部。
9、建築要製作入口。
10、地形、綠化要豐富。
11、書報亭、公交站、變電箱、煙囪、訊號塔等要簡單製作,以豐富場景。
12、所有貼圖UV大小要準確,避免失真。
原文連結:http://www.yeehot.com/article-43-1.html
Unity3D模型製作規範[轉]
相關文章
- 製作郵件模板的規範
- 弗魯姆的領導規範模型(轉載)模型
- corba核心規範(轉)ORB
- Css規範整理:2、css盒模型CSS模型
- 遊戲研發的設計規範(三):場景型別化製作遊戲型別
- 前端開發規範:命名規範、html規範、css規範、js規範前端HTMLCSSJS
- Sketch外掛新利器——使用摹客設計規範製作設計
- 轉:Git 使用規範流程Git
- [轉]PHP編碼規範PHP
- Java 編碼規範 (轉)Java
- java編碼規範 (轉)Java
- 中文技術文件的寫作規範
- 作業三:關於程式碼規範
- 還在手工製作APP規範文件?這款設計神器你不容錯過APP
- java編碼規範(2) (轉)Java
- 線上製作資料庫ER模型資料庫模型
- Maya模型製作與場景建模模型
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- 前端規範之javascript規範前端JavaScript
- 前端規範之CSS規範前端CSS
- 前端規範之HTML 規範前端HTML
- 軟體工程師道德規範(轉載) (轉)軟體工程工程師
- 開發規範(轉載自大牛)
- c#編碼規範【轉載】C#
- 程式碼書寫規範(Java) (轉)Java
- 用制度規範專案管理(轉)專案管理
- Java 程式編碼的規範(轉)Java
- npm私有庫服務搭建及規範定製NPM
- PHP 規範 - Symfony 程式碼規範PHP
- 前端規範之nodeJs 規範前端NodeJS
- 編碼規範系列:css規範CSS
- Flutter 底部不規則導航製作Flutter
- 專案中的 Git 使用規範 [轉]Git
- [轉]Android開發規範(updating)Android
- C語言程式書寫規範 (轉)C語言
- Delphi源程式格式書寫規範 (轉)
- Java語言編碼規範(一) (轉)Java
- Java語言編碼規範(2)(轉)Java