Tutorial Step-by-step
Flatiron Tutorial — Baking a High-Quality Scene to Real-Time Textures
This tutorial demonstrates how to convert a high-quality V-Ray rendered scene into an optimized real-time asset using Flatiron.
The goal is to bake all visual information—diffuse color, lighting, shadows, and global illumination—into a minimal set of textures.
In this example, we reduce a complex scene into only two textures, making it suitable for real-time rendering in engines or mobile applications while preserving the original visual quality.
Goal
- Capture the final rendered look into textures
- Reduce memory usage and complexity
- Prepare the scene for real-time display (e.g. game engines, mobile apps)
Step 1 — Prepare the Scene
First, finalize your scene:
- Apply all materials
- Set up lighting (e.g. V-Ray)
- Adjust composition and rendering settings
The scene should already look like a final render.
Example: A kitchen scene with dozens of objects, multiple materials, and high-quality V-Ray lighting.
This setup may use many textures and consume ~50 MB of memory.
Step 2 — Define Texture Groups
To optimize texture usage, divide the scene into logical groups.
In this example:
- Walls + Floor → Selection Set:
Walls - Furniture → Selection Set:
Kitchen
This separation ensures:
- Large surfaces (walls/floor) receive clean, high-resolution shading
- Smaller objects (furniture) get their own optimized texture map
Step 3 — Create Selection Sets
- Select all wall and floor objects → create selection set “Walls”
- Select all remaining objects → create selection set “Kitchen”
Step 4 — Open Flatiron
- Go to the Utility Tab in 3ds Max
- Launch Flatiron
Step 5 — Configure Unwrapping
Since the scene consists of hard surface objects:
- Set Unwrap Mode →
Hard
Because the objects are already textured:
- Source UV Channel →
1(keep original UVs) - Target UV Channel →
2(store baked UVs safely)
Additional settings:
- Padding →
4 - Texture Size →
2048 x 2048 - Group Name →
KitchenBake
The group name also defines the output texture file name.
Flatiron will generate optimized UV layouts for each selection set.
Step 6 — Select Bake Input
- Enable Selection Sets
- Select both sets:
- unwrap each group separately
- bake each into its own texture
Step 7 — Choose Bake Type
To capture the full rendered appearance, select the renderer-specific complete map:
Step 8 — Assign Output
-
Make Self-Illuminated
→ prevents lighting from affecting the baked result in the viewport -
Add Shell Material
→ keeps original materials while adding baked versions
Configure the Shell Material: -
Viewport → Baked
-
Rendering → Original
Step 9 — Bake
- process all objects
- generate baked textures
- automatically assign them to the scene
Each object now uses a Shell Material:
- Original material (V-Ray)
- Baked texture result
You can switch between them at any time.
Step 10 — Finalize for Real-Time Use
Once satisfied:
- Click Clear Shells
This will:
- remove complex original materials
- keep only the baked textures
Result:
- Scene reduced to 2 materials + 2 textures
- Fully optimized for real-time rendering
Important Note — UV Channels
The baked textures are stored in UV Channel 2.
Most real-time engines expect UVs in Channel 1, so you need to transfer them.
For automated workflow, use the free script: https://github.com/3d-io/UV-Copy-MaxScript
Result
You now have a fully baked scene:
- minimal texture count
- high visual fidelity
- optimized for real-time display on almost any device
This workflow allows you to present complex scenes interactively without sacrificing visual quality.