首页> 中国专利> 移动游戏的实时光照模拟方法、装置、设备及存储介质

移动游戏的实时光照模拟方法、装置、设备及存储介质

摘要

本申请公开了一种移动游戏的实时光照模拟方法、装置、设备及存储介质,涉及游戏设计技术领域,生成光源模拟数据,按照移动端在目标场景中的位置属性,选取光源模拟数据中相应的参数对移动端模拟光照,无需绘制大量贴图,保证了真实感。所述方法包括:确定移动端,加载移动端所处目标场景的场景贴图;根据当前时间下目标场景的场景光源、多个实体模型的模型属性以及预设处理参数,生成光源模拟数据;基于场景光源的直接光数据以及间接光数据,为移动端绘制模型阴影;按照移动端在场景贴图中对应的位置属性,采用直接光数据、模型阴影以及间接光数据对场景贴图中的移动端进行光照处理。

著录项

  • 公开/公告号CN112473135A

    专利类型发明专利

  • 公开/公告日2021-03-12

    原文格式PDF

  • 申请/专利号CN202011227001.1

  • 发明设计人 李进;柴毅哲;代天麒;彭通;

    申请日2020-11-06

  • 分类号A63F13/52(20140101);A63F13/60(20140101);G06T15/50(20110101);

  • 代理机构11448 北京中强智尚知识产权代理有限公司;

  • 代理人黄耀威

  • 地址 100085 北京市海淀区上地东路1号院5号楼7层701-14

  • 入库时间 2023-06-19 10:14:56

说明书

技术领域

本申请涉及游戏设计技术领域,特别是涉及一种移动游戏的实时光照模拟方法、装置、设备及存储介质。

背景技术

近年来,游戏设计技术飞速发展,游戏玩家对于游戏画面的要求与日俱增,因此,为了提升游戏画面品质、增强游戏的代入感,在游戏场景中模拟不同的光照效果已经成为游戏设计中的关键点。

相关技术中,游戏场景在中进行光照模拟时,通常确定场景中设置的光源的位置、方向、颜色等光源信息,根据光源信息烘焙场景的光照图、阴影图,进而对光照图和阴影图进行处理,实现场景全局的光照模拟。

在实现本申请的过程中,申请人发现相关技术至少存在以下问题:

游戏中有些场景是户外场景,户外场景中的光源属于实时光源,光源需要随着时间的变化而变化,且对于一些移动游戏,游戏场景中的模型是可以移动的,采用上述方式对场景进行光照模拟会生成大量的光照图、阴影图,但是游戏的运行内存都是有限的,无法承载大量的贴图,场景中阴影的精度受到运行内存的限制,导致移动游戏中模型的阴影精度降低,场景的画质较差,难以保证对移动游戏光照模拟的真实感。

发明内容

有鉴于此,本申请提供了一种移动游戏的实时光照模拟方法、装置、设备及存储介质,主要目的在于解决目前移动游戏中模型的阴影精度降低,场景的画质较差,难以保证对移动游戏光照模拟的真实感的问题。

依据本申请第一方面,提供了一种移动游戏的实时光照模拟方法,该方法包括:

确定移动端,加载所述移动端所处目标场景的场景贴图,所述场景贴图以所述目标场景包括的多个实体模型为单位生成,所述移动端的模型属性为动态模型;

根据当前时间下所述目标场景的场景光源、所述多个实体模型的模型属性以及预设处理参数,生成光源模拟数据,所述光源模拟数据包括用于对所述多个实体模型进行光照模拟的间接光数据;

基于所述场景光源的直接光数据以及所述间接光数据,为所述移动端绘制模型阴影;

按照所述移动端在所述场景贴图中对应的位置属性,采用所述直接光数据、所述模型阴影以及所述间接光数据对所述场景贴图中的所述移动端进行光照处理,所述位置属性至少为远景属性或近景属性。

在另一个实施例中,所述确定移动端,加载所述移动端所处目标场景的场景贴图之前,所述方法还包括:

确定当前时间下的所述场景光源,为所述场景光源设置所述预设处理参数,所述场景光源包括实时光源、自然光源、点光源,所述预设处理参数指示了所述场景光源在生成所述光源模拟数据时是否移动以及是否产生阴影;

