Blender camera alrededor un objeto siguiendo una trayectoria espiral
En este tutorial en español para Blender (realizado en Blender 2.93) explicamos cómo orbitar una Camera alrededor de un objeto siguiendo una trayectoria en espiral, qué problemas pueden surgir y las posibles soluciones.
Normalmente para presentar un producto o un artefacto puede ser suficiente girar la Camera alrededor del objeto siguiendo una órbita circular, pero en ocasiones también puede ser necesario mostrar su parte superior e inferior; además, una trayectoria en espiral bien hecha puede dar la ilusión de que el objeto es más grande y majestuoso añadiendo "épicitad" a la animación.
Ofrecemos dos soluciones para simular un comportamiento en espiral: la primera usando una espiral real, examinando también el caso problemático de un objeto alto y estrecho, la segunda tratando de usar solo un objeto Empty para mover la Camera.
Trayectoria en espiral de una Camera a lo largo de una curva en forma de espiral:
Creamos un nuevo proyecto, borramos el cubo actual (seleccionándolo con el botón izquierdo del mouse y presionando la tecla "X"), y creamos el objeto Suzanne en su lugar, presionando las teclas SHIFT+A (o comenzando desde el "Add" submenú) y elija "Mesh > Monkey".
En Edit > Preferences, en la pestaña "Add-ons" activamos el add-on "Add Curve: Extra Objects"
Siempre con las teclas SHIFT+A añadimos la curva espiral con "Curve > Curve Spirals > Archemedian" (la espiral de Arquímedes)
en el frame de diálogo en la parte inferior izquierda
ingresamos los parámetros para nuestra espiral
"Spiral Parameters":
"Turn": 1, hacemos un solo giro de la Camera alrededor del objeto
"Steps": 200, elegimos una cantidad de segmentos lo suficientemente grandes para crear una curva tan suave como sea posible
"Archemedian Settings":
"Radius": 5.1, debe ser lo suficientemente ancho para poder ver el objeto desde cierta distancia, pero hemos elegido el radio también lo suficientemente pequeño para poder ver los detalles
"Height": 6.6, la espiral debe desarrollarse a lo largo de una altura mucho mayor del objeto, para poder ver claramente su parte superior e inferior
Rotation:
Z: -90 °, comencemos la espiral frente a "Suzanne" y dejemos que termine frente a ella
Presione la tecla TAB para cambiar al Object Mode, presione las teclas G y luego Z, escriba -3.403 y presione la tecla ENTER para mover la espiral seleccionada hacia abajo. Obtenemos así
La Camera debe comenzar desde el punto más bajo de la espiral, así que coloquémosla sobre ella con la ayuda del 3D Cursor; primero mueva el 3D Cursor a este punto: seleccione la curva espiral, presione la tecla TAB para volver al "Edit Mode" y seleccione el primer punto de la espiral haciendo clic en él con el botón izquierdo,
movemos el 3D Cursor sobre él, presionando las teclas SHIFT+S y eligiendo la opción "Cursor to Selected"
consiguiendo
Ahora vamos a mover la Camera al 3D Cursor: presione la tecla TAB y regrese al Object Mode, seleccione la Camera, presione SHIFT+S pero esta vez seleccione la opción "Selection to Cursor"
y obtenemos
Para hacer que la Camera recorra la ruta de la espiral, primero seleccione la Camera, luego la espiral y presione CTRL+P, eligiendo la opción "Follow Path"
Ahora la Camera sigue el camino de la espiral sin embargo, si iniciamos la animación presionando la BARRA ESPACIADORA, notamos que la Camera no mira la cabeza del mono.
Podríamos usar el objeto Suzanne como objetivo de la Camera, pero en su lugar creemos un objeto Empty, porque posiblemente podría ayudarnos a posicionar mejor la toma durante la animación.
En el Object Mode presionamos las teclas SHIFT+C, para traer el 3D Cursor de regreso al centro de los ejes, donde también se encuentra el origen del objeto Suzanne, y creamos el objeto Empty con Add > Empty > Plain Axes
Seleccionamos la Camera y en las "Object Constraint Properties", de la "Properties Window" a la derecha, creamos una restricción "Track To", con el objeto Empty como objetivo; la Camera ahora apuntará hacia él.
La animación total es de 250 frames de largo, para asegurarnos de que la trayectoria de la Camera a lo largo de la espiral coincide con la duración total de la animación, seleccionamos la espiral y hacemos clic en la pestaña "Object Data Properties" insertando en "Path Animation > Frames" el valor 250.
Al final podemos crear la animación, en nuestro caso solo necesitamos una simple vista previa, luego presionamos 0 en el teclado numérico, llevándonos a la vista de Camera
y seleccione View > Viewport Render Animation
y al final del procesamiento rápido obtenemos
Trayectoria en espiral de una Camera alrededor de un objeto alto y estrecho:
Puede surgir un problema cuando se quiere filmar objetos altos y estrechos, como un rascacielos (unos 23 metros de alto y 2 de ancho, medidas que no corresponden a la realidad, pero es solo un ejemplo)
(los colores de la puerta y las ventanas podemos verlos porque se configuró el modo "Material Preview")
una vez más creamos una curva en espiral con "Add > Curve > Curve Spirals > Archemedian", con valores como para adaptarla al nuevo objeto:
Turns: 2
Steps: 300
Radius: 5.1
Height: 14.0
Rotation Z: -90°
dado que los edificios generalmente se ven desde la base y no desde abajo, no movemos la espiral hacia abajo.
Procedemos como antes: movemos la Camera al primer punto de la espiral, ayudándonos como antes con el 3D Cursor, relacionamos la Camera con la espiral para que siga el camino con CTRL+P, movemos el 3D Cursor a el origen de los ejes (la base del 'edificio) con SHIFT+C y cree un objeto Empty, seleccione la Camera y gírela hacia el Empty con una restricción TrackTo, en las propiedades de la curva en Path Animation > Frames escribimos frames 250 (en número igual al de la animación total).
Sin embargo, la posición del Empty en la base del objeto de destino no es satisfactoria, ya que hacia el final de la animación ya no podemos ver la parte superior del edificio.
Además, la Camera está demasiado inclinada
Si en cambio movemos el objeto Empty en medio del rascacielos
La vista al final de la animación ha mejorado (no mucho)
mientras que la vista al comienzo de la animación es mucho peor
Una solución podría ser hacer que la Camera y el objeto Empty suban al mismo tiempo
A continuación, seleccione el objeto Empty y presione la tecla "I" para crear un keyframe en el frame 0 (o 1) en la línea de tiempo, seleccionando la opción "Location"
(para moverse en la línea de tiempo, simplemente arrastre el cursor azul o escriba el número de frame en el frame de entrada correspondiente)
cuando la Camera está sobre el techo, más o menos en el frame 193, movemos el objeto Empty al inicio del techo (que corresponde a 21 metros, las medidas no son las reales de un edificio, sino las del modelo creado como ejemplo) y cree otro keyframe con la opción "Location"
presionamos la tecla cero en el teclado numérico, para llevarnos a la vista de Camera, iniciamos la animación de la Viewport nuevamente con View > Viewport Render Animation y ver
en el que se puede ver que la Camera es seguida por el objeto Empty hasta arriba del todo, luego esto se detiene permitiendo que la Camera lo tome desde arriba y haga una visión general del techo.
Ruta en espiral de una Camera, pero usando solo un objeto Empty:
Intentemos simplificar el procedimiento utilizando solo un objeto Empty, eliminando la curva en espiral; de hecho, un camino en espiral no es más que un camino circular que se desarrolla en altura con el tiempo.
Si volvemos a examinar el ejemplo anterior con el objeto Suzanne, observamos que la Camera ha girado hacia arriba en un ángulo total de 66 grados, de -33° a +33°, mientras realiza una trayectoria completa de 360° alrededor del objeto.
Así que comencemos desde cero con el nuevo procedimiento.
Comencemos con una escena que contiene solo el objeto Suzanne y la Camera.
usando el panel de la derecha (llamado presionando la tecla "N") movemos la Camera frente al objeto
presionando las teclas SHIFT+C movemos el 3D Cursor al centro, cree un objeto Empty con Add > Empty > Plain Axes, seleccione Camera y objeto Empty (manteniendo presionada la tecla MAYÚS), presione CTRL+P (para hacer que la Camera sea secundaria del objeto Empty) seleccionando la opción "Object" (entonces, moviendo y rotando el objeto Empty, la Camera orbitará alrededor del objeto Suzanne)
seleccionamos solo el objeto Empty y lo inclinamos en -33°
acercamos o alejamos la Camera para obtener una toma inicial similar a la del ejemplo anterior
vayamos al frame cero en la línea de tiempo, seleccione solo el objeto Empty y presione la tecla "I" para agregar un keyframe del tipo "Rotation"
Pasemos al frame 125 en la línea de tiempo y, escribiendo en "Rotation" en el panel de la derecha, rotamos el Empty alrededor del eje X 33°, hasta que Rotation X sea 0 °, y alrededor del eje Z 180° (Rotation Z: 180°); presionando la tecla "I" agregamos otro keyframe con la opción "Rotation".
pasemos al frame final 250, rotamos alrededor del eje X otros 33° (Rotation X: -33 °) y alrededor del eje Z otros 180° (Rotation Z: 360°); presione la tecla "I" y agregue otro keyframe con la opción "Rotation".
si vamos a la vista de Camera, presionando la tecla cero en el teclado numérico, e iniciamos la animación en el Viewport con View > Viewport Render Animation, obtendremos una animación similar a la creada usando la curva espiral.
Ruta en espiral de una Camera alrededor de un objeto alto y estrecho, usando solo un objeto Empty:
Se utiliza un procedimiento similar con un objeto alto y estrecho, como el rascacielos de antes.
Creemos una escena con el rascacielos y la Camera, coloquemos la Camera frente al edificio, escribiendo los valores relativos en el panel de la derecha como en los otros métodos
como antes, presionamos las teclas SHIFT+C para colocar el 3D Cursor en el origen, creamos un objeto Empty (Plain Axes), primero seleccionamos la Camera y luego el Empty, luego los relacionamos presionando CTRL+P y opción "Object"
Seleccionamos solo el objeto Empty. En el frame 0 creamos un keyframe para la rotación y para la posición, presionando la tecla "I" con la opción "Location & Rotation"
Dado que la espiral envolvió al objeto con dos vueltas, tenemos que rotar el objeto Empty 720° alrededor del eje Z; Además, el Empty debe moverse desde la base al techo y, un poco antes de llegar, debe comenzar a girar alrededor de su eje X (el que es perpendicular a la recta que une la Camera), para que la Camera cree una toma panorámica del techoo.
Por lo tanto, seleccionamos el objeto Empty, nos posicionamos en el frame 250, escribimos 720 ° en Rotation > Z en el panel de la derecha y creamos un keyframe para la rotación (tecla "I" y opción "Rotation")
Antes, usando la espiral, el objeto Empty se movió hasta 21 metros en vertical, deteniéndose en el frame 193. Repetimos esta operación: nos posicionamos en el frame 193 de la Timeline, escribimos 21 en "Location > Z", presionamos la tecla "I" para crear un keyframe con la opción "Location"
Comenzamos a rotar el Empty un poco antes de llegar al techo, para darle más continuidad a la animación, desde el frame 187. En este punto los grados de rotación alrededor del eje X deben ser iguales a cero (y la interpolación de su animación debe comenzar en este punto, mientras continúa eso alrededor del eje Z y el movimiento a lo largo del eje Z), luego establecemos un otro keyframe para la rotación (presionamos la tecla "I" para crear un keyframe con la opción "Rotation")
al final, pasemos al frame 250, último frame de nuestra animación, e insertemos un valor para Rotation X: - 54.4°, que corresponde más o menos al ángulo con el que el objeto Empty vio la Camera, cuando este era como máximo parte superior de la espiral
En el otro ejemplo, la espiral continuó mucho más allá del techo, alejando así la Camera del objeto Empty, por lo que tenemos que aumentar la distancia entre Empty y Camera en la última parte.
Seleccionamos la Camera y arreglamos 2 keyframes, uno en el frame 183, con y: -5,1 m
y uno en el frame 250 con y: -8,6
presione la tecla 0 en el teclado numérico para cambiar a la vista de Camera, inicie la animación de la Viewport con View > Viewport Render Animation y obtenemos un resultado similar al ejemplo con la espiral
Usar solo el objeto Empty, haciendo cálculos adicionales en lugar de crear también la espiral, puede parecer más simple, pero también podríamos encontrarnos en un caso más complicado que los presentados. Por tanto, se puede utilizar una solución en lugar de otra dependiendo de la situación a la que nos enfrentemos.
Eventualmente se pueden mejorar las animaciones, actuando sobre los tiradores de las curvas en el "Graph Editor", para hacer el movimiento más uniforme o para cambiar la aceleración.
Eso es todo por este tutorial, un deseo de una buena presentación de tus trabajos usando una Camera que sigue una trayectoria en espiral. ¡Happy blending!