mooooo123

Hi!

I'm up to date on spine (4.1) and unity. I updated recently with the goal of adding that sweet outline feature (I was.. very out of date, using 3.6). I can get my spine character showing in unity, but if I make an outline there's no 2D shader option, if I use the non-2D shader outline option, the outline doesn't include the character art (just an outline of the bones).

Right now I'm trying to have a second Skeleton Animation game object called "outline" w/ Skeleton Renderer Custom Materials component w/ the Skeleton Renderer set to the original one. But the animations don't stay sync'd when I change the original's animation state (the outline will update and the original won't)

I'm not sure if there is a another option for 2D Outline with URP, but would love some help if there is!

Thank you, I've really been enjoying using Spine in Unity!

- Mo
mooooo123
  • Posts: 3

Harald

You can use the Universal Render Pipeline/Spine/Outline/Skeleton-OutlineOnly shader with both 2D and 3D URP renderer setup. Please check out the example scene Outline Shaders URP that comes with the Spine URP Shaders package.

Also check out the documentation here on the RenderExistingMesh component:
spine-unity Runtime Documentation: RenderExistingMesh
spine-unity Runtime Documentation: URP Shaders Extension UPM Package
User avatar
Harald

Harri
  • Posts: 4164

mooooo123

Thanks I've been using both of those documents but am still a little confused. I'm using the shader you mentioned. In the example scene I don't see anything called Outline Shaders URP, even when I search my entire project (I have URP Shaders Extension and Spine Unity assets installed and up to date). I'm not sure if the example is named something else or if I'm overlooking something obvious? Here's an image of what I see, I'm wondering if the 'missing script' is the piece I need to solve for? If I use SkeletonRendererCustomMaterials it replaces the alien example with just an outline of the alien.

mooooo123
  • Posts: 3

Misaki

To begin with, from that screenshot, it appears that you have not assigned the correct Universal Render Pipeline Asset in the project settings. Please make sure you have the correct settings based on Harald's previous response in this post:
Spine URP shader Examples are inaccessible
Your project has the wrong Universal Render Pipeline Asset assigned in the project settings under Graphics - Scriptable Render Pipeline Settings, it's using the default Unity 2D URP asset. Please use the provided Example 2D URP Asset for the URP 2D Shaders example scene which is located in the same folder (or the 3D counterpart Example URP Asset for the URP 3D Shaders example scene). This Example 2D URP Asset has the rim light mask channels properly setup, without them the blue rim-light will not be masked and will be applied to all pixels.
User avatar
Misaki

Misaki
  • Posts: 839

Harald

mooooo123 wrote: Thanks I've been using both of those documents but am still a little confused. I'm using the shader you mentioned. In the example scene I don't see anything called Outline Shaders URP
The example scene Outline Shaders URP is located one directory above the 2D and 3D directories, since it applies to both. So it's located in Spine Universal RP Shaders/Examples/Outline Shaders URP.
[..] even when I search my entire project (I have URP Shaders Extension and Spine Unity assets installed and up to date).
Then you have either not installed the URP shaders package properly or your search is configured to exclude package content.
User avatar
Harald

Harri
  • Posts: 4164

mooooo123

Thank you both! I got the example working with your advice!

1. I updated the Project Settings -> Graphic -> Scriptable Render Pipeline Settings to the 2D URP Example one.
2. I re-installed spine unity 4.1 and the urp upm asset. I found the example scene called Outline Shaders URP.
3. The thing that was messing with me is RenderExistingMesh I didn't install Spine Examples and that's where that component is. I searched the github repo, figured out why it wasn't in my Unity despite installing the two packages, re-installed everything with every example file, and then was able to get the example working!

Really appreciate the help! Thank you again :)
mooooo123
  • Posts: 3

Harald

Ah, I see, thanks for the detailed writeup! Glad you've figured it out! :)
User avatar
Harald

Harri
  • Posts: 4164


Return to Unity