Tabla de contenidos

Introducción

Desde el lanzamiento de la Unidad 2.017,1 en el verano de 2017, Unity Technologies ha hecho hacer juegos 2D increíblemente fácil y rápido. En este tutorial, vamos a crear un juego de plataformas en 2D con todas las funciones. Este proyecto incorporará una serie de temas clave, incluyendo cómo hacer escenas, cómo construir y prototipo de un nivel 2D de forma rápida y precisa la forma de juego coreógrafo objetos usando el editor de línea de tiempo. Este tutorial también puede ser pensado como la culminación de varios tutoriales – publicado en Game Dev Academia – sobre estos temas. Puede comprobar a cabo aquí:

Cuentacuentos en la Unidad – Parte 1: Cámaras virtual

Cuentacuentos en la Unidad – Parte 2: pistas de animación

Cinemachine y Editor de línea de tiempo para la Unidad de Desarrollo de juegos 2D

Unidad de Mastering Nueva Tilemap Editor: Niveles de construcción 2D

Detalles del proyecto

Vamos a pensar acerca de lo que vamos a hacer. Como se ha dicho en la introducción, será un juego de plataformas en 2D. Vamos a utilizar el carácter 2D del paquete Standard Los activos de la Unidad. A continuación, vamos a crear un entorno utilizando tilemaps y nuevo Editor Tilemap de la Unidad. A continuación, vamos a crear un enemigo que tiene una animación de inactividad / Ataque (verás). A continuación, vamos a crear una escena en la que la cámara ve todo el nivel de zoom y luego en el carácter:. Aquí vamos a utilizar la línea de tiempo Editorand Cinemachine para 2D

Puede descargar el proyecto completo Unidad aquí.

