Ready to use models with animations

Yea, I am on d3d 11, and they didn’t work.

When I reexport them, using it instructions, I added the -t and they worked.

Ok, good to know. I’ll have to regenerate the .mdl files on the repo with tangents enabled - probably not today but in few days.

@Lumark, I actually used the model in your repo. The issue might probably be with the tangent as noted by cadaver

@Bluemoon, ok I updated the swat and mutant.mdl files in the repo. They should work properly now.

I’ve been working on the AssetImporter to squash “$AssimpFbx$” nodes that’s generated for several Mixamo characters. This method saves me time from manually editing all joints with pivot transforms in Maya.

See the first page,

Is there a reason not to do that automatically?
And instead create an option to disable the feature.

Good question. I’ve considered having this option set as default but have two reasons why it’s not yet. First is I don’t know how prevalent this problem is. I have bought some models with fbx files and couple models had few $AssimpFbx$ ($fbx for short from now on) bones generated but not in the extent which generated near 200 like some mixamo models.

Is it common? I don’t know the answer.

Second is while it’s it’s common to have multiple $fbx nodes per bone in models, I have yet to see multiple $fbx nodes per bone articulated in animation. I haven’t sampled enough mixamo animation files to know if there exists such case. If they do exist then complexity of extrapolating animation would became significantly more difficult; something that would require testing.

If anyone finds an fbx model that cannot be animated using this option, whether it’s mixamo model or your own, I’d like to get my hands on it for testing.

Added a few more mutant anims in the repo.

Added two more Mutant [color=#0000FF]layer animations[/color]: Throw and HitHead. And with that, I’ll say the Mutant sample animation is now complete.

Thanks for sharing them!


Great work documenting the process!

I had fun yesterday porting the character example to C#, you can checkout the work in progress scripts here: … Components


  • Josh

Can you please specify velocity of walk/run anims?

I tried to adjust velocity of Swat:WalkFwd, it’s about 1.5~2.0m/s, but it’s pretty hard for me.

I don’t have the velocity info on the walk/run anims. You can try dumping the foot joint position keys during the animations and derive it.

Huh… The problem is that foot joint velocity is not always constant during ground contact…

Based on the animation duration and the distance traveled:
[li]walk - 1.842 m/s[/li]
[li]run - 4.78 m/s[/li]
[li]sprint - 7.164 m/s[/li][/ul]


I detailed the process I used to convert mixamo animated models for Urho3D using Blender.

1 Like

Nice write up. I think that’ll be helpful for ppl using Blender.
I rarely use Blender but there’s Urho3D exporter for Blender. Couldn’t you just use that instead and skip the middle step of exporting to an FBX file?

It depends of the characters complexity, problem is if there is multiple geometries with multiple materials and if you want a simplified model and unique material. when merging objects it is necessary to recreate uvmaps and bake textures, I dont think the exporter do that (maybe it is possible to automate the process). Why I did it manually, and it learn how to do it yourself :slight_smile: . But yes, it’s possible to use the blender exporter, it works fine, to directly export .mdl, materials, and textures instead of exporting to fbx and using manually AssetImporter.

I see. What you’ve described is useful for Blender users.

Hello, @dakilla ,
I used your method and could download and export Malcolm from Blender to Urho with all the materials and textures set right.

However the exported animation does not work.

What shall I do? Apply some tweaks as @Lumak proposes?
Have some more sophisticated code than in 06_SkeletalAnimation sample ?

Thanks in advance.

BTW, when doing

Animation* walkAnimation = cache->GetResource(“Malcolm/walking_inplace.ani”);
AnimationState* state = modelObject->AddAnimationState(walkAnimation);
// The state would fail to create (return null) if the animation was not found
if (state)
URHO3D_LOGINFO(“Animation state added.”);
// Enable full blending weight and looping

I get no “Animation state added.” message in the log file.