New Mixamo animation tutorial

I have added a new tutorial on animating models.
https://jmonkeyengine.github.io/wiki/jme3/advanced/mixamo.html

This required an update to the https://jmonkeyengine.github.io/wiki/jme3/advanced/3d_models.html about buffer clearing.

Any problems with it, let me know.

9 Likes

Thanks! I tried mixamo before and it didn’t go well, will be following this when I try again soon.

1 Like

I discovered I left out one sentence in appending animations that totally breaks the process.

3. In the 3d Viewport, select the armature of the model.

https://jmonkeyengine.github.io/wiki/jme3/advanced/mixamo.html#appending-blender-animations

Funny how 1 line can have such a dramatic affect but it did.

If anyone tried this and had problems, it is now fixed. Sorry for any inconvenience.

2 Likes

Excellent tutorial.

Do you know about using the NLA editor to order all animations in one layer to export them, it saves the need to bake so it’s non-destructive in a way ?

If you do know about this, why do you choose baking over it ?

Just a quicky, do either of you know any way to add all animations to the track in one go? I had this project a while back with something like 60 animations, and the bit for adding them one by one isn’t exactly user friendly.

I do know about moving them into a single strip. I personally prefer the strips to be separate for clarity and it makes them very easy to re-arrange, nothing more. I found It works both ways, single or separate and also with or without baking.

Maybe there are nuances I don’t know about?

Baking is supposed to speed up certain types of animations is what I learned.

It does make more sense to leave the actions unbaked prior to adding them to the Rigged file. That keeps the original animation file pristine and allows for any selective editing or baking to take place in the Rigged file.

Does this make sense to you?

I am not a blender guru and am open to suggestions on improvement.

sure does make sense, Im still learning blender so this is very useful info thanks

I don’t know how to do them all at once or if possible but there’s a fast way to do it.

You can append all animations to the file first. Or as in your example they were already there.

In the dope sheet editor, Select 1 action to add it to the NLA Editor.

From NLA Editor,
With mouse in the strip window, hit N to open properties panel so you can see the end frame of each action you add.

Push the action down into the stack.

If you want all actions on one strip, Select the strip in the strip window and note the end frame number.

Advance the timeline to that number +4.

With mouse in strip window, Shift + A.

In the popup search dialog you can backspace any action already selected to get a list of all your actions.

Select desired action and it will be added to the strip where the timeline is set at.

Repeat for each action.

Note that this process will create a new Action from any action that is already in the strip, just the same as if you were in the Action Editor and hit the + button with that action selected.

To create separate tracks, everything is the same except you Shift + A in the track window to add a track first before Shift + A selecting the action in the strip window.

I need to clarify something, if you use the blender importer of the SDK or convert a .blend file to .j3o, you will have to bake your actions. The tutorial uses Ogre export, and for whatever reason, the animations work without baking.

I changed the tutorial to make people aware of the difference rather than just baking them like it did.

I moved the baking part to notes.

Edit: After thinking this through more, its probably best to keep the baking as part of the animation process to eliminate the potential for confusing people due to the many forms of importing, exporting. I know someone will try this using other means than Ogre eventually and this eliminates at least that headache. It just felt to convoluted to try and explain the nuances of each method.

Maybe it works with xbuf without baking? (Though xbuf probably bakes on its own).

I’d say blender Importer just doenst Support all the interpolation methods blender uses and ogre uses blender to bake them in no matter if you do that before or not?

Yes they do. My problem with XBUF is I have to create a .j3m file because the material doesn’t export. That’s what I mean by nuances of each method.

Maybe I am doing something wrong but materials in the SDK import with blender import and export with ogre export.

I think this is correct.

I think I found a happy medium, I separated the baking stuff out into a topic of its own. This way those who need the info have it and the animation file stays clean either way.

I think xbuf export material but with no texture. With JMB we can add texture to the material. If the material of the mesh have same texture we don’t need to add texture again. On SDK we can generate the material of the mesh and add texture. It’s almost only one click away (almost). But maybe you already know about that. And something else the safe way is to export model shadeless. If not the model will appear transparent. But seems you already mention about that too.

BTw I have another problem. My mixamo animated model plays nicely with animation test. however it’s resulting error when involving character physic. I don’t know what happents here. I didn’t do the tutorial. I export it with xbuf. And I think I didn’t put animation on NLA not in one strip. Anyone can give me a clue about this?

I’ve had nothing but trouble with xbuf so I don’t use it. Maybe try Ogre.

For “Creating The Rigged Animation File”, I don’t understand this one:

no. 14

Data Tab

    a. In the Properties panel, navigate to the Data tab and make sure the Mesh has the same name as your model.

Does that mean model must be only one mesh? For example hair mesh is not possible as separate mesh?

EDIT: Sorry. i have missed the tutorial: https://jmonkeyengine.github.io/wiki/jme3/advanced/3d_models.html#creating-models-and-scenes

I think you will also need to read some of this.

One of the export options for mixamo is skeleton only.

Mixamo doesn’t use materials so you don’t need to worry about materials for the animating part. The tutorial is written to be simplified and show you the steps to do what you need.

The trick is to use separate materials in blender, each with a different texture that are UV mapped and assigned to the model.

Then when you export your model from Blender using ogre, uncheck “Separate Materials”.

This will combine all your materials into one file and at the same time create a submesh for each material/texture inside your model.

Rename the material file after your mesh and you now have a single material and submeshes in the model you can use for equipment swapping or whatever, clothes, etc.

Edit: Forgot to mention, you can name the materials after the parts you want the mesh to be to make it easier to locate them so name a material like chest, or arms, or feet and the submesh will be named that also.