Capítulo de muestra del libro de cocina CryENGINE 3 Conceptos básicos de la caja de arena

Hoy 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 segundo de los tres próximos capítulos de muestra que lanzaremos esta semana. Si aún no ha ingresado para tener la oportunidad de ganar una copia del libro, descubra 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: Fundamentos de la caja de arena

Este artículo tratará sobre la mayoría de las herramientas que utilizará de forma regular, así como los elementos esenciales para crear nuevos y emocionantes niveles para su proyecto. También incluirá el uso de una de las mejores características de CryENGINE. Lo que ves es lo que juegas al demostrar cómo puedes jugar el nivel que creaste a pedido..

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

  • Colocando los objetos en el mundo.
  • Refinando la colocación del objeto.
  • Utilizando las capas para la colaboración de múltiples desarrolladores
  • Cambiar al modo de juego
  • Salvando tu nivel
  • Exportando a un motor
  • Objetos esenciales del juego
  • Ejecutando un mapa desde el Lanzador

Colocando los objetos en el mundo.

Colocar objetos es una tarea simple; sin embargo, la configuración básica del terreno no se explica a la mayoría de los nuevos desarrolladores. Es común preguntar por qué, al arrastrar y soltar un objeto en el mundo, no pueden ver el objeto. Esta sección le enseñará las formas más fáciles de colocar un objeto en su mapa usando el Seguir terreno método.

Preparandome

1. Tener Mi nivel abrir dentro de Sandbox (después de completar cualquiera de los Esculpiendo el terreno o Generando un terreno procesal. recetas).
2. Revise el Navegando un nivel con la cámara sandbox receta para familiarizarse con el Vista de perspectiva.
3. Tener el Barra de resumen abierto y listo.
4. Asegúrate de tener la Barra de herramientas EditMode Abrir (clic derecho en la parte superior principal Barra de herramientas y marca Barra de herramientas EditMode).

Cómo hacerlo?

Primero seleccione el Seguir terreno botón. Luego abre el Objetos pestaña dentro de la Barra de resumen. Ahora desde el Cepillos navegador, seleccione cualquier objeto que desee colocar (por ejemplo,, valores predeterminados / caja).

Puede hacer doble clic en el objeto o arrastrarlo y soltarlo en el Vista de perspectiva. Mueva el mouse a cualquier lugar donde haya terreno visible y luego haga clic una vez más para confirmar la posición en la que desea colocarlo..

Cómo funciona?

los Seguir terreno La herramienta es una herramienta simple que permite que el pivote del objeto coincida con la altura exacta del terreno en esa ubicación. Esto se ve mejor en objetos que tienen un punto de pivote cerca o cerca de la parte inferior de ellos.

Hay más?

También puedes seguir el terreno y ajustar objetos. Este método es muy similar al Seguir terreno Método, excepto que esto también incluye objetos al colocar o mover el objeto seleccionado..

Este método no funciona en objetos no físicos..


Refinando la colocación del objeto.

Después de colocar los objetos en el mundo con sólo el Seguir terreno o Ajuste a objetos, es posible que necesite ajustar la posición, la rotación o la escala del objeto. En esta receta, le mostraremos los conceptos básicos de cómo podría hacerlo junto con algunos atajos de teclas de acceso rápido para que este proceso sea un poco más rápido. Esto funciona con cualquier objeto que se coloque en su nivel, desde Entidades a los sólidos.

Preparandome

1. Tener Mi nivel abrir dentro de Sandbox
2. Revise el Navegando un nivel con la cámara sandbox receta para familiarizarse con el Vista de perspectiva.
3. Asegúrate de tener la Barra de herramientas EditMode Abrir (clic derecho en la parte superior principal Barra de herramientas y marca Barra de herramientas EditMode).
4. Coloca cualquier objeto en el mundo..

Cómo hacerlo?

En esta receta, llamaremos a su objeto (el lugar cuya ubicación desea refinar) Caja para facilitar la referencia.

1. Seleccione Caja.
2. Después de seleccionar Caja, Debería ver un widget de tres ejes en él, que representa cada eje en el espacio 3D. Por defecto, estos ejes se alinean con el mundo:
* Y = Adelante
* X = Derecho
* Z = Arriba

Para mover el Caja En el espacio del mundo y cambiar su posición, proceda con los siguientes pasos:

3. Haga clic en el Seleccionar y mover icono en el Barra de herramientas EditMode (1 para el atajo de teclado).
4. Haga clic en el X y arrastre el mouse hacia arriba y hacia abajo en relación con la dirección de la flecha.
5. Al soltar el botón del ratón se confirmará el cambio de ubicación..

Puede mover objetos en un solo eje, o en dos al mismo tiempo haciendo clic y arrastrando en el plano adyacente a cualquiera de los dos ejes: X + Y, X + Z o Y + Z. Para rotar un objeto, haga lo siguiente :

1. Seleccione Caja (si no lo has hecho ya).
2. Haga clic en el Seleccionar y rotar icono en el Barra de herramientas EditMode (2 para el atajo de teclado).
3. Haga clic en el Z Flecha (ahora tiene una esfera al final) y arrastre el mouse de lado a lado para hacer rodar el objeto en relación con el eje..
4. Al soltar el botón del ratón se confirmará el cambio de rotación..

No puedes rotar un objeto a lo largo de múltiples ejes. Para escalar un objeto, haga lo siguiente:

1. Seleccione Caja (si no lo has hecho ya).
2. Haga clic en el Seleccionar y escalar icono en el Barra de herramientas EditMode (3 para el atajo de teclado).
3. Haga clic en el CENTRAR cuadro y arrastre el mouse hacia arriba y hacia abajo para escalar en los tres ejes a la vez.
4. Al soltar el botón del ratón se confirmará el cambio de escala..

Es posible escalar en un solo eje o dos ejes; sin embargo, esto es altamente desanimado como Escalado no uniforme resultará en mallas físicas rotas para ese objeto. Si necesita que un objeto se amplíe, le recomendamos que solo lo haga uniformemente en los tres ejes!

Hay más?

Aquí hay algunas formas adicionales de manipular objetos dentro del mundo..

Posición local y rotación.

Para facilitar un poco más el refinamiento de la posición o la rotación, es posible que desee intentar cambiar la forma en que el widget posicionará o rotará su objeto al cambiarlo para que se alinee en relación con el pivote del objeto. Para ello, hay un menú desplegable en la Barra de herramientas EditMode que tendrá la opción de seleccionar Local. Se llama Direccion local.

Esta configuración puede ayudar a posicionar su objeto después de haberlo girado.

Rejillas de cuadrícula y ángulo

Para ayudar a posicionar objetos no orgánicos, como edificios o carreteras, es posible que desee activar el Encajar a la cuadricula opción. Activar esta función le permitirá mover el objeto en una cuadrícula (actualmente en relación con su ubicación). Para cambiar el espaciado de la cuadrícula, haga clic en la flecha desplegable junto al número para cambiar el espaciado (el espaciado de la cuadrícula está en metros).

Broches de ángulo se encuentra inmediatamente a la derecha de la Snaps de rejilla. Activar esta función te permitirá rotar un objeto cada cinco grados.

Ctrl + Shift + Clic

Aunque es una tecla de acceso directo, para muchos desarrolladores, esta tecla de acceso es extremadamente útil para la colocación inicial de objetos. Le permite mover el objeto rápidamente a cualquier punto en cualquier superficie física relativa a su Vista de perspectiva.


Utilizando las capas para la colaboración de múltiples desarrolladores

Una pregunta común que generalmente se hace acerca de CryENGINE es cómo un desarrollador trabaja en el mismo nivel que otro al mismo tiempo. La respuesta es-Capas. En esta receta, le mostraremos cómo puede utilizar el sistema de capas no solo para su propia organización, sino también para configurar capas externas para que otros desarrolladores trabajen en paralelo..

Preparandome

1. Tener Mi nivel abrir dentro de Sandbox.
2. Revise el Navegando un nivel con la cámara sandbox familiarizarse con el Vista de perspectiva.
3. Tener el Barra de resumen abierto y listo.
4. Revise el Colocando los objetos en el mundo. Receta (coloca al menos dos objetos).

Cómo hacerlo?

1. Para esta receta, asumiremos que tiene su propio repositorio para su proyecto o algún medio para enviar su trabajo a otros en su equipo..
2. Primero, comienza colocando dos objetos en el mapa. Por el bien de la receta, nos referiremos a ellos como Caja1 y Caja2. Después de que hayas colocado ambas cajas, abre la Barra de resumen y traer el Capas lengüeta.
3. Crea un nueva capa haciendo clic en el botón Nueva capa (papel con un símbolo +).
4. un Nueva capa Aparecerá el cuadro de diálogo. Dale los siguientes parámetros:
* Nombre = ActionBubble_01
* Visible = Cierto
* Externo = Cierto
* Congelado = Falso
* Exportar a juego = Cierto
5. Ahora seleccione Caja1 y abre el Objetos pestaña dentro de la Barra de resumen.
6. Desde aquí podrá ver en el resumen principal de este objeto con valores como - Nombre, Tamaño de ayuda, MTL, y Especificación mínima. Pero también en este resumen, verá un botón para las capas (debe estar etiquetado como Principal). Al hacer clic en ese botón se mostrará una lista de todas las demás capas disponibles.
7. Al hacer clic nuevamente en otra capa que no esté resaltada, se moverá este objeto a esa capa (haga esto ahora haciendo clic en ActionBubble_01).
8. Ahora guarda tu nivel haciendo clic-Archivo | Salvar.

Ahora en tu construir carpeta, vaya a la siguiente ubicación: -? \ Game \ Levels \ My_Level. Desde aquí notará una nueva carpeta llamada Capas. Dentro de esa carpeta, verá ActionBubble_01.lyr.

Esta capa será la capa en la que trabajarán tus otros desarrolladores. Para que puedan hacerlo, primero debes comprometer My_Level.cry y el Capas carpeta a su repositorio (es más fácil enviar la carpeta completa).

Después de hacerlo, puede hacer que su otro desarrollador realice cambios en esa capa moviendo Caja1 a otro lugar. Luego haz que guarden el mapa.

Hacer que se comprometan solamente la ActionBubble_01.lyr al repositorio. Una vez que lo haya recuperado del repositorio actualizado, notará que Caja1 se habrá movido después de que haya vuelto a abrir My_Level.cry en el editor con la última capa.

Cómo funciona?

Las capas externas son la clave de todo este proceso. Una vez .llorar El archivo se ha guardado para hacer referencia a una capa externa. Accederá a los datos dentro de esas capas al cargar el nivel en Sandbox..

Es una buena práctica asignar un Propietario del mapa quien se encargará de la .llorar expediente. Como este es el archivo maestro, solo una persona debe estar a cargo de mantenerlo creando nuevas capas si es necesario..

Hay más?

Aquí hay una lista de limitaciones de lo que las capas externas no pueden contener.

Limitaciones de la capa externa

Aunque cualquier entidad / objeto que coloques en tu nivel se puede colocar en capas externas, es importante tener en cuenta que hay algunos elementos que no se pueden colocar dentro de estas capas. Aquí hay una lista de los elementos comunes que son propiedad exclusiva de .llorar expediente:

  • Terreno
  • * Mapa de altura
    * Tamaño de la unidad
    * Altura máxima del terreno
    * Agujeros
    * Texturas

  • Vegetación
  • Configuración del entorno (a menos que sea forzado a través de la lógica del juego)
  • * Altura del océano

  • Configuración de la hora del día (a menos que sea forzada a través de la lógica del juego)
  • Al horno AI Markup (El propietario de la .llorar el archivo debe regenerar AI si se crea una nueva marca en las capas externas)
  • Marcadores minimapa

Cambiar al modo de juego

CryENGINE se enorgullece del dicho Lo que ves es lo que juegas., y el cambio al modo de juego es un testimonio de esto.

No hace falta decir que probar su trabajo a menudo es la clave para un proyecto exitoso, y el uso fácil y rápido de cambiar a Modo de juego dentro de Editor le permite realizar pruebas a voluntad sin necesidad de cerrar Sandbox.

Aunque el Editor está creado con esta función para permitir a los Desarrolladores verificar su trabajo, esto es solo una emulación. Esto significa que hay varias reglas especiales de edición y opciones de depuración disponibles en este modo, que no son totalmente representativas de lo que el Jugador podría ver en el Juego puro. A pesar de que es una excelente idea probar a menudo cambiando al Modo Juego, también es importante hacer cualquier prueba final en el Lanzacohetes en su plataforma de destino para tener una adecuada Juego puro experiencia.

En esta receta, cubriremos el uso simple, pero muy importante, de cambiar al modo de juego. Esta función le permite saltar a su nivel al instante, y le permite probar lo que el jugador verá, escuchará y sentirá en la ubicación en la que se encuentra con su Cámara de perspectiva.

Preparandome

Tener Mi nivel abrir dentro de Sandbox.

Revisa el Navegando un nivel con la cámara sandbox familiarizarse con el Vista de perspectiva.

Cómo hacerlo?

En la barra de herramientas principal de Sandbox, encuentra Juego | Cambiar al juego o haga clic en Ctrl + G. Es así de simple.

La lógica del juego puede cambiar la ubicación de reproducción inicial del jugador. Si esta lógica está habilitada, entonces se verá obligado a aparecer en esta ubicación al ingresar al modo de juego.


Salvando tu nivel

En la superficie, guardar tu nivel parece un proceso simple; sin embargo, hay algunas funciones importantes que debe tener en cuenta al guardar su nivel. Esta receta le mostrará cómo hacer un guardado básico, copiando / moviendo su nivel (haga no utilizar Guardar como), y copias de seguridad automáticas.

Preparandome

Tener cualquier nivel abierto dentro de Sandbox.

Abra el Explorador de Windows en la siguiente ubicación: ? \ CryENGINE_Build \ Game \ Levels.

Cómo hacerlo?

Para guardar un nivel, vaya a Archivo | Salvar.

Ctrl + S no funciona de forma predeterminada. Tendrá que configurar una tecla de acceso directo para eso.

Al copiar / mover niveles:

1. Inicialmente, guarda tu nivel en su ubicación predeterminada.
2. Vaya a la ubicación del nivel en el Explorador de Windows (? \ Game \ Levels).
3. Usando los comandos de Windows copiar / cortar todo Mi nivel carpeta.
4. Pegue el nivel en la ubicación que desee.
5. Si es necesario, renombra ambos Mi nivel carpeta y My_Level.cry a algo que prefieras.

Le recomendamos que nunca realice una Guardar como para tu nivel Desafortunadamente, hay varias dependencias (Level.pak, TerrainTexture.pak, Layers, Minimap images, etc.) que no se mueven ni se vuelven a vincular cuando una Guardar como es interpretado. Todos ellos dependen de la carpeta en la que se colocan. Si haces esto, verás varias anomalías dentro de tu nivel (texturas rotas, errores en la lógica del juego, activos perdidos).

Al crear una copia de seguridad, recuerde que, de forma predeterminada, Sandbox crea My_Level.bak archivos después de la segunda / tercera vez que se guarda su nivel. Estas .bak Los archivos son esencialmente los guardados anteriores de su .llorar expediente.

Si, por cualquier motivo, necesita volver a un guardado anterior de su nivel, puede eliminar su My_Level.cry archivar y renombrar My_Level.bak # a My_Level.cry y reabre tu nivel dentro de Sandbox.

Además, de forma predeterminada, Sandbox crea hasta dos revisiones anteriores (My_Level.bak y My_Level.bak2).

Cómo funciona?

Por defecto, todos los niveles se guardan en su propia carpeta dentro de ? \ Game \ Levels por su nombre de nivel. Por ejemplo, Mi nivel Tendrá su propia carpeta con la carpeta del nivel. Una vez guardado, cada nivel también contendrá un *.llorar archivo, con el * siendo el nombre del nivel también. Cada uno de estos .llorar los archivos contienen toda la información relevante que se requiere para completar su nivel (como un plano para su nivel).

Hay más?

Dependiendo de su estilo de trabajo, es posible que desee habilitar el sistema de copia de seguridad automática. Esto guardará automáticamente su trabajo cada intervalo de X minutos con el nombre de su elección (Copia de seguridad automática por defecto) en la carpeta de su nivel. Estas copias de seguridad automáticas se guardarán continuamente siempre que su editor esté abierto o desactive esta función.

Para acceder a esta función, abra Caja de arena | Herramientas | Preferencias | General / Archivos | Copia de seguridad automática.


Exportando a un motor

Aunque guardar tu nivel creará un .llorar archivo para usted, es extremadamente importante tener en cuenta que un .llorar solo no funcionará en el Lanzacohetes. Para eso necesitarás realizar esta receta, que creará los archivos necesarios para ejecutar en Modo de juego puro.

