diff --git a/blender/arm/material/make_skin.py b/blender/arm/material/make_skin.py index aaaff3ce..1d4244fd 100644 --- a/blender/arm/material/make_skin.py +++ b/blender/arm/material/make_skin.py @@ -22,6 +22,9 @@ def skin_pos(vert): vert.write_attrib('spos.xyz /= posUnpack;') -def skin_nor(vert, prep): +def skin_nor(vert, is_morph, prep): rpdat = arm.utils.get_rp() - vert.write_attrib(prep + 'wnormal = normalize(N * (vec3(nor.xy, pos.w) + 2.0 * cross(skinA.xyz, cross(skinA.xyz, vec3(nor.xy, pos.w)) + skinA.w * vec3(nor.xy, pos.w))));') + if(is_morph): + vert.write_attrib(prep + 'wnormal = normalize(N * morphNor + 2.0 * cross(skinA.xyz, cross(skinA.xyz, morphNor) + skinA.w * morphNor)));') + else: + vert.write_attrib(prep + 'wnormal = normalize(N * (vec3(nor.xy, pos.w) + 2.0 * cross(skinA.xyz, cross(skinA.xyz, vec3(nor.xy, pos.w)) + skinA.w * vec3(nor.xy, pos.w))));')