Skip to main content

Surface Material Generation

Generate PBR surface materials: seamless texture PNG (imported as Default Texture) + ready-to-use Unity .mat material, saved to Assets/TJGenerators/History/ by default.

Getting Started

Start from GUI

Menu: AI > Generate > Generate Surface Material, or refer to the getting started section of 3D Model Generation.

Start from CLI

Use the generate_material tool to generate PBR materials. After generation, the material is automatically saved and ready to use in your scene.

Input Modes (at least one required):

ModeParametersDescription
Text-to-MaterialpromptPure text description
Image-to-Materialimage_path (+ optional prompt)Reference image + text guidance
Material Type Presetpreset_id13 presets (auto-supplements type prompt)
Pattern Templatepattern_id12 texture patterns (requires pre-generated template)

Combined prompt structure: preset.prompt + ", " + style.prompt + ", " + your prompt. After setting preset_id + style_id, you typically don't need to write a detailed prompt.


Models

Huoshan SeeDream Material (Only Model)

  • generator_id: huoshan_seedream_material (only option, default)
  • Use Cases: PBR materials for 3D object surfaces (metal, wood, stone, fabric, etc.)
  • Output: Seamless PNG texture (Default Texture) + Unity .mat material
  • Key Parameters:
    • prompt: Additional text description (combined with preset + style)
    • image_path: Reference image path (overridden by pattern_id template if present)
    • preset_id: Material type preset
    • pattern_id: Texture pattern template (requires pre-generation)
    • style_id: Surface condition
    • size: Texture size (default 2048x2048)

Material Type Presets (preset_id, 13 types, auto-sets Metallic/Smoothness)

IDNameMetallicSmoothness
metalMetal0.90.8
woodWood00.3
stoneStone00.1
fabricFabric00.3
leatherLeather00.3
concreteConcrete00.1
brickBrick00.1
tileTile00.1
glassGlass00.95
ceramicCeramic00.5
grassGrass00.5
sandSand00.5
snowSnow00.5

Texture Pattern Templates (pattern_id, 12 types)

uniform (uniform smooth), horizontal_lines (horizontal stripes), vertical_lines (vertical stripes), cross_hatch (cross hatch), diagonal (diagonal), wave (wave), noise (noise rough), honeycomb (honeycomb), brick_layout (brick layout), scales (scales), cracks (cracks), woven (woven).

Surface Conditions (style_id, 5 types)

new (brand new), aged (aged), dirty (dirty), wet (wet), weathered (weathered).

Size Options (size, 3 types)

1024x1024 (1K, mobile), 2048x2048 (2K, default), 4096x4096 (4K, close-up/hero).


Optimization

Prompt + Preset Combination

  • Prefer preset_id + style_id over pure text descriptions for more accurate PBR value generation
  • Combination example: preset_id: "metal" + style_id: "aged" + prompt: "rusted iron with orange patina"
  • Pattern templates can quickly generate regular textures (floor tiles, wall bricks, honeycomb structures, etc.), reducing trial and error
  • Describe the surface, not the object (avoid "a sword"; describe the surface texture instead); you can add "seamless tileable"

Size Selection

  • 1024x1024: Mobile/casual games, smaller file size
  • 2048x2048 (recommended): Desktop, quality-performance balance
  • 4096x4096: Hero assets/close-ups, larger file size

Parallel Generation

  • Maximum 5 concurrent tasks

Pattern Template Pre-generation

  • ⚠️ pattern_id requires first pre-generating the template in Unity Editor via AI > Development > Generate Texture Direction Template
  • When the template file doesn't exist, pattern_id is ignored and falls back to image_path

Notes

  • ⚠️ Generation takes 60–180 seconds
  • ⚠️ At least provide one of prompt / preset_id / pattern_id / image_path; preset_id alone is sufficient
  • ⚠️ Material ≠ Sprite: Materials are for 3D object surface PBR textures, sprites are for 2D icons/avatars — don't mix the tools
  • ⚠️ Pattern templates require pre-generation: Before using pattern_id, run the Editor menu AI > Development > Generate Texture Direction Template
  • ⚠️ Material type presets automatically set Metallic/Smoothness, no manual adjustment needed
  • ⚠️ Output path: Default Assets/TJGenerators/History/
  • ⚠️ Domain Reload: Do not write .cs files to disk during generation