Hammer Face Edit Disps

From Valve Developer Community
Jump to navigation Jump to search
English (en)Русский (ru)Translate (Translate)
A displacement surface.

Selecting the Texture Application Tool brings up the Face Edit Sheet dialog box. The Displacement tab contains tools to create and edit displacement geometry. The Materials tab contains tools that are used to edit texture properties of objects on a per face level. See Face Edit, Materials.

Displacement geometry consists of brush surfaces that have been converted to a triangle mesh of faces that can be freely distorted and sculpted into various shapes. The primary intended function for displacement surfaces is to create terrain -- hills, valleys, trenches, slopes, etc. Nonetheless, they are sometimes used for flat surfaces, due to their support for blended textures.

Displacement tab

The Face Edit dialog is used for editing displacements.

The Displacement tab in the Face Edit dialog allows you to create and manipulate the displacement surfaces on the selected brush faces. To select a brush face, click on it in the 3D view with the left mouse button. To select multiple faces, hold down the CTRL key while you do this. You can also select multiple brushes before selecting the Texture Application tool.

There are a number of tools available in Face Edit Displacements tab, described below.

Select

The tool used to select brush and displacement faces for editing. CTRL-click to add faces to the selection, and SHIFT-click a brush to invert the selection of all faces on the brush.

Create

The options for Power - the displacement resolution.

Create a new displacement surface on the selected brush faces. Displacements come in three levels of resolution: 2, 3, or 4. This image shows the levels of displacement resolution.

The resolutions ( or powers of 2):

  • 2 - creates 4 divisions along each face edge ( 2^2 )
  • 3 - creates 8 divisions along each face edge ( 2^3 )
  • 4 - creates 16 divisions along each face edge ( 2^4 )
