[請益] Unity Skin影響了VertexColor!? 已解決

作者: snegi (  ̄灬 ̄)   2020-02-18 21:46:33
我的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
作者: cjcat2266 (CJ Cat)   2020-02-19 00:10:00
跟問題本身不知有無關聯,那個object space法向量應該直接跟UNITY_MATRIX_IT_MV相乘就好,而不用事先從object space轉到world space?因為M矩陣本身就是object toworld?
作者: oopFoo (3d)   2020-02-19 09:33:00
https://bit.ly/37HYYQ2d3d11, 用renderdoc來debug shader.不太了解你想做什麼?color.rgb是normal?color.a是?如果你能解釋一下流程,資料結構,會比較好。

Links booklink

Contact Us: admin [ a t ] ucptt.com