3d:export-runtime

This is an old revision of the document!


Exporting for Real-Time Engines

Select all objects.

  • F3 → “Convert to Mesh”

OR

  • Object Mode → Object → Convert → Mesh

This applies all modifiers (including bevel) destructively.

If you prefer manual control: Select one → Modifier tab → Apply Repeat for all (less efficient).

Select all objects. Select one last as active (it becomes the base object)

Ctrl + J

All objects become one mesh.

Clean-up:

  • Check for duplicate vertices
  • Edit ModeAMBy Distance
  • With everything still selected
  • SHIFT + N to recalculate normals

Now that it's one object:

  • Edit ModeAUSmart UV Project

Adapt projection method if needed for geometry.

Adjust angle limit if needed.

Open UV Editor and confirm:

  • No overlapping islands
  • Good space usage

If you want optimal packing: UV → Pack Islands

Switch to Cycles (baking only works in Cycles).

In Shader Editor:

  • Add Image Texture node
  • Click New
  • Choose resolution (512 - 2048 or 4096)
  • Name it “Object_Baked_BaseColor”

IMPORTANT:

Leave this Image Texture node selected (highlighted).

This tells Blender where to bake.

Bake Base Color (Albedo)

Render → Cycles

Bake Type: Diffuse

Disable:

  • Direct
  • Indirect
  • Leave only Color checked

Press Bake.

Save the image afterward in Image Editor.

Repeat the process for Normal Map:

  • Create new Image Texture → “Object_Baked_Normal”
  • Select that node
  • Bake Type → Normal
  • Space → Tangent
  • Bake

Repeat the process for Roughness (if needed)

  • Bake Type → Roughness

Now create a clean Principled BSDF:

  • Plug BaseColor texture into Base Color
  • Plug Normal texture → Normal Map node → Principled Normal
  • Plug Roughness texture into Roughness

Remove all procedural nodes.

You now have a lightweight material that works in any engine.

Object Mode:

Ctrl + AApply Rotation/Scale. In most cases don't apply location if your object is not an independent asset placed at world origin.

GLTF likes clean scale = 1, rotation = 0.

Game engines prefer clean transforms.

Also Shift + N → Recalculate Normals.

Game engines like clean normals.

For example when a window is applying a difference boolean on a wall for easy placement

Recommended Order:

  • Finish modeling
  • Apply Boolean on wall (for window cutout)
  • Clean topology
  • Apply bevel
  • Join bricks (if needed)
  • UV unwrap
  • Bake
  • Apply transforms
  • Export
  • 3d/export-runtime.1772530213.txt.gz
  • Last modified: 2026/03/03 10:30
  • by mh