李强
(陕西学前师范学院陕西西安710061)
VE虚拟环境指的是具备时间及空间特点的数字化多维信息空间,也是虚拟现实技术发展的全新阶段,虚拟环境主要包括物理特性实体、环境和参加交互人,其相互具有交互的联系。以现实世界为基础,使用音响系统、视景系统、力反馈系统能够为用户提供主要感知模拟[1]。DVE分布式虚拟环境也可以称之为网络虚拟环境,在此虚拟环境中,地理位置不同,其中的用户和虚拟环境利用网络相互连接,实现信息的共享、动态仿真和人际交互,通过此环境能够实现多用户协同的交互仿真[2]。分布式的虚拟环境其中的仿真主机对象使用统一仿真协议,利用网络通信实现信息交换,其中的仿真对象利用获得其他对象信息实现本地影响的计算,并且利用本地对象状态和网络实现计算结果的发送,其中的仿真对象都是利用相互通信使仿真视图能够一致,所以网络通信也是分布式虚拟环境设计中的主要内容[3]。
DVE分布式虚拟环境主要包括两种通信系统,分别为对等模型及层次模型,图1为对等模型的结构,其主要是通过网络相互联系的工作站构成,此工作站能够将消息直接到相应工作站中发送。
图1 对等模型的结构
系统中的对等节点能够实现同个共享虚拟信息和实体数据库的维护,并且还能够实现本地实体行为的仿真,对实体状态更新进行处理和接收,对场景的现显示进行实时的刷新。如果本地实体的状态出现变化,那么就要对远程节点实现消息的发送。其中对等模型的节点通信方式一般都是多播和广播,其主要缺点就是具有较差的扩充性,还会浪费带宽[4]。
图2为层次模型的结构,通过图2可以看出来,系统中具有多个服务器,通过服务器对用户通讯进行管理。
图2 层次模型的结构
在DVE分布式虚拟环境中,其网络通信还是尤为重要的技术,其中的通信协议要以不同的应用系统为基础进行选择,目前被广泛使用的包括军事仿真领域应用的DIS协议和HLA协议、网络虚拟环境中的虚拟现实传输协议和分布式世界传输及通信协议,以下就对DVE通信协议的数据发送、应用环境、网络通信结构进行对比,之后进行总结,详见表1。
表1 DVE通信协议对比
通过表1可以看出来,DIS和HLA主要是在分布式对等结构中的仿真网络,利用UDP协议广播和组播PDU数据包进行实现,为了能够使网络数据量较大的问题进一步的降低,DIS都是使用航位推测算法、过滤算法使结点通信量能够进一步的降低[5]。其中的DWTP和VRTP主要是在因特网中使用的,其能够支持分布式对等及C/S两种结构,并且也能够针对不同类型数据使用不同通信方式,其属于综合性的应用层协议。通过对DVE分布式协议的分析可以了解,在实现通信协议设计的过程中,要从通讯架构、应用环境、数据类型实现,之后以系统实际需求实现通信协议的设计,然后实现系统的设计[6]。
虚拟电子竞技就是将虚拟环境作为基础,实现多人参加运动的分布式虚拟环境。虚拟电子竞技系统通过传感器实现用户运动状态的捕捉,用户能够利用画面中投影的屏幕对自身的行为和环境进行全面的观察,并且利用相应的通道对自身行为进行控制。其主要是将局域网和广域网作为介质,或者和网友相互交互,将运动、游戏及竞技相互结合,使用户能够在竞技过程中感受到游戏的乐趣。系统主要包括软件和硬件两个系统,图3为虚拟电子竞技系统的构成,其中模块主要包括网络竞技模式、网络漫游模式及训练模式[7]。
图3 虚拟电子竞技系统的构成
虚拟电子经济系统中的硬件系统主要包括计算机、六维运动控制器和跑步机,本文所研究的系统中只是使用普通计算机的显示器显示。单片机控制器能够实现用户在跑步机中的运动参数的检测,通过增量式的方式实现跑步机履带旋转角度相应脉冲的记录,之后将脉冲转换成为履带旋转权属,从而对人在跑步机中的某个参数点瞬时位置进行计算。为了能够对虚拟场景中运动进行真实的模拟,就添加了虚拟化身体的旋转方向角度[8-9]。图4为虚拟电子竞技系统的硬件结构设计。
图4 虚拟电子竞技系统的硬件结构设计
图5为游戏的典型状态图,本文对典型游戏状态进行了扩展,实现以客户端为基础的开发理念,其使用面向对象设计,系统中的模块功能都相互独立,能够以用户实际需求为基础实现动态组合,其中的模块也能够实现松耦合[10]。图6为虚拟电子竞技系统的软件结构。
图5 为游戏的典型状态图
图6 虚拟电子竞技系统的软件结构
3.3.1 图形显示模块
图形显示模块是利用API的调用绘制场景,图7为图形显示模块的结构,其主要包括场景渲染模块、界面创建模块和人物动画渲染模块[11]。
图7 图形显示模块的结构
3.3.2 交互功能模块
交互功能模块主要包括和用户交互及和游戏控制平台交互的模块,两者具有一定的信息交流。在用户交互模块收到用户输入之后,通过处理就能够对控制平台进行传输[12]。图8为交互功能的模块结构。
图8 交互功能的模块结构
3.3.3 网络模块
网络模块的主要目的就是实现VNM网络功能,其属于典型客户端,客户端包括交互功能模块及图形模块、服务器端模块,图9为服务器端模块的结构。
图9 服务器端模块的结构
通过图10可以看出来,网络通信程序的主要目的就是实现物理层消息的接收和发送,并且还能够将接收信息到小学队列中发送。其中的共享消息池属于工作站内存区域,需要发送及接受信息通过循环队列方式进行存储,其属于网络接口程序及仿真应用程序相互通信的基础[13]。
图10 虚拟电子经济系统通信系统框架结构
通信消消息主要包括3种,分别为状态更新、事件和指令。其中状态更新的主要目的就是实现环境中状态消息的传递,其在一段时间中为连续通信,其具有较高的实时性需求。其在全新状态更新消息之后,之前的消息就会作废[14]。
指令指的是执行某个任务命令,其对于传输具有较高的可靠性需求和实时性。
事件指的是在不确定时间中的同步传输事件,比如鼠标点击、碰撞等,其具有先入先出传输的顺序。
网络接口程序根据功能主要分为接收、发送及转发3部分,其主要是以服务器为基础,结合发送及接收的功能[15]。
数据发送的工作流程比较简单,利用发送消息循环队列的不断查询,其能够对是否具有发送消息进行判断。如果有需要发送的消息,就要以数据信息的读取实现接收地址的确定,并且实现数据打包发送。
图11 数据发送的模块工作流程
数据接收模块使用异步选择机制实现,其能够为系统编程提供网络时间驱动程序设计的方法。在出现被指定网络事件的时候,能够实现计算机应用程序窗口函数的接收,从而实现事件的驱动。首先,实现接收套接字的创建,之后实现地址端口的绑定,之后实现网络事件和消息的关联,在具有数据包的时候,就会实现关联消息的触发,自动执行回调函数,对接收的消息进行处理[16]。
文中基于DVE通信协议技术,以虚拟电子竞技系统特点为基础,对DVE通信协议技术进行全面的分析,实现了DVE通信协议技术在虚拟电子竞技系统设计中的使用。本文所设计的系统通过验证表示,其能够实现数据包的有效发送和接收,降低网络数据传输量,还能够提高自身的自愈合性,以此为同种系统开发作为参考。