Viewpoint and Animation Example: Bus
Sensors DEF BusTimer TimeSensor { cycleInterval 120 loop FALSE} DEF BusSensor ProximitySensor {center size 8 3 3}
Proximity Sensor ProximitySensor { exposedField SFVec3f center0 0 0 exposedField SFVec3fsize0 0 0 exposedField SFBoolenable TRUE evenOutSFBoolisActive eventOutSFVec3fposition_changed eventOutSFRotationorientation_changed eventOutSFTimeenterTime eventOutSFTimeexitTime }
DEF BusPosition PositionInterpolator {key [ 0,.01,.02,.03,.04,.05,.06,.07,.08,.09,.10,.11,.12,.13,.14,.15,.16,.17,.18,.19,.20,.21,.22,.23,.24,.25,.26,.27,.28,.29,.30,.31,.32,.33,.34,.35,.36,.37,.38,.39,.40,.41,.42,.43,.44,.45,.46,.47,.48,.49,.50,.51,.52,.53,.54,.55,.56,.57,.58,.59,.60,.61,.62,.63,.64,.65,.66,.67,.68,.69,.70,.71,.72,.73,.74,.75,.76,.77,.78,.79,.80,.81,.82,.83,.84,.85,.86,.87,.88,.89,.90,.91,.92,.93,.94,.95,.96,.97,.98,.99, 1.0]
keyValue [ , , , , , , , , , , # , , , , , #.12 go north , , , , ,# , , , , , #go west , , , , ,# , , , , , , , , , , , , , , , #.43 go south , , , , , # , , , , , #.52 go to east , , , , ,# , , , , , , , , , , , , , , , , , , , , #.79,.78 go north , , , , , #.84 go west , , , , , # , , , , , # , , , , , #1.0 ]}
DEF BusRotation OrientationInterpolator {key [ 0,.01,.02,.03,.04,.05,.06,.07,.08,.09,.10,.11,.12,.13,.14,.15,.16,.17,.18,.19,.20,.21,.22,.23,.24,.25,.26,.27,.28,.29,.30,.31,.32,.33,.34,.35,.36,.37,.38,.39,.40,.41,.42,.43,.44,.45,.46,.46,.47,.48,.49,.50,.51,.52,.53,.54,.55,.56,.57,.58,.59,.60,.61,.62,.63,.64,.65,.66,.67,.68,.69,.70,.71,.72,.73,.74,.75,.76,.77,.78,.79,.80,.81,.82,.83,.84,.85,.86,.87,.88,.89,.90,.91,.92,.93,.94,.95,.96,.97,.98,.99, 1.0, 1.01]
keyValue [ , , , , , , , , , , # , , , , , , , , , , # , , , , , , , , , ,# , , , , , , , , , ,# , , , , , , , , , ,# , , , , , , , , , , # , , , , , , , , , ,# , , , , , , , , , , # , , , , , , , , , , # , , , , , , , , , , , # bus turns around ]}
ROUTE BusSensor.enterTime TO BusTimer.startTime ROUTE BusTimer.fraction_changed TO BusPosition.set_fraction ROUTE BusTimer.fraction_changed TO BusRotation.set_fraction ROUTE BusPosition.value_changed TO bus1.set_position ROUTE BusRotation.value_changed TO bus1.set_rotation Proximity Sensor Time Sensor Position Interpolator Rotation Interpolator Bus Position Bus Rotation
ViewPoint Viewpoint { eventIn SFBool set_bind exposedFieldSFFloatfieldOfView exposedFieldSFBooljumpTRUE exposedFieldSFRotationorientation exposedFieldSFVec3fposition fieldSFString“ ” eventOutSFTimebindTime eventOutSFBoolisBound
ROUTE BusPosition.value_changed TO viewpoint.set_position ROUTE BusRotation.value_changed TO viewpoint.set_orientation PROTO viewpoint [ exposedField SFVec3f position exposedField SFRotation orientation ] { Transform {translation children Viewpoint { position IS position orientation IS orientation } } }