道路过渡段的生成方法、装置、电子设备及存储介质与流程

文档序号:25027473发布日期:2021-05-11 16:54阅读:84来源:国知局
道路过渡段的生成方法、装置、电子设备及存储介质与流程

本公开涉及计算机技术,尤其涉及一种道路过渡段的生成方法、装置、电子设备及存储介质。



背景技术:

随着科技进步和文化产业发展,人们会选择利用智能终端进行游戏体验,如何为玩家提供更好的游戏表现也成为研究重点,为了提高游戏表现,提高游戏场景的精细度成为重点。特别的,对于多种类型游戏的游戏场景来说,城镇或城市等模型的构建是十分常见的,而在城市等模型中,道路的细化程度将影响游戏场景的精细度。

在现有技术中,游戏场景中的道路模型的一般是基于道路编辑器生成的,首先,需要由美术开发人员确定道路两端的路段切面,即道路的横截面;随后,美术开发人员需要在道路编辑器中确定放置道路的至少两个路点;再后,将道路的路段切面的切面中心点与路点重合,最后,生成道路的路段;重复该方法以得到由多个路段构成的道路网络。由于城市模型的需求,难免会出现道路的弯折和交叉,面对这样的情况,美术开发人员会将弯折和交叉的道路拆分成至少两段直线型道路和连接各直线型道路的道路过渡段。

但是,为了使得道路过渡段更为自然和贴近真实的道路,现有的道路过渡段是由美术开发人员利用道路编辑器人工绘制得到的,即道路过渡段的路段切面、弯曲程度、路点位置均需要开发人员自行绘制。这样的方式会使得制作成本很高,特征是在大型城市模型的场景的布设中,其往往需要消耗过多的人力和时间成本。



技术实现要素:

针对上述问题,本公开提供了一种道路过渡段的生成方法、装置、电子设备及存储介质。

第一方面,本公开提供了一种道路过渡段的生成方法,包括:

确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线;

确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离;

对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面;

根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面;

根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段。

本公开可选示例中,所述确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离,包括:

确定所述交点与该任意两条道路中每一道路的路段切面之间的垂直距离;

根据每一道路相应的垂直距离,确定该道路的道路回退距离。

本公开可选示例中,所述根据每一道路相应的垂直距离,确定该道路的道路回退距离,包括:

利用预设的回退偏移值对所述垂直距离进行处理,获得所述道路回退距离。

本公开可选示例中,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面中点所组成的线段;

和/或,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面的左端点所组成的线段;

和/或,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面的右端点所组成的线段。

本公开可选示例中,所述根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲线,包括:

对过渡段的两个路段切面进行采样,获得过渡段的多个成对的路段采样点;

利用三阶贝塞尔曲线对过渡段每对路段采样点进行曲线拟合,获得所述过渡段曲面。

本公开可选示例中,所述根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段,包括:

将所述过渡段的路段切面分别与进行回退处理后的该任意两条道路的路段切面贴合,以构建该任意两条道路的道路过渡段。

本公开可选示例中,所述确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离,还包括:

根据所述交点和该任意两条道路路短线的延长线,确定该任意两条道路之间的夹角;

当所述夹角大于预设角度阈值,则该任意两条道路中每一道路的道路回退距离为路段切面长度的一半。

第二方面,本公开提供了一种道路过渡段的生成装置,包括:

第一处理模块,用于确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线;

第二处理模块,用于确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离;对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面;

第三处理模块,用于根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面;

第四处理模块,用于根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段。

第三方面,本公开提供了一种电子设备,包括:

处理器和存储器;

其中,所述存储器用于存储所述处理器的可执行指令;

当所述处理器执行所述可执行指令时,可以执行上述前述任一项所述的方法。

第四方面,本公开提供了一种存储介质,包括指令,当所述指令在所述计算机上运行时,所述计算机可以执行上述任一项所述的方法。

本公开提供的道路过渡段的生成方法、装置、电子设备及存储介质,通过先确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线,随后,确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离,对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面,再后,根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面,最后,根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段的技术方案,从而实现对于道路过渡段的自动生成,在有效降低了人工成本的同时使得生成的道路过渡段更为自然,符合真实道路铺设需求。

附图说明

通过上述附图,已示出本公开明确的示例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定示例为本领域技术人员说明本公开的概念。

图1为本公开提供的一种道路过渡段的生成方法的流程示意图;

图2为本公开提供的一种道路过渡段的生成方法的第一道路示意图;

