Prototyping Unreal Engine 5: Level Blockouts

Learn how to do level prototyping for Unreal Engine 5, using blockouts and Blueprints to define basic gameplay. By Ricardo Santos.

Leave a rating/review
Download materials
Save for later
Share
You are currently viewing page 2 of 4 of this article. Click here to view the first page.

Combining Geometry Elements: Boolean Operations

Modeling Mode is useful not only for creating geometry but also for performing operations and transformations as well. Select the two geometry elements that make up the house. In the Transform tab of the palette, select the Align operation.

Align operation from the Transform tab

In the tool properties, check the boxes Align X and Align Y, and verify Align Z remains unchecked.

Properties of the Align operation

This maintains the Z coordinate for the roof and aligns the remaining ones, putting the geometry in the correct position.

Another interesting option in the Align control is the Align To dropdown box, used to determine the reference coordinate set. It can be the first selected element, the last selected element or the middle point between the two objects.

Click Accept to confirm the changes.

House with the elements aligned

As aligned as the geometry is, it’s still two objects that can move independently from each other. To remedy that, you’ll use Boolean operations, one of the most powerful items in your toolbox. In the PolyModel tab of the palette, select MshBool.

Boolean operation selected

The properties offer a few different Boolean operations to choose from:

  • Difference A-B: By selecting this operation, you’ll subtract the second selected object from the first. It only works if the second selected object intersects the first one, creating a hole in the first selected object.
  • Difference B-A: The same as above, but reverses the order of the objects in which the operation is performed.
  • Intersection: The resulting object is the geometry both objects have in common — the volume in which the objects intersect one another.
  • Union: The union of both objects.

For creating the house, select Union and click Accept. The house is a single object, and now the engine will treat it as such.

The result of the union of both house objects

Notice the Materials of the objects in the figure above and in your project. See how the size of the checkered pattern isn’t uniform throughout the object? This is because the scale factor you applied to the house roof wasn’t applied to the house’s base.

Remember: At this point, your main concern is to define the volumes of your level, so the texture isn’t important, but this result just looks bad. Don’t worry — you’ll change this in the next section. But first, a few more words about level design.

Some Notes on Level Design

At this stage of game development, your only interest is in defining the level volumes and how the player will navigate them. Thus, you’re determining the gameplay that serves as a base for the artists to create the level art.

For that matter, your prototype should convey where the level takes place, its objective and the location of level elements such as pain volumes, kill zones, healing points and powerups. Being able to quickly change these level elements — adding or removing them at will — allows you to fine-tune the gameplay.

Defining Metrics

One of the points to test is that all level geometry should enable the players to perform the actions they need. Doors should allow the characters to pass through them, even if they need to crouch or go prone. It should be possible to jump across gaps, lines of sight shouldn’t be broken, etc.

Note: Or, depending on the experience you want, maybe the character shouldn’t be able to do any of that.

These elements depend on metrics: How far can the character jump? How tall or wide is the character? How far can the character see? By being able to rapidly create, remove or modify elements, you’ll be able to define how the player interacts with the game and determine these metrics.

Teaching Gameplay

One of the main points of good level design is to teach how to play the game, as Miyamoto explains while talking about World 1-1 from the original Super Mario Bros. game. The players should navigate the level and understand how the game works — visualizing objectives, hazards and points of interest.

Now, have a good look at your level in the editor screen and notice there’s no way to see where the character should go. All the geometry has the same Material, apart from the newly created house in the middle of the courtyard.

To create Materials for your scene prototype, use the default texture M_PrototypeGrid, found by going into the Content Drawer tab and navigating to All ▸ Content ▸ LevelPrototyping ▸ Materials.

The location of the M_PrototypeGrid Material

Right-click the Material icon and select Create Material Instance from the menu. Name the new Material M_Prototype_Grid_Walkable. Repeat the same procedure and name the new Material M_Prototype_Grid_Static.

Creating a Material Instance

After you finish this process, your Materials list should look like this:

Result of adding Materials to the asset list

A Material instance is a new Material that inherits the characteristics of a base Material, but can be changed independently. One of these Materials will represent the surfaces over which the player can walk. The other will represent scenery elements not meant for the player to interact with.

To highlight the surfaces the player can interact with, M_Prototype_Grid_Walkable should be lighter than M_Prototype_Grid_Static.

Double-click the M_Prototype_Grid_Walkable icon in the content browser and wait for the Material Editor to appear. On the right side of the window, under the Details tab, check the SurfaceColor box under the Surface Properties group.

Now, click the color select box of SurfaceColor and set the text box Hex Linear to C2C2C2FF. And, voilá — you have the same Material but in a lighter color. Save your edits by clicking the floppy disk in the upper-left corner of the Material Editor, and then close the Material Editor.

Changing the walkable Material color

For the static Material, repeat the same process — just set the Hex Linear value to 212121FF.

Now, you’re ready to use these Materials in your scene. Drag and drop the M_Prototype_Grid_Static Material on the castle wall and the scene floor. Then, apply M_Prototype_Grid_Walkable to the parapet walkway and the house. Your scene should look like this now:

The viewport with the Materials applied to the level geometry

Notice how much clearer the scene got. The lighter surfaces are where the players can walk and use them to form their path in the level. The darker shaded elements just fade into the background and don’t attract as much attention.

Now you’re living in a Material world, and this is a Material scene. The character is living in a Material scene, and the player is a Material person.