查询所述多个实体模型中每个实体模型的实体类型,在所述多个实体模型中提取所述实体类型为预设实体类型的第一实体模型,将所述第一实体模型的模型属性设置为动态模型;

统计所述多个实体模型中第二实体模型的长宽比例,基于所述长宽比例,为所述第二实体模型设置模型属性,所述第二实体模型是所述多个实体模型中除所述第一实体模型外的其他实体模型。

在另一个实施例中,所述基于所述长宽比例,为所述第二实体模型设置模型属性,包括:

获取预设模型比例,将所述长宽比例与所述预设模型比例进行比对;

当所述长宽比例大于等于所述预设模型比例时,将所述第二实体模型的模型属性设置为静态模型;

当所述长宽比例小于所述预设模型比例时,将所述第二实体模型的模型属性设置为所述动态模型。

在另一个实施例中,所述根据当前时间下所述目标场景的场景光源、所述多个实体模型的模型属性以及预设处理参数,生成光源模拟数据,包括:

基于所述预设处理参数对所述场景光源进行烘焙,得到贴图形式的第一间接光烘焙数据,所述第一间接光烘焙数据用于对所述多个实体模型中模型属性为静态模型的实体模型进行光照模拟;

采用所述预设处理参数对所述场景光源、所述第一间接光烘焙数据以及所述多个实体模型中模型属性为静态模型的实体模型进行烘焙,得到球谐数据形式的第二间接光烘焙数据,所述第二间接光烘焙数据用于对所述多个实体模型中模型属性为动态模型的实体模型进行光照模拟;

将所述第一间接光烘焙数据和所述第二间接光烘焙数据作为所述光源模拟数据。

在另一个实施例中,所述基于所述场景光源的直接光数据以及所述间接光数据,为所述移动端绘制模型阴影,包括:

在所述间接光数据中提取第二间接光烘焙数据;

采用所述直接光数据以及所述第二间接光烘焙数据对所述移动端进行光照模拟,绘制所述移动端的所述模型阴影。

在另一个实施例中,所述基于所述场景光源的直接光数据以及所述间接光数据,为所述移动端绘制模型阴影之后,所述方法还包括:

统计所述移动端在所述场景贴图中的展示占用面积,确定所述移动端在所述目标场景的实际展示区域;

当所述展示占用面积与所述实际展示区域的比值小于等于比值阈值时,将所述移动端的位置属性设置为所述远景属性;

当所述展示占用面积与所述实际展示区域的比值大于比值阈值时,将所述移动端的位置属性设置为所述近景属性。

在另一个实施例中,所述按照所述移动端在所述场景贴图中对应的位置属性,采用所述直接光数据、所述模型阴影以及所述间接光数据对所述场景贴图中的所述移动端进行光照处理,包括:

确定所述移动端的位置属性;

当所述位置属性为远景属性时,采用所述直接光数据、所述模型阴影中的第一层阴影以及所述所述间接光数据,对所述场景贴图中的所述移动端进行光照处理;

当所述位置属性为近景属性时,采用所述直接光数据以及所述模型阴影中第二层阴影以及第三层阴影,对所述场景贴图中的所述移动端进行光照处理。

依据本申请第二方面,提供了一种移动游戏的实时光照模拟装置,该装置包括:

加载模块,用于确定移动端,加载所述移动端所处目标场景的场景贴图,所述场景贴图以所述目标场景包括的多个实体模型为单位生成,所述移动端的模型属性为动态模型;

生成模块,用于根据当前时间下所述目标场景的场景光源、所述多个实体模型的模型属性以及预设处理参数,生成光源模拟数据,所述光源模拟数据包括用于对所述多个实体模型进行光照模拟的间接光数据;

绘制模块,用于基于所述场景光源的直接光数据以及所述间接光数据,为所述移动端绘制模型阴影;

处理模块,用于按照所述移动端在所述场景贴图中对应的位置属性,采用所述直接光数据、所述模型阴影以及所述间接光数据对所述场景贴图中的所述移动端进行光照处理,所述位置属性至少为远景属性或近景属性。

在另一个实施例中,所述装置还包括:

