GECK : 12 - Paysages distants - Faire le LOD de votre Worldspace

De Wiwiki
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


Page Précédente :: Page Principale :: Page Suivante


Préparatifs

Lorsque vous jouez à votre mod, vous pouvez voir que la distance de vision est limitée. Seul un cercle de 5 cellules autour du joueur est affiché. Afficher tout le worldspace avec le niveau de détails normal consommerait bien trop de ressources. Pour pallier à ce clipping, le moteur du jeu peut afficher une version simlifiée du relief, des textures et des objets les plus importants (dits distants). Pour cela, il faut au préalable que le moddeur génère la version LOD de son worldspace. Chaque worldspace est divisé en Chunks, et la génération du LOD se fait en trois passes :

- Génération des meshes du terrain: Selon le découpage en Chunks, le Geck génère des meshes simplifiés de la heightmap du worldspace. Cette génération prend énormément de temps, en fonction du nombre de chunks, de 6 heures à plusieurs jours ! Cette opération demande beaucoup de mémoire ram, et il est possible que le Geck plante à cause de cela. Cependant, pas de panique, la progression est enregistrée, et le Geck reprendra là où il en était, avec une pénalité d'au moins une heure... Les meshes sont stockés dans le répertoire ...\Data\Meshes\Landscape\LOD\"Nom de votre Worldspace".

- Génération des textures du terrain : Crée les textures et les normal maps (couche qui donne une illusion de réliefs supplémentaires sur la texture) du Worldspace. Si vous ne faites pas cette opération, votre LOD n'aura pas de textures. Cette opération ne prend que quelques minutes !


Important : Pour générer le LOD, il est conseillé de travailler à partir d'un fichier master .esm de votre mod. Pour cela, téléchargez et installez Fallout Mod manager (FOMM), puis démarrez-le.

- Cliquez sur le bouton Plugin Editor à droite? Dans la fenêtre Tesnip, cliquez sur File puis Open. Cherchez et selectionnez l'esp de votre mod dans le dossier Data de Fallout3.

- Cliquez sur votre mod à gauche de la fenêtre, puis cliquez sur le menu Spells, puis sur Make esm. Dans la fenêtre qui demande le chemin du fichier, comme type, selectionnez Master, puis mettez le nom de votre mod. Validez.

Vous avez maintenant un esp de votre mod dans le dossier Data, et aussi un fichier master .esm beaucoup plus gros.


D'autre part, comme la génération sera interrompue sans arrêt par des messages d'erreur intempestifs et pas justifiés les 3/4 du temps, vous pouvez exceptionnellement désactiver les messages d'erreur dans le Geck. Pour cela, Allez dans Mes Documents\My Games\Fallout3, et trouvez le fichier GeckCustom.ini. Ouvrez le et cherchez tout en bas la ligne "bBlockMessageBoxes=0" : remplacez la valeur par 1.


Allez dans le Geck, et chargez Fallout3.esm et NomdevotreMod.esm. N'activez aucun fichier, car la génération se contente de générer les fichiers Nifs que vous ajouterez comme ressources dans le dossier Data/meshes/landscape/lod/Nomdevotreworldspace.


Générer les Meshes LOD :

Selectionnez votre Worldspace, ajustez le niveau de détail, et cliquez sur Generate Terrain Meshes.

Cette opération prenant au bas mot plusieurs heures (48 heures environ pour ce mod -326 chunks, avec un Athlon64 3500+), soyez sûr que tout est ok, et désactivez le plus possible de programmes inutiles. Il est conseillé d'avoir au moins 2go de mémoire vive.

- Cliquez sur le menu World du geck, puis sur World LOD.

- Selectionnez votre worldspace dans la liste de gauche, et regardez au passage les données le concernant, entre autres le nombre de chunks à générer. Cela vous donnera un ordre de grandeur pour le temps de génération des meshes.

- Réglez le niveau de détail : je l'ai laissé à 1, vu le temps que prend l'opération, je n'ose pas imaginer le temps que prend une génération détaillée !

- Cliquez sur generate terrain meshes.

_ Attendez quelques heures : la progression en chunks est donnée au fur et à mesure. Ne vous inquiétez pas si la progression ne bouge pas pendant longtemps. Quelquefois, c'est juste l'affichage qui se bloque, alors que les meshes continuent d'être générés. Une fois terminé, le geck affiche un message Done. ouf ! Pas la peine de sauvegarder dans le Geck, les fichiers sont en dehors de votre plugin.

- Regardez dans le dossier Data\meshes\landscape\lod\nomdevotreworldspace que les meshes sont bien là. Sauvegardez ce dossier en respectant l'arborescence à l'endroit où vous faites les sauvegardes de secours de votre mod (clé usb,...).



En jeu, le LOD apparait en rose au delà des paysages proches..

Pour tester votre LOD, lancez une partie avec la version .esm de votre mod. Allez dans votre worldspace. Normalement, vous devez avoir les paysages distants en blanc ou en rose, au delà des paysages proches, comme sur l'image.

Fallout New Vegas : La génération des meshes du LOD prend beaucoup moins de temps sous Fallout New Vegas, une à deux heures pour un monde de taille modeste, voire moins !

Générer les textures LOD :

Le LOD a maintenant les bonnes textures distantes.

- décompressez les textures de Fallout3 (Fallout-textures.bsa)si ce n'est pas déjà fait avec FO3Edit. Vous devez les retrouver dans le dossier Data de Fallout3.

- Ouvrez le Geck et chargez la version .esm de votre mod.

- Cliquez sur le menu World, puis sur World LOD.

- Selectionnez votre worldspace dans la liste de gauche.

- Cliquez sur generate terrain textures. L'opération ne prend que quelques minutes (A peine 5mn pour mon mod).

Ces textures sont stockées en dehors du dossier d'installation de Fallout3, dans le dossier Bethesda Softworks\Source\Textures TGA\landscape\LOD\"Nom de votre Worldspace". Vous devrez copier le dossier "Nom de votre Worldspace" dans \Data\Textures\Landscape\LOD\, et renommer le dossier "DiffuseGenerated" en "Diffuse" pour que le jeu utilise les nouvelles textures.

Sauvegardez ces textures dans votre dossier de secours, de la même manière que les meshe sen reproduisant l'arborescence du dossier Data de Fallout3.


Comme tout à l'heure, allez tester la version .esm de votre mod dans Fallout3. Maintenant le paysage distant doit apparaitre avec les bonnes textures.


Générer les Objets Distants : LOD Objects

Cette opération est la plus rébarbative. Certains objets, rochers, batiments,etc... ont des versions distantes (LOD). Pour les repérer, ils ont l'option "Visible when distant" cochée dans leurs propriétés. En effet, pour générer les versions LOD de ces objets, il faut à la fois les meshes et les textures de ces objets. Or pour les textures, le geck a besoin de textures en TGA alors que les textures en archive du jeu sont en .dds. Il faut donc repérer quelles textures sont utilisées par les objets LOD de votre mod, et les convertir en TGA. C'est alors seulement que vous pourrez lancer la génération d'objets.

Cherchez les objets distants et editez les

- Si ce n'est pas déjà fait, décompressez les meshes (Fallout-meshes.bsa) et textures de Fallout3 (Fallout-textures.bsa) dans le dossier Data de Fallout3, avec FO3Edit par exemple.

- Dans le dossier Bethesda Softworks (où est installé Fallout3), créez un dossier Source\Textures TGA. Comme objets distants, on trouve principalement des batiments, de rochers et des arbres. Créez un dossier Architecture, un dossier Landscape dans Textures TGA.

- Ouvrez le Geck et chargez votre mod. - Selectionnez le menu World , puis World LOD. la fenêtre de génération du LOD apparaît, avec la liste des Worldspaces disponibles et des boutons servant à générer les meshes distants, textures distantes et objets et arbres distants. Selectionnez votre Worldspace dans la liste, puis cliquez sur Generate Objects. Le Geck va essayer de générer les objets distants correspondant à ceux qui sont cochés Visible when distant dans leurs propriétés. Vous devriez avoir un message d'erreur One or more blocks failed to build : il manque, par exemple la texture distante /source/texture TGA/Architecture/Strip/NV_TheTops-Signlod.tga et la texture distante /source/texture TGA/Architecture/Strip/NV_TheTops-Signlod-n.tga

Que faire ??? Donner au geck ce qu'il cherche : - créez les dossiers Architecture, Strip dans le dossier Texture TGA que vous avez du créer précédemment. - Cherchez maintenant la texture originale dans Data/Texture/architecture/strip : problème, elle est au format .dds. A l'aide d'un logiciel de retouche gérant les formats .dds et .tga, comme Irfanview, ouvrez la texture originale Data/texture//Architecture/Strip/NV_TheTops-Signlod.dds. Selectionnez en suite Save As, et mettez le format .TGA, et cherchez le chemin d'installation /source/texture TGA/Architecture/Strip/ Validez pour convertir la texture en TGA. Faites de même pour la texture normale (finissant par lod-n), NV_TheTops-Signlod-n.dds. - Sous Geck, recommencez la génération d'objets : si tout va bien, un bloc correspondant a été créé, et un message d'erreur concernant les prochaines textures manquantes apparait. Faites de même pour ces textures lod et lod-n, et ainsi de suite jusqu'à ce que tous les blocks d'objets distants aient été générés.

Cela prend du temps, et demande de la méthode, car les fichiers .TGA doivent être mis dans le dossier texture TGA suivant l'arborescence demandée par me message d'erreur. Mais pour résumer : essayez de générer, puis convertissez les textures demandées par le message d'erreur.


Copiez les textures avec lod et lod-n.
Le dossier Textures TGA avec les deux formats de textures. Déplacez ensuite les TGA dans les dossiers adéquats.

- En reportant le chemin du meshe à celui de la texture, allez dans Data\textures\landscape\ et regardez celles qui finissent par lod. Copiez toutes celles qui finissent par lod dans le dossier Bethesda Softworks\Source\textures TGA.


- Avec un logiciel de retouche d'image (photoshop, paintshoppro, ou paint.net), ouvrez chacune des images, et enregistrez la en TGA au même endroit. Les textures enregistrées couvriront les rochers.

- Cliquez sur une des maisons, et si elle est Visible When Distant, regardez son chemin d'installation de meshe. Cherchez l'équivalent dans Data\Textures\Architecture\Wasteland.

- Copiez toutes les textures finissant par lod et lod_n dans Textures TGA\... en respectant l'arborescence du dossier texture original (par exemple pour rockcanyon.tga, dans Texture TGA\Architecture\... o et convertissez les en TGA.


- Dans le menu World, cliquez sur World LOD.

- Selectionnez votre Worldspace, puis tentez un Generate Objects. Si vous avez bien placé toutes les textures TGA au bon endroit, il fera les objets distants en 2 minutes. S'il vous manque des textures, le Geck vous indiquera quelles textures manquent et à quel endroit elles doivent être. Récupérez les textures manquantes et vérifiez qu'elles sont bien en TGA, puis retentez une génération, et ainsi de suite jusqu'à ce qu'il la mène à bien.

- Par cette opération, le geck a rajouté des dossiers Blocks et Trees dans Data\Meshes\Landscape\lod\Nomdevotreworldspace\, pour les meshes des batiments et des arbres. Sauvegardez ces dossiers aux mêmes endroits dans votre dossier de sauvegarde. La génération a laissé deux dossiers de textures Blocks et Trees dans Bethesda Softworks\Source\Textures TGA\Landscape\Lod\Nomdevotreworldspace. Copiez manuellement ces deux fichiers à l'endroit correspondant dans Data\textures\landscape\lod\nomdevotreworldspace. Copiez-les aussi dans votre dossier de sauvegarde.


Le dossier Source\Texture TGA a la fin de la génération LOD.
Dossier de sauvegarde - voici la structure des ressources du mod : meshes et textures.

Nota : Le dossier LODSettings contient les paramètres du LOD, dans le dossier Data. Copiez le dans le dossier de sauvegarde. Il est nécessaire au fonctionnement du mod !







Le LOD terminé, meshes de terrain distant, textures distantes, et objets distants.

Page Précédente :: Page Principale :: Page Suivante