可视化场景中的GIS引擎与游戏引擎的融合技术实践
2024-04-09武健超
孙 斌,刘 斌,武健超,王 凡
(1.中水北方勘测设计研究有限责任公司,天津 300222;2.广西大藤峡水利枢纽开发有限责任公司,广西 桂平 530000)
0 引言
随着水利行业数字孪生流域及数字孪生工程的提出,可视化模型承接数据底板、监测数据、水利专业模型、智能识别模型,构建流域、工程可视化场景,满足仿真模拟和综合展示需要。目前,具备利用数据底板构建可视化场景能力的引擎有:GIS引擎、游戏引擎及BIM引擎。GIS引擎,具备构建超大场景的能力,自带地理坐标体系,能快速加载场景,实现空间测量、空间分析等功能。游戏引擎,具备构建高仿真效果场景能力,利用高渲染引擎及物理引擎能够提升用户在三维地理信息上的视觉体验。而BIM引擎,仅能利用BIM模型构建局部场景,在数字孪生中应用有限[1]。综上,在数字孪生的可视化场景建设中,主要依托GIS引擎和游戏引擎作为可视化场景建设的基本建设工具。在实际的数字孪生工程建设过程中,也确实是2种引擎共同使用。实践中,在不同的业务应用中,选用适合的引擎进行开发,但并不是一个系统自始至终只用一种引擎,而需要根据场景进行不同引擎之间的切换,这就要求在开发过程中实现GIS引擎与游戏引擎之间的切换、调用[2]。
针对数字孪生平台可视化的需求,建立可视化模型引擎,以数字高程模型、卫星遥感影像、无人机正射影像、无人机倾斜摄影、BIM模型、基础地理数据、监测及业务数据的数据底板作为基础,通过建立工程级数字孪生可视化场景,对工程的结构、外部形状、设备设施及其周边环境进行三维展示,以立体方式呈现数字孪生工程及影响区域真实场景,并结合数字化技术、可视化组件,提供完整的、与实际情况一致的工程数据展示,同时结合水利数据模型计算过程及结果,进行仿真模拟,为“四预”模拟提供场景支撑[3]。
1 GIS引擎下可视化场景建设
GIS引擎下的场景建设主要依托遥感影像、数字高程模型、倾斜摄影模型等构建流域级场景。场景具备真实坐标系统,真实反映空间对象的空间位置、形状及纹理信息,能够进行三维空间分析和操作,具有独特的复杂空间对象管理能力及空间分析能力,能够将地理信息从真实世界更精准、具体地映射到虚拟世界。在防汛与水量调度“四预”平台即采用GIS引擎构建流域级的可视化场景,为“四预”提供可视化支撑。
2 基于游戏引擎的可视化场景建设
当前主流的游戏引擎为Unity和Unreal,通过利用BIM模型、实景模型、遥感影像等数据底板构建三维场景,并对场景中模型数据添加材质、动画、光影效果等,能够高仿真地还原工程场景,实现工程运行模拟[4]。但在场景建设过程中为达到最优的显示效果,需要大量的时间进行模型处理、材质调整、UV展面及动画特效处理。
3 跨平台场景融合
为支撑不同水利业务应用和不同用户对可视化场景的需求,须采用2种引擎支撑不同尺度的场景表达。利用三维地理空间数据来塑造虚拟3D环境的性能为地理应用打开了多种可能性。但这些数据源的文件格式不是标准化的,游戏引擎仅支持有限数量的文件格式,将地理空间数据应用于游戏引擎构建的虚拟3D环境时,通常需要对数据进行转换。通过游戏引擎构建网络三维应用时,在三维仿真场景中加载庞大的静态资源,会造成较大的网络数据传输压力,继而对可视化产生负面影响。因此,平台采用GIS引擎提供流域大尺度场景,采用游戏引擎提供工程精细化场景。为确保不同尺度场景的精确融合,而开发出场景快速变换控制技术。
3.1 确定场景特征参数向量
与GIS引擎的大地坐标系统相对应,在游戏引擎中加入坐标系统,以场景视点坐标、场景尺度、视角为场景特征向量。
初始场景特征参数向量为A:
A=[x,y,z,1]T
(1)
式中,Rx—变化过程x方向旋转变换矩阵;Ry—变化过程y方向旋转变换矩阵;Rz—变化过程z方向旋转变换矩阵;θx—变化过程x方向旋转角度;θy—变化过程y方向旋转角度;θz—变化过程z方向旋转角度;
3.2 求解变换矩阵
通过对不同场景特征参数向量的投影分析,可求解变换矩阵TranM。提前设置场景切换的触发条件,一旦满足该条件,即对变换矩阵进行求解。作用于初始特征向量,实现变换。
式中,A—初始场景特征参数向量;x—初始场景x向坐标;y—初始场景y向坐标;z—初始场景高度;
目标场景特征参数向量为A’,表达式为:
A’=[x’,y’,z’,1]T
(2)
3.3 引入变换矩阵
引入正交矩阵TranM作为场景变换矩阵,TranM可表达为:
TranM=TSR
(3)
其中:
(1)T为平移变换矩阵,可表达为:
(4)
式中,Translation.x—变换过程x方向平移距离;Translation.y—变换过程y方向平移距离;Translation.z—变换过程z方向平移距离。
(2)S为缩放变换矩阵,可表达为:
(5)
式中,Scale.x—变换过程x方向缩放系数;Scale.y—变换过程y方向缩放系数;Scale.z—变换过程z方向缩放系数;
(3)R为旋转变换矩阵,可表达为:
(6)
3.4 实现参数转换
将变换矩阵TranM作用于初始场景特征参数向量,可表达为:
A’=TranMA
(7)
通过矩阵运算实现从初始场景到目标场景的特征参数向量转换,从而实现GIS引擎、游戏引擎场景画面的统一和精确融合。该算法相当于按照“旋转-缩放-平移”的顺序,依次对不同尺度场景的视角、尺度、坐标进行切换。但是通过矩阵运算,把5次场景变换运算合并为1次变换,可以节省大量计算资源,降低系统延迟,极大地提高响应速度。使得游戏引擎的应用、GIS场景与游戏场景精确融合应用成为可能。
4 案例应用
广西大藤峡水利枢纽工程,位于珠江流域西江水系黔江干流,集防洪、航运、发电、水资源配置、灌溉等综合效益于一体,是珠江流域关键控制性水利枢纽[5]。自2022年进行数字孪生工程建设以来,可视化场景采用GIS与游戏引擎结合的双引擎模式建设方案,通过对数据融合处理及不同引擎的融合,既实现了数字孪生工程流域大场景多源要素的表达,又精细化呈现了枢纽工程区域场景,并达到从GIS引擎到游戏引擎场景无缝切换的目的。上述技术在防洪与水量调度“四预”系统、工程安全风险与健康评估系统等建设中加以应用,基于可视化平台提供的基础数据、可视化场景和仿真模拟功能,对调度方案进行预演,快速确定淹没面积和淹没损失,精准研判调度时机和控泄流量,为科学决策提供支撑[6-7]。
5 结论
研究给出了双引擎下场景融合、切换的技术方案,实现通过GIS引擎对大流域场景进行可视化展示,通过游戏引擎对工程局部场景进行精细化表达,且实现了从流域GIS场景到局部游戏引擎场景的无缝切换。通过合理地使用场景切换方案,使得业务应用调用场景更便利,而按需调用游戏引擎场景,降低了占用游戏引擎场景渲染服务器资源,增加了系统应用的可用性与灵活性。但此方案,由于游戏引擎本身不具备坐标系,因此,需要根据精细场景自定义坐标系,或利用插件添加坐标系。这导致有些情况下,场景坐标并不准确。利用转换矩阵转换后的坐标与游戏引擎场景坐标,存在细微的误差,只有不断优化转换矩阵,才能实现2个引擎下场景视角的统一。未来,可在充分测试基础上,对其精确性及有效性进行验证与调整,为同类应用提供借鉴与参考