一种基于虚幻引擎的仿真运行控制方法及系统技术方案

技术编号:39437232 阅读:15 留言:0更新日期:2023-11-19 16:20
本发明专利技术公开了一种基于虚幻引擎的仿真运行控制方法及系统,包括创建虚拟引擎项目,并创建线程;构建仿真平台工程单元并进行封装,获得动态链接库文件;将动态链接库文件引入虚拟引擎项目中;在虚幻引擎编辑器中导入平台模型资源,并在编辑器中创建新列表,构建平台模型索引;在虚幻引擎项目中创建蓝图函数库;在虚幻引擎编辑器中新建用户控件,将用户控件与蓝图函数库中的控制函数关联调用;运行仿真平台线程,执行仿真进程。本发明专利技术将仿真平台以动态链接库的方式接入虚幻引擎框架,并在虚幻引擎工程中以线程的方式运行仿真程序,解决了基于虚幻引擎控制外部仿真系统运行,并实时展现仿真平台所传输的仿真数据的问题,更好的实现了仿真效果。了仿真效果。了仿真效果。

【技术实现步骤摘要】
一种基于虚幻引擎的仿真运行控制方法及系统


[0001]本专利技术涉及计算机
,特别涉及一种基于虚幻引擎的仿真运行控制方法及系统。

技术介绍

[0002]虚幻引擎(Unreal Engine,简称UE)是一款开源的工业级开发引擎,因其强大的实时渲染能力、高真实感的画质效果及开源社区上丰富的辅助开发工具,使其成为当下最流行的游戏引擎之一。除了游戏,虚幻引擎被广泛应用于高精度仿真、电影制作、虚拟现实等诸多领域。
[0003]在计算机仿真领域,利用虚幻引擎强大的物理引擎、场景渲染和交互展现能力,可以开展实体细粒度建模、自然环境模拟和交互界面开发等工作。但虚幻引擎是一个通用的游戏开发平台,运行机制等方面并不能完全满足特定领域计算机仿真的需求。主流的计算机仿真系统提供了领域仿真所需的成熟、系统的解决方案,但往往在仿真场景渲染、结果展现、人机交互等方面并不擅长。

技术实现思路

