Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save WillyMartin/a6ea6aeb0984d8f1a72e9e5ba8139778 to your computer and use it in GitHub Desktop.
Save WillyMartin/a6ea6aeb0984d8f1a72e9e5ba8139778 to your computer and use it in GitHub Desktop.
3DsMax to SE

Tutorial: 3DsMax to SE

This guide will focus on three things:

  1. Setting up the necessary environment.
  2. Texturing in 3DsMax.
  3. Exporting to a game-compatible format.

This guide will be using 3DsMax 2019, but what is done here should be doable in other versions of 3DsMax as well, albiet a bit differently. I will be assuming some familiarity with the programs involved.



Setting up the necessary environment

First off we need to set up an environment so texturing and exporting to game format will go smoothly.

Folder structure

I recommend setting up your folders in a very specific way. This is based on the method Shaostul describes in his tutorial video here The underlying idea is to keep the folder you work in and the resulting mod folder separate to reduce duplication of files and make the upload to the workshop easier.

Wherever you prefer, create a SE Modding folder. Within it, create the following structure:

models\MwmB\input\
models\MwmB\output\
models\Textures\Models\Cubes\
models\utility\
render\
textures\
tools\

I further strongly recommend you set up three shortcuts within this SE Modding folder: One pointing to the Space Engineers install directory, one pointing to the Space Engineers Mod SDK install directory and finally one pointing to the Space Engineers folder within AppData. I further also pinned the SE Modding folder to my quick access. All of this will make it significantly easier for you to navigate between the important folders.

Finally, also create a new folder within your [Space Engineers AppData folder]\Mods\-folder with the name of your mod. You will now be able to select this folder as a mod ingame.

Required tools

You will need the following tools to complete this guide.

  • Space Engineers Mod SDK (Steam > Library > Top left: Tools > Space Engineers Mod SDK). Download and install it.
  • Eikester's MwmBuilder You can find it here.
  • 3DsMax If you're a student, you can get the student version of all Autodesk software for free from their website.
  • Image Conversion Program I use Photoshop but any program that can automatically convert larger numbers of DDS textures of the SE format (BC7, most applications unfortunately do not support it) will work.

Place Eikester's MwmBuilder within the tools\-folder. Use this folder as an install directory for any other tools you may need specifically for SE. Now navigate to the models\MwmB\-folder and place this .bat file within it. Then open the file with a text editor and adjust the two paths within it. The first path should point to where you just placed Eikester's MwmBuilder. The second path should point to the Materials folder within your Space Engineers Mod SDK. Using this bat will automatically convert whatever is placed within the input folder to the game format and place it within the output folder.

You will also need the necessary material libraries for 3DsMax. These will allow you to very easily apply the correct textures to any vanilla object you import into 3DsMax as per default they will be completely black due to wrong texture references. You can find the material libraries for 3DsMax here. They were provided to me by D4DJ. Place this file within your models\utility\-folder.

Converting textures

In order for textures to be readable by 3DsMax, you will have to convert them to a format that is readable by 3DsMax. This is what you will need the image converter for. I won't go into detail on the process but you'll want to end up with the textures in either PSD or PNG format. JPEG will also work but likely be annoying due to missing transparency. Navigate to [Space Engineers install directory]\Content\Textures\Models\Cubes\. Within this folder you'll want to convert all textures containing _cm or _de. The remaining textures add additional information for the game's purposes but aren't really needed to be able to texture within 3DsMax. Place the converted textures within your [SE Modding]\models\Textures\Models\Cubes\-folder.

Texturing in 3DsMax

For texturing, the three tools I use the most in 3DsMax are: Material Explorer, Slate Editor and Compact Editor. These may differ depending on the 3DsMax version. Before we get to actual texturing though, we'll have to change the units 3DsMax uses from whatever is the default to meters. This will come in handy as all ingame measurements are based on meters: Large blocks are 2.5m x 2.5m x 2.5m and small blocks are 0.5m x 0.5m x 0.5m . The game also requires that measurement for models.

Next up you'll have to open the Slate Editor and import the material library. Open the SE_MULTIMAT, which contain most of the usually relevant textures. You'll find that the bitmap references are all wrong because they are still set up with the old paths. Unfortunately I haven't found a way but manually changing each bitmap path to the converted textures in your models\Textures\Models\Cubes\-folder. Once you have done this, be sure to save and then import the Refinery from the Space Engineers Mod SDK to test it. You'll find it in the [Space Engineers Mod SDK folder]\OriginalContent\Models\Cubes\large\-folder. You'll find that once you've imported it, the Refinery seems to point in the wrong direction. Its front is in fact the axis SE uses as its normal front, so bear that in mind when you create a new block: Always orient it to the correct axis before exporting. The Refinery will also be black. Drag your new SE_MULTIMAT onto it and apply to all. It should now be fully textured.

With 3DsMax now set up for SE, texturing will work as usual. I generally recommend parting up your model into subparts on a per-texture basis as this will now allow you to just apply the texture by selecting the corresponding subparts. What makes it even more streamlined is if you assign each SE texture a corresponding temp material in whatever other program you model in. Providing those texture coordinates are preserved when you transfer over to 3DsMax, this will allow you to use the Material Explorer to select all subparts with a certain temp material and apply the SE texture to it.

Exporting to a game-compatible format.

Once you've finished your model in 3DsMax, export it to FBX. Ensure you have selected meters as a unit. Place the FBX file in your models\-folder. But in order to provide SE with all the necessary information, that file is not enough. Download the example XML file here and place it with your exported FBX. Rename it to be the same as your exported FBX file name. Then open it up with a text editor. It currently contains a list of a bunch of the materials available in the multimat. Be sure to append any further texture you've used to this list in the same format. Now copy both of these files into the models\MwmB\input\-folder and start the .bat file. Within the output folder you should now see a .mwm file which can be read by the game.

Navigate to your mod's folder in the Space Engineers AppData folder. Within it, place your .mwm file in Models\ and whichever subfolder corresponds to the type of your block - refer to the structure within the [Space Engineers Mod SDK folder]\OriginalContent\Models\-folder.

Finally you will need another XML entry to make the game able to find your new model. Download this file and place it within your mod's Data\-folder. Then open it with a text editor and adjust all values in square brackets as well as enter its size.

Now you should be able to start your game, select your mod in the mods list, and find the block in your G menu. Note that you'll likely have to use the search bar to find it and that the icon may also just be empty or something along those lines.

I may expand this tutorial in the future to cover LODs, build stages, collision models and making icons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment