浏览代码

[ts][threejs] Fixed dark tint shader.

Davide Tantillo 6 月之前
父节点
当前提交
219348e7f4
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      spine-ts/spine-threejs/src/MeshBatcher.ts
  2. 1 1
      spine-ts/spine-threejs/src/SkeletonMesh.ts

+ 1 - 1
spine-ts/spine-threejs/src/MeshBatcher.ts

@@ -309,7 +309,7 @@ const spineOnBeforeCompile = (shader: THREE.WebGLProgramParametersWithUniforms)
 			#ifdef USE_SPINE_DARK_TINT
 				#ifdef USE_COLOR_ALPHA
 						diffuseColor.a *= vColor.a;
-						diffuseColor.rgb *= (1.0 - diffuseColor.rgb) * v_dark.rgb + diffuseColor.rgb * vColor.rgb;
+						diffuseColor.rgb = (diffuseColor.a - diffuseColor.rgb) * v_dark.rgb + diffuseColor.rgb * vColor.rgb;
 				#endif
 			#else
 				#ifdef USE_COLOR_ALPHA

+ 1 - 1
spine-ts/spine-threejs/src/SkeletonMesh.ts

@@ -294,7 +294,7 @@ export class SkeletonMesh extends THREE.Object3D {
 
 				let darkColor = this.tempDarkColor;
 				if (!slot.darkColor)
-					darkColor.set(1, 1, 1, 0);
+					darkColor.set(0, 0, 0, 1);
 				else {
 					darkColor.r = slot.darkColor.r * alpha;
 					darkColor.g = slot.darkColor.g * alpha;