#1 [↑][↓]  05-10-2020 11:07:41

Lagaffe
Modérateur
Membre donateur
Lieu: LFPO / retraité
Date d'inscription: 13-03-2008
Site web

[MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Réflexions sur la conception des textures

Dans les années 2000 à 2010, les textures pour les modèles 3D étaient conçues à partir des modèles 3D qui étaient projetés sur des plans, ces plans devenant des cartes de textures (oi.e. maps) qui ensuite étaient travaillées à partir de logiciels 2D comme PhotoShop, Corel Draw ou The Gimp.
Depuis trois ou quatre ans, une nouvelle façon de concevoir les textures pour des modèles 3D est apparue. Avec cette nouvelle conception les textures PBR se sont vues de plus en plus utilisés dans les simulateurs et jeux.
Ce sont maintenant les objets 3D en eux-mêmes qui sont travaillés via des logiciels spécifiques où l’on peint directement sur le modèle 3D en s’affranchissant des contraintes qui étaient inhérentes aux anciens processus, par exemple les jonctions entre pièces qui étaient très difficiles à réaliser.

Dans la catégorie de ces nouveaux logiciels, Quixel (plugin d’Adobe PhotoShop) et Substance Painter (SB) ont été les précurseurs.
Quixel qui demandait beaucoup de ressources (il s’exécutait à l’intérieur d’un processus PhotoShop et il suffisait que l’image à traiter soit un peu trop grande pour que le logiciel plante irrémédiablement).
A l’opposé Substance Painter créé par Allegorithmic (une entreprise française) était un logiciel dédié et qui a su s’imposer par sa nouvelle approche et ses performances graphiques.

Depuis un ou deux ans Allegorithmic a été racheté par Adobe et c’est devenu une référence dans le domaine graphique : jeux, conception graphique, etc. mais car il y a une contrepartie le logiciel est devenu inabordable (près de 200 € la license) pour l’usage occasionnel que l’on peu en faire dans notre domaine de création.
Quixel s’est transformé aussi et est devenu Quixel mixer. Il est gratuit et ce n’est plus un plugin de PhotoShop mais une application dédiée.

J’avais acheté une licence SB en 2018 pour 80€ à l’occasion d’une promo sur Steam et tout de suite le logiciel a montré ses grandes capacités mais en contrepartie il demande quand même un très grand investissement pour en tirer la quintessence.

Philosophie de ces nouveaux logiciels :
Autant l’ancien processus graphique était simple, on prenait le modèle 3D et on le projetait sur un plan ou bien on dessinait des coutures sur l’objet et ensuite on développait le "speudo-vêtement" de cet objet sur un plan. Le résultat était appelé une map ou en français une carte de textures qui servait de modèle pour les amateurs de livrées.
Cette map était recouvert par plusieurs couches/layers : salissures, rivets, ombres, etc et au final constituait la texture qui allait habiller l’objet. On pouvait faire facilement des paintkit.
Les modèles de restitutions de la lumière s’appuyaient sur la réflexion diffuse, le spéculaire et les normales.
La grosse difficulté était de trouver la bonne couture pour que le dessin final puisse être réalisé sans déformations et puisse se concevoir sur l’ensemble des objets constituants le modèle. La jonction d’une ligne sur plusieurs objets était un défi difficile à résoudre. Ce problème était une contrainte dans ce qu’il était possible de réaliser et pouvait empêcher dans certains cas la réalisation d’une livrée.

La nouvelle conception s’appuie sur le fait que désormais après avoir réaliser le mapping conventionnel, on exporte  le modèle ou une partie du modèle en 3D dans un logiciel qui va permettre de peindre directement sur le modèle 3D.
Cette nouvelle conception modifie en profondeur la façon de modéliser et oblige à penser un peu différemment la modélisation (vous le verrez à l'usage de ces logiciels).

Workflow graphique :
Le processus graphique est donc le suivant :
- on conçoit le modèle 3D
- on cré les mapping habituels en fonctions des divers matériaux qui seront appliqués sur le modèle
- on exporte le modèle 3D en un format OBJ (Wavefront) ou FBX (modèle Autodesk d’export)
- on importe dans le logiciel graphique ce modèle OBJ ou FBX
- on créé les divers matériaux (couleur + texture et type specular ou PBR)
- on applique ces matériaux sur les diverses parties de l’objet
- on exporte les textures résultantes de ces manipulations selon un pattern défini pour l'usage final (export preset)
- on retourne dans le logiciel 3D et on utilise les textures précédentes pour habiller le modèle
- on exporte le résultat final dans le format adéquat.

Nouveau venu dans le jeu : Armor Paint
Page des projets : https://armory3d.org
Dernier développements : https://github.com/armory3d/armorpaint
La documentation : https://armorpaint.org/manual
Comment acheter : https://gumroad.com/l/armorpaint

L'interface sobre, voie minimaliste mais suffisante pour les besoins:
https://armorpaint.org/img/2.jpg

Une seconde version existe ArmorPaintDXR (fournie avec ArmorPaint) qui permet encore plus de choses mais que je n'ai pas eu le temps de décortiquer :


Le projet Armory3D a donné naissance à deux produits Armory 3D Engine et ArmorPaint. Ce dernier est bien-entendu basé sur le premier. Ce moteur graphique propose une entière intégration dans Blender, ce qui à l’heure actuelle est un vrai plus. Ces projets sont développés depuis 2017.

Caractéristiques d’ArmorPaint
- c’est un logiciel à part entière et non un plugin
- il est basé sur l’utilisation des nodes (à l’image de 3DS Max et de Blender)
- il peut être accéléré par le GPU
- il permet de créer des textures PBR
- il permet du ray tracing
- il est en plein développement (j’utilise la version 0.7 ou la 0.8 dev)
- il permet de réaliser des bake de textures
- il fonctionne sur Windows, Linux, Apple ou Android
- il est très abordable, on peut l’avoir à 16€ en tant que contribution aux développements futurs.

Un grand nombre de vidéos est disponible sur le site http://www.armorpaint.org

Pour ce qui est des premiers pas et de la découverte, je vous propose la chaine youtube de Alexander Kiryanov (auteur russe mais dont l ‘anglais est … très compréhensible) avec cette vidéo en particulier :



J'utilise ce logiciel depuis le début de l'année et je lui découvre des attraits supplémentaires de jour en jour. La conception des textures pour le HN-433 ou le Twin Bonaza est faite avec ArmorPaint 0.7.
Si vous voulez des infos complémentaires ou des tuyaux pour vous y mettre vous aussi, je suis dispo pour y répondre.


W10 Pro 64b Build 20H2 - NVidia 457.51 - Réglages P3D v5HF= http://www.pilote-virtuel.com/img/membe … ages-A.jpg
HAF 932 - ASUS Z390 STRIX-F Gaming - i9 9900K - RAM 32 Go (3200 Ghz) - NVidia 1070 8 Go - Samsung 34" - Samsung 1To -2 Cruxial 256 Go - WD 4To et WD 2 To

http://www.pilote-virtuel.com/img/members/53/Logo-SAGQ-small.jpg

Hors ligne

 

#2 [↑][↓]  05-10-2020 18:05:18

thomas
Shériff
Date d'inscription: 13-03-2008
Renommée :   

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Merci Lagaffe, je regarde cela ce soir.

Hors ligne

 

#3 [↑][↓]  05-10-2020 18:23:16

572452
Copilote
Membre donateur
Lieu: La bathie (73)
Date d'inscription: 05-06-2012
Renommée :   21 

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Merci pour ces informations, encore quelques bonnes heures de travail...


Jean-Paul.
P3D V3.5, MSFS: I74790K OC 4.7, MSI GTX 1070 GAMING X 8G0, 16 GO RAM 2400.
X PLANE 11, P3D V4.5:  I74790K OC 4.7, MSI GTX 1070 GAMING X 8G0, 16 GO RAM 2400.

Hors ligne

 

#4 [↑][↓]  06-10-2020 09:56:01

Lejerm
Pilote confirmé
Lieu: Lausanne
Date d'inscription: 24-07-2009
Renommée :   
Site web

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Merci pour ce gros travail de synthèse!


http://www.pilote-virtuel.com/img/members/2286/logo-sms-0444x0100-text-r.png
Redonnons vie à l’histoire de l’aviation militaire Suisse!

Hors ligne

 

#5 [↑][↓]  06-10-2020 11:27:17

Henry
Pilote confirmé
Lieu: Plourivo (Côtes d'Armor)
Date d'inscription: 19-11-2010
Renommée :   

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Merci pour ce travail d'explication


I7-3770K 3.5Ghz OC 3.8 Asus P8Z77-V RAM 16Go G.Skill DDR3-2133 CG MSI GTX 1060 6GB
Boitier Fractal Design Define R4, Corsair AX 750w, Noctua NH-U12P, W10 2004

Hors ligne

 

#6 [↑][↓]  06-10-2020 20:53:35

WhiteNouNOurs
Copilote
Lieu: Vélizy-Villacoublay
Date d'inscription: 05-04-2008
Renommée :   

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Pffff, je suis toujours admiratif sur la maitrise que certains peuvent avoir d'un domaine dans ce monde merveilleux qu'est la création sur ordinateur.
Quand on pense que ce n'est qu'une "banale" suite de 0 et 1 qui fait que l'on arrive à avoir tout ça... ça laisse rêveur

Merci Didier, encore une fois un post instructif


Pascal

id MSFS : WhiteOurson. Core i7 6700K 4.GHz, RAM 32Go, GeForce GTX 1070 8Go, OS Win10-64bits sur SSD 250Go + SSD 1To pour Simu + HDD 3To pour tout le fatras des Utilitaires / Fibre Optique Bouygues 1Giga

Hors ligne

 

#7 [↑][↓]  30-11-2020 15:27:56

thomas
Shériff
Date d'inscription: 13-03-2008
Renommée :   

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Hello lagaffe,

Je me suis penché un peu sur Armor Paint à travers les quelques tutos sur youtube et je dois dire que je trouve l'interface plus séduisante que celle de Substance qui est très complete mais probablement trop pour mon usage (création de scene).

J'aime beaucoup l'idée de réutiliser la notion de Nodes, c'est dans la continuité avec Blender et j'imagine que les raccourcies claviers sont également plus proche. C'est une chose qui m'a particulièrement soulé : ne pas avoir les mêmes reperes entre Blender et Substance.

Finalement, la grosse difference c'est la bibliothèque de textures, alpha etc... par défaut sur Substance Painter. Il faut que je regarde aussi la notion de masque/selection de faces qui semble un peu différente.

Je ne sais pas si on peut "dessiner" aussi facilement sur Armor que sur Substance : par exemple sur Armor j'ai tracé des cables bien droit en jouant simplement sur la Height... A suivre :)


Autre point qu'il faut que je regarde : Pour un gros terminal, j'ai volontairement découpé le batîment en deux seules matériaux afin d'avoir 2 textures sets pour augmenter la resolution des textures. Je n'ai rien trouvé au sujet du baking sur Armor, sur Substance j'ai juste à exporter mes 2 texture sets.

Si je respecte les matériaux sur Substance, je me retrouve avec plein de texture sets. Peut etre qu'Armor gere mieux cela en proposant une option qui permet de merger les textures sets.

Dernière modification par thomas (30-11-2020 15:38:05)

Hors ligne

 

#8 [↑][↓]  30-11-2020 16:16:56

Lagaffe
Modérateur
Membre donateur
Lieu: LFPO / retraité
Date d'inscription: 13-03-2008
Site web

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Bonjour Thomas,

Bon pour les bibliothèques, il y en a pas mal de libres qui permettent de faire aussi bien qu'avec celles de Subtance Painter.
Pour le dessin avec Armor Paint, c'est presque aussi simple, on peut appliquer des décalques (exemple du P-51 sur Youtube ou celui de la grenade).

Dans les deux logiciels, pour pouvoir faire plusieurs jeux de textures applicables à un seul objet, il faut regarder du côté des Color ID. Tu trouveras pas mal de docs ou de vidéo sur le sujet.
Le but de cette technique est de colorer certaines faces de ton objet avec une couleur de base. Tu peux utiliser plusieurs couleurs différentes pour différencier tes parties spécifiques. Au final, cette "peinture" va etre exportée sur une map Color ID.

Dans Substance ou Armor, il faudra charger le mesh puis la Color ID. En sélectant la couleur désirée, tu choisis les polygones que "tu vas peindre", indépendamment des autres.

Ainsi avec 3 couleurs différentes dans ta map Color ID, tu peux peindre 3 set de textures différents qui s'appliqueront sur ton mesh. Il n'y a pas de limites au nombre de couleurs utilisables (faut quand même pas trop exagérer).

Saisis-tu la philosophie de la technique ?
En fait cela revient à découpler ton mesh initial en autant de morceaux que de couleurs utilisées et ensuite de peindre indépendamment chaque morceau avec une texture spécifique.


W10 Pro 64b Build 20H2 - NVidia 457.51 - Réglages P3D v5HF= http://www.pilote-virtuel.com/img/membe … ages-A.jpg
HAF 932 - ASUS Z390 STRIX-F Gaming - i9 9900K - RAM 32 Go (3200 Ghz) - NVidia 1070 8 Go - Samsung 34" - Samsung 1To -2 Cruxial 256 Go - WD 4To et WD 2 To

http://www.pilote-virtuel.com/img/members/53/Logo-SAGQ-small.jpg

Hors ligne

 

#9 [↑][↓]  30-11-2020 16:36:07

thomas
Shériff
Date d'inscription: 13-03-2008
Renommée :   

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Hello lagaffe,

Je saisi bien en effet :) Enfaite j'ai pas mal cherché de ce côté là aussi et j'ai trouvé une autre méthode via un petit logiciel qui assemble ces textures : Texture Set Combiner https://www.artstation.com/artwork/DgBDo

C'est surement faisable avec Armor aussi. Mais je reconnais n'avoir pas trop regardé plus loin les Color ID... Je testerais à nouveau :)

Hors ligne

 

#10 [↑][↓]  30-11-2020 17:18:48

Lagaffe
Modérateur
Membre donateur
Lieu: LFPO / retraité
Date d'inscription: 13-03-2008
Site web

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Je ne connaissais pas, on va étudier ...
Pour les Color ID c'est simple à mettre en œuvre et cela doit permettre de gagner du temps sur le processus complet.


W10 Pro 64b Build 20H2 - NVidia 457.51 - Réglages P3D v5HF= http://www.pilote-virtuel.com/img/membe … ages-A.jpg
HAF 932 - ASUS Z390 STRIX-F Gaming - i9 9900K - RAM 32 Go (3200 Ghz) - NVidia 1070 8 Go - Samsung 34" - Samsung 1To -2 Cruxial 256 Go - WD 4To et WD 2 To

http://www.pilote-virtuel.com/img/members/53/Logo-SAGQ-small.jpg

Hors ligne

 

#11 [↑][↓]  25-02-2021 17:39:09

Lagaffe
Modérateur
Membre donateur
Lieu: LFPO / retraité
Date d'inscription: 13-03-2008
Site web

Re: [MSFS][P3D] ArmorPaint, un remplacant léger de Substance Painter

Bonjour,

Petit retour sur Armor Paint que je vous avais présenté en tant que freeware mais à compiler soi-même ou en donationware pour disposer des binaires Windows (16 €).

Hier, je me suis décidé à compilé la dernière version de développement qui est dispo depuis début Février et j'ai pas mal galéré jusqu'à un résultat concluant juste avant de jeter l'éponge.
En effet, en partant sur la simple description qui est faite en français sur GitHub, je me suis heurté à beaucoup d'erreurs auxquelles je me suis confronté pour ensuite tomber sur une autre et ainsi de suite.

Au final vers 18h alors que j'allais abandonner j'ai retrouvé une vidéo de Alexander Kyrianov portant sur la compilation de son logiciel. En appliquant strictement son processus, j'ai finalement réussi à compiler la dernière version et elle fonctionne parfaitement.

J'ai essayé de décrire au MAXIMUM es étapes afin de ne pas avoir de râleur de service, ceci dit c'est une manipulation de compilation donc ne le faites que si vous vous sentez aptes.

0) J'ai utilisé le portable de mon fils: un vieux I7 5600U à 2.6 Ghz et équipé de 8 Go de RAM donc un poste d'entrée de gamme

1) Trois logiciels sont requis : ATTENTION Visual Studio prend quand même 2 ou 3 Go sur disque ... les autres sont "petits" à côté.
     a) Visual Studio 2019 Community adapté à votre poste (x86 ou x64) => https://visualstudio.microsoft.com/fr/t … amp;rel=16
     b) Git for Windows (idem) => https://gitforwindows.org on prend l'installeur pour qu'il puisse créer les menus contextuels bien pratiques
     c) Node.js for Windows (idem) => https://nodejs.org/en/download (prendre l'installeur msi adapté à votre installation)

Une fois que tout ceci est installé, relancer votre poste pour terminer l'installation de Visual Studio.
Ensuite redémarrer Visual Studio qui demandera peut-être de mettre à jour certains éléments qui le constitue. Cela a été mon cas.

On rentre dans le vif du sujet:
2) On choisit un disque avec 2 ou 33 Go de libre et on créé un répertoire de base genre E:\Projets\
3) Via l'explorateur on clique sur ce répertoire E:\Projets et click-droit via le menu contextuel on lance Git Bash
4) Une fenêtre de type MS-DOS s'ouvre à l'endroit de notre répertoire de travail
5) Je commute sur les informations que l'on trouve sur le site Git du projet
6) Dans cette fenêtre de type MS-DOS, on tape les commandes suivantes en bleu

