SwisserAI LogoSwisserAI
3DPipelineSollumz

From PNG to FiveM-Ready Prop: The Full AI 3D Asset Pipeline

A single PNG to a streamable FiveM YDR prop — full 7-step pipeline. AI mesh generation, Blender cleanup, LOD budget, collision primitives, Sollumz export, fxmanifest, in-resource testing. Where Meshy and Tripo break for FiveM specifically.

SwisserAI Team
10 min read

Generating a 3D asset with AI is now trivial. Generating a 3D asset that a FiveM server can actually stream and render correctly complete with LODs, collisions, and the right file format is still painful. This post walks the full pipeline from a single PNG reference to a streamable YDR prop running inside a FiveM resource, and explains where generic AI 3D tools fall short for FiveM specifically.

Why FiveM is special

Generic 3D generators Meshy, Tripo, Rodin, Hunyuan are tuned for Unreal, Unity, or Blender workflows. Their defaults are GLB or OBJ, triangle-soup topology, single-LOD output, no collision primitives, baked-in PBR materials. All of that is wrong for FiveM.

FiveM (and underlying RAGE engine) expects:

  • YDR for props (drawable), YDD for dictionaries of drawables, YFT for fragmentable objects, YBN for collision
  • Multiple LODs typically a high-detail L0 plus L1/L2/L3 reductions for distance rendering
  • Explicit collision geometry as a separate mesh, not the render mesh
  • RAGE-format textures (YTD) rather than standalone PNGs or JPGs
  • Vertex-weighted skeletons for anything that breaks or animates

Hand a FiveM server a GLB and it will not stream. Hand it a YDR built without LODs and it will pop visibly at any real draw distance. The pipeline matters.

The full pipeline

Step 1 Reference image

Start with a PNG. If you are generating from text, generate an image first modern image models (SDXL, Flux, Nano Banana) give you far more art-direction control than text-to-3D does. Aim for a clean, orthographic-ish shot with the object centred on a neutral background. Multi-view sets (front + 3/4 + side) dramatically improve mesh consistency later, but a single good view is enough for most props.

Save at least 1024x1024. Quality here directly bounds quality downstream.

Step 2 AI mesh generation

Feed the PNG into a mesh generator. The output is a GLB/OBJ with textured geometry. Expect:

  • High triangle count (10k–100k) way above what you want for a streamable prop
  • Non-manifold edges and overlapping faces in concave regions
  • A single texture atlas baked to the mesh, often with visible seams
  • No LODs, no collision

This is where generic 3D AI tools stop. For FiveM, this is step 2 of 6.

Step 3 Mesh cleanup

Open the GLB in Blender. Standard cleanup pass:

  • Decimate to a target triangle budget. For a medium prop (ammo crate, traffic cone, wooden chair) aim for 2k–5k tris on the hero LOD. For hero objects like vehicles you go higher.
  • Retopologise anywhere the AI mesh is too noisy for decimation to fix cleanly. For props you usually do not need a full manual retopo Blender's remesh modifier plus a decimate pass is enough.
  • UV repair. AI-generated UVs are usually broken in subtle ways. Unwrap cleanly, repack, re-bake the original texture onto the new UV.
  • Normal bake the high-poly AI mesh onto the cleaned low-poly mesh to preserve surface detail.

Step 4 LOD generation

FiveM expects at minimum an L0 and an L1, ideally also L2. Generate LODs by decimating the cleaned mesh further:

  • L0 your cleaned hero mesh, 2k–5k tris
  • L1 ~40% of L0 tris
  • L2 ~15% of L0 tris
  • L3 (optional) billboard or simplified silhouette for very long distances

Inspect each LOD at its intended display distance. If silhouette integrity breaks at L2, bump the tri count until it does not.

Step 5 Collision geometry

Collision is a separate mesh. Never ship the render mesh as collision it is too expensive for the physics engine and will tank server performance. For a prop, collision should be:

  • A convex hull (ammo crate, barrel) one primitive, effectively free
  • A set of box primitives (table, shelf) one box per physical feature
  • A simplified low-poly mesh wrapping the render mesh (for complex organic shapes)

Build collision explicitly in Blender, tag it as collision in Sollumz, and make sure the bounds cover the render mesh without protruding noticeably.

Step 6 FiveM-ready export via Sollumz

Sollumz is the Blender add-on that exports to RAGE formats. Install it, set up a Sollumz drawable object in the scene, assign your LODs (L0/L1/L2/L3) to the drawable, assign your collision to a bound composite, and export.

You get a .ydr, a .ytd (texture dictionary), and a .ybn (collision). Drop them in a resource folder.

Step 7 Streaming into a resource

Folder structure:

my_prop/
├── fxmanifest.lua
└── stream/
    ├── my_prop.ydr
    ├── my_prop.ytd
    └── my_prop.ybn

Minimal fxmanifest:

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'no'

files {
  'stream/**/*',
}

data_file 'DLC_ITYP_REQUEST' 'stream/my_prop.ytyp'  -- only if you shipped a ytyp

Server.cfg: ensure my_prop. Restart. Spawn with CreateObject(GetHashKey('my_prop'), x, y, z, true, false, false). It should stream, render, and collide.

Where the standard AI 3D tools break this pipeline

Meshy, Tripo, Rodin, and most general-purpose 3D AIs output a GLB and call it a day. If you try to use their output directly in FiveM you are signing up for:

  • Manual format conversion (GLB → YDR via Sollumz)
  • Manual LOD generation from scratch
  • Manual collision authoring
  • Manual texture conversion to YTD
  • Manual LOD budgeting and testing

This is the bulk of the real work. The AI mesh generation, the part the marketing emphasises, is maybe 20% of the pipeline.

How SwisserAI collapses the pipeline

SwisserAI's 3D workflow is tuned for FiveM as the export target, not Unreal or Unity. You upload a reference PNG, the pipeline generates the mesh, cleans it, auto-LODs to the right budget, generates collision primitives, bakes a YTD-ready texture, and emits YDR/YDD/YBN + fxmanifest ready to drop into a resource.

You still want to eyeball the result automated LOD budgeting is a heuristic, not a guarantee but you are not writing a Sollumz project from scratch for every prop.

For one-off hero assets you will probably still open Blender. For the hundred props you need to fill a warehouse, collapsing the pipeline is the difference between "we ship this week" and "we ship this quarter".

Takeaway

AI 3D generation has solved the "make a mesh from a picture" half of the problem. The "make that mesh stream correctly in FiveM" half formats, LODs, collisions, textures, fxmanifest is still real work. Either build the full pipeline yourself (Blender + Sollumz is the standard stack) or pick a tool that treats FiveM as a first-class export target.

Either way, the pipeline above is what actually ships. Anything shorter is either a YouTube demo or a resource that will not stream past 50 metres.

Back to blog

Ship FiveM with grounded AI

Start with 250 free credits. No card. Use SwisserAI on the web or in your IDE via the OpenAI-compatible API.

Keep reading