Original Spec| Sample

定義

TimeSensor { 
  exposedField SFTime   cycleInterval 1       # (0,)
  exposedField SFBool   enabled       TRUE
  exposedField SFBool   loop          FALSE
  exposedField SFTime   startTime     0       # (-,)
  exposedField SFTime   stopTime      0       # (-,)
  eventOut     SFTime   cycleTime
  eventOut     SFFloat  fraction_changed      # [0, 1]
  eventOut     SFBool   isActive
  eventOut     SFTime   time
}
時間の経過とともに何かさせたい場合に使用します。 出力をInterpolatorに入れていろいろな変化を作り出します。
cycleInterval
周期を指定します。
enabled
動作するかどうかの設定
loop
繰り返すかどうかの設定
startTime
動作開始時間
stopTime
動作終了時間、開始時間より前なら終了しません。
cycleTime
開始時と周期の始まり時に送出されます。
fraction_changed
周期の中で0から1まで変化します。適宜送出されます。
isActive
enableで動作が開始したときと,stopTimeで停止したとき送出
time
現在時間。適宜送出されます。

サンプル

10秒ごとに繰り返すようになっていることを ご確認ください。
#VRML V2.0 utf8
DEF Obj Transform {
 children Shape {geometry Box {}}
}
DEF Polator PositionInterpolator {
 key [0, .4, .7, 1]
 keyValue [0 0 0, 1 0 0, 1 0 0, 0 0 0]
}
DEF Sensor TimeSensor {
  loop TRUE
  cycleInterval 10
  stopTime -1
}
ROUTE Sensor.fraction_changed TO Polator.set_fraction
ROUTE Polator.value_changed TO Obj.set_translation