​TGDC | 讓現實更理想·室外3D大場景重建

遊資網發表於2020-12-22
2020年12月9日,由騰訊遊戲學院舉辦的第四屆騰訊遊戲開發者大會(Tencent Game Developers Conference,簡稱TGDC)於線上舉行。來自騰訊互動娛樂NExT Studios的高階技術美術師金力和高階工程師李奇先生,分享了Photogrammetry技術的使用流程和實踐經驗。以下是文字實錄:

大家好,我叫金力,我是一名技術美術,來自騰訊NExT工作室,今天我要分享的題目是《Photogrammetry在遊戲領域中的應用》。這次分享主要由三部分組成,介紹Photogrammetry的美術製作流程,我們在實際應用中遇到的問題,還有Delight工具的介紹,最後一部分將由我的同事李奇做詳細的介紹。


Photogrammetry介紹

​TGDC | 讓現實更理想·室外3D大場景重建

Photogrammetry,近些年來,這個詞在遊戲領域越來越多地被提及。它是什麼?它是一種通過對一系列照片裡的影像資訊做對比,測量,並把這些資訊翻譯成模型,貼圖等有用資訊的技術。他的輸入是一系列照片,輸出是一系列點雲資訊/3D模型資訊。簡而言之:使用這種技術我們可以通過對物體拍攝各個角度的照片,從而在軟體裡快速還原模型的形狀和顏色。

​TGDC | 讓現實更理想·室外3D大場景重建

讓我們來更清楚地認識它,首先請看這兩張照片,哪張是真實拍攝的照片,哪張是3D模型的截圖嗎?是右邊這張 你猜對了嗎?從肉眼上確實很難分清,這也是Photogrammetry的優點:還原真實性。

​TGDC | 讓現實更理想·室外3D大場景重建

接下來讓我們更仔細地瞭解它。首先它是一組點雲資料,並且通過點雲生成模型資料。最後再把照片的顏色投射到模型上。

​TGDC | 讓現實更理想·室外3D大場景重建

這個模型是我用手機,在我的辦公桌前拍攝的,一共拍了27張,並匯入軟體輸出的,整個模型的生成過程耗時不超過15分鐘。

​TGDC | 讓現實更理想·室外3D大場景重建

那麼它有什麼優缺點呢:優點是快速高模的生成,精準的外形還原,以及真實的顏色還原。例如照片裡的頭骨,可能通常美術需要一週甚至更久去製作高模和它的顏色資訊,而使用Photogrammetry可以在短短數小時完成。但是前提就如它的缺點。

​TGDC | 讓現實更理想·室外3D大場景重建

1. 一定需要有實際可拍攝的物體,對於非寫實類的沒有辦法制作。

2. 拍攝時非常依賴有良好的光照環境,棚拍需要打燈,外拍需要選擇陰天以避免生成貼圖上的強烈陰影 。

3. 對於表面光澤度較高的物體,沒有辦法生成模型。

​TGDC | 讓現實更理想·室外3D大場景重建

Photogrammetry已經在大量的寫實類遊戲裡廣泛應用。例如EA的《戰地》,《星戰系列》以及《FIFA》系列。育碧的《刺客信條》等遊戲裡都有大量應用。極大地提高真實度的同時,並極大地縮短了一些物件的製作週期。

​TGDC | 讓現實更理想·室外3D大場景重建

另外Photogrammetry在其他領域也有很多用武之地,比如對古生物化石和古文物的數字化儲存。對地貌的三維重建。甚至可以通過顯微鏡拍攝的照片,製作微生物的三維模型!可以說只要照片能拍清楚,它都能用。

​TGDC | 讓現實更理想·室外3D大場景重建

這樣一個技術如何應用到遊戲製作呢?我們梳理了一下美術的製作流程,分為拍攝照片、照片校色、模型/顏色生成、模型優化、貼圖烘培、匯入引擎。和普通美術管線相比,可以看出Photogrammetry的另一個優勢在於高模的製作週期極大地縮短。

Photogrammetry的製作流程

​TGDC | 讓現實更理想·室外3D大場景重建

首先是裝置的選擇:

推薦採用單反相機,可以輸出Raw格式方便後期校色,更好EV控制和更高的成像質量。鏡頭採用可變焦鏡頭針對不同的環境。外拍記憶卡和電池要準備充足。準備好色卡,測量捲尺。

​TGDC | 讓現實更理想·室外3D大場景重建

調整相機到手動M檔,固定白平衡,輸出格式為RAW方便後期校色。

​TGDC | 讓現實更理想·室外3D大場景重建

選定拍攝目標後,使用色卡的18灰卡面確定相機在當前環境下的曝光。調節ISO,快門速度以及光圈讓當前環境下,相機的曝光達到一個合理的範圍。拍攝物體前,先拍攝色卡。

​TGDC | 讓現實更理想·室外3D大場景重建

對物體進行拍攝時,要保持剛才調節好的相機引數中途不要修改。每一張照片需要保證和另一張有20-30%的重疊區域。對焦方式自動單點對焦AF-S以拍攝物體為中心,大約每15度拍攝一張照片,蹲拍,立拍,俯拍保證各個角度都有覆蓋。最後檢查是否有模糊/失焦的照片,補拍。右邊的圖每個小點代表相機位置。

​TGDC | 讓現實更理想·室外3D大場景重建

對於一些高大的建築,可以藉助無人機來拍攝高處。 這座教堂是位於佘山頂上的教堂, 我們藉助無人機一共拍攝了2000多張各個角度的照片進行還原。

​TGDC | 讓現實更理想·室外3D大場景重建

色卡校色:為什麼要校色?相機不同,照片顏色不同,需要還原真實。對拍攝色卡的RAW格式照片校色,對其顏色,白平衡,曝光這三項進行校準,生成顏色配置檔案。並使用配置檔案,對一系列照片進行批量的校色,

​TGDC | 讓現實更理想·室外3D大場景重建

3D模型生成。主要使用軟體:Reality capture、Photoscan。輸入:校色完成的照片。輸出:高模,頂點色,顏色貼圖。(高模的面數需要限制,不然可能打不開3000w左右)

​TGDC | 讓現實更理想·室外3D大場景重建

高模生成結束以後,由於它的面數非常高,模型複雜程度從數百萬到數千萬。我們需要先優化它的面數,再Zbrush裡把這個石雕的面數從800W降低到了1.4W(可以用zRemesher對拓撲做一次優化)。

​TGDC | 讓現實更理想·室外3D大場景重建

優化完面數的模型匯入Maya/Max進行拓撲修正和UV展開,為之後的貼圖烘培做準備。

​TGDC | 讓現實更理想·室外3D大場景重建

之前匯出的高模包含了模型和自身的顏色貼圖。把這些資訊以貼圖的形式烘培到製作好的低模UV上。

烘培的貼圖有basecolor, Tangent normal和AO貼圖。

​TGDC | 讓現實更理想·室外3D大場景重建

除此之外,我們PBR管線還需要Roughness和metallic貼圖。由於我們拍攝的模型都是粗糙的非金屬模型,可以用。用basecolor 和 normalmap推算出大致的roughness。

​TGDC | 讓現實更理想·室外3D大場景重建

並且把Metallic和Roughness以及AO貼圖,分別存到一張貼圖的RGB通道里,以減少材質裡使用的貼圖數量。

​TGDC | 讓現實更理想·室外3D大場景重建

最後把低模,和烘培好的貼圖一起匯入引擎,把貼圖輸入到材質的相應通道,並賦予模型就大功告成了。

以上就是大致的工作流程。

​TGDC | 讓現實更理想·室外3D大場景重建

這是一些我們用掃描還原到引擎的模型展示。包含航拍建築,古建築,石雕,樹木,石頭,磚牆,甚至時一些人為去除高光的車輛模型。都可以採用Photogrammetry去還原他們的真實面貌。

沒時間?沒預算?但是沒有問題!

這是我們的一次拍攝和製作經歷。實際上期間遇到了非常多的問題。