图3为本公开提供的一种道路过渡段的生成方法的第二道路示意图;

图4为本公开提供的一种道路过渡段的生成方法的第三道路示意图;

图5为本公开提供的一种道路过渡段的生成方法的第四道路示意图;

图6为本公开提供的一种道路过渡段的生成方法的第五道路示意图;

图7为本公开提供的一种道路过渡段的生成方法的第六道路示意图;

图8为本公开提供的一种道路过渡段的生成装置的结构示意图;

图9为本公开提供的一种电子设备的硬件结构示意图。

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的示例,并与说明书一起用于解释本公开的原理。

具体实施方式

为使本公开示例的目的、技术方案和优点更加清楚,下面将结合本公开示例中的附图,对本公开示例中的技术方案进行清楚、完整地描述。

本公开提供游戏中道路过渡段的生成方法、装置、电子设备及存储介质可应用于游戏场景的布设,其中智能终端包括但不限于智能手机、平板电脑等。此外,在其他应用场景,如电影特效制作、虚拟现实场景搭设等场景也可采用本公开提供的提供游戏中道路过渡段的生成方法、装置、电子设备及存储介质。

为了便于描述本申请,以下示例将以游戏场景为例进行说明,在其他场景其道路过渡段的生成方法流程与游戏场景中处理方法类似。

随着科技进步和文化产业发展,人们会选择利用智能终端进行游戏体验,如何为玩家提供更好的游戏表现也成为研究重点,为了提高游戏表现,提高游戏场景的精细度成为重点。特别的,对于多种类型游戏的游戏场景来说,城镇或城市等模型的构建是十分常见的,而在城市等模型中,道路的细化程度将影响游戏场景的精细度。

在现有技术中,游戏场景中的道路模型的一般是基于道路编辑器生成的,首先,需要由美术开发人员确定道路两端的路段切面,即道路的横截面;随后,美术开发人员需要在道路编辑器中确定放置道路的至少两个路点;再后,将道路的路段切面的切面中心点与路点重合,最后,生成道路的路段;重复该方法以得到由多个路段构成的道路网络。

由于城市模型的需求,难免会出现道路的弯折和交叉,面对这样的情况,美术开发人员会将弯折和交叉的道路拆分成至少两段直线型道路和连接各直线型道路的道路过渡段。

但是,为了使得道路过渡段更为自然和贴近真实的道路,现有的道路过渡段是由美术开发人员利用道路编辑器人工绘制得到的,即道路过渡段的路段切面、弯曲程度、路点位置均需要开发人员自行绘制。这样的方式会使得制作成本很高,特征是在大型城市模型的场景的布设中,其往往需要消耗过多的人力和时间成本。

图1为本公开提供的一种道路过渡段的生成方法的流程示意图。

如图1所示的,该道路过渡段的生成方法包括:

步骤101、确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线;

步骤102、确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离;

步骤103、对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面;

步骤104、根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面;

步骤105、根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段。

需要说明的是,本公开提供的道路过渡段的生成方法的执行主体具体可为道路过渡段的生成装置,该道路过渡段的生成装置具体可安装在电子设备上。

其中的道路过渡段的生成装置具体可为安装在电子设备上的包括道路编辑器在内的软件或插件,其可用于采用本公开提供的生成方法自动生成道路过渡段。

也就是说,与现有技术类似的是,包括美术开发人员在内的用户,需要确定待生成的存在有弯折和交叉的道路,并根据经验先对直线型道路进行绘制,再经由本公开提供的生成装置自动生成其直线型道路之间的道路过渡段。

具体的,首先,生成装置将存有用户绘制的多个直线型道路,用户可通过点选或触发的方式将选中其中的至少两条道路,以作为待生成过渡段的道路。也就是说,生成装置将基于该选中的至少两条道路的相关信息,生成相应的道路过渡段。此外,当生成装置在确定至少两条道路之后,还将获得每一道路的路段切面的路点,以及垂直于该路段切面的路段线。

其中,道路的路段切面是指与道路延伸方向垂直的截面,即道路的横截面,路段切面的路点是指该横截面上的点;垂直于该路段切面的路段线是指平行于道路延伸方向且穿过该路段切面的路点的线,一般的,基于路点在路段切面上的位置的不同,该路段线也可为道路的中心线、左边线、右边线。

也就是说,垂直于所述路段切面的路段线是每一道路的各道路切面的切面中点所组成的线段;和/或,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面的左端点所组成的线段;和/或,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面的右端点所组成的线段。

