Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diablo III Model Viewer

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.

screenshot

Features

  • 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/_Female library.
    • Name match — animations sharing the model's name prefix (Beast_ABeast_*).
    • 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 .m3 as 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
    • .m3 for the StarCraft II editor, including selected animations as named sequences (with automatic SC2 sequence-name mapping: idleStand, etc.), and the model's ragdoll as PHRB/PHSH/PHYJ physics with an Evt_Simulate handoff on the clips you mark.
    • .gltf for Blender and other DCC tools.
    • Textures as .dds (lossless, SC2) and/or .png (glTF/Blender).
    • Adjustable export scale — the default 0.02 matches StarCraft II character heights.

Requirements

  • 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.

Getting started

  1. Download D3ModelViewer.exe from Releases and run it. That single file is the whole application — nothing to extract, and no .NET installation required.
  2. 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).
  3. Click Open, wait a few seconds for the catalog, then filter and click a model.
  4. 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).

Building from source

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.

Third-party components

  • CascLib by Ladislav Zezula (MIT) — reads Blizzard CASC storages. A prebuilt 64-bit CascLib.dll is included in native/; 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.

Legal

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.

License

MIT — see LICENSE. (Covers this tool's code only, not the third-party components or any game content.)

About

Diablo III model viewer & exporter. Browse your local D3 install, preview models with animations, export to .m3 (StarCraft II) and .gltf (Blender)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages