Capítulo de muestra del libro de cocina CryENGINE 3 Escultura de terreno

Continuamos con nuestro sorteo de libros de cocina CryENGINE 3, y le damos la oportunidad de obtener un adelanto de algunos de los contenidos que este libro asombroso tiene para ofrecer. A continuación, encontrará el primero de los tres próximos capítulos de muestra que publicaremos a lo largo de la próxima semana. Si aún no ha ingresado para tener la oportunidad de ganar una copia, averigüe cómo después del salto!

El otoño finalmente está aquí y lo estamos iniciando con estilo al asociarnos con Packt Publishing para darle la oportunidad de ganar uno de los tres ejemplares de su muy esperado libro de cocina CryENGINE 3, escrito por Dan Tracy y Sean Tracy de Crytek. Con el reciente lanzamiento de CryENGINE 3, este es el momento perfecto para comenzar y trabajar con uno de los motores de juegos más poderosos de la industria..


Dirígete al post del concurso y descubre cómo participar.!



Capitulo de muestra

CryENGINE 3: Escultura De Terreno

Dado que la complejidad global que implica la creación de juegos se vuelve extremadamente difícil y costosa con cada generación sucesiva de consolas, muchos desarrolladores de juegos han recurrido a los motores de middleware, como CryENGINE, que ofrecen un canal completo para el proceso de desarrollo del juego. CryENGINE es un ajuste perfecto para la mayoría de los desarrolladores, ya que les permite a los usuarios crear su contenido de forma rápida y sencilla y, por lo tanto, permiten que los juegos cumplan y superen los estándares de calidad de la generación actual y sean creados por menos y menos personas..

En este artículo por Dan Tracy, autor de CryENGINE 3 Cookbook, cubriremos lo siguiente:

  • Creando un nuevo nivel
  • Generando un terreno procesal.
  • Navegando un nivel con la cámara sandbox
  • Esculpiendo el terreno
  • Configurando la textura del terreno

Creando un nuevo nivel

Antes de poder hacer algo con la jugabilidad del proyecto que está creando, primero necesitamos una base de un nuevo nivel para que el jugador se ponga de pie. Esta receta cubrirá cómo crear un nuevo nivel desde cero..

Preparandome

Antes de comenzar, debes tener abierto Sandbox 3.

Cómo hacerlo?

En cualquier momento, con Sandbox abierto, puede crear un nuevo nivel siguiendo estos pasos:

1. Haga clic en Expediente (se encuentra en la parte superior izquierda de la barra de herramientas principal del Sandbox).
2. Haga clic en Nuevo.

Desde aquí, verá una nueva pantalla de diálogo que le pedirá información sobre cómo desea configurar su nivel. El aspecto más importante de un nivel es nombrarlo, ya que no podrá crear un nivel sin algún tipo de nombre propio para el directorio del nivel y su .llorar expediente. Puede nombrar su nivel como desee, pero para facilitar la instrucción nos referiremos a este nivel como Mi nivel:

1. En el Nombre de nivel cuadro de diálogo, escriba Mi nivel.
2. Para el Terreno propiedades, utilice los siguientes valores:
* Utilizar Tamaño personalizado del terreno: Cierto
* Resolución de mapas de altura: 512x512
* Metros por unidad: 1
3. Haga clic en DE ACUERDO.

Dependiendo de las especificaciones de su sistema, puede encontrar que crear un nuevo nivel requerirá de unos pocos segundos a un par de minutos. Una vez finalizado, el Viewport debe mostrar un cielo azul claro con el cuadro de diálogo en su consola leyendo las siguientes tres líneas:

Pre-caché síncrono terminado de mallas de render para 0 CGF's

Posición de la cámara preclasificada finalizada (1024,1024,100) en 0.0 seg.

Reproductor de spawn para el canal 1.

Esto significa que el nuevo nivel fue creado exitosamente..


Cómo funciona?

Echemos un vistazo más de cerca a cada una de las opciones utilizadas al crear este nuevo nivel.

Usando la opción de terreno

Esta opción permite al desarrollador controlar si un terreno en el nivel debe ser manipulado por un mapa de altura o no. A veces, el terreno puede ser costoso para los niveles y si alguno de sus niveles futuros solo contiene interiores o solo objetos colocados para que el jugador navegue, establecer este valor en falso será una buena opción para usted y le ahorrará una gran cantidad de memoria. Ayuda en el desempeño del nivel posterior..

Resolución de mapas de altura

Este menú desplegable controla la resolución del mapa de altura y el tamaño base del área de juego definida. La configuración puede variar desde la resolución más pequeña (128 x 128) hasta la resolución más grande admitida (8192 x 8192).

Metros por unidad

Si la Resolución de mapa de altura se considera en términos de tamaño de píxel, este cuadro de diálogo también se puede ver como Metros por píxel. Esto significa que cada píxel del mapa de altura estará representado por estos muchos metros. Por ejemplo, si la resolución de un mapa de altura tiene 4 metros por unidad (o píxel), luego cada píxel en el mapa de altura generado medirá cuatro metros de largo y ancho en el nivel.

Aunque esto Metros por unidad se puede utilizar para aumentar el tamaño de su nivel, disminuirá la fidelidad del mapa de altura. Notará que intentar suavizar el terreno puede ser difícil, ya que habrá un tamaño de triángulo mínimo más amplio establecido por este valor.

Tamaño del terreno

Este es el tamaño resultante del nivel con la ecuación de (Resolución de mapa de altura) x (Metros por unidad). Aquí hay algunos ejemplos de los resultados que verá (m = metros):

  • (128x128) x 4m = 512x512m
  • (512x512) x 16m = 8192x8192m
  • (1024x1024) x 2m = 2048x2048m
Hay más?

Si necesita cambiar el tamaño de su unidad después de crear el mapa, puede cambiarlo ingresando a Terrain Editor | Modificar | Establecer el tamaño de la unidad. Esto le permitirá cambiar los metros por unidad originales al tamaño que desea que sea.


Generando un terreno procesal.

Esta receta trata de la generación procesal de un terreno. Aunque nunca es lo suficientemente bueno para un producto final porque querrá ajustar el mapa de altura según sus especificaciones, estos terrenos generados son un excelente punto de partida para cualquier persona nueva en la creación de niveles o para cualquier persona que necesite configurar un nivel de prueba con el Sandbox. Diferentes semillas de mapas de altura y un par de ajustes a la altura del nivel, y puede generar cadenas de montañas o islas básicas rápidamente que están listas para usar al instante..

Preparandome

Tener Mi nivel abrir dentro de Sandbox.

Cómo hacerlo?

En la parte superior central de la barra de herramientas principal de Sandbox, encontrará una selección de menú llamada Terreno. Desde allí debería ver una lista de opciones, pero por ahora querrá hacer clic en Editar terreno. Esto abre el Editor de terreno ventana.

los Editor de terreno La ventana tiene una multitud de opciones que se pueden usar para manipular el mapa de altura en tu nivel. Pero primero queremos configurar un mapa de altura generado básico para que podamos construir un mapa simple con.

Antes de generar algo, primero debemos establecer la altura máxima del mapa en algo más manejable. Sigue estos pasos:

1. Haga clic en Modificar.
2. Luego haga clic Establecer altura máxima.
3. Fije su Altura máxima del terreno a 256 (estas unidades están en metros).

Ahora, podemos ser capaces de generar el terreno:

1. Haga clic en Herramientas.
2. Luego haga clic Generar Terreno.
3. Modificar el Variación (Base Aleatoria) al valor de 15.
4. Haga clic en DE ACUERDO.

Después de generar, deberías poder ver un mapa de altura similar a la siguiente captura de pantalla:


Este es un buen momento para generar textura de superficie (Archivo | Generar textura de superficie | Aceptar), que le permite ver el mapa de alturas con una textura básica en la Vista en perspectiva.
Cómo funciona?

los Altura máxima el valor es importante ya que gobierna la altura máxima a la que puede elevar su terreno. Esto no significa que sea la altura máxima de su nivel por completo, ya que aún puede colocar objetos muy por encima de este valor. También es importante tener en cuenta que si importa un mapa de altura en escala de grises a CryENGINE, este valor se utilizará como el extremo superior del mapa de altura (255,255,255 blanco) y el extremo inferior siempre estará en 0 (0,0,0 negro) . Por lo tanto, el mapa de altura se generará dentro de 0 m de altura y la altura máxima.

Problemas como los siguientes son una ocurrencia común:

* Los picos altos están en todas partes en el mapa o hay montañas masivas y pendientes pronunciadas:
Solución: Reducir la Altura máxima a un valor que sea más adecuado para las montañas y pendientes que desee
* El mapa es muy plano y no tiene colinas ni nada de mi mapa de alturas:
Solución: aumentar la Altura máxima a un valor que es adecuado para hacer las colinas que desea

Hay más?

Aquí hay algunas otras configuraciones que puede elegir usar al generar el terreno..

Configuraciones de generación de terreno

Las siguientes son las configuraciones para generar un terreno de procedimiento:

* Tamaño de la característica: Este valor maneja las manipulaciones generales de altura dentro de la semilla y el tamaño de cada montículo dentro de la semilla. Como el tamaño de la función depende en gran medida de los números redondeados, es fácil terminar con una isla perfectamente redondeada, por lo tanto, es mejor dejar este valor en 7.0.
* Bumpiness / Ruido (Fade): Básicamente, este es un filtro de ruido para el nivel. Cuanto mayor sea el valor, más ruido aparecerá en el mapa de altura..
* Detalle (Pases): Este valor controla qué tan detalladas serán las pendientes. Por defecto, este valor es muy alto para ver las protuberancias individuales en las pendientes para dar una mejor impresión de una superficie más áspera. Reducir este valor disminuirá la cantidad de detalle / rugosidad en las pendientes observadas.
* Variación: Esto controla el número de semilla utilizado en la generación general del Mapa de Altura del Terreno. Hay un total de 33 semillas que van de 0 a 32 para elegir como base de partida para un mapa de altura básico.
* Desenfoque (Pases de desenfoque): Este es un filtro de desenfoque. Cuanto mayor sea la cantidad, más suaves serán las pendientes en tu mapa de altura.
* Establecer el nivel de agua: Desde el Editor de terreno ventana, puede ajustar el nivel de agua desde Modificar | Establecer el nivel del agua. Este valor cambia la altura base del nivel del océano (en metros).
* Hacer Isle: Esta herramienta le permite tomar el mapa de altura de su nivel y baja automáticamente las áreas de borde alrededor del mapa para crear una isla. Desde el Editor de terreno ventana, seleccione Modificar | Hacer la isla.


Navegando un nivel con la cámara sandbox

La capacidad de navegar intuitivamente los niveles es una habilidad básica con la que todos los desarrolladores deben estar familiarizados. Afortunadamente, esta interfaz es bastante intuitiva para cualquiera que ya esté familiarizado con el esquema de control de WASD, popular en la mayoría de los juegos de disparos en primera persona desarrollados en la PC..

Preparandome

Ya debería haber abierto un nivel desde el contenido del Kit de desarrollo de software de CryENGINE 3 y haber visto una vista en perspectiva que muestra el nivel.

La ventana donde puede ver el nivel se llama la ventana de Perspectiva. Se utiliza como la ventana principal para ver y navegar su nivel. Aquí es donde se creará una gran mayoría de su nivel y se realizarán tareas comunes como la colocación de objetos, la edición de terreno y las pruebas de juego en el editor.

Cómo hacerlo?

El primer paso para interactuar con el nivel cargado es practicar el movimiento en la ventana de Perspectiva..

Sandbox está diseñado para ser ergonómico para usuarios diestros y zurdos. En este ejemplo, usamos el esquema de control WASD, pero las teclas de flecha también son compatibles con el movimiento de la cámara.

1. Presione W para avanzar.
2. Luego presione S moverse hacia atrás.
3. UNA se presiona para moverse o hacia la izquierda.
4. finalmente, re se presiona para mover o estirar a la derecha.
5. Ahora que ha aprendido a mover la cámara sobre sus ejes principales, es hora de ajustar la rotación de la cámara..
6. Cuando la ventana gráfica sea la ventana activa, mantenga presionado el botón derecho del mouse sobre el mouse y mueva el puntero del mouse para activar la vista..
7. También puede mantener presionado el botón central del mouse y mover el puntero del mouse para desplazar la vista.
8. Gire la rueda del botón central del ratón para mover la vista hacia adelante o hacia atrás.
9. Finalmente, puede mantener presionada la tecla Mayús para duplicar la velocidad de los movimientos de la ventana gráfica.

Cómo funciona?

El Viewport permite una gran diversidad de vistas y diseños para que pueda ver su nivel; La vista en perspectiva es solo una de muchas. La vista en perspectiva se usa comúnmente ya que muestra la salida del motor de render. También le presenta una vista de su nivel utilizando la perspectiva estándar de la cámara, mostrando toda la geometría, la iluminación y los efectos..

Para experimentar más con la ventana gráfica, tenga en cuenta que también puede representar subsistemas y sus conjuntos de herramientas, como el diagrama de flujo o el editor de caracteres..

Hay más?

Es probable que desee ajustar la velocidad de movimiento y cómo personalizar la vista para su uso individual. También puede dividir la ventana gráfica en varias vistas diferentes, lo cual se explica más adelante..

Control de velocidad de movimiento de la ventana
los Velocidad La entrada se utiliza para aumentar o disminuir la velocidad de movimiento de todos los movimientos que realice en la vista principal de Perspectiva.

Los tres botones a la derecha de la Velocidad: las entradas son enlaces rápidos a la .1, 1, y 10 velocidades.

En Vistas, puede ajustar la ventana gráfica para ver diferentes aspectos de su nivel.
Las vistas Vista superior, Vista frontal e Izquierda mostrarán sus respectivos aspectos de su nivel, que consisten en cuadros delimitadores y ayudantes basados ​​en líneas. Cabe destacar que la geometría no está dibujada..

La vista de mapa muestra un mapa general de su nivel con información de ayuda, terreno y textura correspondiente a su nivel.

Dividir la vista principal a varios sub-puertos
Los usuarios individuales pueden personalizar el diseño y configurar las opciones de visualización específicas para sus necesidades utilizando el menú de la ventana gráfica al que se accede haciendo clic con el botón derecho en el encabezado de las vistas..

La ventana de Configuración de diseño se puede abrir desde el encabezado de la ventana gráfica bajo Configurar diseño. Una vez seleccionado, podrá seleccionar una de las configuraciones preestablecidas para organizar las ventanas del editor de Sandbox en múltiples configuraciones de ventana gráfica. Debe reconocerse que en las configuraciones de múltiples vistas de la ventana algunos efectos de representación pueden estar deshabilitados o el rendimiento puede verse reducido..


Esculpiendo el terreno

En esta sección, cubriremos los conceptos básicos de pintar su mapa de alturas a mano. Esta receta le enseñará a aplanar, elevar, bajar y suavizar el mapa de altura a mano, pintando en ambos Editor de terreno ventana así como Vista de perspectiva.

Utilizando la Cepillo de terreno desde el Editor de terreno es bueno para un pase de alto nivel general sobre tu nivel; Es solo decente cuando se comienza en un nivel nuevo. Para un trabajo más detallado, muchos diseñadores utilizan el Cepillo de terreno desde dentro del Perspectiva viewport Para ver sus resultados al instante. Estaremos cubriendo ambos métodos..

Preparandome

1. Tener My_Level abierto dentro de Sandbox.
2. Revise el Generando un terreno procesal. receta para aprender sobre el Editor de terreno.
3. Revise el Navegando un nivel con la cámara sandbox receta para familiarizarse con el Vista de perspectiva.
4. Tener el Barra de resumen Disponible en su diseño Sandbox y listo.

Cómo hacerlo?

En el lado derecho de esta ventana verá un menú desplegable que dice: Cepillo de terreno. Este menú es el punto focal de esta receta y tiene las mismas funciones tanto en el Editor de terreno como en los métodos de Vista en perspectiva.

1. Para empezar, aplanaremos una sección del nivel. Cambiar el Tipo de pincel (menú desplegable para Aplanar) y establece los siguientes parámetros:
* Radio exterior = 50
* Radio interior = 50
* Dureza = 1
* Altura = 30
2. Ahora pinta sobre la esquina noroeste del mapa y aplana todo el cuarto del mapa.

3. Cambie el Tipo de cepillo para Suave y establecer los siguientes parámetros:

* Radio exterior = 50
* Dureza = 0.7

4. Entre el área aplanada y el resto del mapa de altura generado, pinte sobre esta área, que suavizará la pendiente entre el área aplanada inferior y las ubicaciones superiores.
5. Cambie el Tipo de cepillo para Subir / bajar y establecer los siguientes parámetros:

