¿Alguna vez quisiste aprender a hacer un juego en Unity? Unity es un potente motor de juegos 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 obtienen acceso a física, renderizado, controles y más. Esto puede acelerar drásticamente el proceso de desarrollo. Gracias a herramientas como Unity, los desarrolladores independientes finalmente pueden competir con grandes estudios nuevamente.
¡Eso podría significar usted! Entonces, sigue leyendo para aprender cómo hacer un juego en Unity.
Cómo hacer un juego básico en Unity: configuración
Este tutorial asumirá que ya está familiarizado con lo que es el software de Unity y cómo funciona. Si necesita más información al respecto y desea consejos sobre cómo navegar por la interfaz de usuario abiertamente concurrida, consulte nuestra introducción a Unity.
Para este tutorial, vamos a desarrollar un juego de arriba hacia abajo que haga que el jugador navegue por un mapa para localizar las teclas. Este es un gran primer proyecto en Unity para principiantes que enseñará algunos conceptos básicos.
Para ese fin, el juego será en 3D. Inicie un nuevo proyecto y asegúrese de haber seleccionado «3D» en Plantilla. (Unity solía denominarse Unity 3D, pero en estos días es tan popular para el desarrollo 2D).
Tutorial de Unity para principiantes: construir un laberinto
Ahora vamos a organizar algunos elementos en nuestra escena. Primero, vamos a agregar el terreno, que se llama plano 3D en Unity-speak.
Para agregar esto a la escena, vaya a:
GameObject> Objeto 3D> Plano
Esto dejará un cuadrado plano en tu escena. «Escena» es efectivamente 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 están en tu mundo de juego.
A continuación, agregaremos algunos cubos. Inserte el primero yendo a:
GameObject> Objeto 3D> Cubo
Esto insertará un cubo que, por defecto, aparecerá justo en el centro del avión. Para mover elementos, puede seleccionarlos en la escena y luego elegir el icono de flechas en la esquina 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 eso, resalte el primero y haga clic en Ctrl + C. Ahora presione Ctrl + V para pegar y aparecerá un nuevo cubo directamente sobre la parte superior del anterior. Sabrá que esto ha funcionado porque verá otro cubo ahora listado en la jerarquía de la izquierda. La jerarquía es esencialmente una lista de todo en su escena, lo que hace que sea muy fácil encontrar y manipular elementos individuales. Cuando seas profesional en el desarrollo de Unity, deberás pensar en organizar estos elementos con sensatez. De lo contrario, puede estar un poco ocupado.
Arrastre el cubo resaltado lejos del primer cubo para que esté directamente al lado sin espacio. Para hacer esto con precisión, debe mantener presionado el botón Ctrl mientras arrastra. Esto hace que los objetos se muevan por una unidad predefinida, que podrá controlar en la configuración.
Nuestro objetivo es hacer un laberinto, así que arrastre algunos de estos para hacer algo que parezca un laberinto y desafiante. El personaje comenzará en la esquina superior izquierda.
Si esto es complicado desde un ángulo fijo, mantenga presionada la tecla Alt y luego arrastre con el mouse para cambiar su ángulo de visión. También puede usar la rueda del mouse para acercar y alejar.
Insertar un personaje
Ahora tienes un nivel, pero para saber cómo hacer un juego en Unity, también necesitas crear personajes que puedan controlarse. ¡En aras de la simplicidad, voy con una pequeña bola que se puede rodar por el laberinto!
Para crear esta bola, simplemente suelta una esfera en la escena justo cuando agregaste los cuadros.
Sin embargo, esta vez queremos darle forma física. Para hacer esto, simplemente necesita seleccionarlo en la jerarquía o en la vista de escena y luego ver el «inspector» que aparece a la derecha. Esta ventana le muestra las propiedades de cualquier elemento seleccionado y le permite editarlas 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:
Física> Cuerpo rígido.
RigidBody es un script que esencialmente proporciona física preparada para ser aplicada a cualquier objeto. ¡Nuestra pelota ahora caerá en la escena, lista para ser movida! Este es el verdadero poder de usar un motor de juego como Unity 3D: ¡proporciona funciones integradas que de otro modo requerirían meses de codificación y probablemente un título en matemáticas!
Este es un buen consejo para aprender a hacer un juego en Unity: no intentes reinventar la rueda. De hecho, eso se aplica a la codificación en general. Si alguien ya ha construido algo que hace lo que usted necesita, ¡úselo!
Reduje el tamaño de mi esfera predeterminada a 0.5 editando la escala en los tres ejes en la Transformación (también se encuentra en el inspector).
Donde mueves la pelota en la escena es donde se colocará al comienzo del juego. Quiero que mi bola esté nivelada con el suelo cuando comience el juego, así que un pequeño «truco» fácil que puedes usar para lograr esto es dejar que el juego juegue con la esfera seleccionada para que puedas ver cómo cambian sus propiedades en el inspector. caídas. Luego tome nota de dónde termina el eje Y una vez que se asienta en el suelo. ¡Ese debería ser tu punto de partida!
Arreglando la cámara y la entrada
Para jugar este juego correctamente, queremos tener una vista de arriba hacia abajo de la acción. Para hacer eso, necesitamos cambiar el ángulo de la cámara y su FoV. Seleccione la cámara en la Jerarquía y debería ver una pequeña ventana en su escena que muestra una vista previa de lo que está viendo.
Esto también abre algunos detalles en el «Inspector» a la derecha. Donde dice «Rotación», vamos a cambiar el eje X a «90».
Ahora arrastre la cámara hacia arriba y lejos de su escena, hasta que pueda ver el mapa completo.
¡Pero aún necesitamos una forma de controlar nuestro juego! Para eso, vamos a necesitar escribir nuestro primer guión. ¡Es hora de aprender a codificar en Unity!
¡No se preocupe, es muy simple y solo necesita copiar y pegar lo que ve!
Cree una nueva carpeta en sus activos y llámela «Scripts». Ahora haga clic derecho en cualquier lugar aquí y seleccione:
Crear> Script de C #
Llame a su nuevo script «TiltControl».
Una vez que esto se haya creado, haga doble clic en él para abrir su editor predeterminado (IDE). Esto generalmente será Visual Studio.
Ahora simplemente elimine todo lo que está allí actualmente y reemplácelo con:
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í, estamos llamando al componente Rigidbody que agregamos anteriormente y luego agregamos velocidad en tres ejes basados en el acelerómetro en el teléfono. En otras palabras, ¡el jugador ahora podrá mover la pelota inclinando el teléfono!
Lea también: Certificación de unidad para desarrolladores: ¿vale la pena?
Ahora regrese a Unity, seleccione la esfera y arrastre su script TiltControl al Inspector en la parte inferior donde dice «Agregar componente». Esto ahora significa que el código en su script afectará el GameObject al que lo ha adjuntado.
Y sí: eso significa que podrías hacer que se mueva toda una flota de bolas tan fácilmente como inclinas el teléfono.
Tenga en cuenta que este método es sensible a la posición de inicio del teléfono, por lo que lo ideal sería hacer algo para calcular esto antes de que se ejecute la aplicación si fuera a desarrollarlo más.
Antes de probar el juego, también debes marcar la casilla que dice «Congelar posición Y» en Restricciones. ¡Esto es importante porque evitará que nuestra bola rebote del laberinto si se mueve demasiado rápido!
Hacer 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, deberá tener Android SDK y Java JDK ya instalados y ubicados en su máquina. Puede solicitar que Unity se encargue de esto en tiempo de ejecución; de lo contrario, deberá 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á el nivel que ha creado 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 establecer esto en «Paisaje correcto» que evitará que la pantalla gire mientras sus jugadores se divierten!
Para compilar y probar la aplicación, solo necesita hacer clic en «Compilar y ejecutar» mientras su teléfono inteligente está enchufado. Asegúrese de haber habilitado la depuración de USB en el menú Opciones de desarrollador.
Lea también: Cómo habilitar las opciones de desarrollador en su dispositivo Android
Si todo va según lo planeado, entonces debería ver el juego emergente en la pantalla de su dispositivo después de unos minutos de construcción. Felicidades: ¡tu primera aplicación de Android integrada en Unity!
#Victorioso
¡Pero en realidad no es un juego hasta que puedas ganar! Para agregar condiciones ganadoras, vamos a convertir uno de nuestros bloques en un objetivo.
Arrastre y suelte un simple PNG cuadrado azul en la ventana de su Proyecto (puede crear una nueva carpeta llamada «Colores» o algo así si lo desea). Selecciona uno de los cuadrados de tu juego y luego arrastra y suelta ese color sobre él.
Ahora necesitamos crear otro nuevo script, al que llamo «WinBlock». Este se ve así:
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 esto está haciendo es verificar si algo choca con él. Todos estos cubos tienen «Colliders» por defecto, que son límites que permiten que Rigidbody sepa dónde comienzan y terminan los obstáculos. Esta es otra característica común de los motores de videojuegos que ahorra mucho tiempo a los desarrolladores.
Entonces, cuando algo nuevo toca ese límite, ¡el juego sale! Al ver que lo único que puede moverse es nuestra pequeña bola, podemos asumir con seguridad que este será el culpable.
Por supuesto, simplemente salir del juego cuando ganas es poco ceremonioso. Idealmente, probablemente reproducirías un sonido y luego lanzarías el siguiente nivel (lo que significaría crear una nueva escena).
¿Qué sigue?
Debes hacer mucho más para que este juego sea divertido, y mucho menos para vender. Necesitamos agregar texturas, música, gráficos, ajustar la jugabilidad. Si estuviéramos construyendo esto en un proyecto más grande, también tendríamos que reconsiderar cómo hemos organizado los elementos en nuestra escena.
Aún así, como punto de partida, creo que estará de acuerdo en que es bastante impresionante lo que hemos logrado en muy poco tiempo. Y hemos aprendido algunas lecciones básicas en el camino.
¡Este fue el primer juego que creaste con Unity!
Espero que no sea la última.
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 que comiences con el desarrollo de juegos de Android en Unity:
O, alternativamente, aprender más sobre C # y cómo funciona:
También puede encontrar una serie de excelentes cursos en Unity para principiantes en línea:
Entonces, ahora sabes los conceptos básicos de cómo hacer un juego en Unity. ¿Qué vas a construir?