• RuntimesUnity
  • Resolution Workflow Pipeline Illustrator-Spine-Unity

I have seen many threads that touch on areas of this topic, but none have fully clarified my understanding. So pardon me if this is redundant, but I thought I would layout my plan here to see if it checks out.

I’m building a game targeting 16:9 ratio at 4k & lower. My in game tile size is 1/576 of the screen.

This means 1 tile = 120x120px at 4k.

My plan is to design art assets in this workflow:

Illustrator art at 2X . (or 240x240px/tile)
Spine Skeleton at 2x .
Export atlases at a series of screen sizes such as: 2x, 1x, .5x

Then on game load, I will get the viewport size and load the corresponding atlases, and scale all skeletons to match the atlases.

This way in my thinking, I can cover most screen sizes lower than 4k and scale up if needed down the road for some reason.

Does this sound reasonable? Am I missing anything?

And a follow up - I’ve been looking for documentation on how to scale all skeletons at runtime.

If I want to scale all atlases and skeletons (100 or more) at runtime according to the viewport, could someone kindly show me an example? Can we set this as a variable somehow on game load, or do I need to specify for each skeleton? Thank you!

    Related Discussions
    ...

    nd_nomad Then on game load, I will get the viewport size and load the corresponding atlases, and scale all skeletons to match the atlases.

    I'm not sure I understand your desired setup correctly, but in general there is no need to scale the skeleton. Normally you would just exchange atlas textures (and perhaps also atlas definitions, when packed differently) with a higher or lower resolution version and leave everything else at the same normalized scale.

    When exporting your Spine skeletons, the skeleton's scale does not change if you export your atlas multiple times at different scale.

    Thanks for the response Harald!

    Ok, I guess I didn't understand how the scaling worked in practice. I've only been researching so far, I haven't actually implemented anything in Unity yet.

    I think that answers my question. I may check back upon implementation if I have any other questions.