Preparandome

Tener Mi nivel abrir dentro de la caja de arena.

Cómo hacerlo?

Ir Archivo | Exportar a motor o haga clic en Ctrl + E.

Cómo funciona?

Este paso crucial es necesario para convertir toda la configuración del plano en su .llorar archivar en un nivel.pak dentro de la Mi nivel carpeta para ser utilizada en Modo de juego puro. Esta nivel.pak es básicamente un caché de datos para el juego, que contiene toda la información al horno sobre la lógica del juego, el marcado de AI, la lista de partículas, la lista de pinceles, etc..

Hay más?

Aquí hay información útil que debe conocer .pak archivos.

Apertura de archivos .pak

Es posible abrir estos archivos .pak y ver la información almacenada dentro de ellos mediante el uso de software de compresión de terceros, como WinZIP y WinRAR. Sin embargo, no recomendamos hacer esto a menos que esté familiarizado con el manejo de los archivos que desee cambiar manualmente. Si cambia los archivos que están dentro de estos archivos .pak, corre el riesgo de dañar el archivo .pak y romper su nivel para el Lanzador.
Los archivos .pak dañados se deben eliminar y volver a exportar

No hay necesidad de entrar en pánico si, por alguna razón, alguno de sus archivos .pak se corrompe y no se puede usar en Pure Gamemode. Siempre puede eliminarlos y generar uno nuevo desde su My_Level.cry repitiendo esta receta.


Objetos esenciales del juego

A pesar de que hemos cubierto cómo exportar su nivel para ser utilizado en Modo de juego puro, es posible que cuando inicie su nivel, no se encuentre en la ubicación correcta en el mapa. Esta receta rápida le mostrará cómo crear un punto de generación para Modo de juego puro y también recordarles la importancia de tener una superficie física para engendrar.

Preparandome

1. Tener Mi nivel abrir dentro de Sandbox.
2. Revise el Navegando un nivel con la cámara sandbox familiarizarse con el Vista de perspectiva.
3. Revise el Colocando los objetos en el mundo. y Refinación de la colocación de objetos. recetas.
4. Tener el Barra de resumen Disponible en su diseño Sandbox y listo.

Cómo hacerlo?

A menos que tu juego sea compatible con algún tipo de mecánico volador del Jugador, te recomendamos que elijas una ubicación en la que el Jugador pueda pararse cuando inicialmente aparezca dentro de tu nivel. Cualquier superficie física (suelo, techo, terreno, roca, etc.) servirá.

Para colocar un Punto de Generación siga estos pasos:

1. Ve a tu Barra de resumen.
2. Abra el Objetos pestaña y haga clic en el Entidad botón.
3. Abra el Otros carpeta en la lista de entidades.
4. lugar Punto de aparicion en el lugar donde desees engendrar el jugador.

Cómo funciona?

Este punto de generación inicial funcionará automáticamente como el punto de generación principal para su mapa en Modo de juego puro (siempre y cuando se mantenga el valor predeterminado SinglePlayer.lua reglas del juego). Si saltas a tu mapa desde la Lanzacohetes ahora, serás engendrado en este lugar.

Cualquier punto de generación adicional no funcionará a menos que haya alguna lógica de juego conectada a su funcionalidad.


Ejecutando un mapa desde el Lanzador

La receta final en este artículo cubrirá cómo puede acceder a la Modo de juego puro versión de Mi nivel desde el Lanzacohetes.

Preparandome

Debe tener un mapa con un punto de generación de trabajo (de lo contrario, se generará en 0,0,0), que se ha exportado desde el motor con una función nivel.pak.

El nivel también debe estar dentro de tu Construir carpeta.

Cómo hacerlo?

1. Desde el Explorador de Windows, abra? \ Bin32 o? \ Bin64.
2. Ejecutar el ejecutable. Launcher.exe.
3. Abra la consola (~).
4. Escriba lo siguiente: mapa My_level.
5. Luego presione Entrar.

Esto cargará el mapa y te generará en el punto de generación que se proporcionó..


Resumen

En este artículo aprendimos las funciones básicas y más comúnmente utilizadas proporcionadas por Sandbox.


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.