M3 Plugins for 3ds Max
Starcraft 2 Model (.M3) Plugins for 3ds Max
Starcraft 2 Model plugins. Tested on 3dsmax 2009, 2010, 2011 and 2012.
3dsmax 2013 is not supported!
The importer and exporter will now be bundled together along with Starcraft 2 object definitions for using custom objects (materials, maps, UI, etc) within 3ds Max. I've chosen to distribute them together so that the object file definitions are in sync with each script.
Starcraft 2 Model (.M3) import plugin for 3ds Max
Currently Imports:
- Geometry
- Bones
- Materials (Standard, Volume, Displace and Terrain)
- Animation
- Attachments
- Particle Emitters
- Cameras
- Lights
- Ribbons
- Tight and Fuzzy hit tests
Starcraft 2 Model (.M3) export plugin for 3ds Max
Currently Exports:
- Geometry
- Materials (Standard, Volume, Displace and Terrain)
- Skin\Bones
- Animations
- Attachments
- Particle Emitters
- Cameras
- Lights
- Ribbons
- Tight and fuzzy hit tests
Setting up an exportable model
Geometry & Materials
- Geometry to be exported must be of the 'Editable_Mesh' type.
- Materials can only be of 'Starcraft 2', 'Standard' or 'Multimaterial' types. Starcraft 2 type is highly recommended.
- Bitmaps must be either 'Starcraft 2 Bitmap' or 'Bitmap' type. Starcraft 2 Bitmap is also highly recommended.
- Decals can now be exported. They are applied through a different UV map channel to the diffuse map.
- In Displace Material, Global strength works as a multiplier of Strength Map. Can be animated. If set to 0, no effect will occur but the higher it goes the more displacement will be visible.
You can now use custom 'Starcraft 2' materials and 'Starcraft 2 Bitmap' bitmaps for extra tweakable settings if you put the sc2_objects.ms script in your plugins directory.
Skin, Bones and Attachments
- Vertices must be weighted via a skin modifer applied to a mesh. This is not required for meshes that have no weighted vertices.
- Attachments are now exported as custom helper objects. They can be found in the Create panel, under the Helpers tab in the 'Starcraft 2 Objects'*s group.
- Unskinned geometry and helper objects that aren't hidden or frozen in the scene will be exported as bones.
Rather important!
Every object needs to have a bone attached to it. To save time on that you have an option in M3 - Export menu called "Add bones". Please, always add bones, script will not do it for you any more. "Add bones" creates and attaches parrent bone at the pivot point of a selected object. If it is helper (Pemitter, Ribbon etc), the helper will be attached to it. If it is mesh, script will create Skin modifier and add newly created bone.
Bindpose Rigging
The bindposes for Starcraft 2 models exists in two forms, the bind pose and the base pose. The first form is the bind pose of the model which uses the absolute positions of the bones and the mesh vertices before any deformation as the 'binding' of bones to mesh pose. The base pose of the model is the 'standard' pose of the model that animations are based off and uses the bind pose as the initial reference. This is the pose the model will assume in the absence of animation information. The base pose and bind pose do not need to be different, they can be the same, this is just the system Starcraft 2 models use to rig bones to model meshes. You can set these poses up at different frames and assign them through the exporter options.
Animations
Animations are now supported by the exporter, however make sure you create beginning and end frame animations for the bones you're going to animate or else you'll be getting weird interpolations. When doing rotation animation, keyframes should be provided every 90 degrees or less of rotation. Animations may not export entirely like you expect because the code is still largely beta.
Cameras
To export Cameras properly you need to create targeted camera. Middle point for DOF functions is deifned by the target position.
Environment ranges define DOF falloff start and end.
Clip planes for the StarCraft to handle are defined by the Clipping Planes values.
Lights
Exported lights must be of "SCII Light' type
Make sure to properly set up the ranges and spot (only in case of a spot light) parameters of the light
Every added light has to be linked to the bone
Ribbons
Ribbons include very similar interface to that of particle system.
It has to have a bone and a material associated with it.
Tight and fuzzy hit tests
Just like any other helper and object, it needs to have a bone attached.
The difference is that it does not take transform information directly from the bone.
Instead, helper's transformation is added into the bone's transformation. The resulting transformation is what you see in game.
Version 2.2 mini-manual:
http://www.sc2mapster.com/forums/resources/third-party-tools/963-m3-exporter/?page=48#p959**
Version 2.1 mini-manual:
http://www.sc2mapster.com/forums/resources/third-party-tools/963-m3-exporter/?page=39#p774
If you have any bug to report please do it it M3 Exporter thread http://www.sc2mapster.com/forums/resources/third-party-tools/963-m3-exporter/
Install instructions
1. Must have 3ds max installed
2a. Extract the scripts (.ms) into your 3ds max '...\Scripts' directory, optionally you can place the scripts in your '...\Scripts\Startup\' directory to have it automatically load them when you launch 3ds Max.
2b. If you want to use Starcraft 2 objects in max (custom materials, maps, animation UI) then place 'sc2_objects.ms' into your 3ds max '...\Plugins' directory.
3. Click on the hammer icon on the default right hand side pane, and click on the MAXScript button. If you didn't have 3ds max automatically load it upon launch, click 'Run Script' from the rollout dialog and locate the script you want to load.
4. Select the utilty (i.e.'M3 - Import', 'M3 - Export') from the Utilities drop down menu.
Special Thanks
Blue Isle Studio (http://blueislestudios.com/): Have graciously supported the development of these tools. Keep your eyes on these guys in the future and check out their website!
Volcore (http://volcore.limbicsoft.com/): For help with vertice flags and initial architecture of the M3 format
Teal (starcraft.incgamers.com): For UV's and his PHP converter source, helped with geometry importing
Witchsong (http://code.google.com/p/libm3/): Providing a great open source library for documenting the M3 file format and designing the M3->Obj converter. Head to http://code.google.com/p/libm3/ for more M3 file spec details. Helped immensely figuring out the details of the M3 file format.
Sixen (http://www.sc2mapster.com/): An awesome website for hosting SC2 development tools and vast XML documentation.
der_ton (http://www.doom3world.org/): Has done some incredible work with the MD5 format. Alot of his work has been adapted for the M3 file format with great success. Big thanks goes out to him!
MrMoonKr: Providing a toUpper function to fix 3ds max incompatibility issues
Skizot: For testing and providing suggestions to improve the script, very big thanks
Phygit: Providing bug fixes and development information to do with the M3 format
ufoZ: One of the original crew to reverse engineer the M2 format and provide a good maxscript importer from which my importer/exporters are based. Huge thanks to his efforts.
Jakub Jeziorski
Florian Köberle (https://github.com/flo/m3addon/) : for creating python scripts, that can convert m3 files to xml and back based on a xml description of the m3 file format.
does it works with 3ds max 2011?
I want to export a model, but it says: "
Unknown property: "materialType" in Sentry:Standard"I did change something in the Material Editor, but I "ctrl-z'ed" it. Oo Will I really need to redo all the work or is there a workaround?
Export failed! Runtime error: Skin need to be selected and in the modifier panel Skin:Skin
I'm receiving this error when I attempt to export an M3 file I've edited, any idea what might be causing it?
Edit: The error was caused by trying to export frozen objects apparently.. which there were none of. Unchecking that option solved it.
I'm trying to make some modifications to a model which has a light and a particle system attached to it. Do these get exported from the Galaxy Editor's Preview Module? If so, do they get imported into max w/ this script? Whenever I export one of the previously imported models and import it back into the editor, I find that the model is missing the previously attached light and particle system. Some help would be greatly appreciated. Thanks!
Trying to use it with the 2009 version, almost everything looks okay, except the stand animation, all the body parts seems discombobulated and they all meet up to join on the body, and then when I try to render-view, it says it can't see the material :O
I know its recommended 2010 but since I upgraded trial version to regular version, the animations stopped importing, PERIOD! so I can import/export but when I do, it doesnt move or act like its supposed to : /
HELP!?
When i run the new .M2 importer, it says:
"Syntax error: at dotNetControl, expected <rollout control> in line: local s"
Also, when i import a .M3 model, it says: "Import failed Unknown property. "count" in undefinied"
How can i fix it? Thank you.
PS: I am using 3DS MAX 8
When i hit export 3ds max crashes or freezes I think I did something wrong with the materials. Is it possible that someone here makes a little tutorial (with pictures or video maybe) how to set up a multilayer material with this starcraft 2 shaders?
I'm using cinema 4d and have only installed my 3ds max students version to export a .m3 so I've no idea what I'm doing here :D
I can't get the scripts to work..or the plug-in can someone help?
Well, it seems to me, that the Standard Material of my Version of 3ds max has no property called materialType and so the ExportScript is crashing while processing the materials, but I also don't know how to convert the Multimaterial and the Standard Bitmaps I have in to this SC2 Objects. Thanks for Help!
Export Model Version 1.6 = 495KB ( Including Animations )
Having some issues importing a particular model into 3DS max 10, its the flashlight from the campaign module (/Assets/Units/Terran/Flashlight/Flashlight.m3). When I try the script errors out with an undefined 'count' encountered. I can import all kinds of other models just not that one it seems. Also are there any plans to preserve the 'light's of these models? The reason I'm trying to import this particular model is so I can rip its 2nd light off of it and then put it back with just the one light intact that I want. I've tried importing a floodlight doodad to 3ds and then bring it back to galaxy editor but it loses its lights in the process.
I'm a complete 3D modeling newb so I don't even know if that light stuff is possible but I'm pretty certain this is the best shot at accomplishing my goals if it is.
@DarkNuke: I didn't realize it at first but you have to grab/scroll that toolbar down to reveal the import button, perhaps that's whats holding you up?
I can't get the max scripts to even run. I extracted the ones in the script folder into startup subfolder in max and the sc2 object file into plugins. I try running maxscript for both sc2_objects.ms and m3imports.ms and neither seem to do anything. Pointers?
oh and im running v1.8 of the scripts and i have 3ds max 2010 x64
mhm i have the same problems as ciigumigu. i using 3dsmax 2011 x64. is there a problem with the 64-bit versions of 3dsmax? i put all the script .ms in the scripts folder, but i see no m3-import/export option in the utility rollout
Tante Edit: don't know what you have done but now i can find the m3 import/export in the utility rollout with the new version. :) great work !!
great plugin! 哈哈哈哈 i like it
Are you sure it will not work with 3DS Max 5?
Are you positive it wont work with 3DS Max 5?
Yo tFighter, what you do is before you export your model you can tell it where the texture will be. Defaults are Assets/Textures i do believe but lets say for example you have your own names you wanna use. Anime/Textures. What that means is you will have a folder named Anime, and inside that a folder named textures. You put the texture in the textures folder. So when you import it into your map you have to have it just like that. Anime->textures->(heres your file). There cant be any folders before Anime or it wont pick it up. Hope that helps.
As asked before, where do I need to put the textures? I can export the model (and then import it to the WE) but it's all blank, even though I did import the textures. Is it ok that the textures are tga and not dds? Also, after I imported it to the WE, how do I actually use the model?
Ok, was using your scripts yesterday and the importer mostly worked, however i couldnt import the kerrigan.m3, so i got the kerrigan portrait.m3, a far better model and it did import. EDIT: found a way around earlier problems, the kerrigan.m3 still wont work though. The problem i had was the old animM3 object in the scene overrode the new one and i didnt know i was the old one.
I got everything to work for me but leg animations. When i export it and start a map with the model and start walking only the upper body animations for the walk animations do right, and the legs do nothing. Is there a specific sc2 attachment point you have to use for it?