Sunteți pe pagina 1din 8

OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

Objetivos

GameObjects

Cada objeto en su juego es un GameObject. No obstante, los GameObjects no hacen nada por sí mismos.
Estos necesitan propiedades especiales antes de que puedan volverse un personaje, un ambiente, o un
efecto especial.

Los GameObjects son contenedores de componentes (comportamientos predefinidos o personalizados).


Estos pueden guardar las diferentes piezas que son requeridas para hacer un personaje, una luz, un árbol,
un sonido, o lo que sea que usted quisiera construir.

Un GameObject es un contenedor para muchos Components distintos. Por defecto, todos los GameObjects
automáticamente tienen un Transform Component. Esto es porqué el Transform dicta dónde el
GameObject está ubicado, y cómo es girado y escalado. Sin un Transform Component, el GameObject no
tendría lugar en el mundo.

Estos no logran nada por sí mismos, pero funcionan como contenedoras para Components, que
implementan la verdadera funcionalidad. Por ejemplo, un objeto Light es creado al adjuntar un
componente Light a un GameObject como se muestra a continuación.

Nombre del objeto


Estado: Activo

Layer

Tag
Valores de las
propiedades
Componente
Transform
Propiedades del
Componente

Componente Light

1
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

LOS LAYERS

¿Qué son?

Son capas utilizadas para agrupar GameObjects a modo de aplicarle o restringirles diferentes
funcionalidades o comportamientos.

Layer de la Escena

Layer del Objeto

Layer de la
Escena
Layer del Objeto

Visibilidad:
Desactivada
Layer al que
pertenece el
objeto Visibilidad:
Activada

Funcionalidades

 Controlar la visualización de los GameObjects tanto en modo edición de escena (scene view)
como en ejecución del juego (game view).
 Filtrar visibilidad en la cámara.
 Filtrar interactividad ignorando o no el RayCasting (con los inputs)
o Por ejemplo “Ignore Raycastint” ignora la colision del objeto con los rayos, con lo cual
nunca abra interrelación entre el objeto con este layer y el rayo generado por un
método Raycasting.
 Ejemplo: el método OnMouseEnter()
 Si el objeto pertenece al layer Ignore Raycast, no abra interactividad
entre el mouse y el GameObject.

2
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

¿Cómo funcionan?

Los Layers son comúnmente utilizados por Cameras para renderizar solo una parte de la escena, y por las
Lights para iluminar solo partes de la escena. Pero también pueden ser utilizados por raycasting para
selectivamente ignorar los colliders o crear collisions.

Por tanto:

En modo edición de escena:

 Filtrar y controlar la visibilidad de los GameObjects (que objetos vemos en modo edición).

En modo de ejecución (runtime):

 Filtrar interactividad ignorando o no el RayCasting (que objetos interactúan entre ellos)


 Filtrar visibilidad de la cámara (que objetos ve la cámara mediante su propiedad: Culling Mask)

¿Cómo cambiar / asignar un Layer a un GameObjects?

 Seleccionar el GameObject → Click en Layer → Seleccionar el Layer

¿Cómo crear un Layer?

 Seleccionar el GameObject → Click en Layer → Add Layer


 Menu Edit → Project Setting → Tag and Layers

3
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

Tag

¿Qué es un Tag?

Un Tag es una palabra que vincula a uno o más GameObjects. Los tag o las etiquetas están destinadas
para identificar GameObjects para propósitos de scripting. Podemos utilizarlas para escribir código de
scripts para encontrar un GameObject por buscar un objeto que contenga nuestra etiqueta deseada.

Funcionalidades

 Marcar GameObjects con etiquetas


 Crear etiquetas propias
 Permitir a los programadores buscar e identificar GameObjects (realizar scripting)

Nota: se pueden combinar mediante scripting el uso tanto de Tag como Layer.

¿Cómo asignar etiquetas?

Seleccionar el GameObjects → Click en el apartado Tag → Seleccionar Tag

¿Cómo crear un Layer?

 Seleccionar el GameObject → Click en Layer → Add Tag


 Menu Edit → Project Setting → Tag and Layers

Transform

¿Qué es el Transform?

 El componente Transform determina la Position, Rotation, y Scale de cada objeto en la escena.


Cada GameObject tiene un Transform, para objetos del tipo User Interface (UI) tendrán un
componente Rect Transform aunque tiene la misma funcionalidad este tiene más propiedades.
 Es el componente más importante de Unity, es usado para almacenar la posición, rotación, escala
y el estado de parenting de un GameObject. Un GameObject siempre va a tener adjunto un
Transform component, no es posible quitar un Transform o crear un GameObject sin uno.

Nota:
Los valores de posición, rotación, y escala de un Transform son medidos relativamente al padre del
Transform. Si el Transform no tiene padre, las propiedades son medidas en el espacio del mundo.

