五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

xnormal-次世代游戲模型烘培工具(軟件篇)

2019-07-17 10:34 作者:Game藝視界  | 我要投稿

Hello .大家好

今天是2019年07月17日星期三

今天我們分享(軟件篇)

Xnormal大家并不陌生是一款非常實(shí)用的次世代游戲制作工具,該款工具最大的特色就是烘托速度快,幾乎是MAX.MAYA等軟件的幾倍速度,擁有著超豐富的游戲制作功能,界面整潔、操作簡單,支持中英文顯示界面,幾乎所有的貼圖都包括一個(gè)MIN/MAN渲染選項(xiàng),可以用來控制光線的明暗,游戲制作必備軟件。

既然是烘培法線工具我們先簡單介紹下法線的原理稍后在介紹軟件。

一、法線貼圖的的原理

法線貼圖(Normal map)

首先研究基于世界坐標(biāo)的法線貼圖(world space normal map),雖不常用,但是基礎(chǔ)。法線貼圖是用來記錄物體表面不同的入射點(diǎn)的法線矢量的圖像數(shù)據(jù)信息。它是用一個(gè)RGB彩色圖像來記錄不同點(diǎn)的法線XYZ坐標(biāo)數(shù)據(jù)的。規(guī)則是R通道記錄X軸的數(shù)據(jù),G通道記錄的是Y軸數(shù)據(jù),B通道記錄的是Z軸的數(shù)據(jù)。


法線貼圖的出現(xiàn),是為了低面數(shù)的模型模擬出高面數(shù)的模型的"光照信息"。(前幾篇談過,低模+法線貼圖增加模型表面細(xì)節(jié)的優(yōu)化方法)光照信息最重要的當(dāng)然是光入射方向與入射點(diǎn)的法線夾角,法線貼圖本質(zhì)上就是記錄了這個(gè)夾角的相關(guān)信息,光照的計(jì)算與某個(gè)面上的法線方向息息相關(guān)。

1、下圖是說:用烘焙的方法,把高模表面的光照信息(法線方向)和低模進(jìn)行“映射”計(jì)算,再通過烘焙方法把XYZ坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為RGB數(shù)據(jù)儲(chǔ)存到一個(gè)圖像的過程。

2、下圖是說:渲染器從低模的材質(zhì)中讀出法線貼圖,然后把法線貼圖每點(diǎn)的RGB圖像信息轉(zhuǎn)化為XYZ法線方向,還原高模的表面信息。也就是說,有了法線貼圖,渲染器不管真實(shí)的低模是什么 樣子,它就相信法線貼圖的光照信息。這就是一個(gè)很好的視覺魔術(shù)。

二、法線貼圖的分類

1、world space normalmap:如果這個(gè)法線方向,是處于世界坐標(biāo)中的(world space),那稱為world space norma。渲染器從貼圖里解壓出來后,就可以直接用了,效率很高。但是有個(gè)缺點(diǎn),這個(gè)world space normal 是固定了,如果物體沒有保持原來的方向和位置,那原來生成的normal map就作廢了。

2、object space normamap:如果是處于物體本身局部坐標(biāo)中的,那稱為object space normal。它從貼圖里解壓,還需要乘以model-view矩陣轉(zhuǎn)換到世界坐標(biāo),或者轉(zhuǎn)換到其他坐標(biāo)取決于計(jì)算過程及需求。object space normal生成的貼圖,物體可以被旋轉(zhuǎn)和位移,基本讓人滿意。但仍有一個(gè)缺點(diǎn),就是一張貼圖只能對(duì)應(yīng)特定的一個(gè)模型,模型不能有變形(deform)。

3、tangent space normal map:

在object space的基礎(chǔ)上,高模上object space內(nèi)的某點(diǎn)法線(不會(huì)是world space的,否則旋轉(zhuǎn)就露相),乘以這個(gè)矩陣,即得到tangent space內(nèi)的法線方向,再把這個(gè)值映射到rgb空間,存為貼圖。

O-TBN =