换句话说,为了便于道路过渡段的生成,可将该至少两条道路简化为三条路段线,即中心线、左边线、右边线。图2为本公开提供的一种道路过渡段的生成方法的第一道路示意图,如图2所示的,道路a和道路b为该至少两条道路,其每一道路均有三条路段线组成。

随后,生成装置确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离。如图2所示的,可得到交点a、交点b和交点c。

在用户人工绘制道路的过程中,例如直线型道路,用户一般先设定两个路点,再从一个路点到另一个路点生成道路本身,但如果两条道路发生相交,用户一般会将两条道路的路点回退一定距离,从而在两条道路之间留出一个过渡区域。同时,在预留该过渡区域时,用户一般会考虑道路本身的尺寸,如大型道路将留出更大的空间作为过渡区域,而小型道路的过渡区间将会紧凑一些。

考虑到这些因素,在本公开提供的生成方法中,生成装置可将确定所述交点与该任意两条道路中每一道路的路段切面之间的垂直距离,根据每一道路相应的垂直距离,确定该道路的道路回退距离。

图3为本公开提供的一种道路过渡段的生成方法的第二道路示意图,如图3所示的,针对交点a来说,其是由道路a的右边线a1和道路b的左边线b1的延长线相交所形成的,其与道路a的路段切面之间的垂直距离为d1,与道路b的路段切面之间的垂直距离为d1’;相应的,针对交点b来说,其是由道路a的中间线a2和道路b的中间线b2的延长线相交所形成的,其与道路a的路段切面之间的垂直距离为d2,与道路b的路段切面之间的垂直距离为d2’;相应的,针对交点c来说,其是由道路a的左边线a3和道路b的右边线b3的延长线相交所形成的,其与道路a的路段切面之间的垂直距离为d3,与道路b的路段切面之间的垂直距离为d3’。

在可选的实施方式中,该各垂直距离的平均值可作为回退距离,以使道路a的回退距离为(d1+d2+d3)/3,道路b的回退距离为(d1’+d2’+d3’)/3。

或者,在可选的实施方式中,还可利用预设的回退偏移值对所述垂直距离进行处理,获得所述道路回退距离。也就是说,在得到垂直距离之后,叠加上用户预设的后退偏移,得到最后的后退值,其可采用如下所示方式获得:

当确定退回距离后,生成装置将对每一道路进行回退处理,回退后的路段切面则为道路过渡段两端的路段切面。再后,生成装置将根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面,并根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段。

特别的,在本公开示例中,为了使得生成的过渡段更为自然,具体可利用平滑圆润算法以获得过渡段的两个路段切面之间的过渡段曲面。详细来说,要对道路a和道路b进行平滑圆润的过渡,优选的几何形状为圆形曲面。因此,本公开具体可使用圆形的局部来拟合这个过渡线段,即利用贝塞尔曲线进行计算得到。

图4为本公开提供的一种道路过渡段的生成方法的第三道路示意图,如图4所示的,

我们在a0和a1的延长线上,分别取两个点b0b1,其中a0b0和a1b1的长度是一致,设为l。那么长l的计算如下:

根据上述的长度l,得到了b0和b1之后,根据三阶贝塞尔曲线就可以拟合出圆形的一段线段,计算方式如下:

f(t)=a0·(1-t)3+b0·(1-t)2t+b1·(1-t)t2+a1·t3,0≤t≤1

上述,我们假设a0a和a1a的长度一致。但实际上,两边取的后退参数可能是不一致的,因此,两边的长度是可以不一致的。针对这个问题,我们可以取其两边长度最小值,并在相应的另一边上按最小长度取对应的点就可以,这样就可以保证取得最后长度一致的a0和a1点。同时,在得到最小长度之后,我们可以给这个最小长度乘以一个圆润率,设为γ,显然,这个γ应该满足0≤γ≤1。这个圆润比率γ越大,表示a0和a1后退的越多,从而留出更大的空间作为圆形区域,在表现上,就会越圆润。反之,那么直线部分就会相对较多,留给圆形区域的空间就越少,极端情况下,直接让γ=0,那么就和前面所述的直接尖角相连效果一致了。

图5为本公开提供的一种道路过渡段的生成方法的第四道路示意图,如图5所示的,将所述过渡段的路段切面分别与进行回退处理后的该任意两条道路的路段切面贴合,以构建该任意两条道路的道路过渡段,即将生成的过渡段曲面与前述的道路a和道路b进行贴合,以完成对于道路过渡段的构建。

可选的,在上述各示例的基础上,图6为本公开提供的一种道路过渡段的生成方法的第五道路示意图,该道路a和道路b存在交点,且道路a和道路b之间的夹角接近180度,即其二者接近平行。此时,采用上述的方式很难获取到其交点并进行后续回退处理,在这种情况下,可直接根据经验值对于道路a和道路b进行回退处理,并获得道路a的路点a1和a2,道路b的路点b1和b2。然后,直接基于该四个路点采用贝塞尔算法进行曲线拟合得到过渡段曲面,如图6。

换句话说,所述确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离,还包括:根据所述交点和该任意两条道路路短线的延长线,确定该任意两条道路之间的夹角;当所述夹角大于预设角度阈值,则该任意两条道路中每一道路的道路回退距离为路段切面长度的一半。

图7为本公开提供的一种道路过渡段的生成方法的第六道路示意图,可选的,当用户选取的待过渡的道路为两个以上时,如图7所示的三个,本公开可针对三个中的任意两个道路分别进行处理,并将其处理结果进行叠加。

本公开提供的道路过渡段的生成方法,通过先确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线,随后,确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离,对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面,再后,根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面,最后,根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段的技术方案,从而实现对于道路过渡段的自动生成,在有效降低了人工成本的同时使得生成的道路过渡段更为自然,符合真实道路铺设需求。

图8为本公开提供的一种道路过渡段的生成装置的结构示意图,如图8所示的,该道路过渡段的生成装置包括:

第一处理模块10,用于确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线;

第二处理模块20,用于确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离;对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面;

第三处理模块30,用于根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面;

第四处理模块40,用于根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段。

本公开可选示例中,第二处理模块20,用于确定所述交点与该任意两条道路中每一道路的路段切面之间的垂直距离;根据每一道路相应的垂直距离,确定该道路的道路回退距离。

本公开可选示例中,第二处理模块20,用于利用预设的回退偏移值对所述垂直距离进行处理,获得所述道路回退距离。

本公开可选示例中,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面中点所组成的线段;和/或,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面的左端点所组成的线段;和/或,所述垂直于所述路段切面的路段线是每一道路的各道路切面的切面的右端点所组成的线段。

本公开可选示例中,第三处理模块30,用于对过渡段的两个路段切面进行采样,获得过渡段的多个成对的路段采样点;利用三阶贝塞尔曲线对过渡段每对路段采样点进行曲线拟合,获得所述过渡段曲面。

本公开可选示例中,第四处理模块40,具体用于:将所述过渡段的路段切面分别与进行回退处理后的该任意两条道路的路段切面贴合,以构建该任意两条道路的道路过渡段。

本公开可选示例中,第二处理模块20,还用于:根据所述交点和该任意两条道路路短线的延长线,确定该任意两条道路之间的夹角;当所述夹角大于预设角度阈值,则该任意两条道路中每一道路的道路回退距离为路段切面长度的一半。

所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。

本公开提供的道路过渡段的生成装置,通过先确定待生成过渡段的至少两条道路,获得位于各道路的路段切面的路点以及垂直于所述路段切面的路段线,随后,确定任意两条道路路段线的延长线所构成的交点,并根据该交点确定该任意两条道路的道路回退距离,对所述该任意两条道路进行回退处理,以得到过渡段的至少两个路段切面,再后,根据平滑圆润算法在所述至少两个路段切面之间生成过渡段曲面,最后,根据所述过渡段的路段切面和所述过渡段曲面构建道路过渡段的技术方案,从而实现对于道路过渡段的自动生成,在有效降低了人工成本的同时使得生成的道路过渡段更为自然,符合真实道路铺设需求。

图9为本公开提供的一种电子设备的硬件结构示意图。如图9所示,该电子设备具体可包括:

处理器42;

用于存储处理器可执行指令的存储器41;

其中,所述存储器41用于存储所述处理器42可执行指令;

当所述处理器42执行所述可执行指令时,可以执行上述任一项所述的道路过渡段的生成方法。

其中,上述的存储器41可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。而处理器42可由一个或多个应用专用集成电路(asic)、数字信号处理器架构(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器架构或其他电子元件实现。

上述指令可采用c/c++、java、shell或python等语言编写,本示例对此不进行限制。

所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。

本公开提供了一种存储介质,包括指令,当所述指令在所述计算机上运行时,所述计算机可以执行上述示例一所述的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和示例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1