Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unity Gameobject Concepts
Unity Gameobject Concepts
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.
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.
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 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:
Filtrar y controlar la visibilidad de los GameObjects (que objetos vemos en modo edición).
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
Nota: se pueden combinar mediante scripting el uso tanto de Tag como Layer.
Transform
¿Qué es el Transform?
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
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.
Components
Los Components son las tuercas y tornillos de los objetos y comportamientos de un juego. Son las piezas
funcionales de cada GameObject.
Audio
Efectos
Navegación
Network
Físicas 2D y 3D
Renderizado
Script
Tile Map
UI
Video
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
Nota para el caso de un script aplica los dos pasos anteriores, pero también el Drag and Drop.
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
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.
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.
Rigidbody rb;
Rg = GetComponent<Rigidbody>();
Transform tr;
7
OVERVIEW GAMEOBJECTS (OBJETOS DEL JUEGO) EN UNITY
Tr = GameObject.transform.position;
GameObject.transform.position