Script Cycle pour changer la couleur d'un objet dans le Viewport
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Bonjour,

Je suis nouveau sur le Blender Clan, je suis actuellement en stage pour mes études d’informatique, et je cherche à créer des scripts sur Blender qui permettent de simplifier des tâches répétitives.
Je suis bloqué sur un script.
L’objectif est le suivant :

-Dans cycle, on sélectionne un objet possédant un matériel avec une couleur (Celle dans surface, qui ne s’affiche pas dans le viewport)



-Puis en lançant le script cette couleur va être assigner à la « Viewport Color »



Je ne sais pas comment m’y prendre pour le réaliser, je cherche donc des pistes.

Merci d’avance !

Contribution le : 06/07/2017 16:46
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2937
Salut,

Dans blender, tout est accessible par un "import bpy" en première ligne.
Si tu passes ta souris par dessus la couleur viewport, tu verras l'input python associé.

La doc python indispensable:
https://docs.blender.org/api/blender_python_api_2_78c_release/bpy.types.Material.html#bpy.types.Material


Tu as aussi l'en tête qui affiche les commandes exécutés par l'utilisateur: tire la barre supérieure (File, Render, Window, Help) vers le bas.

import bpy

mat = bpy.context.object.active_material
mat.diffuse_color = [0.5,0.5,0.5]

Contribution le : 06/07/2017 17:43
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Je vous remercie pour votre réponse mais je n'ai pas encore trouvé la solution,


Lorsque je change la couleur du viewport, l'entête m'affiche :

bpy.context.object.active_material.diffuse_color = (0.5,0.5,0.5)

et lorsque je change la couleur de la surface (Diffuse BSDF) l,'entête m'affiche:

bpy.data.node_groups["Shader Nodetree"].nodes["Diffuse BSDF"].inputs[0].default_value = (0.0517146, 0.8, 0.0176235, 1)


Il y a donc 4 valeurs au lieu de 3, je cherche donc a sortir les 3 premières valeurs afin de les assigner à la diffuse_color

Je ne vois pas comment y parvenir,

merci pour votre aide !

Contribution le : 07/07/2017 13:55
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2937
Par le bpy.context, tu dois pouvoir accéder au node de l'objet sélectionné:
https://docs.blender.org/api/blender_python_api_2_78c_release/bpy.context.html?highlight=context#module-bpy.context

Pour récupérer seulement les 3 première valeurs (et pas la channel alpha qui est la 4ème, non utilisée pour la couleur viewport) tu peux utiliser cette syntaxe:
color_viewport = [color_node[0], color_node[1], color_node[2]]

Pas le temps de tester dans l'immédiat désolé mais ça devrait fonctionner.

Contribution le : 07/07/2017 15:15
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
J'ai essayé le code suivant :


import bpy

mat = bpy.context.object.active_material
color_viewport = [color_node[0], color_node[1], color_node[2]]
mat.diffuse_color = color_viewport


ai-je oublié quelque chose d'important?

Il m'affiche les 2 erreurs suivantes :

Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
NameError: name 'color_node' is not defined

ou

Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
NameError: name 'color_viewport' is not defined

Contribution le : 07/07/2017 16:12
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2937
Alors, voilà le code qui marche:

import bpy

print('\nAssign viewport color')

mat = bpy.context.object.active_material# recupere le materiaux actif dans la variable 'mat'
nodes = mat.node_tree.nodes#acces au nodes du materiaux

for node in nodes:#on va cherche le node diffuse dans les nodes
    if 'Diffuse' in node.name:        
        print(node.inputs[0])
        material_color = node.inputs[0].default_value#on recupere la couleur de l'input[0] dans une variable

mat.diffuse_color = (material_color[0], material_color[1], material_color[2])
        

        

Contribution le : 07/07/2017 16:22
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Genial ! Merci beaucoup !

Contribution le : 07/07/2017 16:28
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2937
N'oublie pas les balises [ code ]le code ici[ /code ] (sans les espaces entre les crochets et code), c'est indispensable pour voir les indentions correctement.

Contribution le : 07/07/2017 16:28
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Vous m'avez sauvé mon week-end merci beaucoup !

et d'accord merci !

Contribution le : 07/07/2017 16:35
Créer un fichier PDF de la contribution Imprimer


Re: Script Cycle pour changer la couleur d'un objet dans le Viewport
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2937
Pas de soucis! Bon week end alors.

Contribution le : 07/07/2017 16:57
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[53] 520 151661 Hier 20:24:09
sbkodama 
Questions & Réponses blender 2.90 export stl de plusieurs objets d une scene 0 10 Hier 17:25:18
manie 
Hors Sujet !! création d'une vidéo pour pyramide holographique 0 17 Hier 17:18:40
jhujhu 
Questions & Réponses [non résolu] Difficulté à générer des supports automatiques sur chitubox à partir d'un modèle blender 1 937 Hier 09:47:55
blendinfos 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[6] 57 5816 23/02 19:39:00
Guiu 
Questions & Réponses [non résolu] Comment utiliser "Selection to cursor" avec une armature. (Blender 2.79) 0 38 23/02 13:40:32
Irreel 
[WIP] et travaux terminés [WIP & tests] Fluides/ Molecular addon    [1][2] 11 300 23/02 13:13:00
lucky 
[WIP] et travaux terminés [WIP] La cabane de Tarzan    [1][2][3]...[10] 97 28149 23/02 01:47:22
BlendX 
Questions & Réponses [non résolu] Problème de rendu avec cycles 1 47 22/02 16:31:02
Sebooli 
Questions & Réponses UV mapping supprimer une projection 2 74 22/02 13:50:45
debutant 
Le coin des geeks Amd vs Nvidia    [1][2][3]...[5] 43 2647 20/02 18:47:52
Lylo 
Questions & Réponses Orienter les instances d'un objet 1 336 20/02 16:53:51
yawdpwal 
Questions & Réponses Century fox rendu pas top    [1][2] 14 1927 20/02 10:36:40
CBY 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[6] 59 2078 19/02 21:52:12
debutant 
Questions & Réponses existe il un moyen de savoir si un modele 3D tient debout    [1][2] 11 523 19/02 08:18:27
Horemheb 
Hors Sujet !! Playlist MOTION DESIGN tutoriel en Français 0 95 19/02 00:53:40
meltingman 
Questions & Réponses Blender Octane réflection 1 159 19/02 00:44:59
meltingman 
Questions & Réponses export gitf 1 127 17/02 20:10:38
Rimpotche 
Questions & Réponses Taille d'un unwrap, images et masque 4 204 17/02 09:38:41
Horemheb 
Mes premières images sous Blender (débutants) Problème rendu scène 3 171 16/02 12:18:46
nicolaslfbv 

Qui est en ligne
153 utilisateur(s) en ligne (dont 75 sur Forums)

Membre(s): 1
Invité(s): 152


Angelina17, plus...
Nouveaux membres
LourdesMar 25/2/2021
AugustPrin 25/2/2021
LornaChinn 25/2/2021
PaulBinder 25/2/2021
IrishSaul 25/2/2021
LavondaPen 25/2/2021
Maximo8404 25/2/2021
Ivory53B69 25/2/2021
StefanieRe 25/2/2021
EllenNewco 25/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
(continuer) - 22:55
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
Mar 16
Anniversaire de galba
plus 260 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445