道路场景的生成方法、装置和电子设备与流程

文档序号:32653668发布日期:2022-12-23 20:30阅读:51来源:国知局
道路场景的生成方法、装置和电子设备与流程

1.本发明涉及模型渲染技术领域,尤其是涉及一种道路场景的生成方法、装置和电子设备。


背景技术:

2.在模拟现实世界的虚拟场景中,常需要建立道路模型,并在道路模型上或道路模型周围建立动态的车辆模型、行人模型、或者其他与道路模型相关联的模型。相关技术中,道路模型以及每种与道路模型相关联的模型均需要分别建立,导致建立道路场景的效率较低。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种道路场景的生成方法、装置和电子设备,以快速地制作动态场景模型,提高虚拟场景的制作效率。
4.第一方面,本发明实施例提供了一种道路场景的生成方法,获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。
5.第二方面,本发明实施例提供了一种道路场景的生成装置,该装置包括:第一获取模块,用于获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;第二获取模块,用于获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;第一控制模块,用于通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。
6.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述道路场景的生成方法。
7.第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述道路场景的生成方法。
8.本发明实施例带来了以下有益效果:
9.上述道路场景的生成方法、装置和电子设备,获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。该方式中,基于样条线得
到与样条线形状相匹配的道路模型,利用道路场景中各个动态模型的运动控制参数以及样条线,控制动态模型在道路模型上或者道路模型的指定位置运动,该方式下,仅通过操作样条线的方式生成场景模型,避免了各类动态模型单独创建,快速地建立动态的道路场景模型,提高了道路场景的制作效率。
10.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
11.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
12.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1为本发明实施例提供的一种道路场景的生成方法的流程图;
14.图2为本发明实施例提供的一种道路场景的示意图;
15.图3为本发明实施例提供的另一种道路场景的示意图;
16.图4为本发明实施例提供的另一种道路场景的示意图;
17.图5为本发明实施例提供的一种道路场景的生成装置的结构示意图;
18.图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.道路场景在虚拟场景中非常常见,目前的主流渲染引擎或者个人开发的功能中,可以借助样条线等技术快速生成道路模型,但对于构建一些有规律的事物,例如排列在道路模型边上的一排路灯、运动的车流、人流等,常常需要耗费大量时间单独对模型进行重复创建,尤其是构建在道路上运动的车流和人流等动态模型时,在单独分开创建各类模型后,一般还要单独获取各类模型的运动路径关键帧来设置动画,因此,在构建有车流、人流等动态道路场景时,模型数量大、种类多,导致建立动态模型耗费的时间更长,降低了道路场景的构建效率。
21.基于上述,本发明实施例提供的一种道路场景的生成方法、装置及电子设备,该技术具体可以应用在虚幻引擎ue4(unreal engine 4)、maya等三维创作平台中,用于动态场景的制作。
22.为便于对本实施例进行理解,首先对本发明实施例所公开的一种道路场景的生成方法进行详细介绍,如图1所示,该方法包括如下步骤:
23.步骤s102、获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,该样条线的形状用于指示:待建立的道路模型的延伸形状;
24.在三维创作平台中,需要使用不同的工具来建模场景元素,其中,样条线作为建模场景元素的一种工具,可以绘制出更丰富的场景模型,在这里,样条线是给定一组控制点而得到的一条三维曲线,可以根据需要移动控制点来编辑曲线的长度、形状属性。在虚幻引擎中常常利用样条组件生成相应场景元素模型。
25.在使用样条工具编辑出一定长度、一定形状的样条线后,可以根据样条线上多个点的状态,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型,在这里,样条线的形状用于指示待建立的道路模型的延伸形状。
26.本步骤中,仅需利用样条线,简单、方便地得到与样条线的形状相匹配的道路模型,提高了道路模型制作效率。
27.步骤s104、获取目标模型,以及目标模型对应的运动控制参数;该目标模型与道路模型相关联;
28.为了模拟现实世界的道路场景,还需要构建与道路模型相关联的动态模型,例如:运动的汽车、行人等。在这里,将与道路模型相关联的车辆、行人等模型统称为目标模型,分别获取目标模型以及该目标模型的运动控制参数。其中,目标模型可以基于模型选中指令从模型素材库直接选择,也可以通过获取模型标识确定,为了满足多规模场景的需求,目标模型可以有多种属性类别,例如:车类、人物类、动物类模型等,数量上也可以设置一个或多个来组成一个属性群体,例如:车流、人流等。目标模型的运动控制参数则包括目标模型的运动速度、运动起点、运动终点和运动方向等,可以从相关参数设置指令中提取。每个目标模型对应不同的运动控制参数。值得注意的是,当某些模型同时具有相似的运动规律时,还可以将这些模型封装成模型组件,以便统一管理及设置一些类似的功能,例如:人流组件、车流组件。
29.本步骤中,分别获取目标模型以及目标模型的运动控制参数,提供了道路场景中的动态模型及相关运动数据。其中,目标模型还可以以模型组件的形式进行统一管理。
30.步骤s106、通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。
31.可以理解为,将目标模型与样条线相关联。在这里,可以根据样条线的长度以及相邻目标模型的间距,自动生成若干数量的目标模型,避免了耗费大量时间单独对模型进行重复创建,同时,根据运动控制参数以及样条线,控制场景内目标模型在道路模型上或者道路模型的指定位置运动,使目标模型在对应的运动条件下运动起来,可以快速地得到包含道路模型和多种目标模型的动态道路场景。
32.样条线可以作为目标模型的移动路径,从而控制目标模型运动,为了具有较好的视觉效果,可以以样条线为基准进行一定的横向、纵向或垂直向的偏移,以使目标模型的移动路径相对于道路模型的位置更加合理,例如,目标模型为车辆模型时,车辆模型应当运动在道路模型之上,且车辆模型的底部与道路模型的表面相邻;当目标模型为行人模型时,车辆模型应当运动在道路模型的边缘位置,此时,行人模型的移动路径需要基于样条线进行横向偏移,才能使行人模型与道路模型的位置相对合理。
33.本步骤中,将目标模型与样条线相互关联,避免了耗费大量时间单独对模型进行
重复创建,进一步地,仅需利用道路场景模型的运动控制参数以及样条线,控制模型在道路模型上或者道路模型的指定位置运动,快速地建立了动态模型,当目标模型包含多个种类和多个数量时,无需单独重复创建每类模型动画,只需简单设置模型的运动控制参数即可构建丰富的动态道路场景,提高了道路场景的制作效率。
34.上述道路场景的生成方法,获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。该方式中,通过样条线生成道路模型,样条线结合运动控制参数可生成与道路模型相关的目标模型,且控制目标模型运动,得到动态的道路场景,无需对与道路模型相关联的模型单独创建,快速地建立动态的道路场景,提高了道路场景的制作效率。
35.下述实施例提供得到与样条线的形状相匹配的道路模型的具体实现方式。
36.在样条线上获取多个位置点;多个位置点中相邻的两个位置点具有预设距离;根据相邻的两个位置点之间样条线段的形状,在相邻的两个位置点之间添加道路模型单元;其中,道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
37.也就是,根据样条线上相邻的两个位置点之间样条线段的形状,在相邻的两个位置点之间添加道路模型单元,使得道路模型单元的形状与样条线上相邻的两个位置点之间的样条线段的形状相匹配。
38.在实际实现时,可以通过多种方式获取多个位置点,例如,从样条线上随机获取,也可以设置位置点距离,按照该位置点距离从样条线上获取位置点。道路模型的单元通常为单位长度的道路模型,例如,道路模型的长度为单位长度,宽度为预设宽度的矩形模型。相邻的两个位置点之间的样条线段可能为直线,也可能为曲线;当样条线段为直线时,可以按照样条线段的长度,依次连接一个或多个道路模型;当样条线段为曲线时,需要对道路模型进行弯曲形变,从而使道路模型的形状与样条线段的形状相匹配。
39.具体地,上述多个位置点包括样条线的起点和终点,还包括样条线上的切点。将相邻的两个位置点中的第一位置点作为起点,第二位置点作为终点,获取起点和终点的属性信息,该属性信息用于指示:起点和终点在样条线上的弯曲程度,基于弯曲程度在相邻的两个位置点之间添加道路模型单元;其中,该弯曲程度用于:控制道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
40.一个实施方式中,以ue4平台为例,为了使道路模型弯曲并跟随样条线的形状,获取样条线的起点、终点及样条线上的切点作为位置点,控制addsplinemesh函数在样条线上相邻的两个位置点之间添加道路模型单元,并将两个位置点分别作为道路模型的setstartandend属性中的star点和end点,道路模型单元会自动读取这两个位置点在样条线上的属性信息,如弯曲程度,并控制该道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。进一步地,对包括样条线的起点和终点在内的多个位置点依次进行上述处理,便可得到与样条线的形状相匹配的整个道路模型,并且样条线有多长,生成的道路模型就有多长。
41.该方式下,仅通过操作样条线的方式生成道路模型,明显提高了道路模型制作效
率。
42.下述实施例提供获取目标模型及目标模型对应的运动控制参数的具体实现方式。
43.响应于模型选中指令,将模型选中指令对应的模型确定为目标模型;或者,响应于模型获取指令,从预设数组中获取模型标识,将模型标识对应的模型确定为目标模型;预设数组中预先保存有多个模型标识,每个模型标识对应一种模型。
44.上述目标模型为与道路模型相关联的模型,例如:人物模型、车辆模型等。在这里,目标模型可以基于模型选中指令从模型素材库直接选择,也可以从预设的模型标识组中获取,以ue4平台创建汽车模型为例,一种方式中,可以从模型素材库直接选择车辆模型,命名为bpc_car,每一个bpc_car其实就是一辆车。另一种方式中,为了增加车辆的多样性,可以提前将不同类型的车辆模型标识存储到一个数组中,在生成bpc_car时,从预设数组中随机选取模型标识,或者按照预设的顺序从预设数组中选取模型标识,也可以从预设数组中指定模型标识,然后使用setstaticmesh函数,将模型标识对应的车辆模型设置给bpc_car。
45.获取目标模型后,响应于参数设置指令,从参数设置指令中提取目标模型对应的运动控制参数。
46.在接收到按照特定的指令格式编写的目标模型的设置参数后,从参数设置指令中提取目标模型对应的运动控制参数。以ue4平台为例,根据用线连接的一个个的长方形节点,也就是一种脚本语言(本质就是代码)从参数设置指令中提取目标模型对应的运动速度、运动起点等运动控制参数。
47.上述方式中,分别获取与道路相关联的模型以及对应模型的运动控制参数,提供了道路场景中的动态模型及相关运动数据。
48.下述实施例提供通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动的具体实现方式。
49.具体地,运动控制参数包括:运动速度、运动起点、运动终点和运动方向;控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在道路模型上或者道路模型的指定位置运动,直至目标模型到达运动终点。
50.也就是说,将目标模型与样条线相关联,按照运动速度和运动方向,控制目标模型沿着样条线运动,从运动起点到达运动终点。呈现出目标模型在道路模型上或者道路模型的指定位置运动的场景。在这里,运动起点可以是样条线的起点,也可以是样条线的任意位置点。值得注意的是,当目标模型数量为多个时,可以通过为多个目标模型设置不同的运动起点,来控制多个目标模型之间的间隔。
51.具体地,目标模型的沿着样条线运动的运动过程可以采用以下方式进行配置:
52.一种方式下,按照运动速度确定位置读取频率;基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置;控制目标模型显示在下一个位置;继续执行基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置的步骤,直至目标模型到达运动终点。
53.以ue4平台设置汽车模型运动过程为例,采用脚本语言读取传入的路线(即样条线信息),按照运动方向,根据设定的速度,每帧且每隔一定的距离读取样条线上的坐标位置,根据坐标位置,设定车辆模型的世界位置,继续执行读取样条线上的坐标位置,并基于位置坐标确定目标模型的下一个位置的步骤,直至汽车模型到达运动终点。在这里,利用到的核
心函数是setworldlocation,该函数能够根据传入的位置坐标,把车辆模型挪到相应坐标的位置。
54.另一种方式下,上述运动控制参数还包括:相对于样条线的偏移距离;该偏移距离包括:目标模型与样条线之间、沿着样条线的延伸方向的垂直方向的距离;按照运动速度和运动方向,控制目标模型在与样条线具有偏移距离的路径上移动,以使目标模型在道路模型上或者道路模型的指定位置运动,直至到达运动终点。
55.在这里,目标模型的运动控制参数还包括相对于样条线的偏移距离,该偏移距离包括了偏移方向和偏移距离值,通过设置偏移距离及其他运动控制参数,按照运动速度和运动方向,控制目标模型在与样条线具有偏移距离的路径上移动,直至到达运动终点。同样的,以ue4平台设置汽车模型运动过程为例,如图2所示,图案填充部分为道路模型,图中设置的汽车模型的偏移距离为向右偏移2米。
56.进一步地,还可以选择多个目标模型并设置目标模型的运动控制参数,呈现更加丰富的道路场景。当目标模型包括多种,多种目标模型对应的偏移距离不同;该偏移距离用于:控制多种目标模型之间的路径距离。例如,对于车辆模型和行人模型,需要通过偏移距离将车辆模型和行人模型的路径区分开,避免两种模型的移动路径重叠。
57.进一步的,目标模型包括第一模型和第二模型;该第一模型与第二模型的偏移距离不同;第一模型与第二模型的运动方向相反。
58.示例地,如图3所示,可以设置第一汽车模型行驶方向为正方向,偏移距离向偏左偏移2米;可以设置第二汽车模型行驶方向为反方向,偏移距离向偏右偏移2米,按照既定的运动速度,控制两辆汽车模型从运动起点出发,在与样条线具有偏移距离的路径上移动,呈现出双向车道上汽车行驶的道路场景。该方式下,利用一条样条线即可实现了双向车道的功能,极大的提高了动态场景模型的制作效率。
59.当目标模型运动到运动终点后,响应于目标模型到达运动终点,继续执行控制目标模型显示在运动起点的步骤。
60.在这里,可以在运动控制参数中加入判断条件,如果目标模型运动到运动终点以后,可以利用ue4平台中的setworldlocation函数,将目标模型的位置置于运动起点,再沿着样条线运动一遍。如此往复循环,使得目标模型一直在道路模型上或者道路模型的指定位置运动。
61.需要说明的是,不同于车辆等静态目标模型,当目标模型为骨骼控制的人物或动物等模型时,在沿着样条线运动的同时,还需要获取模型本身的运动姿势。
62.响应于目标模型的显示,从目标模型的骨骼控制参数中,获取预设的动画蓝图;其中,该动画蓝图中连接有动画数据;动画数据用于控制目标模型的动态姿势;通过动画蓝图控制目标模型执行动态姿势。
63.上述动画蓝图用来管理目标模型执行相应的动画数据,以控制目标模型执行动态姿势,在这里,预先将动画蓝图信息与目标模型关联。以ue4平台为例,对动画蓝图信息与人物模型关联的过程进行说明:
64.1)选择支持播放动画的skeletalmeshcomponent类型组件,创建animationblueprint动画蓝图。
65.2)双击打开动画蓝图,将平台自带的thridpersonwalk动画连接到outputpose节
点上,该动画蓝图就会使人物模型一直播放原地走路的动画。当然也可以根据需求进行自由设定,换成跑步、散步等类型的动画。
66.3)双击打开创建的skeletalmeshcomponent组件,在其属性面板设置skeletalmesh骨骼参数,使用引擎自带的一个骨骼模型。
67.4)在平台的animclass参数中,将创建的走路动画蓝图选取进来,设置为人物模型的骨骼控制参数。
68.这样,当目标模型运动时,可以从目标模型的骨骼控制参数中,获取预设的动画蓝图,通过动画蓝图控制目标模型执行动态姿势。该方式下,在道路场景中,沿着样条线运动的同时,还考虑了人物或动物等骨骼模型本身的运动姿势,使得模型呈现出来的运动过程更加真实。
69.当目标模型数量规模较大时,为了方便统一管理及设置一些类似的功能,可以将有规律的模型进行组件化,例如:汇成车流的多辆汽车类模型设置成一个车流组件、组成人流的多个人物模型设置成一个人流组件等。
70.进一步地,将运动控制参数以及样条线输入目标模型对应的模型组件中,以通过模型组件执行下述步骤:控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在道路模型上或者道路模型的指定位置运动,直至目标模型到达运动终点。
71.通过上述方式,可以通过模型组件的形式,快速构建出在道路上实时运动的车流、人流等道路场景。
72.在一个实施例中,以ue4平台为例,对构建在道路上实时运动的车流、人流道路场景的过程进行介绍。
73.1)创建车辆组件,命名为bpc_car,每一个bpc_car就是一辆车。
74.在ue4中右键-》创建-》选择staticmeshcomponent;该步骤是创建一个类型为静态模型的组件。
75.2)配置车辆组件参数,使车辆能够跑起来。
76.双击打开第1)步创建的车辆组件,根据脚本语言读取传入的路线,根据设定的速度,每帧且每隔一定的距离读取线路上的坐标位置,根据坐标位置,设定车辆的世界位置,已达到按照线路不停的运动的目的。同时加入判断条件,如果车辆运动到线路的尽头以后,就把车辆的位置置于线路的开头,按照线路再跑一边。如此往复循环,使车辆一直按照线路就这样运动。在此步骤中,核心函数是setworldlocation,该函数能够根据传入的位置坐标,把自身挪到该位置。
77.3)配置车辆组件参数,使车辆能够按照线路反向运动,目的是为了生成对向的车流。
78.同车辆正向运动非常类似,反向运动仅需要使车辆从线路的结尾出发,并每一帧向开头方向不断的偏移读取位置信息,并设置给自身,达到使其按照线路反向运动的目的。
79.4)创建行人组件,用于生成人流;
80.类似车辆组件的创建,右键选择skeletalmeshcomponent,该组件不同于车辆的静态模型组件,由于人物模型需要播放走路动画,所以需要选择支持播放动画的skeletalmeshcomponent类型组件。
81.5)创建走路动画所用的动画蓝图abp
82.6)设置skeletalmeshcomponent所用的动画,既让播放走路动画,实现行人在原地走路的效果。
83.7)驱动行人前进。
84.8)创建控制器,用于最终的道路、车流、人流生成。
85.右键创建actor,命名为bp_splinetraffic。该类可以理解成一个总的控制器,在这个控制器中输入车流、人流的一些运动参数和生成运动线路。
86.9)添加spline样条线组件。
87.双击打开bp_splinetraffic,在组件界面添加spline组件。
88.10)根据样条线创建道路、车流、人流。
89.a.创建道路,主要使用addsplinemesh函数在样条线每两个点切点(上图白色的点)之间添加一个道路模型,并设置模型的setstartandend,该类型的模型就能够自动跟随样条线形状。样条线有多长,生成的道路就有多长。
90.b.创建车流,使用add bpc_car函数,该函数会生成一个第一步创建的bpc_car组件,其实就是生成一辆车。然后根据样条线的总长度,以及每两辆车的间隔生成若干数量的车。在这里,为了在某一时刻,多辆车位于道路的不同位置,需要将不同的车辆设置不同的运动起点。
91.为了增加车辆的多样性,提前将不同类型的车辆模型存储到一个数组中,在生成bpc_car时,从数组中随机选取一辆汽车,使用setstaticmesh函数,将选取的车辆模型设置给bpc_car。再设置车辆的速度,最后将spline传入到bpc_car。值得注意的是,为了创建更真实的车流场景,针对每辆车的车距有一个基本的设定,例如:两车前后距离为10米,再次基础上,再随机添加一个偏移值,比如正负2米,这样前后两车的距离会随机在8-12米之间。至此,车辆的生成设置完成。
92.c.生成人流与生成车流有一样的原理和方法,不同的只是速度值需要设定的比车流小很多。另外,为保证人流不在车道上移动,人流和车流的设置不同的偏移距离。
93.利用上述方式可生成如图4所示的包含人流和车流的道路场景,该方式下,基于样条线得到与样条线形状相匹配的道路模型,利用道路场景中各个动态模型的运动控制参数以及样条线,控制动态模型在道路模型上或者道路模型的指定位置运动,仅通过操作样条线的方式生成道路、车流、人流等动态模型,避免了同类动态模型单独创建,可以快速地建立动态的道路场景模型,同时该方式结合了美术和程序的双重功能,包含车辆和人流的驱动系统,避免了单独编写车辆的运动逻辑的过程,提高动态道路场景的制作效率。
94.上述方式中,设置模型沿样条线运动,构建出在道路上实时运动的车流、人流等道路场景。还有一种方式,可以设置模型与样条线相对静止,构建出如道路旁路灯闪烁等相对静态的道路场景。
95.具体地,获取指定模型,以及与指定模型对应的显示控制参数;其中,指定模型与道路模型相关联;指定模型与道路模型具有相对固定的位置;显示控制参数用于:按照预设条件控制指定模型的显示状态;基于样条线,确定指定模型的显示位置,以控制指定模型显示在道路模型的预设固定位置;通过显示控制参数,控制显示指定模型。
96.上述指定模型可以是路灯、垃圾桶、公交站等与道路相关联的相对道路静止的模
型,该指定模型与道路模型具有相对固定的位置,其中,指定模型可以具有指定模型对应的显示控制参数,用于按照预设条件控制指定模型的显示状态,示例地:指定模型包括路灯模型,该路灯模型具有灯亮、灯灭两种显示控制参数,用于控制路灯亮起、路灯熄灭两种显示状态,其中,预设条件为周围光亮度低于固定值后,设置显示控制参数为灯亮,显示路灯亮起的状态,周围光亮度高于固定值后,设置显示控制参数为灯灭,显示路灯熄灭的状态。进一步地,可以设定两个路灯模型的间隔距离,根据样条线的总长度,确定每个路灯模型的位置坐标,控制每个路灯显示在道路模型的相应的坐标位置上;再基于预设条件,获取显示控制参数以控制显示路灯的显示状态。
97.上述方式,利用样条线,可以快速大批量生成与道路模型具有相对固定位置的模型,并按照显示控制参数控制模型的显示状态,提高场景模型的生成效率。
98.对应于上述方法的实施例,参见图5所示的一种道路场景的生成装置的示意图,该装置包括:
99.第一获取模块502,用于获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;
100.第二获取模块504,用于获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;
101.第一控制模块506,用于通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。
102.上述道路场景的生成装置,获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。该方式中,基于样条线得到与样条线形状相匹配的道路模型,利用道路场景中各个动态模型的运动控制参数以及样条线,控制动态模型在道路模型上或者道路模型的指定位置运动,该方式下,仅通过操作样条线的方式就可以生成道路及相关联的动态模型并完成道路场景的构建,避免了各类动态模型单独创建,可以快速地建立动态的道路场景模型,提高动态道路场景的制作效率。
103.上述第一获取模块,还用于在样条线上获取多个位置点;多个位置点中相邻的两个位置点具有预设距离;根据相邻的两个位置点之间样条线段的形状,在相邻的两个位置点之间添加道路模型单元;其中,道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
104.上述多个位置点包括样条线的起点和终点,还包括样条线上的切点;上述装置还包括模型单元添加模块,用于将相邻的两个位置点中的第一位置点作为起点,第二位置点作为终点,获取起点和终点的属性信息;属性信息用于指示:起点和终点在样条线上的弯曲程度;基于弯曲程度在相邻的两个位置点之间添加道路模型单元;其中,弯曲程度用于:控制道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
105.上述第二获取模块,还用于响应于模型选中指令,将模型选中指令对应的模型确定为目标模型;或者,响应于模型获取指令,从预设数组中获取模型标识,将模型标识对应
的模型确定为目标模型;预设数组中预先保存有多个模型标识,每个模型标识对应一种模型。
106.上述第二获取模块,还用于响应于参数设置指令,从参数设置指令中提取目标模型对应的运动控制参数。
107.上述运动控制参数包括:运动速度、运动起点、运动终点和运动方向;上述第一控制模块,还用于控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在道路模型上或者道路模型的指定位置运动,直至目标模型到达运动终点。
108.上述目标模型包括多个;多个目标模型的运动起点不同;运动起点用于:控制多个目标模型之间的间隔。
109.上述装置还包括运动终点到达模块,用于按照运动速度确定位置读取频率;基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置;控制目标模型显示在下一个位置;继续执行基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置的步骤,直至目标模型到达运动终点。
110.上述运动控制参数还包括:相对于样条线的偏移距离;偏移距离包括:目标模型与样条线之间、沿着样条线的延伸方向的垂直方向的距离,上述运动终点到达模块,还用于按照运动速度和运动方向,控制目标模型在与样条线具有偏移距离的路径上移动,以目标模型在道路模型上或者道路模型的指定位置运动,直至到达运动终点。
111.上述目标模型包括多种,多种目标模型对应的偏移距离不同;偏移距离用于:控制多种目标模型之间的路径距离。
112.上述目标模型包括第一模型和第二模型;第一模型与第二模型的偏移距离不同;第一模型与第二模型的运动方向相反。
113.上述装置还包括第一显示模块,用于响应于目标模型到达运动终点,继续执行控制目标模型显示在运动起点的步骤。
114.上述装置还包括第一执行模块,用于响应于目标模型的显示,从目标模型的骨骼控制参数中,获取预设的动画蓝图;其中,动画蓝图中连接有动画数据;动画数据用于控制目标模型的动态姿势;通过动画蓝图控制目标模型执行动态姿势。
115.上述装置还包括第一运动模块,用于将上述运动控制参数以及上述样条线输入目标模型对应的模型组件中,以通过模型组件执行下述步骤:控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在上述道路模型上或者上述道路模型的指定位置运动,直至目标模型到达运动终点。
116.上述装置还包括第二显示模块,用于获取指定模型,以及与指定模型对应的显示控制参数;其中,指定模型与道路模型相关联;指定模型与道路模型具有相对固定的位置;显示控制参数用于:按照预设条件控制指定模型的显示状态;基于样条线,确定指定模型的显示位置,以控制指定模型显示在道路模型的预设固定位置;通过显示控制参数,控制显示指定模型。
117.本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述道路场景的生成方法。
该电子设备可以是服务器,也可以是终端设备。
118.参见图6所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述道路场景的生成方法。
119.进一步地,图6所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。其中,存储器101可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
120.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。
121.该方式中,基于样条线得到与样条线形状相匹配的道路模型,利用道路场景中各个动态模型的运动控制参数以及样条线,控制动态模型在道路模型上或者道路模型的指定位置运动,该方式下,仅通过操作样条线的方式就可以生成道路及相关联的动态模型并完成道路场景的构建,避免了各类动态模型单独创建,可以快速地建立动态的道路场景模型,提高动态道路场景的制作效率。
122.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:在样条线上获取多个位置点;多个位置点中相邻的两个位置点具有预设距离;根据相邻的两个位置点之间样条线段的形状,在相邻的两个位置点之间添加道路模型单元;其中,道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹
配。
123.上述多个位置点包括样条线的起点和终点,还包括样条线上的切点;上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:将相邻的两个位置点中的第一位置点作为起点,第二位置点作为终点,获取起点和终点的属性信息;属性信息用于指示:起点和终点在样条线上的弯曲程度;基于弯曲程度在相邻的两个位置点之间添加道路模型单元;其中,弯曲程度用于:控制道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
124.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:响应于模型选中指令,将模型选中指令对应的模型确定为目标模型;或者,响应于模型获取指令,从预设数组中获取模型标识,将模型标识对应的模型确定为目标模型;预设数组中预先保存有多个模型标识,每个模型标识对应一种模型。
125.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:响应于参数设置指令,从参数设置指令中提取目标模型对应的运动控制参数。
126.上述运动控制参数包括:运动速度、运动起点、运动终点和运动方向;上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在道路模型上或者道路模型的指定位置运动,直至目标模型到达运动终点。
127.上述目标模型包括多个;多个目标模型的运动起点不同;运动起点用于:控制多个目标模型之间的间隔。
128.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:按照运动速度确定位置读取频率;基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置;控制目标模型显示在下一个位置;继续执行基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置的步骤,直至目标模型到达运动终点。
129.上述运动控制参数还包括:相对于样条线的偏移距离;偏移距离包括:目标模型与样条线之间、沿着样条线的延伸方向的垂直方向的距离,上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:按照运动速度和运动方向,控制目标模型在与样条线具有偏移距离的路径上移动,以目标模型在道路模型上或者道路模型的指定位置运动,直至到达运动终点。
130.上述目标模型包括多种,多种目标模型对应的偏移距离不同;偏移距离用于:控制多种目标模型之间的路径距离。
131.上述目标模型包括第一模型和第二模型;第一模型与第二模型的偏移距离不同;第一模型与第二模型的运动方向相反。
132.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:响应于目标模型到达运动终点,继续执行控制目标模型显示在运动起点的步骤。
133.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:响应于目标模型的显示,从目标模型的骨骼控制参数中,获取预设的
动画蓝图;其中,动画蓝图中连接有动画数据;动画数据用于控制目标模型的动态姿势;通过动画蓝图控制目标模型执行动态姿势。
134.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:将上述运动控制参数以及上述样条线输入目标模型对应的模型组件中,以通过模型组件执行下述步骤:控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在上述道路模型上或者上述道路模型的指定位置运动,直至目标模型到达运动终点。
135.上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述道路场景的生成方法的下述操作:获取指定模型,以及与指定模型对应的显示控制参数;其中,指定模型与道路模型相关联;指定模型与道路模型具有相对固定的位置;显示控制参数用于:按照预设条件控制指定模型的显示状态;基于样条线,确定指定模型的显示位置,以控制指定模型显示在道路模型的预设固定位置;通过显示控制参数,控制显示指定模型。
136.本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述道路场景的生成方法。
137.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:获取样条线,沿着样条线添加预设的道路模型单元,得到与样条线的形状相匹配的道路模型;其中,样条线的形状用于指示:待建立的道路模型的延伸形状;获取目标模型,以及目标模型对应的运动控制参数;目标模型与道路模型相关联;通过运动控制参数以及样条线,控制目标模型在道路模型上或者道路模型的指定位置运动,得到包含道路模型和目标模型的道路场景。
138.该方式中,基于样条线得到与样条线形状相匹配的道路模型,利用道路场景中各个动态模型的运动控制参数以及样条线,控制动态模型在道路模型上或者道路模型的指定位置运动,该方式下,仅通过操作样条线的方式就可以生成道路及相关联的动态模型并完成道路场景的构建,避免了各类动态模型单独创建,可以快速地建立动态的道路场景模型,提高动态道路场景的制作效率。
139.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:在样条线上获取多个位置点;多个位置点中相邻的两个位置点具有预设距离;根据相邻的两个位置点之间样条线段的形状,在相邻的两个位置点之间添加道路模型单元;其中,道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
140.上述多个位置点包括样条线的起点和终点,还包括样条线上的切点;上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:将相邻的两个位置点中的第一位置点作为起点,第二位置点作为终点,获取起点和终点的属性信息;属性信息用于指示:起点和终点在样条线上的弯曲程度;基于弯曲程度在相邻的两个位置点之间添加道路模型单元;其中,弯曲程度用于:控制道路模型单元的形状与相邻的两个位置点之间的样条线段的形状相匹配。
141.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:响应于模型选中指令,将模型选中指令
对应的模型确定为目标模型;或者,响应于模型获取指令,从预设数组中获取模型标识,将模型标识对应的模型确定为目标模型;预设数组中预先保存有多个模型标识,每个模型标识对应一种模型。
142.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:响应于参数设置指令,从参数设置指令中提取目标模型对应的运动控制参数。
143.上述运动控制参数包括:运动速度、运动起点、运动终点和运动方向;上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在道路模型上或者道路模型的指定位置运动,直至目标模型到达运动终点。
144.上述目标模型包括多个;多个目标模型的运动起点不同;运动起点用于:控制多个目标模型之间的间隔。
145.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:按照运动速度确定位置读取频率;基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置;控制目标模型显示在下一个位置;继续执行基于位置读取频率,按照运动方向从样条线中读取样条位置,并基于样条位置确定目标模型的下一个位置的步骤,直至目标模型到达运动终点。
146.上述运动控制参数还包括:相对于样条线的偏移距离;偏移距离包括:目标模型与样条线之间、沿着样条线的延伸方向的垂直方向的距离,上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:按照运动速度和运动方向,控制目标模型在与样条线具有偏移距离的路径上移动,以目标模型在道路模型上或者道路模型的指定位置运动,直至到达运动终点。
147.上述目标模型包括多种,多种目标模型对应的偏移距离不同;偏移距离用于:控制多种目标模型之间的路径距离。
148.上述目标模型包括第一模型和第二模型;第一模型与第二模型的偏移距离不同;第一模型与第二模型的运动方向相反。
149.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:响应于目标模型到达运动终点,继续执行控制目标模型显示在运动起点的步骤。
150.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:响应于目标模型的显示,从目标模型的骨骼控制参数中,获取预设的动画蓝图;其中,动画蓝图中连接有动画数据;动画数据用于控制目标模型的动态姿势;通过动画蓝图控制目标模型执行动态姿势。
151.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:将上述运动控制参数以及上述样条线输入目标模型对应的模型组件中,以通过模型组件执行下述步骤:控制目标模型显示在运动起点;按照运动速度和运动方向,控制目标模型沿着样条线运动,以使目标模型在上述道路
模型上或者上述道路模型的指定位置运动,直至目标模型到达运动终点。
152.上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述道路场景的生成方法中的下述操作:获取指定模型,以及与指定模型对应的显示控制参数;其中,指定模型与道路模型相关联;指定模型与道路模型具有相对固定的位置;显示控制参数用于:按照预设条件控制指定模型的显示状态;基于样条线,确定指定模型的显示位置,以控制指定模型显示在道路模型的预设固定位置;通过显示控制参数,控制显示指定模型。
153.本发明实施例所提供的道路场景的生成方法、装置、电子设备及存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
154.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
155.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
156.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
157.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
158.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1