quinta-feira, 25 de junho de 2026devblog

A câmera nunca foi o problema

Duas horas caçando uma "câmera travando". A câmera estava ótima. As linhas do campo tremiam em movimento, o motion blur as borrava ainda mais e o look-at dava trancos a cada quadro.

NUNCA FOIA CÂMERA

"Minha câmera está travando." Duas horas depois: minha câmera nunca foi o problema.

As pistas que resolveram o caso:

  • Suave em câmera lenta, então não era engasgo.
  • Continuava travando a 120 fps, então não era taxa de quadros.
  • Lisinha com a câmera parada, então era algo revelado pelo movimento.

Os verdadeiros culpados eram três coisas sem relação nenhuma se somando:

  1. Linhas finas do campo tremendo em movimento. As linhas procedurais ficavam menores que um pixel na distância da transmissão, e o upscaler temporal não conseguia reprojetá-las de forma limpa de um quadro para o outro, então elas "andavam".
  2. Motion blur borrando essas linhas ainda mais a cada movimento de câmera, o que fazia o tremor parecer que a imagem inteira estava balançando.
  3. O look-at da câmera dando trancos a cada quadro em vez de suavizar, o que colocava um degrauzinho em cada rotação.

As correções: aplicar anti-aliasing nas linhas no material, para que mantenham uma largura estável de um pixel a qualquer distância, interpolar a rotação da câmera em vez de dar trancos e desligar o motion blur. Lisinho.

A lição é a de sempre. Insista na suposição errada por tempo suficiente e você vai otimizar a coisa errada. Primeiro meça onde o tremor realmente mora.

Entregue: linhas do campo com anti-aliasing · rotação de câmera suavizada · motion blur desligado

Este post foi traduzido do inglês com auxílio de IA. Ler o original