#VRML V2.0 utf8 WorldInfo { info "Door, Billboard & Sound, VRML 2.0 Examples by David Frerichs, frerichs@sgi.com", } DEF Door_Sound Sound { direction 0 0 1 intensity 1 location 0 0 0 maxBack 10 maxFront 10 minBack 1 minFront 1 source DEF Door_Clip AudioClip { startTime 0 url ["door.wav"] } } Group { children [ Transform { children Billboard { children Transform { children Group { children Shape { appearance Appearance { material NULL texture ImageTexture { url "fatta1.gif" repeatS TRUE repeatT TRUE } textureTransform NULL } geometry IndexedFaceSet { coord Coordinate { point [ -0.5 -0.5 0, 0.5 -0.5 0, 0.5 0.5 0, -0.5 0.5 0 ] } color NULL coordIndex [ 0, 1, 2, 3, -1 ] normal NULL texCoord TextureCoordinate { point [ 0 0, 1 0, 1 1, 0 1 ] } } } } translation 0 0 0 scale 0.570276 0.570276 0.001 } axisOfRotation 0 1 0 } translation -0.9244 -0.159487 0 } DEF Door_0 Transform { children [ Group { children [ DEF OpenDoor Group { children DEF Time_1 TimeSensor { cycleInterval 3 startTime 0 } } DEF Move_Door_2 PositionInterpolator { key [ 0, 0.1, 0.9, 1 ] keyValue [ 0 0 0, 0 1 0, 0 1 0, 0 0 0 ] } ] } DEF Touch_3 TouchSensor { } Group { children Shape { appearance Appearance { material NULL texture ImageTexture { url "bigdoor4.jpg" repeatS TRUE repeatT TRUE } textureTransform NULL } geometry IndexedFaceSet { coord Coordinate { point [ -0.5 -0.5 0, 0.5 -0.5 0, 0.5 0.5 0, -0.5 0.5 0 ] } color NULL coordIndex [ 0, 1, 2, 3, -1 ] normal NULL texCoord TextureCoordinate { point [ 0 0, 1 0, 1 1, 0 1 ] } } } } ] translation 0 0 0 } ] } ROUTE Touch_3.touchTime TO Time_1.set_startTime ROUTE Time_1.fraction_changed TO Move_Door_2.set_fraction ROUTE Move_Door_2.value_changed TO Door_0.set_translation ROUTE Touch_3.touchTime TO Door_Clip.set_startTime