论文部分内容阅读
我国航天工程开始进入高速发展阶段,从2010年起,航天发射次数屡居前三。2018年航天发射更是频繁,发射次数达到39次之多,居世界首位。在众多航天工程任务中,航天三维可视化系统发挥着至关重要的作用。而现有的国产航天三维可视化系统一般都是针对具体项目或具体任务的,并没有针对整个航天工程的共性开发一套通用的航天三维可视化系统。随着航天任务的增多,为每一项任务都制作一套单独的系统将费时费力。这种可视化模式灵活性差,不容易扩展。另一方面,微软停止对Windows XP系统的计算机提供技术保护和自动更新以及“棱镜门”事件的发生,引起了国家对国产操作系统的重视。但国产操作系统在推广和使用方面存在问题,问题不在于操作系统本身,而在于与国产操作系统配套的应用软件较少,无法形成一个完整的产业链。根据上述问题,提出一种在三维虚拟仿真引擎中引入Lua语言脚本控制的方法。利用Lua脚本语言的即时编译和可嵌入其他语言的特性,解决硬编码方式存在的灵活性差和不易扩展的问题。并通过仿真引擎与脚本语言的相互调用,实现航天三维可视化任务的插件式开发。文中首先以Lua与C++的交互为例深入分析了Lua与宿主语言的交互原理,并以此为基础,选用XLua解决Lua与Unity3D之间的交互,最终实现航天三维可视化任务的插件式开发。另一方面,将已经嵌入脚本语言控制的航天三维可视化系统,迁移到国产操作系统中标麒麟上,将有利于国产操作系统在国家重大工程应用中的推广,有利于国家在事关国家高度机密的重大工程中做到自主可控。将航天三维可视化系统迁移到国产操作系统上,可为国产操作系统应用层软件增砖添瓦,有利于国产操作系统在全民应用的推广。文中从模型和代码两方面对项目进行移植,模型通过替代软件Blender移植成功,而代码部分移植成功。代码未成功的原因是在Windows下开发使用C#和Lua,而Blender支持的脚本为Python,并不支持C#。最终解决办法为通过VirtualBox构建操作系统兼容层来迁移项目。