APP下载

基于SQL数据驱动的Virtools虚拟训练系统设计与研究

2020-03-24陈俊峰

山西电子技术 2020年1期
关键词:数据格式虚拟环境虚拟现实

胡 华,杜 魁,陈俊峰,王 利,陈 宝

(太原卫星发射中心,山西 忻州 036301)

虚拟现实技术(VR),是在5G时代具有很高运用价值的一项全新的实用技术。它是一种集计算机技术、电子信息技术、三维仿真技术于一体,并利用计算机模拟虚拟环境从而给人以环境沉浸感的新型技术[1-4]。从大的方面可以划分为两大类,即沉浸式和不是采用沉浸式两种。其中最为常见的是沉浸式虚拟现实技术,其主要原理是采用专用的头戴式显示器,把虚拟体验者的视觉、听觉集合起来,这样就会产生虚拟视觉感受,除此之外,它利用数据手套之类的技术把用户的手感通道封闭起来,能够产生虚拟触动感,让人产生一种身临其境的感觉。但是该技术有一个缺点制约了其大量使用,体现为其价格昂贵,单人独享一个设备,因此在推广和应用方面具有一定的困难,随着科技的进步和硬件技术的发展,应用范围会越来越广。另外一种技术是非沉浸式虚拟现实技术,该技术抛开了对硬件的依赖,采用软件技术来模拟视觉和听觉等感觉,这样做的好处就是能节约大量的硬件费用开支。其中,Virtools技术以其功能较全面、人机交互可视化强等优势得到了较好的研究和应用[1]。

1 虚拟环境下人的认知特点

虚拟现实技术具有许多明显的特征,其中比较突出的几个特征分别是沉浸性、交互性和想象性。沉浸性指用户作为一名体验者存在于虚拟环境中的真实程度,可以是一些能够听到的、看到的,或者是能够感受到的一切内容,最为理想的情况是让体验者达到不能分辨真假的地步[2]。交互性是指用户对虚拟环境内的物体的可操作程度和从环境中得到反馈的自然程度,用户可以在虚拟现实环境中获得接近于真实的感受,也可以更进一步,对虚拟环境中的物体进行一些有限的操作,产生更加逼真的效果。想象性指用户沉浸在多维信息空间中,依靠自己的感知和认知能力全方位地获取知识,发挥主观能动性,寻求解答,形成新的概念,它是获取沉浸感的一个必要条件。

图1 虚拟现实技术的3个特性

虚拟训练系统中,要达到一个好的训练效果,关键还是需要依赖虚拟设备来实现。一方面,虚拟训练系统给参加训练的人员提供了平台和条件,在这个平台下,人员不需要实际更改硬件的参数和配置,不会存在破坏硬件系统的风险[3];另一方面,虚拟现实还可以充分发挥人的主观能动性,突破硬件的局限性,把自己一些成熟的想法付诸实践,达到提升训练效果的目的。

2 研究虚拟训练系统目的及意义

在缺乏必要的硬件支持时,我们只能寻求采用虚拟的方式来实现,然而,还会受到各种条件的限制,比如预算经费不足、训练场地限制等,模拟仿真训练并不能达到预期的效果[4]。通过虚拟现实技术建设虚拟训练系统,能够通过计算机虚拟现实场景,它能够使受训者“身临其境”的观察操作设备,甚至联网和他人合作进行操作训练。开发具有人员岗位适应性的虚拟训练系统具有很高的实用价值和重要的现实意义。

1) 虚拟训练系统使得训练活动不受时空的限制,人员可以在任何连接了局域网的地方,利用虚拟训练平台,进行与学习和操作有关的活动。

2) 虚拟训练系统促进了人员创新意识和创新能力的培养,人员可以在虚拟环境下大胆开展深入的实操训练和联合训练,彻底摆脱了原有设备条件的约束。

3)虚拟训练系统可降低训练配套设施建设成本,避免了大型仪器设备的重复添置、购买和不必要的训练损耗和浪费,将仪器、设备投入到战试任务保障中。

4) 虚拟训练系统与传统训练教学相结合能大大提高训练效果。

3 虚拟训练系统设计与研究

单纯利用Virtools开发的虚拟训练系统不能很好地解决实时数据的问题,只能设计出比较简单的虚拟训练系统,而结合SQL数据库,利用Virtools中Multiuser Server与SQL数据库的数据接口,采取实时更新SQL数据,数据同步到虚拟训练系统中的方法可以很好地解决实时数据的问题,藉此可设计更多实用的虚拟训练系统。

3.1 系统数据交互的设计结构

整个系统以SQL Server为后台数据库,其数据来源可以由设备网管提供,也可以由第三方软件提供。由于Virtools开发平台不能直接访问SQL Server,必须由Multiuser Server功能模块提供数据访问通道,使Virtools产品能够与SQL Server进行实时数据交互。用户则在虚拟训练系统交互界面上进行虚拟训练与操作等,直观感受数据的变化。虚拟训练系统主要有用户交互、数据控制、消息传递、场景管理四大模块,用户交互主要响应用户的操作,呈现3D环境下的视听效果;数据控制则负责在后台处理数据,实时地将需要的数据显示给用户,同时将用户更新的数据同步到数据库;消息管理是Virtools进行虚拟现实设计的重要功能模块,主要进行键盘、鼠标动作的捕捉及阶段过程的运行控制,其核心是“Send Message”和“Wait Message”模块;场景管理主要进行3D场景下贴图、材质、声音、视频等的控制,实时展现不同的3D视听效果。整个数据交互设计结构框架如图2。

