Skip to content

Blender MCP Pipeline

Riftbloom's assets are made in Blender, driven by an AI assistant through the Blender MCP you have set up, then exported to Unreal.

flowchart LR
    A[Wiki spec<br/>asset brief] --> B[Prompt via Blender MCP]
    B --> C[Blender: block-out<br/>→ model → UV]
    C --> D[Rig + weight<br/>shared skeletons]
    D --> E[Toon materials<br/>+ outline-ready normals]
    E --> F[Export FBX<br/>Unreal preset]
    F --> G[Unreal import<br/>→ assign toon master material]
    G --> H[Review in-engine<br/>→ iterate]

1. Write an asset brief

Every asset starts as a short brief, copied from the wiki page that describes it:

Asset: SM_HP_PaperLantern_A
Region: Hearthport
Size: 0.4 m tall
Style: anime cel-shaded, chunky shapes, 2–3 flat color zones
Tris: ≤ 1,500
Notes: emissive inner panel (separate material slot), hangs from top hook (pivot at hook)

2. Prompting the Blender MCP

Good prompt patterns for the Blender MCP:

  • Block-out first: "Create a low-poly block-out of a Japanese-style harbor house, 6 × 4 m, stilts, sloped roof, real-world scale in meters, origin at floor center."
  • Then refine: "Add bevels to the roof edges, add 4 window cut-outs, and keep it under 3k tris."
  • Use scripts for repeatable steps. Ask the MCP to run Python in Blender for batch operations (apply transforms, rename objects, set the export preset).
  • Check the scene after each step (ask for scene info and a viewport screenshot) before moving on.
  • Use asset libraries or generators that your MCP setup supports (for example, free PBR textures or HDRIs) for reference only. Riftbloom's final look is flat toon colors, so most textures are simple gradients or color IDs.

3. Modeling rules

Rule Value
Units Metric, 1 unit = 1 m (Unreal converts to cm on import)
Facing Characters face −Y in Blender (front view), which lines up with the UE5 mannequin after import
Pivot Props at base center; doors at hinge; weapons at the grip
Triangle budgets Player 40–60k, Echo 30–50k, mook enemy 8–15k, boss 60–100k, props 0.5–5k
Topology Clean edge loops at joints, custom normals on faces for anime shading (normal transfer from a sphere or proxy)
UVs Channel 0: color/gradient atlas. Channel 1: lightmap (only if not using Lumen-only)
Materials Max 3 slots per prop, 5 per character (skin, hair, eyes, outfit, emissive)

4. Rigging

  • Player, companions, humanoid Echoes, Mirrorshades share one humanoid skeleton that matches Unreal's Mannequin (UE5 Manny) bone names, so you can retarget UE animations and Marketplace or Fab packs with IK Retargeter.
  • Enemy families each get one skeleton (see Bestiary): Small biped, Quadruped, Large biped, Floating, Bird.
  • Extra bones for hair, skirt and coat tails are driven by physics in UE.
  • Facial animation uses shape keys (blinks, 8 mouth shapes, brows). These export as morph targets.

5. Export settings (FBX → Unreal)

Option Static mesh Skeletal mesh
Apply scale FBX Units Scale FBX Units Scale
Forward / Up Defaults (−Z Forward, Y Up). Unreal converts axes on import Same
Apply transforms Yes (apply rotation and scale in Blender first) Yes
Smoothing Face Face
Add leaf bones – Off
Bake animation – On for animation exports
Tangent space On On

Test the settings once with a 1.8 m reference cube and a mannequin import, then save them as an export preset and ask the Blender MCP to use it every time: "Export the selected objects to <path>/SM_xxx.fbx with the Riftbloom static preset."

6. Import into Unreal

  1. Import the FBX to the correct folder (see Naming Conventions).
  2. Assign the M_Toon_Master material instance and pick a color ramp.
  3. For characters, assign the shared Skeleton and Physics Asset, and enable the outline (inverted-hull or post-process).
  4. If you use an Unreal MCP, automate steps 1–3 with a script.

7. Asset checklist

  • Named correctly
  • Scale checked against the 1.8 m mannequin
  • Pivot correct
  • Under the tri budget
  • Material slots named MI_<name>_<part>
  • Collision: UCX_ meshes for props, or auto-convex
  • LODs: auto LODs in UE for props, hand-made LOD1 for characters