Browse Source

[unity] Fixed exception when SkeletonRenderSeparator causes null material with mask materials. Closes #2499.

Harald Csaszar 1 year ago
parent
commit
1274c9ca84

+ 6 - 1
spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs

@@ -701,7 +701,12 @@ namespace Spine.Unity {
 			Material[] originalMaterials = maskMaterials.materialsMaskDisabled;
 			materialsToFill = new Material[originalMaterials.Length];
 			for (int i = 0; i < originalMaterials.Length; i++) {
-				Material newMaterial = new Material(originalMaterials[i]);
+				Material originalMaterial = originalMaterials[i];
+				if (originalMaterial == null) {
+					materialsToFill[i] = null;
+					continue;
+				}
+				Material newMaterial = new Material(originalMaterial);
 				newMaterial.SetFloat(STENCIL_COMP_PARAM_ID, (int)maskFunction);
 				materialsToFill[i] = newMaterial;
 			}

+ 1 - 1
spine-unity/Assets/Spine/package.json

@@ -2,7 +2,7 @@
 	"name": "com.esotericsoftware.spine.spine-unity",
 	"displayName": "spine-unity Runtime",
 	"description": "This plugin provides the spine-unity runtime core.",
-	"version": "4.1.40",
+	"version": "4.1.41",
 	"unity": "2018.3",
 	"author": {
 		"name": "Esoteric Software",