2024年1月17日发(作者:)

2020年8月第16卷第3期中图分类号:TP391.9文献标志码:A系统仿真技术SystemSimulationTechnologyAug.,2020Vol.16,No.3轻量级分布交互式海洋战场仿真2徐建华1,,顾浩1,汪小东1,曾艳阳3210012;3.河南理工大学,河南焦作454000)(1.西北工业大学,陕西西安摘710072;2.三江学院,江苏南京要:针对虚拟战场仿真系统运行环境安装与配置复杂的问题,提出了一种轻量级分布交互式虚拟海战场仿真框架。首先,分析了WebGL、WebSocket等新一代互联网技术。接着,采用Blender工具对3D模型进行轻量化处理并存储到Web服务器中。然后,在客户端采用Ajax技术对Web服务器执行异步调用的方式加载3D模型对象,实现局部更新,且整个虚拟海战场渲染是通过引擎完成的。最后,采用全双工通信机制的WebSocket协议实现分布式交互操作。结果表明,采用该框架构建的虚拟海洋战场渲染速度快,逼真度高,沉浸感强。关键词:海洋战场;WebGL;WebSocket;Ajax;JSONDOI:10.16812/31-1945.2020.03.006SimulationofLightweightandDistributedInteractiveatSeaBattlefield2XUJianhua1,,GUHao1,WANGXiaodong1,ZENGYanyang3(esternPolytechnicalUniversity,Xi’an710072,China;ngUniversity,Nanjing210012,China;olytechnicUniversity,Jiaozuo454000,China)Abstract:Alightweightanddistributedinteractivesimulationframeworkisproposedforthecomplexinstallationandconfigurationproby,weanalyzeadvancedinternettechnologiessuchasWebGL,ly,the3Dmode,theclientscanloadthe3DmodelsbyAjaxtotheWebserver,y,theimplementationofdistrierimentalresultsshowthatthelightweightandcrossplatformdistributedinteractiveseads:seabattlefield;WebGL;WebSocket;Ajax;JSON虚拟战场是综合运用计算机技术、虚拟现实技术、建模技术、网络技术和多媒体技术等多种技术在获取战场信息前提下,对多种信息数据进行相应计算求解,立体呈现出与实际战场环境相符的虚拟场景[1]。分布交互式虚拟海战场是以虚拟海洋环境为主要作战环境,分布于不同节点的各种武器实体(航母、驱逐舰、反潜直升机、潜艇以及其所携带的各种武器装备,如导弹、鱼雷、深水炸弹等)通过网络交互,实现武器运用的仿真试验、联合作战演练等。文献[2]为达到实时显示海洋战场三维态势的目的,设计了一种三维态势显示系统方案。文献[3]采用基于方向包围盒OBB的方法,并对该方法进行优化和改进,在满足碰撞检测结果、碰撞第一时间和碰撞位置点准确性的基础上,较好地满足了虚拟海战场仿真中实时性的要求。文献[4]资助项目:国家自然科学基金(61503124);江苏高校“青蓝工程”(2017)

徐建华,等:轻量级分布交互式海洋战场仿真163针对传统系统耦合性较差和动态环境发展趋势走向分析不准确问题,对场景交互下动态环境设计系统进行研究。构建基于场景交互动态环境协调发展的耦合模型,将动态环境各个要素之间胁迫、依存、影响作为客观表现,直接反映环境发展趋势,进行周期性演化假设分析,获取动态环境与场景最佳交互状态。文献[5]研究设计出一种虚拟视景系统及其核心技术,其中靶点判定与碰撞检测采用了“射线/体”的交运算,虚拟战场场景渲染采用了OSG引擎,建立环境模型则采用了谷歌地图的数据源。分析可知,上述文献中的仿真系统运行环境安装配置都比较复杂,增加了技术难度。近年来,WebGL、Ajax等新一代互联网技术快速发展,文献[6]利用WebGL、HTML5构建的机器人三维仿真系统,实现了机器人实时图形仿真。文献[7]为实现页面对后台数据的无刷新访问,采用了jQueryAjax异步处理JSON的方法。文献[8]基于WebSocket的服务器推送技术,网络带宽占用小,效率高,实现了Web实时通信系统。文献[9]在药物设计中综合运用了支持VR的在线立体可视化交互式设计、云计算以及WebGL/表1Tab.1系统平台是否需插件渲染质量特点Win、Mac是高非开源,游戏开发工具Unity3DHTML5等技术。可见,WebGL、WebSocket等新一代互联网技术的出现为实现轻量化的分布交互式虚拟海洋战场提供了技术条件。1海洋战场仿真框架1.1虚拟海洋战场渲染技术——WebGL目前用于Web端虚拟仿真系统的几种Web3D技术特点对比分析如表1所示,其中WebGL(WebGraphicsLibrary)通过GPU硬件加速渲染虚拟场景,且无需安装任何插件。WebGL把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,为HTML5的“画布”提供GPU加速渲染。开发人员利用WebGL技术在浏览器中也能够流畅展示具有复杂3D结构的虚拟海洋战场,完成各种交互操作,并且不需要开发专用渲染插件。作为一款运行在浏览器中的3D引擎[10],其在WebGL的基础上进行了进一步的封装和简化开发过程,提供了易于使用的接口来处理错综复杂的WebGL动画。常见Web3D技术对比分析Flash3DWebGLComparisonofcommonWeb3DtechnologyWin、Linux、Mac是较高资源丰富,模型面数支持欠佳,质量一般Win、Linux、Mac否高GPU硬件加速,无需安装插件,开源1.2虚拟海洋战场实时通信技术WebSocket协议支持全双工通信,以便任何一方都导弹驱逐舰等虚拟海洋战场中作战对象模型的网络传输效率。如图1所示的飞船3D模型,OBJ格式的文件大小为314kB,而使用Blender工具转成的JSON格式文件仅有141kB,压缩了123%。虚拟海洋战场中的各类3D模型使用Blender工具进行了轻量化处理,均有较大幅度的压缩,提高了网络的传输效率、保障的实时性。可以通过建立的连接将数据推送到另一端。在建立连接时,WebSocket只需要建立一次连接,就可以一直保持连接状态,且建立的连接效率高,较好地满足了虚拟海洋战场实时交互的要求。WebSocket协议为基于浏览器的、需要和服务器进行双向通信的(服务器不能依赖于打开多个HTTP连接(例如,使用XMLHttpRequest或