#1 [↑][↓] 10-05-2017 23:22:55

Squirrel
Membre
Lieu : EDMA
Inscription : 25-11-2012
Renommée :   19 

[X-Plane] Conversion de GMax vers Blender - Tuto

Bonjour à tous,

Après avoir réalisé la première partie du portage d'un modèle 3D de FSX à X-Plane, je vous proposer de vous donner la méthode que j'ai suivi. Bien évidemment je n'ai rien inventé et beaucoup de choses ont déjà été dites ici. Je vous propose donc surtout un regroupement d'informations, le tout avec l'objectif spécifique de mettre le modèle dans X-Plane. Ce n'est par ailleurs certainement pas la seule méthode et si vous en connaissez une autre plus facile je suis tout ouïe ! Notez aussi que cette méthode conserve le mesh, le mapping mais engendre la perte des animations et des pivots.
Une dernière chose avant de commencer : l'ensemble des opérations prend du temps, le faire sur plusieurs jours n'est absolument pas un problème (ou semaines voire mois si vous travaillez 5 minutes chaque dimanche).


1. Préparation du modèle dans GMax

Dans X-Plane il n'est possible que d'avoir une unique texture par fichier obj, ce qui change radicalement de FSX. Il faut s'habituer à manipuler plusieurs fichiers en sortie, mais ce n'est pas un drame. Bonne nouvelle pour nous, les animations sont bien synchronisées entre les fichiers, ce qui fait que nous ne serons pas obligés de regrouper les pièces par parenté, un simple regroupement par texture suffira. Ainsi on évite donc de refaire toute une partie du mapping ! w00t

La première étape consistera donc à vérifier que vous n'avez pas une pièce ayant deux textures différentes à la fois. Ne la négligez pas, elle est importante si vous ne voulez pas avoir du mal à tout démêler une fois dans Blender.

Retroussez vous manches pour la suite, nous allons faire du ménage ! Souvent pendant la création d'un modèle le nombre de pièces s'est multiplié jusqu'à atteindre parfois des niveaux astronomiques et nous allons corriger ça. Pour cela nous avons besoin d'un petit outil bien pratique qui nous aidera à la tâche.

Le script Columbo

Celui-ci se trouve ici : http://www.scriptspot.com/3ds-max/scripts/columbo
Ce script va nous permettre d'effectuer des recherches avancées dans les pièces sans y passer des heures ! Plus simplement, c'est lui qui rend la manipulation possible.

Son interface se présente de la manière suivante :
mini_451201Columbo.jpg
(cliquez pour agrandir)

Sur la première ligne on paramètre tout comme il faut et ensuite on clique sur "Add Query"... Mais il ne se passe rien ! C'est normal, nous avons seulement ajouté une action à faire et Columbo peut en faire plusieurs à la suite (une seule suffit ici). Pour le lancer il faut ensuite cliquer sur "Execute Queue".
Malheureusement les options de sauvegarde ne fonctionnent pas avec GMax (contrairement à 3DS Max d'après l'auteur).

Vous l'aurez compris, en paramétrant comme moi la requête (query) vous sélectionnerez toutes les pièces ayant le même matériau d'attribué !
/!\ Attention ! Nous utilisons "Select more" ce qui signifie qu'il ajoute ce qu'il trouve à la sélection... N'oubliez pas de tout déselectionner avant de lancer la requête !

Maintenant que nous sommes équipés, nous pouvons passer au travail proprement dit.

Le regroupement des pièces dans GMax

Ici rien de bien sorcier, comme vous l'avez compris le but est de diminuer le nombre de pièces tout en faisant attention à ne pas mélanger les textures.

