#VRML V2.0 utf8 WorldInfo { title "网开三面" info [ "Author: 金臂螳螂", "Date: Feb 22, 1998(Sun)" ] } NavigationInfo { type "EXAMINE" } Viewpoint { #视点规定了物体以一个什么角度出现在画面上。 fieldOfView 1.0 orientation 1 0 0 0.79 position 0.0 -7.0 5.0 description "EntryView" } Background { groundAngle [0.523, 1.047,1.571] groundColor [0 0 0, 0 0 1, 0 0 1, 0 0 0] } DEF Lang Transform { #第一个物体,命名为Lang。以便下面引用。 translation 0 0 0 #物体坐标 children Shape { appearance DEF Mantis Appearance { material Material { diffuseColor 0 0.5 1 } texture ImageTexture { url "tang.gif" #粘贴图案为聂小倩头像,象征鬼魅。 } } geometry Box {size 2 2 2} #立方体 }, }, DEF Tang Transform { #第二个物体,命名为Tang。以便下面引用。 translation 0 0 0 #此物体坐标与第一个相同。 children Shape { appearance DEF Mantis Appearance { material Material { diffuseColor 0 0.5 1 } texture ImageTexture { url "bishou.gif" #粘贴图案为匕首,其背景透明。 } } geometry Box {size 5 5 5} #立方体,但比第一个大。 }, }, DEF Touch TouchSensor {}, #TouchSensor是由鼠标来触发设计好的事件。 DEF Clock TimeSensor { #TimeSensor是由时间自动触发设计好的事件。 enabled FALSE #不能自动触发 cycleInterval 2.0 loop TRUE #DEF Clock 这段指令规定了第一个立方体的事件。 }, DEF ClockE TimeSensor { #DEF ClockE 这段指令规定了第3二个立方体的事件。 cycleInterval 5.0 loop TRUE }, DEF TangPath OrientationInterpolator { #第二个立方体(即匕首)的旋转路径。 key [ 0.0 0.5 1.0 ] keyValue [ 0.0 1.0 0.0 0.0, 0.0 1.0 0.0 -3.14, 0.0 1.0 0.0 -6.28 ] } DEF LangPath OrientationInterpolator { #第一个立方体(即聂小倩)的旋转路径。 key [ 0.0 0.5 1.0 ] keyValue [ 0.0 1.0 0.0 0.0, 0.0 1.0 0.0 -3.14, 0.0 1.0 0.0 -6.28 ] } ROUTE Touch.isOver TO Clock.set_enabled ROUTE Clock.fraction_changed TO TangPath.set_fraction ROUTE TangPath.value_changed TO Tang.set_rotation ROUTE ClockE.fraction_changed TO LangPath.set_fraction ROUTE LangPath.value_changed TO Lang.set_rotation #按以上ROUTE,进入虚拟实境后,聂小倩将自动旋转, #而匕首只有在鼠标触到后方旋转。 #此虚拟实境以网开三面为题,喻天心为善至多,唯不仁者乃入我网之意。 #背景,天未设颜色,地有颜色形深陷之牢。天地间以美人首喻鬼魅,以匕首监之。 #或近匕首,则旋护以警之。