- Edited
Creating Many Characters with 1 Skeleton/Mesh/Set of Anims
Hey all,
I want to efficiently create multiple humanoid characters with the same base skeleton/mesh. I had trouble finding this online and was hoping that one of you could help. The following set of questions is my asking how to accomplish this.
—How would I use 1 skeleton for a specific group of characters?
——I assume that I would use “Skins”. How would I sort/create subfolders to sort all of the character body parts of the multiple characters that I would like to create? Would it cause problems if I imported too many images into a Spine project at once?
——Or should I create different projects for each character with the same skeleton copy/pasted? If I do, then if I change the original skeleton (either by adding/changing the bones and/or animations), how do I import those changes into the other characters’ files without having to start over with aligning images with the skeleton?
—How would all of the above questions apply if I want to create 1 mesh for multiple characters? They would all be humanoid, which would help?
—How would all of the previous questions affected if the characters have different heights? My question is only about humanoid characters, so all of the characters would pretty much be the same shape.
Thank you all for your help!
P.S. I did find this post, but it wasn't very helpful since it was not as technical/specific as I would like: Workflow with lots of characters
Hello! let's get down to the questions.
MonsterMaker534 wrote—How would I use 1 skeleton for a specific group of characters?
——I assume that I would use “Skins”. How would I sort/create subfolders to sort all of the character body parts of the multiple characters that I would like to create?
Yes, Skins would definitely be the way to go! Here's the relevant user guide pages:
Skins - Spine User Guide
Skins view - Spine User Guide
I would also recommend to set your file with tags in Photoshop so that importing new skins over time is easier:
spine-scripts/photoshop at master · EsotericSoftware/spine-scripts
MonsterMaker534 wroteWould it cause problems if I imported too many images into a Spine project at once?
It shouldn't cause problems. Just keep your images folder in a separate folder than, say, your download folder, so that Spine can scan them all fast.
IF some images suddenly cannot be loaded, you can uncheck Limit scanning
: Images - Spine User Guide: Images node
MonsterMaker534 wroteOr should I create different projects for each character with the same skeleton copy/pasted?
You could, but it's not necessary. I'd do that only if the body types would be so different that all the bones would need to be recreated.
MonsterMaker534 wroteIf I do, then if I change the original skeleton (either by adding/changing the bones and/or animations), how do I import those changes into the other characters’ files without having to start over with aligning images with the skeleton?
You can import animations from one skeleton to another as long as the names of the animated bones you are importing are also the same in the skeleton that is going to receive them, otherwise Spine has no way to know a bone is the same bone in the other skeleton. Also, different proportions may lead to animations not matching nicely, so keep that in mind.
Here's the import page:
esotericsoftware.com/spine-import
Importing animations is rather easy, and so is importing new skins in a ready skeleton as long as the names of the slots match
MonsterMaker534 wroteHow would all of the above questions apply if I want to create 1 mesh for multiple characters? They would all be humanoid, which would help?
You could use a linked mesh to do the job: Meshes - Spine User Guide: Linked meshes
The question is a bit vague/very broad.
MonsterMaker534 wroteHow would all of the previous questions affected if the characters have different heights? My question is only about humanoid characters, so all of the characters would pretty much be the same shape.
You should make your base characters all with the same basic proportions, you can then alter their height, and other proportions using skin bones and skin constraints: Skins - Spine User Guide: Skin bones
Blog: Skin constraints for different proportions
I hope this helps!
Hi Erika,
Thank you for all of these helpful articles.
If I have any questions after reading through them, I will let you know.
Thanks again!
Hi Erika,
Hope you are doing well! After looking into this, I have more questions.
—I’m looking closely at the “Mix and Match” example project, and it seems that each image has its own associated mesh. Is that true? If that’s true, would I need to create a new mesh for every body part for every new character that I import? If so, would that be a reason to use a Linked Mesh? If so, would I use meshes linked for each character’s head, torso, legs, etc? Would that work if the heads are slightly different but roughly the same size?
—Is there any documentation on how the Hero example project was created? I’m looking at the project to learn how Hero’s creator chose how to create the mesh/weigh the vertexes. I am also wondering how s/he got the Hero’s head to turn left and right and how the creator made the animations in general.
—Regarding Photoshop tags: Unfortunately, I do not have Photoshop. I have Gimp and I am able to successfully import from Gimp into a new Spine project. I saw that the Gimp import script does not have the “tag” function that you are discussing. Is there anything I can do in Gimp to make it simpler whenever I import a character into my future mainSkeleton Spine project?
—Unrelated set of questions:
——I saw that you can tint an image in Spine with a solid color. Can you tint the character (or only part of a character) during an animation?
——Instead of tinting with a solid color, can you tint with a texture? Or would I need to create character-specific images with that specific texture?
Thank you for your help!
MonsterMaker534 wroteI’m looking closely at the “Mix and Match” example project, and it seems that each image has its own associated mesh. Is that true?
Some meshes are duplicated, some are linked meshes (such as the body of the full girl and full boy, or the feet of the girls).
MonsterMaker534 wrotewould I need to create a new mesh for every body part for every new character that I import?
If they're recolors, you can duplicate the mesh that fits them and replace the path to use the new image, otherwise you may need to create a new mesh.
It goes without saying that creating a new mesh for each image attachment is not mandatory. Sometimes you can also just have plain attachments for new skins. (clarifying in case there was a doubt about it)
MonsterMaker534 wroteWould that work if the heads are slightly different but roughly the same size?
Usually, to successfully reuse a mesh the two images need to have exactly the same size, to the pixel.
Unless you're fine with your images getting distorted.
MonsterMaker534 wroteIs there any documentation on how the Hero example project was created? I’m looking at the project to learn how Hero’s creator chose how to create the mesh/weigh the vertexes. I am also wondering how s/he got the Hero’s head to turn left and right and how the creator made the animations in general.
The example projects that are documented can be found here: Spine: Example Projects
Unfortunately, the person who created the hero project isn't actively collaborating with our team anymore, but I can do my best to explain how the meshes work there.
If you're looking to learn how to create nice meshes, here's a couple articles:
Blog: A taxonomy of meshes
Blog: Mesh creation tips: vertex placement
And a third one is coming out next Monday!
To answer how he achieved that face turn in general, the trick is to create an animation that keys the setup pose, then at half the animation, distort the bones and meshes so that they're as close looking to a front facing pose as possible.
You could use mesh tools for this for example: Mesh Tools - Spine User Guide
On the next frame, flip the face by selecting the bone that holds all the face images, and scaling it to -1
, then change the curve to stepped
so that there is no interpolation. Graph - Spine User Guide: Curve type
MonsterMaker534 wroteUnfortunately, I do not have Photoshop. I have Gimp and I am able to successfully import from Gimp into a new Spine project. I saw that the Gimp import script does not have the “tag” function that you are discussing. Is there anything I can do in Gimp to make it simpler whenever I import a character into my future mainSkeleton Spine project?
We actively develop the Photoshop to Spine script, while the other scripts are user contributions, unfortunately this means some of the recent additions don't make it into the other versions unless a user is willing to contribute to it. While gimp didn't get much love recently, the Krita one does have a tag system. Krita is another free software you may want to look into: https://github.com/chartinger/krita-unofficial-spine-export
But if you're loyal to Gimp, I'm afraid you'll have to manually populate new skins like the good old days. Fortunately, if a skin is a recolor, Spine has some tools to make this step easier:
Skins - Spine User Guide: Skin
Skins - Spine User Guide: New skin placeholder
MonsterMaker534 wroteI saw that you can tint an image in Spine with a solid color. Can you tint the character (or only part of a character) during an animation?
Yes, by tinting all of its slots during the animation and keying them.
Attachments - Spine User Guide: Tinting
MonsterMaker534 wroteInstead of tinting with a solid color, can you tint with a texture? Or would I need to create character-specific images with that specific texture?
You can tint black: Attachments - Spine User Guide: Tint black which is great for special effects, but tinting with a texture isn't possible.
You could have an image overlaid on top with a blending such as multiply, additive, etc. to get a similar effect.
Hi Erika,
Thank you so much for all of your answers/articles. I am still reading/processing all of this very helpful information. Thanks to your help, I now better understand the relationship between meshes and skins.
If I have any more questions, I will reach out.
Thanks again!
Hey Erika,
You mentioned that the example hero's "head turn" animation includes mesh distortions. If I created different skins with different heads, would I be able to reuse that "head turn" animation on different skins? I myself have tried but, since I am still getting the hang of Spine, I can't try this out successfully until I spend more time in Spine getting familiar with the controls.
In general, would animations with mesh distortions work with skins, or would it depend on the animation?
Thank you for your help!
To reword what I am asking,
Are mesh distortions in animations applied to slots or to the meshes themselves?
Can I reuse mesh distortion animations on different meshes? For example, would I be able to create something similar to the “Hero Pro” example project’s head turn and re use it with different head, eye and mouth meshes using skins, like I would with skeleton animations? Or would I need to recreate the mesh distortion animation from scratch on each mesh that I want to use it on?
Thanks for your help!
Hello MonsterMaker534,
MonsterMaker534 wroteIf I created different skins with different heads, would I be able to reuse that "head turn" animation on different skins?
If you choose to achieve this head turn solely with weighted meshes, using bones only, then yes, after the initial setup of the mesh not ust this, but all animations will be reusable. I highly recommend this route.
Another option is to use linked meshes, since they can inherit the deformation from the source mesh, if all the faces have the same dimension and are just a repaint. Otherwise you won't be able to reuse any mesh deformation animation.
MonsterMaker534 wroteIn general, would animations with mesh distortions work with skins, or would it depend on the animation?
In general mesh distortions should be used as little as possible. If none at all If you plan to have a skin system, weighted meshes should be your first choice. Next Monday we're going to release an in-depth article about weights workflows, so please look forward to it!
MonsterMaker534 wroteAre mesh distortions in animations applied to slots or to the meshes themselves?
They are applied to the mesh itself, which makes them not so great for projects with many assets and skins.
MonsterMaker534 wroteCan I reuse mesh distortion animations on different meshes?
Unfortunately, no. (but as said, you can do so with bones animations and weights!)
MonsterMaker534 wrotewould I need to recreate the mesh distortion animation from scratch on each mesh that I want to use it on?
Unless the new mesh has exactly the same dimension and more or less the same proportions, you'd have to make each from scratch, which is not great!
Thank you! I will focus on skeleton animations with weighted meshes. Looking forward to the weighted mesh article! Thank you for your help!