Bon, les animations Eagle3D sont assez simples à réaliser. Cela prend un peu de temps puisque POV doit générer toutes les images de cette animation.

Au départ, vous disposez d'une carte 3D donc d'un fichier .POV généré par Eagle3D et vous désirez obtenir un fichier .GIF capable de visualiser une suite d'image représentant votre carte en rotation de 360° autour de l'axe vertical y par exemple.

Il vous faut pour cela un fichier de description de votre animation .INI afin de fournir à POV-Ray les données nécessaires à la production des N fichiers bitmap .bmp qui vont constituer la série d'image à visualiser.

Après cela, il vous faut assembler ces images est produire un fichier .GIF, j'utilise Ulead GIF Animator mais il existe d'autres logiciels capables de le faire de même comme Flash et peut-être Gimp qui à l'avantage d'être gratuit.

 

Le fichier INI

Voici un exemple de fichier INI qui génère une série d'image.

Antialias=on active l'anti-crénelage
Antialias_Threshold=0.1 seuil de différence avec le pixel voisin entraînant le re-calcul du point (0.3 par défaut)
Antialias_Depth=2 dimension de la matrice de points utilisée pour le re-calcul du point (3x3 par défaut)

Input_File_Name=c:\Documents and Settings\Philippe\Mes documents\Eagle Projects\projet1\rack.pov
Output_File_Name=c:\Documents and Settings\Philippe\Mes documents\Eagle Projects\projet1\anim\rack.bmp

Définition des fichiers d'entrée et de sortie, ici un dossier nommé "anim" va recevoir la série de fichier bitmap dont les membres seront nommés rack01.bmp à rack60.bmp (ou avec des nombres supérieurs s'il existe déjà des fichiers du même nom).

Initial_Frame=1 la production d'image commence à la première image
Final_Frame=60 et se termine à la soixantième
Initial_Clock=0 l'horloge commence avec une valeur de clock nulle
Final_Clock=1 et se termine avec une valeur 1, son usage est expliqué ci-dessous

Cyclic_Animation=on active la fonction animation cyclique
Pause_when_Done=off arrête POV sur la dernière image en mode pause

Animation cyclique
Lorsque l'on veux obtenir une animation continue, les première et dernière image ne doivent pas être les mêmes. En activant cette fonction POV se charge de se problème en recalculant clock pour que les valeurs de 0 à 1 correspondent aux valeurs 0 à 1-1/60, ainsi l'utilisateur n'a pas à ce soucier de ce calcul supplémentaire qui devient totalement transparent.

La variable clock
La variable clock est la variable temporelle qui va nous permettre de modifier legerement chaque image de la série. Par exemple pour une rotation de la carte de 360° par rapport à l'axe y, il suffit de déterminer l'angle de rotation en fonction de la variable clock par le biais de la commande suivante.

rotate 360*clock*y

Lorsque clock=0 l'angle est nul, quand clock=1 l'angle vaux 360°

Au début de chaque fichier .POV généré par Eagle3D, on trouve les lignes suivantes dont les valeurs sont toutes nulles si vous n'avez pas effectué de réglage dans la fenêtre de l'ULP.

#local pcb_rotate_x = 0;
#local pcb_rotate_y = 0;
#local pcb_rotate_z = 0;

modifions celle concernant l'axe y en :

#local pcb_rotate_y = 360*clock;

Dans rack.pov je règle la résolution à 160x120 pour ne pas prendre trop de temps.

Et voila, nous sommes prêt à lancer la production d'image par un Run dans animation.ini

Les images sont produites et stockées dans le dossier anim.

Maintenant il nous reste à voir l'assemblage de cette suite d'image avec Ulead GIF Animator.

A suivre...