func_detail
func_detail
es un entidad de brocha interno
disponible en todos los juegos de Source. No es una entidad de brocha (brush entity) real, sino que mueve todas las brochas contenidas a worldspawn y las marca como CONTENTS_DETAIL, lo que resulta en que no afecten la visibilidad ni segmenten las brochas que no son de detalle. Todo el trabajo con brochas que no forma la 'columna vertebral' del mundo (y que no está vinculado a una entidad real) debería ser de detalle, con la excepción del vidrio translúcido (que sufre problemas de ordenación alfa cuando no es "estructural").
Valve proporciona un mapa de ejemplo en sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf
. También puedes cargar los archivos fuente de los mapas de HL2 y ocultar las brochas de detalle con su visgroup automático para ver dónde las usó Valve.

Las brochas del mundo (world brushes) que usan materiales %CompileDetail siempre serán tratadas como si estuvieran vinculadas a un func_detail.
Separar los func_details es puramente por conveniencia del editor; 5 brochas en un func_detail actuarán igual que 5 func_details con una brocha cada uno.
Las brochas de Agua y Slime/Limo no pueden ser de detalle. VBSP elimina automáticamente los contenidos de detalle de los materiales líquidos, y modificar VBSP para eliminar esta peculiaridad resulta en que los líquidos sean invisibles en el juego (aunque todavía se pueda nadar en ellos).
Efectos
El objetivo de crear una entidad de brocha de detalle es evitar la creación de un número innecesario de visleaves por un mero detalle del mapa, de ahí el nombre de la entidad. VBSP permitirá que los visleaves se superpongan a los detalles y, por lo tanto, minimizará los visleaves y el tiempo de compilación.
Arriba se muestran una brocha de mundo (cilindro izquierdo) y una brocha de detalle (cilindro derecho). Las líneas azules son los límites de los visleaves. La brocha de mundo ha segmentado el mapa en nueve segmentos de forma extraña, lo que lleva a tiempos de compilación más largos y un rendimiento marginalmente inferior, mientras que la brocha de detalle no ha cambiado nada.
Advertencias
- Las brochas de detalle no se pueden usar para sellar un mapa o áreas de areaportals.
- Debido a que las brochas de detalle no segmentan las brochas de mundo, la luz puede filtrarse por debajo de ellas si la escala del mapa de luz de la otra superficie es mayor que el ancho/alto de la brocha de detalle. Si te encuentras con esto, corta manualmente la brocha subyacente en múltiples partes (con ⇧ Shift+X), y texturiza la parte inferior con nodraw.
- Este efecto puede hacer que las brochas de detalle con mucho contacto superficial se vuelvan ineficientes, ¡porque la superficie debajo de ellas también se está renderizando! Las caras estructurales que están completamente ocultas por func_detail deben texturizarse con nodraw.
- Sin embargo, las brochas de detalle sí se segmentan entre sí. El VBSP original (vanilla) no admite niveles de detalle como se ve en el HLBSP de
, por lo que todas las brochas de detalle se segmentarán entre sí sin preferencia.
Consejo:El fork de DeathByNuke de VBSP tiene las banderas de compilación de material de mapa %CompileChopLow, %CompileChopHigh, y %CompileChopAll que ofrecen cierto control sobre qué segmenta qué.
- Se sabe que las superficies en brochas de detalle muy delgadas (de unas 2 unidades de grosor) desaparecen a ciertas distancias. Como solución alternativa, usa func_brush en su lugar.
- Las brochas de mundo con materiales translúcidos y/o transparentes aplicados, o que son mallas de desplazamiento, no afectan a VIS y no pueden sellar áreas.
- Las brochas de detalle, en algunos casos, fusionarán caras con otras brochas de detalle y, en ocasiones, con brochas de mundo, lo que puede hacer que creen hojas (leaves).
- En condiciones normales, cada vez que una brocha de detalle contacta con una brocha de mundo, VBSP registrará la unión y la optimizará. Esta conexión se conoce alternativamente como unión en T (T-junction) o índice de agua (water index), y hay un límite en el número de uniones en T que VBSP intentará corregir (65,535). El uso excesivo de brochas de detalle en contacto con la geometría del mundo podría hacer que VBSP aborte la compilación con un error. Usar la opción
-notjunc
omitirá esta optimización a costa de posibles inconsistencias visuales.
Nota:El agua, por razones desconocidas, hace que el recuento de uniones en T se dispare. Eliminar/remodelar cuerpos de agua puede solucionar esto.
Buenos candidatos

Cualquier brocha que no bloquee significativamente la vista del jugador probablemente debería ser de detalle. Ejemplos específicos incluyen:
- Pilares, plintos y soportes
- Muros independientes
- Pasarelas suspendidas
- Escalones (crea una brocha de mundo lisa en forma de cuña debajo)
- Edificios pequeños
- Brochas rotadas
- Brochas muy pequeñas o delgadas
Keyvalues
- Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <integer choices> (eliminado desde
)
- The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices Aviso:If these are used, the object may break when the user switches their DirectX settings.[missing string]
- 0 - Default (no bounding)
- 60 - DirectX 6 (!FGD for mindxlevel)
- 70 - DirectX 7
- 80 - DirectX 8 (GeForce4 Ti & FX 5000 series)
- 81 - DirectX 8.1 (GeForce FX 5800, 5900 & Radeon 8500/9100 and 9000/9200)
- 90 - DirectX 9 Shader Model 2
- 92 - OpenGL аналогичен DirectX 9 Shader Model 2 (using ToGL;
only) !FGD
- 95 - DirectX 9 Shader Model 3 (en todos juegos desde
)
- 98 - DirectX 9 Shader Model 3 on Xbox 360 (
only) !FGD
- Name (targetname) <string >
- Name of this entity. Displayed in Hammer's 2D views and Entity Report. No effect in-game, nor in map compilers.
- Origin (origin) <origin > !FGD
- Desplaza la geometría por esta cantidad en el BSP compilado. (Usado para instancias; no debe usarse directamente)
Confirmar:Probablemente también admite angles (ángulos) por una razón similar.