G—P / FMX 320 / Blender / Day 06

Day 06 · Character animation

Into the engine 45–60 min

The day that decides whether any of the previous five survives the journey. Everything here is a decision you make before exporting, which is why getting it wrong is so expensive to undo.

Start Your Day 5 .blend (the walk, on the supplied rig) and the Unreal project with your Day 3 set in it. Nothing new is modeled today Time 45–60 minutes · 15 reading, 30–45 at the keyboard Need The walk from Day 5, on the supplied rig, and the four checks from Day 4 Serves Week 10 · Animation II: Animation Blueprints (Nov 2 · Nov 4) · every asset you make all term
By the end of this session you can

Brief · 15 min Decide before you export

There are two ways a character moves through a world, and the choice has to be made before the animation exists — not discovered afterwards, when changing it means redoing the clip.

In-placeRoot motion
What movesThe feet cycle; the character stays at the originThe root bone carries the character forward
What drives positionThe game moves the character aroundThe animation moves them, and the game follows
StrengthSimple, forgiving, easy to blendHigher fidelity — feet stay planted, weight reads properly
CostFeet can slide if the speeds disagreeMore setup, and it needs the root bone Day 4 checked for
Use it whenMost of your work, most of the timeThe motion itself matters — a stumble, a turn, a jump

Pick one per clip and stay consistent. Mixing them is exactly what produces the two classic bugs: a character who moonwalks, sliding across the ground while their legs cycle at a different speed, and a character who runs away from where the game thinks they are.

Build · 30–45 min Export, import, check

  1. Name clips like assets, not like accidents

    A_Walk, A_Idle, A_Run — not Action.001. You will be reading these names inside an Animation Blueprint in Week 10, in a list, under time pressure.

    The Dope Sheet with the armature's action named A_Wave. Rename the action in the Dope Sheet's Action Editor mode, or in the Properties editor — never leave it as Action.001.
  2. Match your frame rate to the engine's

    Set the Blender scene fps to your Unreal project's. A mismatch is nasty precisely because nothing errors — everything just plays at subtly the wrong speed, and the character feels slightly rushed or slightly drugged in a way that is hard to name and easy to blame on the animation.

    Output properties: Frame Rate set to 30 fps, frame range 1–24. Match this to the Unreal project before you export, not after.
  3. Export the character as glTF, with its animation

    Select the rig and the three meshes under it (click Armature in the Outliner, then right-click it → Select Hierarchy). File → Export → glTF 2.0: format glTF Binary (.glb), Limit to Selected Objects under Include, and under Animation leave Animation ticked so the walk travels with the skeleton. One .glb per clip while you are learning; it has the fewest moving parts.

    Why not FBX for the character, when Day 3 used it for the set? A rigged FBX out of Blender carries a known units-and-scale quirk that breaks retargeting in Unreal; glTF does not, and Unreal 5.8 reads it natively. If you ever must use FBX for a rig, the settings below are the ones: Only Deform Bones is harmless here (this rig has no other kind), untick Add Leaf Bones, Bake Animation on.

    The FBX fallback, for reference. File → Export → FBX with the character and its rig selected. 3 Limit to Selected Objects. Then open 2 Armature (tick Only Deform Bones, untick Add Leaf Bones) and 1 Animation (Bake Animation on). The panels are collapsed by default; click their headers.
  4. Import the character first — then the animations

    Order matters. Drop the first .glb into the Content Drawer and let it import as a Skeletal Mesh, which creates a Skeleton asset (and, because the walk is inside the file, an Animation Sequence). Then import each further clip and explicitly point it at that same skeleton — the Skeleton dropdown in the import options. Put the character on the set you exported on Day 3.

    Skip this and the engine helpfully makes a second skeleton, and now you have two characters that look identical and cannot share a single animation. It is the most common way students end up with two incompatible copies of their own character.

  5. Check it in the engine, not in Blender

    Correct scale against the mannequin. Feet on the ground. The loop clean. No bones you did not make. If all four are true, your pipeline works end to end — and you know because you looked.

Reference When something goes wrong

Almost every problem in your first weeks is on this list. Keep it open — the answer is here about four times out of five, and finding it takes a minute instead of an evening.

What you seeWhat it almost always is
Imported 100× too big or too smallUnits. Measure it in the engine rather than guessing.
Arrives rotated, or lying on its backThe forward/up axis settings when exporting.
A modifier behaves strangelyUnapplied scale — Ctrl+A → All Transforms.
New objects appear in odd placesThe 3D cursor moved — Shift+C.
Model looks inside-out or blotchyFlipped normals — select all in Edit mode, Shift+N.
Terrain stair-steps on slopesAn 8-bit heightmap. Re-export at 16-bit.
You walk straight through a rockCollision, not modeling. Complex meshes need collision authored.
Shoulder or hip crumples when posedWeight painting in that spot.
Mirroring stopped working on a rigBone names lost their _l / _r (or .L / .R).
Walk cycle stutters once per loopA duplicated frame at the loop point.
Skeleton full of bones you did not makeA Rigify-style rig exported with its control bones, not just the deform bones. The supplied rig cannot do this.
Rigged character arrives the wrong size, or retargets badlyExported as FBX. Use glTF for the character.
Animation plays at the wrong speedFrame rate mismatch between Blender and the engine.
Character slides, or moonwalksRoot motion and in-place mixed between clips.
Two incompatible copies of your characterA second skeleton imported by accident.
You cannot find your modelSelect it in the outliner, then Numpad .
The most useful drill on this page

Work down that table and produce each symptom on purpose. Export the set with the wrong axis and watch it land on its back. Export the character as FBX instead of glTF and measure what arrives. Mismatch the frame rate and watch the walk speed up.

Being able to cause a bug deliberately is what makes you able to recognize it instantly later. Ten minutes of breaking things now is worth more than any amount of reading.

Before you close this

That is the core path

Six days, and you have the part of Blender this course runs on. Box modeling, UV layout, texturing and baking are all taught properly in class — Weeks 2 through 5 — so they are deliberately not here.

What follows is optional: four short sessions on Grease Pencil, which you take because you want to. Nothing in the course depends on it.