[0004]为解决上述问题,本专利技术提供了一种基于虚幻引擎的仿真运行控制方法,具体技术方案如下:
[0005]S1:创建虚拟引擎项目,并创建线程;
[0006]S2:构建仿真平台工程单元并进行封装,获得动态链接库文件;
[0007]S3:将所述动态链接库文件引入所述虚拟引擎项目中;
[0008]S4:在虚幻引擎编辑器中导入平台模型资源,并在编辑器中创建新列表,构建平台模型索引;
[0009]S5:在虚幻引擎项目中创建蓝图函数库;
[0010]S6:在虚幻引擎编辑器中新建用户控件,将所述用户控件与所述蓝图函数库中的控制函数关联调用;
[0011]S7:运行仿真平台线程,执行仿真进程。
[0012]进一步的,步骤S2中,封装仿真平台工程单元,具体如下:
[0013]创建控制器类和回调类;
[0014]在所述控制器类中创建控制函数,所述控制函数至少包括启动、暂停、停止、加速、减速的控制函数;
[0015]在所述回调类中创建消息更新函数,获取仿真数据,并通过调用回调函数进行更新。
[0016]进一步的,步骤S5中,创建蓝图函数库,具体如下:
[0017]S501:在虚幻引擎编辑器中新建类,继承BlueprintFunctionLibrary类,在新建类中,创建模型相关函数;
[0018]S502:在虚幻引擎项目中导入所述控制器类的头文件,创建控制相关函数,调用所述仿真平台工程单元中的控制函数。
[0019]进一步的,步骤S7中,运行仿真平台线程,具体过程如下:
[0020]S701:初始化仿真平台线程,绑定回调函数;
[0021]S702:通过所述用户控件调用创建仿真平台线程的函数,运行仿真平台线程;
[0022]S703:调用仿真平台中的启动控制函数,根据虚幻引擎端提供的文件路径,读取仿真输入文件,将模型平台数据压入队列,执行仿真进程。
[0023]进一步的,步骤S3中,通过在Visual Studio中设置项目的工程属性引入动态链接库文件所在路径。
[0024]进一步的,还包括在虚幻引擎编辑器中新建类,继承AActor类,重写Tick事件,在Tick事件中调用模型生成函数以及模型数据更新函数。
[0025]进一步的,所述模型生成函数,执行逻辑如下:
[0026]检查模型平台队列中是否有模型,如果有,则根据输入的参数,查询所述平台模型索引,找到指定的模型,并添加到游戏场景中。
[0027]进一步的,所述模型数据更新函数,执行逻辑如下:
[0028]读取仿真平台线程中返回的数据,并改变模型的位置、姿态和状态。
[0029]本专利技术还公开了一种基于虚幻引擎的仿真运行控制系统,包括仿真平台工程单元和虚幻引擎工程单元,所述仿真平台工程单元集成在所述虚幻引擎工程单元中;
[0030]所述虚幻引擎工程单元还包括线程类、平台模型资源、蓝图函数库以及用户控件;
[0031]所述仿真平台工程单元包括控制模块和回调模块;
[0032]所述控制模块用于提供控制接口,包括对仿真平台的暂停、开始、快进、停止的功能控制接口;
[0033]所述回调模块包括若干回调函数。
[0034]进一步的,所述仿真平台工程单元通过编译为动态链接库集成至所述虚幻引擎工程单元中。
[0035]本专利技术的有益效果如下:
[0036]本专利技术将仿真平台以动态链接库的方式接入虚幻引擎框架,并在虚幻引擎工程中以线程的方式运行仿真程序,虚幻引擎主程序利用线程通讯方法实现虚幻引擎与仿真平台的控制指令与仿真信息的交互,解决了基于虚幻引擎控制外部仿真系统运行,并实时展现仿真平台所传输的仿真数据的问题;本专利技术通过将主流仿真平台集成到虚幻引擎框架下,发挥虚幻引擎与仿真系统各自的优势,更好的实现了仿真效果。
附图说明
[0037]图1是方法流程示意图。
[0038]图2是仿真平台动态链接库中具体实现流程图。
[0039]图3是虚幻引擎项目中具体实现流程图。
具体实施方式
[0040]在下面的描述中对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描
述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0041]在本专利技术实施例的描述中,需要说明的是,指示方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0042]在本专利技术实施例的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接连接,也可以通过中间媒介间接连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0043]实施例1
[0044]本专利技术的实施例1公开了一种基于虚幻引擎的仿真运行控制方法,该方法基于Visual Studio进行开发;
[0045]如图1所示,具体如下:
[0046]S1:创建虚拟引擎项目,并创建线程;
[0047]具体的,在虚幻引擎项目中创建C++类,继承FRunnable类,重写初始化(Init)、启动(Run)、暂停(Stop)、停止(Exit)函数,实现创建线程功能;
[0048]在此说明,虚幻引擎Runnable是一个可以在另一个线程中运行的接口,可用于异步操作和多线程编程。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于虚幻引擎的仿真运行控制方法,其特征在于,包括:S1:创建虚拟引擎项目,并创建线程;S2:构建仿真平台工程单元并进行封装,获得动态链接库文件;S3:将所述动态链接库文件引入所述虚拟引擎项目中;S4:在虚幻引擎编辑器中导入平台模型资源,并在编辑器中创建新列表,构建平台模型索引;S5:在虚幻引擎项目中创建蓝图函数库;S6:在虚幻引擎编辑器中新建用户控件,将所述用户控件与所述蓝图函数库中的控制函数关联调用;S7:运行仿真平台线程,执行仿真进程。2.根据权利要求1所述的基于虚幻引擎的仿真运行控制方法,其特征在于,步骤S2中,封装仿真平台工程单元,具体如下:创建控制器类和回调类;在所述控制器类中创建控制函数,所述控制函数至少包括启动、暂停、停止、加速、减速的控制函数;在所述回调类中创建消息更新函数,获取仿真数据,并通过调用回调函数进行更新。3.根据权利要求2所述的基于虚幻引擎的仿真运行控制方法,其特征在于,步骤S5中,创建蓝图函数库,具体如下:S501:在虚幻引擎编辑器中新建类,继承BlueprintFunctionLibrary类,在新建类中,创建模型相关函数;S502:在虚幻引擎项目中导入所述控制器类的头文件,创建控制相关函数,调用所述仿真平台工程单元中的控制函数。4.根据权利要求3所述的基于虚幻引擎的仿真运行控制方法,其特征在于,步骤S7中,运行仿真平台线程,具体过程如下:S701:初始化仿真平台线程,绑定回调函数;S702:通过所述用户控件调用创建仿真平台线程的函数,运行仿真平台线程;S703:调用仿真平台中的启动控制函数,根据虚幻引擎端提...

【专利技术属性】
技术研发人员:潘正宵王松陈功任斯远
申请(专利权)人:成都流体动力创新中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1