git clone --recursive https://github.com/armory3d/armorpaint
cd armorpaint
node armorcore/make -g direct3d11
cd armorcore

PAUSE ... les 3 lignes qui suivent sont indispensables à ce moment là, si elles ne sont pas exécutées là, le reste ne se passera pas bien.
Il faut faire une correction manuelle via l'explorateur on se déplace dans l'arborescence : E:\Projets\armorpaint\armorcorev8\libraries\win32\release on va trouver une fichier zippé v8_monolith.7z que l'on va extraire à là où se trouve l'archive
On aura donc au final : E:\Projets\armorpaint\armorcore\v8\libraries\win32\release\v8_monolith.lib
Ce n'est qu'à partir de cet instant que l'on peut revenir à la fenêtre de type MS-DOS et continuer à saisir la suite:

A partir de là, on peut reprendre ...

[color=#1501FD]git apply patch/window_handling.diff --directory=Kinc
node Kinc/make -g direct3d11

Là, on peut fermer cette fenêtre et passer à la suite.
Via l'Explorateur on va aller dans  E:\Projets\armorpaint\armorcore\build et via un clik-droit sur Krom.vcxproj on l'ouvre dans Visual Studio 2019 ... (dans la vidéo de référence ci-après c'est à 2"45 que cela se passe - l'auteur est Russe donc ... j'ai rajouté une autre vidéo mais en Anglais cette fois)

Une fois Visual Studio lancé, plusieurs sous-fenêtres s'ouvrent dont une sur la droite nommée Solution Explorer (genre un explorateur) qui liste les divers composants du projet Krom.

1) On fait un clik-droit dans cette fenêtre sur le répertoire projet Krom et on sélectionne tout en bas Propriétés.
Cela ouvre une fenêtre de propriétés qui va permettre de renseigner un champ essentiel :

2) Dans la fenêtre Krom Property Pages, comportant deux parties, on sélectionne dans celle de gauche Debugging et ensuite dans celle de droite on entre '..\..\build\krom' dans Command Arguments
(avec les guillemets et en utilisant des \ ... pas de /) On clique sur Apply pour appliquer les changements et OK

