Graphics 版 (精华区)
发信人: leonado (##小:妖:发:呆:勒##), 信区: Graphics
标 题: 虚拟现实之高级技巧(一)
发信站: 哈工大紫丁香 (2001年01月07日19:17:37 星期天), 转信
2000-11-04· 吉琪·yesky
----------------------------------------------------------------------------
----
7 1 2 下一页8
大家也许都看过“黑客帝国”吧,影片展现给我们的是我们生活的真实环境已经消
亡,取而代之的是一个虚拟的世界。虽然细节有所不同,但是人们也许真希望有一天,
可以通过电子或者虚拟的现实来摆脱沉重枯燥的日常生活。其实虚拟现实技术早在1994
年就已经达成了一个共同的标准,但是由于网络和电脑硬件的限制所以直到近些年它才
得到迅猛地发展。关于虚拟现实,它是以VRML语言作为语言基础的,我们也陆陆续续的
介绍了它的语法基础、结点定义以及通过外部的软件来达到创建大型复杂场景的目的。
但是也许你会发现我们创建的场景虽然可以通过外部软件的帮助,在场景的结构和布局
等方面有很好的表现,然而在场景的互动性等方面却明显有所不足。我已经了解了所有
的结点的内容和意义,为什么没有令人满意的效果,这其中的原因很多,就像你已经懂
得了1+1=2,但是为什么有许多的数学题目你仍然不会做。在VRML这一个问题上面,也
许你忽略了一个重要的问题,就是虚拟现实的互动性不仅仅倚靠运用编写虚拟现实的结
点来实现,它还需要一个小程序的支持,可能是一个也可能是多个这样的程序,这些程
序才是互动性的关键。其实在运用3DMAX这类的外部软件进行场景的构建时,它的一些按
钮设置栏就已经具有一些短小程序的特点。这些程序通过script语言来编写,可以是ja
vascript或者VBscript。做为介绍虚拟现实的高级技巧,我们就是和大家讨论这些程序
的编写,以及如何将这些程序与VRML相结合。做为script语言,我们可以有两种选择,
但由于运用的广泛性,在这里我们运用javascript加以讨论。
VRML做为虚拟现实的一种语言,首先我们看它与程序之间的交互原理,总的来说它
的互动行为的执行有三类解决方法。一类是API的方法,执行模式是基于过程的,所谓的
API就是执行模式建立在浏览器的API基础上,通过API调用一系列程序来控制场景,这种
方法便于程序的编写,同时又可以简化场景,但是对于浏览器来说,它有可能无法得到
足够的场景信息。另一类是通过语言的方法,就是将VRML的3D数据完全转化为程序语言
,这种方法就与API的方法完全相反,它可以使浏览器得到场景的完整信息,也具有基本
语言的控制结构,但它却引起文件过大,不太适用于网络传输。第三类是基于事件的方
法,它是使用事件机制。VRML场景自我包含实体,它们通过一系列字段显示出他们的内
在状态。可以通过使用事件来读写这些字段,写一个字段需要产生一个事件,这个事件
被传送到字段中而且用事件的值去更新这个字段。在这里所说的字段其实不是简单的一
次性值,它做为了结点的一部分,有Field定义特征的数据值类、evenIn接受事件的归宿
类、evenOut事件的发生源类和结合evenIn与evenOut的Exposed类。读一个事件发生在一
个字段值改变或这种改变引起另一个包含新值的事件被发送。这类方法是使用最广泛的
,它能将执行对象与程序分离,在文件内部包含实体,执行程序在场景外部,浏览器中
处理浏览者,三者之间通过事件进行联系。
--
美女说:“小妖,你很可爱丫...”
小妖刚要把那段“我已经尽可能的掩饰我的锋芒,奈何还是被慧眼人看出”云云背出来...
美女却扬长而去...>Q<
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.141]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.826毫秒