首页> 中国专利> 一种仿真动画模型加载方法、装置及仿真设备

一种仿真动画模型加载方法、装置及仿真设备

摘要

本发明提供了一种仿真动画模型加载方法、装置及仿真设备,由于预先依据用户外部构建的仿真动画文件构建了索引文件,仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件。从而在根据索引计算公式以及观测目标的当前位置,确定当前位置所属的当前包围盒索引值之后,能够利用预先建立的索引文件,确定当前包围盒索引值的周边包围盒索引值;最后实现对仿真动画文件中与当前包围盒索引值和周边包围盒索引值所对应的子模型文件的加载。通过将用户外部构建的仿真动画文件转化成索引文件的方式,通过索引文件实现对仿真动画文件中的子模型文件的加载,即实现了对仿真动画模型的外部加载。

著录项

  • 公开/公告号CN113094546A

    专利类型发明专利

  • 公开/公告日2021-07-09

    原文格式PDF

  • 申请/专利权人 北京经纬恒润科技股份有限公司;

    申请/专利号CN202110454025.9

  • 发明设计人 谭亮;吴钊;张大鹏;王舜琰;

    申请日2021-04-26

  • 分类号G06F16/71(20190101);G06F16/787(20190101);G06T13/00(20110101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人姚璐华

  • 地址 100015 北京市朝阳区酒仙桥路14号1幢4层

  • 入库时间 2023-06-19 11:45:49

说明书

技术领域

本发明涉及智能仿真技术领域,更具体的说,是涉及一种仿真动画模型加载方法、装置及仿真设备。

背景技术

在智能驾驶仿真测试过程中,相关技术人员需要对车载传感器进行反复的仿真测试,目前主要是基于仿真动画文件中的仿真动画模型对车载传感器进行仿真测试,而仿真动画模型的动画加载速度也是仿真测试的评价指标。

为了提高仿真动画模型的动画加载速度,目前采用的方法是内置仿真动画文件,就是在仿真软件中内置仿真动画模型,所有的仿真测试依据内置的仿真动画文件来执行,然而目前内置的仿真动画模型已经无法满足对不同传感器或传感器中不同控制算法的测试要求,因此,逐渐对仿真动画模型的外部加载提出了需求。

发明内容

有鉴于此,本发明提供了一种仿真动画模型加载方法、装置及仿真设备,能够实现对仿真动画文件的外部加载。

本发明提供如下技术方案:

一种仿真动画模型加载方法,所述方法包括:

根据索引计算公式以及观测目标的当前位置,确定所述当前位置所属的当前包围盒索引值;

利用预先建立的索引文件,确定所述当前包围盒索引值的周边包围盒索引值;所述周边包围盒索引值为所述索引文件中以所述当前包围盒索引值为中心预设范围内的包围盒索引值;

对仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件进行加载;其中,所述索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致,所述仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件。

可选的,所述索引文件的生成过程包括:

获取所述仿真动画文件中各仿真动画模型文件;

对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标;

利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的包围盒索引值;

建立每个子模型文件与各自对应的包围盒索引值之间的索引关系,得到所述索引文件。

可选的,对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标,包括:

对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件下的模型元素;

根据每个子模型文件下的模型元素确定每个子模型文件的位置坐标。

可选的,根据索引计算公式以及观测目标的当前位置,确定所述当前位置所属的当前包围盒索引值,包括:

根据索引计算公式、观测目标的当前位置以及所述索引文件,确定所述当前位置所属的当前包围盒索引值;所述索引文件包括各子模型索引值与各子模型文件之间的第一索引关系,以及各子模型索引值与各包围盒索引值之间的第二索引关系。

可选的,所述索引文件的生成过程包括:

获取所述仿真动画文件中各仿真动画模型文件;

对所述各仿真动画文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标;

利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的子模型索引值,建立各子模型索引值与各子模型文件的第一索引关系;

确定每个子模型文件的位置坐标所属的包围盒;

根据每个子模型文件的位置坐标所属的包围盒,以及所述第一索引关系建立各子模型索引值与各包围盒索引值之间的第二索引关系,生成所述索引文件。

可选的,对仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件进行加载,包括:

将所述当前包围盒索引值和所述周边包围盒索引值分别与历史已加载的所有子模型文件对应的历史包围盒索引值进行比对,从所述当前包围索引值和所述周边包围盒索引值中筛选出与历史包围盒索引值不同的索引值,作为目标包围盒索引值;

对所述目标包围盒索引值对应的子模型文件进行加载。

一种仿真动画模型加载装置,所述装置包括:

当前包围盒索引值确定单元,用于根据索引计算公式以及观测目标的当前位置,确定所述当前位置所属的当前包围盒索引值;

周边包围盒索引值确定单元,用于利用预先建立的索引文件,确定所述当前包围盒索引值的周边包围盒索引值;所述周边包围盒索引值为所述索引文件中以所述当前包围盒索引值为中心预设范围内的包围盒索引值;

加载单元,用于对仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件进行加载;其中,所述索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致,所述仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件。

可选的,还包括:第一索引文件生成单元;

所述第一索引文件生成单元包括:

模型文件获取单元,用于获取所述仿真动画文件中各仿真动画模型文件;

模型文件解析单元,用于对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标;

包围盒索引值计算单元,用于利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的包围盒索引值;

索引关系建立单元,用于建立每个子模型文件与各自对应的包围盒索引值之间的索引关系,得到所述索引文件。

可选的,所述模型文件解析单元包括:

模型元素解析单元,用于对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件下的模型元素;

位置坐标确定单元,用于根据每个子模型文件下的模型元素确定每个子模型文件的位置坐标。

一种仿真设备,所述仿真设备包括:

处理器和存储器;

所述处理器,用于调用并执行所述存储器中存储的程序;

所述存储器用于存储所述程序,所述程序至少用于:

执行如上所述的仿真动画模型加载方法。

经由上述的技术方案可知,与现有技术相比,本发明提供了一种仿真动画模型加载方法、装置及仿真设备,在该方法中,由于本发明预先依据用户外部构建的仿真动画文件构建了索引文件,仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件,索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致。从而在根据索引计算公式以及观测目标的当前位置,确定当前位置所属的当前包围盒索引值之后,能够利用预先建立的索引文件,确定当前包围盒索引值的周边包围盒索引值;周边包围盒索引值为索引文件中以当前包围盒索引值为中心预设范围内的包围盒索引值,最后实现对仿真动画文件中与当前包围盒索引值和周边包围盒索引值所对应的子模型文件的加载。本发明通过将用户外部构建的仿真动画文件转化成索引文件的方式,通过索引文件实现对仿真动画文件中的子模型文件的加载,即实现了对仿真动画模型的外部加载。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种仿真动画模型加载方法的流程图;

图2为本发明实施例提供的一种索引文件的生成方法的流程图;

图3为本发明实施例提供的一种包围盒二维坐标平面示意图;

图4为本发明实施例提供的另一种索引文件的生成方法的流程图;

图5为本发明实施例提供的一种仿真动画模型加载示意图;

图6为本发明实施例提供的一种仿真动画模型加载装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在智能驾驶仿真测试过程中,相关技术人员需要对车载传感器进行反复的仿真测试,才能最终确定车载传感器的相关运行算法或性能,如对车载照相机或者车载激光雷达进行仿真测试等,目前主要是基于仿真动画文件中的仿真动画模型(如三维仿真动画模型)对车载传感器进行仿真测试,而目前智能仿真驾驶仿真领域中仿真动画模型的加载速度和动画效果是主要的评价指标。动画效果主要和仿真动画模型相关,这部分可由建模软件实现;为了提高仿真动画模型的加载速度,目前采用的方法是内置仿真动画模型,就是在仿真软件中内置仿真动画模型,所有的仿真测试依据内置的仿真动画模型来执行,灵活性差,然而目前内置的仿真动画模型已经无法满足对不同传感器或传感器中不同控制算法的测试要求,也无法满足用户个性化定制需求。

为了解决该问题,目前的仿真软件需要不断迭代扩展内置仿真动画模型的规模,代价就是软件及场景规模的庞大,而目前仿真软件的软硬件方面还无法满足内置仿真动画模型的不断迭代更新。因此,逐渐对仿真动画模型的外部加载提出了需求。

目前存在一种仿真动画模型的外部导入方法,就是在用户构建完成仿真动画文件之后,将仿真动画文件中的仿真动画模型分类别导入某特定软件中,然后在该特定软件下进行特殊格式仿真动画模型的制作,最后生成特殊格式的仿真动画模型。这种方式需要用户在常规三维建模软件中创建大量的仿真动画模型,然后在特定软件中进行二次模型编辑制作,用户操作繁琐,大大降低了仿真动画模型的生成和使用的效率,同时提高了模型的开发门槛。

为了进一步解决上述技术问题,本发明提供了一种仿真动画模型加载方法、装置及仿真设备,在该方法中,由于本发明预先依据用户外部构建的仿真动画文件构建了索引文件,仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件,索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致。从而在根据索引计算公式以及观测目标的当前位置,确定当前位置所属的当前包围盒索引值之后,能够利用预先建立的索引文件,确定当前包围盒索引值的周边包围盒索引值;周边包围盒索引值为索引文件中以当前包围盒索引值为中心预设范围内的包围盒索引值,最后实现对仿真动画文件中与当前包围盒索引值和周边包围盒索引值所对应的子模型文件的加载。本发明通过将用户外部构建的仿真动画文件转化成索引文件的方式,通过索引文件实现对仿真动画文件中的子模型文件的加载,即实现了对仿真动画模型的外部加载。

并且,本发明公开的上述方式只需要用户执行外部构建仿真动画文件的步骤,本发明中的仿真软件可以接收用户构建的仿真动画文件,并自动将用户构建的仿真动画文件转换成索引文件的形式,并通过上述方式实现对仿真动画文件中仿真动画模型文件的加载,也就是实现对用户外部构建的仿真动画模型的加载。无需用户执行模型的分类保存,也无需用户在特定软件下进行特殊格式仿真动画模型的二次搭建过程,用户仅需要在常用三维模型建模软件中进行期望模型搭建,然后导出预设格式的模型即可,简化了用户操作,提高了仿真动画模型的生成和使用的效率,降低了模型的开发门槛。同时对用户自身定制化的模型,同样能够快速加载,且不会影响视觉效果。

下面,以具体的实施例对本发明的技术方案进行详细介绍:

图1为本发明实施例提供的仿真动画模型加载方法的流程图,参照图1,所述方法可以包括:

步骤S100、根据索引计算公式以及观测目标的当前位置,确定所述当前位置所属的当前包围盒索引值。

需要说明的是,观测目标可以为仿真场景中的物体,如汽车、行人等,具体还可以为携带车载照相机或车载激光雷达的汽车。观测目标也可以为仿真场景中的物体的一部分。如观测目标可以为汽车上的轮胎、汽车车身、汽车中的各种传感器等,本发明实施例不做具体限定。

观测目标的当前位置为观测目标的当前真实地理位置。在一些实施例中,当前包围盒索引值指的是AABB(Axis-aligned bounding box,轴对齐包围盒)方法中涉及到的包围盒索引值。实际应用中,每个包围盒的大小可以是相等的,也可以是不相等。为方便包围盒的划分,一般让每个包围盒的大小是相等的。

步骤S110、利用预先建立的索引文件,确定所述当前包围盒索引值的周边包围盒索引值。

需要说明的是,所述周边包围盒索引值为所述索引文件中以所述当前包围盒索引值为中心预设范围内的包围盒索引值。

随着观测目标的移动,本发明除了要加载观测目标之外,还需要对观测目标周边的物体进行加载,即本发明不仅对观测目标对应的仿真动画模型文件或子模型文件进行加载,还要对观测目标周边位置范围内的仿真动画模型文件和/或子模型文件进行加载。所以,本发明要确定当前包围盒索引值的周边包围盒索引值,周边包围盒索引值用于指示观测目标的周边相应范围内的位置信息。一般地,周边包围盒索引值为索引文件中以当前包围盒索引值为中心且与当前包围盒索引值相邻的包围盒索引值。可以理解的是,在其他实施例中,周边包围盒索引值除包括索引文件中以当前包围盒索引值为中心且与当前包围盒索引值相邻的包围盒索引值外,还可以包括与当前包围盒索引值相邻的包围盒索引值相邻的包围盒索引值。

可选的,包围盒索引值可以采用索引坐标的形式表示。

步骤S120、对仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件进行加载;其中,所述索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致,所述仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件。

需要说明的是,仿真动画文件仿真的是场景,仿真动画模型文件仿真的是场景中的物体,如汽车、行人等,仿真动画模型文件的数量和仿真内容根据仿真动画文件所仿真的场景确定,每个仿真动画模型文件中包括有子模型文件,子模型文件为仿真动画模型文件中的各组成部分,举例来说,在仿真动画模型文件为汽车的情况下,子模型文件则仿真的是汽车上的轮胎、汽车车身、汽车中的各种传感器等,本发明实施例不做具体限定。

需要说明的是,本发明可以依据当前包围盒索引值和周边包围盒索引值,在索引文件中查找到与当前包围盒索引值和周边包围盒索引值各自对应的子模型文件,并进行加载。

需要说明的是,智能驾驶仿真软件中主要是对子模型文件进行流式加载的,流式加载为智能驾驶仿真动画软件启动后执行。

可选的,本发明还提供了如下一具体的加载过程,具体的,对仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件进行加载包括:

将所述当前包围盒索引值和所述周边包围盒索引值分别与历史已加载的所有子模型文件对应的历史包围盒索引值进行比对,从所述当前包围索引值和所述周边包围盒索引值中筛选出与历史包围盒索引值不同的索引值,作为目标包围盒索引值;对所述目标包围盒索引值对应的子模型文件进行加载。

本发明通过上述方式筛选出历史未加载过的子模型文件;仅加载历史未加载过的子模型文件,对于历史已经加载过的子模型文件,则不再进行加载,能够进一步提高模型的加载速度。

需要说明的是,在加载过程中,如果子模型文件较大,主线程加载卡顿,可采用延时加载方式或者采用其他线程进行加载,提高加载速度。

本发明提供了一种仿真动画模型加载方法,在该方法中,由于本发明预先依据用户外部构建的仿真动画文件构建了索引文件,仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件,索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致。从而在根据索引计算公式以及观测目标的当前位置,确定当前位置所属的当前包围盒索引值之后,能够利用预先建立的索引文件,确定当前包围盒索引值的周边包围盒索引值;周边包围盒索引值为索引文件中以当前包围盒索引值为中心预设范围内的包围盒索引值,最后实现对仿真动画文件中与当前包围盒索引值和周边包围盒索引值所对应的子模型文件的加载。本发明通过将用户外部构建的仿真动画文件转化成索引文件的方式,通过索引文件实现对仿真动画文件中的子模型文件的加载,即实现了对仿真动画模型的外部加载。

本发明中所要加载的子模型文件是随着观测目标位置的变化而变化的,每次仅加载与观测目标当前位置以及当前位置距离预设范围内的子模型文件,当观测目标位置变化之后,则加载与观测目标变化后的位置以及与变化后的位置距离预设范围内的子模型文件,实现仿真动画模型的快速动态流式加载,提高仿真动画模型的加载速度。

本发明公开的上述方式只需要用户执行外部构建仿真动画文件的步骤,本发明中的仿真软件可以接收用户构建的仿真动画文件,并自动将用户构建的仿真动画文件转换成索引文件的形式,并通过上述方式实现对仿真动画文件中仿真动画模型文件的加载,也就是实现对用户外部构建的仿真动画模型的加载。无需用户执行模型的分类保存,也无需用户在特定软件下进行特殊格式仿真动画模型的二次搭建过程,简化了用户操作,提高了仿真动画模型的生成和使用的效率,降低了模型的开发门槛。

需要说明的是,在本发明中的索引文件中包含子模型文件与各自对应的包围盒索引值之间的索引关系的情况下,下面,对本发明提供的索引文件的生成过程进行说明,下面给出一种索引文件的生成方法,图2为本发明实施例提供的索引文件的生成方法的流程图,参照图2,所述方法可以包括:

步骤S200、获取所述仿真动画文件中各仿真动画模型文件。

需要说明的是,用户通常可以通过常用三维建模软件搭建仿真动画模型,并将搭建的仿真动画模型导出为预设格式的文件,得到仿真动画模型文件。预设格式的文件如FBX、OBJ等,本发明不做具体限定。

每个仿真动画文件中包含至少一个仿真动画模型文件。

步骤S210、对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标。

需要说明的是,每个仿真动画模型文件中包含至少一个子模型文件。由于子模型文件为仿真动画模型文件中的各组成部分,因此,每个子模型文件中包括的内容为仿真动画模型文件中的各组成部分的相关信息,例如:网格mesh、材料material、纹理texture、顶点、三角形、法线以及贴图数据等内容,本发明实施例不做具体限定。

可选的,本发明主要采用FBX的SDK(Software Development Kit,软件开发工具包)对仿真动画模型文件进行解析。

所述对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标,包括:

对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件下的模型元素;根据每个子模型文件下的模型元素确定每个子模型文件的位置坐标。

可选的,由于子模型文件为仿真动画模型文件中的各组成部分,因此子模型文件下的模型元素为仿真动画模型文件中各组成部分的元素,举例来说,在仿真动画模型文件为汽车的情况下,子模型文件则仿真的是汽车上的轮胎、汽车车身、汽车中的各种传感器等,模型元素则为轮胎的各个组成部分、汽车传感器的各个组成部分等,本发明实施例不做具体限定。

本发明将一个子模型文件下的所有模型元素的中心位置坐标作为该子模型文件的位置坐标。

步骤S220、利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的包围盒索引值。

本发明利用索引计算公式,将每个子模型文件的位置坐标转化为包围盒索引值。子模型文件对应的包围盒索引值为子模型所在的包围盒的索引值。

下面给出一种利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的包围盒索引值的计算公式:

其中,包围盒索引值包括:包围盒索引横坐标值以及包围盒索引纵坐标值;(idx,idy)为包围盒索引值,idx为子模型文件对应的包围盒索引横坐标值,idy为子模型文件对应的包围盒索引纵坐标值;x,y分别为子模型文件分别在x方向以及y方向的位置坐标,w为预先设置的虚拟包围盒宽度,ceil()表示取大于括号内数值的最小整数运算。

参照图3所示的包围盒二维坐标平面示意图,包围盒二维坐标平面中最小的区域为一个虚拟包围盒尺寸大小,包围盒二维坐标平面中展示的各个多边形为子模型文件,本发明主要是计算每个子模型文件在包围盒二维坐标平面中的包围盒索引值。

步骤S230、建立每个子模型文件与各自对应的包围盒索引值之间的索引关系,得到所述索引文件。

本发明通过上述方式建立了每个子模型文件与各自对应的包围盒索引值之间的索引关系,得到所述索引文件,从而将用户外部构建的仿真动画文件转化成索引文件的方式,通过索引文件实现对仿真动画文件中的子模型文件的加载,即实现了对仿真动画模型的外部加载。

另外,需要说明的是,在其他实施中,在本发明中的索引文件也可以包括各子模型索引值与各子模型文件之间的第一索引关系,以及各子模型索引值与各包围盒索引值之间的第二索引关系的情况下,本发明中的根据索引计算公式以及观测目标的当前位置,确定所述当前位置所属的当前包围盒索引值的过程还可以包括:根据索引计算公式、观测目标的当前位置以及所述索引文件,确定所述当前位置所属的当前包围盒索引值。基于此,下面,本发明给出另外一种索引文件的生成方法,图4为本发明实施例提供的索引文件的生成方法的流程图,参照图4,所述方法可以包括:

步骤S300、获取所述仿真动画文件中各仿真动画模型文件。

需要说明的是,用户通常可以通过常用三维建模软件搭建仿真动画模型,并将搭建的仿真动画模型导出为预设格式的文件,得到仿真动画模型文件。预设格式的文件如FBX、OBJ等,本发明不做具体限定。

步骤S310、对所述各仿真动画文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标;

可选的,本发明主要采用FBX的SDK(Software Development Kit,软件开发工具包)对仿真动画模型文件进行解析。

所述对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标,包括:

对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件下的模型元素;根据每个子模型文件下的模型元素确定每个子模型文件的位置坐标。

步骤S320、利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的子模型索引值,建立各子模型索引值与各子模型文件的第一索引关系。

本发明利用索引计算公式,可以将每个子模型文件的位置坐标转化为子模型索引值。

下面给出一种利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的子模型索引值的计算公式:

子模型索引值包括:子模型索引横坐标值以及子模型索引纵坐标值;(jdx,jdy)为子模型索引值,jdx为子模型文件对应的子模型索引横坐标值,jdy为子模型文件对应的子模型索引纵坐标值;x,y分别为子模型文件分别在x方向以及y方向的位置坐标,w为预先设置的宽度(虚拟包围盒宽度为该宽度的整数倍),ceil()表示取大于括号内数值的最小整数运算。

参照图3所示的包围盒二维坐标平面示意图,包围盒二维坐标平面中最小的区域为一个虚拟包围盒尺寸大小,包围盒二维坐标平面中展示的各个多边形为子模型文件,本发明主要是计算每个子模型文件在包围盒二维坐标平面中的子模型索引值。

步骤S330、确定每个子模型文件的位置坐标所属的包围盒。

参照图3所示的包围盒二维坐标平面示意图,本发明主要是在包围盒二维坐标平面示意图中确定每个子模型文件的位置坐标所属的包围盒。以图3中右上角的模型为例,某一仿真动画模型文件会覆盖(1,3)和(2,3)两个包围盒,该仿真动画模型文件中三角形子模型文件覆盖(1,3)和(2,3)两个包围盒,该仿真动画模型文件中另外3个子模型文件只覆盖(2,3)一个包围盒。另外,参见图3可知,子模型文件和包围盒索引值之间并不一定是一一对应关系。

步骤S340、根据每个子模型文件的位置坐标所属的包围盒,以及所述第一索引关系建立各子模型索引值与各包围盒索引值之间的第二索引关系,生成所述索引文件。

所述索引文件包括各子模型索引值与各子模型文件之间的第一索引关系,以及各子模型索引值与各包围盒索引值之间的第二索引关系。这样,可根据观测目标先确定对应的子模型索引值,再根据子模型索引值和包围盒索引值之间的对应关系即得到了观测目标所对应的包围盒索引值。后续再根据子模型索引值和包围盒索引值之间的对应关系即可得到观测目标所对应的包围盒索引值下的各子模型索引值,最后得到观测目标所对应的包围盒索引值下各子模型索引值对应的子模型文件,完成对仿真动画模型的外部加载。

本发明通过上述方式建立了各子模型索引值与各子模型文件之间的第一索引关系,以及各子模型索引值与各包围盒索引值之间的第二索引关系,得到所述索引文件,从而将用户外部构建的仿真动画文件转化成索引文件的方式,通过索引文件实现对仿真动画文件中的子模型文件的加载,即实现了对仿真动画模型的外部加载。

需要说明的是,本发明中的索引文件可以以索引树的形式存在。索引树的创建是为了对后面流式加载范围进行索引遍历搜索,提高加载范围确定的速度。

本发明中由子模型文件覆盖的区域范围较小,因此,本发明基于子模型文件创建轴对齐包围盒得到的索引树更小,遍历索引速度更快,更有利于仿真动画模型的动态加载。以子模型文件索引搜索相邻范围内索引复杂度为O(1),相比于其他建树(如KD树等)取相邻范围复杂度O(logN)更小(N为模型元素个数)。

由于智能驾驶仿真时,观测目标一般为车辆,观测范围一般为矩形或原型范围,采用子模型文件这种模型簇的加载方式更符合范围加载理念。

下面以一个具体的示例详细说明本发明公开的仿真动画模型加载方法,参照图5给出的仿真动画模型加载示意图所示:

1、初始化时软件时将预先生成的索引文件读入内存,然后根据用户输入的一个观测目标的当前位置(x,y),计算该观测目标当前位置所属的当前包围盒索引值(idx,idy)。

2、根据当前包围盒索引值,可知周边相邻包围盒索引有8个,将与所述当前包围盒索引值距离预设范围内的8个包围盒索引值:(idx-1,idy-1)、(idx-1,idy)、(idx-1,idy+1)、(idx,idy-1)、(idx,idy+1)、(idx+1,idy-1)、(idx+1,idy)、(idx+1,idy+1)确定为与所述观测目标对应的周边包围盒索引值。

3、以图5为例,假如计算得到观测目标当前包围盒索引值为(1,1),则周边包围盒索引值为:(0,0)、(0,1)、(0,2)、(1,0)、(1,2)、(2,0)、(2,1)、(2,2),依据所述周边包围盒索引值,从仿真动画文件中,确定仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件。

4、加载所述子模型文件。加载后需要记录已加载包围盒索引map,便于后续进行比对,防止连续加载。已加载包围盒索引map即已加载的当前包围盒索引值和周边包围盒索引值。

通过这种方式仅加载观测目标周围的场景,这种好处就在于初始加载仅会加载相邻区域,加载速度快。

5、在运行过程中会实时判断观测目标位置,当观测目标进入下一个包围盒中时,如图5,假如此时观测目标由包围盒(1,1)进入包围盒(2,1)时,此时重复上述步骤1-4,采用同样的方法进行索引判断,同时获取其相邻索引值,然后进行重复区域判断,仅加载新包围盒区域中的子模型文件,如图5中,仅加载包围盒(3,0)、(3,1)、(3,2)中子模型文件。

下面对本发明提供的仿真动画模型加载装置进行介绍,下文描述的仿真动画模型加载装置可与上文仿真动画模型加载方法相互对应参照。

图6为本发明实施例提供的仿真动画模型加载装置的结构框图,参照图6,所述仿真动画模型加载装置包括:

当前包围盒索引值确定单元600,用于根据索引计算公式以及观测目标的当前位置,确定所述当前位置所属的当前包围盒索引值;

周边包围盒索引值确定单元610,用于利用预先建立的索引文件,确定所述当前包围盒索引值的周边包围盒索引值;所述周边包围盒索引值为所述索引文件中以所述当前包围盒索引值为中心预设范围内的包围盒索引值;

加载单元620,用于对仿真动画文件中与所述当前包围盒索引值和所述周边包围盒索引值所对应的子模型文件进行加载;其中,所述索引文件中各包围盒索引值的邻近关系与仿真动画文件中物理邻近关系一致,所述仿真动画文件中包括仿真动画模型文件,每个仿真动画模型文件中包括有子模型文件。

可选的,还包括:第一索引文件生成单元;

所述第一索引文件生成单元包括:

模型文件获取单元,用于获取所述仿真动画文件中各仿真动画模型文件;

模型文件解析单元,用于对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标;

包围盒索引值计算单元,用于利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的包围盒索引值;

第一索引关系建立单元,用于建立每个子模型文件与各自对应的包围盒索引值之间的索引关系,得到所述索引文件。

可选的,所述模型文件解析单元包括:

模型元素解析单元,用于对所述各仿真动画模型文件进行解析,得到所述仿真动画文件中每个子模型文件下的模型元素;

位置坐标确定单元,用于根据每个子模型文件下的模型元素确定每个子模型文件的位置坐标。

可选的,所述当前包围盒索引值确定单元具体用于:

根据索引计算公式、观测目标的当前位置以及所述索引文件,确定所述当前位置所属的当前包围盒索引值;所述索引文件包括各子模型索引值与各子模型文件之间的第一索引关系,以及各子模型索引值与各包围盒索引值之间的第二索引关系。

可选的,还包括第二索引文件生成单元;

所述第二索引文件生成单元包括:

模型文件获取单元,用于获取所述仿真动画文件中各仿真动画模型文件;

模型文件解析单元,用于对所述各仿真动画文件进行解析,得到所述仿真动画文件中每个子模型文件的位置坐标;

模型索引值计算单元,用于利用所述索引计算公式和每个子模型文件的位置坐标计算得到每个子模型文件对应的子模型索引值;

第二索引关系建立单元,用于建立各子模型索引值与各子模型文件的第一索引关系;

包围盒确定单元,用于确定每个子模型文件的位置坐标所属的包围盒;

索引文件生成子单元,用于根据每个子模型文件的位置坐标所属的包围盒,以及所述第一索引关系建立各子模型索引值与各包围盒索引值之间的第二索引关系,生成所述索引文件。

可选的,所述加载单元具体用于:

将所述当前包围盒索引值和所述周边包围盒索引值分别与历史已加载的所有子模型文件对应的历史包围盒索引值进行比对,从所述当前包围索引值和所述周边包围盒索引值中筛选出与历史包围盒索引值不同的索引值,作为目标包围盒索引值;

对所述目标包围盒索引值对应的子模型文件进行加载。

可选的,本发明还公开一种仿真设备,所述仿真设备包括:

处理器和存储器;

所述处理器,用于调用并执行所述存储器中存储的程序;

所述存储器用于存储所述程序,所述程序至少用于:

执行如上所述的仿真动画模型加载方法。

本说明书中各个实施例中记载的技术特征可以相互替换或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号