This is a wrapper around the unoffical python binding of XAtlas (https://github.com/jpcy/xatlas). It has a GUI you can use to unwrap and uv pack objs, and a CLI support for calling the .exe with command arguments (mesh input/ output etc).
The project is using UV, best would be to use it as well for ease of setup. Look at Releases for a windows .exe release.
Technical Info:
A PySide6 GUI and silent command-line wrapper around the xatlas Python binding.
uv sync --dev
uv run xatlas-guiSupplying --input skips the GUI entirely:
uv run xatlas-gui --input "C:\Meshes\model.obj" --padding 4 --resolution 2048Choose an output explicitly and suppress normal output (normal output is next to the source file):
uv run xatlas-gui `
--input "C:\Meshes\model.obj" `
--output "C:\Meshes\model_unwrapped.obj" `
--padding 8 `
--resolution 4096 `
--silentBoolean options support positive and negative forms, for example:
uv run xatlas-gui --input model.obj --no-bilinear --block-align --brute-forceSee every parameter:
uv run xatlas-gui --helpuv run pytest
uv run ruff check .powershell -ExecutionPolicy Bypass -File scripts\build.ps1The result is dist\XAtlasGUI.exe.
GUI launch:
.\dist\XAtlasGUI.exeSilent CLI launch:
.\dist\XAtlasGUI.exe --input model.obj --padding 4 --resolution 2048 --silent