System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及分布式仿真互操作,特别是涉及一种面向虚幻引擎分布式仿真互操作的方法和插件。
技术介绍
1、目前,基于虚幻引擎的仿真环境已经在交通等领域得到了广泛的应用,其原因是,基于虚幻引擎的仿真环境具备高逼真的三维可视化场景、丰富多样的人机交互设计以及可视化蓝图开发环境等优势。
2、但是,目前还缺少虚幻引擎与其他仿真系统实现互操作的方法。传统的异构仿真系统互操作主要采用分布式仿真技术,特别地是,高层体系结构(hla)是一个由美国电气工程师学会(ieee)发布的国际公认的分布式仿真标准,大部分仿真系统都提供了与hla的兼容。
3、尽管hla标准提供了标准化的rti(运行支撑平台)运行时服务接口,但是联邦成员中对象类和交互类的实现,以及rti服务的调用/回调处理都需要联邦成员开发者自行实现,而且,为了提高分布式仿真的运行效率,rti接口底层通常采用c++实现。这样为虚幻引擎仿真系统开发人员提高了开发难度,不仅需要熟练掌握c++语言,还要对rti服务有充分的了解,导致开发成本增加。
技术实现思路
1、基于此,有必要针对上述技术问题,提供能够充分利用虚幻引擎蓝图的优点和工作流程,对底层c++实现的rti运行库进行透明化隔离,减少开发成本,以高效实现虚幻引擎与hla分布式仿真服务之间互操作的一种面向虚幻引擎分布式仿真互操作的方法和插件。
2、一种面向虚幻引擎分布式仿真互操作的方法,所述方法应用于一种面向虚幻引擎分布式仿真互操作的插件,所述插件与虚幻引擎编辑器、
3、所述方法包括:
4、在初始化阶段,通过插件提供的hla适配管理器读取分布式仿真的联邦成员配置信息和实体映射关系,并根据实体映射关系进行对象类实例与虚幻引擎实体对象之间的映射;通过插件提供的蓝图函数库调用本地rti库的联邦服务对虚幻引擎应用进行联邦成员初始化,并将虚幻引擎应用加入分布式仿真联邦中;
5、在仿真运行阶段,根据插件提供的实体组件和交互管理组件分别处理订购对象类实例属性更新和订购交互类数据接收,并根据实体组件和交互管理组件处理虚幻引擎实体对象准备的待发布数据。
6、在其中一个实施例中,根据实体组件处理订购对象类实例属性更新,包括:
7、实体组件从本地rti库中获取订购对象类实例属性更新数据,并根据订购对象类实例属性更新数据更新该订购对象类实例对应的实体组件的状态。
8、在其中一个实施例中,在根据订购对象类实例属性更新数据更新该订购对象类实例对应的实体组件的状态之后,还包括:
9、设置实体组件所属的虚幻引擎实体对象的状态为该实体组件的状态。
10、在其中一个实施例中,根据交互管理组件处理订购交互类数据接收,包括:
11、通过本地rti库的回调函数接收订购交互类数据,遍历接收的所有订购交互类数据,并采用蓝图事件触发函数的方式触发激活不同的订购交互类数据对应的交互管理组件,根据交互管理组件实现对订购交互类数据的回调。
12、在其中一个实施例中,虚幻引擎实体对象准备待发布数据的步骤包括:
13、设置实体组件的状态为其所属的虚幻引擎实体对象的当前状态,并调用挂载在插件提供的hla交互管理器上的交互管理组件创建待发送的交互事件。
14、在其中一个实施例中,根据实体组件和交互管理组件处理虚幻引擎实体对象准备的待发布数据,包括:
15、根据实体组件将待更新的实体组件状态以公布对象类实例的形式保存在公布缓存区中,根据交互管理组件将待发送的交互事件以公布交互类实例的形式保存在公布缓存区中,并通过本地rti库将公布对象类实例和公布交互类实例发送至rti进行公布。
16、一种面向虚幻引擎分布式仿真互操作的插件,所述插件与虚幻引擎编辑器、虚幻引擎实体对象和分布式仿真rti运行总线连接,所述插件包括:
17、本地rti库,用于与rti进行通信;
18、hla适配管理器,用于提供设置联邦成员配置信息和实体映射关系的编辑器界面;
19、实体组件,用于封装本地rti库的对象管理服务接口的调用和回调操作,通过本次rti库获取订购对象类实例属性并处理订购对象类实例属性更新,并将待更新的实体组件状态保存至公布缓存区中;
20、hla交互管理器,用于提供所有交互管理组件的管理和访问接口;
21、交互管理组件,用于封装本地rti库的对象管理服务接口的调用和回调操作,以蓝图事件触发函数的方式提供对订购交互类数据的回调,并提供交互事件的发送,将待发送的交互事件以公布交互类实例的形式保存至公布缓存区中;
22、蓝图函数库,用于封装本地rti库的其他rti管理服务接口的调用和回调操作,实现其他rti管理服务的调用和回调。
23、在其中一个实施例中,实体组件挂载在与插件连接的虚幻引擎实体对象上,且不同的实体组件对应不同的对象类;交互管理组件挂载在hla交互管理器上,且不同的交互管理组件对应不同的交互类。
24、上述一种面向虚幻引擎分布式仿真互操作的方法,该方法应用于一种面向虚幻引擎分布式仿真互操作的插件,插件与虚幻引擎编辑器、虚幻引擎实体对象和分布式仿真rti运行总线连接,可以对底层c++实现的rti运行库进行透明化隔离,降低了开发难度和开发成本。并且插件便于开发和使用,通过插件中的hla适配管理器提供编辑器界面,便于实现分布式仿真联邦互操作设置;通过插件中的实体组件和交互管理组件分别进行对象类实例属性更新反射和交互事件发送接收,便于实现虚幻引擎实体对象与分布式仿真的其他联邦成员之间的分布式仿真对象类和交互类的数据接收和发布;通过插件中的蓝图函数库封装地rti库的其他rti管理服务接口的调用和回调操作,便于实现其他互操作函数的蓝图调用。采用本方法和插件可为虚幻引擎实体对象与hla分布式仿真服务之间的调用和回调提供完美的解决方案,实现高效双向互操作。
本文档来自技高网...【技术保护点】
1.一种面向虚幻引擎分布式仿真互操作的方法,其特征在于,所述方法应用于一种面向虚幻引擎分布式仿真互操作的插件,所述插件与虚幻引擎编辑器、虚幻引擎实体对象和分布式仿真RTI运行总线连接;
2.根据权利要求1所述的方法,其特征在于,根据所述实体组件处理订购对象类实例属性更新,包括:
3.根据权利要求2所述的方法,其特征在于,在根据所述订购对象类实例属性更新数据更新该订购对象类实例对应的实体组件的状态之后,还包括:
4.根据权利要求1所述的方法,其特征在于,根据所述交互管理组件处理订购交互类数据接收,包括:
5.根据权利要求1所述的方法,其特征在于,所述虚幻引擎实体对象准备待发布数据的步骤包括:
6.根据权利要求5所述的方法,其特征在于,根据所述实体组件和交互管理组件处理所述虚幻引擎实体对象准备的待发布数据,包括:
7.一种面向虚幻引擎分布式仿真互操作的插件,其特征在于,所述插件与虚幻引擎编辑器、虚幻引擎实体对象和分布式仿真RTI运行总线连接,所述插件包括:
8.根据权利要求7所述的插件,其特征在于,所
...【技术特征摘要】
1.一种面向虚幻引擎分布式仿真互操作的方法,其特征在于,所述方法应用于一种面向虚幻引擎分布式仿真互操作的插件,所述插件与虚幻引擎编辑器、虚幻引擎实体对象和分布式仿真rti运行总线连接;
2.根据权利要求1所述的方法,其特征在于,根据所述实体组件处理订购对象类实例属性更新,包括:
3.根据权利要求2所述的方法,其特征在于,在根据所述订购对象类实例属性更新数据更新该订购对象类实例对应的实体组件的状态之后,还包括:
4.根据权利要求1所述的方法,其特征在于,根据所述交互管理组件处理订购交互类数据接收,包括:
5.根据权利要求1所述的方...
【专利技术属性】
技术研发人员:杨妹,黄健,龚建兴,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。