• Unity
  • Outline shaders for spine-unity

Thanks for your kind words, glad you like it! 🙂

But the thickness of outline is varied in Unity.

The outline width is constant in texel size (in texture space), so if you the wing and hat parts are scaled twice as large (half the texel-density on screen), then the ouline will show the same "twice as large" scaling effect.

I have created an issue ticket here to support constant outline width in screen-space:
https://github.com/EsotericSoftware/spine-runtimes/issues/1615

Is this URP compatible?

Is there or will there be a packer for Spine projects?
Where Spine collects all source folders and save them to a master folder for when a project has been completed.
Similar to the 'Collect dependencies' in After effects.

*Im not sure where suggestions should go *

Arnissan escribió

Is this URP compatible?

I also have the same question!

Damn I love the Spine team !!!
Thanks a lot ! 🙂

10 días más tarde
Arnissan escribió

Is this URP compatible?

it has issue with URP look like this

18 días más tarde

Hello, also hoping that this feature can get released on the URP shaders?

@[borrado]

I don't see anything mentioned in the post about the URP shaders supporting or not supporting outlines. Is there anything I'm missing?


I found this post in case it helps others. tldr: outlines are not supported in URP.

Issue with urp

10 meses más tarde

I don't understand why the outlines have different widths when I exported 2 characters with the same settings from Spine, and I have identical shaders settings in unity - but the characters have a drastic difference on their outlines. Would be nice if I didn't have to manually work on the outline width for each character.

We have an issue ticket on our roadmap that deals with implementing screen-space constant ouline width:
https://github.com/EsotericSoftware/spine-runtimes/issues/1615

In the current implementation it it is constant in texel space, so the material property will set it to e.g. 3 texels width. So it depends on the resolution of your input attachment images, if e.g. a head.png attachment has twice the resolution at the same display size, the outline will be half as thick using the same 3 texel width.

2 meses más tarde

We also stumbled upon the issue that different spine characters get different outline sizes in our project and we are too far along to change the attachment images for all the characters.

Do you have an estimation of when the issue ticket will be resolved? If it's too far off we will have to continue development without outlines. Or alternatively, can you share the approach you want to take for it? Maybe we can code something ourselves.

BarbaraTGE escribió

We also stumbled upon the issue that different spine characters get different outline sizes in our project and we are too far along to change the attachment images for all the characters.

Just to be sure: Is changing the Outline width Material property per Material not an option for you?

A potential solution to this is listed in the issue ticket, using ddx/ddy functions:
https://github.com/EsotericSoftware/spine-runtimes/issues/1615
Basically what is needed is calculating the ddx(uvCoords) and ddy(uvCoords) values (which provides how much each fragment changes in UV space) and multiplying this value with the outlineWidth parameter.

Just to be sure: Is changing the Outline width Material property per Material not an option for you?

Not really as the differences in png size we have are too big, when we scale up the outline width as much as we would need to, we get other problems.

Thanks for pointing us in the right direction, we will try to make that work!

You're welcome, don't hesitate to ask if you should encounter any problems along the way.

2 meses más tarde

I'm trying to modify the shader to have a much more pronounced thickness as well as some soft alpha falloff but I'm running into a lot of issues mostly a result of my poor knowledge of shaders. From what I understand the outline would be thicker if the sprite assets that were used in spine had more padding originally? Is there any way that I can tell spine to export with some extra padding? otherwise, anyone have any advice on modifying the shader? It's a bit out of my skillset tbh and I'm lost

Please check out the blog post here:
Blog: Outline shaders for spine-unity
Exporting with more padding allows you to increase the outline width and not clash with nearby regions of the atlas.
If you are using Mesh Attachments as well, you need to make sure that they provide enough space so that the outline fits.

8 meses más tarde

Hello,
So I know this is an old post but I thought It is worth a try.
I am building a character creator for a game I am working on and I am trying to make it so only specific skin parts have an outline.
I tried splitting the skeleton into 3 separate ones and have each one of them outline independently but the outline is also outlining parts inside of my skin and lot only around lt.

Does anyone here know how I might be able to fix this?

I'm afraid we need a bit more information about what you want to achieve and what your project configuration is.

Are you using Universal Render Pipeline? If so, are you using a URP 2D or 3D renderer setup?

Do you want to have an outline-only effect and nothing of the original attachments showing? I'm asking because the screenshot shows only the outline and no non-transparent attachment images.