Ciclo de vida
Start, Update, colisiones... qué llama el motor y cuándo.
Todos los métodos son opcionales. El motor solo llama a los que existen.
| Método | Cuándo se llama |
|---|---|
Awake() | Al crear la instancia, al entrar en Play o al instanciar la entidad. |
Start() | Una vez, antes del primer Update de la instancia. |
Update(dt) | Cada frame, después de la física. dt son los segundos del frame. |
LateUpdate(dt) | Cada frame, después de todos los Update. Útil para cámaras. |
FixedUpdate(step) | Una vez por cada paso de física del frame (paso fijo, 1/60 s por defecto). |
OnCollisionEnter(other, contact) | Empieza un choque con otra entidad. También OnCollisionStay y OnCollisionExit. |
OnTriggerEnter(other, contact) | Otra entidad entra en un collider marcado como trigger. También OnTriggerStay y OnTriggerExit. |
OnDestroy() | Antes de destruir la entidad, o al salir de Play. |
En los eventos de física, other es la otra Entity
y contact una tabla con point, normal y relativeVelocity (todos Vec3).
function Caja:OnCollisionEnter(other, contact)
local golpe = contact.relativeVelocity:length()
if golpe > 4 then
Audio.playOneShot("Audio/golpe.wav", contact.point, math.min(1, golpe / 10))
end
end
¿Algo no queda claro o falta algo? Pregunta en el Discord.