Func detail: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
TomEdwards (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{wrongtitle|title=func_detail}} | {{wrongtitle|title=func_detail}} | ||
[[Image:Opt_detailbrush_wireframe.jpg|thumb|<code>[[mat_wireframe]]</code> screenshot of two cylinders. Left is a world brush, and causes bad triangles; right is a detail brush and causes no problems.]] | |||
[[Image:Opt_detailbrush_glview.jpg|thumb|The same scene examined in [[glview]]. The world brush butchers the BSP, while the detail brush does nothing.]] | |||
'''func_detail''' is an [[Internal entity|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). | |||
Valve provide an example map at <code>sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf</code>. | |||
== Caveats == | |||
{{ | *Detail brushes cannot be used to [[seal]] a map. | ||
* See also [[Controlling_Geometry_Visibility_and_Compile_Times#Detail_brushes|Controlling Geometry Visibility and Compile Times - Detail brushes]] | *Because detail brushes do not [[slice]] other 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 create a slice in the underlying brush ({{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! | |||
*Detail brushes ''will'' slice brushes when they intersect with them. {{todo|Confirm in OB.}} | |||
*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 automatically become detail. | |||
== Good candidates == | |||
*Pillars, plinths and supports | |||
*Free-standing walls | |||
*Suspended walkways | |||
*Stairs (create a smooth wedge-shaped brush underneath) | |||
*Small buildings | |||
*Rotated brushes | |||
== See also == | |||
(These duping pages should really be merged into this one.) | |||
*[[Controlling_Geometry_Visibility_and_Compile_Times#Detail_brushes|Controlling Geometry Visibility and Compile Times - Detail brushes]] | |||
* See also [[BSP Map Optimization#Detail Brushes|BSP Map Optimization - Detail Brushes]] | * See also [[BSP Map Optimization#Detail Brushes|BSP Map Optimization - Detail Brushes]] | ||
* See also [[Optimization %28Geometry%29#Detail brushes|Optimization (Geometry) - Detail brushes]] | * See also [[Optimization %28Geometry%29#Detail brushes|Optimization (Geometry) - Detail brushes]] | ||
== Keyvalues == | == Keyvalues == | ||
(You'll probably never need to change these.) | |||
* {{kv dxlevelchoice}} | * {{kv dxlevelchoice}} | ||
[[Category:Brush Entities]] | |||
[[Category:Optimisation Brush Entities]] |
Revision as of 15:17, 31 August 2008

mat_wireframe
screenshot of two cylinders. Left is a world brush, and causes bad triangles; right is a detail brush and causes no problems.
The same scene examined in glview. The world brush butchers the BSP, while the detail brush does nothing.
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).
Valve provide an example map at sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf
.
Caveats
- Detail brushes cannot be used to seal a map.
- Because detail brushes do not slice other 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 create a slice in the underlying brush (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 will slice brushes when they intersect with them. Todo: Confirm in OB.
- 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 automatically become detail.
Good candidates
- Pillars, plinths and supports
- Free-standing walls
- Suspended walkways
- Stairs (create a smooth wedge-shaped brush underneath)
- Small buildings
- Rotated 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.)