setCinematicCamera
Cliente
Define los planos de cámara que la cinemática dirige durante la reproducción. Reemplaza los planos anteriores.
bool setCinematicCamera(cinematic cinematic, table shots)
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| cinematic | cinematic | La cinemática. |
| shots | table | Lista de planos, en orden de start. Una lista vacía quita la cámara de la cinemática. |
Retorno
true si se aplicaron. false si la tabla no es válida, con un aviso que dice el motivo.
Campos comunes del plano
Los tiempos son de la cinemática, en ms. Cada plano empieza cuando el anterior se detuvo:
start: cuándo entra (obligatorio).blend: ms para mezclar desde el plano anterior.0es un corte.stop: cuándo se detiene. Sin él, dura hasta el plano siguiente; una vez detenido, la cámara mantiene la última vista.shake: temblor en metros,0por defecto.shakeSpeed: su frecuencia en Hz,12por defecto.letterbox:truemuestra las franjas de pantalla ancha de SA durante el plano.
Planos de trayecto
Un plano de trayecto define keys (lista de claves en orden de tiempo):
time: instante de la clave en ms (obligatorio).positionytarget: coordenadasvec3(obligatorios).roll: inclinación en grados (0por defecto).fov: campo de visión en grados, mayor que0y menor que180(70por defecto).smooth:truesigue la curva de cutscene de SA;falseva en línea recta a la clave siguiente.ease: interpolación hacia la clave siguiente —"linear"(por defecto),"inQuad","outQuad","inOutQuad","inCubic","outCubic"o"inOutCubic".
Planos que siguen a un actor
Un plano que sigue a un actor define:
Ejemplo
local intro = createCinematic("cinematics/intro.cine")
setCinematicCamera(intro, {
{
start = 0,
letterbox = true,
keys = {
{ time = 0, position = vec3(2480, -1700, 30), target = vec3(2495, -1680, 14) },
{ time = 6000, position = vec3(2500, -1700, 20), target = vec3(2495, -1680, 14), ease = "inOutQuad" },
},
},
{ start = 6000, blend = 1000, actor = "hero", offset = vec3(0, -4, 1.5), lookAtActor = "hero" },
})