Herramientas 2: Trabajo con brushes (poliedros)

 

Herramientas que manejan la geometría de los brushes

Comandos de menú "brush"

Mover Brushes Seleccionados

Técnicas eficientes para la construccion del brush

 

 

 

 

Los brushes geométricos (poliedros) son el bloque básico a la hora de hacer mapas para  Quake III Arena. Estas son las herramientas para trabajar con los brushes.

 

 

Herramientas que manejan la geometría de los brushes

 

Esc (salir)

Esta tecla se usa para deseleccionar. Úsala para retirarte de operaciones que no deseas terminar cuando estas trabajando en un brush o un grupo de brushes.

 

Crear un brsuh nuevo

(Click botón  izquierdo del ratón) (Tecla: ninguna)

A la vez que mantienes pulsado el botón izquierdo del ratón, arrastra el puntero a través de la Grid (Vista XY), hasta hacer un cuadrado del tamaño que desees.Se creará un brush cuya altura será del tamaño actual de la Grid. Si seleccionas “snap to th Grid” en las preferencias (Preferentes…), el brush comenzará y terminará en las lineas de la Grid. La textura que tendrá el brush será la “textura por defecto” (si no se ha seleccionado ninguna) o la textura usada más recientemente. Para todas estas funciones, primero necesitarás seleccionar un brush  en las ventanas del mapa o de la cámara (vista 3D).

 

Mover un brush

(Botón izquierdo del ratón)

El comando Undo volverá el brush a su sitio original .

 

En la ventana del mapa. En la ventana del mapa, selecciona el brush. Clickas con el botón izquierdo del ratón en el brush seleccionado, y sin soltarlo mueves el brush en el mapa, mediante el ratón, a la posición que deseas.

En la ventana Z (altura). En la ventana del mapa, selecciona el brush. Después, en la ventana Z, clickas con el botón izquierdo del ratón en el brush seleccionado y sin soltarlo mueves el brush mediante el ratón.

En la ventana de la cámara. Selecciona un brush en la ventana de la cámara  (ver select single component ). Con el botón izquierdo pulsado arrastras el brush mediante el ratón  en la dirección deseada. Puedes ajustar tu vista de la cámara para hacer un arrastre más fácil.

 

 

Estirar un brush

(Botón izquerido del ratón)

Pensar en esto como en alargar un brush. El comando Undo devolverá el brush a su tamaño original.

 

En la ventana del mapa. En la ventana del mapa, clicko en la linea del lado del brush seleccionado que deseo estirar.Con el botón izquierdo del ratón presionado arrastro el puntero hacia la dirección perpendicular contraria al borde paralelo. El brush  se alargará hacia esa dirección.

En la ventana Z (altura). Usar esto para hacer el brush más alto. En la ventana del mapa o de la cámara, seleccionar el brush. Después, en la ventana  Z, clickeo sobre o  debajo del brush seleccionado. Con el botón izquierdo del ratón presionado arrastro el puntero hacia arriba o hacia abajo en la ventana Z. El brush crecerá en esa dirección.

En la ventana de la cámara. Selecciona un brush en la ventana de la cámara  (ver select single component ). Clickar con el botón izquierdo del ratón en el borde del cepillo seleccionado. Con el botón izquierdo del ratón presionado arrastra el puntero hacia la dirección perpendicular contraria al borde paralelo. El brush se alargará en esa dirección. Puedes ajustar tu vista de la cámara para hacer un arrastre más fácil.

 

Contraer el cepillo

(Botón izquierdo del ratón)

Pensar en esto como en aplastar un brush para hacerlo más pequeño.

 

En la ventana del mapa: En la ventana del mapa, selecciona el brush. Clicko en la línea del lado del brush seleccionado que deseo contraer. Con el botón izquierdo del ratón presionado arrastro el puntero perpendicularmente hacia el borde paralelo. El brush  se encogerá hacia esa dirección.

 

En la ventana de Z (altura): Utilizar esto para hacer el brush más bajo. En la ventana del mapa o de la cámara, seleccionar el brush. Después, clicko en la ventana Z, sobre o debajo del brush  seleccionado. Con el botón izquierdo del ratón presionado arrastro el puntero hacia arriba o hacia abajo en la ventana Z. El brush se contraerá en esa dirección.

 

En la ventana de la cámara: Selecciona un brush en la ventana de la cámara  (ver select single component ). Clickar con el botón izquierdo del ratón en el borde del cepillo seleccionado. Con el botón izquierdo del ratón presionado arrastra el puntero perpendicularmente hacia el borde paralelo. El brush se contraerá en esa dirección. Puedes ajustar tu vista de la cámara para hacer un arrastre más fácil.

 

Voltear brush

(Menú: Selección > Flip)

Aquí hay tres acciones separadas. Puedes voltear un brush en los ejes X, Y, Z. Cada acción  se puede hacer mediante un comando de menú o un botón de la barra de herramientas. El conjunto de seises comandos para voltear y rotar es el segundo grupo (empezando por la izquierda) en la barra de herramientas. El comando rotar para el mismo eje está siempre al lado del comando voltear. Voltear no cambiará las caras texturizadas en entidades  no-modelos.

Voltear X (menú: Selection). Voltea el brush seleccionado en el eje x.

Votear Y (menú: Selectión). Voltea el brush seleccionado en el eje Y.

Voltear Z (menú: Selectión) . Voltea el brush seleccionado en el eje Z

.

Rotar brush

(Menú: Selection > rotate)

Aquí hay tres acciones separadas. Puedes rotar un brush en los ejes X, Y, Z. Cada una  se puede hacer mediante un comando de menú o un botón de la barra de herramientas. El conjunto de seises comandos para voltear y rotar es el segundo grupo (empezando por la izquierda) en la barra de herramientas. El comando rotar para el mismo eje está siempre al lado del comando voltear. Rotar no cambiará las caras texturizadas en entidades  no-modelos.

Rotar X (Menú: selectión > Rotate > Rotate X) Rota el brush en el eje X.

Rotar Y (Menú: Selectión > Rotate > Rotate Y) Rota el brush en el eje Y.

Rotar Z (Menú: Selectión > Rotate > Rotate Y) Rota el brush en el eje Z.

 

Rotación arbitraria

(Menú: Selectión > Arbitrary Rotation)

Los comandos Rotate descritos arriba rotan los componentes afectados 90 grados; ni un grado más ni un grado menos. La rotación arbitraria permite que el usuario fije ángulos individuales para el X, la Y, y/o los ejes Z. Permite poner un valor para cada eje que deseas rotar. El valor puede ser positivo o negativo. Después de introducir los valores, seleccionar OK. Esto rota el objeto y cierra la ventana pop-up. Si no te gusta la rotación hecha, puedes utilizar Undo, siempre y cuando el brush esté seleccionado, y devoverlo a su estado original.

 

Rotación libre en la ventana del mapa

 (Tecla: R)

Presiona la tecla llave de “R” y componente seleccionado en el mapa 2D cambia a color rosaceo. El cuadrado púrpura en el centro es el centro de la selección y el eje alrededor de  cual rotará. Clickar el botón izquierdo cerca del componente (en el mapa 2D o en la vista 3D) y arrastrar el ratón sin soltarlo hará que el componente rote. Si el usuario pulsa SHIFT+ clic botón medio del ratón en un punto del mapa en  la ventana 2D , el cuadrado purpura se situará en ese punto  ese será el nuevo eje de rotación. Deseleccionar y reelegir el componente vuelve el eje a su centro original.

 

Arrastrar

Hay dos “funciones de arrastre” que implican puntos de control en el brush.

Arrastrar bordes

(Menú: Selection > Drag > Drag Edges)

(Tecla: E)

Esto resalta los bordes de la geometría de un brush marcándolos con unos cuadraditos azules en el centro y en las esquinas de cada lado. Si vuelves a pulsar la tecla E esta característica desparecerá. Si clickamos con el botón izquierdo en uno de eses cuadraditos y lo arrastramos con el ratón el borde del brush se moverá  según la dirección del puntero del ratón y cambiando la forma del brush. Si la opción Snap To Grid está activa (menú: Grid), el cuadradito azul se alineará automáticamente a la línea de la Grid más cercana. Undo deshace este comando.

Arrastrar vertices

(Menú:Selection > Drag > Drag Vertices)

(Atajo:  V)

Esto resalta los vértices de la geometría de un brush, marcando como cuadraditos verdes los puntos donde los lados de cada cara del brush se unen.

Si vuelves a pulsar la tecla V esta característica desparecerá. Si clickamos con el botón izquierdo en uno de eses cuadraditos y lo arrastramos con el ratón el vértice del brush se moverá según la dirección del puntero del ratón cambiando la forma del brush. Si la opción Snap To Grid está activa (menú: Grid), el cuadradito verde se alineará automáticamente a la línea de la Grid más cercana. Undo  deshace este comando.

 

Nota de diseño: Drag Vértices es una herramienta “testarruda” en el mejor de los casos. Trabaja bien si el usuario está manipulando una cara triangular del brush, subiendo o  bajando las esquinas del triángulo. Trabaja con cuidado, es muy fácil hacer que un brush adopte un forma no usable (o inrecuperable).

 

Scale (escala)

(Menú: Selection > Scale)

Con la escala puedes agrandar o reducir un brush, un patch, o un grupo de brushes y patchs. Eliges los ejes para escalar (X, Y, o Z) y el factor de escala. El factor de escala puede ser diferente para cada eje. AL seleccionar esta opción aparece una ventana de dialogo. El tamaño del brush o del grupo de brushes es multiplicado por los números que se introducen en los cuadros de X, Y, y Z. Si dejas el valor 1 no habrá ningún cambio. Si el valor es un decimal menor de uno, el tamaño de ese eje se contrae. Si el valor es mayor de 1, crece. Clickar OK para activar la función de escalamiento con los valores elegidos por ti. Undo deshace el escalamiento.

 

Operaciones CSG

CSG significa “Constructive Solid Geometry” (Geometría Sólida Constructiva)”. Las funciones , CSG substract y Make Hollow, calculan y borran secciones de esa geometría y rompen los brushes sólidos (no los patches) en pedazos más pequeños. Aunque es convenientes utilizarlas en algunas operaciones, hacen a menudo cosas de las que el usuario puede no darse cuenta. Estos “efectos secundarios” incluyen romper brushes en piezas inadecuadas, cortar encima de brushes adyacentes, y crear micro-brushes difíciles de localizar.

 

CSG-Substract (sustraer)

(Menú: Selection > CSG > CSG Substract) (Teclas: SHIFT + U)

Cuando seleccionas esto, el brush o brushes seleccionados resta el volumen de toda la geometría de contacto entre ellos. El brush de corte no se borra. Undo deshace esta acción.

 

 

 

  

Nota de diseño: La región donde se juntan los brushes será por donde serán cortados los brushes seleccionados. Esto evita que otros brushes del mapa sean afectados por la acción. Es también una buena idea guardar el trabajo antes de hacer la acción, así tendrás una copia a la que volver en caso de fallo.

 

Make Hollow (Hacer hueco)

(Menú: Selectión > CSG > Make Hollow)

Cuando el usuario selecciona esto, los lados del brush seleccionado se convierten en brushes separados. El grueso de estos brushes será igual al tamaño de la Grid. Undo deshace esta acción.

 

  

 

Nota de diseño: Esta es la mejor forma de trabajas con brushes rectangulares. Los bordes de los brushes creados se traslapan.

 

CSG Merge (Fusión)

(Menú: Selección > CSG > CSG Merge) (Teclas: CTRL + U)

Cuando el usuario selecciona esto, los brushes seleccionado se convierten en un solo brush, convexo. Si el resultado de la fusión no creara un brush convexo, aparecería en la consola del editor el siguiente mensaje: " Cannot add a set of brushes with a concave hull." (No se puede añadir un sistema de brushes con una carcasa cóncava.”

 

 Ejemplos: En el ejemplo “A” una  demostración de dos brushes que si se pueden combinar juntos. En el  ejemplo “B” una demostración de dos brushes  que no pueden combinarse.

 

 

EJEMPLO A

 

 

 

 

EJEMPLO B

 

 

 

 

Clipper (Cortadora)

(Menú: Selectión > Clipper) (Tecla: X,  activa y desactiva la herramienta Clipper )

Si piensas en esta herramienta como algo parecido a las sierra ingletadora que utiliza un carpintero para  cortar la madera, no estás lejos de la verdad.

 

Poner los puntos de corte

Los puntos de corte se ponen en la vista del mapa en dos métodos:

(Clic Botón izquierdo del ratón después de haber activado la herramienta Clipper)
o (CTRL + botón derecha del ratón en cualquier momento)

La figura abajo demuestra un brush cuadrado que “se ha acortado” desde el punto de corte izquierdo más bajo (punto 1) hasta el punto de corte superior derecho (punto 2). El editor crea una línea entre el primer punto y el segundo punto. El pedazo que se genera cuando se corta el brush se crea siempre en la dirección a la derecha de la línea (si se asume que el primer punto es el centro del “reloj”)

 

 

En un corte de dos puntos (mostrado aquí), el corte ocurre perpendicular (en un ángulo de 90 grados) del plano de la vista del mapa. Añadir un tercer punto, y ajustarlo  en una vista distinta del mapa pueden cambiar el ángulo del plano de corte. Esto se domina con la práctica.

 

Toggle Clipper

(Menú: Selection > Clipper > Toggle Clipper) (Tecla: x)

Esta opción activa la función Clipper. Después de terminar un corte, la herramienta Clipper queda activada y debe ser desactivada antes de que se seleccione otro brush.

 

Clip Selection

(Menú: Selection > Clipprer > Clip Selection) (ENTER)

 Si se selecciona “Clip Selection” la porción roja del brush cortado es desechada y solamente quedará  la porción amarilla. El brush no es deseleccionado después de esta acción. Undo devuelve el brush original.

 

 

Split Selection

(Menú: Selection > Clipper>Split Selection)(SHIFT + ENTER)

Si se selecciona “Split selection” la porción roja del brush cortado no se desecha, y quedan las dos porciones del brush, es decir, partimos un único brush en dos brushes triangulares. El brush no es deseleccionado.

 

 

Flip Clip Orientatión

(Menú: Selection > Clipper > Flip Clip Orientation) (Tecla: CTRL + ENTER)

Cambia la parte seleccionada en amarillo a seleccionada en rojo y la parte seleccionada en rojo a amarilla.

 

 

Make Detail (Hacer Detalle)

(Menú: Selection > Make Detail) (Tecla: CTRL + M)

 

En el Quake 2, esto era un flag superficial. En Quake III Arena, se utiliza en el propio brush. El detalle hace a un brush no-estructural. Esto significa que no puede ser utilizado para sellar el casco del mapa. No utilizarlo para la pared, los pisos, ni los techos. Si se utiliza como casco, el mapa tendrá “leaks” cuando sea compilado. Pero puede ser utilizado en las cosas que están lejos de las paredes (mientras haya un brush estructural detrás de el).

El detalle tiene dos efectos beneficiosos:

1. Los brushes con detalle son menos propensos a que produzcan cortes adicionales en lo brushes  de no-detalle tocados por ellos… así de esta manera se reduce el número de triángulos. Esto puede ayudar a reducir el frame rate (FPS).

2. Cuando el recopilador hace Vis, rompe el mapa en muchos volúmenes pequeños. Cualquier ruptura en la superficie de la caja que forma un cuarto crea los correspondientes volúmenes adicionales. Los cepillosd e detalle no crean estas roturas. Por lo tanto, usarlos acelera la compilación.

 

Make Structural (Hacer Estructural)

(Menú: Seletion > Make Structurall) (Tecla: ninguna)

El estado “Estructural” es el que tienen los brushes por defecto. Las texturas que no son manipuladas por los scripts shader para ser transparentes o no-sólidas) no cambian este estado. Esencialmente, éste es un comando deshacer para el Make Detail. Quita el flag de detalle del brush. Esta superficie bloqueará el Vis cuando se compile el mapa (siempre y cuando no haya  contenido shader que indique otra cosa).

 

Func_Group

(Menu del mapa 2D que sale al hacer Clic > Func_Group > Enter)

Técnicamente, esto es una entidad del b_model (modelo de brush). Sin embargo, es una gran manera de manejar grupos de componentes del mapa relacionados y poder seleccionarlos todo juntos y la vez con mayor facilidad. Para utilizarlo, selecciona los brushes y los patchs que deseas agrupar y después abres la ventana de la entidad (pulsa la tecla “N”). Clickas en la sub-ventana de la lista de la entidad y tecleas dentro “F”.Luego haces Doble-click en Func_Group y todos los brushes y patches seleccionados estarán vinculados conjuntamente en un grupo. Si deseleccionas uno de ellos se deseleccionarán todos.

Seleccionar uno por uno componentes (Tecla: TAB)

Cuando tienes una entidad de b_model de Func_Group seleccionada, presiona el tabulador para ir saltando de uno a otro de los componentes, el color de “seleccionado” se activará en uno solo a la vez. Esto permite que trabajes en una  parte de un grupo sin tener que trabajar en todos los pedazos

 

Find Brush (Buscar brush)

(Menú: Misc > Find Brush..)

