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格式的地形数据进行转化。
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工具开发了漫游功能.基本上完成了虚拟训练场的重建.并能与之进行自然、三维可视的交互,具有真正的沉浸感。虚拟综合训练场的实现。为建立其它形式的训练场景提供 了一种可行性的方法 。具有一定的应用价值