Mapeadores
Hub
Mapeadores
Hub
Tornar a la web
Comunitat
IniciNormesNotíciesF.A.Q.BansSupporter
Fòrum Mapeadores
Fòrum
Comunicados21
Anuncios12Eventos8
General1454
Off-Topic1024Presentaciones349International28Youtube28
Servers984
CS:S | ZombieMod | Barricada + Escape210CS:GO | Zombie Escape345CS:GO | KZ Timer2CS:GO | Prey5Bans164Feedback123Unirte133
Mapping533
Problemas y Dudas249Mapas118Guías y Tutoriales110Proyectos Comunitarios24Modelos, Texturas y Partículas11Prefabricados19
Releases2
Mapeadores
Hub
Tornar a la web
Comunitat
IniciNormesNotíciesF.A.Q.BansSupporter
Fòrum Mapeadores
Fòrum
Comunicados21
Anuncios12Eventos8
General1454
Off-Topic1024Presentaciones349International28Youtube28
Servers984
CS:S | ZombieMod | Barricada + Escape210CS:GO | Zombie Escape345CS:GO | KZ Timer2CS:GO | Prey5Bans164Feedback123Unirte133
Mapping533
Problemas y Dudas249Mapas118Guías y Tutoriales110Proyectos Comunitarios24Modelos, Texturas y Partículas11Prefabricados19
Releases2
Hub›Fòrum›Mapping›Guías y Tutoriales

Func_detail

@Morell📅 March 17, 2011⏱ Lectura de 3 min👁 467 vistes💬 1 postGuías y Tutoriales
Morell
@MorellOPOriginal
📅 17 de març del 2011#1

Al cabo de un tiempo tu mapa se puede convertir en un cúmulo de sólidos bastante complicado; por cada sólido que no conviertes en una entidad, el proceso de compilación tratará de determinar qué es lo que el jugador puede o no puede ver cuando este mirando a ese sólido. Cuando tienes una pared solo, pues no importa demasiado, pero imagina que tienes un nivel muy complicado con un gran número de sólidos (escaleras paredes, ventanas…) es obvio que el jugador no puede ver a la vez todo, luego no sería necesario tanto cálculo, sin embargo y desafortunadamente, el programa no es listo, no tiene capacidad para saber que es lo qué estás viendo y que no estás viendo, realizando solamente los cálculos necesarios, si no que lo calcula todo.

Como ya veremos en el siguiente punto; el programa compilador divide nuestro mapa en varios visleafs, los cuales aumentarán cada vez más si no tenemos cuidado a la hora de crear nuestro mapa.

Como siempre esto se traduce en una enorme pérdida de tiempo, puesto que se están realizando cálculos para algo que el jugador no va a poder ver. La única manera de evitar esto es usando la entidad func_detail. Esta entidad no afecta a la visibilidad ni a la estructura del mapa ofreciendo así una mayor rapidez a la hora de compilar. En resumidas cuentas, le quitas trabajo al programa compilador.

No existe un límite de func_details para un mapa; el motor Source puede procesar hasta 2048 entidades dinámicas a la vez, y los func_detail no cuentan como una entidad dinámica. Además tienen la ventaja de que puedes agruparlos y combinarlos como quieras; puedes convertir 300 sólidos en un solo func_detail o solamente 3; aunque normalmente la agrupación depende del interés del propio creador del mapa.

Una vez explicada la teoría, pondremos una serie de ejemplos:

  • En este caso tenemos una sencilla habitación, con 5 pilares, 4 cuadrados en las esquinas y uno circular en medio de la habitación (no se han convertido a func_detail):

image Comparemos la primera imagen con la segunda; una representación gráfica de los visleafs: image Pero, ¿Qué es lo que ha pasado? Fácil; las herramientas de compilación han intentado dividir los pilares en visleafs causando un auténtico desastre. Sin embargo, convirtamos los pilares a func_detail: image ¡Menudo cambio! ¡1 solo visleafs frente a más de 20 de la anterior imagen!

  • Aquí tenemos un ejemplo con escaleras, más conocidas como las generadoras de visleafs inútiles. Mira las siguientes imágenes:

image Representación de los visleafs: image Misma representación; ahora usando func_detail: image Existen tantos ejemplos como mapas, así que seguir con ellos sería un poco estúpido. No olvides la combinación textura nodraw+func_detail ¡da excelentes resultados!

📋 Aquest post és part del fòrum històric de Mapeadores. El contingut es preserva tal com va ser publicat originalment.