第一设置模块,用于确定当前时间下的所述场景光源,为所述场景光源设置所述预设处理参数,所述场景光源包括实时光源、自然光源、点光源,所述预设处理参数指示了所述场景光源在生成所述光源模拟数据时是否移动以及是否产生阴影;

查询模块,用于查询所述多个实体模型中每个实体模型的实体类型,在所述多个实体模型中提取所述实体类型为预设实体类型的第一实体模型,将所述第一实体模型的模型属性设置为动态模型;

统计模块,用于统计所述多个实体模型中第二实体模型的长宽比例,基于所述长宽比例,为所述第二实体模型设置模型属性,所述第二实体模型是所述多个实体模型中除所述第一实体模型外的其他实体模型。

在另一个实施例中,所述统计模块,用于获取预设模型比例,将所述长宽比例与所述预设模型比例进行比对;当所述长宽比例大于等于所述预设模型比例时,将所述第二实体模型的模型属性设置为静态模型;当所述长宽比例小于所述预设模型比例时,将所述第二实体模型的模型属性设置为所述动态模型。

在另一个实施例中,所述生成模块,用于基于所述预设处理参数对所述场景光源进行烘焙,得到贴图形式的第一间接光烘焙数据,所述第一间接光烘焙数据用于对所述多个实体模型中模型属性为静态模型的实体模型进行光照模拟;采用所述预设处理参数对所述场景光源、所述第一间接光烘焙数据以及所述多个实体模型中模型属性为静态模型的实体模型进行烘焙,得到球谐数据形式的第二间接光烘焙数据,所述第二间接光烘焙数据用于对所述多个实体模型中模型属性为动态模型的实体模型进行光照模拟;将所述第一间接光烘焙数据和所述第二间接光烘焙数据作为所述光源模拟数据。

在另一个实施例中,所述绘制模块,用于在所述间接光数据中提取第二间接光烘焙数据;采用所述直接光数据以及所述第二间接光烘焙数据对所述移动端进行光照模拟,绘制所述移动端的所述模型阴影。

在另一个实施例中,所述装置还包括:

确定模块,用于统计所述移动端在所述场景贴图中的展示占用面积,确定所述移动端在所述目标场景的实际展示区域;

第二设置模块,用于当所述展示占用面积与所述实际展示区域的比值小于等于比值阈值时,将所述移动端的位置属性设置为所述远景属性;

所述第二设置模块,还用于当所述展示占用面积与所述实际展示区域的比值大于比值阈值时,将所述移动端的位置属性设置为所述近景属性。

在另一个实施例中,所述处理模块,用于确定所述移动端的位置属性;当所述位置属性为远景属性时,采用所述直接光数据、所述模型阴影中的第一层阴影以及所述所述间接光数据,对所述场景贴图中的所述移动端进行光照处理;当所述位置属性为近景属性时,采用所述直接光数据以及所述模型阴影中第二层阴影以及第三层阴影,对所述场景贴图中的所述移动端进行光照处理。

依据本申请第三方面,提供了一种设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。

依据本申请第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。

借由上述技术方案,本申请提供的一种移动游戏的实时光照模拟方法、装置、设备及存储介质,本申请根据移动游戏的目标场景中实体模型的模型属性确定实体模型是否能够产生间接光,进而通过对场景光源的烘焙处理生成包括用于对多个实体模型进行光照模拟的间接光数据的光源模拟数据,采用光源模拟数据以及场景光源产生的直接光数据绘制目标场景中的移动端的阴影,以便按照移动端在目标场景中的位置属性,使用相应的参数对移动端进行光照模拟,无需为光照、阴影等绘制大量的贴图,直接根据移动端所处的位置挑选相应的参数进行光照模拟,使移动游戏中模型的阴影精度不会受到游戏运行内存的限制,提升了场景的画质,保证对移动游戏光照模拟的真实感。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本申请实施例提供的一种移动游戏的实时光照模拟方法流程示意图;

图2示出了本申请实施例提供的一种移动游戏的实时光照模拟方法流程示意图;

图3A示出了本申请实施例提供的一种移动游戏的实时光照模拟装置的结构示意图;

图3B示出了本申请实施例提供的一种移动游戏的实时光照模拟装置的结构示意图;

图3C示出了本申请实施例提供的一种移动游戏的实时光照模拟装置的结构示意图;

图4示出了本申请实施例提供的一种设备的装置结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

本申请实施例提供了一种移动游戏的实时光照模拟方法,如图1所示,该方法包括:

101、确定移动端,加载移动端所处目标场景的场景贴图,场景贴图以目标场景包括的多个实体模型为单位生成,移动端的模型属性为动态模型。

102、根据当前时间下目标场景的场景光源、多个实体模型的模型属性以及预设处理参数,生成光源模拟数据,光源模拟数据包括用于对多个实体模型进行光照模拟的间接光数据。

103、基于场景光源的直接光数据以及间接光数据,为移动端绘制模型阴影。

104、按照移动端在场景贴图中对应的位置属性,采用直接光数据、模型阴影以及间接光数据对场景贴图中的移动端进行光照处理,位置属性至少为远景属性或近景属性。

本申请实施例提供的方法,根据移动游戏的目标场景中实体模型的模型属性确定实体模型是否能够产生间接光,进而通过对场景光源的烘焙处理生成包括用于对多个实体模型进行光照模拟的间接光数据的光源模拟数据,采用光源模拟数据以及场景光源产生的直接光数据绘制目标场景中的移动端的阴影,以便按照移动端在目标场景中的位置属性,使用相应的参数对移动端进行光照模拟,无需为光照、阴影等绘制大量的贴图,直接根据移动端所处的位置挑选相应的参数进行光照模拟,使移动游戏中模型的阴影精度不会受到游戏运行内存的限制,提升了场景的画质,保证对移动游戏光照模拟的真实感。

本申请实施例提供了一种移动游戏的实时光照模拟方法,如图2所示,该方法包括:

201、确定移动端,加载移动端所处目标场景的场景贴图。

近年来,游戏场景设计的越来越逼真,游戏场景中无论是室外还是室内,都需要进行光照模拟,而光照模拟的效果直接影响了游戏场景的真实性。目前,在对游戏场景进行光照模拟时,通常是确定场景中设置的光源的位置、方向、颜色等光源信息,根据光源信息烘焙场景的光照图、阴影图,进而对光照图和阴影图进行处理,实现场景全局的光照模拟。但是,申请人认识到很多游戏场景中光照都是实时的,比如室外的自然光是随着时间不断变化的,且场景中的很多模型都是能够移动的,实时的光照以及模型的移动要求游戏中的光照模拟更加的精细,但是这种要求同样也要求了游戏的运行占用内存更大,很多游戏无法作为运行占用内存的加大,因此,也使得很多游戏中的场景光照模拟的效果受到内存的限制,导致场景中移动模型的阴影精度降低,场景的画质较差,难以保证对移动模型光照模拟的真实感。所以,本申请提出一种移动模型的实时光照模拟方法,根据目标场景中实体模型的模型属性确定实体模型是否能够产生间接光,进而通过对场景光源的烘焙处理生成包括用于对多个实体模型进行光照模拟的间接光数据的光源模拟数据,采用光源模拟数据以及场景光源产生的直接光数据绘制目标场景中移动端的阴影,以便按照移动端在目标场景中的位置属性,使用相应的参数对移动端进行光照模拟,无需为光照、阴影等绘制大量的贴图,直接根据移动端所处的位置挑选相应的参数进行光照模拟,使移动端的阴影精度不会受到游戏运行内存的限制,提升了场景的画质,保证对移动模型光照模拟的真实感。

而为了实现本申请中描述的技术方案,需要准备目标场景的场景贴图,这样,直接加载目标场景的场景贴图,在场景贴图的基础上进行相应的烘焙处理。其中,该场景贴图以目标场景包括的多个实体模型为单位生成,可以是离线生成的贴图,是目标场景的全场景贴图。具体地,由于当下存在一些游戏开发工具,例如UE4(Unreal Engine 4,虚幻4引擎),因此,该场景贴图可为游戏开发工具生成的LQ Lightmap(光影地图),对待处理场进行全局光照烘焙得到的,在游戏开发工具中,可以通过对全局光照进行选择,控制目标场景中的全局光照更加的精细。需要说明的是,本申请实施例中描述的技术方案实际上都可以通过在游戏开发工具中设置一系列的参数实现,在本申请中以游戏开发工具为UE4为例进行说明。另外,在本申请中以移动端为例进行说明,该移动端的模型属性为动态模型,也就是说该移动端是能够移动的,目标场景中模型属性为动态模型的全部实体模型都可以作为移动端采用本申请实施例中的方案进行光照模拟。

202、为目标场景中的场景光源设置预设处理参数以及为场景贴图中的多个实体模型设置模型属性。

在本申请实施例中,在对目标场景进行模拟光照之前,需要在游戏开发工具中进行目标场景中光源、模型等参数的设置。在为目标场景中的场景光源设置预设处理参数时,对于目标场景中的实时光源,也即游戏开发工具中的Directioal Light(定向光),需要设置为烘焙时Stationary(固定不动),运行时Movable(可移动)。游戏开发工具中还可以存在对Cascaded Shadow Maps(瀑布式阴影地图)的设置,将Cascaded Shadow Maps设置为500距离,2级阴影即可。进一步地,对于目标场景中的自然光源,也即游戏开发工具中的SkyLight(自然光),需要设置为烘培时Stationary,运行时Stationary,Sky Light会产生SkyOcclusion(环境光遮蔽),SourceType(源类型)设置为SlS Specified CubeMap(指定的立体地图),也即灯光烘焙完成后SourceType使用SceneCaptureCube(场景捕捉立方体)烘焙Cubemap。另外,该自然光源在游戏开发工具中可修改强度和颜色24小时使用。进一步地,对于目标场景中的点光源,也即游戏开发工具中的Point/Spot Light(点/聚光光源),需要设置为Movable,且Shadows off(阴影关)。另外,有些场景中会存在RectLight(可视化灯光体),在游戏开发工具中,将RectLight设置为Static(静止)即可。通过上述过程,便确定场景光源,为场景光源设置预设处理参数,场景光源包括实时光源、自然光源、点光源,该预设处理参数指示了场景光源在生成光源模拟数据时是否移动以及是否产生阴影。再有,完成了场景光源参数的设置后,可以在游戏开发工具中查看灯光的重叠程度,避免目标场景中出现过深的颜色。

随后,考虑到有些较大的实体模型在现实场景中不仅接受光源带来的光照,而且还会产生一些间接光,这些间接光会漫反射至其他的模型上,因此,需要为场景贴图中的多个实体模型设置模型属性,确定哪些实体模型会产生间接光,而哪些实体模型只接受光并不产生光,从而在后续可以有针对的对实体模型的阴影以及光照进行处理。在设置模型属性时,遵从的原则是将场景中较大的模型设置为静态模型,例如山石,建筑,地标建筑等,具体可以以人体比例为参考,将长宽都大于等于人体比例的设置为静态模型,将长宽都小于人体比例的设置为动态模型,比如草、小石头等等。但是,在上述大于等于人体比例中的实体模型中,存在树的实体模型,树的实体模型有大有小,且遮光能力远远不及一些山石、建筑等等,产生的间接光实际上是可以忽略不计的,因此,需要将树的实体模型也作为动态模型。为了将树的实体模型区别对待,事先将树设置为预设实体类型,这样,在为场景贴图中的多个实体模型设置模型属性,首先,查询多个实体模型中每个实体模型的实体类型,在多个实体模型中提取实体类型为预设实体类型的第一实体模型,也即提取实体模型为树的第一实体模型,直接将第一实体模型的模型属性设置为动态模型。之后,再统计多个实体模型中第二实体模型的长宽比例,基于长宽比例,为第二实体模型设置模型属性,该第二实体模型是多个实体模型中除第一实体模型外的其他实体模型。

在为第二实体模型设置模型属性时,首先,获取预设模型比例,该预设模型比例也即标准的人体比例,具体针对不同的场景该预设模型比例是可以随着场景的大小进行变动的。将长宽比例与预设模型比例进行比对,当长宽比例大于等于预设模型比例时,确定第二实体模型是山石、建筑之类的较大的模型,将第二实体模型的模型属性设置为静态模型。相反,当长宽比例小于预设模型比例时,确定第二实体模型是小石头、草等较小的实体模型,将第二实体模型的模型属性设置为动态模型。

需要说明的是,实际应用的过程中,还需要对目标场景中的材质进行设置,这样,开发人员按照游戏开发的要求,在游戏开发工具中设置相应的材质即可。另外,在设置材质时,需要单独对场景贴图中材质的AO(Ambient Occlusion,环境光遮蔽)进行加强,无需对目标场景的全局进行使用。

在实际应用的过程中,有些游戏开发工具可能并不支持上述多元化环境的参数设置,因此,在本申请实施例中,提供一种有关环境设置的配置文件,该配置文件通过编辑器写入到游戏开发工具中,引入到游戏开发工具的目录中,在游戏开发工具中提供额外的功能,确保在进行光照模拟时,不会生成天光的直接光,并基于该额外的功能,能够实现环境中更多参数的设置。

203、根据当前时间下目标场景的场景光源、多个实体模型的模型属性以及预设处理参数,生成光源模拟数据。

在本申请实施例中,由于目标场景中的有些实体模型会在接受到光照后对其他实体模型产生间接光照明,例如反射产生的光,这些间接光是静态光,但是仍需要通过材质来模拟实时调整间接光的颜色和亮度的,因此,根据当前时间下目标场景的场景光源、多个实体模型的模型属性以及预设处理参数,生成光源模拟数据,光源模拟数据包括用于对多个实体模型进行光照模拟的间接光数据,进而后续依赖间接光数据对目标场景中的实体模型进行光照模拟。

具体地,首先,基于预设处理参数对场景光源进行烘焙,得到贴图形式的第一间接光烘焙数据,该第一间接光烘焙数据用于对多个实体模型中模型属性为静态模型的实体模型进行光照模拟,可通过游戏开发工具对设置了预设处理参数后的场景光源进行烘焙得出。随后,采用预设处理参数对场景光源、第一间接光烘焙数据以及多个实体模型中模型属性为静态模型的实体模型进行烘焙,得到球谐数据形式的第二间接光烘焙数据,第二间接光烘焙数据用于对多个实体模型中模型属性为动态模型的实体模型进行光照模拟,同样,也可通过游戏开发工具对设置了预设处理参数后的场景光源进行烘焙得出。最后,将第一间接光烘焙数据和第二间接光烘焙数据作为光源模拟数据。

需要说明的是,游戏关卡比例与游戏开发工具的单位成正比,1单位1厘米,决定在光照计算中要详细到何种程度,较小的比例将会大大地增加构建时间。因此,对于巨型关卡,可以将游戏开发工具的单位设置为2或者4来降低构建光照的时间,数值越大,烘焙越快。另外,在进行烘焙处理时还需要设置GI(Global Illumination,全局光照)的反射次数,从场景光源开始。0仅是指直接光照,1是指第一次反射,第一次反射在计算时所用的时间最长,接下来是第2次反射,后续的反射计算并不会太占时间。再有,在游戏开发工具中设置计算Irradiance Caching(辐照幅度缓存)时对Photon(光度)进行插值的比例时,可设置在.66或.75,从而在隐藏较少噪点的同时,避免间接阴影和环境遮挡造成的细节丢失,获得平滑的间接光照效果。上述几个参数只是游戏开发工具在进行光照烘焙时参数设置的举例说明,在实际应用的过程中,游戏开发工具中还存在静态环境遮挡的启用、完全遮挡样本比例的设置、最大距离的设置等等,开发人员可以根据游戏的开发需求自行设置,本申请不再进行赘述。

204、基于场景光源的直接光数据以及间接光数据,为移动端绘制模型阴影。

在本申请实施例中,生成光源模拟数据后,基于场景光源的直接光数据以及间接光数据,为移动端绘制模型阴影。其中,由于待处理模型的模型属性为动态模型,因此,在间接光数据中提取第二间接光烘焙数据,采用直接光数据以及第二间接光烘焙数据对移动端进行光照模拟,绘制移动端的模型阴影。实际上,目标场景中模型属性为动态模型的全部实体模型都可以采用上述过程绘制模型阴影。而在目标场景中还存在模型属性为静态模型的实体模型,对于多个实体模型中模型属性为静态模型的实体模型,采用直接光数据以及间接光数据中的第一间接光烘焙数据对实体模型进行光照模拟,绘制实体模型的模型阴影即可。

实际应用的过程中,无论是动态模型还是静态模型,生成的模型阴影可为分层阴影,具体可由开发人员在游戏开发工具中设置不同层的颜色以及阴影距离生成。该模型阴影包括三层,三层阴影在后续分别用于不同位置属性的实体模型的光照模拟中。

205、确定移动端的位置属性。

在本申请实施例中,由于在场景贴图中是存在远处的实体模型和近处的实体模型的,远处以及近处实体模型在模型阴影的体现以及光照模拟的程度上都是不同的,因此,确定移动端的位置属性,在后续按照位置属性对移动端进行光照的模拟,该位置属性分为远景属性以及近景属性。

在确定位置属性时,统计移动端在场景贴图中的展示占用面积,确定移动端的在目标场景的实际展示区域。当展示占用面积与实际展示区域的比值小于等于比值阈值时,表示实际上移动端的尺寸很大,但是在场景贴图中体现时较小,可以确定该移动端处于远处,因此,将移动端的位置属性设置为远景属性。相反,当展示占用面积与实际展示区域的比值大于比值阈值时,表示移动端的实际尺寸与在场景贴图中体现的尺寸差别不大,可以确定该移动端处于近处,因此,将移动端的位置属性设置为近景属性。其中,对于目标场景中的每一个实体模型,都可以采用上述过程设置位置属性。

206、按照移动端在场景贴图中对应的位置属性,采用直接光数据、模型阴影以及间接光数据对场景贴图中的移动端进行光照处理。

在本申请实施例中,确定了移动端的位置属性后,按照移动端在场景贴图中对应的位置属性,采用直接光数据、模型阴影以及间接光数据对场景贴图中的移动端进行光照处理即可。

其中,对于不同位置属性的移动端,需要采用不同层的模型阴影进行光照的模拟,具体过程如下:确定移动端的位置属性。当位置属性为远景属性时,采用直接光数据、移动端的模型阴影中的第一层阴影以及间接光数据,对场景贴图中的移动端进行光照处理,也即将直接光数据、第一层阴影以及间接光数据结合起来对该移动端进行光照处理。而当位置属性为近景属性时,采用直接光数据以及移动端的模型阴影中第二层阴影以及第三层阴影,对场景贴图中的移动端进行光照处理,也即将直接光数据、第二层阴影以及第三层阴影结合起来对该移动端进行光照处理。

本申请实施例提供的方法,根据移动游戏的目标场景中实体模型的模型属性确定实体模型是否能够产生间接光,进而通过对场景光源的烘焙处理生成包括用于对多个实体模型进行光照模拟的间接光数据的光源模拟数据,采用光源模拟数据以及场景光源产生的直接光数据绘制目标场景中的移动端的阴影,以便按照移动端在目标场景中的位置属性,使用相应的参数对移动端进行光照模拟,无需为光照、阴影等绘制大量的贴图,直接根据移动端所处的位置挑选相应的参数进行光照模拟,使移动游戏中模型的阴影精度不会受到游戏运行内存的限制,提升了场景的画质,保证对移动游戏光照模拟的真实感。

进一步地,作为图1所述方法的具体实现,本申请实施例提供了一种移动游戏的实时光照模拟装置,如图3A所示,所述装置包括:加载模块301,生成模块302,绘制模块303和处理模块304。

该加载模块301,用于确定移动端,加载所述移动端所处目标场景的场景贴图,所述场景贴图以所述目标场景包括的多个实体模型为单位生成,所述移动端的模型属性为动态模型;

该生成模块302,用于根据当前时间下所述目标场景的场景光源、所述多个实体模型的模型属性以及预设处理参数,生成光源模拟数据,所述光源模拟数据包括用于对所述多个实体模型进行光照模拟的间接光数据;

该绘制模块303,用于基于所述场景光源的直接光数据以及所述间接光数据,为所述移动端绘制模型阴影;

该处理模块304,用于按照所述移动端在所述场景贴图中对应的位置属性,采用所述直接光数据、所述模型阴影以及所述间接光数据对所述场景贴图中的所述移动端进行光照处理,所述位置属性至少为远景属性或近景属性。

