• Unity
  • Unity: Shared Texture Atlas Issue

  • Изменено
Related Discussions
...

My project is set up with one large Texture generated via the texture packer that contains all of the images for multiple different spine animations.

This texture atlas file and image is stored in the root directory of the project.

I then have subfolders for each spine animation. In this case they are Champions within our game. These folders just contain the exported json file from spine.

This works fine and upon dragging the json file in I get the "Atlas Not Found" prompt after which i go up a directory and selected the atlas file generated from Texture Packer and everything works.

My issue is that if the Unity Library directory needs to be cleared for any reason I then need to go through the Atlas Not Found prompt again for each spine animation. The library directory is cleared when a new version of unity is installed or we set up the project for a new team member or pull a fresh copy of the project from git.

This will eventually be an issue if we have many spine animations... i can't imagine going through that prompt every time for 50 animations 🙁

Does anyone know a better way to structure this to avoid having to reselect the atlas file?

Mmm so if you clear the Library it forcefully reimports everything? O.o That sounds like wrong behavior to me... if the Atlas Array already has atlases in it it shouldn't reimport from scratch... What version of Unity?

in the mean time, if your Atlas and your JSON(or binary) are in the same folder it should be able to find it automatically.

ie:

Assets/Spine/
    MyBigFatAtlas.atlas.txt
    CharacterA.json
    CharacterB.json

I have a similar problem - when we open up our project for the first time (after checking out from git), we get that "Atlas Not Found" prompt for all our spine animations. The atlas definitely exists and is in the same folder as the json animation. Doing "Select" and choosing the atlas doesn't work. You just have to skip every error. Then when Unity eventually starts up, it works fine. There's no problems with missing atlases.

So, I'm not sure what is going on. If I had to guess, it's some order of operations problem with how Unity or Spine-Unity is loading the json animation first before loading the atlas, so it doesn't know that the atlas exists.

Yea it sounds like theres an issue with the import process with a fresh pull and also likely with a UnityPackage import that has Spine data in it. I'll take a look at this today.

Thanks!

What version of Unity?


I can't reproduce this without also deleting the .meta files.

Are you committing to your repo without committing the meta files?

If not, can you please provide detailed reproduction steps and email them to unity@esotericsoftware.com with any necessary attached stuff.

месяц спустя

@Mitch - it should be pretty easy to reproduce.

For us, it happens 100% of the time:

  • have a unity project shared via source control (we're using git)
  • artist adds new spine.json + all the assets
  • artist commits into git (definitely committing the meta files)
  • programmer pulls from git
  • programmer opens project

Boom, you get the Atlas not found error and you have to click "Skip" on every one.


It also happens on a fresh checkout. You have to click "Skip" like a hundred times.

We're on Unity 5.1.1p4 / f1. With project settings -> editor -> asset serialization = force text.
Also, you need to have the "Library" folder git ignored so it doesn't commit.