Importing World of Warcraft creatures to Panda3D with anims

[size=200]Importing World of Warcraft creatures to Panda3D with animations[/size]

First off I want to address the legal/copyright issues, because I know someone will comment on this matter.

“Blizzard Entertainment supports the use of its game assets for educational purposes, and you are welcome and encouraged to create a Production for a school project, master’s thesis, etc. All limitations above still apply to Productions created for educational purposes.â€

Does anybody know any other too to get the models out of Wow? MyWarcraftStudio 0.10 seems to have a lot of trouble displaying most of the animated models.

don’t worry about warcraftstudio not displaying the models, all you need warcraftstudio to do is extract the .m2 file, which you then open with 3dsmax.

yeah I noticed. Another thing though is that in the seperate modelviewer there are a lot more models available then in MyWarcraftStudio. For example, the Furbolg is nowhere to be found.

That’s probably because mywarcraftstudio can only open one .mpq file at a time, while WoWmodelViewer opens up all at the same time.

Try looking through common.mpq, expansion.mpq and patch01/02.mpq, i’m sure you’ll find it in one of those.

Hi, the import script let me see and animate the characters in 3Ds max. However, when I rescale or move the character to another position, clicking the animate button rescales and repositions it. I also noticed that when I select the skin modifier and click on envelopes, the helper lines showing up all extend far to the front, as if the position of some data was not imported correctly. I’m using 3Ds max 2009. Any help appreciated.

yeah you’re going to want to leave the characters alone within 3dsmax, and rescale/reposition them in panda3d instead

Ok, thanks. By the way, great tutorial!

I modified the import script a bit. The model can now be scaled and translated in 3Ds Max without breaking the animation. The bones also look right now, so you can modify the animations by manipulating the bones.


hey i have 3ds studio max 9 i put the 2 max 9 files into plugins folder and when i load 3ds max 9 it says " datadata 9 was not made for this version, not loading"
i have no idea how to fix this plz help! :confused:

Thanks a lot for the tutorial Bjarnia. I’m looking forward to try it out this weekend!

Does the M2Importer script support any expansion packs for WoW? I’ve got the Burning Crusade expansion, and when I try to import the extracted .m2 into 3dsmax 9, I fail extracting on the texture:

4cc: MD20
Name len:24
Name offs:304
Vertices of:0
---- Header finished ----
-- A ton of animation defs cut out ... --
Verts read: 2
-- Failed in <Read textures>

I dug a little deeper into the M2Import script, and found that it fails on line 1015:

tex_read[i].filename = ReadFixedString bstream tex_read[i].namelen

Does anybody have a clue what might be causing this? So far the only thing I can think of is that I have that expansion installed, or a newer patch, that somehow messes with the m2 structure or something, meaning that the M2Import is out of date. I really don’t want to reinstall WoW though, that’s a last way out.

I might add that I managed to get the static models into Panda, as you described, Bjarni, in your other tutorial.

MyWarcraftStudio refuses to extract any files at all.
All it will do is display the list of files in the MPQ.

You have to patch back to some early 2.x version to make MyWarcraftStudio compatible with your WoW. In a private mail, bjarnia told me that he had used an early 2.x version in the beginning of Burning Crusade’s release.

The wow model viewer has a task in it’s latest todo list ( to include support for exporting animations, but work on it is going slow. So your best bet to get animations to export right now, is to patch back to the version the MyWarcraftStudio was built for.

For all of you trying this with the newest version of Panda3D:
The newest maxegg exporters, included with Panda3D 1.5.4 at the time of this writing, [color=red]do NOT support multiple textures, so only one texture gets mapped to all polygons of the WoW model.

To fix this you have to install an older version of Panda3D and get the older maxegg exporter to get all the textures mapped correctly to your model. Panda3D 1.4.2 worked for me. It’s not enough just to have the exporters, you have to have that version of panda installed also because apparently the maxegg exporter uses Panda3D DLLs of the older version.

If you have multiple versions of Panda3D installed, remember to set the system PATH to the 1.4.2 version before starting 3ds max with the older plugin (the PATH will have both versions of Panda3D). Otherwise, 3ds max will throw a DLL error.

By the way: The max egg exporter from 1.5.2 is the same as that from 1.4.2, so I guess you can use 1.5.2 as well if you don’t feel like downgrading all the way.