新四季網

3d模型程序知識(谷歌3D模型工程師分享)

2023-04-13 14:03:04

映維網Nweon 2022年09月27日)交互式3D模型是繼圖像和視頻之後的下一種媒體類型,所以,行業越來越多地使用 和其他渲染器在商業環境、博物館和其他地方來顯示相關的3D模型。用戶對確保所呈現的像素準確表示模型所基於的真實對象感興趣。因此,需要一個質量保證過程來確保3D模型本身已被準確設計,並且模型的呈現逼真。

日前,主要在谷歌負責的資深軟體工程師埃米特·拉裡什(Emmett Lalish)撰文介紹了關於glTF的色彩精度,從而為大家提供建立流程和設定期望所需的背景:

Khronos的glTF是第一種指定基物渲染(Physically-Based Rendering/PBR/基於物理的渲染)的3D模型格式,這意味著它包含以真實世界單位定義光在物理方面應如何反射和折射的材質屬性。這意味著渲染器可以在GPU著色器中自由創新,以創建基礎物理的越來越精確的近似,因為glTF沒有指定任何單一近似。

這同時意味著,儘管不同的渲染器可能會在精度和速度之間進行不同的權衡,但你可以確信,即便在不相關的codebases中,glTF看起來都會一致(儘管不是像素相同)。我們將glTF稱為3D的JPEG,因為它經過壓縮以實現高效的web交付,並且可以由大量viewer一致呈現。

乍一看,不同的glTF查看器可能不一致,但這通常不是由於渲染差異,而是由於默認場景設置。基於物理的渲染意味著場景將環境光作為輸入,就像真實相機一樣。因此,類似於獲得一致的照片,我們不僅需要相同的對象,並且需要相同的照明和camera設置。Viewer的默認設置沒有標準,因此有意識地將其設置為一致的值非常重要。這正是我們所做的事情,以顯示glTF渲染收斂於各種流行渲染器的狀態。

1. 什麼是色彩精度?

PBR的目標是在用戶與3D模型交互時以幀速率創建彩色精確圖像。當然,渲染器只能與輸入的3D模型一樣精確,因此確定3D模型是否實際上準確表示其所基於的真實世界對象的過程同樣至關重要。

最正確的方法是設置真實對象的照片拍攝,在其全動態範圍內捕捉其周圍的環境照明,記錄camera設置和位置,然後設置相同的渲染場景並比較輸出圖像。遺憾的是,成本往往過於昂貴。

即使在這種理想的比較場景中,你都會遇到一個非常重要的問題:人們使用什麼指標來比較圖像?像峰值信噪比這樣的簡單像素比較指標往往會給不明顯的差異賦予太多權重。所以,感知指標更好,但更隨意,更難定義。

由於大多產品都是使用RGB材質規格設計,因此通常的想法是在glTF的基色中簡單地反映這一點。如果RGB值位於適當的色彩空間中,這是一種非常好的色彩精確建模方法。glTF規範表示,baseColor因子(在0和1之間歸一化)正是材質反射的光的給定通道(波長)的分數。baseColor紋理相同,但先通過sRGB傳遞函數提取線性值。不應假設給定的繪製樣例RGB值以相同的方式定義。

在驗證渲染的色彩準確性時,第一個想法通常是檢查輸出渲染圖像是否與glTF baseColor(或預期的繪製樣例RGB)具有相同的RGB像素值。這是一個根本錯誤的期望,因為它否定了基物渲染的目的。下面的細節和示例支持這一斷言,並為更有用的驗證方案指明了方向。

2. 渲染色彩與baseColor匹配有什麼問題?

關於PBR,需要明確的最重要的一點是,它準確地表示入射光和材質特性之間的相互作用,其中除了baseColor之外,金屬度和粗糙度同樣非常重要。然而,給定像素的渲染輸出僅為RGB,這意味著如果它與baseColor RGB匹配,則根據定義,入射光和其他材質屬性不會以任何方式影響生成的圖像。

我們從一個簡單的例子開始:六個具有均勻材料的球體。頂行為白色(baseColor RGB:[1,1,1]),底行為黃色(baseColor RGB:[1,1,0])。從左到右依次為閃亮金屬(金屬度:1,粗糙度:0)、閃亮塑料(金屬度:0,粗糙度:0)和啞光塑料(金屬度:0,粗糙度:1)。最左邊的大約可以認為是拋光的銀和金。

具有不同均勻材料的球體的基本示例

請注意,具有相同baseColor的不同材質渲染方式不同。哪些像素與baseColor RGB匹配?事實上,如果你真的希望渲染像素與基色RGB值匹配,glTF有一個專門的擴展:KHR_materials_unlit。這個擴展不基於物理,因此適用於標籤和3D掃描等僅生成RGB紋理的情況,其中所有應用的照明都作為捕獲過程的一部分烘焙。這是上面模型在unlit擴展時的外觀:

使用glTF Unlit擴展的球體與上面相同

顯然,照明在提高三維模型逼真度方面十分重要。下一個常見的想法是選擇一個很好的均勻中性照明場景,使輸出RGB值「接近」預期的baseColor。嗯,很容易產生一個均勻的照明環境,但對於PBR來說,結果可能會令人驚訝:

具有均勻照明的基物渲染

看起來白色球體已經消失,但它們依然存在。傾斜視圖,你可以看到它們遮擋了黃色球體。事實上,它們只是完美地偽裝起來。所述場景稱為Furnace Test,並主要用於檢查渲染器的能量守恆。物理學可以證明,在完全均勻的光照下,白色球體應該均勻地反射與從環境中入射的光完全相同的光,因此與之無法區分。

請注意,黃色球體的結果實際上與unlit結果非常接近。在有光澤和無光澤,或金屬和塑料之間幾乎沒有明顯的區別。這實際上是準確的;如果你真的找到了一個照明完全均勻的地方,你同樣無法區分所述材質之間的差異(假設你可以隱藏自己的反射,因為你是照明環境的一部分)。看起來如此不真實的原因是:幾乎不可能找到這樣的環境。真實的環境有紋理,而我們是用紋理的反射來理解反光。

接下來,讓我們回到原始版本,它使用了的「neutral中性」環境圖像。這個環境如何設計的詳細信息請訪問這裡和這裡這裡。照明旨在均勻(從各個側面),但不統一,從而提供足夠的紋理來區分材質類型。

它是純灰度的,因此不會改變材質的色調。這與室內照明可能會偏黃、室外照明可能會偏藍或日落可能會偏紅相反。PBR將忠實地產生camera在場景中捕捉到的色彩,當然,色彩在中性照明下看起來與同一物體不同。

回到原始示例,但使用了曝光滑塊

請注意,我們可以將右上角的球稱之為紙白色:一個完美的啞光反射器。然而,儘管有白色baseColor(sRGB:[255,255,255]),但請注意,渲染色彩從[177,177,177]到[237,237,237]不等,從未達到純白色。為什麼會這樣?中上部的球確實從其閃亮的表面反射出一定的純白色。鏡面反射是對漫反射的補充(漫反射是從啞光表面獲得),因此如果漫反射已經飽和了我們的像素,那麼就不可能區分光澤物體和啞光物體。嘗試增加曝光滑塊以查看效果,這在攝影中被稱為過度曝光。

你可能會注意到,曝光似乎比黑和白對中間值的影響更大(儘管曝光是線性光倍增)。你是對的,這是由渲染管道中最後發生的非線性色調映射步驟引起。色調映射本身是一個複雜的主題,但它對理解PBR至關重要。在開始之前,我們先比較一下渲染和攝影管道。

3. 渲染與攝影相比如何?

3D渲染(尤其是PBR)旨在模擬攝影,而攝影反過來又旨在模擬人眼和大腦。大腦部分必不可少,因為真實照片的目標是通過查看它來喚起與查看原始場景相同的感知。這非常困難,因為列印照片反射的光或顯示器發出的光的強度明顯低於真實世界,對比度也較低。即使是HDR顯示器的對比度都比眼睛在正常室外看到的要低幾個數量級。

謝天謝地,我們的大腦對我們的感知進行了大量的調整,包括校正對比度。這允許我們能夠以非常壓縮的動態範圍列印照片,同時依然能提供真實日落的感覺。這種動態範圍的壓縮我們稱之為色調映射。在攝影中,你可以將其視為從相機的原始圖像到最終圖像的轉換。在具有曝光疊加的現代攝影中,它變得更加重要,在這種攝影中,可以產生比傳感器在單次拍攝中所能產生的更高動態範圍的原始圖像。

攝影和3D渲染管道的比較

在3D渲染中,沒有傳感器,計算是在浮點中完成,這意味著原始圖像是有效的全HDR,其範圍甚至比曝光堆疊通常可能的範圍更大。查看所述原始圖像的直方圖時,通常會顯示一條很長的尾巴,其代表比場景其餘部分更強烈的小而閃亮的閃爍。為了在壓縮到SDR的同時保持感知,使用非線性色調映射曲線。

4. 色調映射的工作原理?

色調映射是一個通用術語,基本上可以指任何色彩轉換函數。即使攝影師在後期處理中可能應用的單獨操作,例如伽馬校正、飽和度、對比度等,其都可以組合成一個單一的結果函數。我們在這裡稱之為色調映射。然而,我們只對色調中性函數感興趣,這是我們將在這裡討論的唯一類型的色調映射函數。因此,重點將主要放在亮度上。

使用的色調映射功能是ACES,它是電影行業開發的標準,廣泛用於3D渲染。與大多數色調映射曲線一樣,它在對比度範圍的中心焦點處是相當線性的,然後逐漸向外,將亮和暗的長尾巴平滑地壓縮到所需的零到一輸出範圍。其思想是,與場景的大部分相比,人類感知的過亮和過暗區域之間的差異較小。然而,由於為額外明亮的高光保留了一定的輸出範圍,因此表示亞光baseColor輸入範圍的剩餘範圍同樣有所減少。這就是為什麼紙白色球體不會產生白色像素。

有時,在處理啞光對象並嘗試將輸出色彩與baseColor進行比較時,你會注意到這種色調映射壓縮,並將其識別為明顯色調差異的來源。通常馬上想到的辦法是,通過不應用色調映射來解決這個問題。

但問題是「無色調映射」並不存在,因為不知何故,unbounded輸入範圍必須轉換為編碼器期望的zero-to-one範圍。如果不執行這個步驟,編碼器將簡單地鉗制這些值,相當於一個具有尖角的分段線性色調映射函數,並會為有光澤的對象引入感知錯誤,如下面的示例所示。

請注意,即使不增加曝光,你都無法區分閃亮和啞光白色塑料球。由於啞光白色球體的一半現在渲染為純白色,因此沒有足夠的淨空來容納閃亮的高光。同樣,由於通過鉗制值移除了著色,所以球體的上半部分將失去其3D外觀。勾選複選框以返回ACES色調映射,從而進行快速比較。切記,在切換後再回頭看。人類感知的另一個技巧是它對錨定的依賴程度。從飽和黃色切換後,黃色看起來會立即褪色,但環顧四周後,這種感覺會消失。

這個例子同時突出了良好色調映射函數的第二個關鍵元素:去飽和過度曝光的色彩。查看金色球體(左下角),並與應用ACES色調映射的上一版本進行比較。金屬的baseColor與入射光相乘,因此金色球體上的白光會產生黃色反射(完全飽和的黃色,在這種情況下是完全飽和的baseColor)。使用鉗制色調映射時,高光確實是飽和的黃色,但這在視覺上看起來並不正確,即使你可以證明它在物理上是正確的。

好的色調映射曲線(如ACE)不僅會壓縮亮度,而且會將色彩推向越亮的白色。這就是為什麼金色球體的高光會變成白色而不是黃色。這遵循了相機傳感器和我們眼睛在對過度曝光的彩色光做出反應時的行為。你只需觀察蠟燭的火焰或火花就能看到這種效果,其中最亮的部分儘管色彩不同,但看起來都是白色的。對於感興趣的讀者,英偉達在這裡提供了更多關於色調映射和HDR的詳細信息。

避免色調映射的最後一種方法是選擇曝光,令所有像素都在[0,1]範圍內,從而避免值鉗制。對於具有低動態範圍照明的啞光對象,這可以提供半體面的結果,但對於有光澤的對象,它會完全崩潰,如以下屏幕截圖所示。

上述球體的圖像沒有色調映射和曝光設置

問題是,鏡面反射高光比場景的大多數場景亮幾個數量級,因此要將其適應輸出範圍,需要將曝光降低50倍以上。這會降低大多數場景的亮度和對比度,因為只有幾個小高光。這種中性環境沒有很高的動態範圍;如果要使用包含太陽的室外環境,則曝光必須非常低,以至於幾乎整個渲染都是黑色的。

這裡顯示的所有內容都呈現為8位sRGB輸出,但HDR顯示和格式越來越常見。我們可以通過將原始圖像的HDR保持在HDR輸出格式來避免色調映射嗎?簡而言之,答案是否定的。

因為與傳統的SDR相比,HDR顯示可能具有較高的動態範圍,但它們依然比我們眼睛在現實世界中的體驗少幾個數量級,因此色調映射的所有相同原因仍然適用。但需要注意的是,色調映射函數的選擇應取決於輸出格式。理想情況下,它甚至取決於顯示器的對比度、亮度設置和周圍的環境照明水平,但所述數據不太可能可用。

5. 我們如何驗證glTF 3D渲染?

希望前面的討論已經使你確信,簡單地根據對象的「正確」色彩驗證某些渲染像素的色彩不是一個有用或有效的過程。要是這麼簡單就好了。相反,你需要審視你的整個渠道,思考你的最終目標到底是什麼。

為了可測量性,我們假設最終目標是最小化在線購物的退貨率,其中購物者的主要視覺線索是一個3D模型(假設我們正在進行足夠好的渲染,不會影響購買率)。

為了成功,我們必須渲染購物者感知到的圖像,使其與實際產品到達時的感知等效。這與雜誌或網站的照片目標完全相同。

產品攝影的歷史要長得多,所以我們從這裡開始。產品攝影師的管道是什麼樣子的?很明顯,它們各不相同,但總體步驟往往是:1)照明設置;2)相機設置;3)拍照;4)後處理。理想情況下,可以捕捉照明環境,將相機設置轉換為矩陣和曝光,使用相同的後處理,根據測量的材質屬性編寫glTF,並輸出與照片非常匹配的渲染(尤其是使用路徑跟蹤渲染器)。

人們很容易將觀察到的任何差異歸咎於渲染器,尤其是實時光柵化器,但事實上,許多研究都致力於使它們在物理上具有驚人的準確性和一致性,正如你在保真度比較中所看到的那樣。幾乎總是最嚴重的錯誤是照明、材質、曝光和後處理方面的差異。

我們考慮一下在攝影后處理步驟中會發生什麼。有些東西不適用於渲染,例如遮擋陰影使其半透明,3D渲染器可以自動做到這一點。除了色彩中性色調映射之外,有時還會故意「校正」色彩。為什麼?畢竟,如果實際場景中測得的光不正確,那是什麼?

可能有些後處理色彩校正只是權宜之計。在數碼攝影之前,為了獲得正確的外觀,你必須調整燈光和場景,這需要體力勞動。數字後處理可以降低照明精度。但在3D渲染中,照明同樣是數字,因此通常更好的做法是保持後處理步驟簡單(例如僅ACES色調映射),並在必要時調整環境圖像。由於3D渲染完全自動實時進行,因此無法對每個幀進行手動定製色彩調整。

