Update BoneNormalizer

This commit is contained in:
ousttrue
2018-05-21 14:31:34 +09:00
parent bf26163c43
commit bb3a62e232

View File

@@ -320,23 +320,33 @@ namespace VRM
mesh.name = src.name + "(transformed)";
mesh.vertices = src.vertices.Select(x => m.MultiplyPoint(x)).ToArray();
if(src.normals!=null)mesh.normals = src.normals.Select(x => m.MultiplyVector(x)).ToArray();
if(src.tangents!=null)mesh.tangents = src.tangents.Select(x =>
if (src.normals != null && src.normals.Length > 0)
{
var v = m.MultiplyVector(x);
return new Vector4(v.x, v.y, v.z, x.w);
}).ToArray();
mesh.uv = src.uv;
mesh.uv2 = src.uv2;
mesh.uv3 = src.uv3;
mesh.uv4 = src.uv4;
mesh.colors = src.colors;
mesh.normals = src.normals.Select(x => m.MultiplyVector(x)).ToArray();
}
if (src.tangents != null && src.tangents.Length > 0)
{
mesh.tangents = src.tangents.Select(x =>
{
var t = m.MultiplyVector((Vector3)x);
return new Vector4(t.x, t.y, t.z, x.w);
}).ToArray();
}
if (src.colors != null && src.colors.Length > 0) mesh.colors = src.colors;
if (src.uv != null && src.uv.Length > 0) mesh.uv = src.uv;
if (src.uv2 != null && src.uv2.Length > 0) mesh.uv2 = src.uv2;
if (src.uv3 != null && src.uv3.Length > 0) mesh.uv3 = src.uv3;
if (src.uv4 != null && src.uv4.Length > 0) mesh.uv4 = src.uv4;
mesh.subMeshCount = src.subMeshCount;
for(int i=0; i<mesh.subMeshCount; ++i)
{
mesh.SetIndices(src.GetIndices(i), src.GetTopology(i), i);
}
return mesh;
}
}
}