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
|
|
|
|
Test de Real 3D 3.0
(Article écrit par Jac Pourtant et extrait d'Amiga News - octobre 1995)
|
|
Au point de vue lancer de rayons, l'Amiga est très bien achalandé. Sans parler du passé et du domaine public, nous disposons d'Imagine,
Caligari, LightWave, Cinema 4D, Aladdin et... Real 3D. De tous ces logiciels, Real 3D est le seul à utiliser des primitives
(c'est-à-dire des plans et des coniques ; entendez par coniques, des surfaces tridimensionnelles du second degré) et des surfaces
"mesh" (c'est-à-dire délimitées par des courbes "splines" également appelées courbes de "Bézier"). Les autres logiciels utilisent
pour réaliser des surfaces courbes, des approximations à l'aide de facettes (trisets, parallélogrammes, etc.) lissées à l'aide
d'algorithmes comme Phong ou d'autres. Le résultat est agréable vu de face, mais de profil, on voit les arêtes ! Avec Real, tout
est réel et les courbes sont des courbes. C'est l'avantage principal de Real. Ce n'est pas le seul, loin de là.
Généralités et particularités
Résumons un peu les particularités pour ceux qui n'ont jamais eu de contact avec ce programme hors du commun.
D'abord, le programme est entièrement écrit en RPL, langage de pile inspiré du langage "Forth" lui-même basé sur la notation
polonaise inversée (très pratique en informatique, car respectant l'ordre logique des opérations). Cela permet de programmer
soi-même des routines et de les ajouter au logiciel sous forme de modules. Bien sûr, c'est un peu rébarbatif au début, mais
un utilisateur qui a des notions de programmation peut, au lieu d'invectiver les concepteurs du programme qui ont
décidément tout fait en dépit du bon sens, se faire sa routine avec saisie de paramètres dans une fenêtre avec ces gadgets-ci,
cette fenêtre de requête-là, exactement comme il le souhaite. Toute la programmation est expliquée en détail avec des exemples.
Qu'il se fâche contre lui-même si c'est mal fait. Je dois ajouter que pour en arriver là, il faut tout de même avoir des
exigences particulières, tant le logiciel est complet. On peut également ainsi se faire ses raccourcis clavier selon ses besoins.
Toutes les actions sont exécutées en RPL. On peut donc les enregistrer, en faire des macros et les réexécuter à volonté. Ainsi,
il suffit de mettre macro sur "on" de dupliquer un objet, de le déplacer, de le faire pivoter, de remettre macro sur "off", et
de demander de rejouer l'enregistrement x fois. On obtient alors une collection d'objets régulièrement espacés et en arc de
cercle. C'est un fameux atout.
Ensuite, la structure hiérarchique permet une manipulation facile de tout ce qui est représenté. Un axe, un système de coordonnées,
un objet, un groupe, un placage de brosse, une texture ou même un lien avec un autre objet sont des entités similaires. Veut-on
appliquer une texture à un objet, il suffit de les mettre ensemble dans le même tiroir. Veut-on faire du gruyère ? Il suffit de
mettre dans le même niveau un bloc de gruyère de la forme souhaitée et des sphères ou ellipsoïdes avec une négation booléenne.
Une unité qui est un atout
Il n'y a pas de différents éditeurs. Tout se passe sur un seul écran si on le désire. D'innombrables fenêtres peuvent être ouvertes,
chacune en parallèle, c'est-à-dire chacune avec sa propre tâche ("task" dans exec) interactive avec les autres mais pourtant
indépendante. On peut exécuter un rendu dans une et, simultanément, modeler dans l'autre.
Les fenêtres les plus utilisées sont :
- View, pour voir ce qu'on fait ; on peut en ouvrir une seule ou bien plusieurs par exemple pour avoir face, profil, dessus et
perspective. On peut faire un rendu jusqu'à 256 couleurs dedans si on est équipé pour.
- Select, pour construire la scène avec sa hiérarchie, ses mouvements, ses lois, ainsi que pour sélectionner l'objet sur lequel
on travaille dans une fenêtre View.
- Tools, que l'on peut remplir d'un choix de gadgets se référant à des fonctions souvent utilisées du menu, par exemple la
création de primitives, de sources lumineuses, de placages, d'opérations booléennes, etc.
- Materials, où l'on choisit tous les paramètres d'une texture algorithmique de couleur, de relief, de transparence ou d'un
placage de brosse, ou les deux à la fois, bref les attributs ou surfaces comme ils sont appelés dans d'autres traceurs.
- Animation, pour contrôler le bon déroulement des mouvements, faire des essais en modelé ou sauvegarder les images tracées.
- Palette, ou Colour Wheel (à partir du système d'exploitation 2.1) pour définir les couleurs de base.
- Measuring, pour placer les objets ou effectuer les translations ou rotations numériquement.
- Control Window et ViewCam Control pour régler les vues de la fenêtre View et de la caméra.
- TimeLine et Edit pour fignoler les chemins d'anim ou les mouvements et transformations, bref les enveloppes.
- RPL pour éditer ses routines.
- Bien d'autres que je ne peux énumérer, comme "Settings" où tous les paramètres de rendu se concoctent, etc.
Le rendu se fait en temps réel sur écran séparé ou dans la fenêtre View ou sur carte graphique ou en sauvegarde sur fichier. Les
différents niveaux de rendu sont : Draft (sans attributs), Environment (avec attributs), Lampless (avec lampe dans la caméra par
défaut), Shadowless (sans ombres ni réflexions), Normal (lancer de rayons total) et Outline (silhouette pleine et uniforme pour
faire des masques).
On peut appliquer des lois à tous les objets, par exemple des lois physiques telles que la pesanteur, l'inertie, la résistance,
la force centrifuge, la détection de collision, les chocs et rebondissements, etc. sous forme de "tags" (marqueurs),
un peu comme des "chunks" recevant une valeur.
29 méthodes d'animation
Citons-les toutes car cela en vaut la peine : Path, Rotation, Sweep, Size, Stretch, Direction, Move & Direction, Control Curves,
Simple Skeleton, Skeleton, Inverse Kinematics, Morphing, Key Frames, Transform, Waves, Radial Force, Directed Force, Tangent Force,
Collision, Interactive Collision, Friction, Creation, RPL, Processor, Noise, Attributes, Shrink Map, Surface et Particles.
Le modelage est extrêmement facile pour peu qu'on s'y habitue car la visualisation des objets est radicalement différente des
concurrents. Ainsi une sphère se voit par trois "grands cercles" orthogonaux (en fait des dodécagones); quand on est un peu de
profil, on ne voit donc pas toujours bien la limite de la sphère, mais on s'y habitue très vite. Les fonctions de modification
sont exemplaires. Par exemple, pour effectuer une rotation, on tape "R" au clavier, on clique sur l'axe de rotation, on déplace
la souris tranquillement sans appuyer. Lorsqu'on est satisfait (ou à l'aide de la fenêtre "Measuring" pour une précision absolue)
on reclique et le tour est joué (si j'ose ainsi dire). Les outils de déformation des "meshes" (lignes, surfaces et volumes splines)
sont prodigieux. N'oublions pas les vecteurs pour le positionnement dans l'espace. On peut facilement positionner un point ou un
objet en "drag-ant" un rectangle autour d'un autre point. On peut retrouver le centre d'un cercle ou d'une sphère en drag-ant
autour de la sphère.
Voilà pour rappeler les généralités sur Real. Voilà pourquoi c'est mon logiciel préféré de 3D. Voilà pourquoi j'ose affirmer
subjectivement que c'est le plus complet sur Amiga (et sur PC dorénavant). On sait même que des stations graphiques de haute
renommée ne possèdent pas dans leur collection bon nombre de fonctions de Real. Reportez-vous de toute façon à mon précédent
essai de la version 2.47 dans le numéro d'Amiga News numéro 69 de juin 1994, page 44.
Présentation
Un paquet cartonné avec cette superbe image d'un "griffon" composée par Grant Neisner. A l'occasion, détaillez-la bien. On y voit
toute la force de Real, tant dans les formes des contours que dans les écailles, les gencives, la muqueuse, le flou du fond et
surtout l'anticrénelage parfait. Dans le paquet, quatre disquettes avec la version complète qui fonctionne dorénavant sans
clé électronique et un manuel broché de mise à jour. J'aurais préféré des pages à insérer dans mon classeur de la version 2 à défaut
d'un nouveau manuel complet. Je dois maintenant compulser le classeur de la version 2.35, le supplément de la version 2.47 et
le livret des changements de la version 3.0. J'estime que pour le prix, j'aurais pu avoir la doc comme un nouveau venu qui paye
le même prix que lorsque j'avais acheté Real il y a deux ans. J'aurais aussi préféré une personnalisation Amiga et non des
exemples dans des fenêtres "Windows" avec des gadgets changés de place.
Rengainons notre rancoeur et découvrons
- Une fonction "Rounding" permet d'arrondir les angles, un peu comme Metamorph dans LightWave.
- On peut tracer une courbe à la surface d'un objet, même en modifiant simultanément l'angle de vue. La courbe épouse fidèlement
le relief de l'objet, et on peut l'utiliser par exemple comme chemin pour une bébête qui se déplacera sur l'objet.
- On peut appliquer des courbes génératrices d'un mesh à la surface d'un autre par exemple, pour les souder sans voir de limite.
- Le générateur fractal d'arbres et de paysages peut maintenant charger ou sauvegarder les paramètres et on peut ainsi se
constituer une arborithèque ou une reliefothèque.
- Il est possible de définir la réflexion d'un seul côté d'une surface.
- Fonction Glow. On peut définir dans un placage des halos autour des zones très claires qui simulent des sources lumineuses.
Regardez les halos sous le vaisseau. Ils sont calculés seulement à partir du jaune de la texture qui simule les fenêtres éclairées.
- Sur les chemins d'animation, il est à présent possible de redistribuer le temps par rapport à des positions-clés.
- Il existe des points pivots pour éviter que des surfaces jointes comme dans une articulation ne se séparent.
- Le nouvel attribut "fade" permet de faire des fondus avec une méthode de déformation entre fade=0 objet totalement visible
et fade=1 objet totalement invisible.
- Les squelettes sont tout nouveaux et n'ont rien à voir avec les méthodes d'animation déjà existantes. Ce sont des os articulés
avec cinématique inversée avec des contraintes sur deux axes (c'est-à-dire les limites dans lesquelles ils peuvent pivoter) et
qui respectent la tension de la surface qu'ils font mouvoir. Pour être plus clair, regardez et vous comprendrez mieux.
- Le "shrink mapping" est la technique révolutionnaire qui permet à un objet de laisser des traces de son passage en en
déformant un autre. Là, l'imagination est la seule limite (avec la mémoire disponible) aux effets réalisables. Les chocs
laissent des traces, ou les pas dans la neige, ou des tissus sont déformés et emportés par des projectiles, etc.
Dans les menus
- On peut charger des objets en trisets de 3D studio.
- Dans les projets, on peut n'insérer, sauvegarder ou remplacer que certaines sections.
- Edge X/Y dans la fenêtre "Materials" permettent de laisser les bords d'une texture doux ou bruts.
- Freq X et Y peuvent dorénavant recevoir des valeurs négatives qui donnent alors une répétition infinie du motif de la texture.
Cela supprime le joint peu élégant qu'on voyait auparavant où les bords du placage se rejoignaient.
- Un anticrénelage de textures permet par exemple d'avoir des échiquiers sympas dans le lointain et pas un magma de pixels
quasi aléatoire.
- Le "Depth scope handler" limite l'application d'un placage dans la profondeur (par exemple pour le limiter à une face d'un cube).
- Le "Angle scope handler" limite la vision d'une texture à un angle par rapport à la surface (1 en face, -1 de derrière, 0
parallèle à la surface). Ainsi entre 1 et 0, on ne voit la texture que de face. Entre 0,1 et -0,1, on ne la voit qu'en incidence
rasante mais de devant et de derrière.
- Le "Roughness bump handler" remplace la trop imprécise "roughness material property". Les paramètres a et b contrôlent
respectivement la densité et la hauteur du grainage.
- Le "Dither color handler" remplace également la "dither material property". a et b contrôlent la densité aléatoire des taches et
leur intensité.
- Le "material color" manquait vraiment. C'est ce qu'on appelle ailleurs spécularité. Ainsi les zones éclairées sur une surface
rouge peuvent être jaunes à présent.
- On peut en RPL donner les coordonnées relatives des textures pour les placages.
- Les formats JPEG et PPM sont nouvellement acceptés comme textures.
- Une fonction de purge des matériaux non utilisés est implémentée et bien pratique pour désencombrer la requête.
- Une nouvelle fenêtre voit le jour : ViewTool. Elle a pour but d'accélérer et de simplifier l'édition dans la fenêtre View.
Ainsi les boutons Done (pour terminer une action en cours, par exemple les points d'un polymide), Cancel (pour annuler une
opération en cours), Undo (pour enlever le dernier point), Open/Close (pour ouvrir ou fermer un b-spline), Angle (pour entrer
l'angle lors d'une rotation, ou d'une section de primitive), Position (pour les coordonnées numériques), Depth (pour définir
la profondeur en mètres d'un objet), Center (pour aligner deux cercles par exemple lors de la création d'un cône tronqué) sont
des aides précieuses par rapport aux méthodes antérieures.
- Les contrôles Groups, Methods, Helix et Skeleton nous facilitent grandement la tâche. Par exemple, les squelettes sont
détaillés par leur type, leur nom, leur friction, leur fidélité, leurs contraintes (comme on a vu plus haut), et les
sous-squelettes (par exemple, les doigts au bout d'un bras). Les squelettes sont une merveilleuse chose en relation avec la
cinématique inversée et les mouvements naturels ne sont plus une utopie à présent.
- Le menu Modify/Properties contient des sub-items nouveaux : Attributes peut à présent remplacer l'objet par un "bounding box",
Animation, squelette, géométrie, fade permettent de modifier les points et paramètres des primitives numériquement.
- Special/Reflect déplace les objets de façon que leur réflexion soit vue sur une surface indiquée par le pointeur. Ainsi
plus de tâtonnement.
- Freeform/Type met fin à un bogue de conversion d'objets provenant d'autres formats, le sens des faces qui faisait que bon
nombre de faces étaient inexplicablement invisibles.
- La conversion en trisets, pour exporter des objets Real.
- Surface to Groups permet de diviser un mesh en sous-meshes.
- La fidélité d'une peau à un squelette peut être paramétrisée.
- La caméra est actualisée automatiquement dès l'instant où l'option "Camera View" est active.
- On peut dans les préférences d'attributs définir des noms et des profondeurs standard, si par exemple on travaille avec
des murs de 20 cm, on peut standardiser les parallélépipèdes en "Walls" et Depth : 20 cm.
Pour le rendu
- Auto-Box Rendering est cette nouvelle technique de découpage de l'espace en cubes pour essayer de gagner du temps. Elle est
optionnelle et dans le meilleur des cas divise par deux les temps de calcul.
- Super Sampling, comme son nom l'indique prend plusieurs échantillons d'une texture pour une plus grande précision. L'anticrénelage
n'a alors pas besoin d'excéder 2.
- Il est possible de sauvegarder en JPEG.
- Le rendu en IFF avec option de canal alpha crée dorénavant un fichier 8 bits au lieu d'un masque d'un bit.
- Il est possible de charger et sauvegarder des préférences de rendu (settings).
- Les post-processeurs font leur apparition. Ainsi, l'effet Glow (qui peut être fixe ou additif) déjà évoqué, les halos de lumière,
déjà connus dans d'autres logiciels et l'anticrénelage de distance qui effectue un flou à posteriori selon que le pixel correspond
à un objet proche ou éloigné.
- Il est possible, en utilisant une image en fond en modélisant, de faire en sorte qu'elle apparaisse avant chaque
rafraîchissement d'écran. Pratique, n'est-ce pas, gentils fans d'Imagine ?
Le système d'animation
- On peut se positionner directement sur une image dans le "Key Editor".
- Les méthodes peuvent être rendues visibles ou invisibles. Ainsi une déformation entre deux positions-clés peut montrer soit
les trois positions (début, actuelle, finale) ou seulement l'actuelle.
- Auto Track défile automatiquement l'éditeur à la position concernée lors d'un calcul d'anim.
- Periodic rend des séquences fermées répétitives en douceur.
- Une interpolation peut être linéaire, en Bézier ou discrète.
- Distribute redistribue équitablement les clés sur la période de temps.
- On peut créer ou supprimer une position-clé de l'éditeur.
- Pivot permet de modifier le centre de gravité d'un objet de l'éditeur.
- Il existe maintenant un éditeur d'enveloppes qui permet de contrôler précisément les mouvements sur les trois axes.
RPL a également subi des modifications qui dépassent le cadre de notre survol.
Le format des objets et des scènes a dû être modifié à cause des nouveautés et des transformations de routines. La compatibilité
est totale dans le sens chronologique, c'est-à-dire que la version 2.0 ne lira pas des objets 3.0.
Il y a quelques différences entre la version AmigaDOS et la version Windows, parfois au détriment de l'une, parfois de l'autre,
mais minimes.
Conclusion
Après ce galimatias obscur de valeurs abstraites, il y a peu de nouveautés spectaculaires. L'interface est restée la même. On
n'a pas une impression nette de changement comme on pourrait l'attendre d'un passage à un version supérieure majeure. Il y a
pourtant une multitude de petites améliorations qui rendent la vie plus facile au modelage et en animations, et les temps de
calcul moins rébarbatifs.
Même si pour des raisons mal explicables (peut-être moins de publicité tapageuse et la fausse peur de se trouver dans un logiciel
trop compliqué) Real 3D est loin devant tant par sa conception que par ses performances. Il n'est certes pas parfait, comme
aucun de ses concurrents, j'ai aussi des griefs et parfois j'utilise Imagine par nostalgie ou j'essaye d'accrocher avec
LightWave (sans franc succès), et ces logiciels ont certains côtés pratiques que Real ne possède pas, mais pour un travail
sérieux et de qualité je ne dirai qu'un mot : REAL ! et je tire bien bas mon chapeau de paille à ses géniaux finnois et néanmoins
frères concepteurs : Juha et Vesa Meskanen.
Nom : Real 3D 3.0.
Éditeur : RealSoft.
Genre : modélisation 3D.
Date : 1995.
Configuration minimale : Amiga OCS, 68000, 1 Mo de mémoire, AmigaOS 2.04.
Licence : commercial.
Prix : 3990 FF.
|
|