4
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

Explicar la función del componente Transform

 ¿Para que existe?


 ¿Cuáles son sus funciones principales?
o Posicionar GameObjects en la escena
o Gestionar los parentescos en la jerarquia
 Reconocer el componente y sus propiedades

Posicionando y Editando Transforms

Transforms son manipulados en espacio 3D en el eje X, Y, y Z o en espacio 2D en solo X y Y. En Unity,


estos ejes son representados por los colores rojo, verde, y azul respectivamente.

Un Transform puede ser editado en el Scene View o cambiando sus propiedades en el Inspector. En la
escena, usted puede modificar Transforms usando las herramientas de desplazamiento, rotación y escala.
Estas herramientas están ubicadas en la esquina superior izquierda del editor de Unity.

Las herramientas pueden ser usadas en cualquier objeto en la escena. Cuando haga click en un objeto,
usted va a ver la herramienta gizmo aparecer dentro de él. La apariencia del gizmo depende en qué
herramienta es seleccionada.

Transform gizmo

Cuando haga click y arrastre en uno de los tres ejes de gizmo, usted verá que sus colores cambiarán a
amarillo.

5
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

Parentesco

Parenting es uno de los conceptos más importantes que entender cuando se usa Unity. Cuando un
GameObject es un Parent de otro GameObject, el GameObject Child va a moverse,rotar, y escalar
exactamente como su padre(parent) lo haga.

Usted puede crear un padre(parent) al arrastrar cualquier GameObject en la Hierarchy View encima de
otro. Esto va a crear una relación padre-hijo entre los dos GameObjects.

Ejemplo: Parentesco por Código

Components

¿Qué son los Components?

Los Components son las tuercas y tornillos de los objetos y comportamientos de un juego. Son las piezas
funcionales de cada GameObject.

¿Cuáles los diferentes tipos de Componentes?

Los más comunes son del tipo:

 Audio
 Efectos
 Navegación
 Network
 Físicas 2D y 3D
 Renderizado
 Script
 Tile Map
 UI
 Video

En general están los siguientes:

 Componentes de Interacción
o Componentes en el sistema UI
 Componentes Visuales
o Componentes de funcionalidad GUI específica.
 Componentes de Comportamientos
o Behaviour

6
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

¿Cómo agregar componentes Rigidbody?

 Menu Component -> Physics -> Rigidbody


 Seleccionar objeto -> Add Component -> Rigidbody

Nota para el caso de un script aplica los dos pasos anteriores, pero también el Drag and Drop.

¿Cómo Editar Componentes?

Cuando se adjunta un Component a un GameObject, hay diferentes valores o Properties en el Component


que pueden ser ajustadas en el editor mientras se construye un juego, o por scripts cuando esté corriendo
el juego. Hay dos tipos de propiedades ( Properties): Values y References.

¿Cómo Crear Componentes?

Este caso solo aplica a script los cuales son componentes personalizados por los programadores.

¿Cuáles son los comandos acciones que se puede realizar en el menú component?

 Reset:

Este comando restablece los valores que tenían las propiedades del component antes de la más reciente
sesión de edición.

 Eliminar(Remove)

Un comando Remove Component está disponible para casos en dónde ya no se necesite el component
adjunto al GameObject.

 Moverse Arriba/Abajo

Dar orden a los componentes.

 Copiar/Pegar

El comando Copy Component almacena el tipo y los ajustes actuales de la propiedad de un Component.
Estos luego pueden ser pegados a otro component del mismo tipo con Paste Component Values. También,
puede crear un nuevo component con los valores copiados en un objeto usando Paste Component As New.

 Probando las Propiedades

Mientras su juego esté en Play Mode, usted es libre de cambiar las propiedades en Inspector de cualquier
GameObject. Cuando se salga de Play Mode, sus propiedades se van a revertir a sus valores pre-Play Mode,
para que no se pierda nada de trabajo. Este flujo de trabajo le da un poder increíble con el cual
experimentar, ajustar, y refinar su juego sin la necesidad de invertir mucho tiempo en ciclos de iteración.
Inténtelo con cualquier propiedad en Play Mode.

Observación Importante:

El componente transform es el único componente que se puede acceder sin necesidad de usar el método
genérico GetComponent<T>(), donde T es el tipo de componente. Esto asi debido a que en la definición de
la clase Transform, este hereda de la clase Component.

Ejemplo: Cualquier Componente debe llamar el método GetComponent<T>();

Rigidbody rb;

Rg = GetComponent<Rigidbody>();

Ejemplo: Con Transform se accedería de la siguiente manera

Transform tr;

7
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY

Tr = GameObject.transform.position;

Otra forma seria acceder directamente:

GameObject.transform.position

S-ar putea să vă placă și