diff --git a/spine-ts/spine-construct3-lib/src/C3Texture.ts b/spine-ts/spine-construct3-lib/src/C3Texture.ts index 7a6d5e4dc..cba1f2838 100644 --- a/spine-ts/spine-construct3-lib/src/C3Texture.ts +++ b/spine-ts/spine-construct3-lib/src/C3Texture.ts @@ -137,7 +137,7 @@ function toC3Filter (filter: TextureFilter): TextureSamplingMode { export const BlendingModeSpineToC3: Record = { [BlendMode.Normal]: "normal", [BlendMode.Additive]: "additive", - [BlendMode.Multiply]: "normal", - [BlendMode.Screen]: "normal", + [BlendMode.Multiply]: "multiply", + [BlendMode.Screen]: "screen", } diff --git a/spine-ts/spine-construct3/src/instance.ts b/spine-ts/spine-construct3/src/instance.ts index 583486271..56c25b7b5 100644 --- a/spine-ts/spine-construct3/src/instance.ts +++ b/spine-ts/spine-construct3/src/instance.ts @@ -120,7 +120,7 @@ class MyDrawingInstance extends SDK.IWorldInstanceBase { this.update(0); let command = this.skeletonRenderer.render(this.skeleton); while (command) { - const { numVertices, positions, uvs, colors, indices, numIndices } = command; + const { numVertices, positions, uvs, colors, indices, numIndices, blendMode } = command; const vertices = this.tempVertices; const c3colors = this.tempColors; @@ -142,7 +142,7 @@ class MyDrawingInstance extends SDK.IWorldInstanceBase { } iRenderer.ResetColor(); - iRenderer.SetAlphaBlend(); + iRenderer.SetBlendMode(spine.BlendingModeSpineToC3[blendMode]); iRenderer.SetTextureFillMode(); iRenderer.SetTexture(command.texture.texture);