Commencez par demander à votre nouvel ami Columbo de sélectionner que les pièces ayant un matériau puis cachez les autres. Ensuite repérez les pièces animées ainsi que celles que vous souhaitez éventuellement afficher/cacher à l'aide d'un menu dans X-Plane (pour ça il faut faire un plugin en C, je vous expliquerai un autre jour). Vous pouvez aussi cacher ces pièces-là. Enfin, choisissez une des pièces restantes et donnez-lui un nom clair (par exemple nomTexture_fixe)... Nous pouvons enfin aller chercher le bouton "join" de GMax et cliquer sur toutes les pièces restantes !
Pour ne pas en oublier, pensez au bouton "Select by name" de Gmax (en haut à côté de l'outil déplacer)... Il est même plus pratique de passer par là directement mais c'est tout de même moins drôle wink

Maintenant vous avez le droit de répéter l'opération pour chacun de vos matériaux. Je vous souhaite bon courage, mais dites-vous que ce n'est rien face à ce qui vous attend eusa_whistle

Dernières choses avant l'export à proprement parler

Pour que l'export se passe bien, vous allez devoir casser l'arbre de parenté de vos pièces (c'est pour cela qu'on les a regroupées). Pour ce faire, sélectionnez l'ensemble de vos pièces et cliquez sur "Unlink selection" juste à côté de l'outil curseur en haut à gauche dans GMax.

Ensuite sauvegardez votre modèle ! C'est primordial pour ce qui va venir ! Inutile de faire une copie sur un autre disque, mais il ne faut vraiment pas oublier de cliquer sur "Save"...

Nous allons enfin avoir besoin d'un autre script qui se chargera de l'export et d'un logiciel qui récupérera ceci pour en faire un joli obj exploitable par Blender (ce n'est pas la même chose que les obj de X-Plane, je vous préviens tout de suite). Rassurez-vous une fois ces deux éléments installés, nous n'aurons pas besoin d'autre chose.

Le script dont on parle est décrit par David W. :

Flash required


