Press Releases
   2008
   2007
   2006
   2005

Events
   2008
   2007
   2006
   2005

Newsletters

Archives

Journalists:
Subscribe to the Virtools Press List


News & Events > Press Reviews 1999


Virtools : à la Recherche du Temps Réel
by Gilles Iung Lancrey in Studio Multimedia 14

Virtools est un logiciel à part. Fils spirituel de Director, de 3DS Max et de Quake, mâtiné de C++ à la sauce Orienté Objet, il permet de créer des applications interactives faisant appel à toutes les ressources de la 3D temps réel, du son et de la vidéo numérique. Color Keys, son stéréo avec effets, personnages 3D animés pilotables directement par l'utilisateur, détection de collision, fog, particules, sprites ou objets 3D texturés sont le pain quotidien de cet animal protéiforme et gourmand. Si aujourd'hui les applications conçues avec ce logiciel se comptent sur les doigts de la main, l'avenir devrait sourire à l'enfant de chez Virtools, la société des outils du virtuel.

Pourquoi faire ?
Le principe de base du logiciel est simple: il s'agit d'importer une scène créée dans un logiciel 3D (de préférence 3DS Max), avec animations et textures si nécessaire, ou si possible, puis d'appliquer des comportements aux objets qui la peuplent. Importez une sphère rouge, faites-la tourner quand on clique dessus, chantez "pouët' tout en changeant de couleur, et donnez à l'utilisateur la possibilité de la faire rouler dans un décor de cyber-cinéma, à la recherche de la sphère soeur... dirigée celle-ci par un autre joueur, la chose n'est pas impossible. Le tout calculé et géré en temps réel à l'aide des procédures Direct3D, mais on peut décider de précalculer certaines parties.Un peu de maçonnerie. Tout ceci se fait dans une apparente simplicité, à l'aide de 'Building Blocks' , ou briques comportementales, que l'on dépose sur le script de l'objet choisi en fonction du résultat escompté. Les briques peuvent être reliées entre elles très rapidement, et l'empilement de toutes les briques au sein d'un script constitue le scénario de l'objet, qui peut être relié à d'autres scripts, d'autres objets, voire d'autres scènes pour constituer au final le scénario global de votre application. Exemple de briques comportementales prédéfinies posées sur le script d'une image 2D placée en fond d'écran (sprite) : -attendre un clic-jouer un son- lancer une AVI - démarrer l'animation d'un personnage 3D... Toutes ces briques sont préexistantes et ne nécessitent que quelques réglages simples, par exemple pour indiquer quel son jouer, et pendant combien de temps. Et les premières manipulations du logiciel sont effectivement impressionnantes : l'on crée du contenu interactif 3D temps réel, en un tournemain. Enfin, c'est ce que l'on imagine, au vu des démonstrations simplissimes et impressionnantes type SpaceRace livrées avec le logiciel.

Pas si vite !
En réalité, Virtools est un logiciel beaucoup moins simple qu'il n'y paraît. Plus exacte ment, les concepts qu'il manipule sont complexes : l'algorithmique, cette scien ce des développeurs, y a son mot à dire. Certes, il n'est plus nécessaire de com prendre et d'interpréter un langage de programmation ardu et complexe, puisque les talentueux programmeurs de Virtools l'ont fait pour vous et pour la multitude. Il est décidément plus agréable d'empiler des comportements tout faits dans une fenêtre graphique, mais il ne faudra pas oublier d'emporter une logique solide et une certaine capa cité d'abstraction. Virtools n'est donc pas simple, mais simplifiant.

Interface
Elle est d'une discrétion branchée, façon veste noire et col roulé gris. Il faudra bien chercher pour trouver des couleurs, tant le blanc, le gris et le noir ont été ici éri gés en règle absolue, tendance marbrier. La discrétion se retrouve d'ailleurs dans la taille des icônes, généralement sous dimensionnées, ce qui rend le clic hasar deux dès qu'on dépasse le 128OxlO24, résolution pourtant bien utile dès que le projet s'alourdit de médias divers. On ne s'étonnera donc pas d'avoir à proférer quelques jurons devant cette généreuse loupe de 15xl5 pixels, ou lors des parties de cache-cache avec les inénarrables curseurs triangulaires larges de 8 pixels et hauts de 4. Bref, le myope est ici en terre ennemie, et les moniteurs de moins de 19 pouces constituent une gageure. Navigation Quoi qu'il en soit, cette interface riante se divise en trois fenêtres principales, qui changent de taille et se déplacent à loisir grâce à leur efficace système d'onglets.

Dans le coin supérieur gauche la vue 3D et sa barre d'outils de navigation dont certains sont d'un usage vraiment laborieux (le Dolly, d'une rapidité vertigineuse, et le Rotate dont la Target se promène on ne sait où) ; en dessous on trouve principalement les onglets de la Schematic View (qui représente graphiquement les processus constitués au moyens de briques) et de la Level View, qui recense tous les médias présents et délivre des informations sur leur état. Le coin supérieur droit est consacré aux bibliothèques. de comportements (les fameuses briques, ou Building Blocks), mais également aux onglets des res sources disponibles (c'est-à-dire vos médias, sous formes de sons, d'images et de textures) et de l'aide online, disponible sous forme Htm intégrée dans Virtools par lntemet Explorer.

Besoin d'aide
Cette aide se révélera vite précieuse, bien que concise, car elle est unique ou presque. Si vous aimez les manuels copieux et les documentations surabon dantes, optez pour une encyclopédie : ici, le volume fourni est plutôt chiche. 125 pages de tutorials au format A5, un guide de référence d'environ 130 pages qu'il vous faudra imprimer et qui constitue en réalité une simple nomenclature des fonctions, et la doc online, forte de quelques exemples généralement légers, légers ... Voilà qui irait fort bien si Virtools était un logiciel pour apprentis débutants, mais sa réelle puissance et sa complexité nécessitaient mieux que cette documen tation anémique et incomplète. Gageons que la sympathique hot-line, qui se sou vient sans doute de nous, aura du pain sur la planche. Pourtant rompus à l'ap prentissage de nouveaux logiciels, ayant vu défiler de l'interface et du GUI plus qu'il n'en faut nous avons eu fort à faire avec ce brave Virtools, qui s'est révélé par fois beaucoup moins clair qu'on n'aurait jamais osé l'imaginer. Uinterface n'est pas la seule fautive, loin de là : en réalité le logiciel est truffé de fonctions, toutes plus puissantes les unes que les autres et toutes soigneusement cachées un peu partout au hasard, comme il se doit pour les truffes. Reste donc à se munir d'un cochon, ou de patience et de persévé rance, ce que nous avons fait. La 'Learning Curve", ou période d'apprentis sage est longue et raide : à moins de bénéficier d'une formation, il est illusoire de vouloir commencer à dominer le logi ciel en moins de trois semaines bien remplies, c'est une esti mation optimiste. Sauf pour les pro grammeurs et autres habitués de la logique estam pillée méthode Merise, qui devraient se sentir en terrain connu. Graphistes, il faudra être forts.

En effet, si globalement l'interface se laisse apprivoiser plutôt vite, malgré des défauts qu'on suppose de jeu nesse, reste à créer effectivement du contenu. Une fois modélisée et texturée dans 3DS Max, votre scène exportée dans Virtools n'attend plus que quelques briques pour s'animer au gré de la souris. Qu'on ne se leurre pas, les quelques centaines de comportements livrés avec le logiciel répondent à des situations génériques. Il va donc falloir les empiler et les combiner entre eux pour créer de nouvelles briques person nelles, que vous prendrez soin de sau vegarder. Virtools espère que la com munauté d'utilisateurs échangera les comportements ainsi créés sur le site www.theswapmeet.com, le lieu d'échan ge des Virtoolsistes. Mais avant que cette excellente idée ne soit suivie d'effets, vous ne devrez compter que sur vous-même. A l'usage... Le problème consis te donc à trouver comment faire les choses, avec quoi, et surtout où se trouve ce quoi. Les paramètres 1/0 des briques et leur manipulations sont relativement aisés à découvrir, et leur fonctionnement finit par s'apprivoiser à peu près. Il faudra ensuite chercher les opérations entre paramètres, les créa tions de variables, les raccourcis, les com portements ciblés, les objets éditables par des Settings et par un Set-Up tous deux dif férents, la gestion des scènes (on reste son geur un moment devant la lumineuse orga nisation Place/Transplace/Scene/Level/ Workset), les groupes qui n'en sont pas tout à fait les tableaux, les Conditions Initiales, les détections de collisions, le Grid Management, les attributs et les quantités surabondantes de réglages fins disponibles pour la majorité des éléments. A l'instar de l'éditeur de particules, dont la complexité apparente se révélera en fait fort compré hensible à l'issue d'un certain temps d'ap prentissage. C'est en assimilant tout ceci que vous serez capable de générer des scripts complexes, parsemés de briques aux noms ésotériques et de petits liens bleus ou noirs, qui dessineront devant vos yeux leurs lignes imbriquées en un réseau de dentellière. C'est pourquoi il faudra songer à réfléchir avant de se jeter sur le logiciel : ici plus qu'ailleurs, organisation, conception claire et analyse globale seront des alliés précieux.

Parmi les nombreuses fonctions offertes, citons la possibilité d'utiliser intégrale ment une animation de personnage du type Marcher/Courir/Sauter/etc., et de la contrôler au moyen des périphé riques, clavier, souris, joystick..., dont la gestion se révèle très pratique. Autre fonction utile, les Grid Objects sont des sortes de calques irréels plaqués au dessus de la scène, qui peuvent receler des informations concernant les points de bonus, les portes d'un niveau de jeu ou la détection de collision. Celle-ci se fait très facilement puisqu'il suffit de déclarer les obstacles ou les sols par objet ou par famille d'objets. N'oublions pas les tableaux de données, qui ne sont pas sans rappeler les feuilles de calcul d'un tableur, et qui permettent de gérer avec facilité certains paramètres. Cette gestion peut se faire depuis l'exté rieur, par un simple fichier texte préala blement mis au format correct. Dans notre simulateur d'hélicoptère, les diffé rentes phases de jeu sont ainsi aisément paramétrables par un opérateur, sans aucun besoin de rentrer dans Virtools.

Comment jouer ?
Une fois votre création terminée, reste à la visualiser hors de Virtools. Trois options principales sont possibles : utiliser le plug in pour navigateur Internet, utiliser le Ployer Virtools, une petite application qui fonctionne de manière fort simple par glisser-déposer et reprend intégralement les 'en dur' un exécutable, grâce au SDK fourni uniquement dans la version Virtools Dev. Ce kit de développement logiciel basé sur C/C++ permet également de créer de nouvelles extensions au sein de Virtools, qu'il s'agisse de nouvelles briques, de paramètres ou d'éditeurs divers. Notons au passage que si Virtools fournit un moteur 3D temps réel propriétaire, le VX3D, il est tout à fait possible, voire sou haitable, d'intégrer un autre moteur de rendu 3D, ce qui se fera sans grand souci puisque Virtools se charge intégralement de la partie algorithmique et traitement des données, ne laissant fonctionner le moteur 3D qu'en surcouche. Cette architecture ouverte est un gage de pérennité du logi ciel, qui est ainsi indépendant de technolo gies vite dépassées.

A l'heure du bilan...
Comme tout bon bilan le nôtre est en partie double. Par sa puissance et les possibilités, Virtools obtient la note maximale : il ouvre des horizons peu soupçonnés, et permettra sans aucun doute de créer des jeux, des applications multimédia et des contenus interactifs novateurs, mettant à profit la globalité des ressources disponibles aujourd'hui. Au prix d'une complexité véritable, dont seuls les plus efficaces sauront tirer parti. Une équipe idéale devra sans doute être constituée d'un graphiste 3D et d'un concepteur Virtools, qui se répartiront les tâches et fonctionneront en tandem. Le graphiste free-lance pourra également tirer un parti intéressant du logiciel, mais inutile de songer à program mer un Tomb Raider nouvelle sauce, à moins d'être passionné... ce qui n'est pas impossible, tant le logiciel se révèle encore plus attachant qu'il n'est frustrant.