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

Discussion: Convertir les texture de Vray vers Rendu Physique ?

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

    Convertir les texture de Vray vers Rendu Physique ?

    Bonjour,

    Est-il possible ou existe t'il un moyen 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'inversse je ne trouve pas de solutions...
    Des idées ?

    Meci d'avance

  2. #2
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Hello
    J'ai posé la même question il y a quelques jours ici. (A moins que tu parles specifiquement des shaders et pas des materiaux)
    Pour l'instant ca déchaine pas les foules .

  3. #3
    Big Boss Avatar de NiKo
    Date d'inscription
    novembre 2002
    C4D version
    R12 Studio
    OS
    OSX
    Messages
    6 469
    Hello. C'est un process qui m'intéresserait aussi si quelqu'un dégote un script ou autre...

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

    Smile

    Je vais essayé de poser la question dans la partie "programmation" du forum pour voir si quelqu'un pourrait transformer le code COFFEE en PYTHON... ?

  5. #5
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    J'ai commencé a en ecrire un. En fait c'est moins compliqué que ce que j'imaginais.
    Dans un premier temps ca va etre un peu rustique, mais une fois qu'il fonctionnera, si je trouve le temps j'essaierai de regarder le coffee (il est plus sophistiqué)

  6. #6
    Big Boss Avatar de NiKo
    Date d'inscription
    novembre 2002
    C4D version
    R12 Studio
    OS
    OSX
    Messages
    6 469
    Super!
    Dans un premier temps, un script qui se contente de prendre la map du canal Diffuse vray et la place dans un shaker C4D dans le canal couleur, juste ça ça serait déjà top...

    NiKo

  7. #7
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Voila une premiere mouture.
    Ca ne marche qu'avec le vrayadvance material et ne prend que le premier canal diffuse.
    A prendre avec des pincettes quand même, c’était surtout un exercice pour se familiariser avec le système des shaders et materiaux. Il y a une peu de cineversity et un peu d'oli_D. Le code est tel quel avec les print et les commentaire. Plus facile a déchiffrer si ca interesse un codeur non expérimenté. Les autres vont rigoler je pense .
    Mais maintenant je pense pouvoir tenter de convertir le script coffee.

    Attention si il y a un filtre avant la texture ça ne fonctionnera pas. C'est gênant dans mon cas car il y a en a a peu près partout.

    Code PHP:
    import c4dos

    def creer_mat
    (filename,nom,couleuralpha=True):
        
    mat c4d.BaseMaterial(c4d.Mmaterial)
        
    mat.SetName(nom)
        
    doc.InsertMaterial(mat)
        
    mat[c4d.MATERIAL_COLOR_COLOR] = couleur
        
    if filename != "":
            print 
    "dans creer mat : " filename
            shd 
    c4d.BaseList2D(c4d.Xbitmap)
            
    shd[c4d.BITMAPSHADER_FILENAME] = filename
            mat
    [c4d.MATERIAL_COLOR_SHADER] = shd
            mat
    .InsertShader(shd)
        else:
            print 
    "dans creer mat : no texture"

        
    if alpha :
            
    mat[c4d.MATERIAL_USE_ALPHA]=True
            shda 
    c4d.BaseList2D(c4d.Xbitmap)
            
    shda[c4d.BITMAPSHADER_FILENAME] = filename 
            mat
    [c4d.MATERIAL_ALPHA_SHADER]=shda
            mat
    .InsertShader(shda)
           
        
    mat.Message(c4d.MSG_UPDATE)
        
    mat.Update(TrueTrue)
        return 
    mat


    # recursive function where we do stuff to the shaders
    def shadertree(matshader):
        print 
    "2 dans shadertree"
        
    filename ""
        
    dcolor  c4d.Vector(0,0,0)
        
    dcolor mat[c4d.VRAYMATERIAL_COLOR1_COLOR]
        
    # Loop through the BaseList
        
    while(shader):
            print 
    shader.GetName()
            if 
    mat[c4d.VRAYMATERIAL_USE_COLOR1] == True:
                print 
    "3 Channel diffuse on"
                
    # If it's a bitmap, we'll look at the filename
                
    if shader.GetType() == c4d.Xbitmap:
                    
    filename shader[c4d.BITMAPSHADER_FILENAME]
                    
    # for instance we can set the filename to just the file part
                    
    filename os.path.basename(filename)
                    print 
    "filename : " filename
                    shader
    [c4d.BITMAPSHADER_FILENAME] = filename
                
    else:
                    print 
    "no texture"
                    
    filename ""
                
                
    # Check for child shaders & recurse
                
    if shader.GetDown(): shadertree(shader.GetDown())
                
    # Get the Next Shader
                
    shader shader.GetNext()
        
        
        
    mat_name 'AR_' mat.GetName()    
        
    ar_mat creer_mat(filename,mat_name,dcoloralpha=False)
        
    doc.InsertMaterial(ar_mat)

             

    # --------------- main function -------------------

    def main():
        
    c4d.CallCommand(13957# Clear Console
        # Get the first material
        
    mat doc.GetFirstMaterial()
        print 
    "First material in manager : " mat.GetName()
        
    # Loop through materials
        
    matList doc.GetActiveMaterials()
        for 
    mat in matList:
            print 
    "1 : " mat.GetName()
            
    shd mat.GetFirstShader()
            
    shadertree(matshd)        
            


    if 
    __name__=='__main__':
        
    main() 
    Le cooffe etait un script de tcastudio quel est l’éthique a ce sujet ?

  8. #8
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Voila la version inspirée du coffee.
    J’en ai fait deux versions, une qui remplace les materiaux dans les tags et l’autre non. Sur la petite scène de test que j’ai aussi mis dans le zip, ca fonctionne, mais je suis pas très sur de moi sur une grosse scène.

    Donc, il faut sélectionner des materiaux dans le material manager et lancer le script.

    Les canaux converti sont couleur, bump ou normal, luminance et specular… mais pas vraiment.

    Pour Normal et bump, un canal est creé (bump ou normal) selon le reglage du vray material.
    Par contre pour l’amount j’ai juste fait un mix des deux paramètre de vray. Comme j’utilise pas je sais pas trop lequel est plutot utilsé et vue que le 1er est en cm, suis pas trop sur de la pertinance du resultat.

    Pour le specular c’est plus compliqué comme coté c4d les layers de specular sont dynamique il doit y avoir une technique, mais j’ai pas le temps de decrypter ça. Pour l’instant la texture du specular1 se retrouve dans le canal diffuse. Je trouve que c’est plus simple pour la recuperer et la recoller à la bonne place manuellement. Si vous trouvez ca plutôt chiant qu’autre chose, dites moi, ou simplement mettez en commentaire toute la partie specular.

    J’ai bien essayé de conservé la fonctionnalité pour descendre dans la hierarchie des shaders afin de recuperer les textures même si elles sont dans des sous-shader.
    Dans le script de cineversity et dans la doc il parles bien de hiereachy mais il semblerai que ce soit une simple liste sans distinction de canaux, donc pas une hiérarchie, bref, comme c’est évidement pas expliqué dans la doc, on verra plus tard.
    J’ai laissé le morceau de code qui est censé faire le job, et l’ais mis en commentaire.
    J'ais quand même fait un cas special pour le shader filter car dans mon fichier il y a en a plein.

    Je vais aussi le remettre dans la section programation, comme ca se sera plus visible pour nos amis dev.
    Fichiers attachés Fichiers attachés
    Dernière modification par Floc ; 26/05/2019 à 21h44.

  9. #9
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    J'ais mis une nouvelle version dans la section programation

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 Materiaux VRay vers C4d standard
    Par Floc dans le forum Général Cinema 4D
    Réponses: 1
    Dernier message: 24/05/2019, 09h23
  3. texture de mon personnage glisse avec rendu Vray
    Par bilou dans le forum Nouveaux membres
    Réponses: 2
    Dernier message: 01/05/2015, 14h03
  4. [Problème] Exporter 3DSMAX Biped/Physique vers C4D (Vertex Baked ou pas)
    Par kelton dans le forum Nouveaux membres
    Réponses: 0
    Dernier message: 13/06/2011, 22h37
  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