一种大地图烘焙切割方法及恢复方法技术

技术编号:25818810 阅读:18 留言:0更新日期:2020-10-02 14:05
本发明专利技术公开了一种大地图烘焙切割方法及恢复方法,其中切割方法包括以下步骤:S1.获取源地表,确定切割参数;S2.将源地表切割为若干个碎片地块的网格并保存为碎片地块文件;S3.对于每个所述碎片地块,将碎片地块的颜色经烘焙后到贴图上,将贴图保存为贴图文件,创建对应所述贴图的材质,根据所述步骤S1的切割参数分配着色器文件;S4.输出包括所有碎片地块的参数、碎片地块文件和贴图文件的路径、材质和着色器文件的路径的切割参数文件。本发明专利技术的优点在于,具体切割源地表的操作将在事先确定的切割参数的基础上自动执行,而且切割后的碎片地块的相关文件在使用时可以按需加载,达到优化性能的目的。

【技术实现步骤摘要】
一种大地图烘焙切割方法及恢复方法
本专利技术涉及信息
,更具体地,涉及一种大地图烘焙切割方法及恢复方法。
技术介绍
在现有的游戏以及一些例如建筑建模等特殊领域中,需要使用到非常庞大的世界地图场景,以模拟所要展示的现实或虚拟的场景。世界地图场景一般会有如下特性:地表面积广大,具有各式各样的资源,例如河流、树木、悬崖、建筑、交通工具等等。在现有技术中,最基本的方案是利用游戏所用引擎提供的地形编辑器制作完整地表,在进行游戏时,加载完整地型。对实时性能要求高的设备、尤其是移动终端的游戏来说,一次完全加载的耗时较长,地表贴图内存占用大,非常容易导致内存过大而崩溃。为了解决上述技术性能问题,一般现有技术采用了以下的方案:1.美术人员使用游戏所用引擎提供的地形编辑器主动碎片化制作完整地表,然后利用碎片化加载技术按需加载地表碎片进入游戏。主动碎片化的缺点是美术制作难度较大且不容易把控碎片化制作,例如边缘地形不好控制、灯光烘焙不好把控等。而且,还存在需要程序另外配合开发记录碎片化后的地图数据和运行时的加载逻辑的问题。2.美术人员在外部3D软件制作完整地表,然后主动制作切割碎片化地表,同样存在与以上方案类似的问题,而且可能需要手动导入和管理碎片化后的地图资源进入游戏引擎。在最近的专利申请(申请号:201910308355.X,专利技术名称:一种地图绘制方法、装置、计算设备及存储介质)中,按照地图与虚拟相机间的距离将地图分为多个细节层次,按照细节层次进行分块烘焙渲染,将各细节层次对应的烘焙信息按照指定精度进行保存。这种方式导出不同的烘焙信息文件,以便于在相机进行远近变换时提高渲染性能,但是仍然采用相同尺寸的地图,只是利用不同的烘焙信息进行渲染,没有解决内存占用大的问题。在另一最近的专利申请(申请号:201911145869.4,专利技术名称:一种实现游戏地图无缝加载的方法及系统)中,其通过拆分光照图,将地形光照图按照层次细节规则进行动态加载,从而降低内存开销。在其切割光照图的过程中,是按照固定尺寸切割,即根据光照图的效果,操作人员主动判断切割后的碎片行列数,仍然存在难以控制边缘地形效果的问题。
技术实现思路
本专利技术为克服上述现有技术所述的缺陷,降低制作碎片化地表的难度和出错率,以及解决实时加载和卸载碎片化地图的性能问题,提供一种大地图烘焙切割方法及恢复方法。为解决上述技术问题,本专利技术的技术方案如下:一种大地图烘焙切割方法,包括以下步骤:S1.获取源地表,确定切割参数;S2.根据所述切割参数,将源地表切割为若干个碎片地块的网格并保存为碎片地块文件;S3.对于每个所述碎片地块,将碎片地块的颜色烘焙到贴图上,将贴图保存为贴图文件,创建对应所述贴图的材质,根据所述步骤S1的切割参数分配着色器文件;S4.输出包括所有碎片地块的参数、碎片地块文件和贴图文件的路径、材质和着色器文件的路径的切割参数文件。上述方法的原理为:确定并根据切割参数对源地表进行切割出碎片地块,然后转换为网格保存为地块文件;然后将碎片地块的颜色添加到二维的贴图上,保存贴图文件,然后将碎片地块的材质以对应贴图的形式创建,根据切割参数人为或自动地分配合适的着色器文件;最后,将碎片地块的相应参数、各文件的路径、导出的材质输出到最终的切割参数文件中,切割参数文件用于在恢复时使用。进一步地,步骤S4完成后还包括以下步骤:S5.重新导入所述贴图文件和切割参数文件,将贴图依序分配给贴图对应的材质,读取所述步骤S2的碎片地块文件后加载碎片地块的网格,通过材质和碎片地块组建出碎片地块的预制体。进一步地,所述步骤S1的过程具体如下:获取源地表导入地形编辑器,设定包括烘焙原点、碎片地块数量和碎片地块尺寸的切割参数,地形编辑器根据碎片地块数量和碎片地块尺寸切割若干个碎片地块,输出以烘焙原点为基础而对碎片地块分别进行光照烘焙的碎片地块总体预览,如果操作人员判断碎片地块总体预览显示相连的碎片地块与源地表不符合,则返回设定碎片地块数量和碎片地块尺寸并输出碎片地块总体预览,否则进入步骤S2。进一步地,源地表包括固定物件,在所述步骤S1中地形编辑器根据碎片地块数量和碎片地块尺寸切割若干个碎片地块时,首先根据切割参数判定将要切割的碎片地块,然后根据固定物件的位置,判断固定物件是否将要被切割在超过一个的多个碎片地块上,如果是,则计算所述多个碎片地块中占有固定物件面积最多的第一碎片地块,将固定物件纳入第一碎片地块并将固定物件从其他碎片地块上去除;重复上述判断固定物件的操作,直到所有固定物件各自仅被包括在单个碎片地块时,输出碎片地块。进一步地,所述贴图为尺寸可自定义设定的RGB贴图。进一步地,在所述步骤S4中,碎片地块的参数包括碎片地块的顶点坐标、尺寸和在所处地图上的位置坐标。进一步地,所述步骤S2的碎片地块文件和所述步骤S3中的贴图文件均依序进行命名和排列。进一步地,所述步骤S3的碎片地块的颜色为原始颜色和经过灯光烘焙的颜色组合而成的实体颜色。一种基于大地图烘焙切割方法的恢复方法,首先初始化所述步骤S4得到的切割参数文件,加载碎片地块的位置坐标,缓存碎片地块文件和贴图文件的路径;实时对碎片地块的位置坐标进行计算,判断碎片地块是否落入需要显示的范围中;如果碎片地块落入需要显示的范围且还未加载,则根据缓存的碎片地块文件和贴图文件组建并显示碎片地块的预制体;如果碎片地块不落入需要显示的范围并且已加载超过一段预设的时间,则卸载碎片地块。进一步地,判断碎片地块是否落入需要显示的范围的具体过程是,在每一帧渲染前,对所有碎片地块进行计算并判断碎片地块是否有任一顶点将在下一帧落入屏幕的范围内。可选地,判断碎片地块是否落入需要显示的范围的具体过程是,在每一帧渲染前,确定屏幕在下一帧时的中心点在所处地图上的坐标,如果碎片地块有任一顶点在下一帧位于中心点的预设半径范围内,则碎片地块落入需要显示的范围。与现有技术相比,本专利技术技术方案的有益效果是:本专利技术首先确定切割参数,确保切割后的碎片地块在经过独立的光照烘焙后,仍然达到与源地表相同的烘焙效果,然后将源地表切割为碎片地块的网格,然后根据碎片地块在源地表对应的实体颜色烘焙到贴图上,保存碎片地块的网格和贴图文件,另外还根据预设的切割参数和贴图的材质输出切割参数文件。在使用时,首先加载切割参数文件,再根据屏幕在碎片地块文件和贴图文件加载处于屏幕范围内的碎片地块的资源。由此,操作人员只需事先调整并确保碎片地块重新组合能够达到与源地表一致的效果,而具体切割源地表的操作将在切割参数的基础上自动执行,而且切割后的碎片地块的相关文件在使用时可以按需加载且无需再次进行光照烘焙,达到优化性能的目的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出本文档来自技高网
...

