Manual/ Primeros pasos

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étodoCuá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.