Browse Source

[Unity] Fixed MaterialChecks to correctly check for Sprite material settings. Closes pull request #2000.

Harald Csaszar 3 years ago
parent
commit
3025b370f5

+ 9 - 2
spine-unity/Assets/Spine/Runtime/spine-unity/Utility/MaterialChecks.cs

@@ -293,11 +293,11 @@ namespace Spine.Unity {
 					break;
 				}
 			}
-			bool isShaderWithMeshNormals = IsSpriteShader(material);
+			bool isShaderWithMeshNormals = IsLitSpriteShader(material);
 			return isShaderWithMeshNormals && !anyFixedNormalSet;
 		}
 
-		static bool IsSpriteShader (Material material) {
+		static bool IsLitSpriteShader (Material material) {
 			string shaderName = material.shader.name;
 			return shaderName.Contains("Spine/Sprite/Pixel Lit") ||
 				shaderName.Contains("Spine/Sprite/Vertex Lit") ||
@@ -305,6 +305,13 @@ namespace Spine.Unity {
 				shaderName.Contains("Pipeline/Spine/Sprite"); // covers both URP and LWRP
 		}
 
+		static bool IsSpriteShader (Material material) {
+			if (IsLitSpriteShader(material))
+				return true;
+			string shaderName = material.shader.name;
+			return shaderName.Contains("Spine/Sprite/Unlit");
+		}
+
 		static bool RequiresTintBlack (Material material) {
 			bool isTintBlackShader =
 				material.shader.name.Contains("Spine") &&