万八千岁,天地开辟,阳清为天,阴浊为地。盘古在其中,一日九变,神于天,圣 于地。 阴阳初判究竟是何种景象?无人得见。本大侠设计一穹庐状天地,以颜色浓淡代表 阳清阴浊,另置一武字于其中,以象征盘古的英雄精神。 且看本大侠如何设计此虚拟实境: (一〕从第一行开始: #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 虚拟实境,并逐一对照核实源码中所言效果,以知其所 以然。 练习题:阅读并理解此虚拟实境之源码,修改源码,改变武字的旋转方向。 下一个实例,人间正道。在此虚拟实境中,本大侠为一代武林骄子李小龙设立了一 个圣坛。 |