Animations are controlled with Urho's AnimationState object.
Your model needs to be an AnimatedModel (no StaticModel for example):
When loading your model:
You can mix animations by setting different weights, which should sum up to 1.0 (100%).
To progress an animation (each frame):
as_run->AddTime(timeStep); // sometimes you want the animation to be progressed // depending on stuff like velocity or engine power as_run->AddTime(timeStep*vel.Length()/3);
The rule of all weights adding up to 1.0 is quite flexible in Urho. It's possible to blend to another animation with this:
as_stand->SetWeight(1.0); if(!on_floor) as_jump->SetWeight(as_jump->GetWeight()+timeStep*5);
The jump animation is at 100% in one fifth of a second and the stand animation no longer visible. (Maybe it's not a good idea to do it like this, but it works fine in USP.)