Suivez-nous sur X
|
|
|
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
|
|
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
|
|
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
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
En pratique : Real 3D - Procédure RPL pour les textures
(Article écrit par Jac Pourtant et extrait d'Amiga News - février 1998)
|
|
Nous allons aborder cette fois un aspect inhabituel des textures. En utilisant un script RPL, on peut réaliser des effets
difficilement imaginables autrement. Grâce à la capacité du langage d'accéder à toutes les variables internes des objets,
le choix est illimité. Comme ma connaissance du langage est pratiquement nulle, je ne vais pas avoir l'impudence de vous faire
un cours de RPL, mais nous allons quand même mettre les mains un petit peu dans le cambouis en allant traficoter dans des scripts,
en l'occurrence deux particuliers, tous deux écrits par Frank Dodd.
Ils sont tous deux sur le site FTP de Real 3D et également sur le site Real 3D d'Amiga News. Alors, commençons par les télécharger,
il s'agit de Gradient et de MaterialFade, tous deux compressés en zip (dans le répertoire "rpl" sur le site Real 3D
et cliquables sur la page "Archives" chez nous). Si vous n'avez pas accès à l'Internet, vous pouvez toujours envoyer une disquette
avec une enveloppe réponse affranchie, je vous les copierai.
Gradient
Une fois téléchargés, il suffit de les décompacter avec "unzip", qu'on trouve partout, notamment sur Aminet dans "util/arc",
la dernière archive en date est, je crois, "Unzip512x.lha", elle est sur le CD Set 4a. Une fois décompactée, on se retrouve
avec quatre fichiers, "Example.RPL", "Gradient.txt", "Gradient.RPL", MATHX.RPL" (pour être sûr de ne pas avoir de problème,
renommons-le "MathX.rpl"). Créons provisoirement un répertoire "Custom" dans "R3D3:RPL/" et mettons-y tout ça, juste pour le
temps de l'expérimentation. Si plus tard on veut s'en servir souvent, il sera préférable de rentrer les deux fichiers RPL
directement dans "R3D3:RPL" (normalement, le fichier MathX.rpl devrait d'ailleurs s'y trouver déjà).
Avant toute chose, sur Amiga, chargeons "Gradient.RPL" dans un éditeur, et à la ligne 44, changeons "Custom/MathX.rpl" LOAD
par "R3D3:RPL/Custom/MathX.rpl" LOAD, car l'assignation ne se fait pas bien sinon (dans tous les cas,
remplacez "R3D3" par le nom de votre assignation Real, si elle ne s'appelle pas ainsi, évidemment).
Ensuite, pour avoir une idée des effets, chargeons le projet "Example. prj". Je vous conseille de ne pas le charger avec "Replace"
mais plutôt, si vous avez un "Default.prj" élaboré, avec "Replace sections" en ne sélectionnant que "Objects" et "Textures". Avant
de faire un rendu, ouvrez la fenêtre "Materials" et sélectionnez la texture "TestMat". En principe, c'est la seule. Maintenant,
sélectionnez le menu "Define/Procedures". Dans la requête de fichiers, sélectionnez le volume Real (pour moi R3D3:), puis,
"RPL/Custom/Gradient.rpl". Avant de lancer le calcul, vérifiez que vous n'avez pas coché "B-Spline->Phong" dans les paramètres
de la fenêtre "View" (ce qui déconnecterait le "spline mapping"). Voilà, tout est en ordre à présent. Lancez le rendu. Vous
voyez que le verre présente un relief inattendu. C'est une conjugaison de deux textures, une de bump et une de couleur.
Ramenez un "handler" à "Default" pour voir, puis l'autre.
Je vous suggère de lire ce que Frank dit de ses effets dans le fichier "Gradient.txt". Nous allons d'ailleurs faire de même.
Toutefois, il y a quelques erreurs, alors, suivons la marche à suivre ici. Repartons de zéro. Chargez votre "Default.prj".
Sélectionnez votre grille de 1.0. A l'aide de la "Measuring window", nous allons tracer une ligne du point 0,0,0 au point 1,1,1
(et non pas 1,1,0), pas avec le menu "Create/Controls/Open Line" mais avec le menu "Create/Controls/Axis" (vous pourrez tenter
plus tard avec "Open Line" et vous verrez la différence). Cette ligne est utilisée comme courbe de variable pour la progression
de l'effet de gradient. L'important est qu'elle aille de 0 à 1 en x, ensuite. la variation peut être celle qu'on veut, une
sinusoïde, n'importe quelle courbe, pourvu qu'elle n'exagère pas en dessous de 0 et au-dessus de 1 (résultats imprévisibles).
Ici, nous avons une droite donc une progression régulière de notre effet de gradient. Elle s'appelle "line".
Renommons la racine du projet "Grad.prj". Ouvrons à présent la fenêtre "Materials" et donnons le nom "TestMat" à ce nouveau matériau
que nous créons. A présent, comme nous l'avons fait pour corriger l'exemple de Franck, chargeons le fichier RPL à l'aide du
menu "Define/Procedures", exactement avec les mêmes précautions ! Voilà le vif du sujet de notre tutoriel ce mois-ci c'est
l'utilisation de scripts RPL à charger directement dans la fenêtre "Materials". Laissons tous les paramètres par défaut. Dans
le "handler" "Color", rentrons, en le positionnant sur RPL, le texte suivant (à condition évidemment que votre projet s'appelle
bien "grad.prj", que votre courbe s'appelle "line" et qu'elle soit directement dans la hiérarchie de racine) :
"/Grad.prj/line" SmoothX ApplyToRed (attention aux majuscules/minuscules). Rentrons la valeur 1.000 dans "a".
Construisons maintenant un objet simple pour y appliquer notre texture, un cube noir par exemple, comme Franck. Enfonçons-le
d'un niveau hiérarchique avec "Shift+b" et appliquons la texture TestMat en parallèle dans la vue de face. Pour la suite de
nos essais, faisons-nous un sol sous le cube avec une texture quadrillée par exemple (quelque chose de bien contrasté pour
observer plus tard les effets de transparence. Élevons-nous et déplaçons-nous un peu de côté pour bien voir les trois faces
de notre cube, déplaçons la lumière de notre scène de façon qu'elle éclaire ces trois faces. Encore une fois, vérifions dans
les paramètres de la fenêtre de rendu qu'on n'a pas coché "B-Spline->Phong", et rendons en mode "Shadowless".
Essayons ensuite toutes les variantes possibles : ApplyToGreen, ApplyToBlue, SmoothX, SmoothY, SmoothZ, SmoothXY, SmoothXYZ.
Dans le cas de SmoothXY on peut rentrer deux courbes (par exemple "/Grad.prj/line" "/Grad.prj/linel" SmoothX ApplyToRed)
et pour SmoothXYZ trois courbes (par exemple "/Grad.prj/line" "/Grad.prj/line1" "/Grad.prj/line2" SmoothX ApplyToRed).
Il faut bien sûr faire les courbes line1 et line2. Je vous conseille, également pour la suite, de faire une courbe line1
(0,0,1 0,5,0,5,0 1,1,1) et une courbe line2 (0,0,0 0,3,0,3,0,6 0,6,0,6,0,3 1,1,1). Expérimentez avec ça. En reprenant
SmoothX et ApplyToRed, remplacez la courbe line par line1 ou line2.
Les variantes qui suivent sont à appliquer en bump et en scope. Repositionnez donc le color-handler sur "Default" et essayez le
bump-handler avec ApplyToBumpX et ApplyToBumpY. Même chose avec le scope-handler avec ApplyToScope. Revenez vers le color-handler,
essayez ApplyToWhite. Si vous êtes aventureux et malin, éditez le script dans un éditeur de texte en clonant la fonction
ApplyToWhite en l'adaptant à ApplyToYellow, ApplyToCyan, ApplyToMagenta, ApplyToCequevousvoudrez... rechargez le script dans
la texture et essayez ces nouvelles commandes.
Encore quelques effets intéressants : rendez le cube blanc et faites le transparent en mettant "Brilliance" et "Transparency"
à 100, puis regardez les différences en rendant en "Shadowless" et en "Normal".
Les applications sont légions. Si vous mettez le nez un peu plus dans le script, vous aurez peut-être envie de changer des trucs,
voire de programmer de nouveaux scripts, bref de vous mettre au RPL. C'est ce que je ferais volontiers si j'avais le temps et
si je ne devais m'éparpiller dans toutes les directions pour vous satisfèèèèêère, chers amis lecteurs !
Avec tout ça, je n'ai plus de place pour vous parler de "MaterialFade". J'avais pourtant promis de ne rien promettre pour le mois
suivant, mais il n'y a que les zimbes et cils qui ne changent jamais d'avis.
|