L'import/export de statics meshs sous l'unreal editor

Écrit le 01/01/2004 par Dams
Dernière mise à jour : 06/04/2006

Introduction

Un static mesh est un 'objet' créé le plus souvent sous des logiciels de 3D professionnels. Ces statics meshs ont une grande vocation d'ordre visuel, et ne sont en rien lié au zoning d'une map. Avec la nouvelle génération de moteur 3D (tel ut2K3), ces statics meshs sont une méthode alternative au traditionnel BSP (voir tutorial sur les bases de la construction d'un level sous ut2K3), qui permettent d'engendrer énormément plus de polygones, d'une manière plus optimisé, en utilisant la précision et les qualités des logiciels de modélisation professionnels (finesses de modélisation, utilisation d'uvw mapping .. etc).

Ces statics meshs sont stockés dans le sous répertoire 'Meshs' d'UnrealTournament2K3, et ont l'extension .u s x. ( s => static mesh)

L'import/export de statics meshs est un point primordial pour ceux qui sont intéressés pour réaliser des maps customs sous ut2K3. Il est en effet possible d'utiliser la bibliothèques de statics meshs fournie par le jeu, mais passer à coté des créations customs, revient à louper pas mal de choses. ;)

A noter qu'avant toute chose, les meshs réalisés sous 3dsmax, maya etc .., doivent impérativement être en poly editable, et pourvu d'une texture de type .bmp ou .tga (pour créer des alpha) dont les dimensions sont en format héxadécimal (2, 4, 8, 16, 32, 64, 128, 256,...), appliqué avec des uvw valides. De plus il est également primordial d'exporter un mesh unique (ou un ensemble de mesh ne faisant qu'une entité unique).

Avant tout import d'un mesh vers l'uted, il est recommandé d'importer la texture assignée à celui ci, afin que lors de l'import final, le mesh retrouve automatiquement sa texture.

L'export de statics meshs via 3DSMAX

L'exportation se fait très facilement. Aller dans Fichier/export, et utiliser le format ASCII .ase.
Une fenêtre s'ouvre alors :

http://www.game-lab.com/images/tuts/unreal_static_meshs/export.jpg

Elle vous permet entre autre de vérifier la fidélité de la conservation des uv, d'exporter un mesh animé ... etc
Pour exporter un mesh static, suiver les cases cochés ci dessus.
Il ne faut pas (entre autre) oublier de cocher la case de conservation des coordonnées de mapping, ainsi que de mettre la précision en décimal à 10. (pour une meilleur retranscription du mapping de l'objet).

L'export de statics meshs via MAYA

Si 3DSMAX peut exporter de manière native, ce n'est pas le cas pour MAYA. En effet, il faudra utiliser les fonctionnalités spécial d'ActorX (plugin d'exportation).

ActorX est disponible ici :

Animation Export Tools

L'export de statics meshs via LIGHTWAVE

Lightwave n'a pas non plus d'exporteur en .ase. Mais l'uted supporte le format .LWO (LightWave Object) qui est le format d'origine du modeleur de LIGHTWAVE comme l'est le .max pour 3DSMAX.

Donc après avoir modeler, fait l'uv ... etc, juste avant d'exporter n'oubliez pas de faire SHIFT+T ce qui revient a tout trianguler, car l'uted supporte seulement les triangles.
Après il vous suffie de faire File>Save Objet ou (SHIT+s) puis d'enregistrer votre model au format LWO (Type: Objet).

Enfin dans l'uted il suffit de récupérer votre mesh au format .lwo.

Petit commentaire sur l'export de meshs animés

Il est également possible d'utiliser des meshs animés avec l'unreal engine. Pour l'exportation, il suffit d'utiliser ActorX disponible ici :
Animation Export Tools

L'import de mesh sous l'unreal editor

Sous l'uted, il suffit de cliquer sur l'icone qui suit :

http://www.game-lab.com/images/tuts/unreal_static_meshs/icone11.jpg

Le browser de static mesh s'ouvre. Faite simplement 'Fichier/importer' et choisissez voter mesh à importer.
Vous pourrez aussi choissir le package de destination en créant un nouveau .usx (plus que recommandé) en renseignant le champ approprié. Il ne faut jamais enregistrer son mesh dans un package du jeu originel, car il pourrait y avoir des conflits de versions de .usx lorsque vous voudrez jouer online. De plus imaginez mettre en ligne un package de 40mo, juste pour votre mesh ...

Anoter qu'il est possible d'enregistrer ce mesh dans un repertoire qui sera mis à l'interieur même du fichier de la map. C'est en fait un package interne. L'intérêt est de limiter le nombre de fichiers nécessaires pour faire tourner la map. En bref, ca simplifie tout, et c'est tant mieux.
Pour enregistrer dans ce package interne (que ce soit un mesh, une texture, ou un son), il suffit d'appeler le nouveau package 'mylevel' (sans les ' bien sur ;)
Si vous utilisez un package externe n'oublier de l'enregistrer via le browser de statics meshs. Si vous utilisez le 'mylevel' (soit un package interne), la seule façon d'enregistrer et de sauver votre map.

Il est aussi recommander d'importer la texture assigné à votre mesh AVANT d'importer votre mesh. Ainsi votre mesh importé, rechopera automatiquement la texture appropriée.
Si le mesh à été importer en 1er, on peut remarquer qu'une texture verte à bulles lui est assigné. C'est la texture par défaut qui indique qu'aucune texture n'a été trouvé pour ce mesh. Pour remettre une texture a ce mesh, il suffit d'aller dans le browser de statics meshs, de cliquer sur le mesh en questionet d'aller dans 'Materials'. Il ne reste plus qu'a cliquer sur 'Use'. (en ayant préalablement sélectionné la texture voulue dans le browser de textures)

Les collisions du mesh pour le Karma Engine

Voir le tutorial sur 'les collisions pour le Karma Engine'.

Création de statics meshs à partir de brushs BSP de l'unreal

Il est en effet possible de créer des statics meshs via l'unreal editor. Mais ce n'est pas ce qu'il y a de mieux a faire ...
Ainsi vous aurez un mesh non optimisé, et sans aucune finesse de modélisation, sans parler des uv ... bref fortement déconseillé.

Pour cela, il suffit de faire un clic-droit sur le brush en BSP et choisir l'option Convert -> To Static Mesh.