Reshaping Solids

From Valve Developer Community
Revision as of 20:43, 21 January 2019 by Kidnation (talk | contribs) (:P)
Jump to: navigation, search

Once you've created a simple, textured solid, you can use Hammer's tools for refining your work. These tools include vertex manipulation, face splitting, clip planes and carving. Each of these tools lets you customize your solids by modifying the basic shapes you started with. You will find that you can achieve the same or similar effect using different tools; some are just faster and easier than others when it comes to making the precise change you are trying to make.

Vertex Manipulation

Vertex manipulation allows you to move individual vertices and edges of a solid, easily creating irregular shapes. This lets you make shapes that are impossible with plane clipping, and extremely difficult to do with carving. Vertex manipulation is also useful for modifying specific pieces of a group of objects, where resizing would interfere with other objects in the group.

Note.png Note: While Vertex Manipulation makes the creation of new complex shapes easy, it also make the creation of invalid shapes easy. Remember that concave shapes are not valid within Hammer, also you must make sure all of your faces are perfectly flat planes, if they're bent (perhaps by moving one vertex irrespective of the others) then you'll get a nice malformed solid error.
Warning.png Warning: There are some important details about the tool not shown here. See the Hammer Vertex Tool article.

Vertices and Edges

A vertex (or plural, vertices) is a corner of a solid. Moving one vertex will not effect any other vertex, but it will change the position of any edges associated with it. An edge is a point between two vertices which, when moved, will change the position of its two associated vertices, as well as their associated edges (no other vertices are effected besides the first two).

Hammer vertexedit.jpg

To edit the vertices of an object:

  1. Select the object(s) you would like to use vertex manipulation on.
  2. Select the Vertex Tool from the Map Tools Toolbar. The selected solid will turn into a wireframe image with partial shading. Vertices will be marked as white dots, and edges as yellow dots.
  3. Click on the vertices/edges you want to move. They will be highlighted in red. Note that you can move both vertices and edges.
  4. You can either drag the selected vertices or edges with the mouse, or move them in the selected 2D view using the arrow keys.
Note.png Note: You can keep selecting the Vertex Tool, or press Shift+V, to cycle through the three vertex edit modes: vertices and edges (default), vertices only, and edges only.

Face Splitting

Face splitting allows you to add additional faces to a brush. This is a useful tool when you want to add complexity to an object in your level. Simply select two opposing edges (fig. 3) (Two opposing vertices on a flat plane work as well) and press Ctrl+F. This will turn the two edges into vertices, and place a new edge between them (fig.4).

Face splitting between opposing vertices can be extremely useful for fixing previously invalid solids with non-flat faces. A quadrilateral can be split into two triangles this way, but care must be taken that the resulting brush is not concave - the two new faces must not 'dip' in the middle.

Hammer facesplitting.jpg

While no longer as important since Source's introduction of displacements, vertex manipulation involving a great deal of face splitting used to be a very powerful, efficient way of building realistic terrain for the original Half-Life engine.

Vertex Scaling

Vertex scaling allows you to select a number of vertices and change their scale in relation to each other.

To scale a set a vertices on an object:

  1. Select the object(s) you would like to scale vertices on.
  2. Select the Vertex Tool from the Map Tools Toolbar. The selected solid will turn into a wireframe image with partial shading. Vertices will be marked as white dots, and edges as yellow dots.
  3. Click on the vertices/edges you want to scale. They will be highlighted in red.
  4. Press ALT+E to enter to bring up the Scale dialog box.
  5. Alter the center of the scale operation by clicking and dragging the white circle in the center of the vertex selection.
  6. Change the Scale value to alter the selected points. You can press the up or down arrows to move in 0.1 increments, or enter a scale value directly in the text area. The scale changes will automatically be reflected on the selected object.
  7. Press the Enter or ESC key when you are done scaling to close the Scale dialog box.

Hammer vertexscaling.jpg

Clip Planes

Clip planes let you make a precise cut in a solid, dividing it into two pieces. You then have the option of keeping one or both of the resulting two solids. You may find using Clip Planes quicker and more efficient than carving or vertex manipulation.

Hammer clipplanes.jpg

  1. Select the object to be clipped. (fig. 1)
  2. Select the Clip Plane button on the Map Tools toolbar.
    Note.png Note: You can cycle through the clip modes by clicking on the clip plane button, or by pressing Shift+X (fig.2, 3, 4). You can move both points of the clip line by holding CTRL and dragging one point of it.
  3. Drag a line across the selected object. (fig. 2) This is the clip line. The part of the object to be kept will be highlighted in thick white lines.
  4. When you are satisfied with the resulting object, press Enter to perform the clip. (fig. 5, 6)

Hammer has a feature to display the size of the solid area of the clipped brush. This is useful if you're trying to clip a brush to an exact size.

Hammer clipplanes2.jpg

To toggle this on and off, have a 2D view in focus and press the "o" (lowercase) hotkey.


In Hammer, any solid can be used to carve a volume out of other solids. For example, you can place a solid within the room's wall and tell Hammer to subtract the solid from the wall -- effectively punching a hole right through the wall! This feature is not limited to using cubic shapes as a carving tool: any solid -- cylinders, cubes and wedges -- can be used to carve other solids.

Carve may also be used as an alternative to the clipping tool, especially when working with off-grid solids, which the clipping tool may have issues with.

To carve objects from surrounding solids:

  1. In this step, you have the object you want to carve into (in green), and the object you will be carving with (in blue). The blue object should be selected.
  2. Position the carving object so that it is where you want the hole to be.
  3. Select Carve from the Tools Menu. You can also press CTRL+ Shift+C or the Carve button on the Map Operations toolbar.
  4. Either delete the object you used to make the carve, or use it to fill the hole. (For example, use the piece carved out of a doorway as the door.)
Carving with a simple block.

In the picture above, you can see that the green object is now broken into four separate objects. This is because the game engine cannot handle concave objects, and Hammer has broken it into convex pieces.

Warning.png Warning: The Carve operation will carve all objects that touch the selected carving object. Make sure that only objects that you wish to be affected touch the carving object.

"Do not carve"

Left: manual shaping. Right: carving.

Carve is not an efficient tool when used incorrectly, and it has become a standard saying that people should never try to carve with anything except rectangular blocks that are aligned to the grid. For example, trying to carve a cylindrical hole in a wall will horribly mangle the wall (see picture).

Tip.png Tip: Don't let general misconception scare you away from the tool! Carve is an efficient tool provided it is used in the correct circumstances. The clipping tool and carve tool go together as best friends.

Decimal Loss after Reload

A brush with severe decimal-loss issues.

Some brushes may have their vertices misaligned after reloading a map. However, these misaligned vertices are purely visual. The reason for this is that Hammer does not precisely read plane data, and suffers from decimal loss and rounding errors. The misalignments can be generally ignored, as VBSP does read plane data correctly and accurately. VBSP also snaps misaligned vertices (to a margin of ~0.03 units) back together.

Tip.png Tip: There is a modification to Hammer available that fixes this visual decimal loss issue, see HammerPatch. This does not affect the actual VMF which will be used!