万八千岁,天地开辟,阳清为天,阴浊为地。盘古在其中,一日九变,神于天,圣
于地。
阴阳初判究竟是何种景象?无人得见。本大侠设计一穹庐状天地,以颜色浓淡代表
阳清阴浊,另置一武字于其中,以象征盘古的英雄精神。
且看本大侠如何设计此虚拟实境:
(一〕从第一行开始:
#VRML V2.0 utf8
WorldInfo {
title "阴阳初判"
info[
"Author: 金臂螳螂"
"Date: Feb. 24, 1998 (Tue)"
]
}
(二〕设定虚拟实境的动作(navigation〕:
NavigationInfo {
type "EXAMINE"
}
(三〕背景角度(形成穹庐状〕及颜色:
Background { #背景颜色及其处于天地之间的角度,角度参数都是数学计算出来结果。
groundAngle [0.523, 1.047,1.571]
groundColor
[0 0 0,
0 0 1,
1 1 0,
0 0 1]
skyAngle [0.523, 1.047,1.571]
skyColor
[1 1 1,
1 0 0,
1 0 1,
0 0 1]
}
(四〕在一立方体上粘贴上一武字:
DEF Xian Transform { #为后面指令引用,将此物体特征命名为Xian。
translation 0 0 0 #坐标在零。
children Shape {
appearance Appearance {
material Material {diffuseColor 1 1 1}
texture ImageTexture {
url "snow.gif" #此图象背景颜色透明,将在虚拟实境产生立体效果。
}
}
geometry Box {size 4 4 4} #size 可规定立方体的大小。
}
}
(五〕设计一预定事件:
DEF Gao TimeSensor { #TimeSensor会按时间产生事件
enabled TRUE
cycleInterval 2.0
loop TRUE
},
(六〕给武字规定一个旋转动作作为事件:
DEF XianPath OrientationInterpolator { #插入KeyValue里的值以控制旋转。
key [0.0 0.5 1.5]
keyValue
[0.0 1.0 0.1 -2.3
1.0 0.2 0.2 -1.23
0.1 1.2 2.1 -1.0]
}
(七〕规格事件的路径:
ROUTE Gao.fraction_changed TO XianPath.set_fraction
ROUTE XianPath.value_changed TO Xian.set_rotation
#产生事件的指令与接收事件的指令间的联系称为Route
#此虚拟实境靠背景的颜色及角度形成了一个穹庐状环境,象征天地初判的意境。
#空荡穹庐中有一立体武字在旋转,对其含义的领受则因人而异。
(八〕此时,将所有红色指令按其出现的顺序剪切到一个文件里作为源码,再存为
*.wrl文件,如 b_Dragon.wrl。但在浏览此虚拟实境前,还需下载如下文件:
snow.gif :一个背景透明的武字
并放在与b_Dragon.wrl相同的文件夹里。
最后,浏览此 b_Dragon.wrl 虚拟实境,并逐一对照核实源码中所言效果,以知其所
以然。
练习题:阅读并理解此虚拟实境之源码,修改源码,改变武字的旋转方向。
下一个实例,人间正道。在此虚拟实境中,本大侠为一代武林骄子李小龙设立了一
个圣坛。
|