基于Vega Prime的多通道三维仿真系统的实现

2012-07-09 01:16赵必厦冯开平罗立宏
图学学报 2012年5期
关键词:建模设置模块

赵必厦, 冯开平, 罗立宏

(广东工业大学,广东 广州 510006)

广东工业大学数字媒体技术研发实验室近年来在多通道大屏幕展示系统的研究方面取得重大的进展,目前已成功研发出基于虚拟现实技术的21通道(环幕12通道,虚拟地面9通道)360度环幕投影系统,并将17通道(环幕8通道,虚拟地面9通道)270度环幕投影系统成功应用于上海世博会广州案例馆的水环境展示,效果良好。

多通道虚拟现实交互展示系统,也就是270度环幕投影系统,该系统主要由三维仿真子系统和多通道视频播放子系统构成,而系统的难点在于架构三维仿真子系统(以下简称三维仿真系统)。

本文是对在原有系统基础上进行二次开发与实现的新系统中的子系统——多通道三维仿真系统实现过程的描述。

1 系统概述

按照层次设计的思想,系统可以划分为专业应用层、数据层和硬件支撑环境,系统详细结构图,如图1所示。专业应用层包括系统监控模块(简称监控模块)、系统综合管理模块(简称管理模块)、三维虚拟场景显示模块(简称游戏模块,因为该模块具有交互功能,就像是一个游戏)、视频播放模块(简称视频模块)、感应模块、通信模块;数据层包括数据访问控制模块(简称数控模块)、日志模块以及综合数据库(包含配置信息参数库和虚拟模型库);硬件支撑环境包括高性能PC机、融合设备、投影设备、音响设备、感应设备和其它设备。

图1 系统结构图

2 实现原理及开发流程

2.1 实现原理

三维仿真系统实现原理如图2所示。首先使用 3ds Max软件建模,然后把模型文件导入Creator软件里编辑后生成模型文件,把模型文件导入LynxPrime工具里边编辑,生成场景数据,借助VegaPrime引擎编码实现仿真系统,渲染场景数据,并输出到显示设备中。体验用户在交互设备的作用下与仿真系统进行交互,交互数据通过交互设备与仿真系统共同访问COM控件库来实现。

图2 三维仿真系统实现原理

仿真系统需包含以下几类文件:仿真程序、场景文件、模型文件、路径文件、声音文件。如表1所示。

表1 三维仿真系统需包含的文件类型

2.2 开发流程

三维仿真系统的实现分为如下几个过程:需求分析、数据采集、三维建模、构建仿真系统、测试、发布与维护。系统构建流程图如图3所示。

图3 系统构建流程图

3 系统实现

3.1 三维建模

本系统选择3ds Max与Creator协同建模的方式来建立三维模型。

在建模过程中,会产生一系列的过程文件:3ds max的 max模型文件、贴图和材质文件,Creator的flt(OpenFlight File)模型文件。最后使用Vega Prime自带的转换工具“to_vsb.exe”把flt文件转换成vsb文件输出的模型文件。由于vsb文件是已经编译好了的二进制文件,而flt文件只是基于xml的文档数据,显然vsb文件加载速度比flt文件加载速度要快。

在建模的过程中,需要注意以下的问题:

1)模型的面数不能太多,否则影响渲染速度,或者渲染不出来。

为了控制和解决面数问题,使用低多边形方法建模,避免使用曲面、放样等建模方法。结构细节尽量用纹理表示,灯光渲染到纹理中。

2)模型的灯光要合理,不能太多,太多会影响渲染速度,也不能太少,太少会显得很暗。

3)为了解决3ds Max文件转化为Creator文件后,所产生的锯齿边的问题,勾选LynX中的反走样选项,把显卡设置成图像质量优先于速度。

3.2 构建仿真系统

系统具有8大模块,分别是监控模块、管理模块、游戏模块、视频模块、感应模块、通信模块、数控模块、日志模块,其中监控模块、管理模块、游戏模块、视频模块、感应模块是独立可执行文件,其它模块以构件的形式存在。

监控模块包括模块监控、网络通信、应急处理、日志查看等功能;管理模块包括场景管理、场景交互、应急处理、日志管理等功能;游戏模块包括场景渲染、声音播放、场景交互、同步通信等功能;视频模块包括视频与声音播放、同步通信等功能;感应模块包括位置感应、输出感应位置信息等功能;通信模块主要基于COM/DCOM技术以及TCP/IP协议,负责整个系统的本地通信与及对外通信;日志模块负责记录系统日志,便于维护与管理;数控模块负责数据访问控制,存取数据信息。

3.2.1 本地通信

程序与模块调用的关系如表2所示。表中主要展示了在系统启动、视频播放、场景播放、退出场景时8大模块的进程启动的情况。其中,●表示必须启动,○表示需要时启动,×表示不需要启动。

表2 程序与模块调用的关系

3.2.2 远程通信

服务器与客户端之间,通过服务器的监控模块与客户端的监控模块相互之间建立 TCP/IP协议,搭建基于CS模式的机群,监控模块再把远程消息在本地传输到相应的应用层模块,应用层的模块响应并处理消息,完成通信。机群之间的通信模型如图4所示。

图4 机群之间的通信模型

3.3 场景编辑

使用LynX Prime编辑器编辑adf文件(即应用配置文件),图5展示了adf文件的实例图。

图5 LynX Prime编辑器应用配置文件示例图

首先需要编辑视野范围,也就是Channel类的Offsets属性。Offset属性有6个属性值:X、Y、Z、Heading、Pitch、Roll。如图 7所示的 Vega右手坐标系,x轴正方向指向面对着的方向,y轴正方向指向左手边的方向,z轴正方向指向上面的方向。X、Y、Z就是右手坐标系的坐标值;Heading属性表示航向角,正值为向左转,负值为向右转;Pitch属性表示俯仰角,正值为向上转,负值为向下转;Roll属性表示横滚角,正值为逆时针转,负值为顺时针转。

在环幕设置中,选择 Projection(投影)属性为Symmetric(对称投影),设置FOV(Field Of View)属性的 Horizontal(水平)值和 vertical(垂直)值,然后分别为每一个通道设置不同的Offsets属性的航向角Heading的值。一般而言,只需要设置水平视野范围。也就是只设置Horizontal值和Heading值。

在地面设置中,选择 Projection(投影)属性为 Orthographic(正投影),把 Offsets属性的俯仰角Pitch的值设为-90,表示向下旋转90度,再设置Projection属性的Frustum属性值。Frustum属性采用二维坐标系,原点为左下角,坐标走向,如图6所示。

图6 Vega右手坐标系

4 单机演示

在系统构建过程中,为了更好地调试仿真系统,直观地查看模型以及检测系统的整体展示效果,需要在一台PC机上观看多个通道的效果。因而,需要把已经配置好的只显示单通道的 adf文件修改成能显示多个通道的adf文件。

如图7所示,首先创建9个Channel类的实例,然后分别重命名,接着把它们全部拖进Window类的实例 myWindow里边,同时在Observer类的实例myObserver里的Channels中添加进来。最后修改每一个通道的视野范围即可。

图7 单机演示9通道的adf文件配置

为了显示多个通道,需要对各个通道的Channel类的 Draw Area属性进行设置。Draw Area属性是以左下角为原点的二维坐标系,有效显示范围为[0,1]。

表3 各个通道的Channel类的Draw Area属性的设置

按照表3设置各个通道的Draw Area属性,得到的9个通道就是图8所示的通道。

图8 单机显示多个通道逻辑示意图

图9 展示的是单机模拟8通道环幕的效果。

图9 单机模拟8通道环幕效果图

5 新旧系统对比

新旧系统的功能和性能的对比项如表 4所示,通过对比,可以较明显地看出新系统的优越性。

6 结论和展望

本系统的原型是 2010年上海世博会广州案例馆360度内环幕虚拟体验区的软件系统。通过对原型进行改良和优化,使系统的功能得到进一步完善,性能得到进一步提高,系统稳定、高效地运行。

本文对于虚拟仿真领域系统的构建以及多通道技术在虚拟现实领域的应用具有一定的参考价值。

本文的下一步设想是把 Vega Prime的技术元素,使用开源的OSG(OpenSceneGraph)技术代替,从而实现更好的科研价值和商业价值。

表4 新旧系统对比

[1] 彭 亮,黄心汉. 基于VC和Vega Prime联合开发的巡航导弹仿真系统研究[J]. 中南大学学报(自然科学版),2010,(1): 219-224.

[2] 褚彦军,唐 硕. 基于 Vega Prime的通用视景仿真系统研究[J]. 计算机工程与设计,2009,17:4104-4107.

[3] 孙科峰,李 洁. 基于 Vega Prime的多场景仿真系统框架[J]. 计算机仿真,2007,(12): 193-195.

[4] 张玉双,陶应学,岳玉芳. 多通道技术在视景仿真系统中的应用[J]. 计算机工程与设计,2006,(11):2102-2104.

[5] 黄健熙,毛 锋,许文波,等. 基于 VegaPrime的大型流域三维管理系统实现[J]. 系统仿真学报,2006,(10): 2819-2823.

[6] 张德锋,王华兵,薛 原,等. 基于Vega Prime的视景仿真技术研究与应用[J]. 计算机仿真,2006,(7):191-195.

猜你喜欢
建模设置模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
中队岗位该如何设置
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
船舶防火结构及设置的缺陷与整改
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
中俄临床医学专业课程设置的比较与思考
三元组辐射场的建模与仿真
集成水空中冷器的进气模块