Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Editor
Reset: El reset es llamado para inicializar las propiedades de script cuando es por
primera vez adjuntado al objeto y también cuando el comando Reset es utilizado.
Estas funciones son llamadas cuando la escena comienza (una para cada objeto en la
escena).
Awake: Esta función siempre se llama antes de cualquier función Start y también justo
después de que un prefab es instanciado. (Si un GameObject está inactivo durante el
comienzo, Awake no es llamado hasta que se vuelva activo)
OnEnable: (solamente es llamado si el Objeto está activo): Esta función es llamada
justo después de que el objeto es activado. Esto sucede cuando una instancia de
MonoBehaviour es creada, tal como cuando un nivel es cargado o un GameObject con
un componente script es instanciado.
OnLevelWasLoaded: Esta función es ejecutada para informarle al juego que un nuevo
nivel ha sido cargado.
Tenga en cuenta que para todos los objetos agregados a la escena, las funciones Awake
y OnEnable para todos los scripts serán llamados antes de que Start, Update, etc sean
llamados en cualquiera de ellos. Naturalmente, esto no se puede lograr cuando un objeto
es instanciado durante el gameplay.
Para objetos agregados a la escena, la función Start será llamada en todos los scripts
antes que Update , etc sean llamadas para cualquier de ellos. Naturalmente, esto no
puede suceder cuando un objeto es instanciado durante gameplay.
Entre frames
Rendering (Renderización)
OnPreCull: Llamado antes de que la cámara corte (culls) la escena . Culling determina
qué objetos son visibles a la cámara. OnPreCull es llamado justo antes de que el culling
tome lugar.
OnBecameVisible/OnBecameInvisible: Llamado cuando un objeto se vuelve
visible/invisible a cualquier cámara.
OnWillRenderObject: Se llama una vez por cada cámara si el objeto es visible.
OnPreRender: Llamado antes de que la cámara comience a renderizar la escena.
OnRenderObject: Llamado después de que toda la renderización regular de la escena
es hecha. Usted puede utilizar la clase GL o Graphics.DrawMeshNow para dibujar una
geometría personalizada en este punto.
OnPostRender: Llamado después de que una cámara finalice de renderizar la escena.
OnRenderImage: Llamado después de que la renderización de escena esté completa
para permitirle un post-procesamiento de la imagen de la pantalla, ver ImageEffects.
OnGUI: Llamado múltiples veces por frame en respuesta a los eventos GUI. El Layout y
los eventos de Repaint son procesado primero, seguidos por un evento de Layout y de
teclado/mouse para cada evento de input.
OnDrawGizmos Utilizado para dibujar Gizmos en la vista de escena por propósitos de
visualización.
Coroutines (Corrutinas)
yield La coroutine va a continuar después de que todas las funciones Update hayan
sido llamadas en el siguiente frame.
yield WaitForSeconds Continúa después de un retraso de un tiempo específico,
después de que todas las funciones Update hayan sido llamadas para el frame
yield WaitForFixedUpdate Continua después de que todos los FixedUpdate hayan sido
llamadas en todos los scripts.
yield WWW Continúa después de que una descarga WWW haya sido completada
yield StartCoroutine Encadenada la coroutine, y va a esperar para que la coroutine
MyFunc haya sido completado primero.
OnDestroy: Esta función es llamada después de que todas las actualizaciones de frame
para el último frame de la existencia del objeto (el objeto puede ser destruido en
respuesta a Object.Destroy o al cerrarse la escena).
Cuando Salga
OnApplicationQuit: Esta función es llamada en todos los game objects antes de que se
salga de la aplicación. En el editor es llamada cuando el usuario para el modo de
reproducción. En el web player (Reproductor web) es llamada cuando la vista de web
es cerrada.
OnDisable: Esta función es llamada cuando el comportamiento se vuelve inactivo o
deshabilitado.
o Int
o String
o Float
o Bool
o Double
o Char
o Struct (compuestos)
Vector 2
Vector 3
Vector 4
Cuaternions
Color
Array
List
Diccionarios
De Referencias:
Clases
o GameObjec
o Componenent
o Etc.
Component (contenedores):
o
o Los Componentes son las tuercas y tornillos de los objetos y comportamientos
de un juego. Son las piezas funcionales de cada GameObject.
o Son los elementos que le agregan funcionalidad a los GameObject.
o Los componentes pueden ser agregados al GameObject.
o El Transform Component es crítico para todos los GameObjects, entonces cada
GameObject tiene uno.
o Un GameObject puede tener otros Components.
o Cada GameObject también contiene un Transform Component.
o 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.
o Los scripts son considerados componentes.
o Dependiendo del objeto que se quiera crear, usted va agregar diferentes
combinaciones de Components al GameObject. Piense en un GameObject
como una olla vacía de cocina, y los Components como los ingredientes
diferentes que hacen su receta del gameplay.
Ejemplo:
Prefabs:
o Son instancias del GameObject, es decir GameObject pre configurados que se
crean en escena se almacenan en el proyecto.
o Pueden ser instanciados o clonados
o un Prefab permite almacenar un objeto GameObject completamente con
components y propiedades. El prefab actúa como una plantilla a partir de la
cual se pueden crear nuevas instancias del objeto en la escena.
o Cualquier cambio al prefab en sí mismo serán reflejados en todas las
instancias, pero también se puede modificar instancias individualmente por
separado.
Tags (Etiquetas)
Un Tag es una palabra que víncula a uno o más GameObjects.
Los Tags son valores marcados que pueden ser usados para identificar objetos
en su proyecto
Por ejemplo, usted podrá definir etiquetas como “Player” y “Enemy” para personajes
controlados por el jugador y personajes no controlados por el jugador respectivamente; una
etiqueta “Collectable” puede ser definida para elementos que el jugador puede recoger en la
Scene; y así.
Claramente, 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. Esto se logra usando la función
GameObject.FindWithTag().
Para crear una nueva Etiqueta, haga click en la opción “Add tag…” al final del menú
desplegable. Esto abrirá el Tag Manager en el Inspector.
El Tags and Layers Manager le permite establecer Layers, Tags y Sorting Layers. Para
ver el administrador, seleccione Edit > Project Settings > Tags and Layers.
Recomendaciones
Capas (Layers)
La primera línea:
Se declara una variable de tipo vector3 y se iguala a la variable position del componente
transform, esto quiere decir que la variable pos almacenara la posición de ese objeto, ya que
se ha almacenado por referencia (clase).
El component transform contiene tres variables importantes que son position, scale y rotation
las cuales se pueden utilizar o acceder para modificar el comportamiento de un objeto.
La segunda línea:
La variable pos almacenara un nuevo valor el cual ha sido inicializado mediante el constructor
de la estructura (Vector3) con los valores (x,y,z) 0,2,0 y dichos valores (x,y,z) son variables de la
estructura Vector3.
Notas:
Tanto los datos de referencia, así como los de valor cuando se utiliza el constructor (new),
los valores asignados anteriormente se borran automáticamente de la memoria o pila y no
ocupan espacio. Esto es diferente a cuando instanciamos un objeto y si estos objetos
deberían de destruirse manualmente ya que si ocupan memoria.
Ejemplo 1:
gameObeject.renderer.material.color = Color.red
material: Es una propiedad de la clase renderer la cual guarda una referencia a la clase
material.
Color: Es una propiedad de la clase material la cual guarda una referencia a la estructura
color.
Ejemplo 2:
gameObject.renderer.collider.attachRigidbody.angularDrag = 0.2f
This.renderer.collider.attachRigidbody.angularDrag = 0.2f
This: Es una auto referencia al propio gameObject donde está contenido el script.
This.Rigidbody.angularDrag = 0.2f