IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

create an "image texture" node in cycles


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    auteur
    Inscrit en
    Juillet 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : auteur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2018
    Messages : 8
    Par défaut create an "image texture" node in cycles
    Hello
    I want to create an "image texture" node in cycles for each material of each object and that it is selected. my script does not recognize my variable "allMat". I do not understand why. Thank you:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
        def execute(self, context):
            row1 =400
            col1 =500
            selection = bpy.context.selected_editable_objects
            bpy.ops.object.select_all(action='DESELECT')
     
     
     
            for obj in selection:
                if obj.type == 'MESH':
                    myMat = obj.material_slots
                    for allMat in myMat:
                        obj.select = True
                        img = obj.name
                        newBake=obj.active_material
                        newBake.use_nodes=True
     
                        TreeNodes=newBake.node_tree
                        links = TreeNodes.links
     
                        texEnter = TreeNodes.nodes.new('ShaderNodeTexImage')
                        texEnter.location = col1-1000, row1
                        texEnter.image = bpy.data.images[img]
                        a = bpy.data.materials[str(allMat)].node_tree.nodes['Image Texture']
                        a.select = False
     
     
     
            return {'FINISHED'}

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Aucun problème pour s'exprimer en français sur ce forum et c'est même préférable.

    À première vue, je ne vois rien qui cloche avec "allMat".

    Il vaut mieux coller ici le backtrace complet de l'erreur.

    Remarque, ton return {'FINISHED'} ne sert à rien.

  3. #3
    Membre habitué
    Homme Profil pro
    auteur
    Inscrit en
    Juillet 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : auteur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2018
    Messages : 8
    Par défaut
    Bonjour
    merci pour votre réponse, voici le message d'erreur.
    Nom : Capture4.png
Affichages : 101
Taille : 49,1 Ko

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Il te dit simplement que cette clé n'existe pas.
    Ce que je ferais en premier lieu c'est un print(bpy_prop_collection.keys()) pour voir ce qui existe d'abord et sous quelle forme. C'est peut-être simplement "Material.006".

Discussions similaires

  1. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo