Il est possible d'extraire des fichiers 3D en .obj
depuis un objet UnityWeb présent sur un site Web. L'opération grâce à deux outils que sont QuickBMS et Unity Assets Bundle Extrator. Je les ai compilé dans leur version Windows 64-bits dans ce dossier. Pour l'exemple, nous allons prendre le générateur 3D UnityWeb du site du fabricant de luminaires GHM. Si vous êtes intéressés par leur modèles, j'ai téléchargés et compilé l'ensemble des mats d'éclairage GHM et Eclatec (non classés) en fichier OBJ.
Pour commencer, on se rend sur la page qui contient l'élément UnityWeb. Dans l'inspecteur de page Web (F12 sur le navigateur) on cherche à l'onglet Réseau un fichier du type .webgl.data.unityweb
et on le télécharge. Ce fichier est en réalité un fichier compressé, que l'on peut décompresser avec Winrar, tout en gardant la même extension.
Il s'agit maintenant de convertir le fichier .unityweb
décompressé en ficher .unity3d
. Pour cela on utilisera QuickBMS. QuickBMS va tout d'abord demander un script d'extraction, on cherchera le fichier unityweb.bms
fournit dans le dossier plus haut. Puis il va demander un fichier UnityWeb source et l'on pointera vers le fichier que nous venons de décompresser avec Winrar. On obtiendra bien un fichier du type data.unity3d
.
On lance ensuite Unity Assets Bundle Extractor et l'on ouvre ce dernier fichier. On accepte de décompresser (encore) le fichier, que l'on peut renommer data_unpack.unity3d
. Ensuite, le menu déroulant présente la liste des ressources dans le fichier Unity3d. Les modèles 3D sont dans les ressources en .assets
. Séléctionnez en une et cliquez sur « Info », dans l'exemple GHM celui qui nous intéresse est ressources.assets
. Séléctionnez la dernière base de données disponible dans la liste lorsque l'on vous le demande, dans mon cas il s'agit « U2019.2.0f1 ».
La liste des fichiers à extraire s'affiche enfin. On cherche les fichiers de type Mesh. On en sélectionne un ou plusieurs puis fait Plugins > « Export to .obj » pour les exporter en .obj
.