6. 感知扮演什麼角色?

與攝影一樣,目標是觀眾對圖像的感知。沒有任何數學指標能夠代表人類的感知以及對真實人類的感知。孤立像素度量是有問題的,因為人類的大部分感知受到對象的背景和環境的影響。這是因為我們的大腦正在有效地試圖消除光線的影響,使我們能夠始終如一地感知潛在的材料特性。我們的大腦根據背景估計要去除哪些照明。

當使用相機圖像作為背景在AR中渲染產品時,為了獲得最一致的產品感知,其實際渲染像素需要更改色彩,理想情況下需要根據實際的局部照明環境進行更改。這有助於確保當我們的大腦對光線進行「校正」時,我們的感知能返回真實物體的屬性。理想情況下,渲染管道中應採取應用於相機原始圖像的相同色調映射和白平衡。遺憾的是,訪問所述數據可能十分困難。

當然,人類的感知並不一致,這使得所有這一切更加困難。一個很好的例子是這個連衣裙照片,它實際上是在黃色燈光下過度曝光的照片中的一件藍色和黑色連衣裙。儘管像素色彩大致為紫色和棕色,但超過一半的人認為裙子是藍色和黑色的,另有30%的人認為它是白色和金色的。顯然,這種模糊圖像在商業環境中是不可取的,但它有助於了解感知色彩與像素色彩的差異。

7. 我們如何驗證glTF模型?

一般來說,3D渲染的部分目的是通過使整個過程數位化來避免攝影成本。對於美術來說,3D模型的製作成本很高,但它可以快速創建許多不同的照片和交互體驗。那麼,如何驗證該三維模型對物理產品的準確性呢?當然,可以測量尺寸和形狀(glTF始終以米為單位,所以請檢查你的單位),但我們將重點關注材質特性,如baseColor和粗糙度。

選擇材質特性的最準確方法是測量它們,因為所有glTF材質都是用物理術語定義。然而,這種測量很難進行。市場上有一些產品可以掃描插入的樣本,並將相關特性與之匹配。現代的三維掃描算法可以恢復材質屬性,但機器學習系統並不完善,很難進行基準測試。在技術進一步發展之前,我們可能無法獲得正確測量的材質特性。

創建材質最常見的工作流程是3D美術手動調整屬性,直到渲染看起來正確為止。理想情況下,美術將物理對象放在桌上,並與渲染進行比較,從而專注於感知而不是像素值。但最重要的是,他們的創作軟體設置為以與對象呈現給用戶相同的方式呈現。

這是因為當渲染看起來不正確時,可能是材質或照明需要更改。如果對材質進行測量,人們可以安全地集中精力改變照明,但如果不這樣做,提前選擇一個固定的照明環境來消除這個變量將非常有幫助。同樣重要的是,使用的色調映射函數需要一致。

理想情況下,美術應在各種照明環境下檢查模型的渲染。特定類型的照明往往會隱藏或暴露某些材質屬性錯誤。至少,最好在中性室內環境和陽光明媚的室外環境中進行測試。太陽將產生非常高的動態範圍,以及彩色照明,這將有助於檢測各種可能的材質問題。這種場景往往會包含各種各樣的真實照明情況,並可能會應用於虛擬照片拍攝或AR中。

最後,常見的警告適用於色彩空間和顯示器之間的差異。glTF格式指定在內部使用sRGB色彩空間,這是最常見的輸出格式,但隨著HDR顯示變得越來越常見,這很可能很快變得更加複雜。

8. 我們可以得出什麼結論?

遺憾的是,沒有簡單的答案,因為色彩和感知是複雜的,甚至比基於物理的渲染更複雜。希望這個背景介紹能夠為你的創作和驗證過程提供一個框架。關於PBR,需要記住的最重要一點是,渲染色彩與材質baseColor相比會有所不同,這使得下面的演示非常逼真。

請注意,產品的色彩在每個環境中有多大的不同,但這正是使其看起來逼真的原因

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了