Boutique Cinema 4D
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 30 sur 52

Discussion: Convertir les materiaux V-Ray ou Octane vers C4D Standard

  1. #1
    Dépendant
    Date d'inscription
    décembre 2005
    Messages
    303

    Convertir les materiaux V-Ray ou Octane vers C4D Standard

    Salut tous le monde !

    Nous sommes quelque un à essayé de trouver une solution pour convertir les textures de Vray (dans cinema 4D) vers le Rendu Physique de Cinema 4D ?
    Il existe depuis Vray la possibilité de convertir les textures C4D vers VRAY mais pour l'inverse nous ne trouvons pas de solutions...
    Floc à trouvé un code en COFFEE qui fonctionné sous les anciennes version de C4D et VRAY mais qui n'est plus utilisable aujourd'hui...
    Nous nous demandons donc si quelqu'un serait capable de transformer le code pour l'adapter aux actuelles versions ?

    Voici le lien : https://forums.cgsociety.org/t/vray-...-maybe/1504511

    Un grand merci d'avance !
    Dernière modification par shtl ; 26/03/2020 à 09h19. Motif: titre

  2. #2
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Comme il y a plusieurs type de texture vray (je connais hyper mal vray) faudrait déjà essayer de référencer des correspondances.

    Qu'est ce qu'on fait si on trouve un vray blend material. Est ce qu'il peut y avoir des layers, les bruits, les textures.

    on fait ça pour une matière puis on fait une boucle puis voilà =)


    (j'ai pas une chié de temps pour ce genre de chose en ce moment)

    Comment créer un tableau de BaseMaterial qui correspondent à des Matériaux V-ray

    Code PHP:
    import c4d
    from c4d import gui
    # Welcome to the world of Python






    # Main function


    vrayMatsIds = {
    1022115 'V-Ray 2 Sided Material/V-Ray 2 Sided Material'       ,
    1024192 'V-Ray Fast SSS2 Material/V-Ray Fast SSS2 Material'   ,
    1022116 'V-Ray Blend Material/V-Ray Blend Material'           ,
    1035368 'V-Ray OSL Material/V-Ray OSL Material'               ,
    1039186 'V-Ray VrMat Material/V-Ray VrMat Material'           ,
    1020295 'V-Ray Advanced Material/V-Ray Advanced Material'    
    }




    def GetAllMaterials(OnlyVray True):
        
    # Creates an empty array and add all materials in it.
        # By default, only pick vray materials
        
    mats = []
        
    mat doc.GetFirstMaterial()
        while 
    mat:
            if 
    mat.GetType() in vrayMatsIds:
                
    mats.append(mat)
            
    mat mat.GetNext()
        return 
    mats






    def main
    ():
        
        
        for 
    mat in GetAllMaterials():
            print 
    mat




    # Execute main()
    if __name__=='__main__':
        
    main() 
    Dernière modification par valkaari ; 27/05/2019 à 21h25.

  3. #3
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Voici la version inspirée du coffee deja postée ici avec les explications.
    Je la reposte ici, comme ça si un valeureux dev passe par la qu’il n’hesite point à pointer de son doigt expert les eventuelles bourdes !
    D'ailleur je vois que Vaalkari est déja passé, zut je l'ai manqué

    On pourrai rester ici maintenant, vu qu'il y a quatre discussion sur ce même sujet
    Fichiers attachés Fichiers attachés

  4. #4
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    dès que j'ai un peu de temps je regardes, n'hésites pas à poser des questions.

    Et pour réagir à ton autre post, non c'est pas si compliqué, bien pour ça qu'on encourage tout le monde à mettre le nez dedans
    Dernière modification par valkaari ; 27/05/2019 à 14h49.

  5. #5
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Merci Vaalkari, je crois qu'un oeil expert ne sera pas de trop.

    En attendant, voila une version améliorée.
    Je me suis rendu compte que le canal weight de vray en fait c’est l’alpha, donc je l’ai rajouter.
    Les layers sont pris en compte et le Filter conserve maintenant ses parametres.
    J’ai ajouter un dialogue pour l’option remplacer les materiaux dans les tags.
    et j’ai aussi ajouter un petit icone (total illisible )

    J’ai converti ma grosse scene avec, et ca à l’air de plutot bien fonctionner.
    Par contre dans cette scene la majorité des bitmap sont des bitmapshader C4d, mais j’ai quand même rencontré quelques materiaux ou le vrayAdvBitmap Shader a été utilisé et bien sur dans ce cas ca ne fonctionne pas. Mais il semblerai que les utilsateur vray utlise plutôt les shader c4d dans les materiaux VRay. Si c'est pas le cas dites moi, j'essaierai de le prendre en compte.

    Pour les layers et le filter j'ai utilisé un getClone du shader, c'est beaucoup plus simple, j'espere juste qu'il y a pas un loup derrière la facilité.
    Fichiers attachés Fichiers attachés

  6. #6
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    une idée comme ça.

    Pour remplacer tes textures tu peux aussi utiliser la partie "Assignment"
    ça t'évitera de parcourir toute la hiérarchie des objets * nombre de texture.

    Tu peux aussi créer des tableaux si tu veux tracer les correspondances.

    pas beaucoup de code à ajouter et ça supprime pas mal de code pour parcourir l'arborescence

    "Sans programmation défensive"

    Code PHP:
     #on récupère une matière (ici je sais que la première est une vray)
        
    vrayMat doc.GetFirstMaterial()
        
    #je récupères les données des assignements
        
    vrayAssign =  vrayMat[c4d.ID_MATERIALASSIGNMENTS]
        
        
    #Création de la matière et insertion dans le document
        
    phyMat =  c4d.BaseMaterial(c4d.Mmaterial)
        
    doc.InsertMaterial(phyMat)
        
        
    #pour tous les objets présents dans la liste assignment
        
    for i  in xrange(vrayAssign.GetObjectCount()):
            
    #récupération du tag
            
    textTag vrayAssign.ObjectFromIndex(doci)
            
    #mise à jour du champ "material" du tag avec la matière physique
            
    textTag[c4d.TEXTURETAG_MATERIAL] = phyMat 
    Dernière modification par valkaari ; 27/05/2019 à 21h27.

  7. #7
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Ah oui ça m'as l'air bien ça, surtout que j'ai tendance a pas trop me préoccuper des "défenses" dans mes codes

  8. #8
    Big Boss Avatar de NiKo
    Date d'inscription
    novembre 2002
    C4D version
    R12 Studio
    OS
    OSX
    Messages
    6 469
    Super les gars...
    Je teste en l'état...

    NiKo

  9. #9
    Big Boss Avatar de NiKo
    Date d'inscription
    novembre 2002
    C4D version
    R12 Studio
    OS
    OSX
    Messages
    6 469
    ça a l'air de marcher très bien! Bien ouais les gars!

    Edit: ha non, ça ne marche plus quand la texture est chargée dans un VrayAdvancedBitmap, ce qui est le cas dans la majorité du temps...

    NiKo

  10. #10
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Citation Envoyé par Floc Voir le message
    mais j’ai quand même rencontré quelques materiaux ou le vrayAdvBitmap Shader a été utilisé et bien sur dans ce cas ca ne fonctionne pas. Mais il semblerai que les utilsateur vray utlise plutôt les shader c4d dans les materiaux VRay. Si c'est pas le cas dites moi, j'essaierai de le prendre en compte.
    Citation Envoyé par NiKo Voir le message
    ha non, ça ne marche plus quand la texture est chargée dans un VrayAdvancedBitmap, ce qui est le cas dans la majorité du temps...

    Ben voilà, au boulot :p

  11. #11
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Citation Envoyé par NiKo Voir le message
    ha non, ça ne marche plus quand la texture est chargée dans un VrayAdvancedBitmap, ce qui est le cas dans la majorité du temps..
    Ah ok, je suis tombé sur le seul mec qu'utilise jamais le VrayAdvancedBitmap

    Voila, c'est réparé, cette version prend en compte le V-Ray AdvBitmap, et aussi l'exposure en bonus.


    PS : Comme j'uitlise pas du tout vray si il y a un autre truc tres utilsé et qui a un equivalent CD4 dites moi, si c'est pas trop compliqué je peux essayer de l'integrer.
    Fichiers attachés Fichiers attachés
    Dernière modification par Floc ; 28/05/2019 à 20h22.

  12. #12
    Big Boss Avatar de NiKo
    Date d'inscription
    novembre 2002
    C4D version
    R12 Studio
    OS
    OSX
    Messages
    6 469
    Citation Envoyé par Floc Voir le message
    Ah ok, je suis tombé sur le seul mec qu'utilise jamais le VrayAdvancedBitmap

    Lol. Je dois être le seul gars qui se soit frappé les 90 heures de vidéo en anglais de la MasterClass Vray

    Merci pour le script, je teste ça...

    NiKo

  13. #13
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Juste un petit rappel, vu que moi même je l’avais oublié
    On peu recuperer la map de specular dans le canal diffuse (qui n’est pas activé), je sais c’est un peu bizarre, mais le canal reflectance de C4d etant dynamique c'est plus compliqué et j’ai pas vraiment le temps de m’y coller.
    Ca permet de recoller le map à sa place plus facilement.

  14. #14
    Big Boss Avatar de NiKo
    Date d'inscription
    novembre 2002
    C4D version
    R12 Studio
    OS
    OSX
    Messages
    6 469
    ça marche nickel Floc! Grand merci pour le travail! :-)

    NiKo

  15. #15
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Une petite "mise a jour"
    La refraction est prise en compte, le canal couleur n'est plus activé par defaut et le canal alpha est activés a bon escient.
    C'est a dire pas en fonction de l'activation du canal weight (il est toujours actif), mais si il y a une texture dans ce canal, ou si sa valeur de mix est < 1.
    Et super important un icone plus joli
    Fichiers attachés Fichiers attachés

  16. #16
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Je croyais plus jamais m'en servir, mais finalement ce truc est plutôt utile. Donc je continue a l'ameliorer doucement.
    La je voulais recuperer les maps de speculaires et les mettre a la bonne place dans la reflectance.
    J'y suis presque sauf que dans le cas d'un materiaux nouvellement créé, c'est comme si les layers du canal reflectance n'existait pas encore.
    J'obtient des messages du genre c4d.baseMaterial object has no attribute 'GetReflectionLayer...

    Un petit bout de code pour illustrer le probleme.
    la simple fonction GetReflectionLayerCount() genere une erreur.
    C'est pour ca que j'ai tenté insert, Message et Update avant l'appel mais ca ne change rien.

    Code PHP:
    def main():
        
    mat c4d.BaseMaterial(c4d.Mmaterial)
        
    doc.InsertMaterial(mat)
        
    mat.Message(c4d.MSG_UPDATE)
        
    mat.Update(TrueTrue)
        
        
    cntLayer mat.GetReflectionLayerCount()
        print 
    cntLayer
        

    if __name__=='__main__':
        
    main() 
    Par contre si vous essayez avec ce deuxieme script en selectionnant le materiau nouvellement créé, pas de probleme.

    Code PHP:
    def main():    
        
    #Maintenant on selectionne le mat nouvellement crée et ca fonctionne !
        
    matList doc.GetActiveMaterials()
        
    mat matList[0]    
        
    cntLayer mat.GetReflectionLayerCount()
        print 
    cntLayer

    if __name__=='__main__':
        
    main() 

  17. #17
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Le message d'erreur dit bien que la fonction n'existe pas pour un BaseMaterial.


    Code:
    mat = c4d.BaseMaterial(c4d.Mmaterial)
    AttributeError: 'c4d.BaseMaterial' object has no attribute 'GetReflectionLayerCount'

    Donc utilise un Material pour créer ton instance.

    Code:
    mat = c4d.Material(c4d.Mmaterial)
    dans ton deuxième script si tu print ta mat tu aura
    Code:
    <c4d.Material object called 'Mat.1/Mat' with ID 5703 at 0x0000023B68790B50>

  18. #18
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Ah ben oui, ca marche comme ça !
    Grand merci Valkaari.

    Y'as des fois c'est un peux ésotérique le python dans c4d quand même, surtout que j'avais lu sur le forum C4dCafé que c4d.Material etait déprécié !

    Enfin bon, du coup une version qui prend en compte le canal Specular1 de vray et place respectivement specular Color dans layer color et specularReflectionGlossiness dans Layer Mask. Si reflectionGlossiness n'existe pas il essaye specularHighlightGlossiness.
    Bon je sais Layer mask c'est pas la bonne place, mais le but etant (pour moi) de reconvertir vers Redshift, c'est plus facile d'acces pour le recuperer manuellement car le convertisseur redshift ne prend pas en compte la texture rougnhess.
    Fichiers attachés Fichiers attachés

  19. #19
    Pilier Avatar de pxlntwrk
    Date d'inscription
    janvier 2012
    C4D version
    Autre
    OS
    7x64
    Messages
    1 122
    Salut,
    désolé d'arriver un peu tard dans le fil,
    super utile comme outil
    Est ce que quelqu'un sait si il existe le me genre de script pour Octane ?

    Merci
    ::::::::::::::
    pxlntwrk.net

  20. #20
    Pilier Avatar de gr4ph0s
    Date d'inscription
    mai 2013
    C4D version
    R16 Studio
    OS
    win 7 X64
    Messages
    964
    La dernière fois que j'avais regardé (il y a environ 1an), octane n'avait pas d'API pour son node graph dans c4d donc compliqué c'est d'ailleurs pour ça que je n'ai pas fait de light lister pour octane.
    SDK Specialist
    MAXON Computer GmbH

  21. #21
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Citation Envoyé par gr4ph0s Voir le message
    La dernière fois que j'avais regardé (il y a environ 1an), octane n'avait pas d'API pour son node graph dans c4d donc compliqué c'est d'ailleurs pour ça que je n'ai pas fait de light lister pour octane.

    je vois ce que tu fais à 10h01 !!!!!

  22. #22
    Pilier Avatar de pxlntwrk
    Date d'inscription
    janvier 2012
    C4D version
    Autre
    OS
    7x64
    Messages
    1 122
    Citation Envoyé par gr4ph0s Voir le message
    La dernière fois que j'avais regardé (il y a environ 1an), octane n'avait pas d'API pour son node graph dans c4d donc compliqué c'est d'ailleurs pour ça que je n'ai pas fait de light lister pour octane.
    Merci pour l'info
    ::::::::::::::
    pxlntwrk.net

  23. #23
    Pilier Avatar de gr4ph0s
    Date d'inscription
    mai 2013
    C4D version
    R16 Studio
    OS
    win 7 X64
    Messages
    964
    Et bien en faite il semblerait que ça sois possible maintenant https://plugincafe.maxon.net/topic/1...dynamic-slot/5
    SDK Specialist
    MAXON Computer GmbH

  24. #24
    Pilier Avatar de pxlntwrk
    Date d'inscription
    janvier 2012
    C4D version
    Autre
    OS
    7x64
    Messages
    1 122
    yep, j'avais vu la même discussion sur le forum d'Otoy ici>> https://render.otoy.com/forum/viewto...p?f=30&t=72632

    mais j'ai pas approfondi
    ::::::::::::::
    pxlntwrk.net

  25. #25
    Pilier Avatar de Ohliv
    Date d'inscription
    septembre 2006
    C4D version
    R15 Studio
    OS
    Windows 7 64 bits
    Messages
    666
    Salut,

    J'ai voulu télécharger le fichier "VrayMat_To_C4DMat_v0.42.zip" pour tester la conversion mais ça me dit que je n'ai pas l'autorisation de télécharger le fichier.

    Faut-il une autorisation particulière des modérateurs ?

    Merci

  26. #26
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Il faut juste etre connecté, mais vu que tu as laissé un message tu devais l'etre.
    J'ai quand même testé mais sans probleme.
    Souci de navigateur peut etre ?

  27. #27
    Pilier Avatar de Ohliv
    Date d'inscription
    septembre 2006
    C4D version
    R15 Studio
    OS
    Windows 7 64 bits
    Messages
    666
    Oui en effet, vraiment curieux, Chrome m'autorise à télécharger tous les "VrayMat_To_C4DMat.zip" de la page, sans problème, mais pas le dernier fichier "VrayMat_To_C4DMat_v0.42.zip "
    Alors qu'avec Microsoft Edge, ça passe...

    En tout cas tant mieux !

    Merci Floc

  28. #28
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    En jetant un oeil a vos lien je me suis dit que ca serait peut etre assez facile de transposer mon script pour Octane du coup j’ai un petit test vite fait.
    Par contre avant de tenter de pousser plus loin si quelqu’un (genre au hasard pxl ) pouvait tester sur une version 3 ou 4 ca serait pas mal, car vu que j’ai n’ais jamais pus faire fonctionner la 3 sur ma deuxieme machine (ce qu’y ma fait passer a redshift), je n’ai plus qu’une version 2.quelquechose sur une R15. Je ne sais donc pas trop comment ca a evolué. Le node graph par exemple, pour moi n’etait qu’une interface pour construire un materiaux « classique » mais ca a peut etre changé.
    Pour l'instant ne sont pris en compte que les textures diffuse et specular.
    Et pour parfaire le tableau histoire que ca fonctionne dans une version plus recente de C4D, la texture Specular qui devrait etre converti en reflectance est transmise sur le canal luminance (vu que y pas reflectance en R15)

    Et je conseillerai dans un premier temps de plutot utiliser le petit fichier c4d de test histoire d’eviter un fail quasi certain .
    Fichiers attachés Fichiers attachés
    Dernière modification par Floc ; 20/09/2019 à 02h40.

  29. #29
    Pilier Avatar de pxlntwrk
    Date d'inscription
    janvier 2012
    C4D version
    Autre
    OS
    7x64
    Messages
    1 122
    @ Floc t'es un tueur ! je regarde ça au plus vite ! merci
    ::::::::::::::
    pxlntwrk.net

  30. #30
    Pilier Avatar de pxlntwrk
    Date d'inscription
    janvier 2012
    C4D version
    Autre
    OS
    7x64
    Messages
    1 122
    Salut Floc,

    un super merci de t’être penché sur la chose,

    je n'arrive pas a le faire fonctionné,
    je suis en r19 avec la version 2018 et 2019 d'octane.

    testé sur la scène fournie et sur une nouvelle scène avec un mat nouvellement créé
    quand je sélectionne le tag de texture je n'ai aucun retour
    quand sélectionne le materiaux dans la bibol j'ai uniquement ce retour dans la console

    Code:
    1029501oGlossy
    _
    Traceback (most recent call last):
      File "'scriptmanager'", line 134, in <module>
      File "'scriptmanager'", line 94, in main
    AttributeError: 'module' object has no attribute 'OCTANE_MATERIAL_USE_COLOR'
    je sais qu'il y a eu pas mal de chamboulement sur les materiaux entre les version 4, 2018, 2019 quel bazar
    alors te prends pas trop le choux ....
    ::::::::::::::
    pxlntwrk.net

Discussions similaires

  1. Convertir objets 3ds Max vers Cinema 4d
    Par JohnMcClane dans le forum Plugins
    Réponses: 49
    Dernier message: 12/07/2020, 17h03
  2. Convertir les texture de Vray vers Rendu Physique ?
    Par darsanha dans le forum Textures
    Réponses: 8
    Dernier message: 27/05/2019, 17h57
  3. Convertir Materiaux VRay vers C4d standard
    Par Floc dans le forum Général Cinema 4D
    Réponses: 1
    Dernier message: 24/05/2019, 09h23
  4. passer u scene Standard pour rendu Vray
    Par STK dans le forum Nouveaux membres
    Réponses: 2
    Dernier message: 25/02/2014, 19h16
  5. Méthode pour convertir Claude Bonet/bones vers Skin/Joints ?
    Par shtl dans le forum Character animation
    Réponses: 2
    Dernier message: 02/08/2010, 15h03

Les tags pour cette discussion

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