mike63845

I am a Spine customer using UE4.

We never want a second duplicate of anything loaded into the engine, it would take too much space on disk. We always want assets to have one original disk space location with as many look-ups as possible. One giant un-editable Data file scares/frustrates us. We want to have as much flexibility to edit assets in UE4 and reduce duplicate loaded assets at real-time.

For animations: we see 3 types of categories:
a. Animations shared across characters of a specific body type (Human Male Medium)
b. Animations unique to one character archetype (HeroLumberjack)
c. Animations unique to a specific skin of the character (HeroLumberjack_SpringTraining)

We will want to plug in different combinations of animations to make each character's skin unique.

How do we separate the animations OUT of the data file and save them to UE4 content directories, then use the Data file as a template for pointing animations into it?

---

Additional questions:
We want to make a character archetype “Hero A” with 6 different skins (skin = costume change). Skins use about 90% of the same animations but each skin has 10% new unique animations exclusively for that skin. Do we make a separate Spine file for each skin, or do we make all skin costumes and all animations in the same Spine file? Once in UE4, I do not want to load all the skin costume and animation assets at run time, just the one that will be used during that gameplay round. So if you're playing “Hero A Training" skin, we only want to load the “Hero A Training” imagery and animations. We don't want to load the 5 other costumes that we won't display (Hero A Surfer, Skateboarder, etc.). The upside to making one spine file per skin is that we only have the imagery for that skin and only the animations for that skin. The downside is that if we have 6 skins, we are repeating (5 skins)x(90% of repeated animations).
mike63845
  • Сообщения: 3

badlogic

Concerning your first question, that would require a massive change to our data format and would not necessarily lead to the benefits you want to achieve. While animation data (timelines containing key frames) can take up some space, they are easily dwarfed by the memory requirements of tiny textures. And while the data asset has to be loaded into memory in its entirety, it will be shared across all instances referencing it. I'm afraid changing our data format is out of the question.

The data asset contains information about attachments, which themselves are part of a skin. If you load the data asset, that data will also remain in memory. But again, it's miniscule. What you can do to conserve memory is to pack your images making up your skins into separate texture atlases and only load the ones you need for the scene.
Аватара пользователя
badlogic

Mario
  • Сообщения: 2108

mike63845

This was helpful for our workflow investigation. Thank you.
mike63845
  • Сообщения: 3


Вернуться в Runtimes