La opción Find Brush permite que localices un brush en el mapa por el número que lo identifica. Mientras que se construye el mapa, el editor asigna números de identificación a cada componente del mapa. Para los brushes (y los patches) éstos incluyen el número de  entidad y un número de brush. Para cualquier brush que no sea parte de un modelo de brush (b_model), el número de la entidad es cero (0). Cada b_model tendrá su propio número.

Cuando en la consola no salen mensajes de error en el archivo junk.text , un número de identificación nos dirá en que brushes está el problema. Hay que estar preparado para esto. Aun cuando haces cosas correctamente siempre conseguirás mensajes de error.

Al seleccionar Find Brush nos salta una ventana de dialogo con dos campos. El primer campo es el número de la entidad. Para la mayoría de los brushes, éste será cero. El segundo número es el número individual del brush. El seleccionar “OK,” nos saltará al componente en la ventana 2D del mapa resaltándolo como seleccionado.

 

Scirpts del Brush…

(Menú: Edit > Brush scripts…) (Teclas: ninguna)

Este comando permite realizar en múltiples pasos operaciones que manipulan un solo brush. Actualmente, solamente dos de los scripts de la lista funcionan.

 

BuildSpiral

Esto permite construir paso a paso una escalera espiral. Selecciona un brush, después haz clic en el mapa para localizar el origen de la espiral. Clikar otra vez para que salga una ventan de dialogo en el que puedes introducir el número de peldaños, el ángulo de la rotación, y la altura de cada peldaño.

BuildStep

Esto duplica el brush seleccionado y lo mueve +16 unidades X y las +8 unidades Z.

 

 

Comandos de menú "brush"

 

El menú brush deja al mapmaker convertir un brush seleccionado en un brush de una determinada forma. La mayor parte de los comandos cambian el número de los lados que el brush posee. También cambiará el brush a un solo color. Hay comandos individuales para cambiarlos de tres a nueve lados. El brush originado tendrá el número de caras o lados indicados por el comando (más la cara superior e inferior). La caras  “superiores” están se refiere siempre a la vista en la cual se crea. Los lados son siempre perpendiculares a las caras texturizadas de la vista.

 

Brushes de multibles caras

 

3 caras

(Menú: Brush > 3 sides)

(Tecla: CTRL + 3)

4 caras

(Menú: Brush > 4 sides)

(Tecla: CTRL + 4)

5 caras

(Menú: Brush > 5 caras)

(Tecla: CTRL + 5)

6 caras

(Menú: Brush > 6 caras)

(Tecla: CTRL + 6)

7 caras

(Menú: Brush > 7 caras)

(Tecla: CTRL + 7)

8 caras

(Menú: Brush > 8 caras)

(Tecla: CTRL + 8)

9 caras

(Menú: Brush > 9 caras)

(Tecla: CTRL + 9)

 

Arbitrary sided…(Numero de caras personalizado)

(Menú: Brush > Arbitrary sided…)

Este comando abre una ventana del diálogo en la que puedes incorporar un número de lados o caras en el campo, desde 3 caras a 64. Seleccionar OK para ejecutar el comando.

 

 

 

 

 

Primitives (Primitivos)

(Menú: Brusho > Primitives)

Los primitivos son  formas de brushes, con excepción de cuadrados y de los brushes  de multiples caras,  constituidas por un numero de caras especificado en el comando.

 

Cono…

(Menú: Brush > Primitives > Cone…)

 Esto abre una ventana pop-up de diálogo que te deja introducir el número de lados que deseas. La altura del cono es igual a la altura Z del cepillo. El cono se hace siempre con su eje a lo largo del eje Z. Al principio, el radio de la base del cono parece no estar  relacionado, o por lo menos está irregularmente relacionado a las dimensiones XY del brush del cual se transforma. Sin embargo, si haces un cono de cuatro caras, el diametro punto a punto de la pirámide que resulta es igual a la dimensión XY más larga del brush. Comenzando el mismo brush  del tamaño que utilizaste para el cono de cuatro lados, ajústalo a un cono de ocho lados dentro del volumen del cono de cuatro lados, cuatro de sus lados coinciden con los planos laterales del cono de cuatro lados. Hacerlo igual para un cono de 16 lados , e igual para uno de 32 lados. Sin embargo, el número de lados parecerá el máximo por encima de 56.

 

   

Conos de 4, 8, 16 y 32 lados

 

Esfera…

