【摘要】网页游戏近年来发展迅猛,市场不断扩大。由于网上存在着大量的VRML/X3D资源,本文讨论了在VRML/X3D基础上,结合其他相关技术制作网页游戏的方法,为低成本的网页游戏制作提供了一条思路。
【关键词】 VRML X3D 网页游戏
1.引言
网页游戏是一种基于浏览器的网络游戏,它无需安装客户端即可进行游戏。随着计算机硬件和软件能力的不断提升,网页游戏成为可能并且逐步普及。网页游戏早期多为2D的,目前正逐步向3D方向发展。
目前网页游戏前端开发的主流技术是Flash[1]。VRML是最早的3D建模语言,网络上存在着大量共享的VRML资源。如果用VRML替代Flash作为前端开发技术,则可以很好的利用已有的VRML资源,大大地节约开发成本。
2.VRML的交互研究
网页游戏可以看成是一种特殊的网页交互程序,其基本交互过程为:将客户端数据提交到服务器端,服务器端处理完以后再展现在客户端。相比普通的网页,网页游戏所进行的数据交互更加复杂和频繁,而且对实时性的要求也更高。
VRML提供诸多交互手段,通常可分成非编程交互和编程交互两种交互方法[2]。非编程交互是一种基于VRML内建节点的交互方法,是一种静态方式的交互,即场景中对象状态的改变是预先设定好的,不需要什么操作行为来激发其运动或变化,它通过预设的运动方式,由用户来决定触发。具体而言,它会首先通过检测器检测到用户在虚拟场景中的动作,然后通过事件的传递来实现虚拟环境和用户的交互。
编程交互式是一种动态方式的交互,它是通过一段外部逻辑程序来决定事件的产生,它具有询问对象状态的能力,再基于这些状态做出相应决定,并改变场景的状态。具体来说,就是通过 Java 和 JavaScript 脚本来实现动态交互,实现互动场景的动态行为,使用它可以在控制方式上做出很大的进步。VRML 有自己的 API,通过这些API接口提供了一个给Java程序访问VRML浏览器界面的环境,而Java对VRML的支持是通过附加的封装类来实现的,在这些类中实现了对 VRML 虚拟场景的全部控制。
. 3.X3D扩展
X3D可看做VRML的升级版本,部分代码和VRML兼容,它集XML,JAVA,流技术等先进技术于一身,具有更强大的3D计算能力、渲染质量和网络传输速度,是可交互操作,可扩展,跨平台的网络3D内容,在虚拟现实系统交互功能实现方面比VRML技术有明显的优势。
要实现更复杂的人机交互功能,需要用外部语言编写Script节点的脚本程序,借助X3D的事件和路由机制,通过传感器节点及Script节点形成Route--Graph(路由图),场景随着用户的操作动态变化,从而实现复杂动态场景交互。X3D兼容VRML,对于VRML代码只要做下声明即可成为X3D代码。
为了便于交互,要对整体场景采用分割技术[3]。所谓分割技术,就是把整体场景分成若干子场景和实体,子场景可以再分成若干子场景和实体。可以根据实际情况选择分割层次,即整个场景最终是由实体组成的,实体是组成虚拟场景最基本的单元,比如一扇门,一颗树等。
封装先从最基本的实体开始,把每个实体的三维模型创建出来,保存成单个文件。在此基础上,构建实体和场景数据库,通过X3D的数据库驱动动态建模功能,动态地创建出各层的子场景和最终的整体场景,实体之间和子场景之间的连接可以使用Inline命令,各个实体和子场景需要动态的数据都存放在数据库中。X3D只是创建了这些实体如何显示的场景模板。创建好场景模板后,开发者和使用者只需要修改数据库的数据就可以定制不同的场景。
采用X3D对场景进行分割建模后,可以动态或者静态的进行交互设计。对于一已经封装为X3D格式文件的物体,要实现其移动动画,可以设置一个BillBoard节点,将物体放入该节点内,并定义一个时间传感器和一个接触传感器以及一个动画位置插补器,与JavaScript结合用来控制物体的移动。
4.多用户交互
最后,要实现多用户交互,还要联合ASP的编程技术在数据库上进行交互。先把数据库与ASP进行连接来读取数据库中的内容,紧接着把读到的数据传输给浏览器,然后由浏览器来结合VRML中的语句进行渲染。这样用户进行操作时,操作产生的数据改变会提交给数据库来实现数据库中VRML场景中物体属性的更改,从而在不断刷新的网页上体现出来。在同一个时间段之内可以实现多个用户对虚拟场景中的VRML/X3D对象进行操作,而相互之间只要刷新网页和读取数据库中的新数据就可实现远程交互了[4]。ASP和VRML结合的部分源代码如下:
Transform
{.
Translation < % = rs(man)%>
Rotation <% = rs(“man”)>
Children
[
Inline
{ url “<% = rs(“man”) %”}
]
}
5.总结
通过以上分析,基于经典VRML虚拟世界“泰偌切蒂兰城”,已开发出一个可供多人实时交互的简单网页游戏,经过测试,多人交互实时性可满足要求。
由于开发工具的缺乏,VRML在图像质量方面还无法与主流网页游戏竞争,VRML的优势在于成本的低廉。在某些场合,比如说产品推广或者项目介绍,将内容用VRML制作成网页游戏形式将会带来惊喜。
参考文献:
[1]徐鹥. 网页游戏开发技术的探讨与研究[J]. 中国信息科技,2010,14:046
[2]孙范荣,王鹏等. 基于VRML的虚拟现实技术应用[J].系统仿真学报,2007,16:161
[3]严林.虚拟现实在室内设计中的应用[D].武汉科技大学,2010
[4]吴姣黎.三维数字城市的研究与应用[D].西南交通大学,2001
《VRML在网页游戏制作中的应用》
本文由职称驿站首发,您身边的高端学术顾问
文章名称:
VRML在网页游戏制作中的应用
文章地址:
https://m.zhichengyz.com/p-13464