Boutique Cinema 4D
Page 1 sur 6 123 ... DernièreDernière
Affichage des résultats 1 à 30 sur 179

Discussion: Procédurales 3D

  1. #1
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483

    Procédurales 3D

    --
    Version 0.3.6

    http://code.vonc.fr/?a=30
    --

    Bonjour,


    Je suis heureux de vous présenter un projet de script que j'ai enfin réussi à mettre au point !

    Il s'agît de convertir une texture procédurale en un objet 3d, notamment les différents sortes de bruit.


    La méthode consiste à créer un nuage de points aux zones claires de la texture, sur le plan U, V et W, puis connecter tout ça pour obtenir l'enveloppe de la forme.

    Le script n'est pas encore au point pour être publié (problème de lenteur, notamment), mais assez pour sortir quelques petites représentations 3d des différents bruits !





    Maintenant, la partie moins aguichante.

    J'aimerais pouvoir générer l'objet directement à partir d'une matière d'un matériau. Pour l'instant, je génère un bruit avec la classe C4DNoise, or la crème de la crème serait de récupérer directement les pixels de la matière à partir de la classe BaseShader.

    Il y a bien un exemple dans la doc, mais il ne concerne que la matière Bitmap (GetBitmap), et non les procédurales.
    Je n'arrive pas à récupérer un quelconque pixel du matériau car je ne parviens pas à initialiser le VolumeData requis, ni à bien comprendre comment il marche...

    J'ai essayé avec le VolumeData de InitRenderStruct (voir exemple), mais il me sort toujours (1, 1, 0) comme pixel, quelques soient les coordonnées.
    Dernière modification par César Vonc ; 22/10/2012 à 18h34.

  2. #2
    Gourou Avatar de druide
    Date d'inscription
    février 2005
    C4D version
    R13 Studio
    OS
    10
    Messages
    2 761
    Tu vas faire des heureux, quand tu auras fini, déjà là, c'est superbe, keep up.
    Semi-nudistes Marathoniens et Campagnards
    Absent, quand je ne suis pas là.

    Merci aux modos pour tout et tous.

  3. #3
    Pilier Avatar de iolofato
    Date d'inscription
    juillet 2003
    C4D version
    R24 Souscription
    OS
    10.14.6
    Messages
    1 157
    Billets dans le blog
    1
    yeaaaah texture osseuse, de mie ou croûte de pain en gros plan etc. balaise ça

  4. #4
    Vieux Croûton Avatar de Aurety
    Date d'inscription
    juillet 2002
    C4D version
    R17 Studio
    OS
    Mac
    Messages
    14 477
    Billets dans le blog
    3
    C'est juste incroyable !
    Je vais suivre ça de trés trés près ! Bravo César, c'est à chaque fois trés original tes approches de plugins et tu explores des sentiers que d'autres ne suivent pas
    kenavo !! // Pinterest KAMIGAZ®

  5. #5
    Big Boss Avatar de Seb-bbl
    Date d'inscription
    mai 2005
    C4D version
    R13 Studio
    OS
    Mac OSX 10.7
    Messages
    6 507
    Billets dans le blog
    8
    Impressionnant, c'est le seul mot qui me vient.

  6. #6
    Pilier Avatar de Wonders
    Date d'inscription
    juillet 2011
    C4D version
    S22 Souscription
    OS
    Win10
    Messages
    968
    Oh putaing, my Hero !

    Tu veux que je passe la question pour toi du côté de chez Maxon ?
    Je suis sûr que la vue de tes avancements va les inspirer =)

  7. #7
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    rien compris

  8. #8
    Vieux Croûton Avatar de shtl
    Date d'inscription
    octobre 2004
    C4D version
    S22 Souscription
    OS
    osX 12.3.1
    Messages
    13 880
    Billets dans le blog
    5
    Gééééénial!
    C'est génial que tu y arrives, et tes aperçus sont

    Tu auras le moyen d'utiliser les filtres des bruits 3d pour générer le maillage ?


    D'autres softs appellent ça volumétric material, ou hyper texture chez Vue par exemple… on a pas grand chose au viewport, ou alors une prévisualisation très sommaire, et c'est au rendu que ça se passe (et c'est très long à rendre généralement).

    Tes exemples sont plus que convaincants !
    2x6coreXéon2.66(24T);64Gram; GTX 1080; OSX10.13.6 ////
    Mac Studio 128 Ram ; OSX 12.3.1 ; papiercrayoncerveau;S22Studio;Redshift;Zbrush2022; CS2022
    ///SHTL 2011 DEMO HERE : http://demo.shtl.org/ /// NEW! 2014 WIP

  9. #9
    Timide Avatar de DraganII
    Date d'inscription
    avril 2008
    C4D version
    R13 Prime
    OS
    seven 64
    Messages
    94
    Bonjour

    C'est tout simplement génial, heu ça veut dire que c'est animable en plus?
    vraiment énorme félicitation.
    "Ton devoir réel est de sauver ton rêve" A.Modigliani

  10. #10
    Gourou Avatar de Paradox
    Date d'inscription
    juin 2006
    C4D version
    R15 Studio
    OS
    Mac OS X
    Messages
    3 955
    Billets dans le blog
    1
    Excellent !
    Même question que DraganII, c'est animable même si je suppose que c'est très long à calculer ?
    www.paradoxstudio.fr - MacPro 12 core 2.93 ghz - 16 Go Ram - NVIDIA Quadro 4000 + GT120 / MacPro Octo-core 3.2 ghz / Wacom Cintiq 12 WX

  11. #11
    Squatteur Avatar de Helium
    Date d'inscription
    novembre 2009
    C4D version
    R13 Broadcast
    OS
    OS X 10.6
    Messages
    188
    Waou, sacré boulot, je suis ça avec attention

  12. #12
    Big Boss Avatar de Rudy
    Date d'inscription
    mars 2005
    C4D version
    R14 Visualize
    OS
    W 10 Pro 64 bits
    Messages
    8 590
    Billets dans le blog
    4
    Quel magnifique travail

    Comme le dit iolofato, les textures osseuse, gruyère, de mie ou croûte de pain vont enfin être réalisables.

    Et ce n'est qu'un début
    My BlogAccepter une possibilité, c'est lui permettre de se réaliser ...

  13. #13
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Très impressionnant César !

    Je crois que j'ai compris ce que tu cherches à faire, mais je n'ai jamais essayé de récupérer les valeurs de couleur depuis un shader. J'ai regardé la doc et c'est vraiment pas simple à comprendre ...

    Sinon un autre piste type "bricolage", si tu récupères ton shader de type bruit et que tu récupères tous les paramètre, genre shader[c4d.SLA_NOISE_COLOR1] et que tu les balances dans ton c4dNoise, est-ce que ça ne ferait pas un bout de la blague ?

    Mais c'est vrai que cela limite au seul bruit et si on arrivait à récupérer le résultat de la combinaison de calques ce serait top ...


    Petite question, quand tu dis que tu connectes tes points 3D, tu fais comment ta triangulation ?

  14. #14
    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
    rho le truc de malade, ca ouvre de superbes perspectives de modelisation ce machin là.

    chapeau pour le boulot
    i7 4790K/32GoDDR3/GTX1070 - Genghis Khan

  15. #15
    Gourou Avatar de tabou
    Date d'inscription
    juin 2002
    C4D version
    R21 Perpétuelle
    OS
    OS X 10.13.6
    Messages
    2 272
    Génialissime !! je vais suivre de près l'évolution de ton plug

  16. #16
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Eh ben, quel accueil ! ^^

    Merci à vous !


    Tu veux que je passe la question pour toi du côté de chez Maxon ?
    Ah là, tu me prends par les sentiments !
    Je vais quand même essayer d'autres pistes, mais si ça peut donner des idées à Maxon pour qu'ils implémentent ces types d'objets dans leur future version, je n'en serais que ravis (avec quelques nouveaux types de bruits, au passage. ^^).

    Tu auras le moyen d'utiliser les filtres des bruits 3d pour générer le maillage ?
    Oui, le but à terme est de pouvoir faire des mélanges de bruits, comme on le fait avec un matériau, pour en tirer un maillage personnalisé !

    D'autres softs appellent ça volumétric material, ou hyper texture
    c'est animable en plus?
    Tiens, intéressant ! Je me sens rassuré car il est vrai que ces bruits 3d mettent un temps fou à se calculer. C'est pas bête d'utiliser un aperçu pour l'affichage, ça peut rendre la question de l'animation plus abordable !

    En théorie oui, puisqu'on peut animer un bruit procédural, on peut en tirer un maillage à chaque image, le seul soucis est le temps de calcul (plusieurs dizaines de secondes pour chaque exemple de l'image).

    Le script peut encore être optimisé. Val (qui a maintenant tout compris) m'aidera probablement à le passer en C++ qui est plus rapide que le Python.


    si tu récupères ton shader de type bruit et que tu récupères tous les paramètre, genre shader[c4d.SLA_NOISE_COLOR1] et que tu les balances dans ton c4dNoise, est-ce que ça ne ferait pas un bout de la blague ?
    Oui ! Je peux récupérer les paramètres de la matière bruit et les injecter dans le C4DNoise ; donc au pire des cas, ce sera ça.

    quand tu dis que tu connectes tes points 3D, tu fais comment ta triangulation ?
    Le procédé est en réalité assez simple. À partir du nuage de points, je créé un cube à chaque point, puis supprime les cubes intérieurs, avant d'ajouter un petit déformateur lissage pour adoucir l'objet.

    C'est pour ça que le script n'est pas très rapide, j'ai utilisé une grille de 400 000 points pour les exemples, ce qui peut amener à gérer 2,4 millions de polygones en fonction du type de bruit. Un Zada mettre bien plus de temps à se calculer qu'un Poxo, par exemple.


    Et 15 minutes pour 19 millions de polys. : P
    Dernière modification par César Vonc ; 28/08/2012 à 14h52.

  17. #17
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Petite micro-màj de bonnes nouvelles :

    Temps de calcul divisé par 3 et problème des calques résolu : il sera désormais possible de mélanger des calques de bruit, de les animer, en gros d'utiliser la sortie d'un matériau !

    Et pas besoin de VolumeData, tout compte fait, suffisait d'initialiser le ChannelData sans.

    Code PHP:
    import c4d
    from c4d import Vector
    from c4d
    .modules.render import ChannelDataInitRenderStruct


    def main
    ():
        
    mat doc.GetActiveMaterial()
        
        
    mati mat[c4d.MATERIAL_COLOR_SHADER]
        
        
    irs InitRenderStruct()
        
    mati.InitRender(irs)
        
    cd ChannelData()
        
    cd.Vector(000# Coordonnées à modifier
        
    print mati.Sample(cd)
        
    if 
    __name__=='__main__':
        
    main() 

  18. #18
    Gourou Avatar de Teutch
    Date d'inscription
    décembre 2008
    C4D version
    R10
    OS
    Vista 32bit
    Messages
    2 651
    Tu es hallucinant !

    Ton truc me fait encore plus regretter de ne pas avoir la R13... méchant !


    Merci pour les autres...
    Cinema 4D R10 de base, sur ordi de base (PC RIP - décembre 2008 - février 2017 ), avec cerveau de base...

  19. #19
    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
    Citation Envoyé par shtl Voir le message
    D'autres softs appellent ça volumétric material, ou hyper texture chez Vue par exemple… on a pas grand chose au viewport, ou alors une prévisualisation très sommaire, et c'est au rendu que ça se passe (et c'est très long à rendre généralement).
    Oui, Final Render proposait un matériau de la sorte, excellent (et rapide, contrairement à Vue).

    En tous cas, tes tests déchirent César. Il y a beaucoup d'avantages à avoir une réelle géométrie au final (certainement beaucoup plus lent et gourmand en ressources, par contre).
    Je suis avec attention!
    Fluffy mais costaud...www.fluffy4d.com

  20. #20
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    J'ai bien avancé côté interface, cependant je me retrouve bloqué.


    Pour lisser le maillage, j'utilise le déformateur Lissage, or il est le SEUL déformateur à ne pas fonctionner sur un générateur d'objets (comme les primitives).

    Est-ce un bogue ?

    Si quelqu'un a une astuce, je suis preneur (idem sur la démo de la R14).

  21. #21
    Pilier Avatar de Wonders
    Date d'inscription
    juillet 2011
    C4D version
    S22 Souscription
    OS
    Win10
    Messages
    968
    J'aurais tendance à penser que le lissage (genre phong) s'appuie sur de la définition de points/polygones.
    Et c'est sans doute pour ça que ça ne marche pas sur des objets paramétriques. Un peu comme les axes qu'on ne peut bouger qu'après conversion de l'objet.

    Par contre peut-être qu'un déformateur "Correction" pourrait t'aider, placé avant le lissage !?

    Edit : my bad... tu parlais de lissage et j'avais le tag en tête. Je ne sais pas comment se comporte le déformateur. Mais le "correction" peut peut-être tout de même t'être utile.
    Dernière modification par Wonders ; 29/08/2012 à 13h53.

  22. #22
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Oui, je parlais bien du déformateur .


    Par contre peut-être qu'un déformateur "Correction" pourrait t'aider, placé avant le lissage !?
    Hélas non, aucun changement, le déformateur lissage s'échine à résister.


    J'ai essayé de reproduire en script ce lissage, en appliquant l'outil Ponçage, mais le temps de calcul est presque décuplé.

  23. #23
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Problème résolu ! ^^


    Grand merci à Val qui a trouvé la solution sur le clavardeur du site. Voici le bout de script pour contourner le soucis :


    Dans la fonction GetVirtualObjects de la classe ObjectData, renvoyer le résultat de la commande MCOMMAND_CURRENTSTATETOOBJECT.

    Code PHP:
    objet utils.SendModelingCommand(command=c4d.MCOMMAND_CURRENTSTATETOOBJECT, list=[obj], doc=doc)
    return 
    objet[0
    Et ainsi, le déformateur Lissage affectera bien le générateur !



    Prochaine mise à jour avec un aperçu du fonctionnement du module, et un rendu animé !

  24. #24
    Pilier Avatar de Wonders
    Date d'inscription
    juillet 2011
    C4D version
    S22 Souscription
    OS
    Win10
    Messages
    968
    J'ai le kiki tout dur...

  25. #25
    Dépendant Avatar de Taiko
    Date d'inscription
    octobre 2009
    C4D version
    R12 Studio
    OS
    Mac OS X Version 10.7.4
    Messages
    470
    Pareil

  26. #26
    Gourou Avatar de diego1968
    Date d'inscription
    juillet 2006
    C4D version
    R21 Perpétuelle
    OS
    Mac OS 10.13.6
    Messages
    2 149
    C'est tout simplement halluciant ton truc……

    Je suis impressionné par ta maitrise et ta créativité programmatique

    Un grand bravo à toi…tu deviens notre Nitro4D à nous !

  27. #27
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Merci, une petite anim vite fait d'un mélange progressif de deux bruits et d'essais de booléens :



    Les animations ne pourront pas être totalement fluides, à moins d'augmenter drastiquement la précision au détriment du temps de calcul, chaque image ayant un maillage différent.

    Chaque modèle de ce gruyère met 10 secondes à se calculer, mais rassurez-vous, j'ai établi un mode Vue et un Rendu, pour plus de souplesse, qui permet d'avoir un aperçu de la forme de manière quasi instantanée (avec une faible précision).


    D'autres rendus et captures demain !
    Dernière modification par César Vonc ; 30/08/2012 à 02h56.

  28. #28
    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
    Haha, ça promet!
    Fluffy mais costaud...www.fluffy4d.com

  29. #29
    Pilier Avatar de Wonders
    Date d'inscription
    juillet 2011
    C4D version
    S22 Souscription
    OS
    Win10
    Messages
    968
    Génial !

    César, président !

    Et t'aurais pas un moyen d'utiliser des sortes d'atténuations (peut-être un dégradé à partir des normales de l'objet conteneur), histoire de pouvoir se faire de la variation/mixage poussée.
    Par exemple un objet avec un cœur très dense mais qui se désagrège sur l'extérieur. Un peu comme du corail peut-être.

    En tout cas ça tue déjà en l'état. Bravo !

  30. #30
    Vieux Croûton Avatar de Aurety
    Date d'inscription
    juillet 2002
    C4D version
    R17 Studio
    OS
    Mac
    Messages
    14 477
    Billets dans le blog
    3
    Ouououooouuu ! C'est tip top ! Je vois déjà en médical 15000 trucs que je pourrais faire avec ce genre de technique. Je vote César
    kenavo !! // Pinterest KAMIGAZ®

Discussions similaires

  1. Une route en procédurale
    Par Slimmy dans le forum Texturage
    Réponses: 24
    Dernier message: 29/03/2013, 00h01
  2. texture procédurale
    Par gabo dans le forum Nouveaux membres
    Réponses: 5
    Dernier message: 01/05/2007, 07h22
  3. Textures Procédurale
    Par Psycho_Guedin dans le forum Textures
    Réponses: 6
    Dernier message: 29/10/2006, 02h28
  4. texture procedurale
    Par sinclairzxfr dans le forum Textures
    Réponses: 8
    Dernier message: 02/08/2005, 13h51
  5. procedurale sur c4d6
    Par cram dans le forum Textures
    Réponses: 64
    Dernier message: 12/11/2003, 16h43

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