Func detail: Difference between revisions
Jump to navigation
Jump to search
TomEdwards (talk | contribs) No edit summary |
TomEdwards (talk | contribs) No edit summary |
||
Line 10: | Line 10: | ||
*Detail brushes cannot be used to [[seal]] a map. | *Detail brushes cannot be used to [[seal]] a map. | ||
*Because detail brushes do not [[ | *Because detail brushes do not [[chop]] world brushes, light can seep underneath them if the other surface's [[lightmap]] scale is larger than the detail brush is wide/tall. If you encounter this, manually slice the underlying brush in two (with {{key|Shift+X}}). | ||
**This effect can cause detail brushes with lots of surface contact to become inefficient, because the surface beneath them is being rendered too! | **This effect can cause detail brushes with lots of surface contact to become inefficient, because the surface beneath them is being rendered too! | ||
**Detail brushes ''do'' chop ''each other'', however. | |||
*Surfaces on very thin (about 2 units thick) detail brushes have been known to disappear at certain distances. As a workaround, use [[func_brush]] instead. | *Surfaces on very thin (about 2 units thick) detail brushes have been known to disappear at certain distances. As a workaround, use [[func_brush]] instead. | ||
*Brushes with translucent materials applied will | *Brushes with translucent materials applied, or which are [[displacement]]s, will be treated as detail. | ||
== Good candidates == | == Good candidates == | ||
Line 23: | Line 24: | ||
*Small buildings | *Small buildings | ||
*Rotated brushes | *Rotated brushes | ||
*Very small or thing brushes | |||
== See also == | == See also == |
Revision as of 07:21, 1 September 2008
func_detail is an internal brush entity that does not affect visibility or cause other brushes to be sliced - in other words that does not affect the structure of the rest of the map. It should be used on all brushwork that does not form the 'backbone' of a map (and that is not already tied to an entity).

A world brush (left) and a detail brush. The blue lines are visleaf boundaries, where the world has been chopped up, leading to longer compile times and lower performance.
Valve provide an example map at sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf
. You can also load up the HL2 map sources and hide detail brushes with their auto visgroup to see where Valve used them.
Caveats
- Detail brushes cannot be used to seal a map.
- Because detail brushes do not chop world brushes, light can seep underneath them if the other surface's lightmap scale is larger than the detail brush is wide/tall. If you encounter this, manually slice the underlying brush in two (with Shift+X).
- This effect can cause detail brushes with lots of surface contact to become inefficient, because the surface beneath them is being rendered too!
- Detail brushes do chop each other, however.
- Surfaces on very thin (about 2 units thick) detail brushes have been known to disappear at certain distances. As a workaround, use func_brush instead.
- Brushes with translucent materials applied, or which are displacements, will be treated as detail.
Good candidates
- Pillars, plinths and supports
- Free-standing walls
- Suspended walkways
- Stairs (create a smooth wedge-shaped brush underneath)
- Small buildings
- Rotated brushes
- Very small or thing brushes
See also
(These duping pages should really be merged into this one.)
- Controlling Geometry Visibility and Compile Times - Detail brushes
- See also BSP Map Optimization - Detail Brushes
- See also Optimization (Geometry) - Detail brushes
Keyvalues
(You'll probably never need to change these.)