Unite 2018|基于照片建模的游戲制作流程
時間: 2018-07-12 11:36
瀏覽次數:
Unity之前發布了了全新的實時渲染作品《死者之書》的預告片,Unity引擎的畫面表現又一次提升到全新的高度。這個Demo的場景包含大量的樹木、植被、巖石等素材,非常接近真實照片的
Unity總代理之前發布了了全新的實時渲染作品《死者之書》的預告片,Unity引擎的畫面表現又一次提升到全新的高度。這個Demo的場景包含大量的樹木、植被、巖石等素材,非常接近真實照片的感覺。在Unite Beijing 2018大會上,Unity大中華區技術總監張黎明給大家介紹了《死者之書》預告片制作過程中使用的基于照片建模的游戲制作流程。
下面是本次演講的視頻:
https://v.qq.com/x/page/g06808371id.html
簡介
整個制作流程大概包含以下步驟。
首先,使用單反相機拍攝照片素材。拍攝之后進行校色、照片建模、生成高模、上色、簡化三角面、生成UV、烘焙、去光照等步驟。
整個流程劃分為二個階段:
第一階段:在現實場景中拍攝照片。
第二階段:使用各種軟件處理照片數據,最終創建出游戲中的美術資源。
照片拍攝
照片拍攝最關注三個問題:拍攝對象、拍攝地點、拍攝時間。
拍攝對象
選擇拍攝對象首先需要理解照片建模軟件的工作原理。照片建模軟件是通過匹配不同角度拍攝的照片中的相同像素來重建模型的。
匹配像素需要幾點要求:
1、物體不能移動。如果物體移動了,軟件就很難把像素的位置匹配起來。例如:風中搖擺的樹枝。
2、物體不要有大量的反射。因為反射光的顏色和亮度在不同角度看是不一樣的,例如:反光強烈的鵝卵石。
3、物體不能是半透明的。半透明也有類似的問題,不同角度拍攝顏色會發生變化。例如:透明的水杯。
4、物體最好不要只有一種顏色,照片建模軟件很難重建純色的物體。例如:純色的饅頭。
另外還要注意照片建模需要的工作量,照片建模整個制作流程需要比較長的時間。如果需要建模對象是比較簡單的模型,例如:一個茶壺,可能美術一天就能把模型做完,對這樣的對象建議使用人工建模。
拍攝地點
因為需要到現實場景中拍攝照片,我們可能有很多時間是花在交通上面,所以我們建議拍攝之前先用地圖工具規劃你的路線,避免太多時間花在路上。另外盡量避免公共場所,因為很多人群會來回走動,導致照片建模軟件沒有辦法識別拍攝的對象。如果拍攝文物的話要考慮是否有版權方面的因素。
拍攝時間
拍攝時間最需要關注的是天氣。一般選擇晴朗但陽光不太強烈的天氣,因為陰影在最后階段需要去掉,另外盡量不要有風。為了避免過強的太陽光,我們有時候會在拍攝物體旁邊掛一塊黑布,這樣把直射的太陽光擋住一部分,對最終數據的處理比較方便。
數據處理
數據處理過程中我們用到很多軟件,如下圖所示。
硬件需要找一臺非常高配的電腦。除了高端的CPU、GPU以外,我們還使用了2TB的SSD硬盤,加快讀寫過程。
在顏色矯正過程中,我們分別用到了DCRaw和Photoshop軟件。然后使用Reality Capture軟件從照片生成點云數據。
導出模型的時候有二種格式可以選擇,ply適合均勻分布的點云數據,顏色信息保存在頂點中。obj用來保存稀疏的網格數據,顏色信息轉到紋理中保存。一般情況下我們推薦ply格式,因為obj格式保存的文件一般會大很多。
簡化網格體推薦使用Instant Mesh。如果頂點數還是太多的話,可以進一步使用Simplygon,最終使用3Ds Max清理無用的頂點。
去光照
通過照片還原出的模型都帶有光照信息,不能直接用在游戲中疊加其它光照,所以我們需要把照片中原始的光照去掉。
Unity法國團隊開發了Delighting工具,用于生成最終的無光照Albedo紋理。這個工具目前是發布在Github上的開源工程。
下載Delighting:https://github.com/Unity-Technologies/DeLightingTool
創建游戲素材
在最終的游戲素材中,我們使用了Unity最新的Scriptable Render Pipeline中提供的Layered Material。另外通過Custom Render Texture實現了動態的Mask紋理,用于將多層紋理混合。
小結
以上是這次演講的主要內容,詳細內容請參考Unite Beijing大會演講視頻。更多Unity技術內容請訪問Unity官方中文論壇(Unitychina.cn) !