玩過游戲的應(yīng)該知道,換裝分為頭和身體施绎,先看幾個身體的換裝
簡單比較可以得出:
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)重越庇,放大看一下
里面包含前身(顛倒的)涩惑,后背(顛倒的)桑驱,一個手臂(手臂是對稱的),左腿萍聊、右腿等寿桨。衣服褲子基本都是灰色的,估計是用于和其他顏色混合挡鞍。
“區(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)重圖,當一個區(qū)域同時被左側(cè)標記了全綠或全紅時就會完全獨立于右側(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ū)域。