Warning: strpos() expects parameter 1 to be string, array given in /home/site/wwwroot/wp-content/themes/twentynineteen-child/functions.php on line 163
Para hablar de la instanciación y creación de objetos en Unity primero se debe conocer qué son los GameObjects, pues se trata del objeto más importante en Unity. Todo objeto del juego es un GameObject. Un personaje, un enemigo, una moneda que el personaje pueda recoger, un efecto de explosión al tener lugar una colisión en un juego de carreras. Todo lo que se ve en escena es un GameObject. Pero los GameObjects no hacen nada por sí solos. Necesitan propiedades especiales antes de que puedan convertirse en un personaje, un coleccionable o un efecto.
Si todos los elementos son GameObjects, ¿Qué es lo que diferencia estos objetos entre sí? La respuesta a esta pregunta es que los GameObjects son en realidad simples contenedores que albergan las piezas necesarias para componer un personaje, un coleccionable, una luz, un sonido y/o un efecto. Estas piezas que los GameObject albergan son los llamados componentes.
Dependiendo del objeto que ser quiera crear en el juego se agregan diferentes combinaciones de componentes a un GameObject. Se podría entender los GameObjects como una olla y los componentes como los distintos ingredientes. Al generarse un GameObject, este siempre posee un componente “Transform”, el cual determina su situación en el espacio (posición, rotación y escala) y que no puede ser eliminado. Pero, además, algunos GameObjects predeterminados que se pueden producir contienen ya otros componentes por defecto. Por ejemplo, un GameObject Cube 3D contiene otros tres componentes:
- Cube (Mesh Filter): este componente toma una malla de los assets y la pasa al mesh renderer para renderizarlo en pantalla.
- Mesh Renderer: este componente renderiza en pantalla la malla del GameObject.
- Box Collider: este componente es una primitiva básica de colisión en forma de cubo que representa el volumen sólido del objeto en términos de físicas.
Añadir componentes
Estos, además del “Transform”, son los componentes de un GameObject Cubo 3D por defecto. No obstante, los componentes de un GameObject pueden eliminarse o desactivarse desde el Inspector o a través del código. Además, pueden añadirse más componentes a un GameObject. Unity integra una serie de componentes relacionados con la animación, el audio, los efectos, la malla o la física, entre muchos otros. Pero, además, Unity ofrece la opción de crear propios componentes mediante la creación de Scripts, ficheros de texto que contienen código y que se añaden como otro componente más a los GameObjects. Pueden añadirse componentes a un GameObject de dos maneras distintas:
- Seleccionándolo en la ventana Jerarquía y haciendo clic en el menú superior “Component”.
- Seleccionándolo en la ventana Jerarquía y en la ventana Inspector, haciendo clic en “Add Component”, en la parte inferior.
En cualquiera de los casos se puede elegir entre las distintas categorías de componentes disponibles, el componente que se quiera añadir al GameObject. Los componentes otorgan, por tanto, funcionalidades a los GameObjects y tienen una serie de propiedades que pueden configurarse desde el Inspector para pulir esas funcionalidades. Un componente puede tener dos tipos de propiedades:
- Valores
- Referencias.
Pueden contener la referencia a un componente, un GameObject, o un recurso o assets. Por ejemplo, un componente “Sprite Renderer” contiene dos propiedades de referencia y el resto de sus propiedades son de valor. Las propiedades de referencia contienen la referencia a un recurso o assets del proyecto, a un componente o a un GameObject. En este caso, la propiedad “Sprite” contiene la referencia al Sprite “Warrior_Sheet_Effect_0” y la propiedad “Material” contiene la referencia al material “Sprites-Default”. El resto de las propiedades del componente contienen distintos valores.
Eliminar componentes
Como se ha comentado, todos los componentes de un GameObject, salvo el componente “Transform”, pueden eliminarse. Se puede acceder al menú contexto de un componente de dos maneras:
- Haciendo clic derecho sobre él.
- Haciendo clic en los tres puntos que aparecen en su esquina superior derecha
Este menú contexto tiene una serie de comandos útiles para trabajar con los componentes, entre ellos:
- Comando Reset: permite reiniciar el componente a sus valores por defecto.
- Comando “Remove Component”: permite eliminar el componente.
- “Copy Component”: permite almacenar el tipo y ajustes actuales de la propiedad de un componente para ser pegados en otro del mismo tipo con el comando “Paste Component Values”. Además, los componentes pueden eliminarse desde código en algún momento concreto de la ejecución utilizando la función “Destroy()”.
Deshabilitar componentes
Además de eliminarse, los componentes pueden deshabilitarse. Imagínese que se quiere que un objeto deje de verse cuando algo suceda y vuelva a verse más adelante, en lugar de destruirlo y volverlo a crear, se podría desactivar su componente Renderer mediante código y volverlo a activar, también mediante código, cuando fuera necesario. Los componentes también pueden deshabilitarse y habilitarse desde el Inspector, desmarcando o marcando la casilla que aparece junto al nombre del componente.
Importación de assets y texturas
Importación desde la Assets Store
Una de las grandes ventajas de Unity es su tienda de recursos, la Unity Assets Store. Importar recursos desde la Assets Store es un proceso muy sencillo. Simplemente, se debe abrir desde el menú “Window”, “Assets Store”, hacer clic en el botón que lleva a la tienda y explorarla hasta encontrar el recurso deseado. Cuando se encuentra el recurso deseado, se debe hacer clic en “Add to My Assets” y después en “Open in Unity”, en la nueva ventana que aparecerá en la parte superior del navegador.
Ese botón abrirá el “Package Manager” de Unity, donde se podrá descargar el recurso haciendo clic en “Download” y, una vez descargado, en el botón “Import”, en la esquina inferior derecha. Al hacer clic en “Import” se abrirá una ventana, la cual permitirá seleccionar qué archivos del paquete se quieren descargar. Una vez seleccionados los archivos deseados simplemente se hace clic de nuevo en “Import”, de nuevo en la esquina inferior derecha de esta nueva ventana.
Importación desde fuera de la Assets Store
Si se ha encontrado el recurso que se desea fuera de la Assets Store se puede importar a un proyecto de dos maneras:
- Arrastrando el archivo desde donde se tenga guardado en el ordenador hasta la ventana proyecto, en la carpeta que se quiera guardar.
- Haciendo clic derecho en la ventana proyecto, en la carpeta donde se quiera guardar y haciendo clic en “Import New Assets” para seleccionarlo desde el explorador de archivos.
En ambos casos se creará una copia del archivo en la carpeta de Assets.
Importación de texturas
Normalmente, la malla de un objeto solo da una información aproximada sobre su forma. La mayor parte de los detalles finos serán suplidos por las texturas. Una textura es simplemente un mapa de bits estándar que se aplica sobre la malla de superficie de un objeto. Se puede encontrar muchas imágenes de diferentes texturas en Internet o en la Assets Store. Por ejemplo, textura de pared de ladrillos, textura de césped o textura de madera. Una textura se importa en un proyecto como cualquier otro recurso de Unity, arrastrándolo a la carpeta deseada en la ventana proyecto o haciendo clic derecho en ella y clic en “Import New Assets”. Aunque su importación es como la de cualquier otro recurso, introducir las texturas en escena requiere el uso de materiales.
Inmersión en videojuegos
Dentro del desarrollo y diseño optimizado de videojuegos modernos se debe contemplar la inmersión del jugador como una de las principales características a tener en cuenta. Esto permitirá que el videojuego cuente con cierto nivel de realismo, además de abarcar otros factores como la trama y los personajes. Sin embargo, todo esto conlleva un gran trabajo y labor profesional, y es por esto que se hace presente la especialización académica como la primera opción para adquirir este conocimiento.
TECH Universidad Tecnológica a diario actualiza su portafolio educativo según como la demanda laboral de los profesionales se comporte. De esta manera se oferta una gran cantidad de programas enfocados en el éxito del alumnado en cualquier campo de aplicación. Caso ejemplo de ello sucede en su Facultad de Videojuegos, donde se encuentran posgrados tales como el Máster en Arte para Videojuegos y el Máster en Animación 3D y Realidad Virtual para Videojuegos. Sin embargo, para aquellos profesionales que buscan dominar el campo de la estructuración de videojuegos, no cabe duda que su mejor decisión será tomar el Máster en Programación para Videojuegos.