3) Dans la barre des menus du haut, on clique sur Debug pour changer en Release et on vérifie l'architecture finale x64 si vous avez un processeur récent 64 bits ou x86 si vous avez du 32 bits

Voici une capture pour résumer les diverses manips:

https://i.postimg.cc/KbNt5h2C/Armor-Paint-Compilation.jpg

Pour finir dans la barre des menus du haut, on clique sur Build et ensuite Build Solution et la compilation se lance ....
Si on obtient au bout de quelques minutes le message ==== Build : 1 succeeded, 0 failed, 0 up-to date, 0 skipped ========  on a BON sinon on revérifie les étapes précédentes.

Pour terminer on va récupérer le binaire généré : E:\Projets\armorpaint\armorcore\build\x64\Release\krom.Exe (x86 si vous êtes en 32 bits) et le copier dans l'arborescence finale.
Cette arborescence finale est E:\Projets\armorpaint\armorcore\build\krom. On colle donc dedans ce fichier krom.exe

On a donc dans E:\Projets\armorpaint\armorcore\build\krom :
- un répertoire data,
- un fichier krom.js
- un readme.txt
- le fichier compilé krom.exe

C'est donc ces 4 composants que vous aller utiliser comme programme final. Vous pouvez zipper ces éléments pour les recopier dans un répertoire C:\Armor Paint qui sera le réceptacle final de votre programme.
Ces dernières phases sont bien expliquées dans la seconde vidéo.

PS: Krom est le speudo du développeur.

Alexander Kiryanov (l'auteur)


Une seconde vidéo en Anglais de Jayanam


W10 Pro 64b Build 20H2 - NVidia 457.51 - Réglages P3D v5HF= http://www.pilote-virtuel.com/img/membe … ages-A.jpg
HAF 932 - ASUS Z390 STRIX-F Gaming - i9 9900K - RAM 32 Go (3200 Ghz) - NVidia 1070 8 Go - Samsung 34" - Samsung 1To -2 Cruxial 256 Go - WD 4To et WD 2 To

http://www.pilote-virtuel.com/img/members/53/Logo-SAGQ-small.jpg

Hors ligne

 

Pied de page des forums

Maintenance informatique Lausanne