¿Alguna vez quisiste aprender a crear un juego en Unity? Unity es un poderoso motor de juego multiplataforma y un entorno de desarrollo que impulsa la gran mayoría de los juegos en Google Play Store. A través de Unity, los usuarios tienen acceso a física, renderizado, controles y más. Esto puede acelerar drásticamente el proceso de desarrollo. Es gracias a herramientas como Unity que los desarrolladores independientes finalmente pueden volver a competir con los grandes estudios.
Lea también: La guía para principiantes sobre el desarrollo de juegos para Android: todo lo que necesitas saber
¡Esto podría significar usted! Entonces, sigue leyendo para aprender cómo hacer un juego en Unity.
Cómo crear un juego base en Unity: configuración
Este tutorial asumirá que ya está familiarizado con el software Unity y cómo funciona. Si necesita más información sobre esto y quiere consejos sobre cómo navegar por la interfaz de usuario ciertamente abarrotada, consulte nuestra introducción a Unity.
Para este tutorial, desarrollaremos un juego de arriba hacia abajo donde el jugador navega por un mapa para ubicar las llaves. Este es un excelente primer proyecto en Unity para principiantes que enseñará algunos conceptos básicos.
Para ello, el juego será en 3D. Luego comience un nuevo proyecto y asegúrese de haber seleccionado “3D” en Modelo. (Unity solía llamarse Unity 3D, pero hoy en día es igual de popular para el desarrollo 2D).
Tutorial de Unity para principiantes: construir un laberinto
Ahora vamos a organizar algunos elementos en nuestra escena. Primero, agregaremos el terreno, que se denomina plano 3D en Unity.
Para agregar esto a la escena, vaya a:
GameObject> Objeto 3D> Plano
Esto dejará caer un cuadrado plano en tu escena. “Escena” es en realidad otra palabra para nivel en Unity, aunque también puede referirse a cosas como menús. La ventana de escena te permite ver y manipular los elementos individuales que se encuentran en tu mundo de juego.
A continuación, agregaremos algunos cubos. Ingrese el primero yendo a:
GameObject> Objeto 3D> Cubo
Esto insertará un cubo que por defecto aparecerá justo en el centro del plano. Para mover elementos, puede seleccionarlos en la escena y luego elegir el ícono de flechas en la parte superior izquierda. Esto le permitirá arrastrar el elemento en los tres ejes.
Sin embargo, para nuestros propósitos, ¡podemos dejar esto donde está! Ahora vas a hacer más de estas cajas. Para hacer esto, resalte el primero y haga clic en Ctrl + C. Ahora presione Ctrl + V para pegar y aparecerá un nuevo cubo directamente encima del anterior. Sabrá que funcionó porque verá otro cubo ahora listado en la jerarquía de la izquierda. La jerarquía es esencialmente una lista de todo lo que está en la escena, lo que hace que sea muy fácil encontrar y manipular los elementos individuales. Cuando te conviertas en un profesional del desarrollo de Unity, deberás pensar en organizar estos elementos con sensatez. De lo contrario, podría estar un poco ocupado.
Arrastre el cubo resaltado lejos del primer cubo para que quede directamente al lado sin espacios. Para hacer esto exactamente, debe mantener presionado el botón Ctrl mientras arrastra. Esto hace que los objetos se muevan en una unidad predefinida, que puede controlar en la configuración.
Nuestro objetivo es crear un laberinto, así que arrastre algunos para crear algo que parezca un laberinto y sea desafiante. El carácter comenzará en la parte superior izquierda.
Si esto es complicado de hacer desde un ángulo fijo, mantenga presionada la tecla Alt y luego arrastre con el mouse para cambiar el ángulo de visión. También puede usar la rueda del mouse para acercar y alejar.
Insertar un caracter
Ahora tienes un nivel, pero para saber cómo hacer un juego en Unity, también necesitas crear personajes que puedan ser controlados. ¡Para simplificar, voy con una pelota que se puede rodar en el laberinto!
Para crear esta bola, simplemente suelte una bola en la escena justo cuando agregó las cajas.
Esta vez, sin embargo, queremos darle forma física. Para hacer esto, simplemente selecciónelo en la vista de jerarquía o escena y luego muestre el “inspector” que aparece a la derecha. Esta ventana muestra las propiedades de cualquier elemento seleccionado y le permite cambiarlas con precisión. También le permite agregar “componentes” a GameObjects, lo que significa que puede alterar su comportamiento.
Haga clic en “Agregar componente” y luego:
RigidBody es un script que esencialmente proporciona física lista para aplicar a cualquier objeto. ¡Nuestra pelota ahora aterrizará en el escenario, lista para ser movida! Este es el verdadero poder de usar un motor de juego como Unity 3D: proporciona funciones integradas que, de lo contrario, requerirían meses de programación y posiblemente un título en matemáticas.
Este es un buen consejo cuando estás aprendiendo a crear un juego en Unity: no intentes reinventar la rueda. De hecho, esto se aplica a la codificación en general. Si alguien ya ha construido algo que hace lo que necesitas, ¡úsalo!
Reduje el tamaño de mi esfera predeterminada a 0,5 cambiando la escala en los tres ejes en Transformar (también se encuentra en el inspector).
Donde muevas la pelota en la escena es donde se colocará al comienzo del juego. Quiero que mi bola esté nivelada con el suelo al comienzo del juego, así que un pequeño “truco” fácil que puedes usar para lograrlo es dejar que el juego juegue con la bola seleccionada para que puedas ver cómo cambian sus propiedades en el inspector. mientras caes Luego tome nota de dónde termina el eje Y una vez que se ha asentado en el suelo. ¡Este debería ser tu punto de partida!
Reparar la cámara y la entrada.
Para jugar este juego correctamente, queremos tener una vista aérea de la acción. Para hacer esto, necesitamos cambiar el ángulo de la cámara y su FoV. Luego, seleccione la cámara en la Jerarquía y debería ver aparecer una pequeña ventana en su escena que muestra una vista previa de lo que está viendo.
Esto también abre algunos detalles en “Configuración” a la derecha. Donde dice “Rotación”, cambiaremos el eje X a “90”.
Ahora arrastre la cámara hacia arriba y lejos de la escena, hasta que pueda ver todo el mapa.
¡Pero todavía necesitamos una forma de controlar nuestro juego! Para esto, necesitaremos escribir nuestro primer script. ¡Es hora de aprender a programar en Unity!
¡No te preocupes, es realmente simple y solo tienes que copiar y pegar lo que ves!
Cree una nueva carpeta en sus recursos y asígnele el nombre “Script”. Ahora haga clic derecho en cualquier lugar aquí y seleccione:
Llame a su nuevo script “TiltControl”.
Una vez creado, haga doble clic en él para abrir su editor predeterminado (IDE). Suele ser Visual Studio.
Ahora elimine todo lo que está presente actualmente y reemplácelo con:
Código
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TiltControl : MonoBehaviour
{
public Rigidbody rb;
// Start is called before the first frame update
void Start()
{
rb = GetComponent();
}
// Update is called once per frame
void Update()
{
}
void FixedUpdate()
{
Vector3 movement = new Vector3(Input.acceleration.x, 0.0F, Input.acceleration.z);
rb.velocity = movement * 5;
}
}
No necesita saber todo lo que sucede aquí, excepto que el método “fixedUpdate ()” se ejecuta a intervalos fijos. Aquí, invocamos el componente Rigidbody que agregamos anteriormente y luego agregamos la velocidad de tres ejes según el acelerómetro del teléfono. En otras palabras, ¡el jugador ahora podrá mover la pelota inclinando el teléfono!
Lea también: Certificación Unity para desarrolladores: ¿vale la pena?
Ahora regrese a Unity, seleccione la esfera y arrastre su secuencia de comandos TiltControl al Inspector en la parte inferior donde dice “Agregar componente”. Esto ahora significa que el código en su secuencia de comandos afectará el GameObject al que lo vinculó.
Y sí, ¡eso significa que podrías mover fácilmente toda una flota de bolas mientras inclinas tu teléfono!
Tenga en cuenta que este método es sensible a la posición inicial del teléfono, por lo que idealmente haría algo para calcularlo antes de ejecutar la aplicación si tuviera que desarrollarla más.
Antes de probar el juego, también debe marcar la casilla “Bloquear posición Y” en Restricciones. ¡Esto es importante porque evitará que nuestra bola rebote fuera del laberinto si se mueve demasiado rápido!
Crear un juego de Android en Unity para principiantes
Esta es la autoridad de Android, ¡así que queremos hacer juegos de Android!
Para hacer esto, seleccione Archivo> Configuración de compilación. Ahora resalte Android de la lista de plataformas, luego elija “Cambiar plataforma”.
Para que esto funcione, Android SDK y Java JDK ya deben estar instalados y colocados en su computadora. Puede solicitar a Unity que lo maneje por usted en tiempo de ejecución; de lo contrario, tendrá que descargarlos por separado y luego ubicar los archivos necesarios. Esto también se puede lograr a través de Unity Hub.
También debe hacer clic en el botón que dice “Agregar escenas abiertas”, que agregará la capa que creó a la compilación.
Finalmente, haga clic en “Configuración del reproductor” y luego desplácese hacia abajo hasta donde dice Orientación predeterminada. ¡Desea configurar esto en “Apaisado a la derecha”, lo que evitará que la pantalla gire mientras sus jugadores se divierten!
Para crear y probar la aplicación, solo necesita hacer clic en “Crear y ejecutar” mientras su teléfono inteligente está conectado. Asegúrese de haber habilitado la depuración de USB en el menú Opciones de desarrollador.
Si todo va según lo planeado, debería ver el juego aparecer en la pantalla de su dispositivo después de unos minutos de construcción. ¡Felicitaciones, tu primera aplicación de Android integrada en Unity!
#Victorioso
¡Pero no es realmente un juego hasta que puedas ganar! Para añadir condiciones ganadoras, convertiremos uno de nuestros bloques en gol.
Arrastre y suelte un PNG cuadrado azul simple en la ventana de su proyecto (puede crear una nueva carpeta llamada “Colores” o algo así si lo desea). Seleccione uno de los cuadrados en su juego y luego arrastre y suelte ese color en él.
Ahora necesitamos crear otro script nuevo, al que llamo “WinBlock”. Esto se ve así:
Código
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WinBlock : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
void OnCollisionEnter(Collision collision)
{
Application.Quit();
}
}
Lo que está haciendo es comprobar si algo choca contra él. Todos estos cubos tienen “Colliders” por defecto, que son límites que le permiten a Rigidbody saber dónde comienzan y terminan los obstáculos. Esta es otra característica común de los motores de videojuegos que permite a los desarrolladores ahorrar mucho tiempo.
Entonces, cuando algo nuevo llega a esa línea, ¡el juego sale! Dado que lo único que puede moverse es nuestra pelota, podemos asumir con seguridad que esta será la culpable.
Obviamente, simplemente abandonar el juego cuando ganas es un poco poco ceremonioso. Idealmente, probablemente debería reproducir un sonido y luego comenzar el siguiente nivel (lo que significaría crear una nueva escena).
¿Y entonces?
Hay mucho más que debes hacer para que este juego sea divertido, sin mencionar que sea vendible. Necesitamos agregar texturas, música, gráficos, modificar la jugabilidad. Si lo convirtiéramos en un proyecto más grande, también tendríamos que reconsiderar cómo organizamos los elementos en nuestra escena.
Sin embargo, como punto de partida, creo que estará de acuerdo en que es bastante impresionante lo que hemos podido lograr en muy poco tiempo. Y aprendimos algunas lecciones básicas en el camino.
¡Este fue el primer juego que hiciste con Unity!
Espero que no sea el último.
Si está listo para obtener más información, le recomiendo que consulte uno de nuestros otros tutoriales de Unity para principiantes:
Tenemos muchos tutoriales para comenzar a desarrollar juegos de Android en Unity, ¿por qué no comenzar con nuestra guía para crear su primer juego básico de Android en solo 7 minutos?
Para obtener más noticias, funciones y tutoriales para desarrolladores de Android Authority, ¡no deje de suscribirse al boletín mensual a continuación!