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

Discussion: Animer une formule

  1. #1
    Touriste
    Date d'inscription
    janvier 2013
    C4D version
    R19 Studio
    OS
    Win 10 et OSX
    Messages
    28

    Animer une formule

    Bonjour,

    J'ai l' "objet formule" que j'aimerais utiliser afin d'animer une sorte de voile.
    J'aimerais simplement que la formule de type :
    Sin((u+t)*2.0*PI)*0.5 diminue petit à petit jusqu'à stopper.

    Donc visiblement il faudrait que je passe de : Sin((u+t)*2.0*PI)*0.5 à Sin((u+t)*2.0*PI)*0

    Mais lorsque j'anime ma formule à l'aide de point clé sur la timeline, la formule passe de l'un à l'autre sans intermédiaire.

    J'imagine que Xpresso que je connais très très très peu pourrait m'aider.

    Mais par quel moyen ?

    Un indice ?

    Merci d'avance.

    Nico

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

    Tu peux faire ça avec un Tag Python sur ta formule.

    Exemple pour passer de 0.5 à 0 entre la frame 10 et 50 :
    Code PHP:
    import c4d

    frame_start 
    10 # Frame de début
    frame_end 50 # Frame de fin

    x_from 0.5 # Valeur à la frame de début
    x_to # Valeur à la frame de fin

    def range_convert(old_valueold_minold_maxnew_minnew_max):
        
    # On change de range
        
    new_value = (((old_value old_min) * (new_max new_min)) / (old_max old_min)) + new_min
        
    # On clamp entre le min et le max (sachant que le min peut être plus grand que le max)
        
    max_fmin_f = (maxmin) if new_min new_max else (minmax)
        return 
    max_f(min_f(new_valuenew_max), new_min)

    def main():
        
    # On récupère la frame courante
        
    current_frame doc.GetTime().GetFrame(doc.GetFps())
        
    # On converti la valeur de la frame courante qui est entre [frame_start, frame_end]
        # en une valeur comprise entre [x_from, x_to] 
        
    current_x range_convert(current_frameframe_startframe_endx_fromx_to)
        
    op.GetObject()[c4d.FORMULAOBJECT_DLT] = "Sin((u+t)*2.0*PI)*" str(current_x
    Je pense que tu peux faire la même chose avec Xpresso et une cartographie d'intervalle.

  3. #3
    Touriste
    Date d'inscription
    janvier 2013
    C4D version
    R19 Studio
    OS
    Win 10 et OSX
    Messages
    28
    Salut Yann et merci pour ta réponse,

    J'y jette un oeil quand je reviens sur le projet.

    Du python je n'ai pas fais non plus et ne sais pas comment l'intégrer, je vais voir tout ça !!

Discussions similaires

  1. Matière Formule (développement)
    Par César Vonc dans le forum Programmation
    Réponses: 23
    Dernier message: 20/02/2012, 05h01
  2. Matière Formule
    Par César Vonc dans le forum Plugins made in FC4D
    Réponses: 0
    Dernier message: 19/02/2012, 18h29
  3. déformation -> formule
    Par benoit.raemy dans le forum Nouveaux membres
    Réponses: 5
    Dernier message: 02/11/2005, 16h26
  4. Formule 1
    Par Matts3D dans le forum Général Cinema 4D
    Réponses: 2
    Dernier message: 13/04/2005, 19h59
  5. Achète objet C4D Formule 1
    Par 3D Weave SARL dans le forum Emploi/Formations/Annonces
    Réponses: 2
    Dernier message: 02/11/2004, 18h22

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