Unity es una de las herramientas de desarrollo de videojuegos más importantes que hay, por lo que te interesa saber cómo funciona. En este artículo elaboraremos una pequeña introducción a los aspectos clave de este entorno de diseño y desarrollo de juegos. Eso sí, si lo que quieres es aprender a fondo sobre Unity, lo mejor es hacer un curso o un máster en Diseño y programación con Unity.
¿Qué es Unity?
¿Qué es Unity? Podemos resumirlo en que se trata de un entorno completo para el diseño y desarrollo de videojuegos. No obstante, esta herramienta es mucho más y tiene aplicaciones fuera de esta popular industria. Unity es un sistema, un software que ofrece multitud de posibilidades a desarrolladores y estudiantes de diseño de videojuegos.
Para estudiantes y pequeños desarrolladores se trata de una herramienta gratuita hasta un máximo de 100.000€ de facturación anual. A partir de esa facturación, Unity cobra un porcentaje de las ventas del producto desarrollado con su plataforma. No obstante, también cuenta con opciones de pago para empresas que van desde los 1.400 a los 4.500€ de pago anual.
Principios básicos de Unity
¿Por qué insistimos en que Unity es un entorno de desarrollo? Pues porque cuenta con todo lo necesario para que los diseñadores, programadores y artistas de videojuegos puedan trabajar. Así, aunque Unity parte de empezar simplemente como un motor gráfico, ahora mismo incluye muchas más opciones, desde programación hasta motores de físicas y elementos para la creación e incorporación de assets gráficos, animaciones, etc.
Motor de gráficos en Unity
Unity tiene un motor gráfico que permite crear tanto escenas en 2D como escenas en 3D. Inicialmente estaba enfocado hacia el desarrollo casual e independiente, pero, con las últimas versiones y la integración en una plataforma completa de desarrollo, se ha ido mejorando mucho. A día de hoy, es uno de los motores gráficos de referencia en la industria.
Motor de física en Unity
El motor de físicas de Unity hace que se apliquen las leyes de la física a los objetos que forman parte de la escena en la que estemos trabajando. Así, los objetos que hay en la misma se ven afectados por la gravedad y la interacción con otros objetos de la escena.
Hay que tener en cuenta que, por defecto, los objetos en Unity ni chocan ni interactúan entre ellos. Para que eso llegue a suceder hay que aplicar componentes determinados y establecer los parámetros que queramos. Por ejemplo, si el objeto en concreto tiene que caer a plomo, hay que indicar un punto de choque, si no, caerá hasta el infinito.
Interfaz de usuario de Unity
La interfaz de usuario de Unity es, en si misma, una herramienta integrada para el diseño y desarrollo de videojuegos. De manera sencilla y muy visual, con algunos tutoriales básicos, podemos tener un minijuego hecho en unas pocas horas y sin necesidad (prácticamente) de saber programar.
Dentro de este entorno nos encontramos con varios paneles. Los más relevantes son:
- En esta parte de la interfaz es donde están todos los recursos que forman parte del proyecto en el que se está trabajando.
- Jerarquía. Unity funciona por nodos, en esta parte, se encuentra el cómo se relacionan y organizan de manera jerárquica estos nodos.
- Es el panel de la interfaz en el que se visualiza los elementos de la escena en la que se está trabajando.
- Al seleccionar un objeto dentro de la escena y acudir a esta pestaña, se muestran las propiedades del asset seleccionado.
Estos son los elementos básicos de la interfaz que necesitas conocer para empezar a entender cómo funciona Unity y para aprender a trabajar con esta herramienta de desarrollo de videojuegos.
Programación en Unity
A mayores de ser una herramienta con la que puede ser sencillo aprender a hacer pequeños juegos sin muchos conocimientos de programación, Unity incorpora la posibilidad de escribir el código del juego.
Lenguajes de programación compatibles
Unity funciona con C#, un lenguaje de programación general completo y bastante sencillo de aprender. Además, desde la propia web de Unity se puede acceder a distintos tutoriales con una introducción sencilla a scripting con este código.
Además de C#, Unity también soporta de forma nativa UnityScripting, un lenguaje diseñado específicamente para usar con la herramienta y que se basa en JavaScript.
Scripting en Unity: Fundamentos
Los scripts en Unity se crean directamente dentro de la herramienta dentro de la carpeta que el usuario seleccione para ello. Cuando se abre el script, se inicia un editor de texto propio (aunque se puede externalizar a otro) en el que podemos editar lo que consideremos.
Para que el script creado funcione hay que asignar una instancia del mismo al objeto deseado y que debe estar ya en la escena del programa. Una vez hecho esto, el script debería realizar la acción deseada y puede verse al darle al play en la escena del juego.
Optimización de proyectos en Unity
Un buen rendimiento es clave en los videojuegos. Unity cuenta con opciones para mejorar esto a través de la optimización de aspectos clave.
Consejos para mejorar el rendimiento
Algunos consejos para mejorar el rendimiento son:
- Encuentra donde puede haber problemas de rendimiento, si en la GPU o en la CPU. Dependiendo de cual sea el problema habrá soluciones distintas.
- Para mejorar el rendimiento es mejor no usar más triángulos de los necesarios
- Utilizar menos materiales en los objetos creados para mejorar la performance de la CPU al ejecutar el juego
- Emplear menos elementos que pueda causar un renderizado múltiple que consuma muchos recursos en la CPU
- Mantener la cantidad de vértices por debajo de 200.000 cuando se trabaja para PC.
- Utilizar texturas comprimidas cuando se pueda y en 16bits en ligar de en 32bits
- Minimizar las operaciones matemáticas complejas
Esto son solo algunos ejemplos, para saber como actuar para cada caso concreto lo mejor es formarse e ir practicando con la herramienta. Es el mejor proceso para entender a fondo como funciona Unity.
Compatibilidad multiplataforma en Unity
Otro de los puntos clave de cómo funciona Unity es su utilidad multiplataforma. Es decir, Unity es una herramienta que permite exportar los proyectos a distintas plataformas de juego: da soporte a PC, Mac OS, Linux, Android y las principales consolas del mercado.
Esto es otro de las cosas a tener en cuenta cuando se trabaja en desarrollo de videojuego: ¿en qué plataformas queremos que salga nuestro título?
¡Conviértete en desarrollador de videojuegos!
Como puedes ver, Unity es, junto con Unreal Engine y al margen de herramientas propias de estudios grandes, una plataforma tremendamente importante dentro de la industria de los videojuegos. Se trata de un software que debes dominar si quieres convertirte en desarrollador de videojuegos.
Así que ahora, después de esta introducción a cómo funciona Unity, llega el momento de que profundices en la herramienta. Y no hay mejor manera de hacerlo que de la mano de Tokio School, tu escuela de formación tecnológica. Rellena el formulario y obtén más información sobre todo lo que podemos hacer por ti. En Tokio estamos para ayudarte a cumplir tus metas, ¡descúbrelo