Home
Halo 2 Editing Kit Tutorial Prev Page Prev Page
Welcome
Introduction
About the Halo 2 Map Editor and its Tools
What's new in Halo 2 Editing
Technology Overview
The Halo 2 for Windows Vista Engine
System Requirements
Definitions & Terms
Definitions & Terms
The Development Environment
Map Editor Contents
Map Editor Installation
Additional Tools and Utilities
Development Tools Overview
.ass Exporter
Halo 2 Tool
Halo 2 Guerilla
Halo 2 Sapien
Halo 2 Map Editor Launcher
Using .ass Exporter
Using .ass Exporter
Using Halo 2 Sapien
Asset Manipulation Gizmo
Halo 2 Sapien Game Window
Halo 2 Sapien Menus
Placing Objects
Placing Lights
Spawn Zones
Decorator Brush
World Ruler
Reset Object Z Height
Gravity Lifts
Teleporters
Sound Effects
Kill Trigger Volumes
Adding Extra Vehicles & Turrets
Game Types
Game Types
Assault
Capture The Flag
Juggernaut
King of the Hill
Oddball
Slayer
Territories
Using Halo 2 Guerilla
Sky Boxes
Sky Light Values
Starting Equipment
The Object Palette
Description Text
Location Text
Map Shots
Using Halo 2 Map Editor Launcher
Using Halo 2 Map Editor Launcher
Halo 2 Tool Level Creation
Halo 2 Level Creation
Import Structure
Generate Lightmaps
Import Descriptions
Creating Unicode Strings
Building Cache Files
Halo 2 Tool Texture Creation
Import Bitmaps
General Level Design Information
Design Style Guidelines
Technical Design Rules
Design Suggestions
Player Statistics and Metrics
Equipment List
Weapons
Vehicles
Multiplayer Level Design
Getting Started
Tutorial 1: Creating an Environment in 3ds Max
Tutorial 2: Exporting an Environment from 3ds Max
Tutorial 3: Importing an Environment to Tag Format
Tutorial 4: Placing Spawn Points Using Halo 2Sapien
Tutorial 5: Creating and Editing Environment Tags Using Halo 2 Guerilla
Tutorial 6: Synching Tags and Launching into the Game Environment
Portals
Additional Resources
Links
Console Command List
File Specifications
.ass File Specification
Credits
Appendix
Sample .ass file

Tutorial 1: Creating an Environment in 3ds Max

Previous Topic  Next Topic 

1.      Start 3ds Max.

2.      Create an object that will become your environment.

To keep things very simple, you will draw one large box, the inside of which will constitute the environment. For the most part, this is how all environments start out—with simple shapes that are connected together and cut up to create larger and more complex shapes.

On the right-hand side of the toolbar, click the
Create tab, and then click the Geometry icon (the third icon below the Create tab).

3.      Click the Box button in the Object Type rollout, and then switch to Perspective view by clicking it on the viewport. (if you don’t see it on the viewport, press the P key).

4.      Draw a box somewhere in the workspace. It can be any dimensions you want—you will resize it later.

5.      Move the box so it is centered on all axes.

On the toolbar that spans the top section of the Max pane, click the
Move tool.

With the Move tool selected, you should see the Move Gizmo appear in the center of your box. Ignore it for now, and look at the lower-center portion of the Max pane.

In the X, Y, and Z boxes, change the number in each to 0. This will center your box on each of the axes.

6.      Remember that 100 Max units = 1 world unit in the Halo 2 game engine. For this environment, you will make the box bigger than just 1 world unit so the player has some room to run around (Master Chief is just a bit short of 1 world unit tall).

Click the
Modify tab on the right-hand side of the toolbar, change the Length and Width values in the Parameters rollout to 2,000, and then change the Height value to 1,000.

Your map is now 20 world units long and wide (square) by 10 world units tall. To center your map on the screen, you can drag the
Zoom Extents button in the lower-right corner.

7.      Now that you have your basic environment geometry, you need to create a frame node. This is an object that controls where the origin of your game world is and which objects within the max file get exported. You’ll be linking objects to this frame node, and anything unlinked is not exported later on.

