Model Importing

This page will go over how to make a custom model for Super Mario 3D Land.

Basics
Before we start this tutorial, you are required to have the SDK files aswell as Maya, 3DSMax or Softimage in order to follow this tutorial. If you would like to follow a video use this video. This tutorial will be using Maya, however it is also possible to use 3DSMax and Softimage if need be.

Steps to follow:

 * 1) Export your model in either OBJ, DAE or FBX or any file format Maya has compatibility towards.
 * 2) Now open up Maya with your SDK plugin installed and import your model. (You may need to increase clipping if you can't see your model)
 * 3) If you know how to configure materials and lighting then skip this step but if you don't then disable fragment lighting by going to Windows -> Rendering Editors -> Hypershade and highlighting all materials and unticking fragment lighting.
 * 4) Now you can export your model as CMDL. You may also find it handy to export it as OBJ so that you can check the position of your model in The4thDimension.

BCMDL exporting
You will now need to open up specific SDK tools in order to open your CMDL and export as a BCMDL file.

Model importer
This part assumes that you have set up The4thDimension, however if you haven't then go here. (sends to level editing page)
 * 1) Go to Tools -> Model importer and open up your BCMDL.
 * 2) Set the clipping radius to a relatively normal number so it appears in game
 * 3) Click on Generate now(CollisionMng)and once the octrees have generated, you can either hold enter or input the coliision codes into their respective sections.
 * 4) Click on the Generate SZS button.

CreatorClassNameTable setup

 * 1) Go to Tools -> CreatorClassNameTable editor
 * 2) On Object name, type the name of the object which you are trying to add.
 * 3) Click save

Miscellaneous
Models, textures and animations can be exported using Spica.

Configuring Lights and Materials
Fork of EveryFileExplorer which adds support for exporting material settings.

The game makes use of 2 Lookup Tables which can be used to preview materials more accurately in SDK:

Lookup Table used for stage lighting

Lookup Table used for object lighting

If the lookup table is to be used externally (which is mostly the case for objects in 3DL but not for stage models), you have to delete it before exporting the binary model file to prevent the lighting from getting twice as strong. In that case the lookup table is mainly used to be referenced in the material's fragment shader settings.