無主之地2的渲染分析-1換裝(Borderlands2 rendering analysis 1 character customization)

玩過游戲的應(yīng)該知道,換裝分為頭和身體,先看幾個身體的換裝

Salvado's Duds
Feeling Blue
Padoran Legend
Classiest Man Alive
Skin of Steel

簡單比較可以得出:

1,身體模型沒有變化

2,衣服褲子分為很多部分,每個部分能指定顏色或者貼圖

3,最后一張的手臂貼圖有變化,并且全身大部分都有反光

接著掛上GPA看看


Salvado's Duds


右邊是渲染身體用的六張圖,分別是

0:法線

1:“區(qū)域權(quán)重",用于區(qū)分身體的不同部分

2:未知,每個換裝都有同樣的圖,也許是用于動態(tài)效果

3:diffuse,

4:未知,同2

5:未知,可能只是提供個顏色

比較重要的是Diffuse和區(qū)域權(quán)重,放大看一下

Body Diffuse

里面包含前身(顛倒的),后背(顛倒的),一個手臂(手臂是對稱的),左腿、右腿等。衣服褲子基本都是灰色的,估計是用于和其他顏色混合。

區(qū)域權(quán)重

“區(qū)域權(quán)重”圖和diffuse圖是有對應(yīng)關(guān)系的,把diffuse圖水平方向縮小0.5倍也就是“區(qū)域權(quán)重”圖的一半了,估計是為了節(jié)省資源,不然可以分成2張,也說明權(quán)重圖的精度降低一半后影響不大。與Diffuse用同一套uv,(0.5*u, v)用于sample左側(cè),(0.5+0.5*u, v)用于sample右側(cè)。權(quán)重圖中任意一個像素只有RGB中的一個分量,剩下都是0。

先看右側(cè)權(quán)重圖的RGB分別表示哪些區(qū)域,對照最終效果,R表示褲子(不包含彈夾和綁腿),G表示背帶和袖子邊緣,B表示上身衣服和綁腿。黑色部分使用了diffuse中的顏色。

再看左側(cè)權(quán)重圖,當(dāng)一個區(qū)域同時被左側(cè)標(biāo)記了全綠或全紅時就會完全獨立于右側(cè)區(qū)域,比如袖子和背帶邊緣,胸口的漏洞。顏色越淺則越受右側(cè)權(quán)重圖影響,全黑則完全受右側(cè)影響。

分析一下可以猜出,每個顏色區(qū)域都可以用來指定一個顏色(或者貼圖,后面其他換裝再說),左側(cè)權(quán)重優(yōu)于右側(cè)。

假設(shè)Difffuse是D,WL是左側(cè)權(quán)重,WR是右側(cè)權(quán)重,C1--CN是材質(zhì)顏色參數(shù)

WR_SUM = Clamp01(WR.R + WR.G + WR.B)? ? 是0或1的值,用于選擇

WL_SUM = Clamp01(WL.R + WL.G + WL.B) ? ? 是0到1的值,用于過渡

RC = WR.R*C1 + WR.G*C2 + WR.B*C3 ? ?是根據(jù)右側(cè)權(quán)重混合后的顏色,3選一

LC = WL.R*C4 + WL.G*C5? ? 是左側(cè)權(quán)重混合顏色,2選一

一個像素的顏色的公式大概是

D*(1-WR_SUM) ?+ D*WR_SUM*(RC*(1-WL_SUM) + WL_SUM*LC)

Pandoran Legend


這套換裝的前5張圖跟salvado's duds完全一樣,新增了2張貼圖,第六張是

上半身的紅黃斜條就是這張圖,圖里是垂直的。這里應(yīng)該是用的第二套uv來sample整張圖,估計是在shader里旋轉(zhuǎn)了uv所以在身上就是斜條了。最后一張并非全白圖,而是帶alpha的

borderlands字樣只有前身有,后身沒有,而且字樣貼圖本身就是斜的,并不像第六張那樣是垂直的,所以應(yīng)該用的第三套uv來sample的字樣圖。

我之前做足球游戲,10個人的隊服是一樣的,但是號碼不一樣,為了節(jié)省drawcall就用了單獨的uv來疊加號碼。

把之前公式里的某些顏色換成sample貼圖就可以把貼圖應(yīng)用到身體區(qū)域了。

Classiest Man Alive

前五張也是一樣的圖,第六張圖應(yīng)用到了褲子上,應(yīng)該也是第二套uv,并且用tiling做重復(fù)的。最后一張圖應(yīng)用到前身,但比borderlands字樣那張小,估計shader里調(diào)過tiling的。估計第二套uv的展開方式是前身、后身、左右腿各自都單獨占0-1的空間,各部分在uv2上是有重復(fù)區(qū)域的。UV3估計只有前身的一塊是0-1,其他部位都在0-1之外。

Skin of Steel

這套換的圖比較多,權(quán)重、diffuse也變了,為了讓手臂手指也都變成鋼鐵反光,最后一張圖估計是用uv2來sample的。把幾張圖貼出來也就能猜出大概了。

總結(jié)

身體在不換模型的情況下

1,用區(qū)域權(quán)重圖表示了身體各部分,可以分別指定顏色或貼圖。

2,用uv2將一個小圖應(yīng)用到一個權(quán)重區(qū)域上,用uv3將某個圖只映射到一小塊模型區(qū)域。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們都知道,一個三維場景的畫面的好壞,百分之四十取決于模型,百分之六十取決于貼圖,可見貼圖在畫面中所占的重要性。在...
    自由的天空閱讀 12,935評論 0 12
  • git add 文件時,出現(xiàn)報錯LF will be replaced by CRLF in 文件夾這是由于win...
    冥冥2017閱讀 333評論 0 0
  • RedHat6.4安裝配置Elasitcsearch5.2.0 elastic的5.2.0版本最近剛剛發(fā)布,相比之...
    mvpboss1004閱讀 1,052評論 0 0
  • No.63 我們現(xiàn)在越來越像是河流中的一塊礁石,信息的洪流從我們身邊呼嘯而去。過去的學(xué)習(xí)是先占有信息,然后再去反復(fù)...
    進(jìn)階的石先生閱讀 410評論 0 0

友情鏈接更多精彩內(nèi)容