Introduction
We will start by going over how Halo requires your folders to be structured for import.
Creation of an object directory
For the sake of organizing your asset files you should consider keeping all your source files in similar paths used to create the level (.blend, .tif, .psd, .jms, etc..).
Tool will search for subdirectories in the objects directory that contain the raw asset data for compilation and eventually package the resulting assets from the raw data into a map cache file that can run in Halo 3. Any assets that you compile will end up in the tags directory plus the local path to the raw assets in the data folder. For example the file below:
(H3EK Install Path)\data\objects\vehicle\example_vehi\render\example_vehi.JMS
has the compiled assets outputted to:
(H3EK Install Path)\tags\objects\vehicle\example_vehi
Let's first start by creating our very own custom object directory in the data folder. We'll call this object "new_
- In the root of your H3EK install find a folder named
data
. If it does not exist then, you likely haven't extracted the zip file properly. - In the
data
directory find a folder namedobjects
. If it does not exist then create it. - In the
objects
directory find a folder namedscenery
. If it does not exist then create it. - For our last step we will now create our first custom object in the
scenery
directory.
Your final path in Windows explorer should be something like this:
(H3EK Install Path)\data\objects\scenery\(Your Object Name Here)
Once this is done you may want to create new folders for any custom assets that are specifically for your object. An object will typically at least require a "render" folder for the render model, but they may also need:
bitmaps *
(H3EK Install Path)\data\objects\scenery\(Your Object Name Here)\bitmaps
- Like you probably already guessed this is where you will place your texture .tif/.tiff files to compile bitmaps tags from. Keep in mind that when we talk about bitmaps in Halo we are not talking about images with a .BMP extension. We are talking about a tag type called bitmaps that stores image data for use in Halo specifically.
render *
(H3EK Install Path)\data\objects\scenery\(Your Object Name Here)\render
- This
render
folder name is something Tool.exe specifically looks for when compiling object render meshes. Be sure that the folder is named exactly this. As you have probably already guessed this is where you will compile your object's render mesh from, into a .render_model tag.
- This
collision *
(H3EK Install Path)\data\objects\scenery\(Your Object Name Here)\collision
- This
collision
folder name is something Tool.exe specifically looks for when compiling object collison meshes. Be sure that the folder is named exactly this. As you have probably already guessed this is where you will compile your object's collision mesh from, into a .collision_model tag.
- This
physics *
(H3EK Install Path)\data\objects\scenery\(Your Object Name Here)\physics
- This
physics
folder name is something Tool.exe specifically looks for when compiling object physics meshes. Be sure that the folder is named exactly this. As you have probably already guessed this is where you will compile your object's physics mesh from, into a .physics_model tag.
- This
animations *
(H3EK Install Path)\data\objects\scenery\(Your Object Name Here)\animations
- This
animations
folder name is something Tool.exe specifically looks for when compiling object animations. Be sure that the folder is named exactly this. As you have probably already guessed this is where you will compile your object's animations from, into a .model_animation_ graph tag.
- This
As stated before compiled assets will end up in a path that mirrors the path of the raw asset but replacing the data directory with the tags directory. The output path is typically shown in the command prompt when Tool is finished compiling the data.
End of file directory info
Now that you fully understand the data directory setup we can begin to work on our custom model in the next section. If you already understand how Blender works then skip ahead to the modeling section. If you also already understand Halo object creation in Blender or wish to attempt importing something first then go ahead and skip over to the export section.
Acknowledgements
Thanks to the following individuals for their research or contributions to this topic:
- General_101 (Writing the level file directories guide)
- PepperMan (Writing this guide by converting General_
101's level file directories guide)