虚拟实境模型语言基础教程及实例

Virtual Reality Modeling Language (VRML) Basic Tutorial with Examples


VRML简介


      
虚拟实境模型语言有两种规范:一种规范是VRML1.0。除了因特网上已有的VRML1.0 
规范的虚拟实境外,现已极少使用。目前正被积极使用的规范是VRML2.0。本教程所 
用的实例都是按VRML2.0制作的。 

虚拟实境模型语言能使因特网页产生模拟现实的动态效果,从而也是因特网目前一个 
主要发展趋势。 

虚拟实境的浏览工具: 
浏览虚拟实境,需在Netscape或Explorer上附加合适的浏览工具(VRML Browser 
plug-in) 方可。 目前最常用的是美国Silicon Graphics公司可免费下载的: 

COSMO Player 1.0
COSMO Player 2.1

COSMO Player1.0已定型且被广泛使用,故性能很稳定。这个浏览器既能浏览VRML2.0
也能浏览网上老的VRML1.0虚拟实境。但COSMO  Player 2.1 还处于被开发阶段,虽
速 度比COSMO Player 1.0要快得多,却对VRML1.0规范不100%兼容。这将使网上已存
在 的大量VRML1.0虚拟实境失去被鉴赏的机会。另外,VRML2.1的使用界面亦不太顺手。

Netscape Communicator 4.0 及其以上版本的安装程序均已带有 COSMO Player 1.0,
故无需再另行下载。Internet Explorer 4.0安装程序不带浏览VRML的附加工具,需再
下载Silicon Graphics 的 COSMO Player 装上或在网上 (on line) 安装微软公司自
己为 IE4.0 设计的VRML浏览工具。因本大侠偏爱 COSMO Player 故迄未试过微软公司
的VRML浏览工具,若阁下碰巧用的是 IE4.0,   不妨“斗胆”一试。 

“斗胆” ?( 一绿林知交曾密告我此微软公司之 VRML 2.0 viewer 附加工具委实难
用)

本大侠电脑上装有三个VRML的浏览附加工具:


1: Netscape 3.01 gold 自身带有的 live 3D, 是专门 (只能) 浏览 VRML 1.0 的附
加工具,但速度及效果远远超过用 COSMO Player 来浏览 VRML 1.0。

2: Netscape Communicator 4.03 自身带有的 COSMO Player 1.0。既能浏览VRML 2.0 
又能浏览 VRML 1.0。

3: 在 Internet Explorer 4.01 上装有 COSMO Player 2.1。只能浏览 VRML 2.0,但
速度甚快。适于虚拟实境开发。

至于阁下呢,若不似本大侠偶潦倒市廛辄凭个把虚拟实境换壶浊酒的话,则在电脑上
装个 COSMO Player 1.0 已能满足学习此教程及浏览因特网上VRML2.0及老的VRML1.0 
虚拟实境的需要。


虚拟实例的编程语言:
为了容易理解,先来看两个练习: 

练习一是个立方体,源码如下: 


#VRML V2.0 utf8 

WorldInfo {   # 版权声明 
title "实例,立方体" # 题目 info [ "Author: 金臂螳螂 gottesanbieterin@yahoo.com", # 作者名称 "Date: 九八年六月十五日(星期一)" # 日期 ] } Shape { appearance Appearance { # 表面 material Material { diffuseColor 0 0 1 } #表面颜色代码(0 0 1=兰色) } geometry Box {} # 形状立方体
} # 此源码将产生一个兰色立方体。
源码(所有红色文字拷贝到任何一个文字处理器,NotePad,Winword或WordPad, 然后存为*.wrl文件,如cube.wrl。再用Netscape或Explorer(此时,阁下的 Netscape或Explorer 应已装上COSMO Player)将此文件打开,会出现一个蓝色立方 体。用COSMO Player 界面上的按钮及鼠标操纵,立方体会靠近或远离,倾斜或滚 动,就像现实中的一样, 故称为虚拟实境。 练习二是个粉色圆球: 将练习一源码中的第十五行:geometry Box {} 改为: geometry Sphere {} 然后,将修改过的源码存为*.wrl,如sphere.wrl。打开后,立方体将变成一粉 色圆球。 阁下感觉如何?看来简单的虚拟实境制作起来并不困难。是否如此,且将VRML语法 最基本的地方归纳一下,然后,到正式教程中试一下便知。 参见练习一: 1: #VRML V2.0 utf8 必须照样抄写,并必须放在第一行。 2: 字母的大小写,数字的间距,都是敏感的。如1 0 0不等于100,appearance 亦不 等于 Appearance等等。 3: 指令出现的顺序亦是敏感的。 4: 除第一行外,VRML语言中,凡#符号后的文字都是注释,将被浏览工具忽略。如: # 表面颜色代码(0 0 1=兰色) 5: 初学者要注意:括弧要成双。无论中间隔了多少行指令,前面有一开括弧,后面就 要有一个相应的合括弧。 6: 但VRML语言对格式的排列是不敏感的。例如: appearance Appearance appearance Appearance 是一样的 尽管如此,满篇涂鸦,横七竖八的编程格式断不为个中行家里手所青眼,初学者自当 慎之。同时,规范的格式对于自己今后以及别人再看源码时都是必要的。 至此,若阁下还欲继续学习本教程,本大侠则建议阁下: 先依次反复熟读后面本教程中五个正式实例,留意#符号后的注释,然后打开wrl文件, 进入虚拟实境,核实虚拟实境效果中与注释有关连的地方,争取基本上理解其所以然。 真正开始自己制作虚拟实境应从试着改变源码中的某些参数后,再来观察虚拟实境中 的相应效果起步。因特网上常见VRML教程多云山雾罩,先将无数专业名辞扑面抛来, 陷学人于茫茫之中,貌似穷根追源,但一动真格的,却又不告人究竟如何下手,为本 大侠所深恨。故本教程全从实例入手,再求原因,谅阁下必能体味出来。 虚拟实境的编程软件:
在本站最后一页 ( 龙飞在天 ) 所链接的站点中,有很多优秀的VRML编程软件可供选 择。为节省篇幅,不再赘述。需要说明的是:这些编程软件固能节省时间,尤其在 制作模型(Modeling)方面,但都不是万能的。要达到某些特殊效果,阁下恐怕还得把 手放到键盘上来敲指令。 实例一: 天地混沌

页眉

主页