Blender is a free and open-source 3D modeling, animating, and rendering toolset. It's now widely used for Halo modding workflows, which traditionally relied on 3ds Max. With community-made plugins like Halo Asset Blender Development Toolset and Foundry you can export the source data formats needed to create tags.

Note that older pre-2.8 versions of Blender are completely unsupported. Community plugins are regularly updated and track modern versions of Blender. Be sure to regularly update Blender and your plugins to get new features and bug fixes.

Learning resources

Blender has far more capabilities than we need for just Halo modding. You will mostly just need to learn polygon modeling, basic materials, UV unwrapping, rigging, or animation depending on your goals.

Usage basics

Modes

In the upper-left of the viewport you'll see a drop-down menu labeled "Object Mode". This is the mode selector. In different interaction modes, the actions and operations you can perform in the viewport change or have different effects. The two main modes you'll use are:

  • Object Mode: Allows for the selection of whole objects, adding new objects, and changing their transforms (moving, scaling, rotating).
  • Edit Mode: Used to edit the geometry within a selected object, like adding new faces, moving vertices, and UV unwrapping.

You can quickly toggle back and forth between these modes using Tab.

Moving the camera

By default, Blender's camera rotates around an invisible central "focus point", which is ideal for working on 3D models which need to be rotated and looked at from different angles. In this mode, you can use the following controls:

  • Rotating: Hold Middle mouse and move the mouse
  • Panning: Hold Ctrl + Middle mouse and move the mouse
  • Move in/out: Scroll wheel or Shift + Shift + Middle mouse while moving the mouse forward/back
  • Move focus point to selection: /

To move the focus point, rotate the camera to an angle perpendicular to the direction of travel then use panning to center over the desired area. You can also press the / key to center on a selection. If you are finding this mode of camera travel difficult to get used to, you may prefer the temporary flying camera mode by pressing Shift + ` (tilde) then using W, A, S, D keys, then clicking to finish.

Axis-aligned orthographic views can be viewed by pressing ` (tilde) then clicking the desired direction. Return to the perspective camera by simply rotating the view with Middle mouse button again.

Adding geometry

How geometry is added depends on your mode.

In object mode, you can use Add > Mesh and select an object type. This creates a new object in your scene.

If you've selected an object and switch to edit mode, you can also use the Add menu to add new meshes to the current object. This is different from the above because the new mesh will not be its own object, but rather the faces are included in the currently edited object.

Applying transforms

For levels it's recommended to apply any transforms present on your level geometry object and frame. Users have reported issues with level size when the object itself has been scaled rather than the vertices within it. Applying transforms will ensure the object is located at the origin and scaled to 1 in each axis.

Parenting objects

Hold Ctrl and click objects in the viewport or outliner to multi-select. The last object you selected is considered the active object (highlighted yellow) and will be the parent of all other objects you have selected (highlighted orange) when parenting to object.

Workspace

The workspace presets along the top of the window customize Blender's arrangement of editors for typical tasks like modeling, UV editing, and animation. For example, choosing the Modeling workspace will hide the timeline which would simplify the experience if you're just making a level. You're not limited to the layouts and available editors of the built-in workspaces; any workspace's areas can be customized and set to different editor types.

Workspaces are found at the top of Blender's window.

Settings

Clip start and end

Most 3D renderers have a minimum and maximum viewing distance, called the clipping range. Anything outside this range will be clipped (not visible). This is done to avoid Z-fighting since the depth buffer only has limited precision. As an example, H1's default range is 0.0625 to 1024 world units.

Blender's viewport is no different and has a configurable clipping range. However, JMS units are 100x world units so the scale at which Halo levels are modeled is quite large -- outdoor spaces like Bloodgulch are upwards of 10,000 Blender meters across. By default Blender scenes only have a viewport clipping range of 0.01 m to 1000 m so parts of your model may be cut off when zooming out to large scales.

Blender's clipping distances can be adjusted in the View settings pane (press N and select the View tab). A x100 range of 1 m to 100 000 m in Blender is roughly equivalent to Halo's. Remember, the greater the range between the start and end clipping distances, the more Z-fighting you'll get in the viewport, so don't just set the end distance to some huge number. The exception is when working on H1 skybox models, which are modeled at very large scales and need higher start and end distances.

Note that each workspace has its own clip settings.

For level modeling it's important to configure clip distances instead of just using using world units export scale in the Halo Asset Blender Development Toolset. Scaling vertex coordinates during export can amplify floating point imprecisions and increase the likelihood of "nearly coplanar face" warnings from Tool and potentially cause phantom BSP.

Backface culling

This option will render the geometry transparent when viewed from the opposite side of the face normal. It only applies to Solid viewport shading. When using Rendered or Material Preview you need to enable backface culling in each material's properties as desired.

Find backface culling in the viewport shading options menu

Normals overlay

This option will render lines coming out the center of the face to indicate the direction it's pointing. It will only be available to you if you are in edit mode for the object you wish to examine. It's recommended to set the size about 100 to make it easier to see.

Find normals in the viewport overlay options menu

Undo count

Consider increasing the number of edits you can undo in Blender by changing the setting in Edit > Preferences. Be aware that increasing this setting will use up more of your system RAM, so keep the value reasonable.

Set the undo steps in the Blender Preferences window.

Startup file

Did you know you can change the default Blender scene? Make changes like setting the clipping range, deleting any unwanted objects, creating materials, or other common steps for your typical workflow then use File > Defaults > Save Startup File. All new scenes will start in this state.

Unit measurement

All units given in this site's guides expect that your Blender instance is set to use metric units, which is the default, so if you haven't changed this then it's likely already set to metric. For Halo's purposes we will not be taking this unit literally; a length of "70m" is just 70 JMS units (the height of the player when standing) which you can convert to real-world units here.

Units are found under the Scene Properties tab.

External tutorials

If you prefer video tutorials for some of the above operations, see the series by General_101:

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • General_101 (Writing this guide)
  • PepperMan (Editing)