Note.pngNote: Although each face edge may be a different length, the number of divisions along each face edge is not affected by the length.
Icon-Bug.pngBug:Displacements with a power of 4 can cause crashes if colliding with physics objects (except in Garry's Mod). Additionally, they may rarely cause physics objects to pass through them at edges, this can be observed in the official de_dust2 map in Counter-Strike: Global Offensive.
PlacementTip.pngWorkaround:Use four power-of-3 displacements instead.
  [todo tested in?]
Note.pngNote:VBSP can also compile power of 1 displacements (2 subdivisions), but these act very buggy when loaded in Hammer Hammer 4.x. Because of this, Hammer++ Hammer++ automatically discards any power of 0/1 displacements.

Destroy

Delete the selected displacement surfaces, reverting them back to non-displacement faces on the base brush. If all displacements on a brush are destroyed, the brush will return to being a regular brush.

Paint Geometry

The displacement painting tools.

Opens the Displacement Paint Geometry panel, which allows you to modify the geometry of the selected displacements using the painting tools.

Effect

Determines what type of geometry painting you wish to do:

  • Raise/Lower - In both spatial and brush painting modes, increase or decrease the height of the geometry effected. Left-clicking raises the geometry along the current axis, Right-clicking lowers it. The Distance slider determines how far the geometry moves with each mouse click.
  • Raise to - In spatial painting mode, sets the height of the geometry to the height specified in the Distance slider, in world units relative the displacement's base brush face.
  • Smooth - In spatial painting mode, averages the position of the geometry, effectively smoothing out variations.

Spatial

Enables spatial painting mode. Turning this flag off puts the tools into brush painting mode. Spatial painting uses a three-dimensional sphere to determine the geometry that is effected by the painting. Brush painting uses a fixed-vertex brush that affects a set number of vertices surrounding the vertex the brush is centered on.

Axis

Determines the axis that what direction faces will move when painted:

  • X, Y, Z - Painted geometry will move along the world axis X, Y, or Z only, regardless of the direction of the displacement direction.
  • Face Normal - Painted geometry will move along an axis determined by the normal of one specific face. Change the painting direction by using <Alt>+right-click on any face in the 3D view. The normal of the clicked face will become the direction of subsequent painting.
  • Subdiv Normal - Painted geometry will move along an axis determined by the curve generated after using the Subdivide command on a set of faces.

Brush

When in brush painting mode, selecting a brush here will use that brush size to determine what geometry is altered when painting. The number next to each brush icon represents how many vertices wide the brush is. For example, a "3" brush will affect all vertices within a 3 vertex radius of where you clicked on a displacement. Brush selection is disabled while in Spatial painting mode.

Soft-Edge/Hard-Edge

Switches the falloff of painting when in spatial editing mode. In Soft-Edge mode, geometry near the center of the painting sphere will be most affected by painting operations, with the effect diminishing towards the edges of the sphere. In Hard-Edge mode, all geometry will be identically affected by painting operations, regardless of their position in the sphere.

These controls only affect Spatial painting mode, and are disabled when Spatial painting is not active.

Distance

When in Raise/Lower mode, this slider sets the amount that geometry will move with each click while painting geometry, as a distance of world units. For example, if the Distance slider is set to "5", each click with the left mouse button while in Raise/Lower painting mode will move the geometry 5 world units.

While in Raise To mode, this slider sets the height that geometry will move to, in world units. For example, if the Distance slider is set to "128", each click with the left mouse button while in Raise/Lower painting mode will move the geometry to exactly 128 world units from the base brush face.

While in Smooth painting mode, the lower the value of the Distance slider, the more smoothing will be applied.

Radius

Sets the size of the painting sphere while in Spatial painting mode. The Radius slide only affects Spatial painting mode, and is disabled when Spatial painting is turned off.

Tip.pngTip:The Radius slider value can also be dynamically changed by holding down <Alt> and clicking and dragging with the left mouse button in the 3D View, while Spatial painting mode is active.

Autosew

Enabling this option will force Hammer to automatically do a Sew command after every paint operation on the selected geometry.

Note.pngNote:Enabling Autosew while a large number of displacement surfaces are selected can drastically affect performance. See the Sew command for more information.
Icon-Bug.pngBug:Sometimes, Hammer will confuse the state of this checkbox. If you experience performance issues while editing displacements, try toggling this option.  [todo tested in?]

Basic Displacement Creation

How to create and paint a displacement surface:

  1. Create a brush with the Block Tool that will be used a the base for the created displacement surface.
  2. Click the Texture Application tool to bring up the Face Edit dialog, and select the Displacement tab.
  3. In the 3D view, left-click on a brush face to select it. <Ctrl>-click to add or remove faces from the current selection.
  4. Click Create in the Displacement tab. Enter a value from 2 to 4 for the displacement density and click OK.
  5. Select the Paint Geometry tool on the Displacement tab. The Paint Geometry panel will open.
  6. In the 3D View, Left-click on a displacement to raise a section, and right-click to lower it. Use the Radius slider in the Paint Geometry panel to control the size of the painting sphere.

Paint Alpha

The displacement vertex alpha painting tools.

Opens the Displacement Paint Alpha panel, which allows you to paint the vertex alpha for the selected displacements. The vertex alpha controls the visibility of two separate textures on the displacement surface.

Note.pngNote:Vertex alpha values only affect displacements with materials containing the proper blended material shader.
Note.pngNote:Since alpha painting is done per-vertex, texture blending quality is affected by vertex density; a higher power displacement will yield more fine control over blends, but higher quality blending can be simulated without increasing vertex density using $blendmodulatetexture.

Effect

Determines what type of alpha painting you wish to do:

  • Raise/Lower - Increase or decrease the alpha value of the vertices affected. Left-clicking raises the alpha value, Right-clicking lowers it. The Value slider determines how quickly the value will change as you paint.
  • Raise to - Sets the alpha value of the affected vertices to the value specified in the Value slider, from 0 to 255.
  • Smooth - Averages the alpha value of the affected vertices, effectively smoothing out any variations.

Brush

When in alpha painting mode, selecting a brush here will use that brush size to determine which vertices are altered when painting. The number next to each brush icon represents how many vertices wide the brush is. For example, a "3" brush will affect all vertices within a 3 vertex radius of where you clicked on a displacement.

Value

When in Raise/Lower mode, this slider sets the how quickly the alpha values will change with each click while painting geometry.

While in Raise To mode, this slider sets the exact alpha value that each vertex will be set to, from 0 to 255.

The Value slider has no effect while in Smooth painting mode.

Invert Alpha

Inverts all alpha data on the selected displacements.

Subdivide

Create a smooth subdivision surface out of two or more selected displacement surfaces.

Note.pngNote:Subdividing a large number of displacement surfaces simultaneously requires a lot of computation, and can take a significant amount of time to complete.

Noise

The displacement noise dialog.

Add random noise to the selected displacement surface.

  • The Min value sets the greatest distance in units that a point on the displacement will move downward along the face normal.
  • Max sets the greatest distance upward along the face normal.
  • Clicking OK will randomize the position of the points on the displacement somewhere between these two values.

Sew

Connect the edges of two or more selected displacement surfaces. You can sew displacement surfaces in any of the following circumstances:

  • Any two displacements whose base brushes surfaces share a common edge when coincident endpoints.
  • Displacements with different resolution settings.
  • A displacement surface to a non-displacement brush face, as long as the base face of the displacement shares a common edge.
  • A displacement surface to another displacement surface where a shared edge is exactly half the width of the other (called a T-junction).

Examples of circumstances where the Sew command can be used:

Adjacent Displacements with base faces that share an edge.
Displacements with different resolutions.
Displacement with a base face that shares an edge with a brush.
Displacements that share an edge at the exact midpoint.

Surfaces cannot be sewn together if the base faces of the displacements do not share a common edge:

Surfaces that don't share a common edge cannot be connected.

Sculpting

Opens the Displacement Sculpt panel. This tool is unique as it makes on-the-fly changes to the size when you modify the displacements.

Hotkeys Use Right-Click and drag to the right to increase the size of the brush, and drag it to the left to decrease the size of the brush. Ctrl + click works in the same fashion as right click on the Paint Displacement tool. Shift + click will attempt to even out the area you are clicking over. Alt + Right-click

Settings

Push Settings

Two major ways of editing displacements, Push, and Carve. Both of these are more powerful than the original Displacement tool.

There are a number of settings that are present on both editing tools, and they have the exact same usages in both tools.

  1. AutoSew - Fairly self-explanatory. It automatically sews any two displacements together when editing if enabled.
  2. Offset Mode - There's two major offsets; Absolute, and Adaptive. Absolute adds any value you set to the X,Y,Z axis or any combination thereof. Adaptive, however, adds a certain % value of the brush you modify the displacement with.
  3. Offset Distance - Only applicable when using the Absolute Offset Mode. This is the distance, in units, in which the point(s) will be moved when they are edited.
  4. Offset Percent - Only applicable when using the Adaptive Offset Mode. This is the percentage of the size of the brush that the point(s) will be moved when they are edited.
  5. Smoothing - How much smoothing is added to the modified area.
  6. Bounds Limit - Has two settings; Additive and Attenuated. Additive applies the offset every time you go over a brush with your modifier. Attenuated applies the offset to each point once. Very useful.
  7. Normal Direction - Which direction should the offset be applied to. Has X, Y, Z, Brush Center, Screen, and Selected. Brush center will move the brushed area in the direction of where the center of your brush is. Screen will move the brushed area towards the camera, or away from it. Selected works by taking the line perpendicular to the face you Alt + Right-Click on.

Push Settings

  1. Falloff Position - Percentage of the interior of the brush where the entire offset will be applied.
  2. Falloff Final - Percentage of the offset of where the fallout will not go below. For example, if offset distance is 10, and falloff final is 90%, the areas where falloff will be applied will not go below 9.
Carve Settings

Carve Settings

Carve is different from Push because instead of a circle, you are given an editable graph. By modifying the graph's shape, you can change the shape of the area you modify. This tool is extremely fickle, so go slowly and smoothly.

An example of what the Carve tool can accomplish. Road templates such as this are nice.

Attributes

Different attributes that can be changed for displacement surfaces.

  • Power - Sets the resolution of the displacement. Possible values are 2, 3, and 4.
  • Elev - Changes the distance of the displacement from the base face.
  • Scale - Scales the displacement "height" -- the distance from the base face.
  • No Physics Collision - Disables any physics objects colliding with the displacement. Useful for snow, mud, etc.
  • No Hull Collision - Disables any player or NPC collisions with the displacement.
  • No Ray Collision - Disables raycasts colliding with the displacement. Gunfire and bullets will not collide with the displacement surface.
  • Apply - Commits any changes to the Power, Elev, or Scale values.

Masks

These options change the way displacement surfaces are displayed when selected in the 3D Views. Enabling the Grid mask disables the drawing of the wireframe displacement grids when selecting displacements. Choosing Select disables the red shading of selected displacements.

See also