- Home /
How would I animate a 3D voxel character that requires changes to the model itself?
Hello. First post here!
I have made a 3D all terrain vehicle in MagicaVoxel but I have run into a bit of an issue.
I want the blades and stem to rise out of the roof of the vehicle when doing a flying animation but I am not sure how to go about adding extra voxels to the model during this animation.
For example, I know that to animate the blades themselves on the model, I could rig the model in blender and then move them as an animation but how would I actually animate the stem and blades rising out of the top of the vehicle since they are a separate component and will not always be on the model?
It seems like the best way to accomplish this is through frame-by-frame animation similar to 2D sprite's. Currently I have the correct animation in MagicaVoxel but there is no way to export all of these different models to something that Unity would be ready to handle easily.
Am I overcomplicating this or has anyone ever done something similar and has some advice or helpful links? I have not been able to find much on this. Thanks!
I have implemented the second way you suggested (adapting the frame-by-frame animation od 2D sprites for 3D voxel-style models, as seen in 3D Dot Game Heroes). What I did is write a custom animation system (sounds more complex than it really is), along with an editor extension that lets me create animation easily. It's broken down into three levels: 1. The frame class holds information about the mesh to use, any offset and rotation, and position and rotation of attachment points (for held weapons etc). 2. The clip class holds information about the number of frames, and how much time between them passes. 3. The animator class is at the highest level and holds references to the (custom) animation clips a model has, and if seperate parts of the model are animated seperately as well (such as feet and body).
If you want to use the normal Animator or Animation, either hide the blades inside the model until their are needed (which would make it somewhat realistic because after all, there is no magical "bag of holding" inside of a helicopter) or, if the parts are too big to hide, make (or rather their bones) smaller and only rescale them to their original size when they are redy to pop out.
Thanks for the reply! I am fairly new to Unity so I may just stick to the normal animator for now but storing the additional components inside of the current model is a great idea! I will have to try to rig it up in blender and see what I can come up with!
Hey there, I am looking to implement a similar style game to 3D Dot Game Heroes and I am having trouble with my animator. Care to help out a little?
I suggest creating a new Unity Answers thread where you describe your problem and post any code you have written.
I would make the various moving parts separate meshes, arranged as children of the main mesh. Animating the local position or scale of the "blades" should be all you need to do, once setup.
Thanks! I will do that also. I really appreciate the help!
Your answer
Follow this Question
Related Questions
Blender animation walk in unity 1 Answer
Character Importing Issue Blender 1 Answer
Huge problem with character animations. 0 Answers
How Can I Get The Pants to Not Move? 4 Answers