图2 基于SQL数据驱动的虚拟训练系统数据交互设计结构

3.2 SQL数据驱动原理

图3 SQL与Virtools Array数据驱动原理图

SQL数据驱动方式的原理如图3。利用Virtools中的Array来进行数据控制是核心,由“Get Row”、“Get Cell”、“Set Row”、“Set Cell”等控件来读取和更新数据,数据通过计算机的18005端口进行传递,经过Multiuser Server处理后,再与SQL Server进行数据交互,而SQL数据库中的数据更新也可以获取到Array中,通过数据比较确定为新数据后再告知用户进行相关操作或者直接反映为新动作、新环境,这里的数据包括两种类型的比较,分别是与前数据的比较和与标准数据的比较,在这里通过“Test”组件来完成。将该过程在设计中加以循环,再利用消息控制机制,便可以达到实时获取和更新数据的目的。

Array可以看成是一个简单的数据库,它是Virtools软件进行数据处理的重要功能模块,Array表的建立必须与已知的SQL数据表有严格的对应关系(如图4),即Array表的所有字段必须与SQL数据表的所有字段或者前部分所有字段全部对应,否则数据将不能正常交互,导致数据驱动的失败。

图4 Virtools Array表与SQL数据表对应示例

3.3 三维模型的建立

由于Virtools本身没有建模功能,所以一般建模方法采用专门的建模软件来实现。首先利用3D MAX软件创建所需场景的三维模型,按需要进行模型加工。在对需要的三维物体和场景进行专业建模时,可以充分利用Virtools软件提供的数据接口,采用建模软件3ds max或Maya等对所需模型进行处理,而后进行纹理方面的渲染,最后导出Virtools支持的文件格式(扩展名为.3ds 或.nmo)导出。具体步骤如下:

1) 在3ds max中以适当比例建立实物模型。

2) 把模型转换为网格物体后,分割不同面,并为不同的分区赋予相对应的名称和不同颜色的材质,为virtools进行后期制作打好基础。

3) 将制作好的模型以Virtools支持的文件格式,扩展名为.3ds或.nmo的文件导出。

3.4 Virtools中三维交互的实现

Virtools提供的BB(Behavior Block)功能模块能够实现物体的识别和相关的操作,用户可以非常方便地进行调用。能够对模型进行基本操作,如大小变化、平移、缩放、颜色变化、光线变化、贴图等。用多个BB模块组合共同实现交互,利用camera控制视角的切换,还可以配以图像、视频、声音进行环境的渲染。通过BB模块的输入参数,当按鼠标的左键时,模块的参数值传回“True”,系统在判断为真后会向下执行相应操作,如果判断为假则跳转回程序初始状态。Virtools采取流程化、可视化的设计方法,可对多个设定作业进行全程模拟。

4 存在的问题及解决方法

受Virtools与SQL数据接口的影响,主要存在SQL数据来源和Array数据格式的问题。

4.1 数据来源

要开发符合专业岗位需要的虚拟训练系统,就需要有设备数据的支撑,这部分数据有很多涉及到网管软件,而且很多网管软件后台数据库是SQL Server。要直接利用设备网管获取数据,就要详细了解网管数据库的数据架构、数据定义及数据含义等,增加了难度。而且要对应建立Array表,就会增加数据负荷,产生一些不必要的数据,但主要的优点是获取数据快,实时性较高。

要简化设计难度,就要使用自编的第三方软件,用SQL Server作为后台数据库,间接获取需要的数据或者使用批量模拟数据,这样就可以自定义数据架构,使数据获取方式更加灵活,减少数据量,并可以进行编程精准地控制数据状态,但存在的问题是实时性一般。

相比较而言,使用第三方软件来保障数据来源要好一些,牺牲少量的实时性,但可以降低设计难度,增强控制性,减少数据量,提高系统运行效率。

4.2 Array数据格式的局限

Array有五种数据格式:Integer、Float、String、Object、Parameter,除了Object数据格式无法与SQL数据格式进行转换外,其他都有相对应的格式(见表1),因为Object是3D环境中的所有实体元素,无法在SQL数据库中体现出来。为了解决这个问题,可以先建立一个Object数据与其他格式数据的对应关系,进行间接关联,例如3D环境中有3个摄像机,分别为A、B、C,转换成Integer数据1、2、3与之对应,就可以方便地进行状态控制了。

表1 Array表数据格式与SQL数据格式对应关系

5 结束语

本文就个人在虚拟训练系统设计中获得的体会和经验进行了论述。虚拟现实技术在单位训练中有着广阔的应用前景,其良好的交互性和逼真的实境体验可以大大提高训练效率,降低训练成本,减小训练风险,在该方向加大研究开发力度,能够丰富训练手段,大幅度提高训练的水平,达到事半功倍的作用。

猜你喜欢

数据格式虚拟环境虚拟现实
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
如何通过虚拟环境有效管理Python第三方库
虚拟现实技术在中学校园中的应用
MIT—BIH心率失常数据库的识读
基于RFID的户外广告监管系统的设计与实现
风口上的虚拟现实
动画广告设计中虚拟环境的构建方法与运用
虚拟现实技术向科幻小说借灵感
一种融合多业务的信息化系统框架研究
论高校思想政治教育网络虚拟环境的特征