Gravação em câmera lenta de física de jogos no Blender

Publicado em 26 de January de 2026 | Traduzido do espanhol
Configuração de Game Physics no Blender mostrando opções de Record Animation e ajustes de FPS para evitar ralentização na gravação de simulações

Quando a física decide tomar seu tempo

O problema da animação ralentizada ao usar game physics to IPO no Blender é um daqueles clássicos que frustrou mais de um artista. A paradoxo é evidente: a simulação em tempo real fica perfeita, mas ao gravá-la tudo se transforma em uma versão em câmera lenta do que deveria ser. Esse comportamento geralmente está relacionado à diferença entre a taxa de quadros do motor de jogo e a da animação, uma discrepância que o Blender nem sempre lida de forma intuitiva.

O fato de você estar trabalhando com tijolos caindo sobre um plano indica que busca precisão física, e essa ralentização pode arruinar completamente o realismo da sua simulação. A boa notícia é que o problema tem solução uma vez que você entende o que está causando essa dessincronização temporal.

Configuração de taxa de quadros e escala de tempo

O primeiro passo é verificar a consistência da taxa de quadros. Nas propriedades de renderização, certifique-se de que a taxa de quadros esteja configurada em 24 ou 25 FPS (de acordo com seu padrão). Em seguida, nas propriedades da cena, vá para a aba Physics e verifique que Physics FPS esteja no mesmo valor que sua taxa de quadros de renderização.

A escala de tempo (Time Scale) no motor de física Bullet também é crucial. Um valor de 1.0 significa tempo real, mas se sua simulação ficar boa em tempo real mas se ralentizar ao gravar, experimente ajustando esse valor para 0.8 ou 1.2 e fazendo testes até encontrar o ponto onde a gravação coincida com a pré-visualização.

Uma física bem gravada é como um bom metrônomo: mantém o ritmo perfeito do início ao fim

Método de gravação alternativo

Se o método padrão de Record Game Physics to IPO continuar causando problemas, considere usar o sistema de baking manual. Selecione todos os objetos físicos, vá para Physics Properties e na aba Rigid Body use a opção Bake to Keyframes. Esse método costuma ser mais estável e dá controle sobre o intervalo de quadros a gravar.

Outra alternativa é usar o sistema de animação nativo do Blender. Configure sua simulação física, execute a animação quadro por quadro (Alt + A) e depois use Object > Animation > Bake Action com a opção Visual Keying ativada. Isso captura a localização exata de cada objeto em cada quadro.

Otimização da simulação física

A complejidad da simulação pode afetar a velocidade de gravação. Se você tem muitos tijolos, considere reduzir temporariamente a qualidade da malha durante a gravação ou usar proxy objects mais simples. Após gravada a animação, você pode substituir os proxies pelos objetos finais.

Os parâmetros de substeps e solver iterations no motor Bullet também influenciam. Valores muito altos podem fazer com que a simulação em tempo real seja mais lenta que a gravada, criando essa discrepância temporal. Encontre o equilíbrio entre precisão e desempenho.

Solução com Python scripting

Para controle total sobre o processo, você pode usar um script de Python personalizado. O Blender oferece API para gravar e manipular animações físicas programaticamente. Um script simples pode percorrer cada quadro, avançar a física e gravar as transformações, garantindo que não haja desfase temporal.

O script básico envolve usar bpy.ops.rigidbody.bake_to_keyframes() com parâmetros específicos de tempo. Isso permite definir exatamente como e quando a simulação é gravada, evitando as inconsistências do método automático.

Resolver esse problema permitirá gravar simulações físicas complexas com a confiança de que se reproduzirão exatamente como você as viu em tempo real. Porque na animação por física, a consistência temporal é tão importante quanto a precisão física 😏

Exemplo de configuração recomendada

Para uma simulação de 24 FPS:

Render FPS: 24
Physics FPS: 24  
Time Scale: 1.0
Substeps: 10
Solver Iterations: 10
Gravação: Bake to Keyframes