夫皎洁者为忠为正,污秽者为魅为魉。忠佞并立,正邪同存,是青史所以有桀纣
尧舜,天地所以分阴柔阳刚。然忠必终胜佞,正终压邪,冥冥中巨眼明察,自当
无差矣。
且看本大侠如何利用虚拟实境来体现以上主题:
(一〕从第一行开始:
#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} #立方体,但比第一个大。
},
},
上面的指令设计了数柄宝剑,悬绕鬼魅四周以镇之。
(五〕新指令TouchSensor:
DEF Touch TouchSensor {}, #TouchSensor是由鼠标来触发设计好的事件。
DEF Clock TimeSensor { #TimeSensor是由时间自动触发设计好的事件。
enabled FALSE #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,进入虚拟实境后,聂小倩将自动旋转,
#而匕首只有在鼠标触到后方旋转。
#此虚拟实境以网开三面为题,喻天心为善至多,唯不仁者乃入我网之意。
#背景,天未设颜色,地有颜色现深陷之牢。以美人首喻鬼魅,以匕首监之。
#或近匕首,则旋护以警之,恐其复脱逃也。
(六〕至此,将所有红色指令按其出现的顺序剪切到一个文件里作为源码,再存
为*.wrl文件,如d_Dragon.wrl。
然后,下载 :
tang.gif :聂小倩像。
bishou.gif :镇邪宝剑。
并将以上下载的两个图象放入与d_Dragon.wrl文件相同文件夹里。
最后,浏览此d_Dragon.wrl虚拟实境,并逐一对照核实源码中所言效果,以知
其所以然。
练习题 (一) 阅读并理解此虚拟实境之源码,修改源码,改变聂小倩及宝剑转动方向。
练习题 (二) 浏览本大侠所制另一虚拟实境 “魔变” ,分析源码,找出不同处。
( 此虚拟实境中,倩影如花每闭月,罗刹成骨用吸魂。阁下若用左键弹一下王祖贤
小姐香鬓,彼即羞怒作态矣。)
阁下若再学完下一个实例,则VRML2.0语言之最基本原理已晓,若还有兴趣,即可
找本VRML专业书系统修学了。所谓乾卦九五的态势, 龙飞在天是也。
|