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