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.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of JKSLU JKSLU Oct 17, 2013 at 11:46 UTC - 0 likes

    This is really cool!

  • Avatar of DarcZaFire DarcZaFire Oct 12, 2013 at 09:49 UTC - 0 likes

    please remove the old versions? this only allows for confusion.. I installed/downloaded the other one you made in 2010 because a more experienced editor, Wade/Vindicator, passed me a link to it.

    Do I install this one??? or am I doing something else wrong when importing? Getting an

    Error!! Unable to convert: undefined to type: String

    when I try to import. Please eliminate a fellow editors chances of failing by removing faulty version of your importer/exporter. :) thank you.

    "You either are doing it, or you are not": Me

    Team Genesis: Founder/Leader Skype: Grasso2012 or Add me in-game 558

  • Avatar of ragadozo444 ragadozo444 Oct 11, 2013 at 13:10 UTC - 0 likes

    Which version is works for you?

    Last edited Oct 11, 2013 by ragadozo444
  • Avatar of zaysite zaysite Sep 26, 2013 at 11:47 UTC - 0 likes

    Just as a note i was having trouble with your newest version of sc2_objects.ms
    i get an unknown position error when SC2ArtTools is also installed
    The error seems to occur because of the Ribbon Support.
    Once i changed to an older version it worked fine

  • Avatar of dyzdyz010 dyzdyz010 Jul 05, 2013 at 06:56 UTC - 0 likes

    I used the plugin on 3dx max 2012 x64, it comes out an error: cannot convert 'true' to 'float'. What's that?

  • Avatar of Cardanis Cardanis May 12, 2013 at 04:52 UTC - 0 likes

    So I'm having trouble importing HOTS models with this. I noticed people saying the format changed with hots, and that's what's causing it. Is there an update being worked on to fix this at all? Thanks so much for all the awesome work!

  • Avatar of keytodcmbr keytodcmbr Apr 24, 2013 at 10:15 UTC - 0 likes

    It is a fan-project for me and my friends, so it is perfectly legal. :)

    Making this game is similar to this situation: you export model to 3ds Max, make a hires render, print it and put this poster on your room wall.

    I`ve relialized how team color works, but it will be cool if you answer me about effects.

  • Avatar of Leruster Leruster Apr 24, 2013 at 09:43 UTC - 0 likes

    I'm not sure if what you're planning to do is perfectly legal :)

    That's my answer to your questions.

  • Avatar of keytodcmbr keytodcmbr Apr 24, 2013 at 07:44 UTC - 0 likes

    Hi guys! I and my team are creating small Unity3d fan-game, with sc2 models. Basically it is a copy of Desert Strike map for iPad. Your import library is really cool and very useful for me: I`m import m3 files to 3ds Max, export them to fbx and then import to Unity 3d engine, but i have few questions:

    1. EFFECTS. I need to work with some effects such as Hellion beam, Banshee missile tail (long line of smoke) and other. And i can`t realize how get it from sc2 files. I have no problems with missiles, Marine and Reaper guns fire (i`m import it to 3ds Max, export it with animations, set the textures and all works well ). But for Hellion beam i have problems: i have no anims and materials after importing m3 to 3dsMax. So, what should i do with such effects?

    2. TEAM COLOUR. after importing m3 unit model to 3dsmax i see in materials editor "team colour", i can set it, render, adn some parts of model takes my colour. I thought that you use texture with alpha-channel to paint part of mesh to colour, but I can`t find it. So, i want my units in Unity to be colored and want to know how unit coloring works, and how can i export coloring to Unity?

    —— Alex

    Last edited Apr 24, 2013 by keytodcmbr
  • Avatar of gamemore gamemore Apr 02, 2013 at 21:34 UTC - 0 likes

    3ds max 2013 came out after this asset was release

    Marine Protocol
    Post a comment in the Marine Protocol Forum

Facts

Date created
Apr 30, 2010
Categories
Last update
Dec 23, 2012
Development stage
Beta
License
All Rights Reserved
Downloads
26,619
Recent files

Authors