I’m trying to figure out how the animations for this character are done:
I don’t have Maya to edit the original model the author provided, so I’m trying to rig myself in Blender to add some animations. I’ve rigged single-mesh models before, and done animations that have worked well. With this multi-mesh model, I can’t figure out how to get the meshes to stay together. When I move the bones (pose the model) it splits badly between the parts. I’ve spent a lot of time using “Weight Painting” on different parts, but I’m not even getting close, so I suspect there is something else I need to do.
If this doesn’t make sense, maybe I’ll post a video of what I’m seeing, or I can post my blend file with what I have so far. Just let me know, and any help is appreciated.
Are the meshes splitting in Blender or Unity? My Blender-fu is weak; I don’t have any suggestions there. But if it’s only in Unity, try increasing the blend weights to 4 bones. Not sure of your needs, but you might use Mesh.CombineMeshes() or this blog article to do the same while retaining materials.
They split in Blender. I haven’t checked in Unity, I guess I assumed it would/should look the same (my other single-mesh models always looked the same in both). I don’t really want to combine the meshes, because I like how the model can look injured by hiding pieces (i.e.-leg gets shot off? just hide the leg mesh, you get a bloody bone/stub instead of a leg, pretty cool). I thought about asking in Blender forums, but I have a feeling it ends up being Unity specific, or at least the answer would need to take Unity in to consideration. Most of the stuff I see in Blender forums isn’t Unity-friendly style animation, they usually use some other style (not bones) that I guess works well with the Blender game engine.
Is there a way, maybe in debug view or something, I can look at more details about the mesh and/or bones in Unity, to see what is different with my model vs the original? The original (on asset store) has multiple meshes, and works great. I only understand a little about how bones move/deform meshes, but the info generated by “weight painting” must be saved somewhere, so maybe if I could see that (and other things) in Unity, I could figure out what is different?
I wish I could just open the FBX file in Blender and have it include all of the original bones/info so I could just edit it, vs having to rig from scratch and start over… but from what I understand, that isn’t possible because the FBX format loses a lot of the info (like asking why a PNG can’t be translated back to PSD without losing layers/etc).
If you’re going to be working with the model in Blender, I’d try to get it looking good in Blender first. This blog post might help you import the FBX with correct armature and weighting: Importing FBX files into Blender with full armatures/weights
Oh awesome, I’ll try that! This is kind of an experiment for me, because I’d like to buy more models from the asset store (and other places), but 99% don’t include Blender files (and blendswap.org and other Blender only sites are very limited), so I want to see what kind of issues I’ll have making mods and adding animations… it’s very unlikely I’d ever buy a model and not have to do anything/changes with it.
…so this could be exactly what I’m looking for, to help with future models/etc as well.
Sweet baby jesus! So happy this morning, I could virtual kiss you!
At any rate… thanks a ton for pointing me to that link. I followed all of the steps, and couldn’t get it to work… BUT, then I read the comment from Greg from June 30, 2014:
…and as part of following those steps I had already updated Blender, so I just tried the normal File->Import->FBX option again, and now it imports with the armature and even the animation, and it works perfectly in Blender!!!
The original model was created in Max not Maya based on the file list on the asset store.
If all you want to do it add some animations to the zombie model, as long as the rig is setup as humanoid in Unity, you don’t need to bring the entire model into blender (even though you’ve already accomplished that).
All you need is an animation rig (blender calls it an armature I’ve learned) that matches the rig of the zombie model.
Create any animations you want to add and export like normal. You don’t need the mesh for this.
Import the new animations into Unity and retarget onto the zombie character.
It almost looks like there is a complete model that gets swapped out for the pieced model when damage happens. It’s a very well rigged & skinned model based on the images in the asset store.
For future reference - skinning a multi part character isn’t terribly hard (that artist did an exceptional job). The vertex edges of the pieces that match up need to have the exact same vertex weighting. The vertex weights can’t even be a decimal point off or the pieces will overlap at the edges and show the seams.