Hello.
We found that files edited by the Spine Editor in the linear space did not have the same effect when exported to the Unity Editor (linear space). What's the problem, please? Where did I set it up?
Unity version: 2022.3.16f1
Spine version: 4.2.29
Unity Spine UPM version: 4.2.70
spine import unity is different
The issue you're experiencing with the different visual effects between the Spine Editor and Unity Editor when using linear color space is likely due to mismatched color space settings. Here are some steps to ensure consistency:
Spine Editor Settings:
- Ensure that the Spine Editor is set to use linear color space. You can do this by navigating to
Application - General - Color management
and setting it fromGamma
toLinear
. This will make the blending behavior in the Spine Editor match Unity's linear color space.
- Ensure that the Spine Editor is set to use linear color space. You can do this by navigating to
Unity Settings:
- In Unity, make sure that your project is set to use linear color space. You can check this by going to
Edit > Project Settings > Player > Other Settings
and settingColor Space
toLinear
.
- In Unity, make sure that your project is set to use linear color space. You can check this by going to
Texture Import Settings:
- Ensure that the texture import settings in Unity match the export settings from Spine. Specifically, check if the textures are imported with the correct alpha settings. You can refer to the [Premultiplied vs Straight Alpha Import](http://esotericsoftware.com/spine-unity#Advanced
The above steps have been ensured.
@Tracy_zly Thanks for reporting and sorry for the troubles! This indeed looks like a bug on the spine-unity runtime side, the result should look different in Unity than it currently does. The display in the Spine Editor can be assumed to be correct (note that it will always be slightly shifted according to your active Monitor profile).
I've created an issue ticket here:
EsotericSoftware/spine-runtimes2552
We will let you know here on the forum once we have a bugfix ready.
@Tracy_zly We have just pushed a bugfix for this issue to the 4.2 branch.
From the changelog:
Fixed a bug where when Linear color space is used and
PMA vertex colors
enabled, additive slots add a too dark (too transparent) color value. If you want the old incorrect behaviour (darker additive slots) or are not using Linear but Gamma color space, you can comment-out the defineLINEAR_COLOR_SPACE_FIX_ADDITIVE_ALPHA
inMeshGenerator.cs
to deactivate the fix or just to skip unnecessary instructions.
A new spine-unity 4.2 is available for download:
https://esotericsoftware.com/spine-unity-download
Please let us know whether the bugfix resolves the issue on your end as well.
Thanks again for reporting!
I downloaded the new spine-unity version and found that the effect was still wrong. The comparison effect is as follows:
@Tracy_zly This is very strange, it looks as follows on our end in Unity with Linear color space, left shows SkeletonGraphic
with Multiple CanvasRenderers
and PMA Vertex Colors
enabled and right shows SkeletonAnimation
.
Does the Unity Package Manager now show package version 4.2.71
at the spine-unity package?
Do you see the line #define LINEAR_COLOR_SPACE_FIX_ADDITIVE_ALPHA
in line 60 of MeshGenerator.cs
(located in Spine/Runtime/spine-unity/Mesh Generation
)?
If so, could you please send us a minimal Unity project which shows this issue with the latest spine-unity package? You can again send it via email to contact@esotericsoftware.com.
Sorry for the late reply, I tried again and found that it is already OK, thank you very much.