• Exporter des backgrounds de Pillars of Eternity

    dernière modification : 29 août 2017

     

    J'indique ici une manière de procéder pour extraire les "toiles de fond" (backgrounds) de Pillars of Eternity et les réassembler afin de disposer de fond d'écrans en pleine résolution.

    Exporter des backgrounds de Pillars of Eternity

     

    La partie graphique du jeu ayant été travaillée sous Unity un certain nombre de programmes sont nécessaires pour extraire le contenu des archives et les convertir en formats d'images standards (.dds, .jpg, etc.) :

    - AssetsBundleExtractor, [version 1.8 - Auteur : DerPopo, un grand merci à lui !] pour convertir un fichier assetbundle en .assets
    UnityAssetsExplorer, [version 1.5 - Auteurs: AlphaTwentyThree, Haoose, OLEGator84,  merci à eux aussi] pour extraire le contenu d'un fichier .assets, et convertir les images .tex en .dds
    - un logiciel comme Xniew ou SageThumbs pour convertir rapidement les .dds en .jpg
    - un logiciel d'édition d'image comme Photoshop pour réassembler le tout.

    Extraction des fichiers  .assetbundle / .assets

    Les backgrounds des maps se trouvent dans des fichiers .assetbundles.
    Emplacement :
    [répertoire du jeu]\PillarsOfEternity_Data\assetbundles

    Leur dénomination, par exemple st_ar_0707_raedrics_hold_ext.assetbundle est assez explicite  et rappelle les AR6000, AR7000 des maps de l'Infinity Engine (la limite des 8 caractères en moins) : un chiffre qui correspond au n° de la map et un nom pour s'y retrouver rapidement.
    Les maps sont classées par zones, les extérieurs en premiers, suivis des différents intérieurs qu'ils contiennent.
    Les autres archives .asset contiennent plein de choses (icones, images des objets d'inventaire, illustrations...) mais pas de background de maps. Seules les archives dont le nom commence par st_ar_xxxx en contiennent.


    1. conversion d'un fichier .assetbundle en .assets avec AssetsBundleExtractor

    Avec AssetsBundleExtractor, convertir un fichier .assetbundle en .assets.
    Pour éviter les confusions, le plus simple est avant tout de copier le fichier .assetbundle, que l'on souhaite convertir pour en extraire le contenu, dans un répertoire temporaire.
    -> lancer AssetBundleExtractor
    -> File -> open -> sélectionner un fichier .assetbundle
    -> cocher "Remove the TypeTree" (autrement on se ramassera plus tard un plantage sous  UnityAssetsExplorer)

    Exporter des backgrounds de Pillars of Eternity


    -> Export (ajouter l'extension .assets au nom du fichier, car le programme oublie de la mettre)

    2. extraction du contenu d'un fichier .assets avec Unity Assets EXplorer

    Il va s'agir ensuite d'aller extraire et convertir les fichiers .TEX contenus dans ces archives, en ayant recours à Unity Assets Explorer (ce programme permet en outre de récupérer tous types de contenus se trouvant dans les archives .assets, mais seuls les fichiers .TEX nous intéressent ici)
    À l'emplacement où se trouve l'archive que l'on va extraire, le programme va créer automatiquement un sous-dossier du même nom que ce fichier pour y copier son contenu.
    Il peut être plus facile de copier UnityAssetsExplorer.exe dans le répertoire temporaire où l'on a récupéré le fichier .assets pour qu'il y crée le dossier d'extraction.
    -> lancer UnityAssetsExplorer.exe
    -> Open Assets-file (sélectionner le fichier .assets)
    -> Décocher l'option "Fix Import (test)" qui semble bien à l'état de test et empêche de convertir ensuite les .dds en jpg !

    Exporter des backgrounds de Pillars of Eternity

    -> Extract All

     
    -> les fichiers .tex sont d'office convertis en .DDS

    Conversion des fichiers / ré-assemblage en .jpg

    Dans Pillars of Eternity, les maps fonctionnent à la manière des fichiers .tis de l'Infinity Engine, par pièces de 1024x1024 (et non plus 64x64 !). Multipliées par le nombre de lignes et de colonnes, cela donne des fichiers assez volumineux :  570 Mo en .PSD pour une map de 12 200 x 8700. D'où la quasi nécessité de la ré-enregistrer en .JPG avec une légère compression (aucune perte constatée du fait de l'importance de la résolution avec une qualité de 8 par ex.) pour obtenir un fichier d'une dizaine de Mo.


    Le moteur du jeu utilise, en plus des images composant le background, des images qui servent à ajouter des effets d'éclairage ou de volume. Ces fichiers ne nous sont pas vraiment utiles dans le cas présent.
    De fait, dans le nouveau répertoire que vient de créer Unity Assets Explorer, on se retrouve avec un grand nombre de fichiers.

    - des fichiers .DDS préfixés :

    BKG_AR_xxxx_xxxx.dds -> fichier du background, qui nous intéressent, sur lesquels seront ajoutés dans le jeu des éléments comme l'eau, les objets ramassables, des animations...

    HGT_AR_xxxx_xxxx.dds -> fichiers en différents niveaux de gris, qui semblent être utilisés pour noter les hauteurs (height).

    AS_AR_xxxx_xxxx.dds -> (rôle non compris pour l'instant : fichiers à l'échelle 1/2, dénués d'ombres, servant à renforcer/modifier la luminosité ambiante et fonctionnant de pair avec les fichiers NM_AR_xxx ?)

    NM_AR_xxxx_xxxx.dds -> fichiers à l'échelle 1/2, très certainement des fichiers de NorMales (ressemblent beaucoup à des fichiers bump) qui servent sûrement à ajouter des effets de volume.
    Ces deux types de fichiers étant à l'échelle 1/2, ils doivent à priori servir à ajouter des informations visuelles à l'image, un peu à la manière des fichiers bump ou d'occlusion dont on se sert pour les rendus 3d.

    - des fichiers .TEX

    Ce sont tous les fichiers originaux qu'Unity Assets Explorer a d'abord extraits
    -> les supprimer car ils ne nous seront plus d'aucune utilité.

    Seuls les fichiers au format .dds, préfixés BKG_AR_xxxx_xxxx.dds nous intéressent.

    -> copiers/déplacer les fichiers BKG_AR_xxxx_xxxx.dds  vers un nouvel emplacement, ou supprimer tous les autres pour y voir plus clair !

     


    3.conversion des fichiers .dds en .jpg

    Après avoir récupéré tous les fichiers BKG_AR_xxxx_xxxxxx.dds, on va les passer .jpg pour les travailler plus rapidement, même si leur taille double quasiment.
    J'utilise le programme SageThumb, qui permet, dans l'explorateur, de convertir une sélection de fichiers en .jpg : très rapide et très efficace, mais il existe très certainement d'autres manières de faire en passant par Photoshop (à condition d'avoir installé un plugin pour prendre en charge le .dds) ou autre.

     

    4.Application d'une symétrie verticale

    Le seul inconvénient est que les images sont pour l'instant inversées verticalement et horizontalement (effet de miroir)...ce qui n'est pas très pratique pour les ré-assembler et les regarder. Il faudra donc appliquer une symétrie verticale (et non pas une rotation de 180° qui conserverait l'inversion horizontale).
    Le plus simple est de créer une petite action-script sous Photoshop

    Exporter des backgrounds de Pillars of Eternity

    télécharger action script (fichier .atn)

    puis de faire un Traitement par lots sur toutes les images que nous avons récupérées, en indiquant le dossier dans le lequel elles se trouvent (F:\Tempo\Rotate dans l'exemple ci-dessous) :
    -> Automatisation -> Traitement par lots -> choisir l'action script et indiquer le dossier à traiter :

    Exporter des backgrounds de Pillars of Eternity

    5.Réassemblage des fichiers

    La dénomination des fichiers nous renseigne sur la taille finale de l'image :
    Le dernier fichier de la liste nous donne le nombre de lignes (R000y) et de colonnes (C000x) de l'image. Comme la numérotation commence à 0, il faut simplement penser à ajouter 1.
    Par ex.
    BKG_AR_0707_Raedrics_Hold_Ext-R007_C009.jpg = 8y et 10x
    Si chaque pièce d'image fait 1024x1024, on aura donc 10*1024 x 8*1024 = 10240 x 8192

    On va donc créer un nouveau fichier de 10240x8192

    Exporter des backgrounds de Pillars of Eternity

    Pour aligner parfaitement chaque élément, le mieux est d'utiliser une grille de 512 -> Préférences :

    Exporter des backgrounds de Pillars of Eternity

    ...conjointement avec le Magnétisme
    Affichage :

    Exporter des backgrounds de Pillars of Eternity

     

     Il ne reste plus qu'à assembler les différentes pièces du puzzle en faisant un glisser/déplacer de chaque fichier, en se basant encore une fois sur leur dénomination.
    En reprenant l'exemple ci-dessus :

    BKG_AR_0707_Raedrics_Hold_Ext-R000 _C000 .jpg
    BKG_AR_0707_Raedrics_Hold_Ext-R000 _C001 .jpg
    ...
    BKG_AR_0707_Raedrics_Hold_Ext-R000 _C009 .jpg
    pour la première ligne

    BKG_AR_0707_Raedrics_Hold_Ext-R001 _C000 .jpg
    BKG_AR_0707_Raedrics_Hold_Ext-R001 _C001 .jpg
    ...
    BKG_AR_0707_Raedrics_Hold_Ext-R001 _C009 .jpg
    pour la seconde ligne


    etc.

     

    On se retrouve au final avec un bon nombre de calques et un fichier d'une taille qui peut être assez conséquente quand il s'agit d'un extérieur de grandes dimensions.
    Après avoir vérifié que chaque fichier est bien positionné, il suffit de fusionner tous les calques et d'enregistrer le fichier en .JPG (inutile de conserver le plus faible taux de compression, une qualité de 8 permet de réduire considérablement la taille du fichier, sans perte apparente)

     

    Exporter des backgrounds de Pillars of Eternity
    Comme on peut le voir par son absence, l'eau est ajoutée dans le jeu par le moteur, ce qui permet entre autres de l'animer.

     

    « Exporter un rendu 3d avec 3ds Max & V-RayHistoire de Valombre »

    Tags Tags : , , , , , , , , , , , ,
  • Commentaires

    Aucun commentaire pour le moment



    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :