#VRML V2.0 utf8 # Prototype for varied walking in a circle - copyright Ken Perlin 3/97 PROTO Walking [ exposedField SFTime cycleInterval 1 exposedField SFTime pathInterval 10 exposedField SFVec3f pathPosition 3 .03 0 exposedField SFVec3f size 1 1 1 exposedField SFColor color 1 .7 .7 exposedField MFVec3f keyValue [ 0 0 0 ] exposedField MFString url [ ] exposedField SFTime loopInterval 30 ] { EXTERNPROTO Walker [ exposedField SFTime cycleInterval exposedField SFTime pathInterval exposedField SFVec3f pathPosition exposedField SFVec3f size exposedField SFColor color exposedField MFVec3f keyValue exposedField MFString url ] "Walker.wrl" Group { children [ DEF Morph CoordinateInterpolator { key [ 0 .5 1 ] keyValue IS keyValue } DEF Clock TimeSensor { cycleInterval IS loopInterval loop TRUE } DEF Loop ScalarInterpolator { key [ 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ] keyValue [ 0 1 .5 1 0 .5 0 1 .5 0 0 ] } DEF Walker Walker { cycleInterval IS cycleInterval pathInterval IS pathInterval pathPosition IS pathPosition color IS color size IS size url IS url keyValue [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] } ] } ROUTE Clock.fraction_changed TO Loop.set_fraction ROUTE Loop.value_changed TO Morph.set_fraction ROUTE Morph.value_changed TO Walker.set_keyValue }