张 威,荣 佳
(1.呼和浩特铁路局 科研所,呼和浩特 010020;2.呼和浩特铁路局 呼和电务段,呼和浩特 010050)
高速铁路虚拟现实三维仿真场景优化方法研究
张 威1,荣 佳2
(1.呼和浩特铁路局 科研所,呼和浩特 010020;2.呼和浩特铁路局 呼和电务段,呼和浩特 010050)
通过仿真高速铁路车站和电务设备的建模实例,提出了在铁路局域网等类似低带宽网络环境下通过运用模型优化、模型与图型的混用、灯光的设置、纹理贴图的使用、视角控制等方面的技术建立复杂实际设备时的具体思路和方法,并探讨了在大场景环境中采用的表现手法。为虚拟现实平台的搭建过程提供了清晰有效的建模思路及优化方法。
高速铁路;虚拟现实;三维模型;场景优化
随着铁道信号仿真演练培训系统的大面积普及和应用,构建覆盖全路的仿真培训系统,必须依托铁路内部已有的广域网和局域网,应用P2P技术实现数据的传输。现存的最大问题是由于使用三维场景表现事物,数据体积较大,在网络中传输对带宽要求高,因此必须解决铁路局域网带宽低、接入方式多、不稳定等问题,同时考虑低端客户机在显示三维场景时的执行能力。在不改变现有网络硬件结构的前提下有两种解决方法:(1)使用先进的网络技术采用多线程,预先加载数据、多点吸取数据的办法提高数据传输效率;(2)优化三维场景中的模型数据,在保证数据质量的前提下缩小数据体积。第1种方法仅可解决网络传输问题,第2种方法既能减轻网络传输负担,又可减低客户机的硬件配置要求。本文以建立高速铁路车站和电务相关设备为例,重点研究第2种,即三维场景的建立和优化方法。
优化的目标是缩小场景整体文件体积,减轻带宽压力和硬件运行时的负担,提高系统运行效率和画面显示速度。优化技术在构建高速铁路各类场景时是贯穿始终的重要过程,步骤如下。
1.1 层次结构优化
(1) 通过分析三维场景的作用,根据位置、组合连接关系、用途等指标对场景及模型进行分类,建立符合现场实际情况的层次结构,提高场景真实度。
(2)在上述基础上,遵照调整层次建模的规则方法对结构进行调整。
1.2 纹理优化
对现场采集得到的图像或视频截图进行基本加工处理,根据不同模型尺度的要求进行分类处理,例如:对纹理颜色、纹理像素进行修改或者将多个图像进行纹理拼接组成新的纹理等。
1.3 模型优化
对于三维模型必须消除冗余多边形简化模型面数,同时运用纹理映射代替部分模型、使用实例化和LOD(Level Of Detail, 细节层次)等技术降低场景中模型实际数量。
1.4 场景优化
通过使用纹理映射、实例化、LOD以及外部引用等技术对完整的虚拟场景进行综合性优化,在保证视觉效果的前提下,最大化地降低场景模型数量。
2.1 明确数据组织需求
分析项目需求,明确设备需要检修的位置,零部件,电压电流测试方法,端子等情况,计划建模数据类型与程度,总结分析结果,提出模型面数最优化的建模方案。高速铁路车站作为最大的环境场景,不但要求具备天空、线路、站台、房屋、列车等主要模型元素,还需对一些应该具备交互功能的设备建立起三维数据的可视化模型,能对这些数据进行操作,如道岔、转辙机、轨道变压器箱盒等。
2.2 建立空间位置的场景坐标系
三维模型在场景中一定是参照某一坐标系放置的,在虚拟高速铁路车站大场景中以钢轨为基准建立整个场景的世界坐标系,确定钢轨位置以及列车上、下行运行方向后,确定站台、房屋位置,每一个物体都定义其局部坐标系,分别在局部坐标系中完成物体的创建后,将模型置入完整的场景中,进一步确定各个模型之间的相互位置。定义正确的坐标系在构造场景和后续定义模型动作属性的过程中可以为表示模型和设计动作提供位置参照基础。
2.3 选择模型尺度
虚拟高速铁路车站所包含的模型种类、数量与场景精度均与采用的尺度息息相关。尺度一般是指观察研究的物体或过程的空间分辨度和时间单位。尺度的变化会影响信息被观察、表达、分析和传输的详细程度[1]。
根据场景表现的需要,按照高铁车站可控视角划分为3个级别的尺度。
(1)设备内部尺度:应用于具体某一设备的内部动作原理、设备检修调整、设备故障处理等场景,表现齿轮、螺丝、接线端子等微观设备元器件。
(2)设备集中区尺度:应用于某个区域内多台设备联合工作时的外部动作原理、设备检修调整、设备故障处理等场景,表现设备外壳、钢轨道床以及各设备之间的连接关系。
(3)车站全景尺度:应用于全景漫游场景以及切换其他视角尺度时的过渡场景,表现地表、列车、站台、房屋等物体。
2.4 构建模型结构及组合连接关系
通常大型虚拟场景采用的都是有层次的模型结构,进行结构分层定义之后,便可以开始对场景实施组织管理,将需要建立的模型根据类型、用途、位置分别建模,确立建模目标和建模流程,从而有效地缩短建模时间。
元器件之间通过组合关系建模可以构成各种组合连接关系。这些关系可以使模型的某些部件实现共同移动、旋转、形变等动作、同时为后续定义模型的物理属性以及运动属性提供了基础支持。常见的的组合关系主要包括齿轮咬合之间的啮合面连接、设备间使用弹簧连接等关系。
2.5 消除冗余多边形
在初步建立好的模型中都存在可有可无的几何元素,不但会增加面数,而且在旋转观察模型或执行动作时会出现画面闪烁的现象。在建模过程中存在冗余面几乎不可避免,冗余元素主要包括点、线、面以及体等,通常均是不可见的。消除冗余的、不可见的多边形,可以减轻系统负担,提高场景实时运行的速度[2]。
三角形是图形图像显示系统中使用最广泛的图形描绘元素,研究如何消除冗余多边形的方法其实就是研究消除不必要三角形的方法。在构建虚拟高铁车站的过程中主要使用以下两种方法。
2.5.1 基于聚类操作的三角形网格优化
计算思路是依据模型的外观将模型使用的空间划分成数个立方体单元,通过对立方体单元中各个顶点位置中典型的点进行计算,用典型的点代表属于相同立方体单元中的其它顶点,最后移去不需要的三角形,如图1所示。
2.5.2 基于删除操作的三角形网格优化
图2为顶点删除网格简化算法,图3为三角形删除网格简化算法。在此类算法中,被删除的元素为点、边和面3类。算法建立在分析顶点,边以及面片的重要程度的基础上,将其中不重要的元素删除,对遗留下的空间重新进行三角形化来填补[3]。
图1 顶点聚类算法示意图
图2 顶点删除网格简化算法示意图
图3 三角形删除网格简化算法示意图
通常场景中的可视角度是有限制的,某些器件始终位于不可见位置,将它们删除或隐藏对场景完全没有影响,却能极大提高场景加载和运行的速度。以高速铁路无碴轨道道岔为例,在制作线路时,钢轨只有轨面可见,因此,可以将钢轨轨底和道床部分的模型面删掉以减低模型面数,如图4所示。其余现场设备均按此方法进行了优化。
通过消除冗余多变形可以大量降低模型面数,减小模型文件体积。道床场景的初始面数为44 872面,经优化后,面数降低为32 429面,减少了28%,对应的模型文件体积由初始的3.58 M缩小为2.91 M,达到了优化的目的。
2.6 使用纹理技术优化
在构建车站场景模型的过程中,纹理的地位非常重要,极具真实感的纹理最能反映现实世界。纹理制作包括建筑物纹理、地表纹理、钢轨纹理、路基纹理、各类设备纹理等。
图4 删除道床底部不可见模型面
采用现场照片作为纹理贴图“贴在”模型表面是提高场景真实程度行之有效的方法,不但可以替代物体表面复杂的多边形,还可以在场景中较远或不重要的位置代替相关模型。通过纹理映射优化,场景的读取速度和运行实时渲染速度比单纯使用模型的场景要提高很多,而且进一步提高了场景真实程度。建筑物以及转辙机在车站全景尺度下完全可以使用只有六面的长方形基本体,配以设备贴图的方法来显示,取得良好的视觉效果,如图5所示。
图5 使用纹理贴图优化多边形建模效果示意图
2.7 使用实例化技术优化
当同一三维场景中存在所处空间位置不同,但基本几何特征相同的两个及以上三维模型时,可以只建立其中任意一个模型,然后在任何需要该模型的位置定义一个指向其原始模型的指针,这样就通知系统在运行该场景时在该位置映射一个原始模型,这就是实例化技术。其实引用的实例并不是系统中真实存在的模型,而只是一个复制几何形状的位置定义指针。实例化技术就好比一个几何体根据条件变化可以拥有多个影子,但真实的本体只有一个,实例就像是一个模型的众多影子,而实际物体只有一个,众多影子是实际物体执行平移,旋转,缩放操作后得出的。在系统中模型只在内存中载入一次,需要应用时将其调用,类似于编程中使用动态链接库文件内的函数[4]。例如:在图5中的8台转辙机以及周边树木等,在未使用实例化技术时,场景文件大小为20.714 M,对转辙机及树木应用实例化技术后,文件大小为13.192 M。
2.8 使用LOD技术优化
根据模型在场景中所处的距离远近和重要程度来决定渲染模型所需的资源分配量,即对于不同的模型或模型的不同细节采用分层次的显示表现形式。当某一模型距离在远端、模型体积较小或在场景中不是主要表现对象时,采用低精度模型予以表现,反之则使用高精度的模型进行表现[4]。一个模型在某一场景中是重点表现级别的模型,在另一个场景中则无关紧要。因此针对同一模型需要满足不同场景调用的需要,必须建立不同精度的模型,然后根据场景需求选择使用高、中、低3种模型级别。如图6所示,为ZD(J)9型转辙机在3种不同场景尺度下抽象模型、粗糙模型以及精细模型所表现出的不同效果以及各自的实际面数。
2.9 使用外部引用技术优化
外部引用技术的基本思想是将一些在构建场景时没有创建的模型或其他格式文件加入到当前实时运行的场景中来,并让其定位于事先设计好的位置,执行预定的任务。此技术的好处显而易见,例如在车站尺度场景中需要临时表现某个设备集中区尺度场景或设备内部尺度场景时,可以临时引用所需的场景文件,执行场景任务,在完成交互任务后只需停止引用文件,则场景恢复到引用前的状态。这样就避免了重复建模,同时外部文件只有在引用执行时才占用消耗系统资源,停止引用后立即释放占用的资源。
图6 3种不同尺度视点下的3套模型质量对比图
构建虚拟高速铁路车站和电务设备的过程中,使用3DMAX建模软件,经过上述步骤的优化过程,有效的减小了文件体积,在使用模型过程中提高了加载速度,减轻了网络负荷,降低了运行硬件的配置要求,达到了预期的优化目的,同时为今后类似问题提供了解决思路和优化方法。
[1] 吴 凡.地理空间数据的多尺度处理与表示研究[D].武汉:武汉大学,2002:11-12.
[2] Algorri M.,Schmitt F..Mesh simplifieation[J].Computer Graphics Forum,1996,15(3): 77-86.
[3] 周 昆,潘志庚,石教英.一种新的基于顶点聚类的网格简化算法[J].自动化学报,1999,25(1)1-8.
[4] 洪 光,李洪儒,牟建国.基于Creator的三维模型的简化[J].计算机仿真,2004,21(1):57-58.
责任编辑 徐侃春
Optimization method of virtual reality 3D scene simulation for high-speed railway
ZHANG Wei1, RONG Jia2
( 1. Institute of Scientific Research, Hohhot Railway Administration, Hohhot 010020, China; 2. Depot of Signal & Communication, Hohhot Railway Administration, Hohhot 010050, China )
Through modeling example of simulation station and electrical equipment for high-speed railway, the article proposed the specifc ideals and methods for setting up practical and complex equipment by using the techniques of optimization model, mix model and graphics, lighting set, the use of texture mapping, viewpoint control in a limited bandwidth environment.The technique of expression used in the big environment was also discussed.It provided a clear and effective modeling idea and optimization method for the process of building the virtual reality platform.
high-speed railway; virtual reality; 3D model; scene optimization
U238∶U291∶TP39
A
2015-08-14
张 威,工程师;荣 佳,助理工程师。
1005-8451(2016)03-0042-04