Unity Spain

Comunidad => Primeros Pasos => 2. Uso de Unity3D => Mensaje iniciado por: pioj en Septiembre 16, 2016, 05:25:19 PM

Título: 2.04 ¿Qué es un Componente?
Publicado por: pioj en Septiembre 16, 2016, 05:25:19 PM
¿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:
 

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.
 
(http://image.prntscr.com/image/167f060203004c968df2ce4f7972c4be.jpeg)
 
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.