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

Discussion: Integrer une donnée utilisateur dans un effecteur formula

  1. #1
    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

    Integrer une donnée utilisateur dans un effecteur formula

    Ola les amis, je voudrais agir sur la formule d'un effecteur formula via une DU, je me suis dit : Ô à moi les joies du python mais bon voilà faut pas rêver, je me suis douté que ce ne serait pas aussi facile que ça vu mes lacunes en code..

    En gros, j'ai crée une DU que j'appelle "Tours"
    Dans Xpresso j'ai importé mon neutre avec la DU et j'ai ajouté un noeud Python, j'ai supprimé le port 2 et ai renommé le premier "In" et en sortie j'ai renommé le port "Out"

    Dans le noeud Python, j'ai édité le script pour un truc qui devrait être super simple mais j'y arrive pas :

    Code:
    import c4d
    
    def main():
        global Out
        tours = str(In)
        Out = "sin(((id/count)+t)*tours)"
    Je me doute qu'il s'agit d'une erreur de string/integer mais bon j'y arrive pas, une petite idée ??

    Désolé pour niveau de newb..
    kenavo !! // Pinterest KAMIGAZ®

  2. #2
    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
    désolé, en cherchant j'ai trouvé un truc qui marche..

    Code:
    import c4d
    
    def main():
        global Out
        tours = str(In)
        Out = "sin(((id/count)+t)*"+tours+")"
    kenavo !! // Pinterest KAMIGAZ®

  3. #3
    Pilier Avatar de MacGreggor
    Date d'inscription
    septembre 2009
    C4D version
    R21 Perpétuelle
    OS
    Mojave
    Messages
    1 668
    Ben tant mieux, Lapinou, t'as bien de la chance de trouver des trucs qui marchent.

  4. #4
    Dépendant
    Date d'inscription
    octobre 2011
    C4D version
    R15 Studio
    OS
    Win7 64 bits
    Messages
    404

  5. #5
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Rooooo Aurety qui va attraper le virus du python ! Bon c'est pas encore le niveau pour créer une blonde paramétrique, mais faut un début à tout !

  6. #6
    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
    oui mais vu dans la perspective neo-gothique-post-punk (époque réaliste ), c'est à la mesure de mon niveau actuel.
    Dans une prochaine mouture, je vais tenter de cacher un "Hello world" dans le code histoire de respecter les anciens..
    kenavo !! // Pinterest KAMIGAZ®

  7. #7
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Si t'es vraiment allergique, tu peux aussi utiliser le noeud addition mais en changeant le type en string (chaine)
    Du coup on peut ajouter des chaines de caractères et envoyer le tout dans le champ formule.



    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		formula.png 
Affichages :	24 
Taille :		126,6 Ko 
ID : 			17000

  8. #8
    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
    oh non, je veux bien apprendre surtout quand je vois qu'il faut 10 noeuds pour faire un truc qui se fait en 2 lignes.
    kenavo !! // Pinterest KAMIGAZ®

  9. #9
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    ha mais je t'encourage vivement de te mettre au python hein ^^

    tu peux aussi écrire directement sans passer par une variable supplémentaire.
    Code:
    Out = "sin(((id/count)+t)*"+ str(In)+")"
    tu peux aussi écrire celle ci qui a pour avantage de rendre encore plus lisible la formule et d'éviter l'oublie de "
    (voir les fonctions printf en c++ ou en php
    Code:
    Out = "sin(((id/count)+t)* %s)"  % (In)
    par exemple:
    Out = "my name is %s et je sodomise %s" % ('valkaari','geantvert')
    Dernière modification par valkaari ; 30/01/2016 à 17h08.

  10. #10
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Citation Envoyé par valkaari Voir le message
    tu peux aussi écrire celle ci qui a pour avantage de rendre encore plus lisible la formule et d'éviter l'oublie de "
    (voir les fonctions printf en c++ ou en php
    Code:
    Out = "sin(((id/count)+t)* %s)"  % (In)
    Il est même conseillé d'utiliser d'utiliser string.format qui est plus puissant et qui n'est pas amené à disparaître contrairement à %.

    Note The formatting operations described here are obsolete and may go away in future versions of Python. Use the new String Formatting in new code.
    https://docs.python.org/release/3.1....ing-operations

    Code:
    Out = "sin(((id/count)+t)*{tours})".format(tours=In)
    ou
    Code:
    Out = "sin(((id/count)+t)*{0})".format(In)
    voire en python 2.7 (R17) :
    Code:
    Out = "sin(((id/count)+t)*{})".format(In)

  11. #11
    Pilier Avatar de gr4ph0s
    Date d'inscription
    mai 2013
    C4D version
    R16 Studio
    OS
    win 7 X64
    Messages
    964
    Ca serais cool qu'il mette la version 2.7 sur toute les versions de C4d et pas uniquement sur la R17.

    Je pense notamment à l'intégration de fabric engine qui n'en serait que facilité, mais y'a un tas de librairie uniquement 2.7 et la plupart des fonctions sont compatibles...
    SDK Specialist
    MAXON Computer GmbH

  12. #12
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Citation Envoyé par xs_yann Voir le message
    Il est même conseillé d'utiliser d'utiliser string.format qui est plus puissant et qui n'est pas amené à disparaître contrairement à %.

    et c'est ce que j'utilise mais je trouvais ça un peu trop Errrrrkkkk pour une première approche

  13. #13
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    et apparemment même format devrait disparaître http://sametmax.com/ou-format-en-python/ avec python.3.6

    Il faut qu'on fasse gaffe, si on commence à disserter sur 15 post pour 3 lignes de code on va faire fuir notre valeureux lapin !

  14. #14
    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
    Bhein non, ça me fait même plaisir car ça me donne au moins le moyen de comprendre enfin ce que je lis. 3 lignes justes comme il faut, qui font le job et maintenant on me dit qu'il y aurait dans toute cette rigueur de la poésie alors oui, ça m'emballe
    kenavo !! // Pinterest KAMIGAZ®

Discussions similaires

  1. Créer une Donnée Utilisateur en degrés
    Par César Vonc dans le forum Programmation
    Réponses: 2
    Dernier message: 08/01/2014, 22h24
  2. Désactivé une donnée utilisateur en fonction d'une autre
    Par Fredaubailly dans le forum Xpresso
    Réponses: 2
    Dernier message: 22/02/2013, 23h01
  3. Réponses: 8
    Dernier message: 27/11/2012, 17h47
  4. [Problème] Problème avec Donnée utilisateur de type Lien
    Par Seb-bbl dans le forum Xpresso
    Réponses: 9
    Dernier message: 25/11/2011, 15h00
  5. donnée utilisateur
    Par Thierry HL dans le forum Xpresso
    Réponses: 17
    Dernier message: 11/08/2007, 19h31

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