AD SPACE AVAILABLE · BRAND PARTNERS WELCOME

How to Texture Custom OBJ Models with Leonardo.ai 3D Texture Generation

365Finds Editorial
Indexed 11,430 Wiki articles

Put 365 Wiki to work with your AI

Copy the prompt below, paste it into the AI you already use, then ask your question.

Download full Skill

Try it with the prompt first. If you use 365 Wiki often, install the full 365Wiki Skill so you do not have to paste it again. No regular AI? Gemini or Microsoft Copilot on the web will work.

365Wiki Skill

For game designers and 3D artists, texturing 3D meshes has traditionally been one of the most time-consuming phases of asset creation. Leonardo.ai features a dedicated 3D Texture Generation system that lets creators upload custom 3D models in Wavefront .OBJ format, apply prompt-driven AI surface textures directly across UV coordinates, and inspect or export production-ready texture maps for game engines like Unreal Engine and Unity.

Whether you are rapidly iterating on modular environment props, testing stylized visual aesthetics, or texturing background game assets, understanding how to prepare your mesh, structure your text prompts, and manage token costs makes Leonardo.ai a powerful asset accelerator.


Technical Prerequisites: Preparing Your OBJ Mesh

Before uploading any asset to Leonardo.ai, your 3D model must meet two strict technical requirements:

  1. File Format: The model must be exported in .OBJ format. Other formats such as .FBX, .GLTF, or .BLEND are not accepted by the 3D Texture Generation tool.
  2. Proper UV Unwrapping: The mesh must have UV coordinates. The AI relies on the UV layout to project and bake texture maps onto the 3D geometry. Models without UVs or with collapsed UV islands will produce distorted, scrambled, or failed generations.

UV and Geometry Best Practices


Step-by-Step Workflow: From 3D Model to Textured Asset

1. Uploading the Model

In Leonardo.ai, navigate to the creative tools menu and select Texture Generation (or use the REST API endpoint POST https://cloud.leonardo.ai/api/rest/v1/generations-texture).

Upload your UV-unwrapped .OBJ file. Once uploaded, Leonardo registers the mesh and generates a unique modelAssetId. In the web workspace, you can preview the raw untextured mesh in an interactive 3D viewport.

2. Crafting Material and Surface Prompts

Unlike general 2D image prompts that describe full camera compositions, lighting setups, and backgrounds, 3D texture prompts should focus exclusively on surface physical properties:

3. Iterating with 3D Texture Preview (5 Tokens)

Generating a complete 3D texture set costs 30 tokens, while a 3D Texture Preview consumes only 5 tokens.

Always run a preview first. The preview projects the prompt onto your model and provides a fast turn-around render. Rotate the model in 360 degrees to verify:

If the preview misses the mark, adjust your prompt keywords or add negative prompts (such as --no blur, glossy, plastic look) before committing full tokens.

4. Running Full 3D Texture Generation (30 Tokens)

Once satisfied with the preview, trigger the full generation. Leonardo processes the mesh geometry and compiles multi-channel texture data, including:

You can inspect the fully textured model in Leonardo's interactive 3D viewer, rotating lighting angles to check how the material reacts to directional illumination.


Exporting and Integrating into Game Engines

After generation completes, download the textured asset or the generated map bundle.

Importing into Unreal Engine 5

  1. Import your original .OBJ (or its equivalent .FBX) and the downloaded texture maps into the Content Browser.
  2. Create a new Material and open the Material Graph.
  3. Connect the Albedo map to Base Color.
  4. Connect the Normal map to the Normal input (ensure the texture compression setting is set to Normalmap).
  5. Connect the Roughness map to the Roughness channel.
  6. If the model includes metallic accents, you can blend a scalar parameter or isolate the metallic areas using the roughness contrast mask.

Importing into Unity (URP / HDRP)

  1. Drag the mesh and texture files into your Unity Project folder.
  2. Create a Material configured to the Universal Render Pipeline/Lit or HDRP/Lit shader.
  3. Assign the Albedo texture to the Base Map.
  4. Assign the Normal texture to the Normal Map slot and click Fix Now if Unity flags normal map texture settings.
  5. Slot the Roughness map into the Metallic/Smoothness input (inverting smoothness if required by the channel configuration).

Production Considerations and Limitations


References