Maxscript - Random material to selection

Pour vous simplifier la vie
Répondre
Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Maxscript - Random material to selection

Message 29 août 2012, 15:13

Bonjour à tous,

J'ai un Maxscript qui est universel dans le sens où il marche avec Vray mais aussi et surtout avec Maxwell.

Il permet de prendre les matériaux du Material Editor (en mode compact) de 3ds max, et de les mettre aléatoirement sur les objets sélectionnés dans le viewport.

Voici le code :

Code : Tout sélectionner

for obj in selection do obj.material = meditMaterials[random 1 4]
le 1 correspond au premier matériau dans la liste et le 4 au quatrième matériau dans la liste. A vous de choisir le nombre de matériaux à rentrer dedans.

Ce script est une base pour faire quelque chose de plus grand. C'est le seul que je connaisse à ce jour qui permet de faire ceci.

Voici un exemple en image :

Image


J'attends tout avis de votre part.

Enjoy !
Dernière modification par Rodman le 21 sept. 2012, 19:40, modifié 3 fois.
Haut

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

Re: Maxscript - script random material - 3dsmax

Message 29 août 2012, 15:22

ça c'est bon j'ai cherché pendant longtemps. J'utilise la fonction materialID de 3Ds.

merci.

Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: Maxscript - script random material - 3dsmax

Message 29 août 2012, 15:28

De rien ! 8)

Avatar de l’utilisateur
sevenjah
SL09
Messages : 542
Localisation : Genève

Re: Maxscript - script random material - 3dsmax

Message 29 août 2012, 17:47

Salut,
Si je comprends bien tu peux faire cela aussi depuis MR mais comment?

Merci d'avance de ta réponse, meilleures salutations.

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

Re: Maxscript - script random material - 3dsmax

Message 30 août 2012, 07:33

Si je comprends bien tu peux faire cela aussi depuis MR mais comment?
je pense pas directement dans le studio, mais en attaquant ton fichier scène MXS avec python et le SDK tu dois pouvoir y arriver.

Qu'en penses tu Rodman ?

Tiens ça me fait penser qu'il faut que j'ouvre la section script.

Avatar de l’utilisateur
salvatore
SL24
Messages : 1998
Localisation : Paris

Re: Maxscript - script random material - 3dsmax

Message 30 août 2012, 08:05

je prends... ça peut servir..
attend avec impatience les octocores et decacores

Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: Maxscript - script random material - 3dsmax

Message 30 août 2012, 11:44

Quand j'ai écrit quelque chose de plus grand je parlais d'un plugin en maxscript avec davantage de paramètres. Un peu comme le plugin Walls and Tiles de Martin Jann pour Vray.

Je n'ai pas réfléchis à la question de savoir s'il est possible via un script Python d'appliquer une liste de matériaux aléatoirement sur un liste d'objets dans Maxwell Studio.
Si cela intéresse des gens de faire cela, alors soyons tous réunis et cherchons la solution ensemble. :D

Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: Maxscript - script random material - 3dsmax

Message 31 août 2012, 16:04

J'ai mis la ligne de code précédente dans un UI, c'est à dire plus simplement dans une fenêtre "compréhensible" car sans ligne de code à modifier.
J'ai pour le moment ceci :

Code : Tout sélectionner

-- copyright Rodman 2012

Rollout random_material "Random Material" width:300 height:80
(
	local first_mat_value = 1
	local second_mat_value = 4
	spinner first_material "1er matériau dans la liste:" range:[1,31,first_mat_value] type:#integer
	spinner second_material "2ème matériau dans la liste:" range:[1,32,second_mat_value] type:#integer
	button create "Random material" width:100 height:20

	on create pressed do
	(
		for obj in selection do obj.material = meditMaterials[random first_material.value second_material.value]
	)
)
createDialog random_material
Le code ci-dessus est à enregistrer en .ms pour le lancer en "drag and drop" dans 3ds max (il ne faut pas être en mode administrateur pour pouvoir faire ceci sinon il faut lancer le programme via l'onglet "MAXScript" puis "Open Script")

J'aimerai pouvoir l'améliorer en évitant que la 2 deuxième valeur soit inférieur à la première.
Et pourquoi pas rajouter des fonctionnalités supplémentaires

Enjoy ! ;)

Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: Maxscript - script random material - 3dsmax

Message 31 août 2012, 16:15

J'ai rajouté un message d'erreur s'il n'y a pas de sélection d'objets (et fais quelques modifications mineures). Vous pouvez voir par vous-même la simplicité du code et le mettre à votre sauce :

Code : Tout sélectionner

-- copyright Rodman 2012

Rollout random_materials_to_selection "Random Materials To Selection" width:300 height:80
(
	local first_mat_value = 1
	local second_mat_value = 4
	spinner first_material "1er matériau dans la liste:" range:[1,31,first_mat_value] type:#integer
	spinner second_material "2ème matériau dans la liste:" range:[1,32,second_mat_value] type:#integer
	button create "Random Materials To Selection" width:200 height:20

	on create pressed do
	(	
	if selection.count != 0 then
		(
		for obj in selection do obj.material = meditMaterials[random first_material.value second_material.value]
		)
	else
		(
		messageBox "You must select at least one or more objects" title:"Random Materials To Selection"
		)
	)
)
createDialog random_materials_to_selection
Un aperçu en image :

Image

Enjoy ! ;)

Avatar de l’utilisateur
salvatore
SL24
Messages : 1998
Localisation : Paris

Re: Maxscript - script random material - 3dsmax

Message 01 sept. 2012, 07:58

vu que t'as l'air bien à l'aise avec 3ds max et le script et les matériaux...
crois tu que tu arriverais à faire un convertisseur de matériaux Vray /maxwell ? 8)
attend avec impatience les octocores et decacores

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

Re: Maxscript - script random material - 3dsmax

Message 01 sept. 2012, 10:34

super merci bien. Bien plus pratique que celui que j'utilisais.

Chez motivacg il avait fait un utilitaire de conversion. Mais pas compatible avec la V2. (http://www.motivacg.com/descargas.php)

Avatar de l’utilisateur
salvatore
SL24
Messages : 1998
Localisation : Paris

Re: Maxscript - script random material - 3dsmax

Message 01 sept. 2012, 13:58

oui je m'en souviens,en effet cela ne marche pas...mais peut être qu'il y a moyen de le refaire marcher ..
attend avec impatience les octocores et decacores

Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: Maxscript - script random material - 3dsmax

Message 01 sept. 2012, 16:56

J'ai déjà recherché ce qui avait été fait pour convertir un matériau Vray en matériau Maxwell avec du MAXScript.

Ce que je sais :

- le Maxscript peut-être une prise de tête : http://www.maxwellrender.com/forum/view ... =MAXSCRIPT
- il existe au moins 2 scripts qui ont été fait : http://www.evvisual.com/index.php?optio ... 1&Itemid=9 et http://www.motivacg.com/descargas.php mais les deux ne sont plus mis à jour depuis longtemps et ils sont tous les 2 en .mse, donc ils sont cryptés.

Ce que me demande :

- pourquoi les 2 scripts qui existaient n'ont pas été mis à jour ?
- pourquoi il n'y a pas de documentation pour utiliser le plugin Maxwell pour 3ds max avec du maxscript ?
- Quels est la transformation à appliquer à un matériau Vray pour avoir un matériau Maxwell ?

Ce que je pourrais faire :

- apprendre davantage le MAXScript. Ce qui me demandera beaucoup de temps sans savoir si j'aurais la motivation pour aller au bout du problème.
- mettre mes recherches sur le forum et attendre de votre part un retour sur les problèmes qui apparaitront.
- contacter les géniteurs de ces deux scripts, d'abord pour savoir pourquoi il n'ont pas continuer de mettre à jour leurs scripts, et ensuite, leur demander les codes sources, pour ne pas créer un script à partir de zéro et perdre du temps.
- demander au meilleurs du forum de m'aider à écrire l’algorithme de conversion V-ray => Maxwell. ( http://www.spot3d.com/vray/help/200R1/m ... params.htm )
- trouver le moyen de décrypter les scripts. Ce qui est impossible pratiquement sans connaître MAXScript parfaitement, ce qui veut dire que même le meilleur en MAXScript mettrait moins de temps à réécrire un script que d'en décrypter un. :lol:

Avatar de l’utilisateur
salvatore
SL24
Messages : 1998
Localisation : Paris

Re: Maxscript - script random material - 3dsmax

Message 02 sept. 2012, 09:33

Wowwww..... :(
La tâche semble en effet assez lourde.et en effet cela te demanderait pas d investissement personnel au détriment d autres chose.

Peut être que finalement c est à Nextlimit qu on devrait demander ça.de fabriquer un outil de conversion de shader.ils doivent avoir les connections et les capacités de le faire..mais peut être pas l envie.. Pourtant cela leur ouvrirait beaucoup de clients.
attend avec impatience les octocores et decacores

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

Re: Maxscript - script random material - 3dsmax

Message 02 sept. 2012, 22:49

Peut être que finalement c est à Nextlimit qu on devrait demander ça.de fabriquer un outil de conversion de shader.ils doivent avoir les connections et les capacités de le faire..mais peut être pas l envie.. Pourtant cela leur ouvrirait beaucoup de clients.
Oui on pousse dans ce sens.

Répondre