Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 3d:shading [2026/02/26 15:52] – [Eevee Bloom] mh | 3d:shading [2026/02/26 16:06] (current) – [Step 7 – (Optional but Recommended) Apply Transforms] mh | ||
|---|---|---|---|
| Line 258: | Line 258: | ||
| This is useful to get any post-process effect to display in real-time in the Layout view. | This is useful to get any post-process effect to display in real-time in the Layout view. | ||
| - | ==== Baking Textures ==== | + | ===== Baking Textures |
| - | Step 1 – Apply All Modifiers | + | ==== Step 1 – Apply All Modifiers |
| - | Select all stones. | + | Select all objects. **F3 → “Convert to Mesh”** |
| - | + | ||
| - | Press: | + | |
| - | F3 → “Convert to Mesh” | + | |
| OR | OR | ||
| Line 277: | Line 274: | ||
| Repeat for all (less efficient). | Repeat for all (less efficient). | ||
| - | Step 2 – Join Into One Object | + | ==== Step 2 – Join Into One Object |
| - | Select all stones | + | Select all objects. |
| - | Select one last as active (it becomes the base object) | + | |
| - | Press: | + | **Select one last as active** (it becomes the base object) |
| - | Ctrl + J | + | |
| - | Now you have one mesh containing all stones. | + | → '' |
| + | |||
| + | Now you have one mesh containing all objects. | ||
| Important: | Important: | ||
| - | Check for duplicate vertices if stones | + | Check for duplicate vertices if objects |
| - | Go to Edit Mode → A → M → By Distance | + | Go to **Edit Mode** → '' |
| This cleans overlapping vertices. | This cleans overlapping vertices. | ||
| - | Step 3 – UV Unwrap Properly | + | ==== Step 3 – UV Unwrap Properly |
| Now that it's one object: | Now that it's one object: | ||
| Line 299: | Line 296: | ||
| Go to Edit Mode | Go to Edit Mode | ||
| - | A to select all faces | + | '' |
| - | U → Smart UV Project | + | '' |
| - | For stone walls, Smart UV works well. | + | Adapt projection method if needed for geometry. |
| Adjust angle limit if needed. | Adjust angle limit if needed. | ||
| Open UV Editor and confirm: | Open UV Editor and confirm: | ||
| - | • No overlapping islands | + | * No overlapping islands |
| - | • Good space usage | + | |
| If you want optimal packing: | If you want optimal packing: | ||
| - | UV → Pack Islands | + | **UV → Pack Islands** |
| - | Step 4 – Create Bake Target Texture | + | ==== Step 4 – Create Bake Target Texture |
| - | Switch to Cycles (baking only works in Cycles). | + | Switch to **Cycles** (baking only works in Cycles). |
| In Shader Editor: | In Shader Editor: | ||
| - | Add Image Texture node | + | Add **Image Texture node** |
| - | Click New | + | Click '' |
| - | Choose resolution (2048 or 4096 for walls) | + | Choose resolution (512 - 2048 or 4096) |
| - | Name it “Stone_Baked_BaseColor” | + | Name it “Object_Baked_BaseColor” |
| + | |||
| + | <WRAP round important 30%> | ||
| + | **IMPORTANT: | ||
| - | IMPORTANT: | ||
| Leave this Image Texture node selected (highlighted). | Leave this Image Texture node selected (highlighted). | ||
| + | |||
| This tells Blender where to bake. | This tells Blender where to bake. | ||
| + | </ | ||
| + | |||
| - | Step 5 – Bake Maps | + | ==== Step 5 – Bake Maps ==== |
| Bake Base Color (Albedo) | Bake Base Color (Albedo) | ||
| Render → Cycles | Render → Cycles | ||
| - | Bake Type: Diffuse | + | |
| + | **Bake Type:** Diffuse | ||
| Disable: | Disable: | ||
| - | • Direct | + | * Direct |
| - | • Indirect | + | |
| - | Leave only Color checked | + | |
| - | Press Bake. | + | Press '' |
| Save the image afterward in Image Editor. | Save the image afterward in Image Editor. | ||
| - | Bake Normal Map | + | Repeat the process for Normal Map: |
| + | * Create new Image Texture → “Object_Baked_Normal” | ||
| + | * Select that node | ||
| + | * Bake Type → Normal | ||
| + | * Space → Tangent | ||
| + | * '' | ||
| - | Create new Image Texture | + | Repeat the process for Roughness (if needed) |
| + | * Bake Type → Roughness | ||
| - | Select that node | ||
| - | Bake Type → Normal | + | ==== Step 6 – Create a New Game-Ready Material ==== |
| - | Space → Tangent | + | Now create a clean Principled BSDF: |
| - | Bake | + | * Plug BaseColor texture into Base Color |
| + | * Plug Normal texture → Normal Map node → Principled Normal | ||
| + | * Plug Roughness texture into Roughness | ||
| - | Save image. | + | Remove all procedural nodes. |
| - | Bake Roughness (if needed) | + | You now have a lightweight material that works in any engine. |
| - | Bake Type → Roughness | + | ==== Step 7 – (Optional but Recommended) Apply Transforms ==== |
| - | Repeat process with new image. | + | |
| - | Step 6 – Create a New Game-Ready Material | + | **Object Mode**: |
| - | Now create a clean Principled BSDF: | + | '' |
| - | • Plug BaseColor texture into Base Color | + | GLTF likes clean scale = 1, rotation = 0. |
| - | • Plug Normal texture → Normal Map node → Principled Normal | + | |
| - | • Plug Roughness texture into Roughness | + | |
| - | Remove all procedural nodes. | + | Game engines prefer clean transforms. |
| - | You now have a lightweight material that works in any engine. | ||
| - | Step 7 – (Optional but Recommended) Apply Transforms | + | ==== Correct Modifier / Boolean Order ==== |
| - | Object Mode: | + | Recommended Order: |
| - | Ctrl + A → Apply All Transforms | + | * Finish modeling |
| - | + | * Apply Boolean on wall | |
| - | Game engines prefer clean transforms. | + | * Clean topology |
| + | * Apply bevel | ||
| + | * Join bricks (if needed) | ||
| + | * UV unwrap | ||
| + | * Bake | ||
| + | * Apply transforms | ||
| + | * Export | ||
| ===== Resource sites ===== | ===== Resource sites ===== | ||