[TUTORIAL] function/void Update, Fixed Update, Late Update
Página 1 de 1
[TUTORIAL] function/void Update, Fixed Update, Late Update
Este post na verdade é uma explicação do que é cada uma destas funçoes e para que serve.
A função Update é a principal na programação. ela é executada a cada frame do jogo, tornando-a a função perfeita para implementar comportamentos no jogo. pois estará sempre sendo verificada. Porém esta taxa não é fixa, se o jogo está a 60 fps, a função Update verificou o código 60 vezes naquele segundo, más se o jogo teve uma brusca queda de fps e foi para 10 fps, a função Update verificou apenas 10 vezes o código.
Portanto ha necessidade de implementar o comando Time.deltaTime; em suas funçoes para executar comandos de forma continua, independente do FPS.
ex:
você faz este comando.
isto fará o objeto acrescentar 20 na rotação do eixo Y a cada frame, más a rotação ficará mais rapida ou mais lenta, dependendo do FPS do momento.
já se você fizer este comando:
a rotação passa a ficar dependente dos segundos, ou seja, irá incrementar 20 no eixo Y a cada segundo, tornando o movimento continuo em qualquer FPS
==============================================
Esta função é independente do FPS, ela possui um timer próprio, e não necessita do comando Time.deltaTime para ficar padronizada.
Ela é direcionada a rigidbody ou componentes que usem Fisica no jogo, pois é chamada a uma taxa fixa confiavel, proporcionando continuidade perfeita nos movimentos de física.
exemplo:
==============================================
Esta função serve para atualizar algo depois de todas as atualizações já terem sido processadas ( ocorre a cada frame também ).
Uma maneira simples de explicar isto:
gostaria que quando eu apertasse F, executasse um som e renderizasse uma textura também. más tenho que ter certeza que o som vai começar a tocar antes da textura ser renderizada. então eu coloco a função de renderizar a textura no LateUpdate. isto fará que ela seja executada no mesmo Frame que o som for ativado, más terá a certeza que o comando do som já foi processado.
Em resumo, ela é executada depois das demais atualizaçoes do Frame atual, como uma " verificação ".
Late Update também é dependente dos Frames, como o Update, e precisa do comando Time.deltaTime para tornar movimentos exatamente continuos.
- Código:
function Update () { }
A função Update é a principal na programação. ela é executada a cada frame do jogo, tornando-a a função perfeita para implementar comportamentos no jogo. pois estará sempre sendo verificada. Porém esta taxa não é fixa, se o jogo está a 60 fps, a função Update verificou o código 60 vezes naquele segundo, más se o jogo teve uma brusca queda de fps e foi para 10 fps, a função Update verificou apenas 10 vezes o código.
Portanto ha necessidade de implementar o comando Time.deltaTime; em suas funçoes para executar comandos de forma continua, independente do FPS.
ex:
você faz este comando.
- Código:
transform.Rotate(0,20,0);
isto fará o objeto acrescentar 20 na rotação do eixo Y a cada frame, más a rotação ficará mais rapida ou mais lenta, dependendo do FPS do momento.
já se você fizer este comando:
- Código:
transform.Rotate(0,20*Time.deltaTime,0);
a rotação passa a ficar dependente dos segundos, ou seja, irá incrementar 20 no eixo Y a cada segundo, tornando o movimento continuo em qualquer FPS
==============================================
- Código:
function FixedUpdate () { }
Esta função é independente do FPS, ela possui um timer próprio, e não necessita do comando Time.deltaTime para ficar padronizada.
Ela é direcionada a rigidbody ou componentes que usem Fisica no jogo, pois é chamada a uma taxa fixa confiavel, proporcionando continuidade perfeita nos movimentos de física.
exemplo:
- Código:
function FixedUpdate () {
rigidbody.AddForce (Vector3.up);
}
==============================================
- Código:
function LateUpdate () { }
Esta função serve para atualizar algo depois de todas as atualizações já terem sido processadas ( ocorre a cada frame também ).
Uma maneira simples de explicar isto:
gostaria que quando eu apertasse F, executasse um som e renderizasse uma textura também. más tenho que ter certeza que o som vai começar a tocar antes da textura ser renderizada. então eu coloco a função de renderizar a textura no LateUpdate. isto fará que ela seja executada no mesmo Frame que o som for ativado, más terá a certeza que o comando do som já foi processado.
Em resumo, ela é executada depois das demais atualizaçoes do Frame atual, como uma " verificação ".
Late Update também é dependente dos Frames, como o Update, e precisa do comando Time.deltaTime para tornar movimentos exatamente continuos.
Tópicos semelhantes
» [TUTORIAL] Fixed Joint e Spring Joint - Unity 5
» [TUTORIAL] Unity 3D - Update vs FixedUpdate vs LateUpdate
» Erro: all compiler errors have to be fixed before you can enter play mode
» [TUTORIAL] Introdução para iniciante e tutorial de Click move com raycast
» [TUTORIAL] Tutorial criar game framework/engine do zero com JWJGL Java
» [TUTORIAL] Unity 3D - Update vs FixedUpdate vs LateUpdate
» Erro: all compiler errors have to be fixed before you can enter play mode
» [TUTORIAL] Introdução para iniciante e tutorial de Click move com raycast
» [TUTORIAL] Tutorial criar game framework/engine do zero com JWJGL Java
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos