setCinematicCamera
Cliente
Define os planos de câmera que a cinemática dirige durante a reprodução. Substitui os planos anteriores.
bool setCinematicCamera(cinematic cinematic, table shots)
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| cinematic | cinematic | A cinemática. |
| shots | table | Lista de planos, em ordem de start. Uma lista vazia tira a câmera da cinemática. |
Retorno
true se aplicou. false se a tabela é inválida, com um aviso dizendo o motivo.
Campos comuns do plano
Os tempos são da cinemática, em ms. Cada plano começa depois que o anterior para:
start: quando entra (obrigatório).blend: ms para misturar a partir do plano anterior.0é um corte.stop: quando para. Sem ele, vai até o próximo plano; depois de parar, a câmera fica na última vista.shake: tremor em metros,0por padrão.shakeSpeed: frequência em Hz,12por padrão.letterbox:truemostra as faixas de tela larga do SA durante o plano.
Planos de trajeto
Um plano de trajeto define keys (lista de chaves em ordem de tempo):
time: instante da chave em ms (obrigatório).positionetarget: coordenadasvec3(obrigatórios).roll: inclinação em graus (0por padrão).fov: campo de visão em graus, acima de0e abaixo de180(70por padrão).smooth:truesegue a curva de cutscene do SA;falsevai em linha reta até a próxima chave.ease: interpolação até a próxima chave —"linear"(padrão),"inQuad","outQuad","inOutQuad","inCubic","outCubic"ou"inOutCubic".
Planos seguindo um ator
Um plano que segue um ator define:
Exemplo
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" },
})