Questions about 3D Art/Animation in Blender and Unity

Hello, this is my first post to the site. :slight_smile:

I have been working on a project in Unity and planned on doing the modeling in Blender. From what I can gather, the best way for animating incremental weight-gain is to create the animation using a Shape Key since they can be controlled via script in Unity and incremented in the degrees that I want.

What I wanted to know is if anyone here has any other methods or tricks that they use for blender-to-unity development for animating/controlling weight. I have slight experience in these programs, but I’m sure there’s a lot I don’t know.

1 Like

Welcome!
Shape keys in Blender are indeed the best way to go about it, just remember if you’re exporting to .fbx, you’ll need to uncheck “Apply Modifiers” in order to keep the shape keys, which Unity will recognize as “blend shapes”. I like to create a duplicate project file just before exporting so i can go back to the original with all the non-armature modifiers to change things.

When in Unity, I like to place my weight blend shapes keys as blend trees on their own animation layer, that way you can create a one frame animation for the thin blend shapes, then another for the fat blend shape and use a value to blend between them. Make sure the layer is set to override so you can keep all your animations while just affecting the shape key.

Depending on the difference in size, you may want to create separate animations, ie a walk for thin then a waddle for fat. These can also be put into a blend tree and interpolated with the same value you use for your shape keys.

You could also scale bones (like I did in The Burnt!) but this usually will key to messed up animations. Biggest thing is to make little tests and experiment with things! Also, Mathf.Lerp() is your friend. Best of luck!

3 Likes

Thank you for the suggestions, I do plan on using some of these in my project. I did have a question though. I was able to create a blend tree in a new layer and change it independent to other animations like you said, but I couldn’t find any real benefit to doing this. I got the same results from modifying the Blend Shape value on the mesh with much less effort. Was there some benefit I didn’t notice or is it more of an organizational thing?

Mostly organizational, plus say you make a thin shape, a chubby shape, then a fat shape, you can set up a blend tree with all three of them that goes between whatever values you want. By default, blendshapes go from 0-100, but in this case you can make it simply 1-10, where 1 is thin, 3 is chubby, then 10 is max size. Even if you’re just using two shape keys from 0-100, I find it easier in code to change a value in the animator than to go into the model and alter the shape key on the mesh.

2 Likes

Ahh, I understand now. This method actually works perfectly for what I’m trying to do. It is a little sad that you can’t combine the Blend Shapes when doing it this way, but that shouldn’t affect what I’m doing. I guess doing it manually and combining would be better if you wanted to control specific aspects of the model, I.E. a value for belly, a value for breasts, etc. But even then, you could set up different animation layers. Thank you for the info!

1 Like