The first thing you’re going to do is open up WoW Model Viewer, I will refer to it as WMV from now on. You will be asked if you would like to load World of Warcraft, do it. Go ahead and select which model you would like to use. For the purpose of this tutorial I will be making a unit I still need for my map.
On the right side of WMV you will notice several buttons that say Head, Shoulder, Shirt, Chest, and etc. This is where you select what your model will be wearing. Be aware that you cannot put armor on non-character models. You can however give them weapons. Although there is no reason to do so because Weapons, Shoulders, and Helmets currently do not get exported with the models.
After you have selected what you want your character to wear we will now have to select which animations to export with it.
Go to Options and select Export Options and go the M3 tab. It is important that you rename animations to fit with Starcraft 2. When determining animations names you need to take into account Animation Groups. For instance if I want my Berserker to change from his normal Walk animation to a Stealth Walk I will rename Stealth Walk into Walk A. When I apply group A any another animations such as Attack A or Spell A will be used as well. Once you have selected all of the animations and renamed them set an export path and hit apply.
If you wish to follow me here is the names of my animations and what they use.
Now that our character has animations and armor we can go ahead and export it. Go to File -> Export Model -> M3. When you export the model all the animations and armor it is wearing will be exported into texture files and an .m3 file.
Before we do anything else to the model we need to find it some matching Shoulders, Helmet and Weapons. On the left side of WMV minimize everything so you can find + Item. In here you will see a list of Ammo, Head, Shield, Shoulder, Weapons and etc. Search for the specific pieces you are looking for. This may take you awhile if you haven’t play WoW very much. A couple things to consider are if the items are acquired via PvP that they generally have PvP in the name unless they are Burning Crusade items. In that case that will be under the PvE gear with a different texture.
I am using the following items.
Once you have found the Shoulder, Weapon, Shield, or Helmet you want to use go ahead and go to File -> Export ->Wavefront Obj. We will do this for each piece. For shoulders will need to do both the Left and Right ones.
Now we should have everything you need to move onto the next step.
Step 2 – Saving textures as .dds and adding team colors.
Find each of the textures that were exported with your models and open them up inside photoshop. Some textures will not require any editing, such as the hair textures. However you should still save it as a .dds file. Select each texture you would like to add team colors to and save the others you don’t want to add colors to as a .dds. You can name the file whatever you like because we will be applying that texture in 3DS Max. When you select .dds a window will prompt you to select the format. We will be using DXT5 ARGB 8 bpp | interpolated alpha, 2D Texture, and No MIP maps.
Now for the textures we will apply team colors to go ahead and start to outline the areas you wish to add the colors to. I use the magic tool until the lasso is needed for the finer details. You can add a new layer if you wish incase you make any mistakes. Once you have outlined the area you wish to add color select the channels tab and select Alpha.
Select your paint brush and fill in the area. When you’re done it will looks something similar to this. Go ahead and save it as a .dds just like above.
Now that we have added an Alpha Channel to our textures we can go ahead and move on over to 3DS Max.
If you haven’t set it up to load the scripts when 3DS opens go to Utilities -> MAXScript -> Run Script and find the M3 Import and Export scripts. Select them from the drop down window. Before we import our model we need to get the loading path for the textures. While this doesn’t apply our textures it will apply the .tga files that were originally exported with it. This is useful for models that use an alpha mask to cut out certain areas of the texture. It will retain the original textures information and make it easier for you.
Go to Customize -> Custom User Paths -> External Files. Click add, and go find the folder in which the original textures were located. Do not select the folder they are currently in as the path or it will not work. Rather select the folder that houses that folder. Hit Use Path and then hit Move Up until it is all the way at the top.
Now go to the m3 import window in the utilities tab and click open. Search for the character .m3 we exported from WMV. Once you have selected it hit import. Our character model will now get loaded into 3DS Max. I window may still prompt saying that it couldn’t find some textures. If it includes Body.tga and/or several others then your User Path is incorrect.
We will now add the other pieces to the model. Go to the 3DS Max Icon in the top left corner (I will refer to it as File). File Import. Find the Wavefront Obj’s we exported from WMV. Click Import again. You will get a window prompt that tells you it couldn’t find the texture. You can choose whether or not you want to search for it. If you wish to they should be in a folder named Item. It should now import the model. Go ahead and move it of the way and import the rest of the items.
Now that we have everything we need model wise we’re going to start attaching our .dds textures to them. I like to hide the Bones and Helpers while doing this part. To do this go to Display button and check off Bones and Helpers. Open up the Material Editor and select the piece you wish to add a texture to. Notice in the material editor when you select something it will highlight the texture in the material editor. Use this as a guide as to chose which textures to apply to that selection.
Items will be listed as a Standard texture. So we will go ahead and change it to a Starcraft 2 texture. We will then select Diffuse Map. Scroll down and select Starcraft 2 Bitmap. Click where it says None, hit Ok, and find the texture you wish to apply. If you wish to add team color on the texture check Render Alpha as Team Colour. With your selection made hit Assign Material to Selection. Don’t freak if it doesn’t show. If it doesn’t hit Show Standard Map in Viewport. Your texture should now be applied to that portion of the model. Go ahead and do this for every piece.
Now that our model has textures we can now start to resize them and attach them to the character. One thing to note is that not every attachment point gets imported into 3DS Max. However, the most important ones generally do. Resizing the items is fairly easy. I like to resize the items to about 40%. It is up to you to decide what looks good.
Once you have resized them we will start attaching them to the character. If you hid bones and helpers now is a good time to show them again. Move each item around until it is in a position that you find suitable. Then hit Select and Link. Select the item, then click and drag to an attachment point or bone. I link the shoulders, helmet, and weapons to attachment points.
Now that our we have attached our items we want to check to be sure they are attached properly. Go to the Utitlies. Go the .m3 sequences. If it doesn’t show click it from the same drop down window where we added the .m3 import and export.
The first thing you will see is a drop down window that will have a list of every animation the model has. I always keep it on Stand when attaching pieces. Go ahead and change the animation to see if the items look like the are moving correctly. If they aren’t then set the animation back to Stand and re-attach them or attach them to something different. If they are attached to attachment points they should generally be fine.
Now that our items are attached to our character we need to add a few more attachments points that weren’t imported with the model. You can add whatever you like wherever you like it. Just be sure to attach it to a bone or another attachment point so it follows the animations.
To add a new attachment point we are going to go to Create. Click the helpers button and select Starcraft 2 Objects from the drop down menu. Click Attachment and in the Attachment Parameters select the type of Attachment you want it to be. I usually add a Ref_Center, Ref_Damage, Ref_Overhead, and Ref_Target or Ref_Origin. For me Ref_Target is usually located at the feet of my model and if you do not move it all missiles will be fired at the models feet. Go ahead and move the attachments where you would like them to be and link them to a bone or another attachment point which is already linked to a bone.
Once you have completed all of these steps you can now export your model. Go to Utilies and scroll down to the .m3 export. Go ahead and hit Export and save it as whatever you would like to call it. The default Texture path is Assets/Textures/. You can change that if you would like before exporting the model.
Open up your map and go to Import. Hit import and find your files. I usually import all of the textures first. After I import them I will make sure their path is Assets/Textures/. I then save the map and return to the import window. Then Import the .m3 exported from 3DS Max. The textures should be visible on the model once you import it. If not save your map, exit the editor, and reload your map. If it still is not working be sure the Internal Texture path matches the path you put in the editor.
Step 5 – Doing the same thing with Buildings from WoW.
There is a slight difference from Buildings and units in WoW. Most WoW buildings are WMO files. In WMV you can change to WMO files from the drop down menu in the button left corner. Be aware though that WMV likes to crash when viewing WMO files and may cause nerd rage.
We cannot export these files as .m3’s with animations so we will export them the same way we exported the items from our character. Go to File Export Wavefront Obj. Edit the textures you wish to add team colors to just like we did above. And for the rest just save them as a .dds.
Note: A lot of the buildings share the same textures. It is best to keep them the same name as to save yourself space if you plan on having a lot of structures.
Go to 3DS Max and import the structure just like we did with the items. File Import Find the Wavefront Obj.
Some buildings have a lot of useless insides. I gutted all of my structures so just have the outside walls to reduce the file size. Walkable paths do not get imported so it’s pretty much useless to keep them anyway.
Attach the textures and attachment points like did up above. It may take a little guessing but eventually you’ll get the job done.
Great tutorial ! I will try it, just need to get the softwares.
I tried step 1 and I just have a question : when you export your model, you have the animation renamed "Stand Ready - Ready1h ". But for me the Stand Ready animation don't work when my unit is ready to attack. But I'm sure that the animation is supported by the model because when replace the animation of attack with the ready animation, the unit make a Stand Ready animation instead of the attack animation.
Do you have an idea why the ready animation is not played ?
The map is in the attachment, I just replace the berserker model by the footman model.
The name of your animation is "Ready", not "Stand Ready". It won't work until you rename it. Make sure when you're in the model export options that you rename it to that. Also make sure to hit apply. You can also rename it in 3DS Max if you have it.
Ready doesn't work for me either, that was what I tried first. I did the exportation again, just to be sure, I get the animation in the cutscene editor as you can the in the picture in the attachment.
Maybe I miss something in the object editor ? Actor tab event+ ? did you add something ?
Ok in fact I didn't read carefully your first answer (language misunderstanding), I though you said to write "Ready" instead of "Stand Ready" and that was what I do first but maybe I just forget to apply before export. I retried another time and it works. Thanks Daara87.
A great and very useful article! But I still have a question, how to apply alpha to textures? Not teamcolor textures.
Also, what should I do with an error during export 'Unknown property: "name" is undefined'?
There are some things from WoW that can't be imported and/or exported properly with the 3DS Max scripts. Usually it has something to do with the animations. Try making them .obj instead.
If want to cut out an area using alpha just create the texture pretty much the same as above. Instead, switch the Blend mode to Alpha Blend and on the same texture as the diffuse create the alpha mask and set it to render alpha only.
Thanks for help with alpha, I`ll try. But the problem with item remains. My goal is to export a draenei broken with a mine axe. I have read the topic about exporter and advices to it. An item is exported in *.obj format.
Firstly I got errors about 'verticle weighted to undefined bone'. That was because of last exporter update, where user must attach geosets to bones himself, simply using 'create bone' in exporter. I followed this advice and created bones to two of item`s geosets. They were not shown, but I could select them. I renamed them into 'weapon1' and weapon 2. That was not necessary, because that followed to new error - 'Unknown property: "name" is undefined'. Doing all work from the beginning helped me, this time I didn`t renamed bones, but now they were shown as giant prisms on the left side of the model. Also a sphere and an origin point needed bones. I created it and got 4 giant white bones. I skipped it and exported how it is. Scene check showed me no errors, but during export a new error appeared - 'Unknown system exception'.
What is wrong now? Is exporting of a simple mine axe is really cannot be done?
Nice tutorial (JUST figured all this out by myself xD oh well)...
For attaching items to the character I use the 'skin' modifier (which I think the m3 exporter needs on every object?) and add the 'bone' that is also the proper attachment point though. That way you can be sure it looks just like in WoW.
Also, in order to quickly get the armor and weapons you want (and you get the textures free!), don't export your character only as .m3, but also as .obj.
The .obj exported version has all the armor, weapons and textures, but lacks the animations, bones and attachment points.
So simply import the .obj into 3DsMax where you also have your .m3 version and strip him of the items you need and attach them to the .m3 version (which has all the animations and everything).
Another suggestion: edit the Death animation to have your character's corpse disappear into the ground like they do in Starcraft (see Raynor's death animation to see what I mean).
And one final suggestion: keep your 3DSMax file! You only have to do this once with all the animations and everything and you can just throw new items and textures on it for every WoW char that uses the same base model.
Daara did an export for me a little while ago, but, like many of you, the attack ready animation that should play between attacks does not play, thats really the only annoying thing aside from the stormstrike animation which i think might actually be making another different animation problem, so if any of you found out how to fix this problem with the ready anim could you tell me?
I can't view the model right now but the Stand Ready animation should be working. Unless I made a spelling mistake. I didn't put a stormstrike animation on the model either, you might be mistaking it for the deathstrike one.
Ready is group applied/removed whenever any weapon starts/stops attacking. This is already on most actors I've seen, if it is not, it will NEVER use the ready animation. It looks like this.
I'm having a problem with this. I'm fine right up until I'm testing the animations in 3ds Max. It doesn't appear that the helm, shoulders or weapon have linked correctly. I'm having a lot of trouble finding this model's attachment points and I'm beginning to think that they're probably missing. I'm not sure how to check because I have no idea how to bring up that green sphere thing.