Le script se télécharge ici : https://www.katsbits.com/tools/.
Le lien étant perdu vers le bas de la page, voici le lien direct (ce qui ne vous empêche pas de faire un tour sur le site de l'auteur wink ) : https://www.katsbits.com/files/gmax/gmax-obj.zip.

Stop ! Pas un clic de plus ! Avant de faire quoique ce soit, nous allons éviter de dépérir en faisant des copier-coller à n'en plus finir comme David. roll
Pour cela, nous avons besoin du fameux petit logiciel GmaxSLGrab disponible ici : http://www.fsdeveloper.com/forum/resources/ffg.80/.

Maintenant que tout est prêt, passons aux choses sérieuses.


2. L'export à proprement parler

Vous allez maintenant pouvoir à nouveau demander un coup de main à votre ami Columbo pour sélectionner toutes les pièces d'un même matériau. Ensuite supprimez les autres. Vous comprenez pourquoi je vous disais de sauvegarder ? big_smile

Ensuite cliquez sur "MAXScript" dans la barre du haut de GMax et choisissez "Run script". Maintenant vous pouvez chercher "gmax-obj.ms" que vous avez téléchargé auparavant. Cette phase est parfois longue, c'est normal. Vous pouvez le voir tourner avec le petit rectangle blanc tout en bas à gauche de l'écran dans GMax.

Une fois ceci fait, ouvrez GMaxSLGrab (en mode administrateur pour une installation classique de GMax) et cliquez sur le bouton. Une fois encore, cette étape peut être un peu longue (pas tellement non plus). Prenez votre mal en patience et attendez qu'une fenêtre arrive et vous demande d'enregistrer le fichier créé. Donnez-lui un nom avec une extension en .obj sinon vous serez obligé de renommer le .txt qu'il vous aura généré à la place de ce que vous voulez.

Bravo, vous avez exporté la première partie de votre modèle !
Vous pouvez répéter l'opération pour chaque matériau maintenant. Si vous ne pouvez plus annuler la suppression des pièces précédente c'est normal (une fois encore, las sauvegarde ce n'est pas pour rien). Cliquez simplement sur "Reset" dans le menu "File" puis chargez à nouveau votre fichier GMax pour faire la suite.

L'ensemble du processus est encore long, mais profitez-en car vous n'aurez bientôt plus besoin de GMax. eusa_boohoo


3. Préparation puis import avec Blender

Dans Blender il faut tout d'abord lui indiquer que l'on veut pouvoir importer des fichiers .obj. Pour cela, il faut aller dans "File" puis "User Preferences" (mon Blender est en anglais). Ensuite cliquez sur l'onglet "Add-ons" et choisissez "Import-Export" à gauche, ça diminuera un peu la taille de la liste. Il faut que "Import-Export: Wavefront OBJ format" soit coché. Vous pouvez aussi décocher les autres éléments pour trouver par la suite plus facilement ce que vous voulez. Enfin cliquez sur "Save user settings" en bas.

Nous pouvons maintenant passer à l'import à proprement parler.

Retournez dans le menu déroulant "File" puis choisissez "Import" et enfin "Wavefront (.obj)".
Là il faudra aller chercher votre premier fichier puis avant de cliquer sur import paramétrer celui-ci. En effet il faut aller voir dans le coin inférieur gauche et sélectionner "Y Forward" ainsi que "Z Up". Ces paramètres ne seront pas réinitialisés tant que vous ne fermez pas Blender, pratique ! cool
mini_138062ImportBlender.jpg

Une fois encore, ne foncez pas, attendez un peu et lisez la suite ! J'ai encore une chose à vous dire avant que vous n'importiez tous vos objets.
Le plugin d'export pour X-Plane est capable de générer un obj par "layer" (couche ou calque si vous voulez) et je vous conseille fortement d'utiliser ceci car le projet sera bien plus facile à gérer.
Avant d'importer l'obj suivant, activez donc le deuxième layer dans la zone en bas au milieu.
mini_324243Layers.jpg

Votre premier objet disparaît mais pas de panique ! Le point dans la case indique qu'il est toujours là et qu'il vous attend sagement. A la fin vous pourrez cliquer sur les layers en maintenant Maj pour faire réapparaître tout ce petit monde comme par magie.


Si tout s'est bien passé vous avez réussi à transférer votre objet de GMax vers Blender en vous plaçant dans les meilleures conditions pour la suite que je connaisse et je vous en félicite ! eusa_clap

Pour l'export vers X-Plane je vous invite à faire un tour ici : https://der-on.gitbooks.io/xplane2blend … notes.html où vous serez guidés en anglais bien comme il faut, y compris pour l'installation du script... En attendant peut-être un développement de ce tuto wink


Edit du 11/05 : Comme promis, un point sur le lissage des formes dans Blender

Un bouton permet de faire un lissage (smooth) basique, on le trouve dans le menu de gauche :
mini_419728Smooth.jpg

Cependant, suite à l'import, parfois le lissage ne se fait pas (je n'ai pas encore étudié ce qui, dans GMax, entraîne cette situation). J'ai rencontré deux situations distinctes.

Première situation : si en passant en "edit mode" vous voyez les arrêtes en bleu, cela signifie qu'elles sont marquées comme "sharp" : non lissée ou abruptes. Le bouton "clear sharp" permet d'enlever ce marquage.
Notez aussi que l'inverse peut aussi servir !
mini_505206Sharp.jpg

Seconde situation : en "edit mode" on ne voit rien, mais dans "Object Data" on remarque qu'il y a un bouton "Clear Custom Split Normals Data". Cliquer sur ce bouton permet d'enlever un problème d'orientation des faces qui empêche le lissage.
De même, sur l'image suivant vous noterez la présence de "auto smooth" avec un angle : ceci fonctionne exactement comme dans GMax. Cette fonction est grisée lorsqu'il y a ce qui est pour nous un problème d'orientation des faces.
mini_488765SplitNormals.jpg


Un très grand merci à David W. qui, grâce à ses tutoriels, a défriché la méthode ! Merci aussi à Didier pour son coup de pied au c** efficace bien qu'involontaire ainsi qu'à Berju qui m'a donné la motivation pour écrire ceci wink

Bonne modélisation !
Camille

Dernière modification par Squirrel (11-05-2017 23:13:17)

Hors ligne

#2 [↑][↓] 11-05-2017 07:43:16

Lagaffe
Membre
Lieu : LFPO / retraité
Inscription : 13-03-2008

Re : [X-Plane] Conversion de GMax vers Blender - Tuto

Bravo Camille, c'est clair et didactique!

C'est drôle, au cours de mes temps libres et pour me distraire de mes projets actuel, j'étais justement en train de migrer mon Ménestrel et mon planeur Fauvette sous X-Plane. En fait, tu m'as devancé de quelques semaines.


Impeccable ton script Columbo, je ne connaissais pas. Il y en a 2 autres qui pourraient t'intéresser: Select by Material et Clear All Materials. Ils sont trouvables sur http://www.scriptspot.com.
Le premier permet de sélectionner toutes les pièces qui utilisent un Material donné et l'autre permet de supprimer toutes les Materials de la scène.
Je les utilise depuis pas mal de temps et ils font gagner beaucoup de temps.

Merci pour cette Rubrique qui commençait à prendre la poussière wink

PS: Pour Jandj => http://www.fsdeveloper.com/forum/threads/firsts-creations-with-blender2p3d-caravelle-se210.438078/

[img align=c]http://www.fsfiles.org/flightsimshotsv2/images/2016/08/20/2016-08-20_190448.jpg[/img]

Dernière modification par Lagaffe (11-05-2017 19:50:23)


@+ Didier
mini-Logo-Beaver-small.jpg
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

#3 [↑][↓] 11-05-2017 09:31:54

jandj
Membre
Lieu : LFRS/ 85 Printemps
Inscription : 15-02-2012

Re : [X-Plane] Conversion de GMax vers Blender - Tuto

End.

Dernière modification par jandj (06-08-2017 13:43:36)


laugh+            Bienheureux les fêlés …  car ils laissent passer la lumière !         bluef
De Philip Geluck: "Etre vieux, c'est etre jeune plus longtemps que les autres!"  (à méditer!)

Hors ligne

#4 [↑][↓] 11-05-2017 11:10:20

BERJU83
Membre
Inscription : 02-10-2009
Renommée :   32 

Re : [X-Plane] Conversion de GMax vers Blender - Tuto

Bonjour à tous,

Super tuto Squirrel! Dommage que j'aie déjà commencé certains travaux sur mes avions...difficilement!

Je vais installer et tester tout ça sur d'autres modèles, et comme il faut m'expliquer longtemps, je reviendrai poser mes questions.

Merci,
Berju.

Hors ligne

#5 [↑][↓] 11-05-2017 23:27:15

Squirrel
Membre
Lieu : EDMA
Inscription : 25-11-2012
Renommée :   19 

Re : [X-Plane] Conversion de GMax vers Blender - Tuto

Bonsoir à tous,

Comme promis j'ai mis à jour le post initial en parlant un peu (rapidement, ce que je rapporte est tout frais) du lissage dans Blender suite à l'import.

Merci pour le complément Didier ! Le script dont tu parles est plus spécifique et je pense qu'il est par conséquent plus facile à utiliser, bien que Columbo ne soit pas compliqué smile
La simultanéité de cette envie de faire un passage sur Blender est drôle ! Mon petit doigt me dit d'ailleurs que nous ne sommes pas les seuls...

N'hésitez pas à poser vos questions, c'est en réfléchissant ensemble que nous avancerons tous wink

Camille

Hors ligne

#6 [↑][↓] 12-05-2017 17:00:25

BERJU83
Membre
Inscription : 02-10-2009
Renommée :   32 

Re : [X-Plane] Conversion de GMax vers Blender - Tuto

Merci Camille,

Mais tu ne vas tout de même pas t'arrêter en si bon chemin! On attend les mises à jour au fur et à mesure de ton expérience...

Je vais réviser le lissage.

En tout cas: épinglage! épinglage!

Berju.

Hors ligne

Pied de page des forums