Maxscript - Conversion matériaux Maxwell en Standard

Pour vous simplifier la vie
lebaron
SL00
Messages : 12

Maxscript - Conversion matériaux Maxwell en Standard

Message 11 avr. 2017, 12:12

Salut à tous !

Grand et vaste sujet que la conversion de matériaux !
je relance ce sujet car mes compétences (performance !) en dev. ne me suffisent plus !

J’avais teste le script de Rodman (viewtopic.php?f=29&t=3612), excellent et efficace ! (mais il fais l'inverse)

J'ai été confronter, dernièrement, à devoir convertir des matériaux Maxwell en Std. (scanline). (le std. permettant plus facilement de passer sur d'autre moteurs.)

J'ai donc débuté le dev...

-j'ai commencé par regarder des scripts qui permettais de faire des liens entre les class : http://www.scriptspot.com/3ds-max/scrip ... yconvertor
Je trouve cette approche excellente, et bien plus polyvalentes que des dev. en dur.
Le problème c'est que le script ne cherche pas dans les "sous-classe" pour Maxwell, résultat il n’accède pas au BSDF, Layer...
-en suite, n'ayant pas d'idée pour redévelopper un outil identique a "MultyConverter", j'ai opter pour le dev. en dur.
001) J'ai étudier de quelle manière les matériaux Maxwell, en scripting, fonctionnaient.
J'ai éditer la liste des paramètres de chaque classe Maxwell pour les mat. (CF en PJ : MaxwellMatData.txt)
002) en suite j'ai dev. une fonction qui format la valeur de certain paramètres des matériaux de la scène, dans un textfile.
ça me permet de voir d'un coup le type de valeur contenues dans ces paramètres. (cf en pj: SceneMatData21.txt)
a ce stade j'ai pas le retour sur les Maxwell_layers' et les BSDFs' (car pas implémentée).
003) puis je développe le convertisseur a proprement parlée. je ne passe plus par un formatage de données sur TextFile, mais directement dans des Array a plusieurs niveaux. pas idéale pour 3DsMax mais ça passe !
là je développe les boucles de lectures de Maxwell_Layers' et BSDFs'. Dans chaque boucle je récup les paramètres qui m’intéressent.
004)je programme les fonctions de conversions, recup des infos des param. maxwell depuis les array et attributions des info sur le matériaux Std.. a ce stade il convient de convertir certaines données extraites des BSDFs' pour être assigner aux param. du Std.

Bilan à ce stade du dev:
-je n'ai pas accès à la conversion des matériaux Maxwell_Références, en matériaux Maxwell.
-la conversion et l’assignation des parm. Maxwell aux param. Std. nécessitent améliorations.
-le concept de multi layer n'est pas implémenter.

Objectifs :
1°) revoir l’assignation des param Maxwell->Std.
2°) solutionner la conversion des Maxwell_Ref en Maxwell.
3°) Étendre la conversion a d'autres param de Maxwell.
4°) prendre en compte le multi layer de maxwell layer + BSDF en Mat.Composite.
5°) prise en compte des plugin tiers ; ex: Bercon, gradient, noise, ....
6°) Nettoyage et optimisation du code…
100000°) développer une version de "multyconvertor"

Ce projet est un projet de fond, je ne suis donc pas à 100% de mon temps dessus.

Merci à tous ceux qui désire y contribuer ;)

Pièces jointes:
MaxwellMatData.txt : http://www.baronstudio.fr/CG/MaxwellMatData.txt
SceneMatData21.txt : http://www.baronstudio.fr/CG/SceneMatData21.txt
CODE Maxscript : http://www.baronstudio.fr/CG/Test script maxwell converter.ms

Avatar de l’utilisateur
Roch
Messages : 7584
Localisation : Marseille - France
Contact :

Re: Maxscript - Conversion matériaux Maxwell en Standard

Message 12 avr. 2017, 16:41

salut lebaron,
voilà un homme courageux !

Je ne touche pas trop à la programmation donc je ne te serai pas donc grand secours.

Amis mangeurs de code faites vous plaisir !

Répondre