我們的目標是一個廢棄的廠房。事先我們在網上尋找合適的目標,並最終選定了一個即將要拆除的工廠。我們在地圖上大致上找了一些參考,並且有一些簡單的拍攝規劃,但由於廠區是不對外開放的,誰也不知道里面究竟如何,我們能否取到有用的素材。

​TGDC | 讓現實更理想·室外3D大場景重建

最終,在有限的經費和協商下,我們有了一天進場拍攝的機會。 我們按照事先的分配對工廠的各個角落進行取材,最終收集到了大約5000多張照片,並從中篩選出大約69個可還原的模型。但是,我們只有4位美術師,由於年底,每週只能工作3-5小時,而我們的deadline 是2個月後。

​TGDC | 讓現實更理想·室外3D大場景重建

而困擾我們的另一個問題是,由於事先沒有機會實地考察,有一些規劃要拍攝的東西和實際上看到的有較大的出入,有些無法取景。這就讓我們反思了關卡的製作流程。

普通來說,一個關卡的製作可以概括為“原畫設計-白盒製作-模型製作-白盒替換”,基本上要做的東西都是實現規劃好的,模型也是人工製作的。

​TGDC | 讓現實更理想·室外3D大場景重建

但對我們來說,即使製作了白盒模型,實地也不一定可以取材到合適的模型去替換。  我們所擁有的是大量的實際掃描資料。這就讓我麼重新指定了計劃,從現有的模型裡選擇合適的來搭建關卡。

​TGDC | 讓現實更理想·室外3D大場景重建

看到這個讓我們非常絕望,以我們的預算和人力,是不可能在短時間內把所有的模型都按照之前介紹的流程做好,並匯入引擎,交給關卡設計師的。

​TGDC | 讓現實更理想·室外3D大場景重建

所以我們重新定義了美術製作管線。我們必須要自動化處理大部分模型,把這部分自動處理的模型定義為placeholder,可以作為預覽或者遠景。先交給場景搭建,並且在有限的人力下,合理選擇模型做人工優化處理。

​TGDC | 讓現實更理想·室外3D大場景重建

我們加入了houdini自動生成管線,對生成的超高模進行自動減面和拓撲。

​TGDC | 讓現實更理想·室外3D大場景重建

自動進行uv展開,並且烘培貼圖,以及自動lod的製作。不得不說,自動處理的模型和人工對比,大部分是有缺陷的,比如拓撲和uv。但是也有一部分形狀較簡單的是可以處理較好的,比如這個物件。

​TGDC | 讓現實更理想·室外3D大場景重建

之前說的roughness貼圖生成和貼圖合併,我們使用了substance designer對他們進行處理。

​TGDC | 讓現實更理想·室外3D大場景重建

但這樣就可以了嗎?不,外拍的時候由於天氣原因,照片上多少都會帶有一些陰影,或者有些是背光的面,會比較暗。而我們的base color不可以包含陰影。所以我們也開發了工具並在自動化流程裡也加入了對basecolor的去陰影處理。

​TGDC | 讓現實更理想·室外3D大場景重建

最終我們在3天內自動生成所有place holder模型,供場景美術進行關卡擺放設計,並把時間留給後續逐步人工優化近處的物件。

​TGDC | 讓現實更理想·室外3D大場景重建

這是引擎裡擷取的場景的一些角落。藉助delight工具對貼圖進行了去光照處理,我們可以給場景加入一些時間上的變化。

​TGDC | 讓現實更理想·室外3D大場景重建

Delight工具介紹

大家好,我叫李奇,來自NExT工作室。剛才金力已經大致介紹了一下我們工作室Photogrammetry的內容生產管線,接下來由我介紹一下,我們在去光照上做的工作。

​TGDC | 讓現實更理想·室外3D大場景重建

那為什麼要去光照呢?我們用來建模的照片,都是在外面不同的環境下拍攝的,在不同的光照環境下,照片帶有外界的各種光照資訊,生成的三維模型的貼圖也是由多張照片採集而來的平均色。

​TGDC | 讓現實更理想·室外3D大場景重建

我們有時候無法選擇在什麼條件下完成模型拍攝任務,就像這個模型一樣,完成建模以後效果是這樣子的,是有影子的。

匯入引擎中的使用的話,肯定在會在不同環境光照下使用。必須得想辦法把光照給去除,這樣才可以重新在引擎中打光。

所以我們提出了一個可以去掉太陽光影子的方案。

​TGDC | 讓現實更理想·室外3D大場景重建

首先我們需要準備一些貼圖資料。因為我們在工具中不會直接使用模型資料,所以我們會由模型生成位置貼圖和法線貼圖來使用。可以使用高模烘焙,也可以使用簡單的 Shader 來轉寫。

​TGDC | 讓現實更理想·室外3D大場景重建

下一步,我們需要在模型檢視上指定兩個點,我們可以通過這兩個點的位置簡單的算出直射光的方向。

​TGDC | 讓現實更理想·室外3D大場景重建

有了直射光方向,我們便可以渲染模型自身的Shadow Map。然後在通過跟剛才生成貼圖,一樣的方式生成 Shadow Mask。這樣我們便得到了哪裡處於影子中的資訊。

​TGDC | 讓現實更理想·室外3D大場景重建

我們需要申請兩張五維的 LUT,以貼圖讀取的位置和法線經緯度為座標,將亮暗面的顏色累加到對應的位置上,得到亮面和暗面的平均色資訊。

​TGDC | 讓現實更理想·室外3D大場景重建

然後為 LUT 生成 Mips。將相鄰的畫素的顏色和權重加起來,獲得更為平均的顏色資訊。這樣可以保證取樣時每一個座標都會有采樣值可用。

​TGDC | 讓現實更理想·室外3D大場景重建

以兩張 LUT 在相同座標下,查詢到的顏色值計算出亮度差,然後直接應用到漫反射貼圖上,即可得到去光照的結果。

​TGDC | 讓現實更理想·室外3D大場景重建

為了改善結果,還要為LUT取樣實現線性插值來改善效果。左邊為未插值的結果,右邊為實現插值後的結果,可見效果有明顯改善。

​TGDC | 讓現實更理想·室外3D大場景重建

完成去光照以後,模型在無光模式下,渲染出來是這樣子的。左邊是未去光照的對比圖。

但是在用這個方法,對一些顏色比較複雜的模型進行去光照,可能會有顏色溢位的情況,導致結果不夠理想。於是我們提出了第二個方法。

首先先對影子做邊緣提取,只保留位置和法線都連續的地方,這樣可以避免UV接縫影響結果。

​TGDC | 讓現實更理想·室外3D大場景重建

以找到的邊緣作為中心,採集一定區域大小的畫素的平均色,這個大小是可配置的,比如64x64,分成兩暗兩個部分的平均色,其中亮面部分在計算光源亮度時考慮法線方向的影響。

然後以位置為座標採集到一張 LUT 中,這樣 LUT 就儲存著區域的光照資訊,再對漫反射貼圖的每一個對應的點取樣就可以拿到對應的亮度差,應用到暗面畫素上即可去光照。

​TGDC | 讓現實更理想·室外3D大場景重建

這是去光照以後的結果,左邊為使用原始貼圖的模型。

​TGDC | 讓現實更理想·室外3D大場景重建

作為對比,左邊是 Agisoft 工具去直射光的結果,右邊是我們的結果。

我們還實現了去環境光遮蔽的功能,演算法主要參考自 Unity,主要原理是收集平均色,然後通過多次 LUT 採集和取樣讓整體顏色和亮度都更接近平均值。

​TGDC | 讓現實更理想·室外3D大場景重建

我們將整套去光照流程,包括直射光的指定和貼圖的生成也都整合在 Houdini 中,與之前介紹的整個自動處理管線也很好的結合在一起。


來源:騰訊遊戲學院
原文:https://mp.weixin.qq.com/s/34_a59v08KXTiyImYE9P9Q

相關文章