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或
164系统仿真技术第16卷第3期1.4Ajax异步3D模型技术随着时间的推移,虚拟海洋战场中的模型对象也局部或整个虚拟场景。在不断增加。Ajax即“AsynchronousJavascriptAndXML”,是一种可以实现网站页面异步更新的技术,只需要在后台与服务器进行少量数据交换。采用Ajax技术,可以动态加载航母、战舰、飞机、岛屿等不同的2仿真实验与分析本文实验硬件平台配置为:CPU为Intel(R)Core(TM)i7CPU/********GHz,内存为DRRII800/8GB,显3D模型对象,不需要刷新整个大范围的虚拟海洋场景页面,减少了Web服务器负载,节约了网络带宽资源。1.5海洋战场仿真框架设计在系统分析了WebGL、WebSocket等新一代互联网技术基础上,综合应用这些技术,设计了如图2所示的基于B/S模式的海洋战场仿真框架。该框架由三大部分组成:客户端Browser、Web服务器和jWebSocket服务器(图2)。图2分布交互式虚拟海洋战场框架Fig.2Aframeworkforthesimulationofvirtualseabattlefield为了提高性能,Web服务器与jWebSocket服务器在两台物理主机上分别进行部署。虚拟海洋战场所需的3D模型文件均存储在Web服务器中。客户端通过Ajax对Web服务器执行异步调用的方式加载3D模型对象。客户端的WebWorker负责优化Web服务器与客户端之间的实时通信,引擎负责渲染虚拟场景,jWebSocket客户端负责与其服务器端实时通信,WebBrowser负责显示虚拟场景和提供交互界面。当任意客户端向jWebSocket服务器发送某条操作命令,其他客户端可以实时接收到来自jWebSocket服务器主动推送的该条命令,并根据命令作出响应,必要时更新卡为NVIDAGeForceGTX260/1024MB,硬盘为1T/720016M;引擎版本为r92。为验证本文方法的跨平台性,分别选取了两款主流的Linux和Windows网络操作系统,详细情况如表2所示。由表2可知,在引擎版本相同情况下,虚拟海洋战场在两种平台中均可以达到实时性,由于Linux和Apache的高效性,部署在CentOS平台下具有更高的帧率。图3为真实的海上军演照片,图4为本文实现的虚拟海洋战场,可见海洋战场仿真拥有较高的逼真度。表2不同平台下的虚拟海洋战场性能Tab.2Performanceofvirtualoceanbattlefieldunderdifferentplatforms系统平台Web服务器主流浏览器平均帧率CentOS7.0WindowServer2012Apache2.4.6(FPS)IIS8.0FirefoxFirefox,,ChromeChrome5139图3真实海洋战场Fig.3Realityoceanbattlefield3结语WebGL、HTML5等新一代互联网技术的发展为虚拟仿真提供了更多途径。采用WebGL和WebSocket等技术实现的虚拟海洋战场,具有部署简单、跨平台、轻量化等优点,为海军武器装备论证、作战模拟、战略战术演练提供了良好手段。今后,云计算、人工智能等相关技术将被尝试应用于海洋战场仿真,以提高仿真场景规模化、智能化。
徐建华,等:轻量级分布交互式海洋战场仿真165图4虚拟海洋战场Fig.4Virtualoceanbattlefield参考文献:1]戴伟.虚拟战场场景仿真的设计与实现[D].南京:南京理工大学,tionDesignand[D]g:NanjingofvirtualUniversitybattlefieldScienceandTechnology,2]江波,程健庆,朱伟.基于Unity3D的海战场三维态势实时显示系统设计与实现[J].指挥控制与仿真,JIANG2018,40(2):entationBo,CHENGJianqingbattleof3Dreal-time,Design,ofand2018sea40(2):field106-109.[J].CommandControl&Simulation,3]谢云开,李航,田君良.虚拟海战场中的实时碰撞检测方法[J].科学技术与工程,2017,17(20):lisionYunkaidetection,LImethodsHang,attlefieldsReal-time[J].ScienceTechnologyandEngineering,2017,17(20):73-78.4]王茜,曾健友.场景交互下动态环境设计系统研究[J].现代电子技术,2018,41(13):vironmentXi,esearchonsceneondynamic[J].ModernElectronicsTechnique,2018,interaction41(13):155-158.[5]骆强,梁超,吕鸿鹏,等.虚拟视景系统在制导武器中应用研究[J].兵器装备工程学报,2017(5):licationQiang,LIANGweaponstudyJournalonvirtualChao,viewLVHongpeng,etal.Engineering[J]systeminaguidedDemin,2017.,(代5)沅:anceEquipment[6]ALEXEY兴,李新,等.基于HTML5与WebGL学学报(的机器人自然科学版3D)环境下的运动学仿真,2014(4):564-568.[J].东北大ALEXEYkinematicDemin,DAIYuanxing,LIXin,etal.3DVR[J].JournalrobotofsimlationNortheasternbasedonHTML5Universityand(WebGLNatural[7]Science郭庆燕,),张敏,2014(杨贤栋4):564-568..JQueryAjax异步处理JSON数据实现气象图片的显示[J].计算机应用与软件,2016GUO,33(6):metrorologicalQingyan,rocessingJSONpicturesMindatawithdisplay,byAjaxasynchronouslyAchieving[8]Application叶忠文,黄鹏,and施金金Software.基于,2016WebSocket,33(6):20-22.[J].Computer的Web实时通信系统[J].火力与指挥控制,2014(S1):unicationZhongwen,HUANGsystembasedPeng,l-timeControl&CommandControlStephen,2014(HS1WebSocket)C:,181-183.[J].Fire[9]YUANShuguang,entingvisualizationandWebGLmodernandcomputer-aidedHTML5inmacromolecular[J].TrendsinBiotechnology,2017,35(6):sign[10]:The3DLibraryfor[11]Webgl陈霄,[郭志川,M].Birmingham孙鹏,等:.Packt基于PublishingWeb浏览器的远程容器,2013:1-2.登录系统设计[J].网络新媒体技术,2017(6):moteXiaocontainer,GUOloginZhichuansystem,SUNbasedPenon,of[J].JournalofNetworkNewMedia,2017(6Web):r徐建华男(1979-),江苏南通人,博士研究生,副教授,主要研究方向为人工智能、虚拟仿真。[[[[


发布评论