Blender camera redor objeto seguindo um caminho espiral
Neste tutorial em português para o Blender (feito no Blender 2.93) explicamos como orbitar uma Camera ao redor de um objeto seguindo um caminho em espiral, quais problemas podem surgir e as possíveis soluções.
Normalmente para apresentar um produto ou artefato pode ser suficiente girar a Camera ao redor do objeto seguindo uma órbita circular, mas às vezes pode ser necessário mostrar também a sua parte superior e inferior; além disso, um caminho em espiral bem trabalhado pode dar a ilusão de que o objeto é maior e mais majestoso adicionando "epicidade" à animação.
Oferecemos duas soluções para simular um comportamento em espiral: a primeira usando uma espiral real, examinando também o caso problemático de um objeto alto e estreito, a segunda tentando usar apenas um objeto Empty para mover a Camera.
Caminho em espiral de uma Camera ao longo de uma curva em forma de espiral:
Criamos um novo projeto, apagamos o cubo presente (selecionando-o com o botão esquerdo do mouse e pressionando a tecla "X"), e criamos o objeto Suzanne em seu lugar, pressionando as teclas SHIFT+A (ou começando pelo "Add" submenu) e escolha "Mesh > Monkey".
Em Edit > Preferences, na aba "Add-ons" ativamos o add-on "Add Curve: Extra Objects"
Sempre com as teclas SHIFT+A adicionamos a curva em espiral com "Curve > Curve Spirals > Archemedian" (a espiral de Arquimedes)
na caixa de diálogo no canto inferior esquerdo
nós inserimos os parâmetros para nossa espiral
"Spiral Parameters":
"Turn": 1, fazemos uma única volta da Camera ao redor do objeto
"Steps": 200, escolhemos um número de segmentos grande o suficiente para criar a curva mais suave possível
"Archemedian Settings":
"Radius": 5.1, deve ser largo o suficiente para poder ver o objeto de uma certa distância, mas escolhemos o raio também pequeno o suficiente para poder ver os detalhes
"Height": 6.6, a espiral deve se desenvolver ao longo de uma altura muito maior do objeto, a fim de ver claramente sua parte superior e inferior
Rotation:
Z: -90°, vamos começar a espiral na frente de "Suzanne" e deixar terminar na frente dela
Pressione a tecla TAB para alternar para o Object Mode, pressione as teclas G e Z, escreva -3,403 e pressione a tecla ENTER para mover a espiral selecionada para baixo. Nós entendemos assim
A Camera deve começar do ponto mais baixo da espiral, então vamos posicioná-la com a ajuda do 3D Cursor; primeiro mova o 3D Cursor para este ponto: selecione a curva espiral, pressione a tecla TAB para retornar ao "Edit Mode" e selecione o primeiro ponto da espiral clicando nele com o botão esquerdo,
movemos o 3D Cursor sobre ele, pressionando as teclas SHIFT+S e escolhendo a opção "Cursor to Selected"
obtendo
Agora vamos mover a Camera para o 3D Cursor: pressione a tecla TAB e volte ao Object Mode, selecione a Camera, pressione SHIFT+S mas desta vez selecione a opção "Selection to Cursor"
e nós temos
Para fazer a Camera percorrer o caminho da espiral, primeiro selecione a Camera, depois a espiral e pressione CTRL+P, escolhendo a opção "Follow Path"
Agora a Camera segue o caminho da espiral, porém, se iniciarmos a animação pressionando a BARRA DE ESPAÇOS, notamos que a Camera não olha para a cabeça do macaco.
Poderíamos usar o objeto Suzanne como o alvo da Camera, mas em vez disso, vamos criar um objeto Empty, porque possivelmente poderia nos ajudar a posicionar melhor a cena durante a animação.
No Object Mode, pressionamos as teclas SHIFT+C, para trazer o 3D Cursor de volta ao centro dos eixos, onde a origem do objeto Suzanne também é encontrada, e criamos o objeto Empty com Add > Empty > Plain Axes
Selecionamos a Camera e em "Object Constraint Properties", da "Properties Window" à direita, criamos uma restrição "Track To", com o objeto Empty como alvo; a Camera irá agora apontar para ela
A animação total é de 250 frames, para garantir que o caminho da Camera ao longo da espiral coincida com a duração total da animação, selecionamos a espiral e clicamos na guia "Object Data Properties" inserindo em "Path Animation > Frames" o valor 250.
No final podemos criar a animação, no nosso caso só precisamos de uma preview, então pressionamos 0 no teclado numérico, trazendo-nos para a visualização da Camera
e selecione View > Viewport Render Animation
e no final do processamento rápido, obtemos
Caminho em espiral de uma Camera em torno de um objeto alto e estreito:
Pode surgir um problema quando você deseja filmar objetos altos e estreitos, como um arranha-céu (cerca de 23 metros de altura e 2 de largura, medidas que não correspondem à realidade, mas são apenas um exemplo)
(as cores da porta e das janelas podemos vê-las porque o modo "Material Preview" foi definido)
mais uma vez criamos uma curva espiral com "Add > Curve > Curve Spirals > Archemedian", com valores como para adaptá-la ao novo objeto:
Turns: 2
Steps: 300
Radius: 5.1
Height: 14.0
Rotation Z: -90°
uma vez que os edifícios geralmente são vistos da base, e não de baixo, não movemos a espiral para baixo.
Procedemos como antes: movemos a Camera para o primeiro ponto da espiral, ajudando-nos como antes com o 3D Cursor, relacionamos a Camera à espiral para que siga o caminho com CTRL+P, movemos o 3D Cursor para a origem dos eixos (a base do edifício) com SHIFT+C e crie um objeto Empty, selecione a Camera e gire-o em direção a Empty com uma restrição TrackTo, nas propriedades da curva em Path Animation > Frames nós escrevemos frames 250 (em número igual ao da animação total).
No entanto, a posição do Empty na base do objeto alvo não é satisfatória, pois no final da animação não podemos mais ver o topo do edifício
Além disso, a Camera é muito inclinada
Se, em vez disso, movermos o objeto Empty no meio do arranha-céu
A visualização no final da animação melhorou (não muito)
enquanto a vista no início da animação é muito pior
Uma solução poderia ser fazer a Camera e o objeto Empty subirem ao mesmo tempo
Em seguida, selecione o objeto Empty e pressione a tecla "I" para criar um keyframe no frame 0 (ou 1) na Timeline, selecionando a opção "Location"
(para mover na Timeline, basta arrastar o cursor azul ou escrever o número do frame na caixa de entrada apropriada)
quando a Camera está acima do telhado, mais ou menos no frame 193, movemos o objeto Empty para o início do telhado (o que corresponde a 21 metros, as medidas não são as reais de um edifício, mas sim do modelo criado como exemplo) e criar outro keyframe com a opção "Location"
pressionamos a tecla zero no teclado numérico para nos levar à visualização da Camera, iniciamos a animação da Viewport novamente com View > Viewport Render Animation e visualização
no qual você pode ver que a Camera é seguida pelo objeto Empty até o topo, então isso para de permitir que a Camera o pegue de cima e faça uma visão geral do telhado
Caminho em espiral de uma Camera, mas usando apenas um objeto Empty:
Vamos tentar simplificar o procedimento usando apenas um objeto Empty, eliminando a curva em espiral; na verdade, um caminho em espiral nada mais é do que um caminho circular que se desenvolve em altura ao longo do tempo.
Se reexaminarmos o exemplo acima com o objeto Suzanne, observamos que a Camera girou para cima em um ângulo total de 66 graus, de -33° a +33°, enquanto faz um caminho completo de 360° ao redor do objeto.
Portanto, vamos começar do zero com o novo procedimento.
Vamos começar com uma cena contendo apenas o objeto Suzanne e a Camera.
usando o painel à direita (chamado pressionando a tecla "N"), movemos a Camera na frente do objeto
pressionando as teclas SHIFT+C movemos o 3D Cursor para o centro, criamos um objeto Empty com Add > Empty > Plain Axes, selecione Camera e objeto Empty (segurando a tecla SHIFT), pressione CTRL+P (para tornar o filho Camera do objeto Empty) selecionando a opção "Object" (então, movendo e girando o objeto Empty, a Camera irá orbitar ao redor do objeto Suzanne)
selecionamos apenas o objeto Empty e o inclinamos em -33 °
movemos a Camera para mais perto ou mais longe para obter uma foto inicial semelhante à do exemplo anterior
vamos mover para o frame zero na Timeline, selecione apenas o objeto Empty e pressione a tecla "I" para adicionar um keyframe do tipo "Rotation"
Vamos passar para o frame 125 na Timeline e, escrevendo sobre "Rotation" no painel à direita, giramos o Empty em torno do eixo X em 33 °, até que a Rotation X seja 0 °, e em torno do eixo Z em 180 ° ( Rotation Z: 180 °); pressionando a tecla "I", adicionamos outro keyframe com a opção "Rotation".
vamos passar para o frame final 250, girar em torno do eixo X por mais 33 ° (Rotation X: -33 °) e em torno do eixo Z por mais 180 ° (Rotation Z: 360 °); pressione a tecla "I" e adicione outro keyframe com a opção "Rotation".
se formos para a visualização Camera, pressionando a tecla zero no teclado numérico, e iniciarmos a animação na viewport com View > Viewport Render Animation, obteremos uma animação semelhante à criada usando a curva em espiral.
Caminho em espiral de uma Camera em torno de um objeto alto e estreito, usando apenas um objeto Empty:
Um procedimento semelhante é usado com um objeto alto e estreito, como o arranha-céu acima.
Vamos criar uma cena com o arranha-céu e a Camera, colocar a Camera na frente do prédio, escrevendo os valores relativos no painel à direita como nos outros métodos
como antes, pressionamos as teclas SHIFT+C para colocar o 3D Cursor na origem, criamos um objeto Empty (Plain Axes), primeiro selecionamos a Camera e depois o Empty, depois os relacionamos pressionando as teclas CTRL+P e opção "Object"
Selecionamos apenas o objeto Empty. No frame 0, criamos um keyframe para a rotação e para a posição, pressionando a tecla "I" com a opção "Location & Rotation"
Como a espiral envolveu o objeto com duas voltas, temos que girar o objeto Empty em 720° em torno do eixo Z; além disso, o Empty deve mover-se da base para o telhado e, um pouco antes de ser alcançado, deve começar a girar em torno de seu eixo X (aquele perpendicular à linha reta que une a Camera), para que a Camera crie um foto panorâmica do telhado.
Portanto, selecionamos o objeto Empty, nos posicionamos no frame 250, escrevemos 720° em Rotation > Z no painel à direita e criamos um keyframe para a rotação (chave "I" e opção "Rotation")
Antes, usando a espiral, o objeto Empty se movia até 21 metros verticalmente, parando no frame 193. Repetimos esta operação: nos posicionamos no frame 193 da Timeline, escrevemos 21 em "Location > Z", pressionamos a tecla "I" para criar um keyframe com a opção "Location"
Começamos a girar o Empty um pouco antes de chegar ao telhado, para dar mais continuidade à animação, a partir do frame 187. Neste ponto os graus de rotação em torno do eixo X devem ser iguais a zero (e a interpolação de sua animação deve começar neste ponto, enquanto continua em torno do eixo Z e do movimento ao longo do eixo Z), então definimos outro keyframe para rotação (pressionamos a tecla "I" para criar um keyframe com a opção "Rotation")
no final vamos passar para o frame 250, último frame da nossa animação, e inserir um valor para a Rotation X: - 54,4 °, que corresponde mais ou menos ao ângulo com que o objeto Empty viu a Camera, quando este estava no máximo topo da espiral
No outro exemplo a espiral continuou muito além do telhado, afastando assim a Camera do objeto Empty, devido a isso temos que aumentar a distância entre Empty e Camera na última parte.
Selecionamos a Camera e corrigimos 2 keyframes, um no frame 183, com y: -5,1 m
e um no frame 250 com y: -8,6
pressione a tecla 0 no teclado numérico para alternar para a visualização da Camera, inicie a animação da Viewport com View > Viewport Render Animation e obter um resultado semelhante ao exemplo com a espiral
Usar apenas o objeto Empty, fazer mais cálculos em vez de criar a espiral, pode parecer mais simples, mas também poderíamos nos encontrar em um caso mais complicado do que os apresentados. Portanto, uma solução pode ser usada em vez de outra, dependendo da situação que enfrentamos.
Eventualmente as animações podem ser melhoradas, atuando nas alças das curvas no "Graph Editor", para uniformizar o movimento ou alterar a aceleração.
Isso é tudo para este tutorial, um desejo de uma boa apresentação de seus trabalhos usando uma Camera que segue um caminho em espiral. Happy blending!