您好,欢迎观临半岛体育官网!

咨询热线:

040-88888888

半岛体育地形模型的区域生成方法、装置和可读存储介质pdf

发布时间:2024-04-06 04:04人气:

  本申请公开了一种地形模型的区域生成方法、装置和可读存储介质。该方法包括:在虚拟场景中的地形模型上,确定原始地形区域;在原始地形区域中,基于虚拟模型的尺寸数据确定第一目标地形区域;基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为原始地形区域中的第二目标地形区域;在地形模型上,对第二目标地形区域对应的地形进行压平,得到第三目标地形区域,其中,第三目标地形区域用于创建虚拟模型。本申请解决了地形模型的区域生成效率低的技术问题。

  (19)国家知识产权局 (12)发明专利申请 (10)申请公布号 CN 116956552 A (43)申请公布日 2023.10.27 (21)申请号 7.2 (22)申请日 2023.06.20 (71)申请人 网易(杭州)网络有限公司 地址 310000 浙江省杭州市滨江区长河街 道网商路599号4幢7层 (72)发明人 沈忠勇 (74)专利代理机构 北京博浩百睿知识产权代理 有限责任公司 11134 专利代理师 谢湘宁 (51)Int.Cl. G06F 30/20 (2020.01) G06T 17/05 (2011.01) G06T 5/00 (2006.01) 权利要求书3页 说明书24页 附图16页 (54)发明名称 地形模型的区域生成方法、装置和可读存储 介质 (57)摘要 本申请公开了一种地形模型的区域生成方 法、装置和可读存储介质。该方法包括:在虚拟场 景中的地形模型上,确定原始地形区域 ;在原始 地形区域中,基于虚拟模型的尺寸数据确定第一 目标地形区域;基于第一目标地形区域关联的地 形数据,将第一目标地形区域调整为原始地形区 域中的第二目标地形区域;在地形模型上,对第 二目标地形区域对应的地形进行压平,得到第三 目标地形区域,其中,第三目标地形区域用于创 建虚拟模型。本申请解决了地形模型的区域生成 效率低的技术问题。 A 2 5 5 6 5 9 6 1 1 N C CN 116956552 A 权利要求书 1/3页 1.一种地形模型的区域生成方法,其特征在于,包括: 在虚拟场景中的地形模型上,确定原始地形区域,其中,所述原始地形区域用于表示所 述地形模型上允许创建虚拟模型的范围; 在所述原始地形区域中,基于所述虚拟模型的尺寸数据确定第一目标地形区域; 基于所述第一目标地形区域关联的地形数据,将所述第一目标地形区域调整为所述原 始地形区域中的第二目标地形区域,其中,所述地形数据用于表征将所述第一目标地形区 域调整至所述地形数据对应的地形对象上的难易程度,所述第二目标地形区域大于所述第 一目标地形区域; 在所述地形模型上,对所述第二目标地形区域对应的地形进行压平,得到第三目标地 形区域,其中,所述第三目标地形区域用于创建所述虚拟模型。 2.根据权利要求1所述的方法,其特征在于,基于所述第一目标地形区域关联的地形数 据,将所述第一目标地形区域调整为所述原始地形区域中的第二目标地形区域,包括: 在所述第一目标地形区域关联的不同地形数据中,确定目标地形数据,其中,所述目标 地形数据为所述不同地形数据对应的不同所述难易程度中最易程度对应的地形数据; 在所述原始地形区域中,基于所述目标地形数据将所述第一目标地形区域调整为所述 第二目标地形区域。 3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 将所述第二目标地形区域确定为所述第一目标地形区域,返回执行在所述第一目标地 形区域关联的不同地形数据中,确定所述目标地形数据的步骤,直至所述第二目标地形区 域的面积大于面积阈值,和/或,所述第二目标地形区域中的点对应的目标值满足目标阈 值,其中,所述目标值用于表征是否允许继续调整所述第二目标地形区域中的点。 4.根据权利要求3所述的方法,其特征在于,在返回执行在所述第一目标地形区域关联 的不同地形数据中确定所述目标地形数据的步骤之后,所述方法还包括: 基于所述地形模型在所述点对应的法线更新所述目标值,其中,更新后的所述目标值 小于更新前的所述目标值。 5.根据权利要求2所述的方法,其特征在于,在所述原始地形区域中,基于所述目标地 形数据将所述第一目标地形区域调整为所述第二目标地形区域,包括: 在所述原始地形区域中,基于所述目标地形数据对所述第一目标地形区域中的第一点 集进行扩散,得到所述第二目标地形区域。 6.根据权利要求5所述的方法,其特征在于,在所述原始地形区域中,基于所述目标地 形数据对所述第一目标地形区域中的第一点集进行扩散,得到所述第二目标地形区域,包 括: 在所述原始地形区域中,基于所述目标地形数据确定与所述第一点集中点之间的距离 在第一距离阈值范围内的第二点集; 基于所述第二点集生成所述第二目标地形区域。 7.根据权利要求6所述的方法,其特征在于,基于所述第二点集生成所述第二目标地形 区域,包括: 将所述第二点集的颜色信息调整为与所述第一点集的颜色信息相同的颜色信息,得到 所述第二目标地形区域。 2 2 CN 116956552 A 权利要求书 2/3页 8.根据权利要求6所述的方法,其特征在于,在所述原始地形区域中,基于所述目标地 形数据确定与所述第一点集中的点之间的距离在第一距离阈值范围内的第二点集,包括: 将所述第一目标地形区域从所述原始地形区域中提取出; 在所述原始地形区域中,基于所述目标地形数据确定与提取出的所述第一目标地形区 域中的所述第一点集中点之间的距离在所述第一距离阈值范围内的所述第二点集。 9.根据权利要求5所述的方法,其特征在于,在所述原始地形区域中,基于所述目标地 形数据对所述第一目标地形区域中的第一点集进行扩散,得到所述第二目标地形区域,包 括: 在所述原始地形区域中,基于所述第一点集中点对应的法线,确定对应的所述地形对 象阻碍所述第一目标地形区域调整的程度,以对所述第一点集进行扩散,得到所述第二目 标地形区域,其中,所述目标地形数据包括所述第一点集中点对应的法线所述的方法,其特征在于,在所述原始地形区域中,基于所述虚拟模 型的尺寸数据确定第一目标地形区域,包括: 在所述原始地形区域中确定目标点,其中,所述目标点在所述虚拟场景中的高度高于 高度阈值; 在所述原始地形区域中,基于所述目标点和所述虚拟模型的尺寸数据,确定所述第一 目标地形区域。 11.根据权利要求10所述的方法,其特征在于,在所述原始地形区域中,基于所述目标 点和所述虚拟模型的尺寸数据,确定所述第一目标地形区域,包括: 确定与所述目标点重合,且与所述虚拟模型的尺寸数据相匹配的包围框,其中,所述虚 拟模型的中心点位于所述目标点上; 在所述包围框上确定目标面片,其中,所述目标面片对应的法线方向为所述虚拟场景 中的竖向方向; 在所述原始地形区域中,确定由所述目标面片映射到的所述第一目标地形区域。 12.根据权利要求10所述的方法,其特征在于,在所述原始地形区域中确定目标点,包 括: 在所述原始地形区域中确定子原始地形区域,其中,所述子原始地形区域中的点与所 述原始地形区域的边缘上的点之间的距离大于第二距离阈值; 在所述子原始地形区域中确定高度最高的所述目标点。 13.根据权利要求1至12中任意一项所述的方法,其特征在于,在虚拟场景中的地形模 型上,确定原始地形区域,包括: 在所述地形模型上随机选取或绘制出所述原始地形区域。 14.根据权利要求1至12中任意一项所述的方法,其特征在于, 在所述原始地形区域中,基于所述虚拟模型的尺寸数据确定第一目标地形区域,包括: 对所述虚拟模型进行调整;在所述原始地形区域中,基于调整后的所述虚拟模型的尺寸数 据确定所述第一目标地形区域;和/或, 基于所述第一目标地形区域关联的地形数据,将所述第一目标地形区域调整为所述原 始地形区域中的第二目标地形区域,包括:对所述地形数据进行调整;基于调整后的所述地 形数据,将所述第一目标地形区域调整为所述第二目标地形区域。 3 3 CN 116956552 A 权利要求书 3/3页 15.根据权利要求1至12中任意一项所述的方法,其特征在于,在所述地形模型上,对所 述第二目标地形区域对应的地形进行压平,得到第三目标地形区域,包括: 对所述第二目标地形区域进行模糊平滑处理; 在所述地形模型上,对处理后的所述第二目标地形区域对应的地形进行压平,得到所 述第三目标地形区域。 16.一种地形模型的区域生成装置,其特征在于,包括: 第一确定单元,用于在虚拟场景中的地形模型上,确定原始地形区域,其中,所述原始 地形区域用于表示所述地形模型上允许创建虚拟模型的范围; 第二确定单元,用于在所述原始地形区域中,基于所述虚拟模型的尺寸数据确定第一 目标地形区域; 调整单元,用于基于所述第一目标地形区域关联的地形数据,将所述第一目标地形区 域调整为所述原始地形区域中的第二目标地形区域,其中,所述地形数据用于表征将所述 第一目标地形区域调整至所述地形数据对应的地形对象上的难易程度,所述第二目标地形 区域大于所述第一目标地形区域; 压平单元,用于在所述地形模型上压平所述第二目标地形区域对应的地形,得到第三 目标地形区域,其中,所述第三目标地形区域用于创建所述虚拟模型。 17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机 程序,其中,所述计算机程序被设置为被处理器运行时执行所述权利要求1至15中任一项中 所述的方法。 18.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程 序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至15中任一项中所述 的方法。 4 4 CN 116956552 A 说明书 1/24页 地形模型的区域生成方法、装置和可读存储介质 技术领域 [0001] 本申请涉及计算机技术领域,具体而言,涉及一种地形模型的区域生成方法、装置 和可读存储介质。 背景技术 [0002] 目前,在虚拟场景中的地形模型上创建虚拟模型时,通常是采用直接按照矩形的 形状压平的方法得到一片用于创建虚拟模型的区域。但是,该方法所生成的区域是完全规 则的压平地面,如果想要压平地面是不规则的,则需要人工手动建模或者手动绘制,消耗大 量人力,从而导致地形模型的区域生成效率低的技术问题。 [0003] 针对上述地形模型的区域生成效率低的技术问题,目前尚未提出有效的解决方 案。 发明内容 [0004] 本申请至少部分实施例提供了一种地形模型的区域生成方法、装置和可读存储介 质,以至少解决地形模型的区域生成效率低的技术问题。 [0005] 根据本申请其中一实施例,提供了一种地形模型的区域生成方法,该方法可以包 括:在虚拟场景中的地形模型上,确定原始地形区域,其中,原始地形区域用于表示地形模 型上允许创建虚拟模型的范围;在原始地形区域中,基于虚拟模型的尺寸数据确定第一目 标地形区域;基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为原始地 形区域中的第二目标地形区域,其中,地形数据用于表征将第一目标地形区域调整至地形 数据对应的地形对象上的难易程度,第二目标地形区域大于第一目标地形区域;在地形模 型上,对第二目标地形区域对应的地形进行压平,得到第三目标地形区域,其中,第三目标 地形区域用于创建虚拟模型。 [0006] 根据本申请其中一实施例,还提供了一种地形模型的区域生成装置,该装置可以 包括:第一确定单元,用于在虚拟场景中的地形模型上,确定原始地形区域,其中,原始地形 区域用于表示地形模型上允许创建虚拟模型的范围;第二确定单元,用于在原始地形区域 中,基于虚拟模型的尺寸数据确定第一目标地形区域;调整单元,用于基于第一目标地形区 域关联的地形数据,将第一目标地形区域调整为原始地形区域中的第二目标地形区域,其 中,地形数据用于表征将第一目标地形区域调整至地形数据对应的地形对象上的难易程 度,第二目标地形区域大于第一目标地形区域;压平单元,用于在地形模型上压平第二目标 地形区域对应的地形,得到第三目标地形区域,其中,第三目标地形区域用于创建虚拟模 型。 [0007] 根据本申请其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存 储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述地形模型的区域 生成方法。 [0008] 根据本申请其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器 5 5 CN 116956552 A 说明书 2/24页 中存储有计算机程序,处理器被设置为运行计算机程序以执行上述地形模型的区域生成方 法。 [0009] 在本申请至少部分实施例中,在虚拟场景中的地形模型上,确定原始地形区域,其 中,原始地形区域用于表示地形模型上允许创建虚拟模型的范围;在原始地形区域中,基于 虚拟模型的尺寸数据确定第一目标地形区域;基于第一目标地形区域关联的地形数据,将 第一目标地形区域调整为原始地形区域中的第二目标地形区域,其中,地形数据用于表征 将第一目标地形区域调整至地形数据对应的地形对象上的难易程度,第二目标地形区域大 于第一目标地形区域;在地形模型上,对第二目标地形区域对应的地形进行压平,得到第三 目标地形区域,其中,第三目标地形区域用于创建虚拟模型。也就是说,本申请实施例可以 通过将地形模型的地形数据转化为影响因素,从最初始的第一目标地形区域,向外扩散第 二目标地形区域,在扩散完成之后得到一块随原始地形影响变化的区域,并将该区域对应 的地形进行压平,得到用于创建虚拟模型的第三目标地形区域,以达到以自动生成地形模 型的区域的方式替代人工绘制地形模型的区域的方法的目的,从而解决了地形模型的区域 生成效率低的技术问题,实现了提高地形模型的区域生成效率的技术效果。 附图说明 [0010] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中: [0011] 图1是根据本申请实施例的一种地形模型的区域生成方法的终端设备的硬件结构 框图; [0012] 图2是根据本申请实施例的一种地形模型的区域生成方法的流程图; [0013] 图3是根据本申请实施例的一种地形地图的示意图; [0014] 图4是根据本申请实施例的一种对地形区域进行模糊平滑处理的示意图; [0015] 图5是根据本申请实施例的一种将地形场高度数据转换为多边形的示意图; [0016] 图6是根据本申请实施例的一种地形区域的非共享边的示意图; [0017] 图7是根据本申请实施例的一种对地形区域中的点与地形区域边缘的点之间的距 离属性进行可视化的示意图; [0018] 图8是根据本申请实施例的一种从地形区域中截取搭建建筑物模型的区域的示意 图; [0019] 图9是根据本申请实施例的一种地形区域中搭建建筑物模型的中心点的示意图; [0020] 图10是根据本申请实施例的一种将建筑物模型复制至中心点的示意图; [0021] 图11是根据本申请实施例的一种为建筑物模型链接包围盒的示意图; [0022] 图12是根据本申请实施例的一种对包围盒中法线向上的模型部分进行拉伸的示 意图; [0023] 图13是根据本申请实施例的一种将距离属性的可视化结果与对包围盒中法线向 上的模型部分进行拉伸的结果进行合并的示意图; [0024] 图14是根据本申请实施例的一种将地形区域中的属于Group3的区域的示意图; [0025] 图15是根据本申请实施例的一种Solver节点内的演算的示意图; [0026] 图16(a)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 6 6 CN 116956552 A 说明书 3/24页 扩散的示意图; [0027] 图16(b)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 扩散的原因的示意图; [0028] 图16(c)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 扩散的过程的示意图; [0029] 图16(d)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 叠加的示意图; [0030] 图16(e)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 叠加的结果的示意图; [0031] 图16(f)是根据本申请实施例的一种停止扩散的示意图; [0032] 图17是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行扩散 的可视化结果示意图; [0033] 图18是根据本申请实施例的一种将扩散后的结果投射到地形上的示意图; [0034] 图19根据本申请实施例的一种根据扩散后的结果压平初始的地形后所得到的最 终效果的示意图; [0035] 图20是根据本申请实施例的一种地形模型的区域生成装置的示意图; [0036] 图21是根据本申请实施例的一种电子装置的示意图。 具体实施方式 [0037] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的 附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人 员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范 围。 [0038] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第 二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆 盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于 清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品 或设备固有的步骤或单元。 [0039] 首先,在对本申请实施例进行描述的过程中出现的部分名词或术语使用于如下解 释: [0040] 虚幻引擎4(Unreal Engine 4,简称为UE4),是指一个完整的游戏开发工具集,包 括图形渲染、物理模拟、音频处理和人工智能等方面。 [0041] 根据本申请其中一实施例,提供了一种地形模型的区域生成方法的实施例,需要 说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中 执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺 序执行所示出或描述的步骤。 7 7 CN 116956552 A 说明书 4/24页 [0042] 在一种可能的实施方式中,针对计算机领域下地形模型的区域生成方法,通常所 采用的是使用手动生成地形模型的区域的方法,发明人经过实践并仔细研究后,仍然存在 地形模型的区域生成效率低的技术问题,基于此,本公开实施例可以应用于对地形模型的 区域进行生成的任何场景,提出了一种地形模型的区域生成的方法,采用的技术构思“在虚 拟场景中的地形模型上,确定原始地形区域,其中,原始地形区域用于表示地形模型上允许 创建虚拟模型的范围;在原始地形区域中,基于虚拟模型的尺寸数据确定第一目标地形区 域;基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为原始地形区域中 的第二目标地形区域,其中,地形数据用于表征将第一目标地形区域调整至地形数据对应 的地形对象上的难易程度,第二目标地形区域大于第一目标地形区域;在地形模型上,对第 二目标地形区域对应的地形进行压平,得到第三目标地形区域,其中,第三目标地形区域用 于创建虚拟模型”,从而解决了地形模型的区域生成效率低的技术问题,实现了提高地形模 型的区域生成效率的技术效果。 [0043] 本申请涉及到的上述方法实施例可以在终端设备、计算机终端或者类似的运算装 置中执行。以运行在终端设备上为例,该终端设备可以是智能手机、平板电脑、掌上电脑以 及移动互联网设备、PAD、游戏机等终端设备。图1是根据本申请实施例的一种地形模型的区 域生成方法的终端设备的硬件结构框图。如图1所示,终端设备可以包括一个或多个(图1中 仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器 (GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器 (NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储 器104,在本申请其中一实施例中,还可以包括:输入输出设备108以及显示设备110。 [0044] 在一些以游戏场景为主的可选实施例中,上述设备还可以提供具有触摸触敏表面 的人机交互界面,该人机交互界面可以感应手指接触和/或手势来与图形用户界面(GUI)进 行人机交互半岛体育官网,该人机交互功能可以包括如下交互:创建网页、绘图、文字处理、制作电子文 档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/ 或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理 器可执行的计算机程序产品或可读存储介质中。 [0045] 本领域技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端设备的结 构造成限定。例如,终端设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所 示不同的配置。 [0046] 在一种可能的实施方式中,本申请实施例提供了一种地形模型的区域生成方法, 图2是根据本申请实施例的一种地形模型的区域生成方法的流程图,如图2所示,该方法包 括如下步骤: [0047] 步骤S202,在虚拟场景中的地形模型上,确定原始地形区域,其中,原始地形区域 用于表示地形模型上允许创建虚拟模型的范围。 [0048] 在本申请上述步骤S202提供的技术方案中,虚拟场景可以为游戏场景,例如,策略 类游戏(Strategy‑Leverage Game,简称为SLG),地形模型可以为地形、地表等,原始地形区 域可以为在虚拟场景中的地形模型上允许创建虚拟模型的范围,例如,原始地形区域可以 为想要生成的居住区域的范围(Area),虚拟模型可以为在原始地形区域上搭建的模型,例 如,虚拟模型可以为SLG游戏中的城主府模型,此处不对虚拟场景和虚拟模型进行具体限 8 8 CN 116956552 A 说明书 5/24页 定。 [0049] 在该实施例中,可以在虚拟场景中的地形模型上,随机选取或绘制出一片地形区 域,并将其确定为原始地形区域,此处不对在虚拟场景中的地形模型上,确定原始地形区域 的方法进行具体限定。 [0050] 可选地,上述原始地形区域还可以为游戏的上有策划已经预先规划好的地形区 域,此处不对原始地形区域进行具体限定。 [0051] 需要说明的是,该实施例的上述原始地形区域可以用于表示地形模型上允许创建 虚拟模型的范围,允许创建虚拟模型的范围可以为根据游戏的场景需求,在地形模型上进 行灵活设置或灵活选取的地形区域,可选地,该实施例可以响应于由用户在图形用户界面 上触控的区域设定指令,在虚拟场景中的地形模型上,确定上述原始地形区域。 [0052] 举例而言,地形模型的尺寸为20*20,该地形模型上允许创建虚拟模型的范围可以 为在该尺寸的范围内灵活选取的尺寸范围,例如,该地形模型上允许创建虚拟模型的范围 可以为10*10、8*8等,也即,原始地形区域也可以为10*10、8*8等,此处不对原始地形区域的 具体选取方式进行限制。 [0053] 步骤S204,在原始地形区域中,基于虚拟模型的尺寸数据确定第一目标地形区域。 [0054] 在本申请上述步骤S204提供的技术方案中,可以在虚拟场景中的地形模型上,确 定原始地形区域之后,基于虚拟模型的尺寸数据确定第一目标地形区域,其中,尺寸数据可 以为待创建的虚拟模型的尺寸,第一目标地形区域可以为虚拟模型在原始地形区域中所占 的区域,例如,SLG游戏中,在想要生成的可居住区域Area中用于建造主城位置的区域。 [0055] 在该实施例中,在原始地形区域中,基于虚拟模型的尺寸数据确定第一目标地形 区域时,可以先在原始地形区域中确定用于搭建虚拟模型的中心点,然后将虚拟模型复制 至该中心点处,根据虚拟模型的尺寸数据为虚拟模型链接一个包围盒模型(Box),并提取包 围盒模型的法线向上的面片,对该面片进行拉伸,从而得到第一目标地形区域。 [0056] 可选地,上述在原始地形区域中确定用于搭建虚拟模型的中心点可以包括:提取 原始地形区域中非共享边,并将组成非共享边的点记录为Group1,然后将原始地形区域中 每个点与Group1中的点之间的距离存入属性(Dist)中,并按照距离数值可视化Dist属性, 得到颜色数组,并将颜色数组中小于1的点删除,最后通过对颜色数组中其余点上的Y轴位 置坐标进行对比,提取最大值“Maxy”,并将最大值“Maxy”确定为上述搭建虚拟模型的中心 点。 [0057] 步骤S206,基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为 原始地形区域中的第二目标地形区域。 [0058] 在本申请上述步骤S206提供的技术方案中,地形数据可以用于表征将第一目标地 形区域调整至地形数据对应的地形对象上的难易程度,地形对象可以为游戏场景中的河 流、山川等,第二目标地形区域可以为将第一目标地形区域按照关联的地形数据进行调整 后所得到的地形区域,例如,将第一目标地形区域进行扩散后所得到的。 [0059] 在该实施例中,可以在从原始地形区域中,基于虚拟模型的尺寸数据确定第一目 标地形区域之后,基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为原 始地形区域中的第二目标地形区域,其中,第二目标地形区域大于第一目标地形区域。 [0060] 可选地,上述与第一目标地形区域关联的地形数据可以表示为sub数值,sub数值 9 9 CN 116956552 A 说明书 6/24页 可以通过sub=1‑@N.y计算得到,其中,@N可以用于表示第一目标地形区域中点的法线,N.y 可以用于表示该法线的Y方向数值,sub越大,则表明将第一目标地形区域调整至地形数据 对应的地形对象上的难易程度越难,例如,山的sub数值是5,河的sub数值是99999,平地的 sub数值是0,则表明将第一目标地形区域调整至河上的难度最高,将第一目标地形区域调 整至平地上的难度最低,将第一目标地形区域调整至山地上的难度居中,此处仅为举例说 明,不对与第一目标地形区域关联的地形数据进行具体限定。 [0061] 可选地,在基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为 原始地形区域中的第二目标地形区域时,还可以通过预设面积阈值对第一目标地形区域的 扩散进行限制,如果第二目标地形区域的面积大于预设面积阈值,则禁止将第一目标地形 区域调整为第二目标地形区域。 [0062] 可选地,在基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为 原始地形区域中的第二目标地形区域时,还可以通过第一目标地形区域的中点的数值 (step)对第一目标地形区域的扩散进行限制,例如,如果step0,则将第一目标地形区域调 整为第二目标地形区域。 [0063] 步骤S208,在地形模型上,对第二目标地形区域对应的地形进行压平,得到第三目 标地形区域。 [0064] 在本申请上述步骤S208提供的技术方案中,可以在基于第一目标地形区域关联的 地形数据,将第一目标地形区域调整为原始地形区域中的第二目标地形区域之后,对第二 目标地形区域对应的地形进行压平,得到第三目标地形区域,其中,第三目标地形区域可以 为最终用于搭建虚拟模型的区域,例如,游戏场景中用于搭建城池的区域。 [0065] 可选地,在地形模型上,对第二目标地形区域对应的地形进行压平之前,还可以通 过属性模糊节点(Attribblur)对第二目标地形区域进行模糊平滑处理,然后对模糊平滑处 理之后的第二目标地形区域对应的地形进行压平,需要说明的是,Attribblur仅为对第二 目标地形区域进行模糊平滑处理的一种优选实施方式,此处不对模糊平滑处理的方法进行 具体限定。 [0066] 通过本申请上述步骤S202至步骤S208,在虚拟场景中的地形模型上,确定原始地 形区域,其中,原始地形区域用于表示地形模型上允许创建虚拟模型的范围;在原始地形区 域中,基于虚拟模型的尺寸数据确定第一目标地形区域;基于第一目标地形区域关联的地 形数据,将第一目标地形区域调整为原始地形区域中的第二目标地形区域,其中,地形数据 用于表征将第一目标地形区域调整至地形数据对应的地形对象上的难易程度,第二目标地 形区域大于第一目标地形区域;在地形模型上,对第二目标地形区域对应的地形进行压平, 得到第三目标地形区域,其中,第三目标地形区域用于创建虚拟模型。也就是说,本申请实 施例可以通过将地形模型的地形数据转化为影响因素,从最初始的第一目标地形区域,向 外扩散第二目标地形区域,在扩散完成之后得到一块随原始地形影响变化的区域,并将该 区域对应的地形进行压平,得到用于创建虚拟模型的第三目标地形区域,以达到以自动生 成地形模型的区域的方式替代人工绘制地形模型的区域的方法的目的,从而解决了地形模 型的区域生成效率低的技术问题,实现了提高地形模型的区域生成效率的技术效果。 [0067] 需要说明的是,本申请上述步骤S202至步骤S208所记载的方案可以在任何图形接 口平台和主流引擎中使用,没有平台限制,从而达到了减少开发过程中的适配问题的技术 10 10 CN 116956552 A 说明书 7/24页 效果;并且该方案还可以利用程序实现自动化,可以进行随时迭代,以达到节省人力和时间 的技术效果。 [0068] 下面对该实施例上述方法进行进一步介绍。 [0069] 作为一种可选的实施方式,步骤S206,基于第一目标地形区域关联的地形数据,将 第一目标地形区域调整为原始地形区域中的第二目标地形区域,包括:在第一目标地形区 域关联的不同地形数据中,确定目标地形数据,其中,目标地形数据为不同地形数据对应的 不同难易程度中最易程度对应的地形数据;在原始地形区域中,基于目标地形数据将第一 目标地形区域调整为第二目标地形区域。 [0070] 在该实施例中,可以在从原始地形区域中,基于虚拟模型的尺寸数据确定第一目 标地形区域之后,先在第一目标地形区域关联的不同地形数据中,确定目标地形数据,然后 在原始地形区域中,基于目标地形数据将第一目标地形区域调整为第二目标地形区域,其 中,目标地形数据可以为不同地形数据中对应的不同难易程度中最易程度对应的地形数 据,以达到使第一目标地形区域优先向阻力小的地方向外扩散的技术效果。 [0071] 可选地,上述不同难易程度中最易程度对应的地形数据可以为不同地形数据中对 应的地形对象阻碍第一目标地形区域调整的程度最小的地形数据,不同地形数据对应的难 易程度可以通过地形数据的数值(例如,sub值)进行表征,例如,不同难易程度中最易程度 对应的地形数据可以为平地,则可以将sub设置为0,不同难易程度中最难程度对应的地形 数据可以为河流高山等无法跨越的地形,则可以将sub设置为99999,此处对sub值不做具体 限制。 [0072] 作为一种可选的实施方式,该方法还可以包括:将第二目标地形区域确定为第一 目标地形区域,返回执行在第一目标地形区域关联的不同地形数据中,确定目标地形数据 的步骤,直至第二目标地形区域的面积大于面积阈值,和/或,第二目标地形区域中的点对 应的目标值满足目标阈值,其中,目标值用于表征是否允许继续调整第二目标地形区域中 的点。 [0073] 在该实施例中,可以在基于第一目标地形区域关联的地形数据,将第一目标地形 区域调整为原始地形区域中的第二目标地形区域之后,将得到的第二目标地形区域重新确 定为第一目标地形区域,然后返回执行上述在第一目标地形区域关联的不同地形数据中, 确定目标地形数据的步骤,直至第二目标地形区域的面积大于面积阈值,和/或,第二目标 地形区域中的点对应的目标值满足目标阈值,其中,面积阈值可以为预设数值,目标值用于 可以表征是否允许继续调整第二目标地形区域中的点。 [0074] 举例而言,可以将面积阈值设置为23000,如果第二目标地形区域的面积大于面积 阈值,也即,@area23000时,和/或,当目标值为数值(step)时,将目标阈值设置为0,如果目 标值小于目标阈值,也即,@step0时,则表明不允许继续调整第二目标地形区域中的点。 [0075] 作为一种可选的实施方式,在返回执行在第一目标地形区域关联的不同地形数据 中确定目标地形数据的步骤之后,该方法还可以包括:基于地形模型在点对应的法线] 在该实施例中,可以在返回执行在第一目标地形区域关联的不同地形数据中确定 目标地形数据的步骤之后,基于地形模型在点对应的法线更新目标值,更新后的目标值小 于更新前的目标值,直至目标值满足目标阈值,停止更新目标值,以达到对第一目标地形区 11 11 CN 116956552 A 说明书 8/24页 域进行扩散的技术效果。 [0077] 需要说明的是,该实施例的上述点可以为第二目标地形区域中由多个顶点所组成 的三角面片上的点,可以为点集合,上述点对应的法线可以为该三角面片上的顶点所对应 的顶点法线] 可选地,在该实施例中,还可以通过点处理节点(Pointwrangle),通过采用如下方 法对目标值进行更新:f@step=@step‑@sub*2,也即,每一个目标值step都会执行减去2乘 以sub数值的过程,其中,@step可以用于表示更新前的目标值step,f@step以用于表示更新 后的目标值step,sub可以为虚拟模型的法线‑@N.y,@N是模型的法线,N.y 是法线的Y方向数值,越倾斜的地方sub数值越接近0,越平坦的地方sub数值越接近1。 [0079] 需要说明的是,上述内容仅为基于地形模型在点对应的法线更新目标值的一种优 选的实施方式,此处不对基于地形模型在点对应的法线更新目标值的方法进行具体限定, 任何用于基于地形模型在点对应的法线更新目标值的方法和过程均在本申请实施例的保 护范围内,此处不再一一列举。 [0080] 作为一种可选的实施方式,在原始地形区域中,基于目标地形数据将第一目标地 形区域调整为第二目标地形区域,包括:在原始地形区域中,基于目标地形数据对第一目标 地形区域中的第一点集进行扩散,得到第二目标地形区域。 [0081] 在该实施例中,在原始地形区域中,基于目标地形数据将第一目标地形区域调整 为第二目标地形区域时,可以通过在原始地形区域中,基于目标地形数据对第一目标地形 区域中的第一点集进行扩散的方法,得到第二目标地形区域,以达到对第一目标地形区域 进行扩散的技术效果,其中,第一点集可以为第一目标地形区域中的点。 [0082] 可选地,在该实施例中,可以将第一目标地形区域中的点对应颜色通道的红通道 设置为1,也即,将第一目标地形区域显示为红色,以达到对第一目标地形区域的扩散结果 进行可视化的技术效果。 [0083] 作为一种可选的实施方式,在原始地形区域中,基于目标地形数据对第一目标地 形区域中的第一点集进行扩散,得到第二目标地形区域,包括:在原始地形区域中,基于目 标地形数据确定与第一点集中点之间的距离在第一距离阈值范围内的第二点集;基于第二 点集生成第二目标地形区域。 [0084] 在该实施例中,在原始地形区域中,基于目标地形数据对第一目标地形区域中的 第一点集进行扩散,得到第二目标地形区域时,可以先在原始地形区域中,根据目标地形数 据确定与第一点集中点之间的距离在第一距离阈值范围内的第二点集,然后通过第二点集 生成第二目标地形区域,其中,第二点集中的点可以为与第一点集中的点之间的距离在第 一距离阈值范围内的点,例如,第二点集中的点可以为与第一点集中的点相距最近的点。此 处不对第一距离阈值范围进行具体限定。 [0085] 作为一种可选的实施方式,基于第二点集生成第二目标地形区域,包括:将第二点 集的颜色信息调整为与第一点集的颜色信息相同的颜色信息,得到第二目标地形区域。 [0086] 在该实施例中,在原始地形区域中,基于目标地形数据确定与第一点集中点之间 的距离在第一距离阈值范围内的第二点集之后半岛体育官网,可以通过将第二点集的颜色信息调整为与 第一点集的颜色信息相同的颜色信息,得到第二目标地形区域,以达到对原始地形区域中 的第二目标地形区域进行可视化显示的技术效果,其中,第二点集的颜色信息可以为第二 12 12 CN 116956552 A 说明书 9/24页 点集中的点的颜色,第一点集的颜色信息可以为第一点集中的点的颜色。 [0087] 举例而言,在基于第二点集生成第二目标地形区域时,第一点集的颜色信息可以 为红色,第二点集的颜色信息可以为黑色,可以通过将第二点集由黑色调整为红色的方法, 得到第二目标地形区域。 [0088] 作为一种可选的实施方式,在原始地形区域中,基于目标地形数据确定与第一点 集中的点之间的距离在第一距离阈值范围内的第二点集,包括:将第一目标地形区域从原 始地形区域中提取出;在原始地形区域中,基于目标地形数据确定与提取出的第一目标地 形区域中的第一点集中点之间的距离在第一距离阈值范围内的第二点集。 [0089] 在该实施例中,可以从原始地形区域中对第一目标地形区域提取,并对目标地形 数据中的点与提取出的第一目标地形区域中的第一点集中的点之间的距离进行判断,将该 距离处于第一距离阈值范围内的点,确定为第二点集。 [0090] 可选地,在该实施例中,还可以通过第一目标地形区域中的点进行可视化,例如, 将第一目标地形区域中的点设置为红色,将区域的点设置为黑色,在将第一目标地形 区域从原始地形区域中提取出时,只需要提取颜色属性为红色的点即可。 [0091] 作为一种可选的实施方式,在原始地形区域中,基于目标地形数据对第一目标地 形区域中的第一点集进行扩散,得到第二目标地形区域,包括:在原始地形区域中,基于第 一点集中点对应的法线,确定对应的地形对象阻碍第一目标地形区域调整的程度,以对第 一点集进行扩散,得到第二目标地形区域。 [0092] 在该实施例中,目标地形数据可以包括第一目标地形区域中的第一点集中点对应 的法线] 需要说明的是,该实施例的上述第一点集可以为由多个顶点所组成的三角面片上 的点集合,上述第一点集中点对应的法线可以为该三角面片上的顶点所对应的顶点法线] 在该实施例中,可以根据原始地形区域中,第一目标地形区域中的第一点集中点 对应的法线的Y方向数值,确定对应的地形对象阻碍第一目标地形区域调整的程度,然后根 据对应的地形对象阻碍第一目标地形区域调整的程度对第一点集进行扩散,得到第二目标 地形区域,以达到根据第一目标地形区域的地形变化生成第二目标地形区域的技术效果。 [0095] 可选地,上述对应的地形对象阻碍第一目标地形区域调整的程度可以表示为sub 数值,sub数值的计算方法如下所示:sub=1‑@N.y,其中,@N表示第一目标地形区域中的第 一点集中点对应的法线,N.y表示该法线的Y方向数值,sub越大,则对应的地形对象阻碍第 一目标地形区域调整的程度越高,例如,当sub为9999时,则对应的地形对象可以为河流、高 山等无法跨越的地形。 [0096] 需要说明的是,上述sub数值仅为地形对象阻碍第一目标地形区域调整的程度的 其中一种表示方式,此处不对地形对象阻碍第一目标地形区域调整的程度的表示方式进行 具体限定,任何用于对地形对象阻碍第一目标地形区域调整的程度进行表示的数值或标识 均在本申请实施例的保护范围内,此处不一一列举。 [0097] 作为一种可选的实施方式,步骤S204,在原始地形区域中,基于虚拟模型的尺寸数 据确定第一目标地形区域,包括:在原始地形区域中确定目标点,其中,目标点在虚拟场景 中的高度高于高度阈值;在原始地形区域中,基于目标点和虚拟模型的尺寸数据,确定第一 目标地形区域。 13 13 CN 116956552 A 说明书 10/24页 [0098] 在该实施例中,在虚拟场景中的地形模型上,确定原始地形区域之后,可以先在原 始地形区域中确定目标点,然后基于目标点和虚拟模型的尺寸数据,确定第一目标地形区 域,其中,目标点可以为用于搭建虚拟模型的中心点,目标点在虚拟场景中的高度高于高度 阈值; [0099] 可选地,在原始地形区域中确定目标点可以包括:提取原始地形区域中非共享边, 并将组成非共享边的点记录为Group1,然后将原始地形区域中每个点与Group1中的点之间 的距离存入属性(Dist)中,并按照距离数值可视化Dist属性,得到颜色数组,并将颜色数组 中小于1的点删除,最后通过对颜色数组中其余点上的Y轴位置坐标进行对比,提取最大值 “Maxy”,并将最大值“Maxy”确定为上述的目标点。需要说明的是,该方法仅为一种优选的实 施方式,此处不对在原始地形区域中确定目标点的方法进行具体限定。 [0100] 作为一种可选的实施方式,在原始地形区域中,基于目标点和虚拟模型的尺寸数 据,确定第一目标地形区域,包括:确定与目标点重合,且与虚拟模型的尺寸数据相匹配的 包围框,其中,虚拟模型的中心点位于目标点上;在包围框上确定目标面片,其中,目标面片 对应的法线方向为虚拟场景中的竖向方向;在原始地形区域中,确定由目标面片映射到的 第一目标地形区域。 [0101] 在该实施例中,在原始地形区域中确定目标点之后,可以将虚拟模型复制 (Copytopint)到该目标点上,并为虚拟模型链接一个与自身尺寸数据相匹配的包围框 (Box),然后在包围框上确定法线向上的目标面片,最后在原始地形区域中,确定由目标面 片映射到的第一目标地形区域,其中,其中,虚拟模型的中心点可以位于目标点上,目标面 片对应的法线方向可以为虚拟场景中的竖向方向。 [0102] 可选地,在原始地形区域中,确定由目标面片映射到的第一目标地形区域可以包 括:在原始地形区域中,可以通过增稠(Thicken)目标面片,以使目标面片成为一个很厚的 模型,然后将该模型映射到的第一目标地形区域中,其中,模型的厚度可以为大于原始地形 区域的高度的自定义数值,例如,模型的厚度可以为9999,此处不对模型的厚度进行具体限 定。 [0103] 需要说明的是,该实施例的上述目标面片可以为由多个顶点所组成的三角面片的 集合,上述目标面片对应的法线方向可以为该三角面片上的顶点所对应的顶点法线] 作为一种可选的实施方式,在原始地形区域中确定目标点,包括:在原始地形区域 中确定子原始地形区域,其中,子原始地形区域中的点与原始地形区域的边缘上的点之间 的距离大于第二距离阈值;在子原始地形区域中确定高度最高的目标点。 [0105] 在该实施例中,在虚拟场景中的地形模型上,确定原始地形区域之后,可以确定原 始地形区域中的点与原始地形区域的边缘上的点之间的距离,其中,边缘可以为城墙,可以 将与原始地形区域的边缘上的点之间的距离大于第二距离阈值的点所组成的区域,确定子 原始地形区域,然后在子原始地形区域中提取高度最高的点,并将该高度最高的点确定为 目标点,目标点为虚拟模型的中心点,从而达到使虚拟模型远离原始地形区域的边缘位置 的目的,进而实现了在游戏场景中使主城位置远离城墙的技术效果。 [0106] 作为一种可选的实施方式,步骤S204,在原始地形区域中,基于虚拟模型的尺寸数 据确定第一目标地形区域,包括:对虚拟模型进行调整;在原始地形区域中,基于调整后的 虚拟模型的尺寸数据确定第一目标地形区域;和/或,步骤S206,基于第一目标地形区域关 14 14 CN 116956552 A 说明书 11/24页 联的地形数据,将第一目标地形区域调整为原始地形区域中的第二目标地形区域,包括:对 地形数据进行调整;基于调整后的地形数据,将第一目标地形区域调整为第二目标地形区 域。 [0107] 在该实施例中,还可以对虚拟模型进行调整,和/或,对与第一目标地形区域关联 的地形数据进行调整,然后在原始地形区域中,根据调整后的虚拟模型的尺寸数据确定第 一目标地形区域,并根据调整后的地形数据,将第一目标地形区域调整为第二目标地形区 域,以达到在第一目标地形区域的扩散过程中,虚拟模型面积和阻力大小都可控的技术效 果,其中,调整后的虚拟模型的尺寸数据可以为调整后的虚拟模型的面积。 [0108] 作为一种可选的实施方式,步骤S208,在地形模型上,对第二目标地形区域对应的 地形进行压平,得到第三目标地形区域,包括:对第二目标地形区域进行模糊平滑处理;在 地形模型上,对处理后的第二目标地形区域对应的地形进行压平,得到第三目标地形区域。 [0109] 在该实施例中,在基于第一目标地形区域关联的地形数据,将第一目标地形区域 调整为原始地形区域中的第二目标地形区域之后,可以对第二目标地形区域进行模糊平滑 处理,并在地形模型上,对处理后的第二目标地形区域对应的地形进行压平,得到第三目标 地形区域,第三目标地形区域即为最终用于搭建虚拟模型的区域,例如,游戏场景中用于搭 建城池的区域。 [0110] 可选地,在该实施例中,可以通过属性模糊节点(Attribblur)对第二目标地形区 域进行模糊平滑处理;可以通过高度场物体遮罩节点(Heightfield_maskbyobject)将模糊 平滑处理后的第二目标地形区域投射在地形模型上,以达到对处理后的第二目标地形区域 对应的地形进行压平的技术效果。 [0111] 需要说明的是,上述通过Attribblur对第二目标地形区域进行模糊平滑处理以及 通过Heightfield_maskbyobject对处理后的第二目标地形区域对应的地形进行压平的方 法仅为一种优选的实施方式,针对用于对第二目标地形区域进行模糊平滑处理,以及对处 理后的第二目标地形区域对应的地形进行压平的方法,此处不做具体限定。 [0112] 下面结合优选的实施方式对本申请实施例的技术方案进行进一步地举例介绍。 [0113] 目前,在SLG游戏中的某些位置想要生成城池或者建筑物的时候,需要压平一小块 平整的地面。在一种可能的实现方式中,通常会选择直接压平一块规则的平面,例如,直接 按照矩形的形状压平。但是,如果不想要完全规则的压平地面,而是想要压平的形状是随原 始地形影响变化,例如,城池是可以沿着河边或者山边等难以改造的地形的形状的,则需要 有一个模拟算法去生成该区域。 [0114] 在另一种可能的实现方式中,主要通过人工使用玛雅(Autodesk Maya,简称为 Maya)或者三维视觉技术(Autodesk  3ds Max,简称为3DS MAX)等软件进行多边形建模完 成。但是,由于每个地形都是独特的模型,每次制作无法通用,因此通过手动建模或者手动 绘制得到一片不规则的区域范围,需要不断的重复劳动,工作量较大,从而导致地形模型的 区域生成效率低的技术问题。 [0115] 然而,在申请实施例中,提供了一种SLG游戏的城池生成中自动寻找主城宜居位置 和范围的方法,该方法可以将地形数据的高度转化为影响因素,比如,山是5,河是99999,平 地是0等,然后设计一套类似传播的算法,从最初始的地方向外扩散,优先向阻力小的地方 去扩散,然后在传播完成的时候得到一块用来居住的区域,并且在传播过程中的阻力大小 15 15 CN 116956552 A 说明书 12/24页 和城池面积都是可控的,从而解决了地形模型的区域生成效率低的技术问题,实现了提高 地形模型的区域生成效率的技术效果。 [0116] 下面对本申请实施例中的上述SLG游戏的城池生成中自动寻找主城宜居位置和范 围的方法进行介绍,该方法可以包括以下内容: [0117] 第一步,先准备好一张地形地图。 [0118] 图3是根据本申请实施例的一种地形地图的示意图,如图3所示,301区域即为随意 挑选或者绘制出来想要生成居住区域的范围。 [0119] 第二步,使用复制图层工具(Height field_copylayer),将上述301区域命名为 Area。并调用模糊函数(Heightfield_blur)节点对该区域进行模糊平滑。 [0120] 图4是根据本申请实施例的一种对地形区域进行模糊平滑处理的示意图,如图4所 示,301区域即为调用Heightfield_blur节点进行模糊平滑后的区域。 [0121] 第三步,通过转换高度场(Convert height field)将地形场高度数据转换为多边 形后,通过@area0.1提取原来的红色部分为多边形,其中,area表示上述第二步模糊平滑 后的区域,可以用红色进行标识,也即,颜色越红数值越接近1,没有颜色则对应的数值为 0,@area0.1表示将area中数值小于0.1的多边形删除掉,就剩下红色区域了,也即,将除了 模糊平滑后的区域之外的区域进行删除。 [0122] 图5是根据本申请实施例的一种将地形场高度数据转换为多边形的示意图,如图5 所示,501区域即为将地形场高度数据转换为多边形的地形区域。 [0123] 第四步,使用分组函数(Group)提取非共享边(Unshared Edges),将把模型边缘打 组放入1组(Group1)。 [0124] 图6是根据本申请实施例的一种地形区域的非共享边的示意图,如图6所示,黑色 粗线条即为地形区域的非共享边,组成非共享边的多个点即为Group1中的点。 [0125] 第五步,使用距离几何节点(Distancefromgeometry),将地形区域上所有点和上 述Group1中的点的距离存入一个叫属性(Dist)中,也即,地形区域上的点越靠近边缘,则得 到的距离值越小,然后可视化(Color)这个属性。 [0126] 图7是根据本申请实施例的一种对地形区域中的点与地形区域边缘的点之间的距 离属性进行可视化的示意图,如图7所示,701区域的点与边缘的点之间的距离小于702区域 的点与边缘的点之间的距离,可以按照距离数值进行可视化,例如,距离值越小,颜色越深, 距离值越大,颜色越浅。 [0127] 第六步,使用基本局部比对搜索工具节点(Blast),通过设置@Cd1,将颜色数组中 小于1的点删除,以达到使搭建建筑模型的区域的平均距离远离地形区域的边缘的目的,例 如,让主城位置选在尽量平均距离远离城墙的位置。 [0128] 图8是根据本申请实施例的一种从地形区域中截取搭建建筑物模型的区域的示意 图,如图8所示,801区域即为将上述图7中的701区域中颜色数组中小于1的点删除后所得到 的区域,也即,801区域是从701区域中所截取的部分区域。 [0129] 第七步,通过设置f@rest=v@P.y,将上述图8中的801区域中的点上的Y轴位置坐 标信息写进属性(Rest)上。使用属性推广函数(Attribpromote)获得这一组数组里面的最 大值,并存为“Maxy”。 [0130] 表1是一种Rest的数据表格,如表1所示,Rest中包括的Y轴位置坐标信息可以为: 16 16 CN 116956552 A 说明书 13/24页 144.134、143.826、143.514、145.856、141.84、146.295,则这一组数组里面的最大值Maxy为 146.295。 [0131] 表1一种Rest的数据表格 [0132] [0133] 第八步,通过Blast函数对除Maxy组以外的所有点进行删除,剩下的唯一的点即为 搭建建筑物的区域的中心点,例如,游戏里面用来搭建主城位置的点。 [0134] 图9是根据本申请实施例的一种地形区域中搭建建筑物模型的中心点的示意图, 如图9所示,点901即地形区域中搭建建筑物的中心点。 [0135] 第九步,从外部引入一个建筑物模型,例如,游戏中的城主府模型,使用 Copytopint复制到上述图9中的点901上。 [0136] 图10是根据本申请实施例的一种将建筑物模型复制至中心点的示意图,如图10所 示,可以将城主府模型复制到上述图9中的点901上。 [0137] 第十步,在上述该建筑物模型下链接一个包围盒(Box),Box可以自动匹配该模型 大小,并通过split_prim_by_normal提取法线是根据本申请实施例的一种为建筑物模型链接包围盒的示意图,如图11所 示,可以根据城主府模型的大小,自动链接一个包围盒,并提取包围盒中法线] 第十一步,Thicken上述提取包围盒中法线,将其成为一个很 厚的模型,其中,模型的厚度为能罩住Area的地形的自定义数值,例如,无限厚度9999。 [0140] 图12是根据本申请实施例的一种对包围盒中法线向上的模型部分进行拉伸的示 意图,如图12所示,可以Thicken包围盒中法线向上的模型部分,得到拉伸后的模型。 [0141] 第十二步,将Group节点左边输入上述第五步的结果“距离属性Dist的可视化结 果”,右边输入上述第十一步的结果“对包围盒中法线向上的模型部分进行拉伸的结果”,通 过边界类型对象(Boundtype object),使被罩住的点打组成为一个新的组“Group3”。 [0142] 图13是根据本申请实施例的一种将距离属性的可视化结果与对包围盒中法线向 上的模型部分进行拉伸的结果进行合并的示意图,如图13所示,1301为上述第五步的结果 “距离属性Dist的可视化结果”,1302为上述第十一步的结果“对包围盒中法线向上的模型 部分进行拉伸的结果”。 17 17 CN 116956552 A 说明书 14/24页 [0143] 第十三步,将地形模型上属于上述Group3中的点的颜色通道的红通道设置为1,属 于上述Group3中的点的颜色设置为0,也即,地形模型上Group3区域为红色,区域为黑 色半岛体育官网。 [0144] 图14是根据本申请实施例的一种将地形区域中的属于Group3的区域的示意图,如 图14所示,1401区域为地形区域中的属于Group3的区域,1402区域为地形区域中不属于 Group3的区域。 [0145] 第十四步,添加Pointwrangle节点,设置f@step=2.5和f@sub=1‑@N.y,其中, Step是赋予Group3中的每一个点初始有2.5的数值,@N是模型的法线,N.y是这个法线‑@N.y是指越倾斜的地方数值越接近0,越平坦的地方数值越接近1。 [0146] 第十五步,加入求解器(Solver)节点,Solver是每一帧都会在上一帧的结果下进 行演算。 [0147] 图15是根据本申请实施例的一种Solver节点内的演算的示意图,如图15所示, Solver节点内的演算步骤可以包括:新建Pointwrangle节点,设置f@step=@step‑@sub*2, 也即,每帧Step都会减去2乘以sub数值;再新建Blast4,设置限制条件:@Cd.x0.9和@area 23000,其中,@Cd.x0.9,是指剔除红色通道小于0.9的点,也即,减去黑色部分;@area 23000是面积(Area)大于23000时整个抹除,也即,停止演算,红色模型被删之后,原模型也 找不到可以查找的点了,从而停止扩散。 [0148] 图16(a)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 扩散的示意图,如图16(a)所示,在该实施例中,还可以通过向量操作节点(Vector  Operations,简称为VOP),先获取模型,然后获取过滤点云,并读取上一帧的结果在当前帧 向周围模糊(扩散)后,然后数值叠加到自己本身的红色上,最后通过上述限制条件减小限 制,输出最终的模型结果。 [0149] 图16(b)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 扩散的原因的示意图,如图16(b)所示,1601为上一帧的结果,1602为上一帧的结果随着时 间在当前帧1603中进行扩散的结果,在去除限制条件的情况下,只是将上一帧的结果传递 进VOP,而并未与当前帧进行叠加,也即,图16(b)中的上一帧的结果随着时间不断在当前帧 进行扩散。 [0150] 图16(c)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 扩散的过程的示意图,如图16(c)所示,1604可以为当前帧的模型,1605可以为上一帧的模 型,可以通过@Cd.x0.9删除1604,只留下待扩散的1605,并将其一起放进VOP,进行调用叠 加,以实现将上一帧的结果在当前帧进行扩散的效果。 [0151] 图16(d)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 叠加的示意图,如图16(d)所示,1604可以为当前帧的模型,1605可以为上一帧的模型,1604 中的点16041可以会去寻找1605上离自己最近的点16051,然后把该点的颜色信息记录下 来,并将自身的颜色变为点16051的颜色,例如,点16041原本是黑色,点16051是红色,点 16041可以将自身的颜色变为红色。 [0152] 图16(e)是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行 叠加的结果的示意图,如图16(e)所示,1604可以为当前帧的模型,1605可以为上一帧的模 型,1604中的点找到1605上离自己最近的点,然后将自身的颜色变为点16051的颜色之后, 18 18 CN 116956552 A 说明书 15/24页 到下一帧自己附近的点又重复进行该过程,于是随着时间推移,1604中的点就不断寻找下 去,从而将自身的部分区域16042变为与1605通用的颜色,也即,16042即为1605在1604上进 行扩散的区域。 [0153] 需要说明的是,如果将上述上一帧的模型1605进行删除,则当前帧的模型1604就 找不到可以查找的点了,从而无法进行扩散。图16(f)是根据本申请实施例的一种停止扩散 的示意图,如图16(f)所示,可以引入限制条件,来限制扩散的停止和禁止被传播的点,例 如,先引入限制面积,写@area23000,当模型的面积大于23000的时候,就删除该模型,从而 停止扩散。 [0154] 图17是根据本申请实施例的一种采用VOP节点将上一帧的结果在当前帧进行扩散 的可视化结果示意图,如图17所示,整个动态的过程会是每一帧都在进行模糊扩散并且每 一帧的Step数值都在减小,减小的幅度跟sub数值相关联,因此,如果有河流高山等不可跨 越的地形,则可以设置sub数值为99999,那么就会一进演算该区域就会因为Step被消耗完 演算就会停止。 [0155] 第十六步,使用Attribblur将上述红色区域进行模糊平滑,并用Heightfield_ maskbyobject将其投射在地形上,用来压平初始的地形。 [0156] 图18是根据本申请实施例的一种将扩散后的结果投射到地形上的示意图,如图18 所示,1801区域即为将扩散后的结果投射到地形上的区域。 [0157] 图19根据本申请实施例的一种根据扩散后的结果压平初始的地形后所得到的最 终效果的示意图,如图19所示,1901区域即为将扩散后的结果投射到地形上,并根据扩散后 的结果压平初始的地形后所得到的最终区域,例如,游戏场景中事宜居住的区域。 [0158] 在本申请实施例中,通过上述第一步至第十六步,将地形数据的高度转化为影响 因素,通过传播算法从最初始的地方,优先向阻力小的地方向外扩散,并且扩散过程中的阻 力大小和城池面积都是可控的,在扩散完成之后即可得到一块随原始地形影响变化的城池 模型,从而解决了地形模型的区域生成效率低的技术问题,实现了提高地形模型的区域生 成效率的技术效果。 [0159] 需要说明的是,上述第一步至第十六步的整体实现结果,可以在任何图形接口平 台和主流引擎中使用,没有平台限制,从而达到了减少开发过程中的适配问题的技术效果。 [0160] 进一步需要说明的是,上述第一步至第十六步的执行过程可以利用程序实现自动 化,可以进行随时迭代,以达到节省人力和时间的技术效果。 [0161] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施 例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多 情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关 技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算 机,服务器,或者网络设备等)执行本申请各个实施例的方法。 [0162] 在本实施例中还提供了一种地形模型的区域生成装置,该装置用于实现上述实施 例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”、“模块”可 以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来 实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。 19 19 CN 116956552 A 说明书 16/24页 [0163] 图20是根据本申请实施例的一种地形模型的区域生成装置的示意图,如图20所 示,该地形模型的区域生成装置2000包括:第一确定单元2001、第二确定单元2002、调整单 元2003和压平单元2004。 [0164] 第一确定单元2001,用于在虚拟场景中的地形模型上,确定原始地形区域,其中, 原始地形区域用于表示地形模型上允许创建虚拟模型的范围。 [0165] 第二确定单元2002,用于在原始地形区域中,基于虚拟模型的尺寸数据确定第一 目标地形区域。 [0166] 调整单元2003,用于基于第一目标地形区域关联的地形数据,将第一目标地形区 域调整为原始地形区域中的第二目标地形区域,其中,地形数据用于表征将第一目标地形 区域调整至地形数据对应的地形对象上的难易程度,第二目标地形区域大于第一目标地形 区域。 [0167] 压平单元2004,用于在地形模型上压平第二目标地形区域对应的地形,得到第三 目标地形区域,其中,第三目标地形区域用于创建虚拟模型。 [0168] 可选地,调整单元2003包括:第一确定模块,用于在第一目标地形区域关联的不同 地形数据中,确定目标地形数据,其中,目标地形数据为不同地形数据对应的不同难易程度 中最易程度对应的地形数据;第一调整模块,用于在原始地形区域中,基于目标地形数据将 第一目标地形区域调整为第二目标地形区域。 [0169] 可选地,该装置还可以包括:第三确定单元,用于将第二目标地形区域确定为第一 目标地形区域,返回执行在第一目标地形区域关联的不同地形数据中,确定目标地形数据 的步骤,直至第二目标地形区域的面积大于面积阈值,和/或,第二目标地形区域中的点对 应的目标值满足目标阈值,其中,目标值用于表征是否允许继续调整第二目标地形区域中 的点。 [0170] 可选地,该装置还可以包括:更新单元,用于在返回执行在第一目标地形区域关联 的不同地形数据中确定目标地形数据的步骤之后,基于地形模型在点对应的法线更新目标 值,其中,更新后的目标值小于更新前的目标值。 [0171] 可选地,第一调整模块包括:扩散子模块,用于在原始地形区域中,基于目标地形 数据对第一目标地形区域中的第一点集进行扩散,得到第二目标地形区域。 [0172] 可选地,扩散子模块还可以用于通过如下步骤在原始地形区域中,基于目标地形 数据对第一目标地形区域中的第一点集进行扩散,得到第二目标地形区域:在原始地形区 域中,基于目标地形数据确定与第一点集中点之间的距离在第一距离阈值范围内的第二点 集;基于第二点集生成第二目标地形区域。 [0173] 可选地,扩散子模块还可以用于通过如下步骤基于第二点集生成第二目标地形区 域:将第二点集的颜色信息调整为与第一点集的颜色信息相同的颜色信息,得到第二目标 地形区域。 [0174] 可选地,扩散子模块还可以用于通过如下步骤基于目标地形数据确定与第一点集 中点之间的距离在第一距离阈值范围内的第二点集:将第一目标地形区域从原始地形区域 中提取出;在原始地形区域中,基于目标地形数据确定与提取出的第一目标地形区域中的 第一点集中点之间的距离在第一距离阈值范围内的第二点集。 [0175] 可选地,扩散子模块还可以用于通过如下步骤在原始地形区域中,基于目标地形 20 20 CN 116956552 A 说明书 17/24页 数据对第一目标地形区域中的第一点集进行扩散,得到第二目标地形区域:在原始地形区 域中,基于第一点集中点对应的法线,确定对应的地形对象阻碍第一目标地形区域调整的 程度,以对第一点集进行扩散,得到第二目标地形区域,其中,目标地形数据包括第一点集 中点对应的法线] 可选地,第二确定单元2002包括:第二确定模块,用于在原始地形区域中确定目标 点,其中,目标点在虚拟场景中的高度高于高度阈值;第三确定模块,用于在原始地形区域 中,基于目标点和虚拟模型的尺寸数据,确定第一目标地形区域。 [0177] 可选地,第三确定模块包括:第一确定子模块,用于确定与目标点重合,且与虚拟 模型的尺寸数据相匹配的包围框,其中,虚拟模型的中心点位于目标点上;第二确定子模 块,用于在包围框上确定目标面片,其中,目标面片对应的法线方向为虚拟场景中的竖向方 向;第三确定子模块,用于在原始地形区域中,确定由目标面片映射到的第一目标地形区 域。 [0178] 可选地,第二确定模块包括:第四确定子模块,用于在原始地形区域中确定子原始 地形区域,其中,子原始地形区域中的点与原始地形区域的边缘上的点之间的距离大于第 二距离阈值;第五确定子模块,用于在子原始地形区域中确定高度最高的目标点。 [0179] 可选地,第一确定单元2001包括:选取模块,用于在地形模型上随机选取或绘制出 原始地形区域。 [0180] 可选地,第二确定单元2002包括:第二调整模块,用于对虚拟模型进行调整;第六 确定子模块,用于在原始地形区域中,基于调整后的虚拟模型的尺寸数据确定第一目标地 形区域。 [0181] 可选地,调整单元2003包括:第三调整模块,用于对地形数据进行调整;第四调整 模块,用于基于调整后的地形数据,将第一目标地形区域调整为第二目标地形区域。 [0182] 可选地,压平单元2004包括:处理模块,用于对第二目标地形区域进行模糊平滑处 理;压平模块,用于在地形模型上,对处理后的第二目标地形区域对应的地形进行压平,得 到第三目标地形区域。 [0183] 在该实施例的地形模型的区域生成装置中,第一确定单元在虚拟场景中的地形模 型上,确定原始地形区域,其中,原始地形区域用于表示地形模型上允许创建虚拟模型的范 围;第二确定单元在原始地形区域中,基于虚拟模型的尺寸数据确定第一目标地形区域;调 整单元基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为原始地形区域 中的第二目标地形区域,其中,地形数据用于表征将第一目标地形区域调整至地形数据对 应的地形对象上的难易程度,第二目标地形区域大于第一目标地形区域;压平单元在地形 模型上压平第二目标地形区域对应的地形,得到第三目标地形区域,其中,第三目标地形区 域用于创建虚拟模型,从而实现了提高地形模型的区域生成效率的技术效果,进而解决了 地形模型的区域生成效率低的技术问题。 [0184] 需要说明的是,上述各个单元、模块是可以通过软件或硬件来实现的,对于后者, 可以通过以下方式实现,但不限于此:上述单元、模块均位于同一处理器中;或者,上述各个 单元、模块以任意组合的形式分别位于不同的处理器中。 [0185] 本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存 储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步 21 21 CN 116956552 A 说明书 18/24页 骤。 [0186] 可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存 储器(Read‑OnlyMemory,简称为ROM)、随机存取存储器(RandomAccessMemory,简称为RAM)、 移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。 [0187] 可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机 终端群中的任意一个计算机终端中,或者位于终端设备群中的任意一个终端设备中。 [0188] 可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以 下步骤的计算机程序: [0189] S1,在虚拟场景中的地形模型上,确定原始地形区域,其中,原始地形区域用于表 示地形模型上允许创建虚拟模型的范围; [0190] S2,在原始地形区域中,基于虚拟模型的尺寸数据确定第一目标地形区域; [0191] S3,基于第一目标地形区域关联的地形数据,将第一目标地形区域调整为原始地 形区域中的第二目标地形区域,其中,地形数据用于表征将第一目标地形区域调整至地形 数据对应的地形对象上的难易程度,第二目标地形区域大于第一目标地形区域; [0192] S4,在地形模型上,对第二目标地形区域对应的地形进行压平,得到第三目标地形 区域,其中,第三目标地形区域用于创建虚拟模型。 [0193] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:在第一目标地形区域关联的不同地形数据中,确定目标地形数据,其中,目标地形数据 为不同地形数据中对应的地形对象阻碍第一目标地形区域调整的程度最小的地形数据;在 原始地形区域中,基于目标地形数据将第一目标地形区域调整为第二目标地形区域。 [0194] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:将第二目标地形区域确定为第一目标地形区域,返回执行在第一目标地形区域关联的 不同地形数据中,确定目标地形数据的步骤,直至第二目标地形区域的面积大于面积阈值, 和/或,第二目标地形区域中的点对应的目标值满足目标阈值,其中,目标值用于表征是否 允许继续调整第二目标地形区域中的点。 [0195] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:基于地形模型在点上的法线更新目标值,其中,更新后的目标值小于更新前的目标值。 [0196] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:在原始地形区域中,基于目标地形数据对第一目标地形区域中的第一点集进行扩散,得 到第二目标地形区域。 [0197] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:在原始地形区域中,基于目标地形数据确定与第一点集中点之间的距离在第一距离阈 值范围内的第二点集;基于第二点集生成第二目标地形区域。 [0198] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:将第二点集的颜色信息调整为与第一点集的颜色信息相同的颜色信息,得到第二目标 地形区域。 [0199] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:将第一目标地形区域从原始地形区域中提取出;在原始地形区域中,基于目标地形数据 确定与提取出的第一目标地形区域中的第一点集中点之间的距离在第一距离阈值范围内 22 22 CN 116956552 A 说明书 19/24页 的第二点集。 [0200] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:在原始地形区域中,基于第一点集中点对应的法线,确定对应的地形对象阻碍第一目标 地形区域调整的程度,以对第一点集进行扩散,得到第二目标地形区域,其中,目标地形数 据包括第一点集中点对应的法线] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:在原始地形区域中确定目标点,其中,目标点在虚拟场景中的高度高于高度阈值;在原 始地形区域中,基于目标点和虚拟模型的尺寸数据,确定第一目标地形区域。 [0202] 可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代 码:确定与目标点重合,且与虚拟模型的尺寸数据相匹配的包围框,其中,虚拟模型的中心 点位于目标点上;在包围框上确定目标面片,其。


040-88888888