Une animation en POV-Ray

Transcription

Une animation en POV-Ray
Une animation en POV-Ray
Pour une animation avec POV-Ray nous avons besoin de seulement de deux fichiers
differents :
1. le fichier de scène POV-Ray (extension: .pov), qui utilise la variable "clock" et
2. le fichier de animation POV-Ray (extension: .ini), qui définit la valeur "clock"
et démarre plusieurs fois le fichier de scène avec une valeur "clock" différente.
NB: Les deux fichiers portent le même nom, par exemple scene.pov et scene.ini.
Étape 0 : Nous commençons avec une scène simple comme ceci :
#scene.pov;
global_settings { assumed_gamma 1.0 }
//------------------------------------camera{ ultra_wide_angle
angle 75
right x*image_width/image_height
location <0.0 ,1.0 ,-3.0>
look_at <0.0 ,0.0 , 0.0>}
//------------------------------------light_source{ <1500,2500,-2500>
color rgb<0,1,1> }
//------------------------------------sky_sphere{ pigment{color rgb<0,1,1>}}
//------------------------------------// La sphere tournant:
sphere{ <0,0,0>, 0.25
texture{ pigment{ rgb<1,0,0>}
finish { diffuse 0.9
phong 1}
} // end of texture
translate< 1.0, 0, 0>
rotate < 0,360*clock, 0>//
} // fin de sphere ------------//--------------------------------- end
Étape 1 : Nous créons un fichier INI d'animation, sur le modèle ci-dessous,
Remarque : Le fichier ini doit être dans le même dossier que le fichier pov.
; scene.ini fichier d'animation
Antialias=Off
Antialias_Threshold=0.1
Antialias_Depth=2
Input_File_Name="scene.pov"
Initial_Frame=1
Final_Frame=30
Initial_Clock=0
Final_Clock=1
Cyclic_Animation=on
Pause_when_Done=off
Particularités du fichier .ini:
-On doit utiliser ";" au lieu de "//" pour les commentaires en POV-Ray fichiers ini!
Initial_Frame=1 ; on débute avec l'image numéro 1
Final_Frame=10 ; on termine avec l'image numéro 10
Initial_Clock=0 ; on débute avec la valeur de clock = 0
Final_Clock=1 ;
on termine avec la valeur de clock = 1
Cyclic_Animation=On ; "On" ou "Off"
Cela est très utile pour animations cycliques comme par exemple, tourner un objet de
360 degrés:
Si le nombre total de "frames" est 10, le nombre clock(=1) est divisé par 10, soit
clock = 0.0, 0.1, 0.2, ..... , 0.8, 0.9. Ainsi avec rotate<0,clock*360,0> un objet est
tourné de 0, 36, 72, 108, 144, 180, 216, 252, 288, 324 degrés.
Commandes d'Antialiasing :
Antialias=On ;
Antialias_Threshold=0.3
Antialias_Depth=3 font size="-1"
Antialiasing est un algorithme qui permet d'éviter le crénelage (apparence d'escalier
des lignes inclinées, les lignes minces cassées et effet moiré des textures)
Antialias_Depth=3 signifie que POV-Ray utilise un quadrillage de 3 à 3 pour un
pixel mais signifie aussi il y a 3 x 3 = 9 fois plus de calculs à faire.
Antialias_Threshold=0.3 signifie que l' antialiasing commence (si "Antialias=On")
seulement quant la difference entre un pixel et l'autre est de plus que 0.3.
Étape 2 : Commençons le rendu de l'animation.
Nous commençons l'animation en démarrant le fichier ini.
( et non pas le fichier pov !!!!)
Nous commençons le rendu, avec le fichier INI dans la fenêtre active.
POV-Ray commence en calculant le fichier "scene.pov" avec la valeur d'"horloge" à 0
et sauve l'image résultante comme frame#1 (image n°1) avec le nom de fichier "scene
01.bmp". Puis le programme calcule la prochaine valeur d'"horloge"
(nouvelle horloge =
dernière horloge + 1/Dernière_image);
(ici : 0 + 1/30) et recalcule notre scène "scene .pov" du début.
Le rendu sera sauvé en tant que "scene 02.bmp".
Ceci continue jusqu'à ce que "horloge" = 1 soit atteinte, avec le fichier de rendu
"scene 30.bmp".
Étape 3 : Post traitement.
POV-Ray ne peut pas sauver la sortie d'une animation autrement que sous forme
simple d'images numérotées.
Nous pouvons employer une visionneuse graphique avec une fonction de
visualisation rapide pour voir nos animations.
Si nous voulons sauver nos animations en GIF animé, AVI, MOV, ou fichier MPEG,
nous devons employer d'autres programmes. Pour réaliser ceci il y a une grande
variété de programmes. (voir ci-dessous)
Termes importants dans l'animation par ordinateur :
frame = une simple image d'un film, d'une vidéo ou d'une animation.
Chaque animation est un ordonnancement rapide d'images simples avec seulement de
petits changements de ces images. C'est en raison de la persistance rétinienne, lors de
notre perception optique, que cet ordonnancement est interprété par notre cerveau
comme un mouvement continu !
fps = "frames per second" = le nombre d'images simples par seconde.
L'oeil humain a besoin d'environ 25 images simples, légèrement changeantes, par
seconde pour nous donner l'illusion d'un mouvement continu.
Une fréquence plus lente produit une sensation de clignotement.
frame size = Taille de frame = la taille des images simples.
Plus la taille de l'image est grande, plus la taille du fichier de chaque image simple est
grande, et plus il est difficile de comprimer l'animation complète.
En utilisant les fichiers GIF animés, vous n'avez presque aucune limite.
En utilisant la compression MPEG, la taille et la largeur doivent être divisibles par
16.
endless loop = Boucle sans fin
C'est une animation cyclique, lue sans fin : elle commence où elle finit !
C'est un genre très populaire d'animation pour les logos et les bannières sur des sites
web. Avec un petit fichier (un GIF animé), nous pouvons faire un mouvement
continu.
Types et compressions de fichier.
Gif et gifs animés
Les images de type fichier GIF et fichiers GIF animés sont réduits à 256 couleurs.
Une table des 256 couleurs les plus importantes dans l'image est produite, et les
pixels de couleurs sont codés seulement par leur numéro de couleur dans la table, en
utilisant seulement un octet par pixel.
Ce type de fichier est bon pour les logos et le texte animé. Ce type d'image peut être
montré par tous les navigateurs internet. Il peut être intégré dans les sites web
comme n'importe quel autre genre d'image.
Ce type de fichier n'est pas très bon pour des vidéos. Le petit nombre de couleurs (la
perception de l'oeil humain est d'environ 16 millions de couleurs différentes =
"couleur vraie" "true colour" 24bits/pixel !) entraine souvent une trame trop
rugueuse, avec des images ayant de fines différences de couleur. La compression d'un
fichier d'image en couleurs vraies n'est tout au plus qu'un tiers de la longueur
originale - dès lors, les fichiers deviennent rapidement extrêmement grands et
difficilement transportables.
La vidéo AVI :
Ce type fichier peut être lu avec "Windows Mediaplayer".
Il montre des images dans en couleurs vraies. La compression est bien meilleure
qu'avec les fichiers GIF animés, et avec une qualité d'image beaucoup plus élevée.
JPEG et MPEG :
Le format vidéo MPEG utilise la même méthode que le format JPEG - utilisé pour la
compression des photos. Il permet une représentation en vraies couleurs, et possède
en même temps la meilleure qualité de compression.
La qualité d'image dépend, comme avec le JPEG, du degré de la compression utilisé
dans ce cas !
Ce format vidéo peut également être joué avec "Windows Mediaplayer".
L'animation en GIF
animé.
D'une serie d' images
d'animation de POV-Ray
à un fichier vidéo.
Comment utiliser le logiciel Dave's Targa Animator (DTA) - (gratuit!)
pour convertir une serie des images numérotées
en un fichier de vidéo avi.
On peut aussi créer un fichier mpeg
avec d' autres logiciels vidéo.
Il n'y a aucune possibilité de faire un fichier avi, mpeg ou gif directement avec POVRay.
POV-Ray peut faire seulement une serie des images numérotés nécessaire pour faire
un fichier gif ou vidéo. Voici une méthode très rapide et facile pour obtenir un
fichier video sousWindows!
Étape 0:
Télécharger à partir de ftp://ftp.povray.org/pub/povray/utilities/dta/ le logiciel DTA,
Dave's Targa Animator (DTA) "dta30.zip".
Décompressez le fichier "dta30.zip" dans un dossier séparé.
Copiez toutes les images numérotés d'animation de la sortie de POV-Ray
(scene01.bmp, scene02.bmp, ... scene30.bmp) dans le même dossier.
Étape 1: Démarrez Dave's Targa Animator par double clic sur le fichier "dtawin.exe".
Renseigner Fill dans le champ "Script" en donnant le nom de base des images, mais
remplacez le numéro par le joker "*": scene*.bmp
Étape 2: Puis on selectionne
"global options" (le bouton
et le type de fichier ("file format") "avi" et on clique sur le bouton "OK".
bleu)
Dans le champ "Output options" on peut voir maintenant "AVI format".
Étape 3: Cliquer sur le bouton de la caméra pour faire le fichier vidéo.
On peut voir l'avancement dans le champ au-dessous à la gauche.
Et il y a un fichier nouveau dans le dossier des images : "anim.avi".
Étape 4: Pour voir le vidéo avec Windows Media Player double cliquez sur fichier
"anim.avi".
Pour voir des animations cycliques en boucle sans fin on doit cliquer CTRL-T, ou
activer la boucle sans fin dans les options du Media Player.
Exemples d'utilisation de la variable clock
1.faire tourner un objet
rotate<0,-360*(clock+0.00),0>
à différentes allures, une horloge:
#declare Clock_Time = clock+0.00;
// rotation angles in degrees ------------#declare Rotate_H = Clock_Time*360;
#declare Rotate_Min = Clock_Time*360*12;
#declare Rotate_Sec = Clock_Time*360*12*60
2.Translater un objet
translate <clock, 0, 0>
3.Faire tourner la caméra
camera {
angle 35
location <3.0 , 1.0 ,-20.0>
right x*image_width/image_height
look_at <-1.0 , 3.5, 5.0>
rotate <0,-360*(clock+0.10),0>
4. Un balancement
#declare Amplitude = 40;
object {
Pendula
rotate <0,0,Amplitude*sin( clock*2*pi)>
translate<0,2.15,0>
}
5.La texture peut aussi dépendre du paramètre clock...