(Menú: Brush>Primitives>Sphere…)

 Esto abre una ventana pop-up del diálogo que te deja introducir el numero de lados que deseas. El número máximo de lados, que el editor puede  manejar es 32 .El diámetro de la esfera, es aproximadamente igual a la longitud XY del lado más coto del brush de el cual se transforma. Usar Undo para deshacer esto.

 

   

Esferas de 4, 8, 16 y 32 lados

 

Toro…
Este comando no funciona.

 

 

Mover Brushes Seleccionados

 

Moviendo el brush

Estas teclas mueven el brush dentro del mapa en incrementos discretos iguales a la distancia de la Grid.

Mover la selección hacia abajo (bajar)

(Tecla: MENOS del teclado numérico)

Cada vez que presiones esta tecla el componente seleccionado se moverá en el mapa hacia abajo a lo largo del Z-eje un paso de la longitud de la Grid (en el ajuste actual de la Grid). No es afectado por la vista 2D actual.

Mover la selección hacia arriba (subir)

(Tecla: MAS del teclado numérico)

Cada vez que presiones esta tecla el componente seleccionado se moverá en el mapa hacia abajo a lo largo del Z-eje un paso de la longitud de la Grid (en el ajuste actual de la Grid). No es afectado por la vista 2D actual.

 

Empujamdo el brush

Estas teclas mueven el brush dentro del mapa en incrementos discretos iguales a la distancia de la Gris del mapa. El movimiento se realiza a efectos de la ventana seleccionada, no a efectos de coordenadas de XYZ.

 

Empujar hacia abajo  

(Tecla: ALT +  FLECHA ABAJO)

Cada vez que presiones estas teclas el componente seleccionado se moverá en el mapa hacia abajo, en la vista del mapa seleccionada, un paso de la longitud de la Grid (en el ajuste actual de la Grid). El movimiento se realiza a efectos de la ventana seleccionada, no a efectos de coordenadas de XYZ.

 

Empujar hacia arriba

(Tecla: ALT + FLECHA ARRIBA)

Cada vez que presiones estas teclas el componente seleccionado se moverá en el mapa hacia arriba, en la vista del mapa seleccionada, un paso de la distancia de la Grid (en el ajuste actual de la Grid). El movimiento se realiza a efectos de la ventana seleccionada, no a efectos de coordenadas de XYZ.

 

Empujar hacia la izquierda

(Tecla: ALT + FLECHA IZQUIERDA)

Cada vez que presiones estas teclas el componente seleccionado se moverá en el mapa hacia la izquierda, en la vista del mapa seleccionada, un paso de la distancia de la Grid (en el ajuste actual de la Grid). El movimiento se realiza a efectos de la ventana seleccionada, no a efectos de coordenadas de XYZ.

 

Empujar hacia la derecha

(Tecla: ALT + FLECHA DERECHA)

Cada vez que presiones estas teclas el componente seleccionado se moverá en el mapa hacia la derecha, en la vista del mapa seleccionada, un paso de la distancia de la Grid (en el ajuste actual de la Grid). El movimiento se realiza a efectos de la ventana seleccionada, no a efectos de coordenadas de XYZ.

 

(Snap to Grid) Alinear la selección con la Grid

 (Tecla: CTRL + G)

Si estás utilizando la Grid del mapa para mantener los brushes alineados, esto es una gran herramienta. Los brushes rotados y los que han sido girados o retorcidos en algún vértice pueden tener vértices que no coincidan en intersecciones de la Grid del mapa. Esta opción alinea los vértices con la Grid. ¡Advertencia: usar la opción “Snap to Grid” en una Grid Grande puede deformar enormemente el brush, aunque puedes recuperar su estado anterior con el comando Undo…).

 

 

Técnicas eficientes para la construccion del brush

 

Desarrolaldo por Astrocrrep para Quake 3 World online.

La compilación de un mapa es un mal necesario. Requiere tiempo, ocupa tu procesador, y en las fases iniciales de la construcción del mapa, a menudo surgen cantidad de en la construcción. No se puede hacer nada sobre eso… excepto la cosa del tiempo. Es posible, que con una construcción más cuidadosa de mapa y el BOT (o quizás la reconstrucción) se pueda reducir perceptiblemente los tiempos de compilado, y reducir el tamaño del el mapa y del archivo .bsp (el último es importante para los downloads o transferencias de datos). Lo que sigue a continuación se basa en los informes escritos por Astrocreep que documentó su trabajo extenso para hacer mas eficiente la compilación de uno de los mapas de muestra de Id Software.

 

