Brush Geometry & Blockout
Geometry brushes are the most basic tool for level construction in idStudio. They serve as a means of filling and carving out volumes of space within your level. In essence, geometry brushes allow you to create basic shapes to be used permanently or as temporary fixtures for testing purposes during the level design process.
While static meshes are generally considered the primary building block for level design, geometry brushes still offer value in blocking out a level, especially for those without access to 3D modeling tools. This section comprehensively covers the usage of geometry brushes.
Uses for Geometry Brushes
While static meshes are often used to populate maps with geometry, geometry brushes still have their place. Here are some of the typical uses of brushes:
Blocking Out Levels
The first step is to block out the level to figure out the layout and flow before putting any time into populating the level with static meshes and other finished art assets. This is usually done using geometry brushes to create a shell for the level that you are happy with.
Simple Filler Geometry
As you design your map, you may encounter a situation where you need a fairly simple piece of geometry to fill in a gap or space. If no existing static mesh will fill the space, instead creating custom mesh, you can simply use geometry brushes to fill the space.
Drawing Brushes
Drawing brushes in idStudio is quite straightforward. Simply Left-click+Drag anywhere in the 2D World Editor.
Use the Change Views button to view the brush from a different axis.
For a detailed walkthrough of creating basic brush geometry in a new map, see: Build A Simple Box Map
Add Material to a Brush
In World Camera, press Ctrl+Shift+Left-click to select a brush surface. Then select a material in Asset Browser and click to apply it to the selected surface.
For better performance, we recommend applying Shadowcaster (material2/tile/common/shadowcaster) to all unseen/exterior faces of a brush. This material prevents a lightmap from being rendered for those surfaces.
Keyboard Commands for Brushes
| Command | Key | Description |
|---|---|---|
| Select | Shift+Left-click | Select a primitive at the cursor. |
| Deselect All | ESC | Deselect the currently selected brush(es). |
| Delete | Backspace | Delete the currently selected brush(es). |
| Resize | Left-click+Drag outside a selected brush | Resize the brush in the direction of the mouse drag. |
| Select Surface | Ctrl+Shift+Left-click | |
| Select Multiple | Shift+Left-click | |
| Move Selection Only (No Resizing) | Ctrl+Q | Move selection only (no resizing). |
| Clone Selection | Space | Clone (duplicate) the current selection. |
| Toggle Dimensions | Shift+Q | Toggle the display of dimensions and coordinates on a brush. |
| Marquee Select | Alt+Left-click+Drag | Selects everything within the dragged box. |
| Marquee Deselect | Ctrl+Alt+Left-click+Drag | Deselects everything within the dragged box. |
| Edges | Ctrl+E | Select edges. |
| Vertices | V | Select vertices. |
| Drop Bounds to Ground | Shift+D | Drop selected to the ground using the primitive's bounds. |
| Change Views (On Axis) | Ctrl+Tab (Or toolbar button) | Switch between X, Y, and Z views of the brush. |
| X-Axis Rotate | Ctrl+Shift+X (Or toolbar button) | Rotate selected primitives along the X-axis. |
| Y-Axis Rotate | Ctrl+Shift+Y (Or toolbar button) | Rotate selected primitives along the Y-axis. |
| Z-Axis Rotate | Ctrl+Shift+Z (Or toolbar button) | Rotate selected primitives along the Z-axis. |
| Flip | X|X Y|Y Z|Z buttons in toolbar | Create a mirror image of the selected primitive along the X, Y, or Z axis. |
Map Blockout
The first step in level design is blocking out a playable level using simple geometry primitives called brushes.
Before you start:
To ensure success in your blockout, we highly recommend starting with Build a Simple Box Map.
This tutorial will guide you through the basics of creating brush geometry, controlling the 3D world camera, adding lighting, and setting up a player start.
Blocking out a map is an iterative process that involves a lot of brush manipulation. If you have completed the Build a Simple Box Map tutorial, then you should already be familiar with how to add, select, move, resize, clone, texture and remove brushes.
Using the Grid
idStudio provides a grid that will help you align entities and primitives. With the grid turned on, new brushes will snap to the grid automatically. You can snap any selected entity to the grid using Ctrl+G. Grids will help you keep your brushes aligned.
For more information, see: World Editor Grid
Adding Basic Elements to Your Map
The design of your map is important for creating challenging and engaging environments, with obstacles and puzzles that require the player to think creatively and use their skills to overcome. Begin this process by creating a layout, adding terrain and a skybox, adding interactive elements, etc.
For more information, see: Map Building Blocks
Gameplay Mechanics
Additional gameplay should be added and tested before too much time is spent beautifying a level. Adding a new gameplay element frequently breaks how a map plays. You will have to make a lot of edits before settling on a fun map. Avoid wasted time and simplify your work by completely roughing out the gameplay in your map before moving on to environment design.
For more information, see: Creating Immersive Interactive Gameplay