I have a question about skeleton realtime skin updates and GetRepackedSkin.
We have a customizable character that mix and match skins at runtime. For our current setup we have, for example, skins combined in this order: default skin -> round eye skin -> round eye makeup -> smudged round eye makeup. The eye and eye makeups slots has several attachments for expressions that is animated, for example, neutral eyes and closed eyes attachments.
So what can change at runtime is that the eye makeup gets smudged, and adds the smudged round eye makeup skin(if that is the eye shape of the eye skin) that replaces images for each skeleton eye-slot attachments (the animated expressions).
But the smudge can also be fixed and the smudge skin is removed - which seems to require a fully new skeleton skin to be created.
The tricky part is now when we want to have a repacked skin so that we have optimized materials and draw calls. So if recombining the skin it would require repacking every time the new skin is added and removed? Which is too costly for the projects target devices and when it needs to be done.
To summarize:
We want to change the skeleton skin at runtime by adding and removing addition skins, we also want to use GetRepackedSkin only once without having to call it each time the skin changes.
Is there any solutions to this?
Last option is we just pack the textures manually per character (since customization isn't too wide per character).