网站大量收购独家精品文档,联系QQ:2885784924

VRML在网页游戏制作中应用.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VRML在网页游戏制作中应用

VRML在网页游戏制作中的应用 【摘要】网页游戏近年来发展迅猛,市场不断扩大。由于网上存在着大量的vrml/x3d资源,本文讨论了在vrml/x3d基础上,结合其他相关技术制作网页游戏的方法,为低成本的网页游戏制作提供了一条思路。 【关键词】 vrmlx3d网页游戏 引言 网页游戏是一种基于浏览器的网络游戏,它无需安装客户端即可进行游戏。随着计算机硬件和软件能力的不断提升,网页游戏成为可能并且逐步普及。网页游戏早期多为2d的,目前正逐步向3d方向发展。 目前网页游戏前端开发的主流技术是flash[1]。vrml是最早的3d建模语言,网络上存在着大量共享的vrml资源。如果用vrml替代flash作为前端开发技术,则可以很好的利用已有的vrml资源,大大地节约开发成本。 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 rotation children [ inline { url“% = rs(“man”) %”} ] }

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档