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

Discussion: Comparer & Conditions

  1. #1
    Touriste Avatar de fab__
    Date d'inscription
    février 2013
    C4D version
    R16 Studio
    OS
    win 7
    Messages
    22

    Wink Comparer & Conditions

    Salut tous le monde

    J' ai une scène avec une donnée utilisateur pour faire bouger sur les Y un rectangle




    Mon problème est qu'en sortie des comparateurs ou conditions j'ai une valeur vrai ou fausse
    donc dans mon cas 0 , 1 , 2 ... et je souhaiterais par exemple avec une cartographie d'intervalle
    retranscrit mon résultat 0 à 1 et le faire passé de 0 à 100
    le hic c'est qu'il passe de 0 à 100 sans passer par les valeurs intermédiaire 123456789...
    Je n'ai donc pas un mouvement fluide en l’occurrence mon cube dirigé par un bouton vecteur
    2d se trouve soit à 0 soit à 100.
    Y a t'il un noeud permettant de retranscrire true or false en une valeur qui passera par les nombres
    intermédiaire lors du déplacement de mon bouton?

    ma scène si vous souhaitez jeter un oeil


  2. #2
    Gourou Avatar de tabou
    Date d'inscription
    juin 2002
    C4D version
    R21 Perpétuelle
    OS
    OS X 10.13.6
    Messages
    2 272
    Le nœud monoflop est ton ami, c'est l'équivalent d'une minuterie, va voir sur le site de base 80 ce mini tut qui explique bien son fonctionnement.

  3. #3
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Salut,

    La solution que t'as donné Tabou est surement meilleure, mais si jamais tu veux faire une incrémentation linéaire tu peux faire un truc comme ça :



    Tu compares ta valeur en entrée (soit 0, soit 100, etc) avec ta position Y actuelle. Et tu fais une condition pour avoir en retour :
    Si position courante < input : position Y + constante
    Sinon : la position actuelle

    Et pareil pour la soustraction.

  4. #4
    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
    Et pour info, une comparaison logique est toujours équivalente à 0 ou 1 (un booléen). Il n'est pas possible d'avoir un statut qui est partiellement vrai ou faux (soit la condition testée est vraie, soit elle est fausse, mais jamais entre les deux).
    Fluffy mais costaud...www.fluffy4d.com

  5. #5
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    j'ai même pas compris ce que tu veux faire moi en fait xD

  6. #6
    Touriste Avatar de fab__
    Date d'inscription
    février 2013
    C4D version
    R16 Studio
    OS
    win 7
    Messages
    22

    Wink

    Merci pour vos indices

    Je me fais de petits exercices sur les comparateurs et conditions pour une une future utilisation sur des personnages
    animés histoire de pouvoir pousser l'automatisation .

    Ma question était : y a t il un noeud permettant de transformer ces valeurs vrai faux (0-1) en suite de nombres du style
    0 puis 0.1 puis 0.2 puis 0.3...
    Ce qui me permettrait de passer d'une condition à une autre de manière progressive et non pas arrêtée : 10, 50 ou etc.

    Mais comme tu l'as bien dis Fluffy ça ne paraît pas possible.

    L'idée du mono flop est intéressante mais je ne souhaite pas avoir de durée déterminée.

    Je me disais qu'il avait peut être un moyen de créer des valeurs entre ce 0 et ce 1.


  7. #7
    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
    Yann t'a donné un exemple parfait pour ce que tu souhaites faire, mais cela sous-entend bien entendu que la valeur à laquelle tu compares ton noeud soit une valeur qui change de manière progressive (dans son exemple, la progression d'un cube sur l'axe Y).
    Fluffy mais costaud...www.fluffy4d.com

  8. #8
    Touriste Avatar de fab__
    Date d'inscription
    février 2013
    C4D version
    R16 Studio
    OS
    win 7
    Messages
    22
    Bien reçu
    merci pour vos conseils

  9. #9
    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
    Tu peux également utiliser la cartographie d'intervalle ( et donc sa spline ) pour pouvoir faire une transition moins brutale en la couplant par exemple à un noeud temps mais encore une fois le monoflop est parfait pour ça.
    kenavo !! // Pinterest KAMIGAZ®

  10. #10
    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
    Pas de transition possible sur un booléen, même avec une cartographie d'intervalle, puisqu'il ne sort que deux valeurs (0 et 1), pas de valeurs intermédiaires.
    Il faut juste repenser l'Xpresso, pour avoir une évolution graduelle en plus du booléen (comme Yann le suggérait).
    Fluffy mais costaud...www.fluffy4d.com

  11. #11
    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
    je n'ai pas dit d'utiliser un noeud qui te sert un booléen mais d'utiliser juste une cartographie d'intervalle pour faire une sortie qui varie de 0 à 1.
    kenavo !! // Pinterest KAMIGAZ®

  12. #12
    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
    j'ai même pas compris ce que tu veux faire moi en fait xD
    Je suis pas sur d'avoir compris non plus.

    Je tente quand même un autre exemple :



    Ici on a en entrée la position Y et une constante qui représente la position à atteindre. On les soustrait et on les multiplie par une constante. On ajoute le résultat à la position actuelle. Ca permet d'avoir une transition plus douce.

    pos = oldPos + (oldPos - newPos) * factor

  13. #13
    Gourou Avatar de clemz
    Date d'inscription
    février 2009
    C4D version
    R15 Studio
    OS
    windaube x64
    Messages
    2 165
    Citation Envoyé par valkaari Voir le message
    j'ai même pas compris ce que tu veux faire moi en fait xD
    haha t'es vraiment neuneu en fait toi !? ( moi non plus je n'ai pas compris .. )

  14. #14
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    C'est rassurant xD

    j'ai l'impression que tu veux faire un slider en fait qui de 0 à 25 sort 0->100 et de 25 à 65 sort 100->200

  15. #15
    Touriste Avatar de fab__
    Date d'inscription
    février 2013
    C4D version
    R16 Studio
    OS
    win 7
    Messages
    22
    Je vous fais parvenir une nouvelle scène comme exemple
    la première n'était pas clair ...

    Est-ce que je peux avoir une transition soft entre les deux valeurs que je donne au cube Y
    en changeant la valeur de ma donnée utilisateur.
    Bien sûr je pourrais passer par une cartographie d'intervalle pour un exemple si simple.
    mais l'idée c'est de capter un peu plus ce que je peux faire avec les conditions.

    Scène xpresso

    xs_yann je capte pas, pourrais-tu m'envoyer la scène de ton premier exemple
    envoyée hier à 14h35.

  16. #16
    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
    Pour un exemple comme celui-ci: cartographie d'intervalle.
    Par contre on n'est plus dans les paramètres de test de condition, là.

    Si tu veux prendre une condition en considération, tu pourrais peut-être utiliser le statut d'une condition pour activer le mouvement graduel d'un objet entre deux valeurs.
    Faudrait que je réfléchisse à une manière de faire cela dès que j'ai un peu de temps, mais c'est faisable.
    Dernière modification par Fluffy ; 21/03/2013 à 16h10.
    Fluffy mais costaud...www.fluffy4d.com

  17. #17
    Gourou Avatar de clemz
    Date d'inscription
    février 2009
    C4D version
    R15 Studio
    OS
    windaube x64
    Messages
    2 165
    je dois vraiment être neuneu car je ne pige toujours pas ce que tu veux faire :S .

    Supposons que tu veuilles faire bouger le cube en Y , de 2 façons :
    une 1ère de -100 à 0 sur la donnée utilisateur , qui ferait bouger le cube de -50 à 0
    et une 2ème de 0 à +100 , qui ferait bouger le cube (d'une autre façon donc ) genre de 0 à120

    il faut donc effectivement un noeud comparaison pour detecter si on est dans l'intervalle -100 à 0 ou 0 à +100 de la donnée . Ce noeud tu le branches sur le switch d'un noeud condition avec 2 entrées . Sur ces 2 entrées tu branches 2 range mapper ( cartographie blabla ) eux mêmes connectés en entrée sur ta donnée utilisateur avec pour un rangemapper : input lower -100 input upper 0 , output lower -50 output upper 0 , et les options "clamp" en min et max
    pour l'autre range mapper : input low 0 upper 100 , output low 0 upper 120 , clampé aussi .
    En sortie de ton noeud conditions tu branches ton cube / position Y (ou global position Y .. ça dépend de ce que tu cherches .. position locale ou globale ) .
    A ce stade tu vas avoir 2 modes de déplacement "linéaires" pour ton cube .. donc une espèce de cassure dans la "vitesse" du mouvement à 0 sur ta donnée car il va décrire un parcours plus grand au dessus de 0 (bouge de '120' sur +0 +100 ) que en dessous de 0 (bouge de '50' sur -100 +0) . Tu peux donc maintenant jouer avec les splines des noeuds rangemapper pour venir créer une espèce de "tangence" en 0 et que la vitesse soit grosso modo la même autour de 0 sur ta donnée utilisateur .. le cube subira alors une phase de décélération quand ta donnée arrivera sur 0 , et réaccélérera suivant que ta donnée arrive en +100 ou -100 .

  18. #18
    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 fab__ Voir le message
    xs_yann je capte pas, pourrais-tu m'envoyer la scène de ton premier exemple
    La scène : http://www.xsyann.com/fc4d/xpresso_fab.c4d

    Je t'ai mis trois Xpresso : le deuxième exemple que j'ai posté avec la multiplication, le premier exemple avec Xpresso modifié, et une implémentation toute simple du premier exemple en Python.

    J'ai un peu revu l'Xpresso car ce n'était pas si simple d'ajouter la partie soustraction.



    Donc tu as en entrée 0 ou 200. Ce qu'on cherche c'est d'avoir -1 si c'est supérieur à la position courante, 1 si c'est inférieur ou 0 si les positions sont égales.
    Ensuite il suffit de multiplier une constante de notre choix (ici 3.5) par ce résultat ce qui nous donne soit 'constante' soit '-constante' soit 0.
    On ajoute ça à la position courante et on Clamp le résultat pour être sûr de ne pas sortir des bornes.

  19. #19
    Touriste Avatar de fab__
    Date d'inscription
    février 2013
    C4D version
    R16 Studio
    OS
    win 7
    Messages
    22
    Merci clemz & xs_yann pour vos solutions.
    je prends le temps de regarder tout ça en détail et reviens vers vous si j'ai des questions.

    Merci encore

Discussions similaires

  1. Cofféé dans de meilleures conditions !
    Par Steph3D ::. dans le forum Programmation
    Réponses: 3
    Dernier message: 14/04/2007, 19h38
  2. comparer modeleurs
    Par arioste dans le forum Nouveaux membres
    Réponses: 6
    Dernier message: 22/01/2006, 12h52
  3. Réponses: 14
    Dernier message: 14/04/2005, 21h25

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