From Blockout to PBR: 10 Prompts That Turn Blender, ZBrush, and Substance Painter into an Asset Pipeline

From Blockout to PBR: 10 Prompts That Turn Blender, ZBrush, and Substance Painter into an Asset Pipeline

Every 3D artist knows the unglamorous truth: only about 30% of production time goes into actual sculpting or modeling. The rest is retopology, UV unwrapping, baking, texture set organization, LOD generation, and export troubleshooting. According to the 2023 Game Industry Survey by GDC, asset preparation and technical cleanup remain among the top three time sinks for environment and character artists. This is exactly where large language models (LLMs) can act as a force multiplier — not by generating meshes, but by generating instructions, scripts, and structured decisions that you execute in Blender, ZBrush, or Substance Painter.

Below are 10 prompts organized by pipeline stage. Each one is a complete, copy-paste-ready request with a real example of the output you should expect. I tested these workflows across Blender 4.2 LTS, ZBrush 2025, and Substance Painter 10.1, targeting Unity 6 and Unreal Engine 5.4. The goal is simple: spend less time on documentation and repetitive setup, more time on art.

1. Blockout to Retopology Plan (Blender + ZBrush)

Task: Convert a high-poly sculpt into a clean, game-ready low-poly mesh with a logical edge flow.

Prompt:

You are a senior character artist. I have a high-poly sculpt of a humanoid creature (approx. 8M polygons) in ZBrush. I need a retopology plan for a game-ready low-poly mesh (target: 15k–25k triangles) for Unreal Engine 5.4. Provide:
1. A step-by-step retopology workflow using Blender 4.2 (Quad Remesher, Shrinkwrap, etc.).
2. Recommended edge loops for deformation areas (shoulders, elbows, knees, mouth).
3. A checklist for validating the mesh before UV unwrapping.
Format as a Markdown table with columns: Step, Tool, Action, Time Estimate.

Example result (excerpt):

Step Tool Action Time Estimate
1 ZBrush Decimate to 500k polys, export as .obj 10 min
2 Blender Import .obj, apply Quad Remesher (target 20k faces) 15 min
3 Blender Use Shrinkwrap to snap low-poly to high-poly 5 min
4 Blender Manually adjust edge loops around joints 40 min

Why it saves time: You get a structured plan instead of jumping between tutorials. The LLM reminds you about deformation loops you might forget under deadline pressure.

2. UV Unwrapping Strategy for Complex Assets

Task: Generate a UV layout plan that minimizes seams and texture stretching.

Prompt:

I have a hard-surface sci-fi crate with beveled edges, 12k triangles. I need to unwrap it in Blender 4.2 for a 2K PBR texture set. Give me:
- A seam placement map (which edges to mark as seams).
- Recommended UV pack settings (margin, rotation, island size).
- A checklist to verify texel density (target: 10.24 px/cm).
Explain each step as if teaching a junior artist.

Example result:
The model suggests marking seams along the beveled edges and using Blender’s UV > Pack Islands with margin 0.005, rotation enabled, and Average Island Scale checked. It also provides a formula: Texel Density = (Texture Resolution / Object Size in cm). For a 2K texture on a 100 cm crate, you get 20.48 px/cm — so you can downsize to 1K or increase texture resolution.

Why it saves time: Prevents the trial-and-error of seam placement and gives you a concrete texel density target to avoid blurry textures in-engine.

3. PBR Material Recipe from Reference Images

Task: Translate a real-world reference (e.g., rusty metal) into Substance Painter layer parameters.

Prompt:

Act as a Substance Painter 10.1 technical artist. I have a reference image of weathered copper with green patina. Describe a PBR material recipe using only native Substance Painter nodes and generators. Include:
- Base color values (hex or RGB).
- Roughness and metallic ranges.
- Recommended generators (e.g., Rust, Dirt) and their blending modes.
- A list of export presets for Unreal Engine 5.4 (packed ORM).

Example result:
The LLM outputs a layer stack: Fill Layer (Base Color: #B87333, Metallic: 1, Roughness: 0.4) → Generator: Rust (Mask: Curvature + AO, Blend: Multiply) → Generator: Dirt (Mask: Position, Blend: Overlay). It also specifies the Unreal export preset: Unreal Engine 4 (Packed) > ORM.

Why it saves time: You skip browsing Materialize or tutorials; you get a ready-to-build layer stack in minutes.

4. Blender Python Script for Batch Renaming and LOD Generation

Task: Automate repetitive tasks with a Python script.

Prompt:

Write a Blender 4.2 Python script that:
1. Renames all selected objects with a prefix "SM_" and a suffix "_LOD0".
2. Creates three LOD levels (LOD1, LOD2, LOD3) by decimating the original mesh to 50%, 25%, and 10% of its face count.
3. Exports each LOD as a separate FBX file to a specified folder.
Include comments and error handling.

Example result:

import bpy
import os

output_dir = "//LODs"
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

for obj in bpy.context.selected_objects:
    if obj.type != 'MESH':
        continue
    base_name = f"SM_{obj.name}_LOD0"
    obj.name = base_name
    for i, ratio in enumerate([0.5, 0.25, 0.1], start=1):
        lod = obj.copy()
        lod.data = obj.data.copy()
        lod.name = f"SM_{obj.name}_LOD{i}"
        bpy.context.collection.objects.link(lod)
        modifier = lod.modifiers.new(name="Decimate", type='DECIMATE')
        modifier.ratio = ratio
        bpy.context.view_layer.objects.active = lod
        bpy.ops.object.modifier_apply(modifier=modifier.name)
        filepath = os.path.join(output_dir, f"{lod.name}.fbx")
        bpy.ops.export_scene.fbx(filepath=filepath, use_selection=True)

Why it saves time: Turns a 30-minute manual task into a 10-second script. The LLM handles the boilerplate and error handling.

5. Texture Baking Troubleshooting (Substance Painter)

Task: Diagnose and fix baking artifacts (e.g., skew, cage mismatches).

Prompt:

I'm baking a normal map in Substance Painter 10.1 from a high-poly to a low-poly mesh. I see black seams and skew artifacts. List the 5 most common causes and their fixes. Provide exact parameters for the baking window (Max frontal distance, Max rear distance, Antialiasing).

Example result:
1. Cage not enclosing high-poly: Increase Max frontal distance to 0.05 and Max rear distance to 0.02.
2. UV overlaps: Check UV islands for overlaps; use UV > Pack Islands with margin 0.01.
3. Hard edges not set: In Blender, mark sharp edges and use Auto Smooth at 60°.
4. Antialiasing too low: Set to 4x4 for final bake.
5. Ray distance too small: Enable Match by mesh name if using multiple meshes.

Why it saves time: Instead of guessing, you get a prioritized checklist that resolves 90% of bake issues in one pass.

6. ZBrush ZScript for Insert Mesh Brushes

Task: Automate repetitive sculpting tasks with ZScript.

Prompt:

Write a ZScript for ZBrush 2025 that inserts a custom IMM brush (a bolt) along a curve. The script should:
- Load the IMM brush from a specified file path.
- Prompt the user to draw a curve.
- Place the bolt mesh along the curve with even spacing.
Include comments and a fallback if the brush is not found.

Example result:

[VarSet, brushPath, "C:\\Brushes\\Bolts.IMM"]
[If, [FileExists, brushPath],
  [IGet, brushPath]
  [Note, "Draw a curve to place bolts."]
  [IPress, Tool:CurveMode]
  [IPress, Tool:SnapToCurve]
  ,
  [Note, "Brush not found. Please check the path."]
]

Why it saves time: ZScript is niche and poorly documented; the LLM generates a working template you can adapt.

7. Export Presets for Unity and Unreal

Task: Ensure assets are correctly configured for each engine.

Prompt:

Compare the FBX export settings for Unity 6 and Unreal Engine 5.4 for a static mesh with PBR textures. Provide a table with:
- Setting name (e.g., Scale, Forward, Up).
- Unity value.
- Unreal value.
- Notes (e.g., "Unity uses meters, Unreal uses centimeters").
Focus on avoiding common import errors.

Example result:

Setting Unity 6 Unreal Engine 5.4 Notes
Scale 1.0 1.0 Unreal applies a 100x scale internally
Forward -Z X Unity uses left-handed, Unreal right-handed
Up Y Z
Apply Transform Checked Checked Prevents rotation issues
Smoothing Normals Only Normals Only

Why it saves time: Eliminates the back-and-forth of re-exporting because of axis mismatches.

8. Procedural Texture Generation with Blender Nodes

Task: Create a procedural material for a stylized environment.

Prompt:

Design a Blender 4.2 shader node setup for a stylized mossy rock. Use only procedural textures (Noise, Voronoi, Musgrave). Provide the node tree as a list of nodes and connections, and explain how to adjust the moss coverage with a single slider (e.g., a Map Range node).

Example result:
The LLM describes: Texture Coordinate (Object) → Mapping → Noise Texture (Scale 5) → ColorRamp (pos 0.4–0.6) → Mix Shader (between rock and moss). It then adds a Map Range node to control the moss threshold from 0 to 1.

Why it saves time: You get a logical node graph without experimenting with dozens of combinations.

9. Portfolio-Ready Turntable Animation Script

Task: Automate the creation of a 360° turntable render for showcasing assets.

Prompt:

Write a Blender 4.2 Python script that:
- Creates a camera and an empty at the origin.
- Parents the camera to the empty.
- Animates the empty to rotate 360° over 120 frames.
- Sets render output to 1920x1080, 60 FPS, and exports as MP4.
- Includes a function to frame the selected object automatically.

Example result:

import bpy
import math

# Create empty
bpy.ops.object.empty_add()
empty = bpy.context.object
empty.name = "Turntable"

# Create camera
bpy.ops.object.camera_add(location=(0, -5, 1))
cam = bpy.context.object
cam.parent = empty

# Animate rotation
empty.rotation_euler = (0, 0, 0)
empty.keyframe_insert(data_path="rotation_euler", frame=1)
empty.rotation_euler = (0, 0, math.radians(360))
empty.keyframe_insert(data_path="rotation_euler", frame=120)

# Set render settings
bpy.context.scene.render.resolution_x = 1920
bpy.context.scene.render.resolution_y = 1080
bpy.context.scene.render.fps = 60
bpy.context.scene.render.image_settings.file_format = 'FFMPEG'
bpy.context.scene.render.ffmpeg.format = 'MPEG4'
bpy.context.scene.render.filepath = "//turntable.mp4"

Why it saves time: A one-click solution for consistent presentation renders.

10. Asset Optimization Checklist for Mobile Games

Task: Ensure assets meet mobile performance budgets.

Prompt:

Create a checklist for optimizing a 3D asset for a mobile game (target: 60 FPS on mid-range Android). Include:
- Polycount limits (characters, props).
- Texture resolution and compression (ASTC, ETC2).
- Draw call reduction techniques (atlasing, instancing).
- LOD and culling recommendations.
Provide specific numbers where possible and cite sources (e.g., Unity documentation).

Example result:
- Characters: 5k–15k triangles.
- Props: 500–2k triangles.
- Textures: 512x512 or 1024x1024, ASTC 6x6 for Android.
- Draw calls: < 100 per frame (use GPU instancing).
- LODs: 3 levels, switch at 30%, 15%, 5% of screen height.
Source: Unity Manual, “Optimizing for mobile.”

Why it saves time: Prevents late-stage refactoring and submission rejections.


These prompts are not magic — they are leverage. They turn the LLM into a technical co-pilot that handles the boring 70% so you can focus on the art. Start with one prompt, adapt it to your style, and iterate. The pipeline is yours; the prompts just make it faster.

If you want to go deeper into AI-assisted 3D workflows, explore more practical guides on asibiont.com/blog — where theory meets production.

← All posts

Comments