• RuntimesUnityBugs
  • Spine clipping mask not working on iOS

Problem statement

We use a Spine clipping mask to get a round image that we can animate. In the editor it looks like this:

But when we build to iOS, it looks like this:

we use this script to replace the image

spineattachmentspritereplacement.txt
3kB

What can we do about this?

Runtime information

4.1.0

  • Misaki ответили на это сообщение.
    Related Discussions
    ...

    Alexees Are you using URP, LWRP or normal shaders like Spine/Skeleton with a SkeletonGraphic component? As described in "Important Material Requirements” of the documentation, you have to use Materials with special CanvasRenderer compatible shaders at SkeletonGraphic components: http://esotericsoftware.com/spine-unity#Important-Material-Requirements

    If you are using a proper shader but still getting the incorrect results, see the "Important Notes" of runtime repacking to see if your case matches with any of them: http://esotericsoftware.com/spine-unity#Combining-Skins

    Please let us know if the above information does not solve your problem.

    @Alexees Please have a look at the "Important Note" box in the documentation subsection "Runtime Repacking" here:
    https://esotericsoftware.com/spine-unity#Combining-Skins
    If you encounter the problem only when repacking the skin, likely one of the bullet points listed in this note section should be the cause of your issues.

    • Alexees ответили на это сообщение.
      23 дня спустя

      Harald
      Indeed it was the Read/Write setting. But there was no indication of it. I guess the native TextureCopy method is not able to check this when it's run on the graphics card.

      • Harald ответили на это сообщение.

        Glad to hear you've figured it out, thanks for getting back to us.

        Alexees I guess the native TextureCopy method is not able to check this when it's run on the graphics card.

        Unfortunately the CopyTexture method does not return (forward) any error code upon failure (having void return type), nor is there any method available to query the last set error code, which seems to be an oversight on Unity's API side.

        If anybody knows a way to query or detect failure of a CopyTexture() call, please do let us know, we would be happy to forward such errors to the caller.