فهرست منبع

[unity] Fix PMA for SkeletonRenderSeparator.

pharan 9 سال پیش
والد
کامیت
fbd8e32c06

+ 1 - 0
spine-unity/Assets/spine-unity/Mesh Generation/ISubmeshedMeshGenerator.cs

@@ -28,6 +28,7 @@ namespace Spine.Unity.MeshGeneration {
 		MeshAndMaterials GenerateMesh (ExposedList<SubmeshInstruction> instructions, int startSubmesh, int endSubmesh);
 		MeshAndMaterials GenerateMesh (ExposedList<SubmeshInstruction> instructions, int startSubmesh, int endSubmesh);
 
 
 		float ZSpacing { get; set; }
 		float ZSpacing { get; set; }
+		bool PremultiplyVertexColors { get; set; }
 		bool AddNormals { get; set; }
 		bool AddNormals { get; set; }
 		bool AddTangents { get; set; }
 		bool AddTangents { get; set; }
 	}
 	}

+ 2 - 0
spine-unity/Assets/spine-unity/Modules/SkeletonRenderSeparator/SkeletonRenderSeparator.cs

@@ -137,6 +137,7 @@ namespace Spine.Unity.Modules {
 			var currentRenderer = partsRenderers[rendererIndex];
 			var currentRenderer = partsRenderers[rendererIndex];
 			bool addNormals = skeletonRenderer.calculateNormals;
 			bool addNormals = skeletonRenderer.calculateNormals;
 			bool addTangents = skeletonRenderer.calculateTangents;
 			bool addTangents = skeletonRenderer.calculateTangents;
+			bool pmaVertexColors = skeletonRenderer.pmaVertexColors;
 				
 				
 			for (int si = 0, start = 0; si <= lastSubmeshInstruction; si++) {
 			for (int si = 0, start = 0; si <= lastSubmeshInstruction; si++) {
 				if (submeshInstructionsItems[si].forceSeparate || si == lastSubmeshInstruction) {
 				if (submeshInstructionsItems[si].forceSeparate || si == lastSubmeshInstruction) {
@@ -144,6 +145,7 @@ namespace Spine.Unity.Modules {
 					var meshGenerator = currentRenderer.MeshGenerator;
 					var meshGenerator = currentRenderer.MeshGenerator;
 					meshGenerator.AddNormals = addNormals;
 					meshGenerator.AddNormals = addNormals;
 					meshGenerator.AddTangents = addTangents;
 					meshGenerator.AddTangents = addTangents;
+					meshGenerator.PremultiplyVertexColors = pmaVertexColors;
 					if (copyPropertyBlock)
 					if (copyPropertyBlock)
 						currentRenderer.SetPropertyBlock(copiedBlock);
 						currentRenderer.SetPropertyBlock(copiedBlock);