Cómo optimizar un mapa en Hammer Editor: 10 pasos (con imágenes)

Tabla de contenido:

Cómo optimizar un mapa en Hammer Editor: 10 pasos (con imágenes)
Cómo optimizar un mapa en Hammer Editor: 10 pasos (con imágenes)
Anonim

¿Quiere acelerar el rendimiento de su mapa personalizado, no atascarse en problemas de renderización y reducir el tiempo de compilación? A continuación se ofrecen algunos consejos que le ayudarán a optimizar cualquier mapa en Hammer.

Pasos

Optimizar un mapa en Hammer Editor Paso 1
Optimizar un mapa en Hammer Editor Paso 1

Paso 1. Selle las habitaciones

Es un requisito. Si hay CUALQUIER fuga en el mapa, el compilador no podrá determinar los límites del mapa e intentará representar todo dentro del mapa de una vez. Peor aún, los portales de área, los pinceles de sugerencias y los oclusores del mapa no funcionarán, lo que los hará inútiles. Además, el agua no se representará correctamente si hay fugas en el mapa.

  • En la Fig. 1a, la habitación obviamente no está sellada. Si compila este mapa con esa filtración, vvis (la parte de la compilación que determina los datos de visibilidad) no podrá determinar los límites del mapa, ya que los visleaves simplemente se "filtrarán" hacia el vacío negro fuera de nuestro mapa.
  • En la Fig. 1b, la sala está sellada y se compilará correctamente.
  • Para comprobar si hay fugas, primero asegúrese de que haya al menos una entidad en el mapa (como un "info_player_start"); de lo contrario, esto no funcionará. Guarde y compile el BSP presionando F9 o yendo a Archivo -> Ejecutar mapa. Seleccione "Normal" para Ejecutar BSPy seleccione "No" para ambos Ejecutar VIS y Ejecutar RAD (también asegúrese de comprobar el "No ejecutes el juego después de compilar" caja). Una vez que haya terminado de compilar, cierre el registro de compilación y vaya a Mapa -> Cargar archivo de punto. Si hay alguna fuga, le pedirá que confirme la operación (por ejemplo, "¿Cargar archivo de puntos predeterminado? [C: / Archivos de programa / ----]) Seleccione" Sí "y verá una línea roja que sobresale desde la entidad más cercana * a través del área de la fuga. (* Esta es la razón por la que necesita una entidad, ya sea un pincel o un punto, en su mapa. No funciona con pinceles de mundo o detalles). Selle la fuga, vuelva a compilar el BSP y cargue el archivo de puntos. Si todo está sellado, debería ir a una carpeta vacía en el Steam / steamapps / GAMERTAG / GAME / mapsrc carpeta. Siempre verifique si hay fugas antes de que el mapa sea entregado al público.
Optimizar un mapa en Hammer Editor, paso 2
Optimizar un mapa en Hammer Editor, paso 2

Paso 2. Crea pinceles con "tools / toolsnodraw"

Asegúrese de crear siempre pinceles con el herramientas / herramientas textura primero y luego textura solo lo que el jugador puede ver desde el punto de vista del jugador. Si solo va a ver un lado de una pared, entonces texturice solo ese lado visible.

Optimizar un mapa en Hammer Editor Paso 3
Optimizar un mapa en Hammer Editor Paso 3

Paso 3. Reducir el número de pinceles y caras

Siempre que sea posible, limítese a crear geometría con algunos pinceles grandes en lugar de miles de pequeños. Más pinceles equivalen a más caras y más caras equivalen a un rendimiento y un tiempo de compilación más lentos. En pocas palabras: si puede crear geometría compleja con uno o dos pinceles, ¿por qué usar más que eso?

En la Fig. 3a, hay dos pinceles: el de la izquierda se creó con la herramienta Arco que creó un pincel de 8 lados con 40 caras, y el de la derecha se hizo a partir de un solo pincel recortado con solo 11 caras. Esto último se logró utilizando la herramienta de recorte (Shift + X). Para lograr esto último, se recomienda crear primero la forma geométrica deseada a partir de la herramienta Arco como referencia. Luego, cree un pincel con la misma longitud, ancho y alto que el arco de referencia y colóquelo ligeramente por encima de la referencia. Seleccione el pincel y recorte los ángulos. (es posible que deba cambiar el tamaño de la cuadrícula ("-" para disminuir, "+" para aumentar) y / o mover manualmente los vértices (Mayús + V) del arco de referencia para ajustar al punto de cuadrícula más cercano). un pincel geométricamente idéntico, ¡pero solo con menos caras

Optimizar un mapa en Hammer Editor Paso 4
Optimizar un mapa en Hammer Editor Paso 4

Paso 4. Haz un buen uso de los pinceles para detalles

Los pinceles del mundo bloquean la visibilidad, sellan el mapa y dividen el BSP en "hojas", que son básicamente la forma que tiene el compilador de determinar qué se puede y qué no se puede ver en un momento y lugar determinados. Los pinceles de detalle se diseñaron para ser esencialmente "invisibles" para el compilador. Los únicos pinceles que deberían ser pinceles del mundo son las paredes, el suelo y el techo de una habitación. Prácticamente todo lo demás en la sala que no es una entidad funcional y no bloquea significativamente la visión del jugador debe estar vinculado a un pincel func_detail (empate usando Ctrl + T). Dado que los pinceles de detalle no bloquean la visibilidad, no se compilarán en vvis cálculos y no dividirá el mapa en más visleaves (lo cual es bueno en la mayoría de los casos). Sin embargo, tenga en cuenta que tampoco sellará el mapa. Solo asegúrate de que todos los pinceles del mundo sellan el mapa y no debería haber ningún problema.

Optimizar un mapa en Hammer Editor Paso 5
Optimizar un mapa en Hammer Editor Paso 5

Paso 5. Utilice los portales de área y los pinceles de pistas de manera adecuada

Los portales de área y los pinceles de pistas son excelentes formas de limitar la visibilidad y aumentar el rendimiento si se realizan correctamente. Sin embargo, no debe colocarlos en todos los pasillos y ventanas, ya que la cantidad para calcular lo que se supone que se debe renderizar y cuándo podría superar la de renderizar toda la habitación de una vez. En su lugar, solo debes separar habitaciones con muchos detalles. Esto evitará que su computadora tenga que renderizar muchos objetos innecesarios y ayudará a aumentar el rendimiento sin ejercer una presión importante en los cálculos de visibilidad.

Optimizar un mapa en Hammer Editor Paso 6
Optimizar un mapa en Hammer Editor Paso 6

Paso 6. Utilice oclusores (con moderación)

Los oclusores son similares a un portal de área cerrada, ya que no representan lo que hay detrás. Sin embargo, es diferente a un portal de área cerrada en que no necesita sellar una habitación (puede ser independiente y no tocar los pinceles del mundo) y solo bloquea los modelos 3D (también conocidos como accesorios). Esta herramienta es muy costosa en términos de uso de memoria, por lo que solo debe usar oclusores cuando haya un modelo 3D costoso detrás de una pared independiente que no se pueda sellar con portales de área.

Optimizar un mapa en Hammer Editor Paso 7
Optimizar un mapa en Hammer Editor Paso 7

Paso 7. Agregue cajas de cielo 3D

No es totalmente necesario, pero ayudará a que el mapa parezca mucho más grande sin ralentizar drásticamente los FPS (fotogramas por segundo). Los skyboxes 3D generalmente están hechos para mapas exteriores "grandes", pero es posible convertirlos en un mapa interior si puedes ver un exterior a través de una ventana o algo. Los skyboxes 3D son muy baratos de renderizar y pueden hacer que un mapa pequeño parezca hasta 16 veces más grande, ya que los skyboxes 3D se configuran en una escala 1/16 en Hammer y luego se amplían durante la compilación.

Optimizar un mapa en Hammer Editor Paso 8
Optimizar un mapa en Hammer Editor Paso 8

Paso 8. Agregue niebla

En mapas grandes al aire libre, la niebla puede limitar la cantidad de detalles que se representan y puede hacer que su mapa se vea más realista en el proceso. Simplemente agregue una entidad env_fog_controller en su mapa. En la opción "Habilitar niebla" en el Propiedades del objeto pestaña, seleccione "Sí". A continuación, edite el Plano de clip Z lejano a su gusto, lo que eliminará todos los cepillos después de esa distancia, eliminando el motor haciendo que los objetos innecesarios (El Plano de clip Z lejano El valor debe ser mayor que el Fin de la niebla valor).

Optimizar un mapa en Hammer Editor Paso 9
Optimizar un mapa en Hammer Editor Paso 9

Paso 9. No te vuelvas loco con la escala Lightmap

La escala del mapa de luz determina esencialmente qué tan nítidas o borrosas se representan las sombras en la geometría. Los números más grandes degradan la calidad de la sombra, pero pueden aumentar el rendimiento. Por el contrario, una escala de mapa de luz más baja aumenta las imágenes de las sombras, pero puede reducir considerablemente el rendimiento. Una escala de mapa de luz demasiado grande o demasiado pequeña podría producir un efecto de iluminación poco realista que sea demasiado apagado o demasiado nítido, respectivamente. La escala de mapa de luz predeterminada para todos los pinceles es 16, que es un área equilibrada entre las imágenes y el rendimiento.

Optimizar un mapa en Hammer Editor Paso 10
Optimizar un mapa en Hammer Editor Paso 10

Paso 10. Si su mapa tiene agua, coloque una entidad "water_lod_control" en el mapa

Esta entidad determina qué tan lejos tienes que estar del agua "cara" para que pueda pasar a agua "barata". El agua cara parece mucho más realista que el agua barata y, por lo tanto, cuesta más en términos de uso de memoria y cálculos en la computadora. Una distancia de transición más corta producirá agua más barata a una distancia más corta y, por lo tanto, perderá mucha calidad visual cuando esté a distancia, pero también aumentará el rendimiento.

Consejos

  • Los desplazamientos no bloquean la visibilidad, por lo que para asegurarse de que el mapa esté sellado, cree un pincel de mundo con el herramientas / herramientas textura debajo del desplazamiento y selle el mapa con él (es decir, haga que las esquinas de ese pincel toquen las esquinas del skybox). Al igual que en el primer paso, asegúrese siempre de que el mapa esté sellado; de lo contrario, prácticamente todas las técnicas de optimización que se mencionaron se tirarán por la ventana y en el vacío negro del motor de origen.
  • Al crear portales de área (creando un pincel texturizado con herramientas / toolsareaportal y atándolo a func_areaportal), es muy importante que los lados de un areaportal que no se ven a través de ellos estén tocando los pinceles del mundo. Por ejemplo, si desea colocar un portal de área en una entrada, pero esa entrada tiene un marco vinculado a func_detail, no haga que el pincel areaportal toque el marco de la puerta porque es func_detail (y dado que los pinceles func_detail no afectan la visibilidad, el registro de compilación volverá con una fuga). En cambio, el cepillo del área del portal debe tocar las paredes, el techo y el piso de la puerta (que deben ser todos cepillos del mundo), cruzando el marco de la puerta. No se preocupe de que pueda haber un "recorte en Z" alrededor del marco de la puerta; el marco todavía se renderizará correctamente en el juego… simplemente está ahí en el editor de Hammer para que el compilador lo use durante vvis.
  • Este artículo asume que tiene conocimientos básicos de la interfaz de Hammer Editor (crear pinceles, colocar entidades, vincular entidades, etc.).
  • Al crear pinceles de sugerencia, solo texturice las caras que actúan como planos de sugerencia (las caras que dividirán el BSP) con el herramientas / sugerencia de herramientas textura. Texturiza todas las demás caras del pincel que no actúen como un plano de sugerencia con herramientas / salto de herramientas, de lo contrario, creará más visleafs de los que desea.
  • Puede vincular el estado Abierto / Cerrado de un portal de área a una puerta en funcionamiento, como func_door, func_door_rotating o una entidad similar. Para ello, la puerta a la que desea que se vincule el portal de área necesita un "nombre" único. (Dé el nombre haciendo doble clic en la puerta para abrir su Propiedades del objeto ventana y darle un nombre simple debajo Nombre en la pestaña Información de la clase.) Una vez que tenga la puerta nombrada, vaya al portal del área. Propiedades del objeto y desplácese hacia abajo hasta "Nombre de la puerta vinculada" y seleccione la puerta a la que desea vincular el portal de área. Además (y esto es muy importante) debe configurar el Estado inicial del areaportal al Estado inicial de la puerta. Lo que esto hace es asegurar que cuando la puerta se cierra, el areaportal se cierra con ella. Si tiene curiosidad acerca de lo que dictan exactamente los estados del portal de área Abierto / Cerrado, si un portal de área está Abierto, se renderizan todas las hojas visibles a través del otro lado del portal de área. Por el contrario, si el areaportal está cerrado, no se renderizará nada más allá del areaportal. Entonces, si hay un pasillo abierto al que siempre podrá ver, el Estado inicial del areaportal debe establecerse en Abierto, no Cerrado. Y cuando esté vinculado a una puerta, no podrá ver más allá de la puerta de todos modos, así que configúrelo en Cerrado si la puerta aparece cerrada (a menos que tenga una ventana transparente, que entonces debe tener el areaportal configurado en Abierto y no Ni siquiera te molestes en vincularlo a la puerta).

Advertencias

  • Nunca haga un pincel complicado con la herramienta hueca. Los vértices (esquinas de los pinceles) se cruzarán entre sí y crearán un gran desorden.
  • Utilice únicamente oclusores como último recurso. Es muy intensivo en memoria, por lo que si un accesorio se puede sellar en una habitación con portales de área o si es posible dividir los visleaves con pistas y omitir cepillos, entonces opte por no usar oclusores.
  • Los portales de área abiertos son mucho más intensivos en memoria porque los visleaves se calculan en tiempo real. Es aconsejable utilizar portales de área cerrada o pinceles de pistas con la mayor frecuencia posible.

Recomendado: