[请益] 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