* Radio exterior = 30
* Radio interior = 25
* Dureza = 0.4
* Altura = 1

6. En el Aplanado área, pinte alrededor en el mismo lugar para ver la elevación del mapa de altura.

7. Esculpir el terreno en el vista de perspectiva. El método de Vista en perspectiva tiene los mismos pinceles como se demostró anteriormente, excepto que puede encontrar dónde cambiarlos en el Barra de resumen bajo la Terreno pestaña | Modificar botón.

Cómo funciona?

Aunque cada una de las funciones del pincel se explica por sí misma según su nombre, comparten muchas de las mismas propiedades. Estas propiedades son Radio exterior, Radio interior, Dureza, y Altura (con la excepción de Smooth). Lo siguiente es lo que hace cada una de estas propiedades:

* Radio exterior: El borde exterior del pincel que sentirá el menor impacto del resto de los parámetros del pincel.
* Radio interior: El área interior que sentirá el mayor impacto. Dependiendo de Dureza y Altura, hay una caída entre el Radio interior y Radio exterior.

Para crear montículos, colinas o montañas más empinados, establezca el radio interior y exterior para que estén cerca uno del otro. Para obtener colinas más suaves y poco profundas, separe el radio interior y exterior.

* Dureza: ¿Qué tan duro debe ser el pincel al pintar? Básicamente, si el Dureza se establece en 1, luego dentro de un clic tendrás la altura deseada. Si se establece en 0.01, luego se necesitarán 100 clics para lograr el mismo resultado. (Para suavizar, esto controla lo difícil que intentará normalizar los triángulos del mapa de altura).
* Altura: Esto controla la altura deseada que desea el Aplanar herramienta para establecer el terreno en, o controla el tamaño del paso (metros) de la Subir / bajar herramienta.

Hay más?

Aquí hay otras configuraciones adicionales que tal vez desee utilizar al esculpir un terreno..

Ajustes de ruido

Habilitar ruido solo funciona con el Aplanar y Subir / bajar cepillos Esta configuración agrega un poco de variación aleatoria al mapa de altura al pintar con estos pinceles.

* Escala (%): ¿Qué tan alto / bajo será la modificación de ruido?
* Frecuencia (%): Con qué frecuencia el ruido variará la altura a lo largo de la superficie del terreno

Reposicionar objetos y vegetación.

Al habilitar cualquiera de estas casillas, se volverá a colocar el Objeto / Vegetación después de que la altura debajo de ese Objeto / Vegetación haya cambiado (esto no funciona si el objeto está debajo del terreno).

Toda la vegetación afectada se encuentra bajo la Terreno | Vegetación pestaña en el Barra de resumen.

Todos los objetos afectados están bajo la Objetos pestaña en el Barra de resumen.


Configurando la textura del terreno

En esta receta, le enseñaremos cómo configurar una nueva textura de terreno similar al césped para que pueda pintar en el terreno..

Preparandome

1. Tener Mi nivel abrir dentro de Sandbox.
2. Revise el Generando un terreno procesal. receta para aprender sobre el Editor de terreno.
3. Revise el Navegando un nivel con la cámara sandbox receta para familiarizarse con el Vista de perspectiva.
4. Revise el Esculpiendo el terreno receta.
5. Tener el Barra de resumen abierto y listo.

Cómo hacerlo?

1. Primero abre el Capas de textura del terreno Ventana, encontrada en la principal. Barra de herramientas de sandbox | Terreno | Textura.
2. En esta ventana, crea una nueva capa.-Añadir capa.
3. Renombra tu NewLayer a Hierba (haga doble clic NewLayer renombrarlo).
4. Luego cambia la textura de la capa de esta capa: Cambiar la textura de la capa | Carpeta de terreno | ground_mud_grey.dds.
5. Ahora cambia la textura del detalle; Haga clic en la ruta del material para esta capa., Materiales / material_terrain_default | Carpeta de terreno | hierba_7. Volver a Capas de textura del terreno ventana | Asignar material.
6. Configura tu capa para que tenga un color verdoso.-RollupBar | Terreno pestaña | Pintor de capas | seleccionar Hierba. Ajuste el color en el cuadro de color a Rojo: 191, Verde: 215, Azul: 138.
7. Guarde el color en su capa y haga clic en Capa botón arriba del cuadro de color.
8. Pinta sobre tu terreno..

Cómo funciona?

los Textura de capa y Detalle de textura trabajen juntos de manera superpuesta para dar vida a la textura del terreno que se aplica sobre el terreno. Mientras que la Textura de capa Funciona mejor como un aleatorizador de brillo general (visto con el ground_mud_grey textura) para romper el mosaico distante, el Detalle de textura Es la textura principal que se ve cuando está más cerca de la vista del jugador..

Es importante tener en cuenta que la Detalle de textura debe proporcionar el detalle solamente y no tanto del color (el color se maneja en el Textura de capa). Las texturas de color grisáceo dentro del material de detalle no interfieren con los colores del Textura de capa. Cada una de estas texturas difusas debe ser filtrada en paso alto..

Hay más?

Aquí hay algunas configuraciones adicionales que pueden ser utilizadas.

Radio y Dureza: Al igual que en Sculpting Terrain, puede cambiar el tamaño y la dureza del pincel en Layer Painter a una amplia área de cobertura con su Terrain Texture, o simplemente para obtener esos detalles finos donde los necesite..

Altitud y pendiente: Estos parámetros se pueden establecer por capa, lo que le permite pintar solo esa capa dentro del umbral de Altitud (metros) o Pendiente (grados). Esto es especialmente útil para capas como acantilados (por ejemplo, 55 a 90).

Filtro (Brillo): El control deslizante Filtro es un paso de brillo adicional en el color que ya ha establecido. Sin tener que cambiar el color una y otra vez, puede cambiar el brillo rápidamente con este control deslizante.

Resolución del azulejo: La resolución de mosaicos afecta la cantidad de mosaicos de terreno en cada sector del terreno. Cuanto mayor sea la resolución, mayor será la cantidad de mosaicos utilizados (mejor mezcla de capas y transiciones más suaves en la Textura de capa).

Desde 64x64 hasta 2048x2048, esta resolución de mosaico es un factor importante cuando se trata de optimización, así como de terreno de alta calidad. Se recomienda que utilice un valor más alto para las áreas de juego de su mapa y valores bajos para los sectores del terreno que no tendrán el jugador en él..

Generando texturas superficiales: Es importante después de trabajar con las texturas del terreno en su mapa a una textura de superficie generada para hornear sus texturas en su terreno. Esto crea una versión comprimida de su trabajo de textura de terreno pintado en un .archivo pak llamado terraintexture.pak. La información almacenada en este archivo .pak reduce el tamaño total de la textura del terreno del mapa a 1/6 de su tamaño original, así como también reduce la cantidad de extracciones en el nivel.

Para generar texturas de superficie, vaya a Archivo | Generar textura de superficie | Elegir resolución (mayor = mejor calidad, menor rendimiento) | (Opcional) Alta calidad (hace un pase adicional sobre las texturas para hornear con más detalle mientras mantiene la misma huella de memoria) | DE ACUERDO.

Resumen

En este artículo echamos un vistazo a la escultura del terreno..


Sobre el Autor :

Dan Tracy

Dan Tracy es el Diseñador de nivel técnico de Crytek para los galardonados CryENGINE y Crysis 2. Es responsable de la creación y el mantenimiento de numerosas características técnicas y aplicaciones externas utilizadas para la telemetría y la optimización. Visto como más que un diseñador de niveles, Dan se enorgullece de empujar el sobre cuando se trata de mejorar los diseños técnicos y relacionados con el juego en múltiples disciplinas de producción. Dan fue reclutado por Crytek en 2009 después del año anterior y trabajó como técnico de control de calidad para BioWare. Fue reclutado debido a su papel fundamental en la cofundación y el desarrollo líder en el galardonado proyecto de conversión total 'MechWarrior: Living Legends'. Desde entonces, ha aparecido en numerosas revistas de juegos y ha sido entrevistado por varios medios de comunicación. Dan es un jugador apasionado, pero un diseñador y creador de juegos aún más apasionado, con un vasto conocimiento y experiencia con múltiples motores y títulos, entre los que se incluyen Never Winter Nights 'Aurora, el motor de Battlefield, Frostbite ?, Unreal 3 y CryENGINE.


Dirígete al post del concurso y descubre cómo participar.!



Nota del editor: Este post fue patrocinado por Packt Publishing.