No se pierda! extremos de la oferta en

  • Accede a los más de 200 cursos
  • Nuevos cursos añadió mensual
  • Cancelar en cualquier momento
  • Los certificados de terminación

    ACCESO ahora

    Tilemap Editor, línea de tiempo y Cinemachine

    Cuando Unity Technologies lanzó la versión ciclo de la Unidad 2017, que presentó tres herramientas fundamentales diseñadas para hacer que la unidad sea más accesible para los artistas. Estas herramientas fueron el Editor Tilemap, línea de tiempo y Cinemachine. El Editor Tilemap, publicado más tarde en el ciclo 2017, los usuarios “… literalmente pintar directamente en la Unidad”, según Rus Scammell, el director del proyecto de la Unidad de 2D permitido. El Editor Tilemap le da la capacidad para crear grandes y complicados tilemaps sin tener que utilizar un programa de terceros. El editor de línea de tiempo y Cinemachine fueron puestos en libertad, al mismo tiempo, a pesar de las mejoras a Cinemachine fueron liberados más tarde. Cinemachine es un conjunto de cámaras que le permite crear escenas, especificar cómo la cámara sigue un objeto de juego, y, al final, le permite decir una historia mejor. Combine esto con el Editor de línea de tiempo, una herramienta que permite hacer la coreografía objetos del juego como un editor de la película. Con estas dos herramientas, puede crear impresionantes composiciones con tener que escribir ningún código. Bueno, eso es un resumen de las herramientas que vamos a utilizar! Este tutorial es de ninguna manera exhaustiva, para obtener más información acerca de estas herramientas echa un vistazo a los tutoriales relacionados anteriormente.

    Configuración de nuestro proyecto

    Los activos de este proyecto, puede llegar hasta aquí. A continuación, cree un nuevo proyecto de la Unidad. Vamos a la importación del paquete de activos estándar 2D yendo al panel Activos tienda. A continuación, busque “Standard Los activos” y descargarlo.


    A continuación, haga clic en el botón Importar para importar el activo. Cuando la ventana de importación aparece, seleccione el Activos estándar> 2D y StandardAssets> CrossPlatformInput carpetas solamente. A continuación, importe los.


    A continuación, tenemos que crear dos nuevas carpetas. Uno llamado “Animaciones” y el otro llamado “Tiles”.


    En la carpeta Azulejos, crear otra carpeta llamada “Paletas Azulejos”.


    El uso de esta carpeta se pondrá de manifiesto más adelante. Ahora vamos a la importación Cinemachine yendo al Administrador de paquetes ( Ventana> Gestor de paquetes ) y la instalación de “Cinemachine”.


    Ahora que tenemos todo lo importado podemos empezar a recibir nuestras herramientas en orden. Vamos a empezar con el Editor Tilemap. Ir a Ventana> 2D> Mosaico Paleta .


    Colocar en un lugar sensato en su espacio de trabajo. Elegí para ponerlo en el espacio entre el inspector y la vista de escena. A continuación, tenemos el Editor de línea de tiempo. Ir a Ventana> Secuenciación> Línea de tiempo .


    La posición de esta ficha no está escrito en piedra así que prepárate para moverlo. Ahora tenemos nuestro espacio de trabajo con el fin! Es hora de empezar a crear!

    Creación de nuestro medio ambiente

    Ir a la ficha de la paleta del azulejo y crear una nueva paleta. Llamarlo “sólidos”, ya que estos son los azulejos que el personaje no será capaz de pasar a través.


    Una paleta funciona igual que lo haría esperar que basándose en el nombre, se trata de un conjunto de imágenes que utilizamos para “pintar” con. Deja todos los ajustes establecidos para defecto y guardarlo en la carpeta Paletas Azulejos, que hemos creado en la carpeta Azulejos.


    Para configurar nuestros azulejos, vaya a la Medio ambiente azulejos> Grass carpeta y arrastrar los sprites en el Mosaico Paleta ventana (lo mismo para cualquier otro material que desees) . Guardar los archivos .asset a la Azulejos carpeta.


    Ahora que todos nuestros azulejos están en orden, vamos a crear un “lienzo” para pintar. En la jerarquía, haga clic y se puso a Objeto 2D> Tilemap .


    Lo que ha hecho que se crea una cuadrícula, y dentro de esa red es nuestra “lienzo”, también conocido como tilemap. Con el fin de empezar a pintar lo que necesita para familiarizar a su auto con la barra de herramientas en la ficha de la paleta del azulejo. Con su azulejo regla seleccionada, empezar a experimentar con los diferentes tipos de cepillos. Una vez que se siente muy confiado con las herramientas, empezar a crear su nivel!


    ¿Cómo añadir el carácter

    La última cosa que tenemos que hacer para nuestra tilemap es hacer que tienen interacciones físicas. En este momento todo lo que ponemos en él acaba de caer a través del mundo. Para solucionar este problema, Unity Technologies dio a conocer un nuevo componente llamado el colisionador Tilemap Colisionador. Este se comporta como era de esperar, a basado en el título, se crea un colisionador alrededor de cada baldosa. Vaya a su Tilemap y haga clic en Agregar componente.


    Buscar “CharacterRobotBody” y arrastre el personaje en la escena.


    Vamos a utilizar el carácter por defecto que viene con el paquete de activos estándar 2D. Usted puede encontrar el carácter de bien va a Standard Los activos 2D -> -> casas prefabricadas y luego arrastrando en el “CharacterRobotBoy”, o, simplemente puede buscar “CharacterRobotBoy” y acceder a él desde allí. Una vez que el personaje está en la escena, puede pulsar el botón Reproducir y mover el personaje a través de las teclas de flecha. Puede que tenga que cambiar la posición de la cámara con el fin de ver el robot. ¡Excelente! En el párrafo siguiente!

    Creación del enemigo

    En la carpeta “enemigos” del paquete de activos, elija un enemigo que crea que puede ir bien con la escena.


    arrastrarlo a su escena y lo coloca en un lugar sensible.


    A continuación, crear una nueva etiqueta llamada “enemigo” y asignarlo a su enemigo.



    Ahora vamos a animar a este enemigo. Usted ya debe tener la ficha Animación abierto en la ventana inferior de su espacio de trabajo. Si no es así, vaya a Ventana>> Animación .


    Con su enemigo seleccionado, haga clic en “Crear” en la ficha Animación.


    El nombre de “Enemy1Controller”.


    Guardar el controlador animador en las animaciones carpeta que hemos creado antes.

    Pulse el botón de grabación y cambiar el campo de Sprite a la otra imagen que se proporcionó (en mi caso se llama Saw_move, que puede ser similar si se eligió un enemigo diferente).

    A continuación, se mueve sobre cuatro cuadros adelante y cambiar la parte posterior de imagen a lo que era antes.

    A continuación, pasar un par de fotogramas hacia delante y cambiarlo de nuevo a la primera imagen.


    Ahora si se golpea juega verá que nuestro enemigo está animando! Cool!

    Scripting nuestro enemigo

    marca Vamos hacerle frente de manera que cada vez que el personaje toca el enemigo se reinicia el nivel. La mejor manera de hacer esto es crear realmente un nuevo guión y caja colisionador de nuestro carácter robot.


    Configurar la caja colisionador de gatillo y asegúrese de que liberalmente cubre el personaje. El nombre del nuevo guión “EnemyReaction”.


    Vamos a crear una nueva carpeta llamada “Scripts” para albergar a este componente.


    Aquí está el contenido del guión EnemyReaction.
    usando System.Collections; usando System.Collections.Generic; usando UnityEngine; usando UnityEngine.SceneManagement; // Esto es muy importante si queremos reiniciar el EnemyReaction clase levelpublic: MonoBehaviour {// Usar esto para la inicialización de inicio void () {} // actualización se llama una vez por cuadro de actualización de vacío () {} // Esta función se llama cada vez que se superpone otro colisionador colisionador de disparo vacío OnTriggerEnter2D (Collider2D otra) {// Verificando la colisionador solapado es un enemigo si (other.CompareTag ( «enemigo»)) {// Esta escena tiene que estar en la configuración de generación !! ! SceneManager.LoadScene ( «ESCENA1»); }}} 12345678910111213141516171819202122232425usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; usingUnityEngine.SceneManagement; // Esto es muy importante si queremos reiniciar el levelpublicclassEnemyReaction: MonoBehaviour {// Usar esto para initializationvoidStart () {} // se llama a Update una vez por framevoidUpdate () {} // Esta función es llamada cada vez que otro colisionador se superpone el gatillo collidervoidOnTriggerEnter2D (Collider2D otra) {// Verificando la colisionador solapada es una enemyif (other.CompareTag ( «enemigo»)) {// Este escena tiene que estar en la configuración de generación !!! SceneManager.LoadScene ( «ESCENA1»);}}}

    para que esta secuencia de comandos para el trabajo, tenemos que hacer un par de cosas. En primer lugar, tenemos que tener un colisionador en nuestro enemigo.


    Una simple caja colisionador funciona mejor para cubrir todas las necesidades. Entonces, tenemos que guardar esta escena como “ESCENA1”.


    Sólo tiene que guardar en la carpeta de raíz ya que sólo tenemos uno, pero si usted está planeando tener varias escenas, entonces debe crear una nueva carpeta. Por último, la escena tiene que ser puesto en la configuración de generación. Para ello, sólo tiene que ir a Archivo -> configuración de generación


    y haga clic en “Añadir escenas abiertas”.


    Ahora todo debería funcionar! juego atropello y fuga en el enemigo, se reinicia el nivel!

    Cinemachine y Cronograma

    Ahora llegamos a la última parte de este tutorial. En esta parte, vamos a utilizar Cinemachine y el editor de línea de tiempo. Vamos a empezar con Cinemachine. Se dará cuenta de que nuestra cámara no está siguiendo el personaje cuando se mueve alrededor. Podemos solucionar este problema mediante la creación de lo que se conoce como una cámara virtual. Navegar hasta la barra de herramientas e ir a Cinemachine -.> Crear cámara 2D


    A continuación, asigne el campo “seguimiento” en esta cámara para ser el CharacterRobotBoy. Cambiar el nombre de esto a “PlayerCam”. Establecer el objetivo de “no hacer nada” y ajuste la Administración que “Framing Transposer”.


    A continuación, vamos a echar un vistazo en el Editor de línea de tiempo. Crear un nuevo juego de objeto vacío, llamada “línea de tiempo” …


    … y luego haga clic en Crear en el editor de línea de tiempo. Llamarlo “TheTimeline” y guardarlo en la carpeta raíz.


    Puede tener múltiples editores de línea de tiempo en una escena, que sólo se suma a la complejidad así que sólo tenemos uno. Con esta línea de tiempo, vamos a crear una escena en la que la cámara ve todo el nivel y luego un zoom sobre el jugador. Esto ocurrirá tan pronto como se inicia la escena. Con el fin de hacer esto, necesitamos combinar Cinemachine y el editor de línea de tiempo. Podemos hacer esto a través de clips de tiro Cinemachine. En la línea de tiempo, haga clic en “Agregar” y luego ir a Cinemachine.Timeline -.> Cinemachine pista


    Arrastre la cámara principal en el campo.


    A continuación, haga clic y vaya a “Añadir Cinemachine Shot Clip”.


    Con este tema, podemos especificar el tiempo que queremos una determinada cámara esté activa. Vamos a crear una nueva cámara 2D y colocarlo de manera que podamos ver todo el nivel. Nombre ésta “FullLevel”.


    Esta será nuestra primera cámara para seleccionar la secuencia de tiro y arrastre Cinemachine esta cámara en el campo “Cámara virtual”.


    Establecimiento del tiempo que desea que esta cámara al pasado. Una cosa que ayuda es establecer la escala de tiempo para estar en segunda y no marcos.


    A continuación, tenemos que crear otro clip para la cámara del jugador.


    Coloque esta al final de la otra pinza. Drag ya sea uno de los clips en la parte superior de la otra con el fin de sin problemas de transición. Ahora si se golpea el juego, tenemos una escena bastante limpio! Pero aviso cuando termina la última pista que se remonta a la primera cámara en lugar de permanecer en el reproductor. La forma más fácil de solucionar este problema es mediante la desactivación de la primera cámara después de haber hecho la transición a la segunda. Podemos hacer esto mediante el uso de una pista de activación. Como su título indica, el objeto específico del juego permanecerá activo mientras persiste la pista. Crear una pista de activación …


    … y arrastre la primera cámara en su campo.


    A continuación, establezca la longitud a ser un poco después de la transición. Ahora si se golpea el juego, todo se ve bien y las cámaras persiste jugador!

    Outro

    Felicitaciones por llegar al final de este tutorial. Como he dicho antes, esto no pretende ser exhaustiva. Con el fin de obtener más información sobre estas herramientas, se puede leer bien los tutoriales vinculados anterior, o se puede explorar por su cuenta! En cualquiera de los casos:

    Seguir haciendo grandes juegos!

    Mensajes relacionados

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *