A Windows desktop viewer and exporter for Diablo III models. Point it at your own Diablo III installation, browse every appearance in the game, preview models with textures and animations, and export them to .m3 (StarCraft II) or .gltf (Blender) with their textures as .dds / .png.
- Asset browser — reads the game's asset catalog (
CoreTOC.dat) directly from the CASC storage; type-to-filter across ~28,000 appearances. - Textured 3D preview — geosets with diffuse textures, alpha-cutout handling, geoset visibility toggles (collision/physics meshes start hidden, like in game).
- Animation playback — play, loop, scrub, and adjust speed. Pick which animations are offered from four sources (see Animation association):
- This unit — what the game itself binds to the model, read from its Actor and AnimSet. Authoritative, and the default whenever it finds anything.
- This skeleton — every animation whose bones all exist in the model's rig. This is how a human NPC picks up the shared
OmniNPC_Male/_Femalelibrary. - Name match — animations sharing the model's name prefix (
Beast_A→Beast_*). - All animations — the whole catalogue, with a search box.
- Ragdoll — Diablo III ships a hand-authored ragdoll inside almost every creature's appearance
file: collision volumes per bone and cone-twist joints between them. The viewer reads it, draws it
over the model, simulates it, and writes it into the
.m3as SC2 physics (see Ragdolls). Tick on end and a non-looping death clip hands the corpse to the solver at its last frame, which is exactly what the export does in game. - Export
.m3for the StarCraft II editor, including selected animations as named sequences (with automatic SC2 sequence-name mapping:idle→Stand, etc.), and the model's ragdoll asPHRB/PHSH/PHYJphysics with anEvt_Simulatehandoff on the clips you mark..gltffor Blender and other DCC tools.- Textures as
.dds(lossless, SC2) and/or.png(glTF/Blender). - Adjustable export scale — the default
0.02matches StarCraft II character heights.
- Windows 10/11, 64-bit.
- A local Diablo III installation (the retail game, installed via Battle.net). This tool reads your own game files; it does not download or include any game content.
- Download
D3ModelViewer.exefrom Releases and run it. That single file is the whole application — nothing to extract, and no .NET installation required. - The install path is auto-detected from common locations; correct it if needed (the folder that contains
.build.info, e.g.C:\Program Files (x86)\Diablo III). - Click Open, wait a few seconds for the catalog, then filter and click a model.
- Export… opens the export dialog: choose formats, geosets, animations, scale, and output folder.
Windows SmartScreen may warn on first run because the executable is not code-signed. Use "More info → Run anyway", or build from source yourself (see below).
Requires the .NET 10 SDK on Windows.
dotnet build src/D3ModelViewer.slnx -c Release
To produce the same single-file executable the releases ship:
dotnet publish src/D3ModelViewer -c Release --self-contained
The app is WPF, x64-only (the bundled native CascLib.dll is a 64-bit build). The published exe
bundles the .NET runtime and every dependency; its native libraries are extracted to %TEMP% on
first run, which costs a fraction of a second of startup.
The app icon is generated, not checked in by hand — python tools/icon/make_icon.py (requires
Pillow) redraws src/D3ModelViewer/AppIcon.ico at all ten sizes.
- CascLib by Ladislav Zezula (MIT) — reads Blizzard CASC storages. A prebuilt 64-bit
CascLib.dllis included innative/; you can also compile it yourself from the upstream repository. - Helix Toolkit (MIT) — WPF 3D viewport.
- BepuPhysics 2 (Apache 2.0) — the ragdoll preview solver.
This is a fan-made tool for viewing and converting assets from your own legally purchased copy of Diablo III. It ships no game assets and cannot download any. Diablo and StarCraft are trademarks of Blizzard Entertainment, Inc. Do not redistribute exported game assets; keep them for personal/modding use as permitted by Blizzard's EULA.
MIT — see LICENSE. (Covers this tool's code only, not the third-party components or any game content.)
