Puede acceder al curso completo aquí: Procedimiento 2D Mazmorras

Tabla de contenidos

Tilemap Configuración

En esta lección, vamos a empezar a construir nuestra demostración mediante la creación de un tilemap.

En primer lugar, tenemos que descargar los sprites de la carpeta “activos” de nuestro material de origen.

Configuración del proyecto

Crear un proyecto Unity 2D vacío y añadir los sprites que acaba de descargar. Vamos a utilizar el “ terrenos ” sprite para construir el tilemap.

Activos Sprite carpeta en la unidad

Tenemos que hacer los siguientes ajustes para este elemento:


  • Cambiar píxeles por unidad a 40;
  • Conjunto de sprites a modo múltiple.

    Inspector en la Unidad para el mapa de sprite

    En el editor de sprites:


    1. Seleccione la pestaña rebanada;
    2. Cambiar tipo de “rejilla por tamaño de celda”;
    3. valor Ponga “40”, como tamaño de píxel para ambos X e Y;
    4. Pulse el botón de la rebanada en la parte inferior.

      Unidad Sprite Editor con opciones de sector abierto

      Ahora, somos capaces de seleccionar cada individuo terreno:

      Sprites en unidad con previsualización rebanada

      Se procede a crear un objeto tilemap de nuestros terrenos “” modificados sprite de la siguiente manera:


      • En la carpeta de escenas, cambiar el nombre de la escena a “Demo” haciendo clic derecho sobre ella y seleccionando la opción de cambio de nombre:

        opción Cambiar nombre de la escena haciendo clic derecho Unidad


        • Haga clic derecho en el área debajo de “Cámara principal”, vaya a “objeto 2D”, a continuación, haga clic en la opción tilemap:


          Esto creará un objeto “Grid”, con un objeto “Tilemap” dentro de él:

          escena de la unidad con la Jerarquía y el inspector ha destacado

          Creación de un azulejo paleta

          que acabamos de crear nuestra red. Vamos a pueblan nuestra tilemap.

          Para ello, tenemos que abrir el “Mosaico Paleta”:

          menú Ventana Unidad con 2D> Teja paleta seleccionada» /> </ p><br />
<P> Arrastre y suelte la pestaña “Teja Paleta” cerca de la pestaña “Inspector”, y crear una nueva paleta llamada “Dungeon paleta”: </ p><br />
<P> <img src =

          Guardar en una nueva carpeta dentro de la “activos”.

          Ahora, haga clic en la carpeta “Sprites” en la Unidad (bajo la carpeta “activos”), y arrastrar y soltar el sprite “terrenos” a la pestaña “Dungeon paleta”. Guardar en la carpeta que acaba de crear para las paletas de baldosas.

          Tiles añadido a la Unidad de baldosas paleta

          Al hacer clic en la herramienta de pincel (marcado en Red a continuación) y elegir el sprite terreno marrón pintamos nuestra tilemap. Después de eso, seleccionamos el sprite de la pared para pintar sus fronteras alrededor de ella, excepto por el espacio en el que la puerta de salida va a ser. Si accidentalmente pintar fuera de nuestro marco tilemap podemos borrarlo volver a la normalidad con la herramienta goma de borrar (marcado en azul ):

          escena Unidad con tilemap pintada

          El siguiente paso es hacer que las paredes de nuestra Collidable , por lo que el jugador no va a caminar a través de las paredes!

          La selección de nuestro objeto tilemap y la pestaña “Inspector”, vamos a “Agregar componente”. Añadimos un Tilemap Colisionador 2D desde el desplegable de opciones a la vista:

          Unidad tilemap con colisionador 2D añadió

          Esto acaba de hacer todas las fichas Collidable, pero no quieren que el suelo sea Collidable también. La manera de convertir que es por ir en la ventana del proyecto, seleccionar la carpeta con las paletas, al hacer clic en el sprite piso, y el establecimiento de su tipo en Ninguno colisionador:

          Inspector en la Unidad para colisionador terreno

          A modo de ejercicio, puede crear su propio tilemap. El único requisito es que la mazmorra tiene que tener al menos una salida. Por ahora, no se preocupe por los elementos dentro de la habitación.

          Configuración del Reproductor

          En esta lección, hacemos ajustes similares a los valores de nuestra “ reproductor ” sprites como los que se observan en la lección anterior.

          “Inspector”, ajuste el modo de Primavera para Múltiple, y ahora fijar su Por Unidad píxeles a 30 . Luego, en el Editor de Sprite, juego X y Y a “ 30 ” en la opción Tamaño de celda de cuadrícula Por lo que sólo vamos a utilice uno de los jugadores sorteados en el sprite:

          Unidad Sprite Editor con rebanar jugador Sprite

          Creación del jugador prefabricada

          Haga clic en la flecha al lado del jugador prefabricada para ver los dos.

          Jugador prefabricada como se ve en la unidad

          arrastrar y soltar la primera a la tilemap para insertarlo en nuestro calabozo. Ahora vemos un elemento “player_0” que figuran en nuestra demo. Cambiar el nombre a “jugador”:

          Jugador Sprite añadió a la escena Unidad

          Podemos añadir una caja Colisionador de 2D y un cuerpo rígido 2D a nuestro jugador (en el menú Agregar Componente):

          La unidad de búsqueda seleccionado con caja Colisionador 2D

          congelar su rotación en el EJE “Z” para que no gire al chocar con nada, y que establezca su colisionador de ser un poco más pequeño que el propio reproductor (de esta manera el jugador será capaz de moverse más allá de las de las mazmorras puerta):

          Configuración de la caja Colisionador 2D en la unidad

          En caso de que su jugador no está apareciendo en su tilemap, vaya a “Sprite procesador” (en la ficha Inspector) y seleccione Clasificación de capa. Añadir una capa de clasificación llamada jugador. Ahora vuelve y vuelva a colocar la capa del objeto de reproductor de defecto a jugador. De esta manera, el jugador estará en una capa diferente, que está por encima del nivel predeterminado tilemap.

          A continuación, se añade una etiqueta de “jugador” en nuestro sprites seleccionando la opción del jugador en el desplegable de la etiqueta:

          tag jugador Unidad añadido a Player

          Ahora vamos a crear una carpeta Prefabs:

          Prefabs Unity carpeta seleccionada

          A continuación, arrastramos nuestro jugador de la demo a nuestra nueva carpeta para crear nuestro prefabricada

          Nuevo Jugador prefabricada en la carpeta Unidad Prefabs

          Antes de que realmente procede a la manera de mover nuestro jugador, tenemos que desactivar el atributo de la gravedad. De lo contrario, el jugador simplemente deslizarse hacia abajo tan pronto como nuestro juego se pone en marcha, y no queremos eso. Hacemos clic en Editar -> Ajustes del proyecto y la gravedad del conjunto Y a cero:

          Opciones de Configuración de la Unidad de Proyectos Física 2D

          Desplazamiento del reproductor

          En primer lugar, crear una nueva carpeta “Scripts”, del mismo modo que hemos creado las casas prefabricadas carpeta superior.

          Dentro de ella, crear una secuencia de comandos de C # llamado “PlayerMovement”:

          guión PlayerMovement en la ventana Proyecto Unidad

          Necesitamos el siguiente código para mover nuestro jugador:
          utilizando System.Collections; usando System.Collections.Generic; usando UnityEngine; PlayerMovement clase pública: MonoBehaviour {[SerializeField] Velocidad de flotación privado; // actualización se llama una vez por trama FixedUpdate void () {float horizontal = Input.GetAxis ( «horizontal»); flotar Input.GetAxis verticales = ( «vertical»); GetComponent () .velocity = nuevo Vector2 (velocidad horizontal *, * La velocidad vertical); }} 1234567891011121314151617usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; publicclassPlayerMovement: MonoBehaviour {[SerializeField] privatefloatspeed; // actualización se llama una vez por framevoidFixedUpdate () {floathorizontal = Input.GetAxis ( «horizontal»); floatvertical = Input.GetAxis ( «vertical»); getComponent () velocidad = newVector2 (velocidad horizontal *, velocidad * vertical);.}}

          tenemos un campo que representa la velocidad del jugador, y actualizar su cuerpo rígido vamos a multiplicarlo esta velocidad por ejes horizontal y vertical tanto del jugador.

          La última cosa que tenemos que hacer es añadir otro componente a nuestro jugador (nuestra secuencia de comandos de movimiento). Podemos buscar PlayerMovement, agregarlo, y probarlo con la velocidad que queremos:

          script de movimiento del jugador añade a objeto Player

          Lo ejecuta y comprobar que el jugador es capaz de pasar a través de la puerta (como se esperaba):

          demostración Unidad para mazmorra 2D

          En la siguiente lección, vamos a añadir una puerta prefabricada para que nuestro jugador puede pasar de una sala de la mazmorra a los demás.

          Transcripción Parte 1

          Hola a todos. Bienvenido al curso Mazmorra Generación de Procedimientos de la Unidad. En este curso se va a aprender a utilizar la unidad para generar una mazmorra de procedimiento para sus juegos.

          Vamos a hacer esto por medio de esta demo con varias habitaciones, obstáculos y enemigos. En este curso se va a aprender a generar el nivel de uso de la unidad de las características del mapa de baldosas, por lo que un nivel como esta sala mazmorra aquí. ¿Cómo generar procesalmente un calabozo con varias habitaciones, como se puede ver aquí, esta habitación tiene puertas a otras habitaciones. Además, aprenderá cómo cambiar dinámicamente los azulejos en el nivel de añadir obstáculos en el calabozo, como aquellas rocas aquí. Y, por último, cómo agregar al azar otros objetos tales como los enemigos aquí, y un demonio mazmorra.

          Ahora, vamos a pasar a la primera lección, donde vamos a empezar a construir nuestra habitación.

          Transcripción Parte 2

          Hola a todos, en esta lección vamos a empezar a construir nuestra demostración mediante la creación de un tilemap.

          Es necesario proporcionar características de generación de asignación de estilos, por lo que vamos a usar eso. En primer lugar, descargar los sprites para este tutorial que es esta carpeta aquí. Ya tengo mi proyecto. Así que, he creado un proyecto Unity 2D vacía y he añadido los sprites desde el código fuente. Y aquí, vamos a utilizar este elemento sprite terreno para construir el tilemap.

          Así que, primero, tenemos que hacer dos cosas aquí. Ya he hecho esas cosas, pero voy a mostrar lo que hice aquí. En primer lugar, es necesario cambiar la unidad de píxeles por aquí a 40, de modo que tenga el tamaño correcto en su juego. Y también tenemos que cambiar el modo de Sprite aquí para Múltiple y luego abrir el Editor de Sprite, haga clic en la rebanada, y cortar los sprites aquí por el tamaño de las células usando un tamaño de 40 por 40. Así que esto va a cortar los terrenos exactamente su tamaño aquí. Así que eso es lo que hay que hacer. Luego hay que aplicar.

          Ahora podemos crear un objeto tilemap de este elemento sprite aquí, su sprite Terreno aquí. Así que vamos a ir aquí para nuestra, voy a cambiar el nombre de nuestra escena para demostración y no SampleScene. Y voy a crear un nuevo tilemap objeto 2D. Esto creará una cuadrícula y un objeto tilemap dentro de la cuadrícula. Ahora tenemos que llenar este tilemap. Así que, primero, voy a abrir la ventana aquí, 2D, Azulejos paleta. Vamos a ponerlo aquí. Y aquí vamos a añadir sprites del terreno a utilizar para el tilemap.

          Por lo tanto, es necesario crear una nueva paleta aquí. Nueva paleta del azulejo llama, por ejemplo, Dungeon paleta. Vamos a crear la misma. Tenemos que guardarlo en una carpeta. Voy a crear una carpeta llamada aquí Teja Paletas. Y entonces aquí, es la paleta de Calabozo. Ahora vamos a la, que arrastrar y soltar los terrenos aquí, así que vas a agregar los azulejos de este elemento sprite aquí en la paleta. Así que de nuevo, tenemos que seleccionar la carpeta. Ahorrémoslo en la misma carpeta.

          Y se va a generar los objetos de baldosas para todos los diferentes azulejos aquí en la hoja de cálculo. Así que aquí tenemos todos los terrenos para nuestro juego. Ahora podemos empezar a crear nuestra baldosa del mapa usando esta paleta aquí. Así que tenemos que seleccionar la herramienta pincel aquí y, por ejemplo, vamos a seleccionar esta baldosa aquí, y entonces podemos ponerlo en nuestro mapa como este. Y vamos a poner aquí algunas paredes. Así, por ejemplo, quiere poner las paredes por aquí, dejando un espacio vacío aquí por la puerta. Y luego lo guardamos.

          El siguiente paso es hacer las paredes aquí Collidable porque no queremos que el jugador sea capaz de caminar a través de las paredes. Por lo tanto, con el fin de hacer esto, tenemos que seleccionar tilemap objeto aquí y tenemos que añadir un componente llamado Tilemap Colisionador 2D. Esto añadirá colisionadores a todos los azulejos en el tilemap.

          Sin embargo, no queremos que el suelo sea Collidable también. Los únicos azulejos Collidable deben ser las paredes. Así que la manera en que hacemos las plantas no Collidable va aquí, la carpeta de paletas de baldosas, seleccione la baldosa, y cambiando el tipo Colisionador de aquí en Ninguno. Ahora, si selecciona el juego, se puede ver que para tener colisionadores, los colisionadores son los cuadrados verdes aquí todo el azulejo, y que sólo están en las paredes. El piso no tiene ningún colisionadores en él. Ahora vamos a tratar de ejecutar la demostración para ver el mapa.

          Por lo tanto, este es el tilemap. Que no tienen nada especial sucediendo ahora, pero pronto vamos a más cosas en nuestro mapa. A modo de ejercicio, crear su propia tilemap. Siéntase libre de utilizar los azulejos que prefiera. El único requisito es que debe ser un cuarto calabozo con al menos una salida. Por ejemplo, la puerta I añadido en la parte inferior de la habitación. No se preocupe por los elementos dentro de la habitación. Por ejemplo, la adición de rocas y cosas por el estilo.

          Vamos a generar algunos obstáculos de procedimiento más adelante en el curso. Y eso es todo por esta lección. En la siguiente, vamos a añadir un jugador a este mapa.

          Transcripción Parte 3

          Hola a todos. En esta lección vamos a añadir un jugador en nuestro mapa de baldosas. El jugador debe ser capaz de moverse a través de la mazmorra y navegar a las habitaciones.

          Así que vamos a empezar por crear el jugador prefabricada. En primer lugar, vamos a utilizar este reproductor de sprites aquí desde la carpeta sprites. Así que de nuevo, es necesario cambiar los píxeles por unidad de 30, ya he hecho esto. Y tenemos que cambiar el modo de sprite para múltiples. Y cortarlo en dos sprites. Sólo vamos a usar uno de ellos, pero necesitamos rebanada de lo contrario vamos a tener dos jugadores que caminan en el juego. Así que ahora podemos seleccionar el primero en llegar, arrastrar y soltar a la escena. Cambiar el nombre de jugador y este será nuestro jugador prefabricada. Ahora tenemos que añadir los componentes de la misma.
          de

          En primer lugar vamos agregar un cuadro colisionador 2D, y un cuerpo rígido 2D porque quieren mover al jugador. No queremos que el jugador de rotación y chocan con las cosas. Así que aquí en el cuerpo rígido vamos a abrir las limitaciones y verificar la rotación congelación de Z. Así de esta manera no va a girar en el eje z al chocar con nada. También tenemos que reducir el tamaño del colisionador por lo que este rectángulo verde aquí es el colisionador, y queremos que el cuadro sea un poco más pequeño que el jugador. Por ejemplo 0.7, de esta manera podemos hacer que el jugador caminata en el espacio de la salida. De lo contrario será muy difícil hacer que el jugador se colocan aquí, debido a que el cuadro será exactamente el mismo tamaño que el espacio.

          Por último, vamos a asignar la etiqueta de jugador al jugador objeto, porque vamos a utilizar esta etiqueta después de identificar las colisiones entre la puerta y el jugador. Y en ella vamos a crear unas estructuras prefabricadas de carpeta y arrastrar y soltar el jugador aquí para crear es prefabricada. Así que ahora es oficialmente una casa prefabricada.

          Dado que este es un juego de primera vista, estamos viendo el juego desde la parte superior, no queremos que ninguna fuerza de la gravedad, porque no queremos que el jugador caiga en la pantalla como esta, cuando comenzamos a jugar. Así que tenemos que desactivar la gravedad. Esto lo hacemos aquí en editar la configuración del proyecto, 2D física. Y entonces aquí tenemos x gravedad y la gravedad y. Vamos a cambiar la gravedad y a 0. De esta manera el jugador no va a caer porque no hay ninguna gravedad. Ahora vamos a crear la secuencia de comandos para mover el jugador.

          Así que vamos a crear una nueva carpeta aquí llamados guiones. Vamos a añadir un nuevo guión C # llamado movimiento del jugador. Y vamos a abrirlo. Por lo que tiene la secuencia de comandos de movimiento del jugador. Esta secuencia de comandos que necesitará serializefield que representa la velocidad del jugador. Así que vamos a establecer la velocidad para el jugador. Y el único método que necesitamos es la fixedupdate, que vamos a utilizar para actualizar el reproductor de velocidad.

          La forma de hacerlo es haciendo que el eje de entrada horizontal y vertical. Así que primero ponemos horizontal, y luego vamos a hacer lo mismo con la vertical. Y luego se accede al cuerpo rígido 2D, poniéndolo de velocidad para ser un nuevo vector2 donde la x velocidad es el valor de la entrada horizontal, multiplicado por la velocidad. Y luego la y es la entrada vertical multiplicada por la velocidad. Y eso es todo, sólo tenemos esto para el movimiento del jugador.

          Para probarlo, tenemos que añadir el movimiento de los jugadores aquí en el jugador prefabricada. Y establecer una velocidad aquí, por ejemplo 5. Ahora vamos a tratar de jugar y ver si está funcionando. Por lo que tiene el jugador y que se puede mover con las teclas de flecha del teclado, por lo que está funcionando. Y el jugador está chocando con las paredes, como se puede ver. Además, debemos ser capaces de mover al jugador aquí en la puerta porque hemos reducido la caja colisionador, de lo contrario será muy difícil hacer que el jugador caben en el espacio aquí. Y eso es todo por esta lección. En la siguiente vamos a añadir el prefabricada puerta de nuestra demostración. La puerta prefabricada estará aquí, y será responsable para permitir al jugador a salir de la habitación.

          interesado en continuar? Echa un vistazo a la plena Procesal Mazmorras 2D curso, que es parte de nuestra Academia RPG.

          Mensajes relacionados

Deja una respuesta

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