CN113262480A - 三维场景的烘焙方法和装置 - Google Patents

三维场景的烘焙方法和装置 Download PDF

Info

Publication number
CN113262480A
CN113262480A CN202110523228.9A CN202110523228A CN113262480A CN 113262480 A CN113262480 A CN 113262480A CN 202110523228 A CN202110523228 A CN 202110523228A CN 113262480 A CN113262480 A CN 113262480A
Authority
CN
China
Prior art keywords
baking
map
mixed
dimensional
dimensional scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110523228.9A
Other languages
English (en)
Inventor
陈家豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110523228.9A priority Critical patent/CN113262480A/zh
Publication of CN113262480A publication Critical patent/CN113262480A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/65Methods for processing data by generating or executing the game program for computing the condition of a game character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种三维场景的烘焙方法和装置。其中,该方法包括:在三维场景中划分出多个烘焙区域;采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;从多个烘焙区域中确定混合插值区域;获取与混合插值区域对应的混合插值贴图;利用混合插值贴图对多套光照贴图进行合并,得到合成贴图;将合成贴图应用至三维场景中。本发明解决了相关技术中采用不同烘焙参数对不同的区域进行烘焙时,不同的区域之间存在接缝的技术问题。

Description

三维场景的烘焙方法和装置
技术领域
本发明涉及图形处理领域,具体而言,涉及一种三维场景的烘焙方法和装置。
背景技术
在3D游戏中,为了运行时性能更优,通常采用烘焙来实现光照贴图(Lightmap),而为了达到更好的烘焙效果,针对不同的场景和区域,可以采用不同的Lightmap烘焙参数设置以及相关的灯光设置,但如果使用不同的Lightmap烘焙参数设置,通常会导致在不同参数设置的区域出现接缝或者烘焙结果错误的问题。
现有的技术想要实现在场景上使用多套Lightmap,只能将场景以物体为单位分开,不同的物体使用不同的烘焙参数和烘焙设置,这种方案虽然能够在同一个场景中使用多套Lightmap,但由于需要把场景彻底拆分成多个部分,因此这些部分必须是模型独立的,如果遇到一个模型同时位于两种不同的Lightmap影响的范围内,那这个模型只能使用其中一个Lightmap贴图,尤其是像地形这样的非常大的物体,从而导致使用的情况非常局限,在效果上会有些问题,
除此以外,还可以使用顶点Lightmap烘焙的方式来实现,顶点烘焙存储Lightmap的信息,这样也可以实现在同一个模型上做到不同的Lightmap混合,使用顶点混合的方案,虽然也可以实现相同的效果,但是要求模型面数非常多才能达到较好的效果,但模型的面数的增加,会导致在游戏在运行上的卡顿,尤其是移动端手游,因此使用场景也具有一定局限。
针对相关技术中采用不同烘焙参数对不同的区域进行烘焙时,不同的区域之间存在接缝的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种三维场景的烘焙方法和装置,以至少解决相关技术中采用不同烘焙参数对不同的区域进行烘焙时,不同的区域之间存在接缝的技术问题。
根据本发明实施例的一个方面,提供了一种三维场景的烘焙方法,包括:在三维场景中划分出多个烘焙区域;采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;从多个烘焙区域中确定混合插值区域;获取与混合插值区域对应的混合插值贴图;利用混合插值贴图对多套光照贴图进行合并,得到合成贴图;将合成贴图应用至三维场景中。
进一步地,从多个烘焙区域中确定混合插值区域,包括:获取设置的混合插值区域宽度;以相邻的烘焙区域的交界处为中心向外按照混合插值区域宽度扩张,得到混合插值区域。
进一步地,将混合插值区域从三维场景空间映射至二维贴图空间,包括:获取混合插值区域在三维场景中的三维空间信息,其中,三维空间信息包括如下至少之一:位置参数、旋转参数以及缩放参数;根据三维空间信息将混合插值区域映射至二维贴图空间。
进一步地,获取与混合插值区域对应的混合插值贴图,包括:将所述混合插值区域从三维场景空间映射至二维贴图空间;确定二维贴图空间中每个像素的混合因子,其中,混合因子用于表示任意一套光照贴图的贴图参数在混合时所占的权重;基于混合因子构成混合插值贴图。
进一步地,确定二维贴图空间中每个像素的混合因子,包括:获取每个像素在混合插值区域中的位置信息;根据位置信息确定每个像素对应的混合因子。
进一步地,根据所述位置信息确定所述每个像素对应的混合因子,包括:根据所述位置信息确定所述每个像素与所述混合插值区域中的第一边界的第一垂直距离,其中,所述第一边界为所述混合插值区域中的任意一个边界;确定所述第一垂直距离与第二垂直距离之比为所述混合因子,其中,所述第二垂直距离为所述混合插值区域的两条边界之间的垂直距离。
进一步地,利用混合插值贴图对多套光照贴图进行合并,得到合成贴图,包括:对多套光照贴图中相同位置的像素的颜色参数,通过混合因子进行加权,得到每个像素在合成贴图中的颜色参数;基于每个像素的颜色参数确定合成贴图。
进一步地,在将合成贴图应用至三维场景中之后,接收混合插值区域宽度调整指令,得到调整后的混合插值区域宽度;基于调整后的混合插值区域宽度确定更新后的混合插值区域,并根据更新后的混合插值区域,重新进入将混合插值区域从三维场景空间映射至二维贴图空间的步骤。
根据本发明实施例的一个方面,提供了一种三维场景的烘焙装置,包括:划分模块,用于在三维场景中划分出多个烘焙区域;烘焙模块,用于采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;确定模块,用于从多个烘焙区域中确定混合插值区域;获取模块,用于获取与混合插值区域对应的混合插值贴图;合并模块,用于利用混合插值贴图对多套光照贴图进行合并,得到合成贴图;应用模块,用于将合成贴图应用至三维场景中。
根据本发明实施例的一个方面,提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的三维场景的烘焙方法。
根据本发明实施例的一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的三维场景的烘焙方法。
在本发明实施例中,在三维场景中划分出多个烘焙区域;采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;从多个烘焙区域中确定混合插值区域;获取与混合插值区域对应的混合插值贴图;利用混合插值贴图对多套光照贴图进行合并,得到合成贴图;将合成贴图应用至三维场景中。上述方案对三维场景划分为多个区域,确定出混合插值区域,对混合插值区域中不同的贴图进行贴图上的混合,成为相邻两个烘焙区域之间的过渡,从而避免了在目标三维中间中使用多个不同的烘焙参数时出现明显的交界线的情况,解决了相关技术中采用不同烘焙参数对不同的区域进行烘焙时,不同的区域之间存在接缝的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本申请实施例的一种三维场景的烘焙方法的流程图;
图2是根据本申请实施例的一种使用不同的烘焙参数烘焙不同的烘焙区域的示意图;
图3a是一个三维场景下采用一种烘焙参数进行烘焙的示意图;
图3b是同一个三维场景下采用另一种烘焙参数进行烘焙的示意图;
图3c是将图3a和图3b的烘焙参数进行混合烘焙的示意图;
图4是根据本申请实施例的一种三维场景的烘焙装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种三维场景的烘焙方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种三维场景的烘焙方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,在三维场景中划分出多个烘焙区域。
具体的,上述三维场景可以是游戏中的虚拟三维场景。一个三维场景可以是游戏场景中进行一次加载所能够呈现出的场景。例如,在一个游戏场景中,游戏界面展示出游戏的一个三维场景,虚拟角色在当前的三维场景中移动,当虚拟角色的移动在当前的三维场景内时,不会触发其他的记载行为,而当该虚拟角色移动出当前的三维场景时,则触发游戏进行其他三维场景的加载。
上述多个烘焙区域对应多个不同的烘焙参数。烘焙区域的划分可以是根据三维场景中的需求进行的。例如,三维场景中包括一房屋,虚拟角色在房屋内透过门窗可以看到房屋外的场景,在该种情况下,由于房屋内外的光照不同,因此可以将房屋内外作为两个不同的烘焙区域。
步骤S104,采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数。
在上述步骤中,可以对每个不同的烘焙区域设置对应的一套烘焙参数,并使用对应的烘焙参数对烘焙区域进行烘焙处理,从而得到多套光照贴图(Lightmap)。
在一种可选的实施例中,上述烘焙参数可以包括通用参数和天光参数,其中,配置参数可以包括:烘焙质量、烘焙精度、Lightmap分辨率、间接反光次数、全局间接光增强以及全局Diffuse增强等;天光参数可以包括:天光Hdr图、天光增强、天光间接光增强以及是否遮蔽天光下半球等。
步骤S106,从多个烘焙区域中确定混合插值区域。
具体的,在使用不同的烘焙参数对多个烘焙区域进行烘焙处理后,每个烘焙区域都具有自己的光源,该光源照射在烘焙区域中的无后会产生投影,使得相邻的烘焙区域的投影会发生重合。上述混合插值区域即为上述重合的区域中的部分区域。
上述混合插值区域用于对两个相邻的烘焙区域的烘焙效果进行过渡,需要说明的是,上述混合插值区域可以根据需求确定,例如,当相邻两个烘焙区域的烘焙参数差距较大时,可以设置一个较大的混合插值区域,从而使得两个相邻的烘焙区域的烘焙效果能够缓慢的过渡,以避免用于过渡的混合插值区域太小导致过渡过于明显;而当相邻两个烘焙区域的烘焙参数差距较小时,可以设置一个较小的混合插值区域即可满足过渡的需求。
步骤S108,获取与混合插值区域对应的混合插值贴图。
具体的,上述混合插值贴图(lightmap blend map)即为3D的混合插值区域的空间关系在2DUV空间的映射的具体存储表现。
获取与混合插值区域对应的混合插值贴图,可以是对多套光照贴图中进行烘焙得到。在一种可选的实施例中,混合插值贴图用于记录混合参数,该混合参数为混合因子,即用于表示任意一套光照贴图的贴图参数在混合时所占的权重。该权重可以是与根据3D的混合插值区域的空间关系相关的,因此混合插值贴图(lightmap blend map)即为3D的混合插值区域的空间关系在2DUV空间的映射的具体存储表现。
步骤S1010,利用混合插值贴图对多套光照贴图进行合并,得到合成贴图。
在上述步骤中,使用混合插值贴图中的混合因子对多套光照贴图进行插值,即可得到合成贴图。
步骤S1212,将合成贴图应用至三维场景中。
在上述步骤中,将合成的贴图应用在三维场景中,即可实现在目标三维中间中使用多个不同的烘焙参数的目的。
需要说明的是,在同一个三维场景中对不同的烘焙区域使用不同的烘焙参数进行烘焙时,如果不进行混合,则会出现烘焙结果错误的情况下,而如果直接将两种烘焙参数进行混合,则两个烘焙区域的交界处则会出现明显的拼接线,显示效果不佳。
图3a是一个三维场景下采用一种烘焙参数进行烘焙的示意图,该示例中,主光源处于房屋模型的右侧;图3b是同一个三维场景下采用另一种烘焙参数进行烘焙的示意图,该示例中,主光源处于房屋模型的前侧与右侧之间;采用本实施例上述方案对这两种烘焙参数进行混合,得到如图3c所示的结果,在图3c中,以三维场景中间最高的方柱为中心构建混合插值区域进行混合,得到自然的混合效果。
本申请上述实施例在三维场景中划分出多个烘焙区域;采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;从多个烘焙区域中确定混合插值区域;获取与混合插值区域对应的混合插值贴图;利用混合插值贴图对多套光照贴图进行合并,得到合成贴图;将合成贴图应用至三维场景中。上述方案对三维场景划分为多个区域,并确定出混合插值区域,对混合插值区域中不同的贴图进行贴图上的混合,成为相邻两个烘焙区域之间的过渡,从而避免了在目标三维中间中使用多个不同的烘焙参数时出现明显的交界线的情况,解决了相关技术中采用不同烘焙参数对不同的区域进行烘焙时,不同的区域之间存在接缝的技术问题,进而使得当使用多套Lightmap的时候,将多套Lightmap按照场景的设置融合成一套Lightmap,并且保证每个区域Lightmap都正确。
作为一种可选的实施例,从多个烘焙区域中确定混合插值区域,包括:获取设置的混合插值区域宽度;以相邻的烘焙区域的交界处为中心向外按照混合插值区域宽度扩张,得到混合插值区域。
具体的,上述混合插值区域宽度用于设置混合插值区域的大小。相邻的烘焙区域的交界处具有交界线,以该交界线为中心,分别向两侧的烘焙区域扩张,即可得到一个一交界线为中心的区域,该区域即为混合插值区域。
图2是根据本申请实施例的一种使用不同的烘焙参数烘焙不同的烘焙区域的示意图,在一种可选的实施例中,结合图2所示,三维场景被划分为左右两部分,左侧具有光源B,光源B发光后构成B投影区域,右侧具有光源A,光源A发光后构成A投影区域。两个烘焙区域中间具有一烘焙边界线,用于划分两个烘焙区域。在获得设置的烘焙宽度width后,分别向两侧扩张width,即可得到该示例中的混合插值区域(Blend区域)。
需要说明的是,在该实例中,三维场景为划分为左右两部分,交界线为竖直的线,但交界线用于划分不同的烘焙区域,因此其线条形状根据不同的烘焙区域确定,而并不限定为直线或曲线,也不限定其为开放的或闭合的线。
作为一种可选的实施例,将混合插值区域从三维场景空间映射至二维贴图空间,包括:获取混合插值区域在三维场景中的三维空间信息,其中,三维空间信息包括如下至少之一:位置参数、旋转参数以及缩放参数;根据三维空间信息将混合插值区域映射至二维贴图空间。
在三维场景中,表现在界面中的不同物体具有在三维场景中对应的模型,每个模型具有对应的三维空间信息,包括位置参数、旋转参数以及缩放参数,基于这些三维空间信息,即可将混合插值区域从三维场景空间映射至二维贴图空间。仍结合图2所示,混合插值区域中具有一模型,根据该模型在三维场景中的三维空间信息,可以将其混合插值区域映射至二维贴图空间。
作为一种可选的实施例,获取与混合插值区域对应的混合插值贴图,包括:将所述混合插值区域从三维场景空间映射至二维贴图空间;确定二维贴图空间中每个像素的混合因子,其中,混合因子用于表示任意一套光照贴图的贴图参数在混合时所占的权重;基于混合因子构成混合插值贴图。
由于图是存在平面上的而不是体空间,因此混合多套光照贴图的步骤需要在二维贴图空间(2DUV空间)中进行,但混合插值区域表示的是三维空间中的空间关系,因此上述步骤中还需要将该三维空间的关系转化到2DUV空间,且从三维空间映射到二维空间使用的映射关系是模型的2UV。
具体的,上述混合因子是进行线性插值时的参数,该混合因子可以根据混合需求确定。在得到每个像素对应的混合因子后,这些混合因子即构成上述混合插值贴图。
例如,以A和B两个烘焙区域为例,混合因子为x,混合因子x用于表示在混合时,A区域或B区域的光照贴图的贴图参数所占的权重,如果混合因子x表示的是A区域光照贴图的贴图参数的权重,则B区域光照贴图的贴图参数的权重则为(1-x),同理,如果混合因子x表示的是B区域光照贴图的贴图参数的权重,则A区域光照贴图的贴图参数的权重则为(1-x)。
在得到每个像素对应的混合因子后,这些混合因子和对应的像素位置即构成上述混合插值贴图。
作为一种可选的实施例,确定二维贴图空间中每个像素的混合因子,包括:获取每个像素在混合插值区域中的位置信息;根据位置信息确定每个像素对应的混合因子。
具体的,上述像素在混合插值区域中的位置信息可以根据模型在三维的混合插值区域中的空间关系确定。一个像素距离任意一个烘焙区域越近,在插值过程中该烘焙区域的权重越大,相应的,另一个烘焙区域对应的权重越小。
作为一种可选的实施例,根据所述位置信息确定所述每个像素对应的混合因子,包括:根据所述位置信息确定所述每个像素与所述混合插值区域中的第一边界的第一垂直距离,其中,所述第一边界为所述混合插值区域中的任意一个边界;确定所述第一垂直距离与第二垂直距离之比为所述混合因子,其中,所述第二垂直距离为所述混合插值区域的两条边界之间的垂直距离。
在一种可选的实施例中,仍结合图2所示,仍结合图2所示,以像素a为例,假设第一边界为混合插值区域的左边界,第二边界为混合插值区域的右边界,像素a与左边界的垂直距离为第一垂直距离,左边界和右边界的垂直距离为第二垂直距离,则第一垂直距离与第二垂直距离的比值即为上述混合因子,该混合因子则表示B区域的光照贴图的贴图参数在插值时所占的权重。
在上述示例中,以混合因子x表示在进行插值时左侧烘焙区域光照贴图的贴图参数所占的权重,对于像素a,由其距离左侧烘焙区域较近,距离右侧烘焙区域较远,因此对于像素a来说,其混合因子x>(1-x),也即在进行混合插值时,左侧烘焙区域的光照贴图的贴图参数所占权重更大。对于像素b,由其距离右侧烘焙区域较近,距离左侧烘焙区域较远,因此对于像素b来说,其混合因子x<(1-x),也即在进行混合插值时,右侧烘焙区域的光照贴图的贴图参数所占权重更大。
上述方案通过每个像素在混合插值区域中的位置信息确定每个像素对应的混合因子,从而使得混合插值后得到的合成贴图能够自然的过渡。
作为一种可选的实施例,利用混合插值贴图对多套光照贴图进行合并,得到合成贴图,包括:对多套光照贴图中相同位置的像素的颜色参数,通过混合因子进行加权,得到每个像素在合成贴图中的颜色参数;基于每个像素的颜色参数确定合成贴图。
具体的,上述相同位置的像素用于表示UV坐标相同的像素,上述颜色参数可以是像素的RGB值,还可以是其他通道的数据。例如,如果将投影数据在像素的RGB值中,则对像素的RGB值进行加权即可得到混合插值贴图中每个像素的RGB值,进而得到混合插值贴图。再例如,
在一种可选的实施例中,可以调用线性插值函数,例如,在进行贴图插值时,可以利用Lerp(A,B,x)函数进行,其中,A和B表示的是两套lightmap,x是混合因子,每个像素的X构成上述lightmap blend map。
在得到lightmap blend map之后,即可得到每个像素的混合因子x后,进而可以基于混合因子x对两个区域的光照贴图的贴图参数进行混合,进而可得到每个像素的贴图参数,进而构成混合插值贴图。
在一种可选的实施例中,仍结合图2所示,利用混合插值贴图对多套光照贴图进行合并,即为对两个烘焙区域对应的两套光照贴图进行插值,得到合成贴图,即图2中的AB投影插值。
作为一种可选的实施例,在将合成贴图应用至三维场景中之后,方法还包括:接收混合插值区域宽度调整指令,得到调整后的混合插值区域宽度;基于调整后的混合插值区域宽度确定更新后的混合插值区域,并根据更新后的混合插值区域,重新进入将混合插值区域从三维场景空间映射至二维贴图空间的步骤。
在将合成贴图应用在三维场景后,可以检查应用的效果是否满足需求,在应用的效果不满足需求的情况下,可以调整混合插值区域宽度后进行反复烘焙,以实现对过渡效果的调整。
在一种可选的实施例中,在将合成贴图应用在三维场景后,混合插值区域的过渡较为突兀,因此可以调高混合插值区域宽度以扩大混合插值区域,从而使得混合插值区域的过渡较为自然。
在另一种可选的实施例中,在将合成贴图应用在三维场景后,混合插值区域中包括了特定的物体模型,则需要将调高混合插值区域宽度减小,以使得特定的物体模型对应的光照贴图不进行混合插值。
需要说明的是,为了保证混合插值区域的过渡效果,除了调整混合插值区域宽度,在对烘焙区域的烘焙效果影响不大的情况下,还可以调整烘焙参数,以缩小相邻烘焙区域之间的差别。
根据本发明实施例,提供了一种三维场景的烘焙装置,图4是根据本申请实施例的一种三维场景的烘焙装置的示意图,结合图4所示,该装置包括:
划分模块40,用于在三维场景中划分出多个烘焙区域;
烘焙模块42,用于采用多个烘焙参数分别对多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;
确定模块44,用于从多个烘焙区域中确定混合插值区域;
获取模块46,用于获取与混合插值区域对应的混合插值贴图;
合并模块48,用于利用混合插值贴图对多套光照贴图进行合并,得到合成贴图;
应用模块410,用于将合成贴图应用至三维场景中。
作为一种可选的实施例,确定模块包括:第一获取子模块,用于获取设置的混合插值区域宽度;扩张子模块,用于以相邻的烘焙区域的交界处为中心向外按照混合插值区域宽度扩张,得到混合插值区域。
作为一种可选的实施例,确定模块包括:第二获取子模块,用于获取混合插值区域在三维场景中的三维空间信息,其中,三维空间信息包括如下至少之一:位置参数、旋转参数以及缩放参数;映射子模块,用于根据三维空间信息将混合插值区域映射至二维贴图空间。
作为一种可选的实施例,获取模块包括:映射子模块,用于将所述混合插值区域从三维场景空间映射至二维贴图空间;确定子模块,用于确定二维贴图空间中每个像素的混合因子,其中,混合因子用于表示任意一套光照贴图的贴图参数在混合时所占的权重;混合子模块,用于基于混合因子构成混合插值贴图。
作为一种可选的实施例,确定子模块包括:获取单元,用于获取每个像素在混合插值区域中的位置信息;第一确定单元,用于根据位置信息确定每个像素对应的混合因子。
作为一种可选的实施例,第一确定单元包括:第一确定子单元,用于根据所述位置信息确定所述每个像素与所述混合插值区域中的第一边界的第一垂直距离,其中,所述第一边界为所述混合插值区域中的任意一个边界;第二确定子单元,用于确定所述第一垂直距离与第二垂直距离之比为所述混合因子,其中,所述第二垂直距离为所述混合插值区域的两条边界之间的垂直距离。
作为一种可选的实施例,合成模块包括:加权单元,用于对多套光照贴图中相同位置的像素的颜色参数,通过混合因子进行加权,得到每个像素在合成贴图中的颜色参数;第二确定单元,用于基于每个像素的颜色参数确定合成贴图。
作为一种可选的实施例,上述装置还包括:接收模块,用于在将合成贴图应用至三维场景中之后,接收混合插值区域宽度调整指令,得到调整后的混合插值区域宽度;进入模块,用于基于调整后的混合插值区域宽度确定更新后的混合插值区域,并根据更新后的混合插值区域,重新进入将混合插值区域从三维场景空间映射至二维贴图空间的步骤。
根据本发明实施例,提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述的三维场景的烘焙方法。
根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,所述程序运行时执行上述的三维场景的烘焙方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种三维场景的烘焙方法,其特征在于,包括:
在三维场景中划分出多个烘焙区域;
采用多个烘焙参数分别对所述多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;
从所述多个烘焙区域中确定混合插值区域;
获取与所述混合插值区域对应的混合插值贴图;
利用所述混合插值贴图对所述多套光照贴图进行合并,得到合成贴图;
将所述合成贴图应用至所述三维场景中。
2.根据权利要求1所述的方法,其特征在于,从所述多个烘焙区域中确定混合插值区域,包括:
获取设置的混合插值区域宽度;
以相邻的烘焙区域的交界处为中心向外按照所述混合插值区域宽度扩张,得到所述混合插值区域。
3.根据权利要求1所述的方法,其特征在于,将所述混合插值区域从三维场景空间映射至二维贴图空间,包括:
获取所述混合插值区域在所述三维场景中的三维空间信息,其中,所述三维空间信息包括如下至少之一:位置参数、旋转参数以及缩放参数;
根据所述三维空间信息将所述混合插值区域映射至二维贴图空间。
4.根据权利要求1所述的方法,其特征在于,获取与所述混合插值区域对应的混合插值贴图,包括:
将所述混合插值区域从三维场景空间映射至二维贴图空间;
确定所述二维贴图空间中每个像素的混合因子,其中,所述混合因子用于表示任意一套光照贴图的贴图参数在混合时所占的权重;
基于所述混合因子构成所述混合插值贴图。
5.根据权利要求4所述的方法,其特征在于,确定所述二维贴图空间中每个像素的混合因子,包括:
获取每个像素在所述混合插值区域中的位置信息;
根据所述位置信息确定所述每个像素对应的混合因子。
6.根据权利要求5所述的方法,其特征在于,根据所述位置信息确定所述每个像素对应的混合因子,包括:
根据所述位置信息确定所述每个像素与所述混合插值区域中的第一边界的第一垂直距离,其中,所述第一边界为所述混合插值区域中的任意一个边界;
确定所述第一垂直距离与第二垂直距离之比为所述混合因子,其中,所述第二垂直距离为所述混合插值区域的两条边界之间的垂直距离。
7.根据权利要求4所述的方法,其特征在于,利用所述混合插值贴图对所述多套光照贴图进行合并,得到合成贴图,包括:
对所述多套光照贴图中相同位置的像素的颜色参数,通过所述混合因子进行加权,得到所述每个像素在所述合成贴图中的颜色参数;
基于所述每个像素的颜色参数确定所述合成贴图。
8.根据权利要求2所述的方法,其特征在于,在将所述合成贴图应用至所述三维场景中之后,所述方法还包括:
接收混合插值区域宽度调整指令,得到调整后的混合插值区域宽度;
基于所述调整后的混合插值区域宽度确定更新后的混合插值区域,并根据更新后的混合插值区域,重新进入将所述混合插值区域从三维场景空间映射至二维贴图空间的步骤。
9.一种三维场景的烘焙装置,其特征在于,包括:
划分模块,用于在三维场景中划分出多个烘焙区域;
烘焙模块,用于采用多个烘焙参数分别对所述多个烘焙区域进行烘焙,得到多套光照贴图,其中,不同的烘焙区域分别对应不同的烘焙参数;
确定模块,用于从所述多个烘焙区域中确定混合插值区域;
获取模块,用于获取与所述混合插值区域对应的混合插值贴图;
合并模块,用于利用所述混合插值贴图对所述多套光照贴图进行合并,得到合成贴图;
应用模块,用于将所述合成贴图应用至所述三维场景中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的三维场景的烘焙方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的三维场景的烘焙方法。
CN202110523228.9A 2021-05-13 2021-05-13 三维场景的烘焙方法和装置 Pending CN113262480A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110523228.9A CN113262480A (zh) 2021-05-13 2021-05-13 三维场景的烘焙方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110523228.9A CN113262480A (zh) 2021-05-13 2021-05-13 三维场景的烘焙方法和装置

Publications (1)

Publication Number Publication Date
CN113262480A true CN113262480A (zh) 2021-08-17

Family

ID=77230695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110523228.9A Pending CN113262480A (zh) 2021-05-13 2021-05-13 三维场景的烘焙方法和装置

Country Status (1)

Country Link
CN (1) CN113262480A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542596A (zh) * 2010-12-15 2012-07-04 微软公司 顶点烘培三维动画扩充
CN108389241A (zh) * 2018-03-01 2018-08-10 网易(杭州)网络有限公司 游戏场景中生成贴图的方法、装置和系统
CN109903385A (zh) * 2019-04-29 2019-06-18 网易(杭州)网络有限公司 三维模型的渲染方法、装置、处理器及终端
CN111127624A (zh) * 2019-12-27 2020-05-08 珠海金山网络游戏科技有限公司 一种基于ar场景的光照渲染方法及装置
US20200147491A1 (en) * 2017-07-21 2020-05-14 Tencent Technology (Shenzhen) Company Limited Method for rendering game, and method, apparatus and device for generating game resource file
CN111467805A (zh) * 2020-05-11 2020-07-31 网易(杭州)网络有限公司 虚拟场景动态变化的实现方法及装置、介质及电子设备
CN111569426A (zh) * 2020-06-09 2020-08-25 网易(杭州)网络有限公司 游戏场景的编辑方法、装置、存储介质和电子装置
CN111932664A (zh) * 2020-08-27 2020-11-13 腾讯科技(深圳)有限公司 图像渲染方法、装置、电子设备及存储介质
CN112102492A (zh) * 2020-08-21 2020-12-18 完美世界(北京)软件科技发展有限公司 游戏资源的制作方法及装置、存储介质、终端
CN112190937A (zh) * 2020-10-10 2021-01-08 网易(杭州)网络有限公司 游戏中的光照处理方法、装置、设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542596A (zh) * 2010-12-15 2012-07-04 微软公司 顶点烘培三维动画扩充
US20200147491A1 (en) * 2017-07-21 2020-05-14 Tencent Technology (Shenzhen) Company Limited Method for rendering game, and method, apparatus and device for generating game resource file
CN108389241A (zh) * 2018-03-01 2018-08-10 网易(杭州)网络有限公司 游戏场景中生成贴图的方法、装置和系统
CN109903385A (zh) * 2019-04-29 2019-06-18 网易(杭州)网络有限公司 三维模型的渲染方法、装置、处理器及终端
CN111127624A (zh) * 2019-12-27 2020-05-08 珠海金山网络游戏科技有限公司 一种基于ar场景的光照渲染方法及装置
CN111467805A (zh) * 2020-05-11 2020-07-31 网易(杭州)网络有限公司 虚拟场景动态变化的实现方法及装置、介质及电子设备
CN111569426A (zh) * 2020-06-09 2020-08-25 网易(杭州)网络有限公司 游戏场景的编辑方法、装置、存储介质和电子装置
CN112102492A (zh) * 2020-08-21 2020-12-18 完美世界(北京)软件科技发展有限公司 游戏资源的制作方法及装置、存储介质、终端
CN111932664A (zh) * 2020-08-27 2020-11-13 腾讯科技(深圳)有限公司 图像渲染方法、装置、电子设备及存储介质
CN112190937A (zh) * 2020-10-10 2021-01-08 网易(杭州)网络有限公司 游戏中的光照处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
JP7386153B2 (ja) 照明をシミュレートするレンダリング方法及び端末
US10204452B2 (en) Apparatus and method for providing augmented reality-based realistic experience
CN107358649B (zh) 地形文件的处理方法和装置
US20120113106A1 (en) Method and apparatus for generating face avatar
CN108765520B (zh) 文本信息的渲染方法和装置、存储介质、电子装置
US7265761B2 (en) Multilevel texture processing method for mapping multiple images onto 3D models
KR20150032176A (ko) 컬러 비디오 처리 시스템 및 방법과 대응하는 컴퓨터 프로그램
CN102449680A (zh) 信息呈现装置
CN111406406B (zh) 虚拟现实场景中的动态范围扩展的设备和方法
CN113658316B (zh) 三维模型的渲染方法和装置、存储介质及计算机设备
CN112262413A (zh) 混合现实中的实时合成
US8619071B2 (en) Image view synthesis using a three-dimensional reference model
CN110689626A (zh) 游戏模型渲染方法和装置
CN113205586A (zh) 图像处理方法及装置、电子设备、计算机可读存储介质
CN114385289B (zh) 一种渲染显示方法、装置、计算机设备及存储介质
CN114119848B (zh) 一种模型渲染方法、装置、计算机设备及存储介质
KR20190034129A (ko) 증강 현실 표시 장치 및 방법
CN109375978A (zh) 圆角屏幕的显示方法、计算机设备以及存储介质
US20210118216A1 (en) Method of displaying a wide-format augmented reality object
CN101540056B (zh) 面向ERDAS Virtual GIS的植入式真三维立体渲染方法
CN101521828B (zh) 面向esri三维gis模块的植入式真三维立体渲染方法
CN113262480A (zh) 三维场景的烘焙方法和装置
US20010052907A1 (en) Image merging apparatus and image merging method
CN115272628A (zh) 一种三维模型的渲染方法、装置、计算机设备及存储介质
CN102186093B (zh) 一种生成立体图像的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination