MC Toolkit

Guias / Comandos e dados

Cenas cinematográficas sem mods: keyframes, interpolação e truques de espectador

Duas maneiras de mover uma câmera no jogo base: uma função de teletransporte por tick ou o registro de linha do tempo. Para que cada uma serve e como suavizar o movimento para não parecer robótico.

Não existe um objeto de câmera no jogo base, então uma cena cinematográfica é uma de duas ilusões.

Método 1: teletransportar o jogador a cada tick

A forma antiga e universal. Coloque o jogador no modo espectador e, em seguida, mova-o ao longo de um caminho:

gamemode spectator @s
tp @s 100.0 70.0 200.0 -90.0 10.0

um tp por tick de uma cadeia de funções. Funciona em todas as versões e não precisa de nada especial. Os problemas são todos sobre a suavidade:

  • 20 keyframes por segundo. Uma cena de dez segundos são 200 linhas de tp.
  • Passos lineares parecem mecânicos. Movimentos de câmera reais suavizam a entrada e a saída.
  • A rotação se comporta mal. Ir do yaw 170 para -170 é um giro de 20 graus, mas a interpolação ingênua gira 340 graus na direção errada. Normalize a diferença de ângulo para o intervalo -180…180 antes de dar o passo.

Gerar essas linhas é para isso que serve uma ferramenta de keyframe — você define algumas posições e ela emite a função por tick com suavização aplicada.

Suavização (Easing)

A diferença entre amador e assistível é a curva de interpolação. Entre dois keyframes, com t de 0 a 1:

linear      t
ease-in-out t < 0.5 ? 2t²  :  1 − 2(1−t)²
smoothstep  t² × (3 − 2t)

smoothstep é o padrão seguro. Aplique-o à posição e rotação juntas ou a câmera chegará antes de terminar de girar.

Método 2: o registro de linha do tempo (timeline registry)

Versões mais recentes adicionam um formato de linha do tempo que descreve a cena inteira como dados, em vez de centenas de teletransportes:

data/<namespace>/timeline/intro.json

Keyframes com tempos e modos de interpolação, reproduzidos com um único comando. Vantagens:

  • Muito menor. Seis keyframes em vez de duzentos teletransportes.
  • A interpolação é nativa, então não há matemática de suavização manual.
  • Independente da taxa de quadros — não engasga como um teletransporte por tick em um servidor carregado.

O custo é que ele só existe em versões recentes, então um mapa que visa clientes mais antigos ainda precisa do método 1.

Mantendo o jogador no lugar

Ambos os métodos lutam contra duas coisas:

  • Movimento do jogador. O modo espectador permite que o jogador voe para longe no meio da cena. O teletransporte repetido a cada tick anula esse movimento, uma das razões pelas quais o método de força bruta ainda é usado.
  • Carregamento de chunks. Uma câmera voando para um lugar descarregado mostra o vazio. Use /forceload no caminho antes da cena e remova-o depois.

Escondendo o HUD

/gamerule doImmediateRespawn, modo espectador e F1 já ajudam bastante. Para obter uma imagem limpa, um pacote de recursos que deixa os sprites do HUD em branco remove a mira e a barra de acesso rápido sem que o jogador precise pressionar nada — consulte o guia do HUD.

Coloque keyframes em um caminho e exporte uma função por tick ou um JSON de linha do tempo com os Construtores de Cenas Cinematográficas e Linhas do Tempo.

Criadores de cenas e linhas do tempo →

Mais guias

Ver todos →

Procurando mais ferramentas de Minecraft?

Um conjunto de geradores, visualizadores e conversores que rodam no navegador — tudo grátis.