|
El bucle interno de animación, la numeración automática en los nombres de los archivos de salida y la interfaz con el sistema operativo para que las utilidades externas puedan ensamblar los fotogramas individuales en una animación, mejoran enormemente la capacidad de animar. El bucle interno de animación es simple y flexible. Aún así todavía se pueden usar programas externos o archivos .bat para crear animaciones sin el bucle interno.
Clock= n.n |
Establece el identificador de tipo flotante clock a n.n |
+K n.n |
Igual que Clock= n.n |
La opción Clock=
n.n o el parámetro
+K
n.n se usa para pasar un sólo valor flotante al
programa para una animación básica. El valor se aloja en el
identificador flotante clock
. Si un objeto tuviera una rotación
rotate <0,clock,0>
asignada entonces se podría rotar el objeto
en diferentes cantidades de radianes a lo largo de diferentes fotogramas estableciendo
+K10.0
, +K20.0
... etc. en sucesivas generaciones de imágenes.
Está a cargo del usuario invocar repetidamente a POV-Ray con un valor diferente
para Clock
y un Output_File_Name
diferente para cada fotograma.
El bucle interno de animación releva al usuario de la labor
de generar complicados conjuntos de archivos .bat para invocar a POV-Ray
múltiples veces con diferentes configuraciones. Mientras la multitud de
opciones quizá parezcan intimidantes, el inteligente conjunto de valores
por defecto significa que probablemente tan sólo se necesita especificar
la opción Final_Frame
=n o el parámetro +KFF
n
para especificar el número de fotogramas. Todos los otros valores pueden quedarse con
sus valores por defecto.
Algún valor de Final_Frame
distinto de -1 disparará
el bucle interno de animación de POV-Ray. Por ejemplo
Final_Frame=10
o +KFF10
causa que POV-Ray genere la escena
10 veces. Si se especificó
Output_File_Name=file.tga
entonces cada fotograma tendría la salida como file01.tga
, file02.tga
,
file03.tga
etc. Los números 0 del dígito de relleno en el nombre del archivo
dependen del número del fotograma final. Por ejemplo +KFF100
generaría
file001.tga
hasta file100.tga
. El número del fotograma
puede sobrepasar los límites del nombre del archivo. En MS-DOS con un límite
de ocho caracteres, myscene.pov
quedaría como mysce001.tga
hasta mysce100.tga
.
El valor por defecto Initial_Frame=1
probablemente nunca tenga
que ser cambiado. Sólo se debería cambiar si se está ensamblando
una secuencia de una animación larga en varias piezas. Una escena podría
ir desde el fotograma 1 hasta el 50 y la siguiente desde el 51 hasta el 100.
La opción Initial_Frame
=n o el parámetro
+KFI
n es para este propósito.
Nota: Si se quiere generar un subconjunto de fotogramas
como por ejemplo desde el 30 al 40 en una animación que va desde el 1 hasta el 100,
no se debería cambiar el valor de Initial_Frame
o
Final_Frame
. En lugar de eso se debería usar el subconjunto de
comandos descritos en la sección "Subconjuntos de fotogramas
de animación".
A diferencia de algunos paquetes de animación, la acción en las
escenas animadas de POV-Ray no depende del número de fotogramas. Más bien se deberían diseñar las escenas en función
del identificador clock
.
Por defecto, el valor de clock es 0.0 para el fotograma inicial y 1.0 para el
fotograma final. Todos los otros fotogramas son interpolados entre esos valores.
Por ejemplo si suponemos que vamos a rotar un objeto una vuelta completa a lo largo del
curso de una animación, se podría especificar rotate 360*clock*y
.
Entonces como clock va desde 0.0 hasta 1.0, el objeto rota sobre el eje Y desde 0
hasta 360 grados.
La mejor ventaja de este sistema es que se pueden generar animaciones de 10 fotogramas, de 100 fotogramas, 500 fotogramas o 329 fotogramas y se sigue obteniendo una rotación completa de 360 grados. Generaciones de pruebas de pocos fotogramas trabajan exactamente igual que las generaciones finales con muchos fotogramas.
En realidad se define el movimiento sobre un parámetro flotante continuo (la variable clock) y se toman muestras discretas a intervalos fijos (los fotogramas). Si coges una película o cinta de video de una escena real verás que funciona de la misma manera. El movimiento actual de un objeto depende sólo del tiempo. No depende de la tasa de fotogramas de la cámara.
Muchos usuarios han creado escenas para POV-Ray 2 que usan valores para clock
en un rango mayor que el 0.0 a 1.0 que tiene por defecto. Por esta razón
se da la opción Initial_Clock
=n.n
o el parámetro +KI
n.n y Final_Clock
=n.n
o +KF
n.n. Por ejemplo para que clock vaya desde 25.0 hasta
75.0 se debería especificar Initial_Clock=25.0
y Final_Clock=75.0
.
Entonces clock debería ser 25.0 para el fotograma inicial y 75.0 para el fotograma final.
En los fotogramas intermedios habrán valores para clock interpolados desde 25.0 hasta 75.0
proporcionalmente.
Los usuarios que están acostumbrados a usar los números de los fotogramas
en lugar de los valores de clock pueden especificar Initial_Clock=1.0
y Final_Clock=10.0
y Frame_Final=10
para una animación de 10 fotogramas.
Para nuevas escenas, se recomienda no cambiar Initial_Clock
o Final_Clock
de sus respectivos valores por defecto 0.0 y 1.0. Si se desea que clock varíe dentro de un
rango distinto a 0.0 hasta 1.0, se recomiendo usar lo siguiente en las escenas...
#declare Start = 25.0; #declare End = 75.0; #declare My_Clock = Start+(End-Start)*clock;
Así se usa My_Clock
en la descripción de la escena.
Esto mantiene los valores críticos de 25.0 hasta 75.0 en el archivo .pov.
Nota: se dan más detalles concernientes al trabajo interno del bucle de animación en la sección "Interfaz con el sistema operativo".
Cuando se crean animaciones largas, puede ser cómodo generar sólo una
porción de la animación para ver cómo va. Supongamos que tenemos
una animación de 100 fotogramas pero queremos generar tan sólo
los fotogramas 30 hasta 40. Si se establece Initial_Frame=30
y Final_Frame=40
entonces clock iría desde 0.0 hasta 1.0 en
los fotogramas 30 hasta 40 en lugar de 0.30 hasta 0.40 como debería.
Por consiguiente se debería dejar Initial_Frame=1
y Final_Frame=100
y usar Subset_Start_Frame=30
y Subset_End_Frame=40
para ir generando selectivamente partes de la escena. Entonces POV-Ray calculará
apropiadamente los valores para clock.
Usualmente se especificará un subconjunto usando los números enteros
de los fotogramas, sin embargo una alternativa para estos comandos es que tomen valores
flotantes en el rango 0.0 <=n.nnn <=1.0, los cuales se interpretan como
una fracción de la animación entera. Por ejemplo, Subset_Start_Frame=0.333
y Subset_End_Frame=0.667
generaría el segundo tercio de la
animación indiferentemente del número de fotogramas.
Cyclic_Animation= bool |
Establece la animación cíclica a on/off |
+KC |
Establece la animación cíclica a on |
-KC |
Establece la animación cíclica a off |
Muchas secuencias de animación generadas por ordenador están
diseñadas para que sean vista en un bucle continuo. Supongamos que tenemos un
objeto que rota exactamente 360 grados a lo largo de una animación
y que pusimos rotate 360*clock*y
para hacerlo.
Ambos, el primero y último fotograma serían idénticos.
Durante la reproducción de la animación habría una breve
sacudida de un fotograma. Para eliminar este problema se necesita
ajustar la variable clock de modo que el último fotograma
no coincida con el primero. Por ejemplo una animación cíclica
no debería usar la variable clock desde 0.0 a 1.0. Debería ir
desde 0.0 hasta 0.9 en incrementos de 0.1. Sin embargo si se cambia a 20 fotogramas
debería ir desde 0.0 hasta 0.95 en incrementos de 0.05. Esto complica las cosas
porque hay que cambiar el valor final para clock cada vez que se cambia
Final_Frame
. Establecer Cyclic_Animation=on
o
usar +KC
hará que POV-Ray ajuste automáticamente el valor
final para clock en las animaciones cíclicas sin importar el número
total de fotogramas. El valor por defecto para esta opción es off.
La generación de líneas alternas se usa algunas veces para animaciones que van a ser vistas en televisión. Los televisores sólo muestran líneas de escaneado alternas en cada refresco vertical. Cuando cada fotograma está siendo mostrado, las líneas de escaneado alternas se entrelazan para dar la impresión de una imagen de mayor resolución. Las líneas de escaneado pares componen las líneas alternas pares, y se dibujan primero (por ejemplo líneas de escaneado 0, 2, 4, etc.), seguidas de las líneas alternas impares, compuestas de las líneas de escaneado impares, que son dibujadas después. Si los objetos en una animación se mueven muy deprisa, su posición puede cambiar notablemente de una línea alterna a la siguiente. Como resultado, sería deseable en esos casos que POV-Ray generase líneas alternas a la actual razón de líneas alternas (que es el doble de la razón de los fotogramas), en lugar de generar los fotogramas completos a la razón normal de los fotogramas. Esto ganaría una gran cantidad de tiempo comparado con generar la animación entera al doble de fotogramas, y entonces sólo usaría la mitad de cada fotograma.
Por defecto, la generación de líneas alternas no se usa.
Establecer Field_Render=on
o usar +UF
causará que los fotogramas alternativos en una animación
sean sólo de líneas alternas pares o líneas alternas impares.
Por defecto, el primer fotograma se forma con líneas alternas pares, seguido de
líneas alternas impares. Se puede hacer que POV-Ray genere el primer fotograma con
las líneas alternas impares especificando Odd_Field=on
,
o usando el parámetro+UO
.
|