AlexandrosDemetriades - XAtlas — Pack Tileable Materials into a Texture Atlas directly from the Viewport

XAtlas

Tileable materials are quick to dress a level with, but they add up. Every material brings its own textures, and across a scene that becomes dozens of small texture sets to stream and budget for, each at a different texel density. An atlas fixes that with one texture set, a known memory cost, and a consistent density across everything that uses it. The trouble has always been getting there: re-unwrapping, baking, guessing at sizes, then finding out in the level whether it held up.

XAtlas does it in the viewport. Select the meshes you already dressed, pick a density, and watch the result on your models, and see how well the sheet is used, before anything is saved. If it isn’t right, press Escape and your original materials are back. It works the same on a new project or one that’s well underway, because nothing you already have is touched until you decide it should be.

Packing

  • Packs albedo, normal, ORM, and emissive into one square sheet at 1024, 2048, or 4096

  • Separate occlusion, roughness, and metallic textures are packed into ORM for you

  • Each material gets its own place on the sheet, sized by the texel density you choose

  • A texture that isn’t square keeps its shape, so a wide brick stays wide

  • Starts from the density your surfaces already have, weighted by area

  • Fill one sheet, hold your density across extra sheets, or take the highest density that still fits

  • Where a texture has to shrink, the pattern can repeat so the surface keeps the density you asked for

  • Or use Pack textures to pack each texture at its own size and set the repeat on each instance yourself

  • A gutter around each texture stops neighbors bleeding into each other

See it before you commit

  • The sheet is drawn in the dialog as you work

  • Under the sheet, a readout shows how much of it is filled, how much is gutter, and how much is still empty

  • If a smaller sheet would hold the same density, or the density could go higher without shrinking a texture, XAtlas tells you before you create anything

  • Preview on meshes shows the density on your actual models in the level

  • Add or remove meshes with the dialog open and the sheet follows

  • Escape closes it and puts your original materials back

Safe on existing work

  • Your existing UVs stay put. The atlas is written to its own channel, channel 2 by default

  • The lightmap channel is never touched

  • Leave Duplicate mesh on and the original asset stays untouched. XAtlas writes the new channel onto a copy and points the actors in the level at that copy. Turn it off and the channel is written straight onto the mesh you selected

  • A tiling texture on an island unwrap is packed with the rest. A unique texture shows up checked, and you uncheck it to leave it on the mesh

Come back to it later

  • Update the same atlas when the set or density changes

  • Running it again never stacks changes. It always starts from the mesh’s original UVs

  • Meshes you drop from an update go back to their originals

Still yours to tune

  • Tint, brightness, desaturation, and roughness, metallic, occlusion, and normal strength stay live on the material

  • A shared detail normal with its own tiling, off until you turn it up

  • World alignment as a switch on the master material

Build on it

  • The repeat lives in a material function, so the texture set is easy to extend

  • Add your own parameters after the samples, or place the function inside a material layer and sample the atlas from there

  • Works inside a layer for Extile Plus

Shortcut

  • Ctrl+Alt+A opens XAtlas, rebindable in Editor Preferences


XAtlas_Help.pdf
(Video coming soon)