Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

2.04 ¿Qué es un Componente?

Iniciado por pioj, Septiembre 16, 2016, 05:25:19 PM

Tema anterior - Siguiente tema
Septiembre 16, 2016, 05:25:19 PM Ultima modificación: Septiembre 16, 2016, 06:22:17 PM por pioj
¿Qué es un Componente?
 
En Unity3D, un Component (Componente) es cada uno de los atributos, colección de propiedades, comportamientos, o características que definen a un GameObject y lo diferencian de otro. Para entendernos, es todo aquel Script o "trozo de código" que se "pega" a un GameObject para definir sus características.
 
Unity asigna, internamente y por defecto, unos Componentes concretos para cualquier GameObject:
 

  •    CUALQUIER GameObject, cómo mínimo siempre tendrá disponible el Componente de Transform. Es una estructura de coordenadas para Posición, Rotación y Escala.


  •    CUALQUIER GameObject, como mínimo siempre tendrá disponible un Componente interno (no visible en el Inspector) que es el propio GameObject. Se usa para referenciar al propio GameObject y sus propiedades más básicas y de más bajo nivel de acceso, como su Nombre, Tag, Layer, id en memoria, etc...


  •    Los GameObject de tipo Primitva o modelo/malla 3D suelen añadir los Componentes MeshFilter y MeshRenderer, que definen y visualizan que son modelos 3D.


  •    La Cámara es un GameObject especial porque tiene un Componente Camera, con una serie de propiedades que definen y le dan su comportamiento propio.


  •    La mayoría de los GameObjects pueden tener un Componente para físicas, de tipo RigidBody, o de Collider, etc. Éstos añaden propiedades para gestionar su física.


  •    Etc, etc...


Y, adicionalmente, al ser Scripts (Ficheros que contienen código), los Componentes son precisamente eso, Scripts que añadimos a un GameObject, y que pueden afectarle a él, o a otros GameObjects, o incluso a toda la Escena o al Proyecto completo.
 

 
Unity nos permite programar y usar nuestros propios Componentes, lo cual nos permite personalizar prácticamente todo lo que Unity puede ofrecer. Incluso nos permite personalizar y hacer variaciones de los que el motor usa internamente.
 
En Unity no veremos ningún Script Principal" o Main, que dicte lo que hace el resto de cosas. Sólo necesitamos saber que cualquier elemento de nuestro proyecto puede ser programado como si fuera un módulo independiente, usando Componentes.
 
Los Componentes o Scripts que nosotros creamos y queramos que afecten a los GameObjects o a la Escena, suelen derivar de una clase llamada MonoBehavior. Esta característica es la principal que permite programar cualquier cosa durante la carga o ejecución del videojuego hecho en Unity.
 
Cuando se pulsa el Botón de Play de la Interfaz de Unity, o se ejecuta nuestra aplicación, internamente el motor busca y llama a todos los GameObjects que tengan un Componente que derive de MonoBehavior, y llama a cada uno, a sus correspondientes funciones Start(), Update(), etc...
 
 
 
Entender estos conceptos es crucial para saber cómo desarrollar videojuegos con Unity, ya que es lo que le diferencia de otros motores, por ejemplo los que se basan sólo en Código, y dependen de un "Código Principal", o Maestro (Main), dónde es ESE quien manda sobre los demás, y quien llamará al resto...
 
 
 
Para programar Componentes, es necesario un conocimiento previo mínimo, sobre Scripting y Lenguajes de Programación. En Unity se puede programar conociendo los lenguajes Javascript o C#. Físicamente, dentro de un Proyecto (dentro de la ventana Project) encontraremos ficheros con extensión .js o .cs, que son los Scripts o Componentes de nuestro Proyecto.
 
 
 
Si hemos entendido correctamente todo este temario, enhorabuena. Acabas de aprender LO MÁS DIFÍCIL de todo lo que se requiere para usar Unity3D.

Etiquetas: