• RuntimesUnity
  • Why is the image rendered by Untiy different from what is displayed in Spine

Why is the image rendered by Untiy different from what is displayed in Spine Editor?
This one is in SpineEditor

This is a Unity rendering

It can be seen that the blush color on the female character's face is inconsistent, but there is no such problem elsewhere

Here are my Spine and Unity settings




In Unity 2021.3.8f1c1, I am using the Universal Render Pipeline , And turned off Global Volume
SpinePackage Version 4.1.0

May I ask what is causing this? How should I fix it 🤯

Related Discussions
...

@Qingswe Judging from the first two screenshots above it looks like different texture filtering. What are the Smoothing settings you're using in the Spine Editor under Settings - Viewport?

Please note that if you want a more crisp image in Unity, you may need to change the atlas Texture import settings Filter Mode from Bilinear to Point (No Filter) at each atlas texture to not add any blur.

    Harald
    I have never changed the settings here, the default should be

    
    Smoothing 8
    
    Anisotropic filtering

    Now I'll change it to

    
    Smoothing 11 (and 0)
    
    Anisotropic filtering

    And modified the settings for importing images from Unity

    
    Filter Mode Point (no filter)

    Whether changing Smoothing to 0 or 11, there are still differences in the display effect

    Smoothing to 0

    Smoothing to 11

    But there are still differences with SpineEditor

    Is there any other way to make the display consistent 😰

      Qingswe Smoothing to 0

      I think you misunderstood the viewport settings. Changing Smoothing in the Spine Editor settings changes the preview in the Spine Editor viewport (hence the name). It has no effect on skeleton exports, your images are simply packed as-is, no filtering happens when exporting the atlas texture (unless you downscale it to size 0.5 of course). It depends entirely on your game toolkit how the texture is then filtered when displayed in your game.

      Setting Smoothing to 0 in the Spine Editor uses nearest-neighbour filtering in the Spine Editor Viewport, when you then also set Unity's Texture import settings to Point (no filter), it also uses nearest neighbour filtering there (point filtering is just a different name for it).

        Harald
        I see, I also believe that Smoothing is the display effect of Spine Editor, which means there is a certain degree of error between Unity and Spine rendering. We can only reduce the error and cannot completely eliminate it, because different image filtering parameters result in small differences

        @Qingswe Sorry that I didn't mention that in the above posting:
        If you set the Spine Viewport Smoothing setting to 10, it uses Linear filtering, which is also available in Unity. I didn't mention that since I assumed you didn't want the "blurry" look.

        So the following Spine Editor Viewport settings (with Keep edges disabled) and Unity texture import Filter Mode settings are equivalent:

        • Smoothing 0 and Point (no filter)
        • Smoothing 10 and Bilinear

        Spine just provides additional filtering features which are not provided in Unity.

          Harald
          Thank you for your explanation. I completely understand now that these two editors do not use the same image filtering mode. I think this should be noted in a prominent position in the document 😂