現(xiàn)在我們可以分析為什么tangent space法線貼圖偏藍(lán)色了,因?yàn)閷?duì)于高模上的面來說,因?yàn)榫忍?面很小,而且周圍的面相對(duì)它的方向很平滑),所以這個(gè)面渲染時(shí)計(jì)算機(jī)認(rèn)為這個(gè)面的"彎曲"程度很小,即面上各個(gè)點(diǎn)插值得來的法線相互間偏差很小,基本跟整個(gè)面的垂直方向不會(huì)差太多。因此在tangent space里,這些法線都跟z軸偏差較小,而z軸是被保存在貼圖里的B(藍(lán)色通道)里,所以貼圖顯示出來的顏色就偏藍(lán)了。

總之,world space norma 好用,但是要求最高;object space normamap不錯(cuò),要求不能變形;tangent space normal map:最佳,旋轉(zhuǎn)、變形都可以,最常用。tangent space normal map適應(yīng)變形的這種能力,使它不僅能夠應(yīng)用在原來的模型上,甚至可以應(yīng)用在變形嚴(yán)重的不同模型上。即法線貼圖有一定的脫離原來模型使用的能力。

作者:DIGITALMAN

鏈接:https://www.jianshu.com/p/b7e67bf767d9
來源:簡書

為使法線貼圖工作,我們需要為每個(gè)fragment提供一個(gè)法線。像diffuse貼圖和specular貼圖一樣,我們可以使用一個(gè)2D紋理來儲(chǔ)存法線數(shù)據(jù)。2D紋理不僅可以儲(chǔ)存顏色和光照數(shù)據(jù),還可以儲(chǔ)存法線向量。這樣我們可以從2D紋理中采樣得到特定紋理的法線向量。


由于法線向量是個(gè)幾何工具,而紋理通常只用于儲(chǔ)存顏色信息,用紋理儲(chǔ)存法線向量不是非常直接。如果你想一想,就會(huì)知道紋理中的顏色向量用r、g、b元素代表一個(gè)3D向量。類似的我們也可以將法線向量的x、y、z元素儲(chǔ)存到紋理中,代替顏色的r、g、b元素。法線向量的范圍在-1到1之間,所以我們先要將其映射到0到1的范圍:

將法線向量變換為像這樣的RGB顏色元素,我們就能把根據(jù)表面的形狀的fragment的法線保存在2D紋理中。教程開頭展示的那個(gè)磚塊的例子的法線貼圖如下所示:

這會(huì)是一種偏藍(lán)色調(diào)的紋理(你在網(wǎng)上找到的幾乎所有法線貼圖都是這樣的)。這是因?yàn)樗蟹ň€的指向都偏向z軸(0, 0, 1)這是一種偏藍(lán)的顏色。法線向量從z軸方向也向其他方向輕微偏移,顏色也就發(fā)生了輕微變化,這樣看起來便有了一種深度。例如,你可以看到在每個(gè)磚塊的頂部,顏色傾向于偏綠,這是因?yàn)榇u塊的頂部的法線偏向于指向正y軸方向(0, 1, 0),這樣它就是綠色的了。


在一個(gè)簡單的朝向正z軸的平面上,我們可以用這個(gè)diffuse紋理和這個(gè)法線貼圖來渲染前面部分的圖片。要注意的是這個(gè)鏈接里的法線貼圖和上面展示的那個(gè)不一樣。原因是OpenGL讀取的紋理的y(或V)坐標(biāo)和紋理通常被創(chuàng)建的方式相反。鏈接里的法線貼圖的y(或綠色)元素是相反的(你可以看到綠色現(xiàn)在在下邊);如果你沒考慮這個(gè),光照就不正確了(譯注:如果你現(xiàn)在不再使用SOIL了,那就不要用鏈接里的那個(gè)法線貼圖,這個(gè)問題是SOIL載入紋理上下顛倒所致,它也會(huì)把法線在y方向上顛倒)。加載紋理,把它們綁定到合適的紋理單元,然后使用下面的改變了的像素著色器來渲染一個(gè)平面:

這里我們將被采樣的法線顏色從0到1重新映射回-1到1,便能將RGB顏色重新處理成法線,然后使用采樣出的法線向量應(yīng)用于光照的計(jì)算。

原文地址有更多介紹

https://learnopengl.com/Advanced-Lighting/Normal-Mapping


三、軟件介紹

首先xNormal支持中文設(shè)置之前一直不知道目前我用的是3.19.3

有些地方翻譯不準(zhǔn)確軟件用到地方不是很多,熟悉英文直接用就好。也可以打開界面點(diǎn)擊左邊插頭按鈕彈出對(duì)話框在language(語言)選擇簡體字然后關(guān)閉這樣整個(gè)界面就變成簡體中文了。

xnormal烘焙流程

1.準(zhǔn)備模型:烘培需要對(duì)應(yīng)好的高模和低模,模型最好象普通渲染樣保證匹配,如果有多個(gè)部件交叉疊放一起,需要分開否則可能出現(xiàn)部分錯(cuò)誤

xNormal烘培是基于優(yōu)秀的GI光線,不需要我們對(duì)光線陰影色調(diào)操心而保證準(zhǔn)確。

調(diào)用的模型支持多種格式,最常用和通用的是OBJ,用MAX的還可以使用SBM格式,包含支持的更多信息,也方便導(dǎo)入導(dǎo)出。

2. 裝載模型:第一項(xiàng)裝載高模,第二項(xiàng)裝載低模,順序應(yīng)該是不影響的且可以裝載多個(gè),進(jìn)行選擇使用。

3、烘培設(shè)置:選擇文件保存路徑。圖片大小,需要的烘培項(xiàng)。經(jīng)過測試烘培最好的是法線和AO(翻譯的文字為四周鎖柱?),法線有幾種形式,可以對(duì)應(yīng)不同的引擎和作為其他貼圖的參考。出血量、抗鋸齒等普通情況下可以保存默認(rèn)。點(diǎn)擊下角最大的引起地圖按鈕,等待幾分鐘,烘培完成。

4、各種貼圖轉(zhuǎn)換工具,可以得到細(xì)節(jié)、法線、AO、高光等貼圖

使用方法

1、右側(cè)的按鈕可以導(dǎo)入高模以及低模,這款軟件可以將高模中的信息烘焙到低模的各種貼圖中,右鍵可以加載和移除模型(參照流程第一張圖)

2、在低模的選項(xiàng)smooth normal有三種選擇,use exported normals可以識(shí)別三維軟件中指定的模型的軟硬邊,average normals會(huì)將所有的法線軟化,harden normals會(huì)將法線硬邊化,一般這個(gè)選項(xiàng)都選擇第一個(gè)use exported normals

3、Maxium frontal/rear ray distance 可以決定低模讀取超過自身范圍多少的高模的信息,這個(gè)數(shù)值稍微大一點(diǎn)可以獲得更多的高模細(xì)節(jié),但是該數(shù)值過小或者過大會(huì)出錯(cuò),use cage可以在三維軟件中編輯導(dǎo)出低模的cage文件在xnormal中使用,能得到比較精確的烘焙

4、Bake前要在baking option中指定輸出貼圖的路徑

5、在選擇高模的板塊中,有base texture to bake的選項(xiàng),可以將在其他軟件中給高模上好的顏色bake到低模中

6、size決定輸出貼圖的尺寸;edge pedding代表貼圖超出UV邊界多少個(gè)像素(這個(gè)值得大小根據(jù)貼圖的尺寸來,一般不宜過大,貼圖稍微超出UV邊界一點(diǎn)可以避免一些錯(cuò)誤黑邊的出現(xiàn));bucket size是xnormal在烘焙貼圖過程中渲染方框的大小,本人習(xí)慣設(shè)置成512;renderer可以有兩種模式, default bucket renderer是CPU渲染,速度上比較慢,optix/CUDA renderer是GPU渲染,速度很快但比較容易出錯(cuò);antialising是貼圖抗鋸齒效果,開高了比較慢 (如果貼圖是2048像素想要達(dá)到好的抗鋸齒效果,可以先烘焙4096抗鋸齒為1的貼圖,然后Photoshop改圖片大小至2048,會(huì)比直接在xnormal中開高抗鋸齒烘焙2048的貼圖要快)

7、點(diǎn)擊圖中綠色的圖標(biāo)可以打開每種貼圖的選項(xiàng),在normal map的選項(xiàng)中swizzle coordinates代表計(jì)算烘焙法線貼圖的坐標(biāo)系,maya和marmoset用的是Y+,3ds max和udk用的是Y-; tangent space是法線的類型,如果不選這個(gè)選項(xiàng)xnormal會(huì)生成world space normal

8、AO貼圖烘焙的選項(xiàng)中,rays是AO烘焙的采樣值,該數(shù)值越高貼圖質(zhì)量越好同時(shí)烘焙速度越慢;spread angle是通過角度去計(jì)算AO,該數(shù)值過大或者過小都會(huì)導(dǎo)致AO貼圖效果出錯(cuò),一般150是一個(gè)比較好的數(shù)值;allow 100% occlusion一般關(guān)掉,開啟有的時(shí)候會(huì)出錯(cuò);ignore backface hits開啟;jitter是可以給AO加噪點(diǎn),關(guān)掉比較好

烘培AO.我們進(jìn)行設(shè)置對(duì)于兩個(gè)紅框中顏色?不能太黑也不能太白,這樣烘出來的效果會(huì)好點(diǎn)設(shè)置好后就直接點(diǎn)擊Generate Maps,進(jìn)行AO的烘培。

以下內(nèi)容根據(jù)使用情況而定

9、bake AO的時(shí)候需要調(diào)整一下模型的cage,要打開3D viewer去觀察,選擇run windowed,窗口化顯示,然后點(diǎn)lauch viewer

10、show cage可以顯示cage,然后edit cage可以對(duì)cage進(jìn)行調(diào)整,cage global extrusion 可以整體的放大cage直到它完全蓋過高模,selection extrusion只向法線方向外移動(dòng)選中的點(diǎn),鼠標(biāo)中鍵可以選擇點(diǎn),全部調(diào)整好后可以點(diǎn)擊右邊的save meshes存儲(chǔ)的時(shí)候會(huì)有兩種不同的文件類型,選擇SBM能得到比較好的效果在128rays的情況下bake出來的ao會(huì)比較多噪點(diǎn),可以考慮將rays調(diào)高。

如果想要改變模型的尺寸的話可以在下方default mesh scale處改,這樣每回導(dǎo)入的模型都繼承了相同的尺寸信息,不用每次都手動(dòng)調(diào)整

11、另外一種使用cage的方式是在external cage file這里導(dǎo)入一個(gè)obj文件,可以在maya中在原始的低模上復(fù)制一個(gè)新模作為cage,可以對(duì)該cage進(jìn)行縮放以及調(diào)點(diǎn)但是模型的布線以及UV不能被改動(dòng)

12、Xnormal bake出來的normal map最好使用photoshop中的xnormal插件 xnormal normalized這樣可以使normal map更加干凈并且避免了一些細(xì)微的錯(cuò)誤填寫圖片摘要(選填)

xnormal軟件不是很復(fù)雜用幾次就能熟練掌握!

點(diǎn)擊:閱讀原文 ?提取碼: qaur?

好 本期分享就到這里 我們下期見 拜拜!






xnormal-次世代游戲模型烘培工具(軟件篇)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
灵武市| 长沙市| 贵港市| 平利县| 楚雄市| 五原县| 丽江市| 浦东新区| 崇阳县| 临泉县| 栾城县| 新邵县| 商河县| 怀远县| 五常市| 永靖县| 平南县| 神池县| 舒城县| 陇南市| 略阳县| 噶尔县| 射阳县| 桂东县| 建湖县| 文安县| 平远县| 陆良县| 菏泽市| 泽州县| 通辽市| 三亚市| 永福县| 黄龙县| 安西县| 措勤县| 呼玛县| 丰都县| 碌曲县| 江口县| 潮安县|