Método Update — Unity

Introducción

En este artícu­lo vamos a analizar el méto­do Update de Uni­ty el cual per­mite realizar cam­bios en el tiem­po en nue­stros proyectos.

La pal­abra "méto­do" en pro­gra­mación hace ref­er­en­cia a una fun­ción defini­da en un Script que puede ser lla­ma­da y real­iza la tarea que defin­i­mos en su inte­ri­or. Para saber más sobre méto­dos en pro­gra­mación puedes leer este artícu­lo o ver un video que resume la infor­ma­ción.

Antes de con­tin­uar dejo un video en el que hice algu­nas prue­bas en Uni­ty para enten­der mejor cómo es el orden de eje­cu­ción de los méto­dos Update y FixedUp­date. Enten­der esto te ayu­dará a decidir cuál méto­do es mas con­ve­niente para resolver lo que necesites.

🟢 Difer­en­cias entre UPDATE y FIXEDUPDATE en UNI­TYy a través de códi­go
 

Método Update en Unity — MonoBehaviours

La fun­ción Update está defini­da en la clase MonoBe­hav­iour y se va a eje­cu­tar automáti­ca­mente en cada frame del juego si el MonoBe­hav­iour se encuen­tra acti­vo, es decir si el script donde ten­emos defini­da dicha fun­ción está asig­na­do a un GameOb­ject de la jer­ar­quía y además se encuen­tra acti­vo tan­to el GameOb­ject como el Script.

Cuan­do creamos un nue­vo Script en Uni­ty, por defec­to nos apare­cerá un poco de códi­go ya escrito. En este códi­go se define una Clase de Pro­gra­mación cuyo nom­bre coin­cide con el nom­bre del archi­vo de tex­to que le dimos al Script al crear­lo. Por defec­to, un nue­vo Script extiende su com­por­tamien­to (lo here­da) de la clase MonoBe­hav­iour, esto en tér­mi­nos sim­ples sig­nifi­ca que nue­stro Script es un caso par­tic­u­lar de MonoBehaviour.

Los MonoBe­hav­iours se pueden agre­gar a los GameOb­jects que se encuen­tran en la jer­ar­quía, esto podemos hac­er­lo des­de el inspec­tor usan­do el botón "Add Com­po­nent" o sim­ple­mente arras­tran­do el Script al inspec­tor del GameObject.

Ejecución de la función Update

Al cor­rer el juego, Uni­ty automáti­ca­mente va a tomar todos los MonoBe­hav­iours que haya en la esce­na y va a realizar la eje­cu­ción de los méto­dos Update antes de mostrar cada fotogra­ma del juego. De modo que no debe­mos hac­er la eje­cu­ción de este méto­do man­ual­mente, el motor se encar­ga de ello.

Quiere decir que la fun­ción Update se eje­cu­tará de man­era per­iódi­ca mien­tras nue­stro juego esté corriendo.

Si nue­stro juego fun­ciona a 60 FPS (frames por segun­do) la fun­ción Update se eje­cu­tará 60 veces por segundo.

Update vs FixedUpdate

Existe otra fun­ción de actu­al­ización que se eje­cu­ta automáti­ca­mente cada cier­to tiem­po, se tra­ta de la fun­ción FixedUp­date. Esta fun­ción está rela­ciona­da a la actu­al­ización de las físi­cas del motor y se eje­cu­ta con un rit­mo fijo que por defec­to es de 20 milisegundos.

Exper­i­men­to para enten­der las difer­en­cias entre Update y FixedUp­date en Unity

Conclusión — Update para cambios en el tiempo

El méto­do Update rep­re­sen­ta todo lo que es dinámi­co en nue­stro juego, cuan­do quer­e­mos pro­ducir cam­bios en el tiem­po Update es una de las fun­ciones que ten­emos que considerar.

Es útil enten­der cómo es el orden de eje­cu­ción de los méto­dos Start, Update y FixedUp­date ya que nos per­mite iden­ti­ficar dis­tin­tos momen­tos en la eje­cu­ción del juego.

Scroll al inicio
Secured By miniOrange