[請益] Unity Skin影響了VertexColor!?
我的shader是向外擠出輪廓線
但為了避免非相同法線所形成的Gaps
我將法線資訊另存在VertexColor上
shader如下
v2f vert(appdata v)
{
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
//fixed3 dir = normalize(v.normal);
fixed3 dir = UnityObjectToWorldNormal((v.color.rgb * 2.0) - 1.0);
dir = mul((fixed3x3)UNITY_MATRIX_IT_MV, dir);
fixed2 offset = TransformViewToProjection(dir.xy);
offset = normalize(offset);
o.pos.xy += offset * v.color.a * _LineWidth;
return o;
}
直到模型綁上skin後出現了奇怪的現象
邊線往預想外的方向偏移
左邊skin後 右邊skin前
https://i.imgur.com/libCqfs.png
我把fbx丟回maya也沒發現VertexColor的變動
到底發生什麼事了QQ
--
╭───╮
∕◢██◣﹨ 李組長眉頭一皺,
\ ㄟˇㄏ /
【 ㄧ..ㄧ 】+ 覺得案情並不單純。
◥ /︷\ ◤ $snegi
▆▅▅▆
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.190.211 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1582033597.A.A7E.html
推
02/19 00:10,
4年前
, 1F
02/19 00:10, 1F
→
02/19 00:10,
4年前
, 2F
02/19 00:10, 2F
→
02/19 00:10,
4年前
, 3F
02/19 00:10, 3F
→
02/19 00:10,
4年前
, 4F
02/19 00:10, 4F
直接相乘也是沒有區別 剛剛測試含有blendshape的模型也會有相同的情況
推
02/19 09:33,
4年前
, 5F
02/19 09:33, 5F
→
02/19 09:34,
4年前
, 6F
02/19 09:34, 6F
→
02/19 09:35,
4年前
, 7F
02/19 09:35, 7F
→
02/19 09:36,
4年前
, 8F
02/19 09:36, 8F
一個點如果含有複數的normal會讓外推的模型裂開
因此我在maya將normal.xyz +1 * 0.5 之後寫入 vertexColor.rgb
vertexColor.a則是外推的程度
之後在shader將vertexColor.rgb * 2 - 1 逆推取代normal
這樣每個點都只會有一個外推的向量vertexColor.rgb而非複數的向量normal
追記 當一個點有複數權重的話就會發生問題 只有一個時不會
推
02/19 14:13,
4年前
, 9F
02/19 14:13, 9F
→
02/19 14:15,
4年前
, 10F
02/19 14:15, 10F
→
02/19 14:16,
4年前
, 11F
02/19 14:16, 11F
→
02/19 14:18,
4年前
, 12F
02/19 14:18, 12F
→
02/19 15:45,
4年前
, 13F
02/19 15:45, 13F
我剛剛試著把fixed2 offset = TransformViewToProjection(dir.xy);
改成fixed2 offset = TransformViewToProjection(dir.zx);
攝影機往-Z方向沒問題 +Z線就消失了
而非SkinMeshRender的模型就變成不正常了
推
02/19 19:08,
4年前
, 14F
02/19 19:08, 14F
→
02/19 19:11,
4年前
, 15F
02/19 19:11, 15F
→
02/19 19:11,
4年前
, 16F
02/19 19:11, 16F
→
02/19 19:14,
4年前
, 17F
02/19 19:14, 17F
真的耶!! 因為我最上層的骨頭軸向跟世界座標不同
我在maya先骨頭轉成跟世界座標相同再進行點上色就成功了
好像是skinmeshedrenderer之後的點會以最上層的骨頭作為世界座標
感謝提點!
※ 編輯: snegi (106.104.165.79 臺灣), 02/20/2020 14:59:43
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
10
38