• Unity
  • Which version of spine do I need for a wardrobe picker?

Hello, I'm trying to build something like this:

I've already made this much progress with Unity's 2D Preview, but it's so buggy, I'm considering using spine instead. The character on the right is not animated, but she will be eventually. She has lots of different clothing, piercings, and hair style options. As you can see, the order of the photoshop layers and conditionally showing/hiding them in unity is a key feature I need.

More outfits will be added frequently. When that happens, I'd like to be able to import the photoshop file into Spine and not lose all my previous work. Sure, the new layers won't be rigged, but I'm hoping the old ones still are so I don't have to start from scratch. Also, when I export from spine to unity, I don't want to lose my previous work in unity. By work, I mean the data about which sprites are associated to which clothes.

Sometimes a layer is in the wrong order and needs to be rearranged. E.g., a piercing may be in front of clothing. Does spine allow me to swap this order without getting confused the next time I go from photoshop -> spine or spine -> unity?

Sorry for the wall of questions, but the most important one is this: Can Spine support all these features, and if so, which version of spine do I need to buy?

  • 編集済み

Hello! the skins feature is what you need to get this to work. Skins - Spine User Guide

I suggest organizing your file so that slots that are supposed to share the same draw order hold the same objects (example: slot t-shirt, has a t-shirt skin placeholder, inside you'll place a red-t-shirt, blue-shirt, thank-top etc.). Don't place two items that could appear together in the same slot.
I suggest having a skin for every separate clothing item since you want to recombine them.

When adding new items from Photoshop, you can import them in your Spine project, move them from the new skeleton to the current one, delete the old skeleton, then move each attachment in the correct slot after creating the new skin. If an item is a pure recolor of another, you could do this programmatically instead. Import - Spine User Guide: Data

If you set the slot order for the earrings items, have animations where this order changes on need, when you add a new earring skin to this slot it will inherit the correct placement.
It has to be noted that when you import items from Photoshop, they'll appear on top of everything else until you place them in the correct slot (so don't worry about this appearing wrong at first).

You won't lose your previous work when importing new assets (unless of course you start deleting the old assets for some reason)

Spine is often used for cosmetics, so it definitely can do all you need. We also have recently added a new Skin view to help preview all the different combinations at once in the editor: Skins view - Spine User Guide

Erikari wrote

If an item is a pure recolor of another, you could do this programmatically instead.

You can do it programmatically for any attachments, not just recolorings. Eg, see this post:
Asset management with Spine on the Web

Erikari wrote

I suggest organizing your file so that slots that are supposed to share the same draw order hold the same objects (example: slot t-shirt, has a t-shirt skin placeholder, inside you'll place a red-t-shirt, blue-shirt, thank-top etc.). Don't place two items that could appear together in the same slot.

I'm doing this logic in unity code right now. Are you saying Spine has a concept of slots so I could do this in spine instead of unity?

Erikari wrote

...When adding new items from Photoshop, you can import them in your Spine project, move them from the new skeleton to the current one, delete the old skeleton, ... You won't lose your previous work when importing new assets

I'm confused by this. If I delete the old skeleton, how am I not losing work?

Thank you for the thorough response. If Unity doesn't at least acknowledge this critical bug soon, you just got yourself a sale. But I'm still not sure which version of Spine I need to use all the features you mentioned. I think it's the $99 one, right?

Slots group attachments of the same type and simplify draw order, more here:
Basic Concepts - Spine User Guide: Slots

Erikari is saying you can export from Photoshop to JSON, import a new skeleton into your existing project, so now you have two skeletons, move attachments from the new skeleton to your main skeleton, then delete the new skeleton, leaving your main skeleton with the new attachments.

Both Spine Essential and Spine Professional can do what you need. The question is if you need the advanced tools that Professional has: meshes, constraints, audio, etc.

1ヶ月 後

OK, 4 weeks later, but I've bought spine and I'm learning to use it. First of all, it's great 🙂

Erikari wrote

Spine is often used for cosmetics, so it definitely can do all you need. We also have recently added a new Skin view to help preview all the different combinations at once in the editor: Skins view - Spine User Guide

I don't really understand this skins view on a conceptual level, because everything I've read about skins up to this point is that it swaps one set of attachments for another, and all the official videos seem to act like you can only have one skin active at a time. e.g., here's a tutorial swapping a female and male goblin, and from what I can tell, you can only have one skin enabled at a time: Spine - In depth: Skins - YouTube

Is this video out of date or am I misunderstanding something? Because this skins view seems to let me enable multiple skins at the same time.

Nate wrote

Welcome to Spine! 8)

New in 3.7 is the ability to show multiple skins at once. This video shows it briefly:
Spine 3.7 features rundown - YouTube

At runtime you can still only have one skin active, but you can combine multiple skins into one and use that.
Runtime Skins - Spine Runtimes Guide

Ah, that makes. Thank you for sharing. I happen to be using Unity. Is there any where I can find an example of combining multiple skins into one using Unity code? I understand what the documentation is explaining, but not how to write Unity/C# code to do what it's talking about.

UPDATE: I found this: Spine-Unity Mix and Match I think it answers my question