Animer le train épicycloïdal

Pour chaque élément en rotation il faut définir

  • une horloge (TimeSensor)
  • des points clés (OrientationInterpolator)
Définir une zone active, les horloges et les points clés

DEF PorteSatellite_Temps TimeSensor { cycleInterval 20 loop FALSE }

DEF Satellite_Temps TimeSensor { cycleInterval 7.5 loop FALSE }

DEF PigonMoteur_Temps TimeSensor { cycleInterval 3.529 loop FALSE }

DEF PorteSatellite_tourne OrientationInterpolator {

   key [ 0.0 , 0.3333, 0.6666, 1 ]

   keyValue [ 0 0 1 0,0 0 1 -2.09,0 0 1 -4.18,0 0 1 0 ]

}

DEF Satellite_tourne OrientationInterpolator {

   key [ 0.0 , 0.3333, 0.6666, 1 ]

   keyValue [ 0 0 1 0,0 0 1 2.09,0 0 1 4.18,0 0 1 0 ]

}

DEF PigonMoteur_tourne OrientationInterpolator {

   key [ 0.0 , 0.3333, 0.6666, 1 ]

   keyValue [ 0 0 1 0,0 0 1 -2.09,0 0 1 -4.18,0 0 1 0 ]

}

Router les événements

ROUTE PorteSatellite_Temps. fraction_changed TO PorteSatellite_tourne. set_fraction

ROUTE PorteSatellite_tourne. value_changed TO PorteSatelliteMonte.set_rotation

ROUTE Satellite_Temps. fraction_changed TO Satellite_tourne. set_fraction

ROUTE Satellite_tourne. value_changed TO Satellite.set_rotation

ROUTE PigonMoteur_Temps. fraction_changed TO PigonMoteur_tourne. set_fraction

ROUTE PigonMoteur_tourne. value_changed TO PignonMoteur.set_rotation