基于MultiGen Creator和Vega的虚拟训练场设计研究
扫描二维码
随时随地手机看文章
1 MultiGen Creator和 Vega软件介绍
1.1 Creator建模软件
MultiGen Creator是 由 MultiGen—Paradigm公 司开发的一种用于对可视化系统数据库进行创建和编辑的交互工具。MuhiGen Creator是世界上领先 的实时三维数据库生成系统.具有完整的交互式实时三维建模系统。广泛的选项增强了其特性和功能。用于产生高优化 、高精度的实时 3D内容,可以用来对战场仿真、城市仿真和计算可视化等复杂场景的视景数据库进行产生、编辑和查看。这种先进的技术,由包括自动化的大型地形和三维人文景观产生器 、道路产生器等强有力的集成选项来支撑。
MuhiGen Creat0r在满足实时性的前提下.能够生成面向仿真的、逼真性好的大面积场景。它可为 25种之多的不同类型的图像发生器提供建模系统工具 .其 OpenFlight格式在实时三维领域中成为最流行的图像格式 .并成为仿真领域的行业标准。
1.2 Vega实时仿真
Vega是 MultiGen—Paradigm公司应用于实时视景仿真 、声音仿真和虚拟现实等领域的软件环境 。它把先进的仿真功能和易用的工具结合在一起,创建 了一种使用最简单 ,但最具创造力的体系结构.来创建 、编辑和运行高性能的实时应用。Vega使用 Lynx界面定义和预览应用程序。在 Vega中包含了创建一个应用程序所必须的全部 API.但是简单的应用程序仅靠 Lynx 就可以实现 Lynx是一种基于 X/Motif技术的点击式图形环境 .用户只需通过 鼠标即可驱动图形中的对象以及动画中的实时控制.并允许用户在不 同时编写源代码 的情况下即可配置一个应用程序。 Vega还包括完整的 C语言应用程序接13.为软件开发人员提供 了最大限度的软件控制和灵活性。
2 构建虚拟训练场
以某综合训练场场景三维重建为例 .进一步讨论了虚拟现实技术。系统开发流程如图 1所示。
2.1 建模数据的获取及处理
虚拟综合训练场场景 .需要获取的建模数据主要是指训练场内各种器材设施的参数信息 、周边建筑物的信息、整个训练场的分布信息以及环境景观的纹理信息。
对获取的信息进行处理 .主要是对照片纹理信息的处理 。先通过数码相机拍照.再利用 Photoshop或者 Creator自带的纹理处理工具进行截取、纠正 、缩放等处理。尽管 Creator对纹理的格式 、大小没有太多的限制,但 Vega对纹理数据的要求相对比较严格 .不能满足要求的纹理不能正确显示 ,所 以必须对Creator用到的纹理进行编辑由于综合训练场 的地形较为平坦.可 以采用 Delaunay算法将 DED格式的地形数据进行转化。[
基于MultiGen Creator和Vega的虚拟训练场设计研究
2.2 三维建模
根据所获取的建模数据 .可利用 Creator建立起三维场景模型,包括训练场的各种器材设施 、附近的建筑物、花草树木 、道路等。训练场场景模型层次结构如图2所示。综合训练场的场景模型主要分为静态实体和动态实体 。
(1)静态实体建模。静态实体主要有固定的训练器材设施、道路、树木、建筑物等。由于训练场内的训练设施数量比较多.所要建模的数据量比较大.不可能把所有模型都放在整个训练场场景中进行建模.因此可以单独地制作每一个训练器材。最后将所有模型集成为整个训练场场景。
对于单一的固定训练器材 .可以将训练器材进行结构分解 ,运用 Creator的多种几何工具进行构建,再进行组合。形成完整的单一实体。
由于训练场周边的建筑物相对较少 .形状都较为规则 .因此可以简单地进行几何建模并贴上纹理。Creator中的布告板 .可以使模型在仿真过程 中始终保持面对视点.通常用于创建场景中类似路灯或者树木等具有对称性的实体。方法是将表示物体的透明纹理贴到模型表面.然后在运行时,模型会自动旋转 ,始终面向视点。我们可以运用这种方法来实现训练场中树木 、路灯等模型的建模 ,从而减少模型中多边形的数量.提高仿真效率。
根据实时漫游特性的需要.我们可以选择圆柱面和半球面模型对天空进行建模,并用纹理映射的方法体现天空背景。
(2)动态实体建模。训练场中的红旗属于动态实体,利用Creator对其进行建模主要是通过切换纹理来实现的。以在风中飘扬的红旗为例.首先利用 Photoshop对红旗的纹理进行处理 .确定几张要循环显示的图片。在根节点下建立几个子节点.每个子节点建立一个 面,将处理好的红旗纹理贴上每个面 .设置每张图片轮流显示的时间,最后隐藏除第一个子节点以外的其它节点。这样。一个迎风飘扬的红旗就完成了。
2.3 优化模型数据库
使用 Creator建模的最终 目的是为了在仿真程序中使用。在不影响场景真实感的前提下.为了保持程序运行的平滑性,提高系统运行的实时性.在制作模型的后期要尽可能的对模型进行优化处理。在构建虚拟训练场景的过程中。主要采用以下优化方法:
(1)删除不必要的多边形。我们可以通过删除在视锥体中看不到的多边形来减少多边形的数量.这些多边形包括模型内部的多边形、其它多边形后面隐藏的细节多边形、模型底面的多边形等
(2)使用多层次细节模型。在不影响模型逼真性的情况下合理设置 LOD的层数 、每个层次间的切换距离、纹理的大小精细程度等,虽然会增加一些工作量 ,但却节省了系统资源,提高了系统运行速度。
(3)采用实例化的方法对模型进行处理。通常应用于表示三维场景数据库中多次重复出现的对象实体.例如道路两旁的树木。实例化模型的优点主要体现在能够显著节省磁盘空间便于创建、编辑和修改模型。
3 场景漫游
所有的训练场场景模型建立完成后.需要进一步对模型进行驱动 .实现场景的实时漫游功能。首先 ,要设置 LvnX参数 。对观察者、运动方式 、环境特效等功能模块进行初步的设置。具体方法是:在 Scenes中设置为一个观察者所能看到的所有对象模型:在 Observers中设置观察者 ;在 Motion Model中为观察者设 置运动方式 ;在 Environments和 Environment Effects中设置天空和云的效果 。然后在系统中设置两种碰撞检测:一是与地面的碰撞检测.使观察者始终随着地形的变化而改变视点的高度 :二是与训练设施和建筑物的碰撞检测,避免观察者穿墙而过的情况。
在 vega中可以采用键盘控制漫游和固定路径 自动漫游本文主要是采用键盘控制漫游。具体来说.是在Vega中的Motion Models面板选择Drive运动模式。最后需要生成可执行文件,可在 VC中激活其函数库。
4 结束语
本文利用虚拟现实技术进行了虚拟综合训练场场景的三维重建 ,运用 Creator建立起 了各种逼真的训练设施 、环境 、地貌等模型.同时对模型进行了优化。然后利用 Vega工具开发了漫游功能.基本上完成了虚拟训练场的重建.并能与之进行自然 、三维可视的交互,具有真正的沉浸感。虚拟综合训练场的实现。为建立其它形式的训练场景提供 了一种可行性的方法 。具有一定的应用价值