Click the Sphere button, and then click and drag to create a sphere in the main work area. It doesn’t matter where it is at this point—you will move it later.

8.      Select the sphere, expand the Name and Color rollout on the right-hand side of the toolbox (if it is expanded by default, you may skip this step), and then click the text box and type b_levelroot as your sphere object’s name.

You must follow this naming convention because the Halo 2 game engine uses this name when the file is exported. If you don't name the frame node correctly, the environment will not be oriented correctly in the game. There are several different reserved names, but b_levelroot is a typical one. Object and material names are important in Halo 2 editing, so get used to paying attention to this and understanding what the different keys are.

9.      Just like you did with your box, move the frame node somewhere appropriate. Most levels put this at 0,0,0, but you can also place it somewhere off to the side, out of the way. It's important not to move it later, or you might discover all your player and weapon spawns move along with it! With the frame node object selected, click the Move button.

Click the Move button with the frame node object selected, and then c
hange the coordinates for X, Y, and Z (found at the lower-center of the Max pane) to 0,0,0.

10. With both of your objects positioned correctly, you need to link them together.
Click your box to select it (if you can't see it, use the
Select by Name button located to the left of the Move button), click the Select and Link button located in the upper-left corner of the Max pane, and then click the Select by Name button.

The Select Parent dialog box appears (if not, go back and repeat the selection process above). In the Select Parent dialog box, click the name of your frame node, and then click the
Link button.

Your frame node and your box are now linked together as one object.

11. Right-click the object, and then select Convert to -> Convert to Editable Poly.

This will convert the box into a group of editable faces, vertices, polygons, edges, and elements. You need it in this state so you can assign different material types to different parts of the object.

12. Once you've converted to an editable mesh, the information under the Modify tab on the toolbar changes. You can now select and work on a specific part of your box.

To try this, find the Selection rollout. If it is closed. click the Polygon button.

13. Until now, we've done all the work to our environment on its outside. When we launch the map in the game engine, we want to be inside the box (environment). In the Max pane, if you zoom in on your object until you're inside the box, you'll notice all the "walls" disappear. This is because all parts of an image being rendered have pieces of data attached to them called normals. Normals tell 3ds Max (and the game engine) which direction a piece of data is "facing." If you look at that data from the opposite side of the normals, the data won't be rendered (visible) on the screen. In the Max pane, normals (when visible) are represented by small blue lines that point in the direction from which an object will be visible. So, for our box environment to work correctly, we need to turn the normals outside-in, or invert them.

In the Max pane, c
lick and drag a selection box around your entire object. All polygons should turn red after you select them.

Note: Be sure the top and bottom are also selected.


Tip: To rotate your camera around an object, hold down the ALT key + the middle mouse button, and then move the mouse to rotate your view. If you want to move the camera for a better view of your object, hold down the middle mouse button and drag. To zoom in or out, scroll the middle mouse button.

14. In the Edit Polygons rollout, click the Flipbutton.

You can see through the outside walls closest to you because the normals are facing inward. If you zoom in on the object until you are inside of it, you'll be able to see all of the walls.

15. To create a material for your level to use, begin by pressing the M key to display the Material Editor.

You'll see a pane of spheres, the sphere in the upper-left corner will be selected. A Halo 2 level typically uses a few
multi sub-object materials to organize its textures, so create one now following the next step.

16. On the right-hand side, just below the grid of spheres, click the Standard button (a list of material types will appear), click Multi/Sub-Object, and then click Okay.

17. To the message asking what you want to do with the old material, because there is nothing special in this slot, click Discard, and then click Okay.

18. You will now have a material with a list of other materials displayed in the lower half of the window. These are all submaterials, and they are what you will apply to the level. The ID number column to the left of the material names indicates the number you will be setting on your polygon surfaces to tell them what material to use.

First, though, name your multi/sub-object material. Click the drop-down list just below the grid of spheres (it will show a name such as 01-Default), and then type a new name. For this example, type My Material.

19. To specify a few materials for your level to use, begin by clicking the gray bar containing the submaterial's name next to ID 1.

The properties of that particular submaterial will appear. From here, you can change the submaterial's name, set a color for it, and more. For example, make this material the sky, so click the material's name field just below the grid of spheres (to the left of the Standard button), and then change the text to read +sky. That's now this submaterial's new name.

20. To distinguish this from our other materials, set a color, as well, by clicking. the gray square next to Diffuse on the left-hand side of the window, clicking a bluish color, and the clicking Okay.

You will see a blue sphere displayed on your grid, and your material should will be called +sky.

21. Click the down arrow next to the submaterial's name to display a small list.

This list will now display +sky just below My Material, because +sky is a submaterial of My Material. To return to the list of submaterials, click My Material on the list.

Using this drop down list and clicking the material's name in the submaterial list is how you navigate back and forth.

22. To now create a floor texture, click the submaterial's name next to ID 2.

Just like before, edit the material's name, but this time use an existing Halo 2 texture. Type f_im flat_light_scratchy as the material's name. When you export your level, the exporter looks at these material names and matches them to .shader files, and this name is telling it to use flat_light_scratchy, located in the f_im collection. This is a light-gray metal texture, so set Diffuse to a light-gray shade for now.

Navigate back to My Material using the drop-down list, and you're now finished creating your level's material. You can continue to add new materials to the list exactly like you did here, and you can add additional slots by clicking the Add button if you run out.

23. Now, you need to actually assign your material to your level geometry. In your Perspective viewport, select your box. To disable your sub-object selection, click Editable Poly in the list, or deselect the Polygon button under the Selection rollout.

24. With your object selected, press the Assign Material to Selection button in the Materials pane.

Your object will change color (probably to blue, the color of your +sky material. If it didn't, ensure you don't have any sub-object selection enabled—none of the buttons under
Selection rollout should be highlighted.

25. Now, you need to make sure the different faces on your object have appropriate materials.

With your box selected, click the
Polygon button again under the Selection rollout, click the Modify tab, and then click the Polygon Properties rollout to expand it if it isn’t already expanded (you may need to collapse one of the other rollouts or scroll down).

26. The Polygon Properties rollout has a section called Material. You need to set the material ID numbers for some of the faces of your box so that you can assign different material types to them (otherwise you’d only be able to assign one material to the whole box). In particular, you need to have one material type for the floor of your environment and a different material for the sky box (which is made up of all of the sides of the box). So, you will use the two materials you just specified: +sky and f_im flat_light_scratchy.

Click and drag in the workspace to make a selection box around the ceiling and three walls of your box (but not the floor). They will turn red when they are selected.

27. Click the Set ID box, and then type a 1.

This assigns all of the polygons you have selected a Material ID of 1. Remember, this was the ID number of your sky submaterial. When deselected, these faces should be the blue color you selected.

28. Next, click the bottom of your box to select the floor.

It will turn red, and the other polygons of your object will go back to their appropriate material color.

29. Click the Set ID box, and then type a 2.

This assigns your floor polygon a Material ID of 2. Now you have a box with the sides and ceiling set to an ID of 1 and the floor set to an ID of 2. If you recall, an ID of 2 is what you set your floor texture to: f_im flat_light_scratchy.

30. To map the floor, select UVW Map in the Modifier list, change the U Tile and V Tile values to 5 in the UVW Map rollout, right-click UVW Mapping where it’s displayed above Editable Poly, select Collapse To, and then click Okay.

31. At this point, your level is ready for export. You've created level geometry and linked it to a b_levelroot object. You've created a multi/sub-object material, assigned names to its submaterials, and then assigned that material to your level object and set IDs on its surfaces. Eventually, you'll want to actually map materials properly onto surfaces (learn to use the UVW Map and UVW Unwrap modifiers).

32. It's finally time to save your environment.

Click Save on the File menu, type mylevel in the File Name box, and then click Save to save your environment in the data/scenarios/multi/mylevel/structure folder.

Important: The location you choose to save your file is critical because the Tags directory mirrors the directory structure of the Data directory. So, when you import your files into the game, Halo 2 Tool and Halo 2 Guerilla look in very specific locations for the files. Typically, you'll want to save your level in the data/scenarios/multi folder. Browse there and create a new folder called mylevel, open that new folder, and then create another new folder called structure.