Dernière mise à jour : 22/06/2017 à 15h37

Current Project : ...

Index des tutoriaux

MyLevel


Il y a un moment dans la vie de tout mapper, où les ressources par défaut d'un jeu vidéo font défaut. Pour les mappers sous UnrealEd, cela est particulièrement flagrant : au bout d'un moment, les textures, les sons, les musiques, les Static-Meshes du jeu ne suffisent plus. On finit par avoir besoin soit d'en créer de nouveaux, soit d'en importer depuis l'extérieur (d'un autre jeu, ou plus généralement, une création personnelle). Dans ce cas-là, il faut importer les ressources dans un nouveau package.

Le MyLevel

MyLevel signifie littéralement en français, "Mon Niveau". C'est assez explicite de son emploi. Le MyLevel deviendra très vite un élément capital de tout vos maps.

Lorsque vous créez un package de Static Mesh, par exemple, il est créé sur le disque dur, et apparait dans le répertoire correspondant de votre dossier UT2004.
Si vous souhaitez diffuser votre map, il faudra que vous mettiez dans le fichier .zip qui contient la map, tout les packages ainsi créé dont un élément est utilisé dans la map. Sinon, ceux qui ne disposent pas de tous les packages auront des Textures/Static-Meshes/Sons/etc. manquant. Il manquera donc des bouts de votre map.

Pour éviter de livrer au public des morceaux de maps ou des fichiers .zip rempli de nouveaux packages dans lesquels les joueurs vont se perdre (et vous aussi), le jeu intègre un fichier spécial : le Package fantôme MyLevel.

Il s'agit d'un package théorique qui n'est pas créé. Il est intégré directement dans votre map, il s'agit en fait des poches de votre fichier .ut2.

Imaginons par exemple que je créé douze maps utilisant toute les mêmes Static-Meshes que j'aurais créé moi-même (grâce à un tutorial de Projet-3D par exemple) dans Maya et 3DS Max, et tous regroupé dans un même package. Je pourrais diffuser toutes ces maps d'un coup, et faire télécharger une bonne fois pour tout le package de Static Mesh que j'ai créé pour l'occasion.

Mais si je dispose d'une seule map utilisant de nouveaux Static Mesh dont je sais d'avance que je ne les utiliserais pas ailleurs, ou en tout cas à très petite échelle dans très peu de map. Dois-je faire télécharger un package extérieur complet ?

Non

Il suffit de placer ces Static-Meshes dans le package MyLevel qui est intégré à la map, et de diffuser uniquement le fichier.ut2 compressé en .zip.

Prenons par exemple, une map comme DOM-Core. Celle-ci use et abuse des Static Mesh du Package Shiptech Hardware. Mais les Static Mesh de ce package sont utilisé par d'autre maps : DM-TrainingDay, BR-Disclosure etc.
Comme toute ces maps utilisent le même package, il vaut la peine de créer ce package séparément, au lieu d'intégrer ces objets dans les MyLevel de chaque maps.

À l'inverse, la tour géante d'ONS-Torlan n'est utilisée QUE dans ONS-Torlan. Il est donc totalement inutile de la mettre dans un package à part. Il est donc plus intelligent de la mettre dans le Package MyLevel.

Comment s'y prendre ?

Rien de plus simple : importez vos fichiers normalement. Dans la fenêtre d'import, spécifiez le package "MyLevel" (sans les guillemets, les majuscules ne sont pas importantes). Le groupe et le nom ne sont pas importants, vous pouvez mettre ce qu'il vous faut. Il y a ensuite quelques précautions à avoir :

- Tout d'abord, à chaque fois que vous ouvrez votre map dans l'éditeur, le jeu va vérifier si les objets sauvegardés dans le MyLevel sont présent dans la map. Ceux qui sont sauvegardés mais pas utilisé sont supprimés du package et donc détruit. Ainsi, si vous importez un Static-Meshes, que vous le sauvegardez dans MyLevel mais que vous ne l'utilisez pas, que vous sauvez la map, quittez UnrealEd, eh bien le Static Mesh ne sera plus dans MyLevel à la prochaine ouverture. Vous devez donc toujours utilisez les objets dans le MyLevel, qu'il s'agisse de textures, de sons, de Static-Mesh etc.

- De plus, la création du MyLevel est quelque chose de spécial : il est tentant de créer un nouveau package et de le nommer "MyLevel" : ne faites JAMAIS cela : vous ne devez pas créer un package vide et y mettre les objets que vous voulez, vous devez créer les objets et les importer directement dans MyLevel. Si vous ne faites pas ça, toute les maps qui possèdent un package MyLevel intégré iront chercher leurs ressources dans le package que vous avez créé et cela fera systématiquement tout rater/planter/sauter.

- Enfin, à la fermeture d'UnrealEd, l'éditeur vous demandera presque systématiquement de sauvegarder des packages, et pas forcément le MyLevel. REFUSEZ TOUJOURS, ou vous aurez les mêmes problèmes que ci-dessus.

2005-2016, by Hellkeeper.

Valid XHTML 1.1 CSS 2.1