Construcción del brush

No puede insistir demasiado en esto. Si deseas tiempos de compilado más cortos  y los tamaños de los archivo más pequeños, la construcción eficiente del brush en tu mapa es importantísima. Hay una regla principal:

NO SOLAPAR LOS BRUSHES SI NO ES NECESARIO.

No importa qué tengas que hacer para construir tu mapa, no solapes los cepillos. El solapamiento significa que todo o parte de dos o más brushes comparten el mismo espacio físico. Si los brushes se solapan, se aumentará el tiempo de compilación, y agregaras más tamaño a tus archivos .map, .bsp y .aas.

La construcción eficiente del mapa significa que todos los brushes se unen cara a cara, pero nunca se intersecan.

 

Contar los brushes

El mapa de muestra con el que se ha trabajado tiene 1.100 brushes. Sin cambiar la disposición o el aspecto del mapa, Astrocreep podía quitar 110, o el 10% del total de brushes.

Es necesario aprender cómo a hacer más con un solo brush que con brushes múltiples. Evalua tu mapa después de las fases iniciales de la construcción, todo o en parte, escoge una parte del mapa, mira la disposición y preguntarte si podrías hacer eso con menos brushes. Con toda probabilidad, 9 respuestas de cada 10, la respuesta será sí.

Si haces una estructura fuera de tres brushes (o cualquiera) y tienes la misma altura del piso y del techo (en algunos casos las alturas pueden ser diferentes), mirarlo en la “visita superior”. ¿Puedes dibujar una línea desde cada vértice que no atraviese esos brushes? Si puedes, entonces el ese grupo de  tres brushes puede convertirse en un solo brush.

Ejemplo: aquí esta cómo el motor gráfico pudo mirar esto.

Usando 3 brushes cuadrados, tienes 18 caras (con una textura trazada en cada lado) que se calcularán. No se toma en consideración el número de las caras del triángulo que esos brushes pueden generar en-juego. Aunque dos tercios de esas caras no se están dibujando, todavía están siendo calculadas por el proceso de la compilación y el proceso de compilación del archivo de navegación del BOT.

A diferencia de esto:

Usando un brush (que llena la misma área), tienes solamente 6 caras que se calcularán. Aquí, estás compilando solamente un tercio de la geometría total. Irá más rápidamente.

La construcción eficiente del mapa significa usar pocos brushes para construir el mapa.

 

Caulking

Es posible incluso ir más lejos, y reducir el número de las caras del brush que son calculadas aplicando un no-dibujo especial, una textura “sólida” llamada “caulk” (common/caulk) en las superficies que no se ven en el juego. Cuando se aplica en el editor, esta textura es de un color de rosa chillón brillante. En el juego, no se dibuja. Es importante aplicar texturas caulk a  cualquier cara del brush que no forme parte del “esqueleto” del mapa ni pueda ser visto por ningun jugador durante juego. Esto no hace que se mejoren los FPS de tu mapa, pero al indicar al copilador que cinco de las seis caras en un brush cuadrado no tenga que ser calculado, debería mejorar algo los tiempos de compilación. Mientras no tengas ningún brush que tenga que “compartir” el mismo espacio, texturizar los  brushes con caulk debería ayudar a reducir el tiempo de compilado. Sin embargo, si utilizas las texturas cauk en un brush que comparte el espacio de otro, tu tiempo de compilación y todos los tamaños de los archivos aumentarán realmente.

Astrocreep compiló el mapa de prueba casi 200 veces, muchas de esas veces lo hizo tras cambiar un solo brush, para ver qué cambiaría. El caulking se parece ayudar en la fase -light de la mayoría de las compilaciones.

La construcción eficiente del mapa significa aplicar texturas caulk en todas las caras no vistas del brush.

 

Consejos varios

Luces: Puedes mejorar los tiempos de compilado si usas cuidadosamente las luces. Las entidades light, especialmente muchas entidades light pueden reducir el tiempo de compilación.

Brushes Clip: Los brushes clip  que tienen más de dos lados que no tocan otro brush parecen aumentar los tiempos de compilación.

Brushes Hint: Utilízalos solamente si necesitas resolver un problema del visionado. Usarlos pueden alargar perceptiblemente la compilación.

 

 

 
 
 
 

 Última actualización: miércoles, 20 de mayo de 2020.  

mEg@bIt