【技术保护点】
1.一种大地图烘焙切割方法,其特征在于,包括以下步骤:/nS1.获取源地表,确定切割参数;/nS2.根据所述切割参数,将源地表切割为若干个碎片地块的网格并保存为碎片地块文件;/nS3.对于每个所述碎片地块,将碎片地块的颜色经烘焙后到贴图上,将贴图保存为贴图文件,创建对应所述贴图的材质,根据所述步骤S1的切割参数分配着色器文件;/nS4.输出包括所有碎片地块的参数、碎片地块文件和贴图文件的路径、材质和着色器文件的路径的切割参数文件。/n

【技术特征摘要】
1.一种大地图烘焙切割方法,其特征在于,包括以下步骤:
S1.获取源地表,确定切割参数;
S2.根据所述切割参数,将源地表切割为若干个碎片地块的网格并保存为碎片地块文件;
S3.对于每个所述碎片地块,将碎片地块的颜色经烘焙后到贴图上,将贴图保存为贴图文件,创建对应所述贴图的材质,根据所述步骤S1的切割参数分配着色器文件;
S4.输出包括所有碎片地块的参数、碎片地块文件和贴图文件的路径、材质和着色器文件的路径的切割参数文件。


2.根据权利要求1所述的大地图烘焙切割方法,其特征在于,步骤S4完成后还包括以下步骤:
S5.重新导入所述贴图文件和切割参数文件,将贴图依序分配给贴图对应的材质,读取所述步骤S2的碎片地块文件后加载碎片地块的网格,通过材质和碎片地块组建出碎片地块的预制体。


3.根据权利要求1所述的大地图烘焙切割方法,其特征在于,所述步骤S1中的过程具体如下:
获取源地表导入地形编辑器,设定包括烘焙原点、碎片地块数量和碎片地块尺寸的切割参数,地形编辑器根据碎片地块数量和碎片地块尺寸切割若干个碎片地块,输出以烘焙原点为基础而对每个碎片地块分别进行光照烘焙的碎片地块总体预览,如果操作人员判断碎片地块总体预览显示相连的碎片地块与源地表不符合,则返回设定碎片地块数量和碎片地块尺寸并输出碎片地块总体预览,否则进入步骤S2。


4.根据权利要求3所述的大地图烘焙切割方法,其特征在于,所述源地表包括固定物件,在切割若干个碎片地块时,首先根据切割参数判定将要切割的碎片地块,然后根据固定物件的位置,判断固定物件是否将要被切割在超过一个的多个碎片地块上,如果是,...

【专利技术属性】
技术研发人员:郭耀琦
申请(专利权)人:广州尊游软件科技有限公司
类型:发明
国别省市:广东;44

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

1