Boutique Cinema 4D
Affichage des résultats 1 à 15 sur 15

Discussion: Automatiser la création de matériaux

  1. #1
    Touriste
    Date d'inscription
    septembre 2007
    OS
    Mac OS X
    Messages
    16

    Automatiser la création de matériaux

    Bonsoir,

    Je me remets à faire de la 3d pour mes projets à l'école d'archi, et afin de gagner du temps je me crée des matériaux, persos, etc…
    Ma question est la suivante, pour les matériaux en question je n'utilise souvent que 2 canaux, couleur et alpha, dans lesquels je charge la même image, travail qui devient vite répétitif, je voulais donc savoir si il existe un moyen pour "automatiser la tâche" en donnant a C4D par exemple le chemin d'accés a un dossier de texture et les canaux souhaités ?

  2. #2
    Vieux Croûton Avatar de Fluffy
    Date d'inscription
    septembre 2003
    C4D version
    R18 Studio
    OS
    Win 10 Pro
    Messages
    13 711
    Billets dans le blog
    1
    Créé ton matériau et ajuste-le comme bon te semble (textures, canaux, etc...).
    Puis sélectionne-le et vas dans le menu "file>Save material preset" dans le gestionnaire de matériaux.
    Donne-lui un nom, et C4D te créera un preset du matériau avec un dossier qui contient les textures, dans ta médiathèque.

    Pour y accéder, lance la médiatèque et clique sur l'icône "presets"(qui ressemble à un encrier). Il ne te reste plus qu'à glisser ce matériau de la médiathèque au gestionnaire de matériaux à chaque fois que tu en veux une copie.

    Tu peux te créer autant de matériau que tu le souhaites.
    Fluffy mais costaud...www.fluffy4d.com

  3. #3
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Il me semble que la question était plutôt pour la création elle-même du matériau, mais de toute façon le truc de Fluffy est super utile.

    Si tu as la R12 tu peux coller le code ci-dessous dans Python/Gestionnaire de script et cliquer sur le bouton Exécuter.

    Une première boîte de dialogue va te demander où est ton dossier, la deuxième si tu veux utiliser les chemins absolus (pour pas avoir besoin de mettre tes textures dans le dossier tex) et la troisième pour savoir si tu veux utiliser le canal alpha. (Dès que j'ai le temps je ferai une seule boîte de dialogue).

    Le script va créer un matériau par image qu'il trouvera dans le dossier.

    Si tu veux que le script apparaissent à chaque fois dans le menu Python/Scripts personnalisés clique sur le bouton créer script et donne lui un nom. Il apparaîtra lors du prochain démarrage de C4D.

    Je n'ai pas encore testé sur mac... EDIT : j'ai testé, ça a l'air de fonctionner

    Code PHP:
    import c4d
    from c4d import gui
    import os
    ,glob

    lst_ext 
    = ['.jpg','.tif','.tga','.png','.psd','.b3d']

    def creer_mat(fn,nom,alpha=True):
        
    mat c4d.BaseMaterial(c4d.Mmaterial)
        
    mat.SetName(nom)
        
    doc.InsertMaterial(mat)
        
    shd c4d.BaseList2D(c4d.Xbitmap)
        
    shd[c4d.BITMAPSHADER_FILENAME] = fn
        mat
    [c4d.MATERIAL_COLOR_SHADER] = shd
        mat
    .InsertShader(shd)
        
    mat[c4d.MATERIAL_USE_SPECULAR]=False
        
        
    if alpha :
            
    mat[c4d.MATERIAL_USE_ALPHA]=True
            shda 
    c4d.BaseList2D(c4d.Xbitmap)
            
    shda[c4d.BITMAPSHADER_FILENAME] = fn 
            mat
    [c4d.MATERIAL_ALPHA_SHADER]=shda
            mat
    .InsertShader(shda)
            
        
    mat.Message(c4d.MSG_UPDATE)
        
    mat.Update(TrueTrue)

    def main():
        
    dossier c4d.storage.LoadDialog(flags=c4d.FILESELECT_DIRECTORY)
        
    absolu c4d.gui.QuestionDialog('Utiliser le chemin absolu ?')
        
    alpha c4d.gui.QuestionDialog('Utiliser le canal alpha ?')
        if 
    not dossier :return
        for 
    fn in os.listdir(dossier):
            
    nom,ext os.path.splitext(fn)
            if 
    absolu fn os.path.abspath(fn)
            if 
    ext in lst_ext:
                
    creer_mat(fn,nom,alpha)
        
    c4d.EventAdd()
            
        

    if 
    __name__=='__main__':
        
    main() 
    Dernière modification par oli_d ; 15/04/2011 à 09h25.

  4. #4
    Big Boss Avatar de base80
    Date d'inscription
    février 2003
    C4D version
    R12 Studio
    OS
    Fémur
    Messages
    8 330
    Excellent oli_d !
    Dit je pourrait pas faire un stage de 10 jours chez toi par hasard?

  5. #5
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Mais avec plaisir Base, mais je te préviens je suis un hérétique, j'aime pas la bière ! (mais beaucoup le vin !)

  6. #6
    Big Boss Avatar de base80
    Date d'inscription
    février 2003
    C4D version
    R12 Studio
    OS
    Fémur
    Messages
    8 330
    C'est ou? ou veux tu passer au Pays Bas ! T'apporte ton vin dans ce cas

  7. #7
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    J'habite à Genève, en Suisse, les Pays Bas ça me tenterait ...

  8. #8
    Big Boss Avatar de base80
    Date d'inscription
    février 2003
    C4D version
    R12 Studio
    OS
    Fémur
    Messages
    8 330
    ben t'est le bienvenu, quand tu veux .

  9. #9
    Big Boss Avatar de genghiskhan
    Date d'inscription
    janvier 2003
    C4D version
    R15 Studio
    OS
    Windows 10 Pro 64bits
    Messages
    5 166
    Billets dans le blog
    1
    ah bah si ces deux la s'apprennent des choses ca va etre beau tiens

    on a pas fini de voir des scripts et des xpresso qui dechirent tout sur le forum
    i7 4790K/32GoDDR3/GTX1070 - Genghis Khan

  10. #10
    Pilier Avatar de Philippe casu
    Date d'inscription
    juillet 2002
    C4D version
    R20 Studio
    OS
    W 11 PRO 64
    Messages
    1 287
    Citation Envoyé par oli_d Voir le message
    J'habite à Genève, en Suisse, les Pays Bas ça me tenterait ...
    un voisin !!! Je suis dans le Pays de Gex à St-Genis-Pouilly!!!! Mais bon je ne bois aucune goutte d'alcool ( c'est pire qu'hérétique ça non?)
    Deux hommes intelligents, d'idées opposées, trouvent beaucoup plus de choses à se dire que deux cons appartenant à un même parti.

  11. #11
    Pilier Avatar de Vcyrille
    Date d'inscription
    novembre 2003
    C4D version
    R16 Visualize
    OS
    WIN 7
    Messages
    963
    Un script aussi pratique, faudrait le coller dans la section tut'minutes ou équivalent non ?

  12. #12
    Touriste
    Date d'inscription
    septembre 2007
    OS
    Mac OS X
    Messages
    16
    Merci pour vos réponses,

    Fluffy effectivement cela va mettre utile également. Oli_d c'est exactement ce que je cherchais à faire, je te remercie, avec vos 2 techniques je vais pouvoir me faire rapidement une sacrée médiathèque, je n'ai pas eu de problème avec le script sous OSX.
    Je ne connais pas le python, mais j'avais étudié un peu le MEL dans Maya en Autriche, et une des choses bien c'est que dans Maya, quand on faisait une commande via l'interface graphique, on avait l'équivalent en MEL en même temps, je ne sais pas si c'est possible en Python dans C4D mais ça serait un bon moyen d'apprendre… si quelqu'un sait je suis preneur.

  13. #13
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Ce qui ressemble le plus à ce que tu décris dans Maya, passe encore par les scripts en COFFEE. Il y a un très bon tuto du côté de chez maître Fluffy : http://fluffy4d.com/?p=79 (en anglais, si jamais script log c'est historique de script en français)

    C'est également possible en Python, mais il faut retoucher un petit peu le code, ce n'est pas juste du copier/coller.

  14. #14
    Touriste
    Date d'inscription
    septembre 2007
    OS
    Mac OS X
    Messages
    16
    Encore une fois oli_d, c'est ce que je cherchais, merci beaucoup. Il va vraiment falloir que je me commence à regarder le python de prêt.

  15. #15
    J'ai entendu Genève?... Y commence quand ce stage?

    J'ai pas une bonne cave mais j'amène les cigares
    Dernière modification par phidek ; 30/04/2011 à 03h33.

Discussions similaires

  1. Réponses: 12
    Dernier message: 08/03/2010, 05h29
  2. Réponses: 0
    Dernier message: 07/03/2010, 11h04
  3. automatiser l'import de texture
    Par fif dans le forum Textures
    Réponses: 9
    Dernier message: 19/11/2009, 08h55
  4. automatiser la selection des matériaux
    Par az dans le forum Nouveaux membres
    Réponses: 1
    Dernier message: 08/08/2006, 02h11
  5. Cherche un tutorial pour la création de materiaux.
    Par DeadSoul dans le forum Nouveaux membres
    Réponses: 29
    Dernier message: 13/06/2006, 20h40

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet