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