Skip to content

About

Windows desktop browser for ArcheAge 10.x client models: icon grid + rotatable 3D preview, GLB/PNG export

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

AA Model Browser

Windows desktop browser for ArcheAge 10.x client models: weapons, armor and costumes as an icon grid, click a tile for a rotatable 3D preview.

  • Reads straight from the client game_pak (opened read-only, shared) or an unpacked game folder.
  • Item list, names (any client language), icons and model paths come from the pak's own compact.sqlite3.
  • Armor/costumes: every race/gender variant, optionally shown on the matching nude body + default face/hair, with the armor's cut volume hiding the skin underneath like the game does.
  • Export the converted model as .glb, or save a transparent PNG screenshot.

Run

src\ModelBrowser\bin\Release\net10.0-windows\AAModelBrowser.exe [game_pak | game folder] [--item <id>] [--race <model id>]

Or publish a self-contained build (see Build below; no .NET install needed to run it). Needs the Edge WebView2 runtime (ships with Windows 11).

First start: Open game_pak… and pick the game_pak file in your client folder. The last source reopens automatically.

Model ids for --race: 10/11 Nuian M/F, 16/17 Elf, 14/15 Dwarf, 18/19 Harani, 20/21 Firran, 24/25 Warborn, 13 Fairy F.

Viewer controls

Left drag rotate · right drag pan · wheel zoom · double-click a surface to orbit around it. Keys: R reset, 1 front, 3 side, U stand weapons upright, A auto-rotate, W wireframe, G grid, D double-sided, T material tint, N normal maps, B light background.

Build

dotnet build src\ModelBrowser -c Release
dotnet publish src\ModelBrowser -c Release -r win-x64 --self-contained -o dist

Layout

Path What
src/ModelBrowser WPF app (Fluent dark theme), WebView2 host, three.js viewer in wwwroot/
src/ModelBrowser.Core Game sources (PakGameSource, FolderGameSource), item catalog (SQLite), CDF resolving, GLB conversion + cache
src/ModelBrowser.Core/Pak AAPak reader, copied from AAEmu.Commons/Utils/AAPak (originally ZeromusXYZ/AAEmu-Packer)
src/ModelBrowser.Cli mbcli headless smoke test: `mbcli <pak
external/Cryengine-Converter Vendored CgfConverter project from Markemp/Cryengine-Converter (GPLv2, upstream commit 7b951db), with local patches below

Data chain (compact.sqlite3)

  • Weapons: items → item_weapons.asset_id → item_assets.path (group from holdables)
  • Armor/costumes: items → item_armors.asset_id → armor_assets → item_armor_assets → item_assets (one row per model_id = race/gender)
  • Icons: items.icon_id → icons.filename under ui/icon/; names from localized_texts
  • A .cdf is XML naming the mesh (Model File) + material override, plus CA_SKIN attachments.

Local patches to Cryengine-Converter

  1. CgfConverter.csproj: InternalsVisibleTo ModelBrowser.Core (so we can build Args directly).
  2. BaseGltfRenderer.Geometry.cs: bones sharing a controller ID (ArcheAge hair) were collapsed onto one node, producing a cyclic node graph that three.js can't load. Nodes are now only reused when the bone name matches, and skin joints come from the per-bone node map.
  3. MaterialTextureManager.cs: materials listing both Bumpmap and Normalmap crashed with a duplicate key; the _ddn one wins.

Data locations

%LOCALAPPDATA%\AAModelBrowser\ — settings.json, app.log, cache\db (compact.sqlite3 extracted from the pak), cache\models (converted GLBs; "Clear cache" in the status bar), WebView2 (viewer profile).

Licensing

GPLv2 (see LICENSE), since the bundled converter is GPLv2. three.js (wwwroot/lib/three) is MIT. The AAPak reader is from ZeromusXYZ/AAEmu-Packer.

No game assets are included; the app reads them from your own client install.

About

Windows desktop browser for ArcheAge 10.x client models: icon grid + rotatable 3D preview, GLB/PNG export

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages