Softimage|XSI: Les Bases
Notions importantes - Historique
Pour commencer, j'ai écrit ce tutoriel en considérant que vous avez déjà réalisé les tutoriels livrés avec XSI 3.0 ou XSI EXP 3.0. Ces tutoriels sont disponibles en français et vous permettront d'apprendre les bases de travail et l'interface d'XSI. Je ne reviendrai donc pas sur ces notions, si quelque chose vous paraît obscur, n'hésitez pas à consulter ces tutoriels. L'une des choses les plus importantes à comprendre quand on se convertit à XSI, c'est la non-linéarité des outils. Pour bien comprendre, faisons un parallèle avec un soft connu : Photoshop. Quand vous effectuez une opération dans Photoshop (ne serait-ce qu'un coup de brosse), elle est automatiquement placée dans l'historique. Vous pouvez alors annuler toutes les opérations effectuées en remontant dans l'historique. Cette méthode est différente d'un "undo" (annulation) à plusieurs niveaux : L'historique est sauvé dans un fichier, vous pouvez y revenir à n'importe quel moment. Un retour dans l'historique n'efface pas les opérations (sauf si vous utilisez un nouvel outil) et vous pouvez donc naviguer librement et sans risques. Voilà (en gros) pour la notion d'historique. Dans XSI, chaque élément a un historique, et celui-ci est non-linéaire. " Non linéaire ?? C'est quoi, ça ???" se demande le lecteur avide de connaissance. Hé bien c'est simple. Exemple : Un magnifique cube :  Par une opération magique appellée "bevel", nous allons lui arrondir les angles :  Nous allons maintenant lui extruder une face :  Arrivé à ce niveau de détail hallucinant, on se rend compte que finalement, le bevel n'est pas assez accentué. Pas de problèmes, ouvrons un "explorer" :  Nous voyons donc les différents objets de la scène, dont notre cube. En pressant la case "+" du cube, nous développons ses propriétés, et nous voyons donc dans l'ordre :
Sa géométrie (polygon mesh)
Ses propriétés de déplacements et d'animations
ses options de rendus, qui permettent de le cacher à l'affichage, au rendu, ou de ne rendre que les "primary" ou "secondary rays", ainsi que de régler son comportement aux photons
son éclairage ambiant. Tout ce qui est en italique signifie qu'il utilise les paramètres globaux de la scène, donc ici les paramètres d'ambiance de toute la scène affectent cet objet. En pressant "entrée" sur ce paramètre, une fenêtre s'ouvre, nous demandant si on veut faire une copie locale de ce paramètre. C'est à dire qu'il n'utilisera plus les paramètres globaux mais des paramètres propres à lui seul
Ses options d'affichage (wireframe, shaded,...) ici un "override" (c'est à dire "court-circuitée") par les propriétés du viewport, elles n'ont donc aucun effet sauf si on supprime cet "override")
Geometry approximation, qui permet de régler tout ce qui concerne sa géométrie interne (les subdivisions, le lissage, le displacement et, pour les nurbs, la gestion de la surface)
son material (ici celui de la scène, un phong gris)
Tous ces paramètres sont survolés dans les tutoriels de base, mais nous y reviendrons par la suite. Pour rappel nous voulions modifier le "bevel" de départ. Ouvrons donc la partie "polymesh mesh" (en cliquant le "+") qui contient l'historique du cube :  Les opérations les plus récentes, contrairement à Photoshop, sont en haut de la liste. Nous voyons donc chaque opération opérée sur le cube depuis sa création. Chaque modification est conservée. Aussi bien le bevel qu'un simple déplacement de point. Ces derniers sont repris dans "move component", et correspondent ici aux déplacement des points lors des extrusions. Pour plus de lisibilité, si plusieurs mouvements ont été faits les uns à la suite des autres, ils sont groupés et leur nombre indiqué entre crochets (ici, [ 2 ], le premier correspond à un scale, le 2ème à une translation.). Notez que le dernier "move component" a également un [2] mais sans espaces cette fois. C'est en effet le 2ème "move component", mais il ne contient qu'une opération. Sans espace, c'est le numéro de l'opération, avec espaces, c'est le nombre d'opérations qu'il contient. C'est pourquoi le "Extrude Op" a un [1] (le premier étant [0] mais n'est pas affiché. Vous pouvez ici déduire que j'ai fait un move sur des points puis je l'ai annulé, car il n'y a pas de move component[1] (celui-ci a existé mais a été supprimé par un undo, toutefois XSI en tient compte dans sa numérotation). Bref, tout ceci est plus de la nomenclature, finalement pas très importante mais qui vous permettra de vous y retrouver facilement dans l'historique plus tard. Double-cliquons sur l'opération qui nous intéresse, le "Bevel Op". En double cliquant, sa page de propriété (ou ppg) apparaît de nouveau comme à sa création ! Si nous faisons bouger le slider, on se rend compte que le bevel est actualisé sans problèmes ! ![]() Remarquez également que l'extrusion, qui dépend évidemment de la taille du polygone, lui-même dépendant du résultat du bevel, est actualisée. En effet, l'objet est reconstruit en temps réel en suivant l'historique de bas en haut. Supprimons le bevel (touche delete en sélectionnant "Bevel Op" dans l'explorer")  Et voilà l'objet reconstruit sans son bevel d'origine ! Que faut-il retenir ? Que quoi que vous fassiez dans XSI, tout est réversible. si vous cliquez sur "geometry", c'est la page de création du cube qui apparaît, et vous pouvez alors modifier sa taille sans problèmes. Vous pourriez très bien modéliser un objet complet, puis à la fin modifier la taille de la primitive (ce qui peut donner des formes assez "marrantes"), ou supprimer une opération qui pose problème. Cette capacité de pouvoir modifier l'objet dans l'espace et le temps est ce qu'on appelle la "non-linéarité". Sous 3dsmax, cela reviendrait à rajouter un "edit mesh" dans la liste des modificateurs à chaque fois que vous bougez quelque chose (notez que si vous faisiez ça, vous vous retrouverez vite avec une occupation mémoire énorme et sûrement un plantage si vous en supprimiez un, max n'étant pas conçu pour ce genre de choses). Il est évident que tout ceci prend quand même de la place en mémoire (imaginez la pile après une journée de travail et ce, sur 10 objets). Au bout d'un moment, il se peut que vous trouviez que XSI ralentisse. Dans ce cas, vous pouvez "freezer" l'objet. C'est à dire écraser l'historique, et XSI considérera l'état actuel comme une primitive. Pour ce faire, cliquez simplement sur "Freeze".  Le bouton "Immed" (pour Immediat) sert à freezer l'objet après chaque opération (c'est à dire bosser sans historique). Ce n'est cependant pas conseillé pour plusieurs raisons : Tout d'abord vous perdez énormement de contrôle lors de la modélisation (impossible de revenir en arrière à part en faisant un Undo, qui est beaucoup plus limité), ensuite parce que certains outils nécessitent un appel à l'historique (notamment les lattices, et le "extrude by spline") pour fonctionner. Il est beaucoup plus sûr de freezer de temps en temps l'objet (après une sauvegarde par exemple, ce qui vous permet de revenir à une version avec historique en cas de problème) Il se peut aussi que vous ne vouliez pas freezer entièrement l'objet. Ouvrez pour cela un explorer, affichez l'historique, et faites un clic droit sur l'opération à partir de la laquelle XSI doit freezer.  Tout ce qui se trouve en-dessous de cet opérateur sera freezé. Le "Disabled From here" est également une fonction puissante de l'historique (vous permettant entre autre de skinner un perso en cours de modélisation), mais nous y reviendrons plus tard. Ce n'est pas grave à ce stade si vous n'avez pas compris tout ce qui vient d'être dit. Le principal étant d'avoir compris le principe d'historique non-linéaire et le "freeze". Je reviendrai expliquer plus en détail le reste par la suite. |