Original Spec|
Sample
定義
TimeSensor { 
  exposedField SFTime   cycleInterval 1       # (0, )
  exposedField SFBool   enabled       TRUE
  exposedField SFBool   loop          FALSE
  exposedField SFTime   startTime     0       # (-
)
  exposedField SFBool   enabled       TRUE
  exposedField SFBool   loop          FALSE
  exposedField SFTime   startTime     0       # (- ,
, )
  exposedField SFTime   stopTime      0       # (-
)
  exposedField SFTime   stopTime      0       # (- ,
, )
  eventOut     SFTime   cycleTime
  eventOut     SFFloat  fraction_changed      # [0, 1]
  eventOut     SFBool   isActive
  eventOut     SFTime   time
}
)
  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