Astuce: Animer un ressort

La solution la plus simple consiste à faire varier l'echelle du ressort suivant un axe.

Cette solution n'est applicable que pour de petites courses, pour de plus grandes courses on voit apparaître une déformation du fil.

-

Il faut donc:

  • Créer le ressort à l'aide un modeleur

  • Donner un nom au ressort (DEF

  • Définir les paramètres d'une horloge (TimeSensor)

  • Définir des moments clés et la compression du ressort.(PositionInterpolator )

  • Animer le pignon (ROUTE) en faisant varier l'echelle (set_scale)

Détail du fichier VRML

#VRML V2.0 utf8

Viewpoint {position 4 5 5 orientation -1 1 0.5 1 description "Perspective"}

Viewpoint {position 6 0 0 orientation 0 1 0 1.57 description "Face" }

NavigationInfo { type "EXAMINE" }

DEF Ressort Transform { children [

    Inline { url "ressort.wrl" }

] }

DEF Ressort_Compression PositionInterpolator {

    key [ 0 , 0.2, 0.6 , 0.8 , 1 ]

    keyValue [ 1 1 1,1 1 0.9,1 1 0.9,1 1 1,1 1 1 ]

}

DEF Anim_Temps TimeSensor { cycleInterval 6.11 loop TRUE}

ROUTE Anim_Temps.fraction_changed TO Ressort_Compression.set_fraction

ROUTE Ressort_Compression.value_changed TO Ressort.set_scale

Exemple : Clé à cliquet ( 121 ko )