Généralités sur l'édition avec UnrealEd

# Un mot sur les mots

Après avoir comme tout le monde jargonné pour apprendre, il m'a paru plus confortable de traduire. Une brush, ça pourrait être une brosse, qui m'évoque plus le cirage qu'autre chose. Bon, il y a des pinceaux qu'on appelle brosses, mais ce qui convient mieux à mon avis à ces silhouettes géométriques qui construisent l'univers virtuel, c'est le mot 'forme'. Donc, une brush, c'est une forme. La builder brush, c'est la forme mère qui engendre des formes filles, qui est la seule forme active, d'où son nom 'forme active'. Elle est un moule, une matrice. Je laisserai en général le mot anglais entre parenthèses ou guillemets.

Par contre, les mots qui correspondent à un item du programme de l'éditeur ne sont pas traduisibles. 'bMovable' reste comme il est..

Abréviations : BD = Clic avec le bouton droit. BG = avec le gauche, c'est sûr. F3d = fenêtre de visualisation en trois dimensions. F2d = fenêtre de visualisation en deux dimensions.

# Editer en quelques mots

Il faut considérer l'univers primordial d'Unreal comme une étendue infinie, non pas de vide, mais de matière solide. Cette matière, on pourra y creuser le monde que l'on va créer. Dans ce monde, il sera possible ensuite de rajouter de la matière de façon à modeler le produit final qui constitue un niveau. Cette idée d'univers plein au lieu d'univers vide permet de réaliser une économie de ressources en rendant inutile la construction d'une limite périphérique.

Un seul outil permet de faire ce travail d'excavation et de modelage : la forme active. Elle apparaît dans les fenêtres de l'éditeur comme un contour rouge. Dans les fenêtres 2D ce sera par défaut un carré, et dans la fenêtre 3D, un cube en représentation fil de fer.

Cette forme primitive est une sorte de moule dont sortiront des formes filles qui sont comme les trous ou les briques du monde à construire. Initialement cubique, elle peut prendre en fait toutes le forme possibles, et ce de plusieurs façons :
- A partir des formes élémentaires figurées dans les boutons dans la partie gauche de l'éditeur. Il s'agit du cube, de la sphère, du cône pour les formes en 3D, ou de la feuille en 2D. Il s'agit aussi de certaines formes élaborées de base, qui sont les escaliers droit ou courbes. Le clic droit donne accès aux propriétés qui déterminent la taille de la forme, et certains attributs.
- A partir de formes complexes qu'on aura élaborées par combinaison des précédentes, et qu'on aura assemblées en une seule par intersection comme nous le verrons.
- A partir d'une bibliothèque de formes sauvegardées à partir des précédentes, récupérées dans d'autres niveaux ou téléchargées.

Une fois qu'un aspect est choisi, on peut créer autant de formes qu'on veut de ce type en plaçant la forme active en s'aidant des différentes vues. Il faut tenir la touche CTRL enfoncée et le bouton gauche déplace la forme tandis que le bouton droit la fait pivoter.

Une fois qu'elle est placée, on peut en ajuster les dimensions, soit directement dans la fenêtre de propriétés, soit de façon intuitive en utilisant les boutons de redimensionnement. Il faut préciser qu'en ce cas, l'éditeur souffre d'une lacune. La forme ne sera pas correctement réinitialisée après sa déformation, et si l'on croit la redéfinir en donnant des valeurs dans la fenêtre de propriétés, le résultat est en fait modifié par le taux de déformation précédent. Ceci a d'autres implications que nous verrons. Il est donc hélas conseillé de recourir à un procédé un peu fastidieux qui consiste à réinitialiser la forme active dans le menu (..) chaque fois que l'on voudra en préciser les dimensions de façon absolue.

Enfin ce sont les boutons ADD ou SUBSTRACT qui permettent d'ajouter la matière ou de la retirer.

Une notion ici capitale est celle d'intersection/désintersection. Si l'on retire ou que l'on ajoute de la matière dans des zones construites, il est déconseillé de le faire en laissant des formes se recouvrir. Au mieux ce sera inutile, au pire à partir d'une certaine complexité apparaîtront des erreurs lors du calcul des BSP qui se traduiront par des trous bleus dans le monde, et des phénomènes semblables au fameux HOM de Doom.

L'intersection de deux formes est constituée de la partie commune aux deux formes (celle de la forme active et celle d'une forme fille déjà placée). Elle permet de définir une nouvelle forme active qui permettra d'excaver uniquement en zone solide.

La désintersection de deux formes sélectionne seulement l'espace non commun de forme active. Elle permet d'ajouter de la matière seulement dans l'espace vide.

Les deux opérations peuvent aussi servir à retailler la forme active pour façonner une forme précise différente des formes de base.

L'intersection est également très utile pour définir une forme élaborée dont les dimensions ne soient pas entachées d'erreur comme on l'a vu lors des processus de redimensionnement. Elle est obtenue en intersectant la forme complexe dans une forme cubique qui l'englobe, et dont les dimensions auront été définies de manière absolue dans la fenêtre de propriétés après réinitialisation. C'est notamment le cas lorsqu'on veut créer un mobile qui ait un comportement réaliste dans le jeu.

Il arrive aussi qu'après avoir redimensionné en mode " quantique " une forme, on ne puisse plus en opérer la rotation sans qu'une déformation indésirable apparaisse. Il faut alors revenir en arrière (Undo), cliquer avec le bouton droit sur la forme active, et choisir " Transform/permanently ", ce qui rétablit la possibilité d'une rotation qui conserve les dimensions de la forme. Parfois après de multiples manipulations, il n'y a d'autre solution que de réinitialiser la forme.

Par défaut, les parois excavées ou ajoutées seront texturées avec une image gris-bleu ornée de bulles. Choix de texture.

Tout étant ainsi bien mis en place, le moment est venu de recompiler le niveau. Le gros avantage de l'éditeur est la rapidité du processus. Un gros niveau de plus de 10 000 polygones sera recompilé en quelques minutes. Au stade du début où nous sommes, ce sera l'affaire de quelques secondes. Il n'est pas nécessaire d'y recourir à chaque opération, mais au moins chaque fois que l'on achève un secteur, et chaque fois qu'on modifie un secteur déjà construit. Cette phase accomplie, le résultat de ce qu'on a fait est traduit dans les 4 fenêtres et peut être vérifié.

On peut retoucher ce qu'on a fait, soit en utilisant la touche UNDO si on n'a pas encore recompilé, soit en effaçant ou en redimensionnant les formes filles. Toujours faire ensuite une recompilation.

A ce stade, si la fenêtre 3D est mode " dynamic lighting ", tout est noir. C'est normal. Au début, par défaut, l'éclairage du niveau est uniforme. La recompilation l'établit à 0 si on n'a rien précisé sur l'éclairage.

Le monde est donc constitué de formes, mais il est peuplé d'une grande diversité d'acteurs qui vont définir l'éclairage, les évènements, et les partenaires du jeu.

Il y a deux façons de considérer la chose :
- On peut placer dans la zone où l'on travaille un attribut " ZoneInfo " dont on modifiera la propriété " ZoneLight " en lui donnant une valeur supérieure à 0. 255 correspond à un grand jour sans relief.
- On peut placer en cliquant avec le bouton droit dans la fenêtre 3D une icône correspondant à une source lumineuse. Par défaut elle aura des valeurs moyennes de lumière blanche et éclairera son voisinage en projetant des ombres au-delà des objets proches.
- On peut combiner les deux opérations en associant par exemple une faible luminosité de fond à des sources qui vont sculpter les reliefs.

Après quoi il convient de placer un point de départ où le joueur sera posé au début de la partie, faute de quoi le niveau ne fonctionnera pas.

On peut recompiler et tester le niveau. Bon, ça n'a rien de spectaculaire mais on entend distinctement le son des premiers pas.