Obligement - L'Amiga au maximum

Vendredi 29 mars 2024 - 08:45  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : Wildfire - petit film (2)
(Article écrit par Jac Pourtant et extrait d'Amiga News - janvier 1998)


Nous étions restés le mois dernier sur notre Tom Novembre qui prenait le plein écran. Nous avions "plié" notre script pour y voir plus clair. Déplions-le en cliquant sur "Disabled" et ajoutons une ligne de commentaires avec "Add", choisissons "Comment" dans "Misc" et cliquons sur la ligne créée où ne doit se trouver pour l'instant qu'un point-virgule. Écrivons dans la requête "Première Partie".

Wildfire

Maintenant, si notre ligne n'est pas en première position dans notre script, plaçons-le avec le gadget "Up" à droite. Renouvelons l'opération en écrivant cette fois "Deuxième Partie" et mettons-la en dernière position avec le gadget "Down". Ces deux lignes doivent rester visibles (option "visible" à droite). Vérifions qu'on a bien ce qu'on voulait en appuyant sur "Disabled" qui devient "Enabled". Si tout est correct, nous ne devons voir que deux lignes, celles de commentaires qu'on vient de rajouter, si ce n'est pas ainsi, le corriger. Ceci parait peu important, mais c'est une bonne habitude de clarté à prendre pour des scripts plus étoffés.

La deuxième séquence

Nous voilà prêts à attaquer. Nous avions donc décidé de faire embosser notre image PIC qui occupe le plein écran par notre image BUMP. Première chose à faire, la charger. Rajoutons donc une ligne "LoadImage" et choisissons notre image BUMP (fig. 1) en ayant soin de mettre Range à 0,0,1 comme nous l'avons vu dans notre dernier paragraphe du mois dernier "Optimisation". En sortie, choisissons TEMP7.

Wildfire

Wildfire

Nous voulons embosser notre image progressivement pendant deux secondes. Prenons un effet 2D "Bump". En entrée (Input), Temp8, où se trouve notre image PIC, en Mapping (Map). Temp7, où nous venons de mettre notre image BUMP, en sortie STREAM évidemment. Range, 301, 350, 1. Nous devons à présent changer les paramètres en sélectionnant "Render-Settings". Rotate : NOT. CamX : 0. CamY : 0, CamZ : -1000. Alpha, Beta 0. Zoom : 1. CentreX, CentreY : 0. Il ne nous reste plus qu'à faire une variable "Emboss" avec deux points en "Linear" 301,0 et 350,30. Appliquons-la dans "Amount" de notre effet Bump. Vérifions avec la fonction "Storyboard" qu'on a bien ce qu'on voulait. Dans STREAM à l'image 301, on doit voir notre image PIC, à l'image 350, notre image PIC doit être embossée par notre image BUMP. Laissons pour l'instant les autres valeurs de sources lumineuses à leurs valeurs par défaut.

Nous allons maintenant incliner notre image. Nous ne voulons pas de saut visible entre les images, nous allons donc prendre toutes les valeurs de notre effet précédent. Puisque nous avons dorénavant la prétention d'optimiser notre script, nous n'allons pas recalculer à chaque image l'effet d'embossement de BUMP sur PIC. Nous dupliquons donc le Bump3D et nous le ramenons vers le haut juste après le "LoadImage" de BUMP. Nous n'avons ainsi qu'à positionner Range à 0,0,1 et mettre Amount à 30, Entrée Temp8, Mapping Temp7, Sortie Temp6 qui est libre. Nous aurons ainsi jusqu'à la fin, l'image embossée à 30 dans temp6.

Ajoutons maintenant l'effet de basculement avec 3D/Perspective. Changeons de suite Range aux valeurs 351, 400, 1 puisque notre effet va durer deux secondes. Puis, changeons dans les "Render Settings" le gadget "Rotate" de NOT à XY. Cherchons une position à notre goût, à l'aide des gadgets, en observant les changements de position dans la petite fenêtre de visualisation. Notons les positions et allons nous faire des variables à l'aide des positions de départ et d'arrivée.

Créons ainsi les variables camx, camy, camz, alpha2, beta2, zoom, centrex et centrey. C'est facile si on les fait toutes d'un coup, il n'y a qu'à taper "a" et rentrer le nom de la nouvelle variable. Après, il faut les éditer ;-( camx (0,45), camy (0,-15), camz (-800,-500), alpha2 (0,47), beta2 (0,62), zoom (1,1.8), centrex (160,186), centrey (128,136). Après cela, une vérification s'impose avant le calcul, autant par la prévisualisation dans le "Render-Settings" de l'effet Bump3D que dans le "Storyboard". Il est également avisé à ce stade de sauvegarder les variables séparément, un accident est si vite arrivé...

Wildfire

Signalons de plus que selon la résolution employée, il est peut-être sage de faire un essai en taille réelle avec "SingleImage" et d'examiner soigneusement la qualité de l'image. Si elle est trop pauvre, on peut l'améliorer en donnant des valeurs plus petites à 3DQuant. A 1, un pixel correspond à un pixel, au-dessus le calcul est plus rapide, mais la qualité est faible, au-dessous, meilleur échantillonnage, mais plus de temps de calcul évidemment.

Notons comme nous pouvons décider maintenant d'améliorer l'effet. C'est pratique et c'est une technique. Une autre est de faire un Storyboard d'abord sur le papier. Question de caractère. Nous voulons une fois la position atteinte faire un zoom sur les lettres embossées pendant les deux secondes suivantes (autrement dit de l'image 401 à l'image 450). Il suffit de rajouter un troisième point dans toutes les enveloppes de variables concernées en changeant, si l'on veut une progression douce, le genre de courbe de "Bézier". Les coordonnées X des trois points étant 351, 400 et 450, nous devons donc avoir camx (0,45.45), camy (0,-15,-15), camz (-800,-500,-500), alpha2 (0,47,47), beta2 (0,62.62), zoom (1,1.8,6), centrex (160,186,186), centrey (128,136,136). Pouh, ce n'est pas du gâteau ! Une petite sauvegarde, une petite vérif.

Wildfire

La troisième séquence

Avant tout, écrivons notre troisième ligne de commentaires "Troisième partie". Vérifions qu'une fois plié, le script ne montre que nos trois lignes de commentaires. Cette partie ne tiendra qu'en une seule ligne, mais elle va nous occasionner pas mal de travail tout de même. Nous voulons partir de l'image finale de la deuxième séquence, lui faire subir un effet 3D, en l'occurrence une torsion, même un vrillage, et faire évoluer des lumières de façon à lui donner un peu de relief.

Tout est compris dans la ligne que nous rajoutons : "Twist". En entrée, le tampon "Temp6" (où se trouve notre image embossée au repos, exactement comme pour l'effet précédent), en sortie "Stream". En fait, presque rien ne se différencie de l'effet perspective, dans les commandes. Nous pouvons donc appliquer les mêmes réglages de position qu'à l'image 450. Cette fois, nous allons exploiter notre effet de l'image 451 à 500, ce que nous mettons tout de suite dans "Range".

Wildfire

L'effet va donc se produire progressivement en deux secondes, grâce à des variables. Alors, allons-y pour la création des variables ! Il y en a un petit paquet. Amount, Distance, orx, ory, I2r, I2g, I2b, I3r, I3g, I3b, I2x, I2y, I2z, I3x, I3y, I3z. Ce n'est pas tout, car nous allons étendre des valeurs des variables déjà existantes. Alors débarrassons-nous en tout de suite. Prenez votre courage à deux ROM :

1. Retournons d'abord compléter les variables en rajoutant les valeurs suivantes à y pour x=500 : camx (0), camy (0), camz (-800) (c'est-à-dire qu'on est revenu à nos valeurs initiales), centrex (169), centrey (128), alpha2 (30), beta2 (60), zoom (1) (ici également).

2. Voici maintenant les valeurs des nouvelles variables (vous pouvez évidemment les changer, mais cela prend "un certain temps" à établir des valeurs qui ne donnent pas n'importe quoi, croyez-moi, car tant qu'on n'est pas habitué à imaginer les coordonnées dans l'espace sans les voir...). Ces variables ne seront utilisées que de 451 à 500, donc je ne donne que les valeurs initiales et finales, libre à vous de rajouter des points de soutien en plein milieu, histoire de rajouter un peu de piment dans la variation : les origines de l'effet orx (1, 70), ory (0,128), l'angle de rotation (1 tour), Amount (0,360), et l'élongation Distance (0,240).

3. Variables de couleur des lampes I2r (0,255), I2g (0,191), I2b (0,191) (ceci fait évoluer la couleur de notre lampe 2 de noir à rouge clair), I3r (0,191), I3g (0,255), 13b (0,191) (notre lampe 3 de noir à vert clair).

4. Variables de position des lampes I2x (-800,-200), I2y (-800,-200), I2z j-800,0) notre lampe 2 arrive de loin devant, très en bas et très à gauche pour se positionner sous notre tortillon à gauche), I3x (800,200), I3y (-800,-200), I3z (800,0) notre lampe 2 arrive de loin derrière, très en bas et très à droite pour se positionner sous notre tortillon à droite).

Vous vivez encore ? Bon, il va falloir placer les variables dans les requêtes à présent : orx dans OriginX, ory dans OriginY, 0 dans OriginZ. Axis : X. Amount dans Amount, Distance dans Distance. On ouvre "Render-Settings" et comme dans la deuxième séquence : Rotate XY, alpha2 dans Alpha, beta2 dans Beta, zoom dans Zoom, centrex dans CentreX, centrey dans CenterY, camx dans CamX, camy dans CamY, camz dans CamZ.

Maintenant, ce qui est nouveau, ce sont les lampes. Par défaut, seule la lampe 1 a des valeurs non nulles (une valeur nulle des trois composantes fait ignorer une lampe des calculs). Nous allons donner des valeurs aux lampes 2 et 3. Le maximum est 4 lampes (laissons la 4e au repos). La lampe 1 est blanche et nous la laissons comme elle est pour l'éclairage général. En cliquant donc sur "Current", on passe à la lampe 2. Rentrons I2r, I2g, I2b dans Red, Green, Blue, I2x, I2y, I2z dans LightX, LightY et LightZ. Faisons de même pour la lampe 3 avec la série des variables 13...

Ça y est. Nous sommes prêts. Il ne reste plus qu'à lancer le calcul. Si vous avez déjà calculé les images de 1 à 300, faites bien attention ! Une erreur s'est malencontreusement glissée dans le logiciel. Si dans la fenêtre "Converter", on place "Range" de 301 à 500 comme ça nous paraît logique, ce sont les images de 1 à 200 qui vont être calculées. Ça ne détruira rien, mais c'est du calcul pour rien, puisqu'elles sont déjà là. De plus, il faudra les recalculer de toute façon, puisque la seule solution est de recalculer toute la série de 1 à 500. Heureusement que c'est assez rapide. J'ai signalé l'erreur à Andreas, bien sûr. Profitons-en d'ailleurs, je lui ai soumis des idées nouvelles pour la prochaine version, faites-en autant directement ou passez par moi si vous voulez. Bon travail !

Wildfire

La fin

Maintenant, on va voir si vous êtes dans le bain. Imaginez et réalisez la fin vous-mêmes (je suis un petit malin). Une infinité d'options s'offrent à vous. Pourquoi ne pas réaliser le mot "FIN" en caractères LightWave et les faire virevolter, ou faire un autre plan en transparence alpha, ou...

Nous n'avons vu qu'une infime partie du logiciel. Nous n'avons même pas exploré les possibilités audio. La place manque et surtout le temps, je ne vous dis pas le nombre de jours que j'ai passés à faire ce tutoriel. Il y a beaucoup d'exemples sur le CD à étudier. J'espère vous avoir mis sur les rails, c'est à vous de faire le boulot dorénavant.


[Retour en haut] / [Retour aux articles] [Article précédent]