Motor Unity 5
Motor Unity 5
Motores de videojuegos
CONTENIDO
1. Objetivos
5. Motor adaptativo: 2D y 3D
6. Conclusión
7. Bibliografía
Motor Unity 5 | 3
Si se ejecuta ahora el juego no sucederá nada, ni en En este caso, la variable myName ha sido declarada
pantalla ni en la ventana Console, que por defecto viene pública, por lo cual, como puede verse en la figura 5, se
anclada en la parte inferior del IDE. Esta ventana “muestra le podrá dar valor desde el Inspector utilizando el campo
errores, advertencias y otros mensajes generados por editable llamado igual que su nombre, “My Name”.
Unity. Para ayudar con debugging, usted también puede
mostrar sus propios mensajes en la Consola utilizando
las funciones Debug.Log, Debug.LogWarning and Debug.
LogError.” (Unity Technologies, 2021).
Ahora se va a añadir un GameObject en escena, desde Figura 5. Variable pública vista desde el inspector.
el menú superior GameObject, 3D Object, Cube, y se
le va a añadir el script creado de una de las formas
mencionadas anteriormente. Si ahora se ejecuta el juego Si ahora se ejecuta el juego se podrá ver cómo el valor
se podrá ver por consola el mensaje escrito en el script, dado a la variable en el inspector es el que ésta ha
como se recoge en la figura 3. tomado durante la ejecución, como puede verse en la
figura 6.
• Acceso a componentes
Algo muy habitual es acceder desde un script a otros
componentes que lleva adjuntos el GameObject
en el que se encuentra. Un componente es una
instancia de una clase, por lo cual se deberá coger
una referencia a la instancia del componente con
el que se quiere trabajar en el script. Esto se hace
Figura 4. Script con una declaración de una variable pública llamada con la función GetComponent. (Unity Technologies,
myName. 2021).
Motor Unity 5 | 6
Normalmente se asignará esa referencia al Una vez almacenado ese valor en la variable ya
componente a una variable del script para poder podrá utilizarse en el script. Por ejemplo, desde
utilizarla a lo largo del mismo sin necesidad de un script de un enemigo se podrá modificar su
recoger de nuevo la referencia, como puede verse posición basándose en la del player, como se ve
en la figura 7, en la que se muestra un script en en la figura 9.
el que se almacena la referencia al componente
Rigidbody del GameObject en la variable rb, de tipo
Rigidbody.
Figura 7. Obtención de la referencia al componente Rigidbody del Figura 9. Uso de la posición del player para colocar un enemigo.
GameObject y almacenamiento en la variable rb.
• 3D Ortográfico
Para añadir la malla, es de utilidad escribir Gizmos.Draw
y ver el desplegable de opciones que muestra el editor, Para juegos en los que se utiliza una geometría
como icon, line, mesh, sphere o ray. Estos gizmos actúan 3D, pero con una cámara ortográfica en lugar de
como objetos con los que se pueden interactuar, por lo una cámara de perspectiva, mostrando una vista
que es posible seleccionarlos en escena, no siendo ya panorámica de la acción, denominada a veces
necesario buscar el objeto vacío en la jerarquía para 2.5D se debería seleccionar el modo 3D y cambiar
poder seleccionarlo. la cámara y ventana de escena a ortográfico. En
la figura 17 se recogen ejemplos de juegos 3D
Ortográficos.
Motor adaptativo: 2D y
3D
Unity tiene capacidad para crear juegos tanto 2D como
3D, lo cual, unido a muchas otras de sus características,
lo convierte en un motor muy versátil. Cuando se crea
un proyecto en Unity, se puede comenzar en modo 2D Figura 17. Ejemplos de juegos 3D Ortográficos. Fuente: Unity
o 3D, lo que determina algunas configuraciones para el Technologies. Título: Proyectos 2D o 3D. Lugar de publicación: Unity
Editor de Unity, como, por ejemplo, si las imágenes se Technologies, 2016 [consultado 2021, noviembre 11]. Disponible en
importan como texturas o como sprites. No obstante, https://docs.unity3d.com/es/530/Manual/2Dor3D.html
también es posible cambiar entre los modos 2D y 3D
en cualquier momento, independientemente de cómo • 2D Completo
se configuró el proyecto en el momento de su creación. Para juegos que utilizan gráficos planos llamados
(Unity Technologies, 2021). sprites, que no tienen geometría en tres dimensiones
Para cambiar entre los modos 2D y 3D simplemente y cuya cámara con tiene perspectiva se debería
hay que dirigirse al menú superior Edit, Project Settings, seleccionar el modo 2D. En la figura 18 se recogen
seleccionar la categoría Editor y configurar como Default ejemplos de juegos 2D completos.
Behaviour Mode 2D o 3D. Algunas pautas para seguir
a la hora de decidir si se quiere crear un proyecto 2D o
3D, tal y como se recogen en el Manual de Unity, Unity
Technologies (2021), son las siguientes:
Conclusión
Se ha comenzado el tema conociendo que la
programación de scripts es un ingrediente esencial en
todos los juegos y que para llevarla a cabo es necesario
disponer de un editor de texto, como Visual Studio, que
Figura 19. Ejemplos de juego con gameplay 2D con gráficas 3D. Fuente: facilite la tarea el programador lo máximo posible. Se ha
Unity Technologies. Título: Proyectos 2D o 3D. Lugar de publicación:
Unity Technologies, 2016 [consultado 2021, noviembre 11]. Disponible aprendido a crear C# scripts, se ha conocido su estructura
en https://docs.unity3d.com/es/530/Manual/2Dor3D.html inicial, que incluye las funciones Start y Update, y que
un script es un componente más que puede añadirse
a los GameObjects para otorgarles funcionalidades
• Gameplay 3D y gráficos 2D, con una cámara en personalizadas por el programador. Se ha aprendido a
perspectiva añadirlos a los GameObjects y a declarar variables en
Este estilo de juego, también popular, utiliza ellos y mostrarlas por consola. Además, se ha aprendido
gráficos 2D, pero con una cámara en perspectiva a acceder a otros componentes del GameObject que lleva
para obtener un efecto de paralaje. “Este es un un script utilizando variables públicas y a componentes
estilo de escena de “teatro de cartón”, dónde todos de otros GameObjects.
los gráficos son planos, pero colocados a diferentes
distancias de la cámara.” Para este caso, se debería A continuación, se ha conocido el concepto de
seleccionar el modo 2D, pero cambiando el modo prefab, un tipo de asset que permite almacenar un
de proyección de la cámara a Perspective y el modo objeto GameObject completo con sus componentes y
de la Ventana de Escena a 3D. En la figura 20 se propiedades, y se ha aprendido a crearlos. Después, se
recoge un ejemplo de juego con gameplay 3D con ha aprendido el concepto de gizmos, elementos que se
una cámara en perspectiva. utilizan para permitir un bug visual o para colocar ayudas
en la vista de escena, y se ha aprendido a crearlos para
hacer visibles Empty GameObjects en escena. Por último,
se ha hablado de la capacidad de Unity para crear juegos
tanto 2D como 3D, lo cual, unido a muchas otras de sus
características, lo convierte en un motor muy versátil.
Bibliografía
Figura 20. Ejemplos de juego con gameplay 3D con una cámara en
1. Microsoft. (2021). Visual Studio Tools para Unity.
perspectiva. Fuente: Unity Technologies. Título: Proyectos 2D o 3D. Lugar
de publicación: Unity Technologies, 2016 [consultado 2021, noviembre Microsoft Docs. Recuperado de https://docs.
11]. Disponible en https://docs.unity3d.com/es/530/Manual/2Dor3D. microsoft.com/es-es/Visual Studio/gamedev/unity/
html get-started/visual-studio-tools-for-unity
2. Unity Technologies. (2021). Unity Manual.
Recuperado de https://docs.unity3d.com/Manual/
UnityManual.html