在具体的应用场景中,如图3B所示,该装置还包括:第一设置模块305,查询模块306和统计模块307。

该第一设置模块305,用于确定当前时间下的所述场景光源,为所述场景光源设置所述预设处理参数,所述场景光源包括实时光源、自然光源、点光源,所述预设处理参数指示了所述场景光源在生成所述光源模拟数据时是否移动以及是否产生阴影;

该查询模块306,用于查询所述多个实体模型中每个实体模型的实体类型,在所述多个实体模型中提取所述实体类型为预设实体类型的第一实体模型,将所述第一实体模型的模型属性设置为动态模型;

该统计模块307,用于统计所述多个实体模型中第二实体模型的长宽比例,基于所述长宽比例,为所述第二实体模型设置模型属性,所述第二实体模型是所述多个实体模型中除所述第一实体模型外的其他实体模型。

在具体的应用场景中,该统计模块307,用于获取预设模型比例,将所述长宽比例与所述预设模型比例进行比对;当所述长宽比例大于等于所述预设模型比例时,将所述第二实体模型的模型属性设置为静态模型;当所述长宽比例小于所述预设模型比例时,将所述第二实体模型的模型属性设置为所述动态模型。

在具体的应用场景中,该生成模块302,用于基于所述预设处理参数对所述场景光源进行烘焙,得到贴图形式的第一间接光烘焙数据,所述第一间接光烘焙数据用于对所述多个实体模型中模型属性为静态模型的实体模型进行光照模拟;采用所述预设处理参数对所述场景光源、所述第一间接光烘焙数据以及所述多个实体模型中模型属性为静态模型的实体模型进行烘焙,得到球谐数据形式的第二间接光烘焙数据,所述第二间接光烘焙数据用于对所述多个实体模型中模型属性为动态模型的实体模型进行光照模拟;将所述第一间接光烘焙数据和所述第二间接光烘焙数据作为所述光源模拟数据。

在具体的应用场景中,该绘制模块303,用于在所述间接光数据中提取第二间接光烘焙数据;采用所述直接光数据以及所述第二间接光烘焙数据对所述移动端进行光照模拟,绘制所述移动端的所述模型阴影。

在具体的应用场景中,如图3C所示,该装置还包括:确定模块308和第二设置模块309。

该确定模块308,用于统计所述移动端在所述场景贴图中的展示占用面积,确定所述移动端在所述目标场景的实际展示区域;

该第二设置模块309,用于当所述展示占用面积与所述实际展示区域的比值小于等于比值阈值时,将所述移动端的位置属性设置为所述远景属性;

该第二设置模块309,还用于当所述展示占用面积与所述实际展示区域的比值大于比值阈值时,将所述移动端的位置属性设置为所述近景属性。

在具体的应用场景中,该处理模块304,用于确定所述移动端的位置属性;当所述位置属性为远景属性时,采用所述直接光数据、所述模型阴影中的第一层阴影以及所述所述间接光数据,对所述场景贴图中的所述移动端进行光照处理;当所述位置属性为近景属性时,采用所述直接光数据以及所述模型阴影中第二层阴影以及第三层阴影,对所述场景贴图中的所述移动端进行光照处理。

本申请实施例提供的装置,根据移动游戏的目标场景中实体模型的模型属性确定实体模型是否能够产生间接光,进而通过对场景光源的烘焙处理生成包括用于对多个实体模型进行光照模拟的间接光数据的光源模拟数据,采用光源模拟数据以及场景光源产生的直接光数据绘制目标场景中的移动端的阴影,以便按照移动端在目标场景中的位置属性,使用相应的参数对移动端进行光照模拟,无需为光照、阴影等绘制大量的贴图,直接根据移动端所处的位置挑选相应的参数进行光照模拟,使移动游戏中模型的阴影精度不会受到游戏运行内存的限制,提升了场景的画质,保证对移动游戏光照模拟的真实感。

需要说明的是,本申请实施例提供的一种移动游戏的实时光照模拟装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。

在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的移动游戏的实时光照模拟方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的移动游戏的实时光照模拟方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号