CN116688492A - 虚拟模型的特效渲染方法、装置、电子设备及存储介质 - Google Patents
虚拟模型的特效渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116688492A CN116688492A CN202310712417.XA CN202310712417A CN116688492A CN 116688492 A CN116688492 A CN 116688492A CN 202310712417 A CN202310712417 A CN 202310712417A CN 116688492 A CN116688492 A CN 116688492A
- Authority
- CN
- China
- Prior art keywords
- dissolution
- special effect
- initial
- sampling
- virtual model
- 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
Links
- 230000000694 effects Effects 0.000 title claims abstract description 356
- 238000009877 rendering Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004090 dissolution Methods 0.000 claims abstract description 422
- 238000005070 sampling Methods 0.000 claims abstract description 307
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 43
- 238000013507 mapping Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 abstract description 9
- 230000000149 penetrating effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 101150066718 FMOD gene Proteins 0.000 description 8
- 238000002679 ablation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000035515 penetration Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 244000235115 Alocasia x amazonica Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6653—Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种虚拟模型的特效渲染方法、装置、电子设备及存储介质,包括:获取初始虚拟模型和初始虚拟模型待渲染的初始特效贴图;根据预设的抖动参数和针对初始特效贴图的初始纹理采样坐标,对初始特效贴图进行采样得到特效采样结果;以及,对初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果;基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型。本发明可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
Description
技术领域
本发明涉及渲染技术领域,尤其是涉及一种虚拟模型的特效渲染方法、装置、电子设备及存储介质。
背景技术
在游戏场景中,通过为虚拟模型添加特效,可使虚拟模型具有更丰富的表现,诸如在外观类的虚拟模型上渲染水墨特效。目前,常见的水墨特效是使用1张水墨贴图并添加flowmap流动贴图,通过flowmap流动贴图让水墨贴图流动起来,从而制造水墨的效果。但是这种方式仅能制作得到特效贴片并将其附着在外观表面,当玩家对应的虚拟角色运动时,特效贴片很容易和外观表面穿插,导致外观表现效果较差,为玩家带来不好的游戏体验。
发明内容
有鉴于此,本发明的目的在于提供一种虚拟模型的特效渲染方法、装置、电子设备及存储介质,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
第一方面,本发明实施例提供了一种虚拟模型的特效渲染方法,包括:
获取初始虚拟模型和所述初始虚拟模型待渲染的初始特效贴图;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对所述初始特效贴图进行采样得到特效采样结果;以及,对所述初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和所述初始纹理采样坐标确定动态循环消隐采样结果;
基于所述特效采样结果、所述颜色采样结果和所述动态循环消隐采样结果对所述初始虚拟模型进行渲染,得到目标虚拟模型。
第二方面,本发明实施例还提供一种虚拟模型的特效渲染装置,包括:
获取模块,用于获取初始虚拟模型和所述初始虚拟模型待渲染的初始特效贴图;
贴图确定模块,用于根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对所述初始特效贴图进行采样得到特效采样结果;以及,对所述初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和所述初始纹理采样坐标确定动态循环消隐采样结果;
渲染模块,用于基于所述特效采样结果、所述颜色采样结果和所述动态循环消隐采样结果对所述初始虚拟模型进行渲染,得到目标虚拟模型。
第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面提供的任一项所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项所述的方法。
本发明实施例提供的虚拟模型的特效渲染方法、装置、电子设备及存储介质,首先获取初始虚拟模型和初始虚拟模型待渲染的初始特效贴图,然后根据预设的抖动参数和初始特效贴图的初始纹理采样坐标对初始特效贴图进行采样得到特效采样结果,以及对初始虚拟模型的颜色贴图进行采样得到颜色采样结果,以及根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果,最后基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型。上述方法可以分别确定出特效采样结果、颜色采样结果和动态循环消隐采样结果,从而控制特效贴图在虚拟模型上的抖动、动态循环消隐的效果,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟模型的特效渲染方法的流程示意图;
图2为本发明实施例提供的一种预设噪声贴图的示意图;
图3为本发明实施例提供的一种水墨贴图的示意图;
图4为本发明实施例提供的一种水墨贴图的A通道的示意图;
图5为本发明实施例提供的一种颜色采样结果的示意图;
图6为本发明实施例提供的一种颜色采样结果与特效采样结果的叠加效果的示意图;
图7为本发明实施例提供的一种遮罩贴图的示意图;
图8为本发明实施例提供的一种虚拟模型的特效渲染装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,现有特效渲染方法仅能制作得到特效贴片并将其附着在外观表面,当玩家对应的虚拟角色运动时,特效贴片很容易和外观表面穿插,导致外观表现效果较差,为玩家带来不好的游戏体验,基于此,本发明实施提供了一种虚拟模型的特效渲染方法、装置、电子设备及存储介质,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟模型的特效渲染方法进行详细介绍,参见图1所示的一种虚拟模型的特效渲染方法的流程示意图,该方法主要包括以下步骤S102至步骤S106:
步骤S102,获取初始虚拟模型和初始虚拟模型待渲染的初始特效贴图。其中,初始虚拟模型也即未进行特效渲染的虚拟模型,示例性的,虚拟模型可以为外观、武器、人物等模型,特效贴图用于体现特效的相关属性,诸如颜色、纹理坐标(UV)等,示例性的,特效贴图可以为水墨贴图、流光贴图等。
步骤S104,根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对初始特效贴图进行采样得到特效采样结果;以及,对初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果。
其中,抖动参数可以包括抖动速度参数、抖动强度参数和抖动偏移坐标;溶解参数可以包括溶解形状缩放系数、溶解时间间隔参数、溶解速度参数、特效溶解度区间和边缘软硬度参数;特效采样结果也即受噪声影响的特效贴图;颜色贴图用于描述初始虚拟模型的颜色信息;动态循环消隐采样结果用于控制特效溶解度、特效溶解时间以及特变边缘软硬度,可选的,可以划分为多个溶解组,每个溶解组的特效溶解度、特效溶解时间以及特变边缘软硬度可以不同,从而进一步丰富特效的表现。
在一种实施方式中,可以基于抖动参数、初始特效贴图的初始纹理采样坐标和预设噪声贴图,对初始特效贴图进行采样得到特效采样结果;在另一种实施方式中,可以利用初始虚拟模型自身的UV对颜色贴图进行采样得到颜色采样结果;在另一种实施方式中,可以根据每个颜色区域确定多个溶解组,从而确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度,利用目标溶解循环阈值描述溶解组的特效溶解度和特效溶解时间,以及利用目标溶解边缘软硬度调整遮罩贴图边缘的软硬程度,最后将调整后的遮罩贴图确定为动态循环消隐采样结果。
步骤S106,基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型。在一种实施方式中,可以根据动态循环消隐采样结果确定初始虚拟模型中不同像素点的填充颜色值,诸如利用特效采样结果的颜色值填充像素点,或者利用颜色采样结果的颜色值填充像素点,或者利用特效采样结果和颜色采样结果的颜色值混合填充像素点,将填充有颜色值的虚拟模型确定为目标虚拟模型。
本发明实施例提供的虚拟模型的特效渲染方法,可以分别确定出特效采样结果、颜色采样结果和动态循环消隐采样结果,从而控制特效贴图在虚拟模型上的抖动、动态循环消隐的效果,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
为便于对上述实施例进行理解,本发明实施例提供了一种虚拟模型的特效渲染方法的具体实施方式。
本发明实施例提供了一种步骤S104的实施方式,在执行根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对初始特效贴图进行采样得到特效采样结果的步骤时,可以参见如下(1)至(3):
(1)根据当前时间、所述抖动速度参数和所述初始纹理采样坐标,确定当前时间针对所述初始特效贴图的第一纹理采样坐标,并利用所述第一纹理采样坐标对预设噪声贴图进行采样得到噪声轮廓采样结果。其中抖动速度参数包括U方向抖动速度diffuse_noise_u_speed和V方向抖动速度diffuse_noise_v_speed。
在一种实施方式中,可以按照如下公式确定第一纹理采样坐标UV1:
UV1=UV+(diffuse_noise_u_speed,diffuse_noise_v_speed)*t;
其中,UV也即初始纹理采样坐标,t也即当前时间,UV1也即第一纹理采样坐标,代表UV随着当前时间的偏移。
在一种实施方式中,利用第一纹理采样坐标UV1采样预设噪声贴图,诸如图2所示的一种预设噪声贴图的示意图,并将得到的噪声轮廓采样结果记为shape_noise。
(2)基于抖动强度参数调整噪声轮廓采样结果。其中,抖动强度参数记为diffuse_noise_intensity,代表初始特效贴图受噪声影响,产生抖动的强度大小。在具体实现时,可以利用抖动强度参数diffuse_noise_intensity与噪声轮廓采样结果shape_noise相乘,实现对噪声轮廓采样结果shape_noise的调整。
(3)基于所述初始纹理采样坐标、所述抖动偏移坐标和调整后的所述噪声轮廓采样结果以得到第二纹理坐标,并利用所述第二纹理坐标对所述初始特效贴图进行采样得到特效采样结果。其中抖动偏移坐标记为diffuse_offset,代表特效贴图在U和V方向上发生的位置偏移。示例性的,以初始特效贴图是水墨贴图为例,参见图3所示的一种水墨贴图的示意图,以及图4所示的一种水墨贴图的A通道的示意图,其中,图3中灰白格部分代表是透明的,贴图位置排布是根据模型的纹理坐标(UV)确定的,图4中黑色部分代表透明,白色部分代表不透明。
在一种实施方式中,可以将初始纹理采样坐标UV、抖动偏移坐标diffuse_offset和调整后的噪声轮廓采样结果的和值,作为第二纹理坐标UV2,具体可参见如下公式:
UV2=UV+diffuse_offset+shape_noise*diffuse_noise_intensity。
在一种实施方式中,可以利用第二纹理坐标UV2采样初始特效贴图,得到初始特效贴图受噪声影响,产生抖动的美术效果,记为特效采样结果ink。在实际应用中,可以通过改变采样的UV值,从而影响贴图采样结果(也即,特效采样结果ink)。
本发明实施例还提供了一种步骤S104的实施方式,在执行对初始虚拟模型的颜色贴图进行采样得到颜色采样结果的步骤时,可以根据初始虚拟模型本身的纹理坐标(UV)采样初始虚拟模型本身的颜色贴图,采样结果记为颜色采样结果albedo。以初始虚拟模型为外观模型,特效贴图为水墨贴图为例,参见图5所示的一种颜色采样结果的示意图,以及参见图6所示的一种颜色采样结果与特效采样结果的叠加效果的示意图(此为中间结果,实际上还未叠加且未输出),其中,颜色采样结果和水墨贴图的区别是:颜色采样结果提供不包含水墨的其他颜色信息,水墨贴图只提供水墨信息。
本发明实施例还提供了一种步骤S104的实施方式,在执行根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果的步骤时,可以参见如下步骤1至步骤4:
步骤1,按照预设的遮罩贴图中每个颜色区域确定多个溶解组。在具体实现时,通过根据遮罩贴图的不同颜色区域,划分为多个溶解组,以使溶解组分别进行循环溶解,其中同一颜色区域将同时溶解,不同颜色区域存在溶解时间上的间隔,进而形成特效动态消隐的效果。
步骤2,基于预设的溶解参数、初始纹理采样坐标和颜色采样结果,确定目标特效溶解区域。其中,溶解参数还包括溶解形状缩放系数InkDissolveNoiseScale,代表特效消融形状的缩放大小。在具体实现时,可以参见如下步骤2.1至步骤2.2:
步骤2.1,将初始纹理采样坐标与溶解形状缩放系数的比值作为第三纹理坐标,并利用第三纹理坐标对预设噪声贴图进行采样得到初始特效溶解区域。其中初始特效溶解区域也即预设噪声贴图在初始虚拟模型上进行缩放的结果。
在一种实施方式中,可以按照如下公式计算第三纹理坐标UV3:
UV3=UV/InkDissolveNoiseScale。
在一种实施方式中,用第三纹理坐标UV3再次采样预设噪声贴图,得到预设噪声贴图在初始虚拟模型上进行缩放的结果(也即,初始特效溶解区域),记为clip_tex1。
步骤2.2,通过颜色采样结果的对比度值调整初始特效溶解区域的对比度值,以调整溶解区域范围,并将调整后的初始特效溶解区域确定为目标特效溶解区域。在一种实施方式中,可以引入参数InkDissolveNoiseContrast,代表颜色采样结果的颜色对比度值,计算lerp(0.5f,clip_tex,InkDissolveNoiseContrast),可以通过调整InkDissolveNoiseContrast改变初始特效溶解区域clip_tex1的对比度大小,进而改变消融的区域大小,并将调整后的初始特效溶解区域clip_tex1确定为目标特效溶解区域clip_tex2。其中,Lerp(a,b,x)的含义是:x是一个取值范围为0-1的数,当x=0时,取a值;当x=1时,取b值。
步骤3,基于溶解参数和目标特效溶解区域确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度;其中,目标溶解循环阈值用于描述溶解组的特效溶解度和特效溶解时间,目标溶解边缘软硬度用于调整遮罩贴图边缘的软硬程度。具体的,可以参见如下步骤3.1至步骤3.3:
步骤3.1,基于溶解参数确定每个溶解组对应的特效溶解时间。其中,溶解参数还包括溶解时间间隔参数InkDissolveTimeGap和溶解速度参数InkDissolveSpeed。在此基础上,在执行确定每个溶解组对应的特效溶解时间的步骤时,可以参见如下步骤a1至步骤a3:
步骤a1,对遮罩贴图进行采样得到每个溶解组对应的初始噪声遮罩。示例性的,参见图7所示的一种遮罩贴图的示意图。在实际应用中,采样遮罩贴图,初始噪声遮罩代表初始虚拟模型上需要特效抖动的部分,记为noise_mask1。其中,初始噪声遮罩noise_mask1是一张黑白色的图,将其中的白色部分记为1,黑色部分记为0,灰色部分介于0和1之间。
步骤a2,对于每个溶解组,将该溶解组对应的初始噪声遮罩映射至溶解时间间隔参数的区间内,得到目标噪声遮罩。在一种实施方式中,在一种实施方式中,使用remap函数(重映射函数)将初始噪声遮罩noise_mask1从0到1的区间,映射到0到溶解时间间隔参数InkDissolveTimeGap的区间,并将映射后的初始噪声遮罩确定为目标噪声遮罩noise_mask2。
步骤a3,利用当前时间调整目标噪声遮罩,并计算调整后的目标噪声遮罩与溶解速度参数的乘积作为该溶解组对应的特效溶解时间。在一种实施方式中,可以将当前时间t与目标噪声遮罩noise_mask2相加,以调整目标噪声遮罩noise_mask2,在此基础上计算与溶解速度参数InkDissolveSpeed的乘积得到特效溶解时间dissolve_time,特效溶解时间dissolve_time是随着当前时间t增加而不断增大的值。具体的,可以按照如下公式确定特效溶解时间dissolve_time:
dissolve_time=(t+noise_mask2)*InkDissolveSpeed。
其中,若处于同一颜色区域,由于其目标噪声遮罩noise_mask2的值一样,因此计算完成后也将得到一样的特效溶解时间dissolve_time的值。
步骤3.2,基于特效溶解时间确定每个溶解组对应的目标溶解循环阈值。在执行确定每个溶解组对应的目标溶解循环阈值的步骤时,可以参见如下步骤b1至步骤b3:
步骤b1,对于每个溶解组,对该溶解组对应的特效溶解时间进行取余处理得到初始溶解循环阈值。在一种实施方式中,可以利用取余函数fmod()对特效溶解时间dissolve_time进行取余处理得到初始溶解循环阈值dissove_threshold1。其中,初始溶解循环阈值dissove_threshold1是一个跟随当前时间增加,其值从0-1,然后突变到0,再次从0-1的循环阈值。具体计算过程如下所示:
dissove_threshold1=fmod(dissolve_time,1.0)。
步骤b2,对该溶解组对应的特效溶解时间进行向下取整处理得到整数溶解时间,并对取整后溶解时间进行取余处理得到阈值调整系数。其中,阈值调整系数也是一个跟随当前时间增加,其值从0-1,然后突变到0,再次从0-1的值。在一种实施方式中,可以按照如下公式确定阈值调整系数number:
number=fmod(floor(dissolve_time),2.0),floor(x)函数的功能是向下取整,即取不大于x的最大整数。
步骤b3,基于阈值调整系数对初始溶解循环阈值进行调整,得到该溶解组对应的目标溶解循环阈值。在一种实施方式中,可以按照如下公式确定目标溶解循环阈值dissove_threshold2:
dissove_threshold2=dissove_threshold1-number*(fmod(dissolve_time,1.0f)+dissove_threshold1)。
步骤3.3,基于溶解参数、目标溶解循环阈值和目标特效溶解区域确定每个溶解组对应的目标溶解边缘软硬度InkDissolveEdgeSoftness。其中,溶解参数还包括特效溶解度区间和边缘软硬度参数,特效溶解度区间包括溶解最大值dissove_max和溶解最小值dissove_min,特效溶解度区间用于控制特效溶解度的最大值和最小值。在此基础上,在执行确定每个溶解组对应的目标溶解边缘软硬度值的步骤时,可以参见如下步骤c1至步骤c3:
步骤c1,对于每个溶解组,将该溶解组对应的目标溶解循环阈值映射至特效溶解度区间。在一种实施方式中,可以将目标溶解循环阈值dissove_threshold2从0-1的取值范围映射到dissove_min至dissove_max,将映射后的目标溶解循环阈值记为dissove_threshold3。通过控制dissove_min和dissove_max,可以控制特效在每个溶解循环中,最多被溶解到只剩下多少,和不溶解时/溶解复原时最多显示出多少。
步骤c2,利用映射后的目标溶解循环阈值对目标特效溶解区域进行调整,得到调整后特效溶解区域。在一种实施方式中,可以利用目标溶解循环阈值dissove_threshold3减去目标特效溶解区域clip_tex2,即可得到调整后特效溶解区域,记为clip_tex3。具体公式如下所示:
clip_tex 3=dissove_threshold 3-clip_tex2。
步骤c3,基于边缘软硬度参数对调整后特效溶解区域进行平滑过渡处理,得到该溶解组对应的目标溶解边缘软硬度。在一种实施方式中,可以先将调整后特效溶解区域clip_tex3的值限制在0至1之间,然后引入边缘软硬度参数InkDissolveEdgeSoftness,其代表溶解边缘的软硬程度,并按照如下公式得到动态循环消隐采样结果mask:
mask=smoothstep(InkDissolveEdgeSoftness,1,clip_tex3),其中smoothstep函数代表将clip_tex3的值,从InkDissolveEdgeSoftness平滑过渡到1。可以通过调整InkDissolveEdgeSoftness的值,改变mask边缘的软硬程度,即溶解边缘的软硬程度。
步骤4,将调整后的遮罩贴图确定为动态循环消隐采样结果。在具体实现时,前述步骤1至步骤3的目的是将遮罩贴图中,同一颜色的部分划分为一组,溶解组的组数根据贴图颜色精细程度而不同。示例性的,以水墨贴图为例,假设1个溶解循环为10秒,按照颜色的不同(从白到黑),将水墨贴图划分为4组,组1先溶解,花2秒;之后组2溶解,组1恢复,花3秒;再之后组3溶解,组2恢复,如此循环往复。其中引入了很多参数,用于控制水墨溶解的形状、溶解的速度、溶解边缘的软硬程度、溶解的最大值和最小值、每次溶解循环的时间间隔等。应当注意的是,上述溶解所耗费时间仅是示例,具体时间是按照颜色和溶解速度和组数计算的。
本发明实施例还提供了一种步骤S106的实施方式,在执行基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型的步骤时,可以参见如下(一)至(五):
(一)确定特效采样结果的透明度与动态循环消隐采样结果的乘积,得到初始虚拟模型中每个像素点对应的数值。在一种实施方式中,可以按照如下公式确定对每个像素点进行填充的颜色值:
albedo.rgb=lerp(albedo.rgb,ink.rgb,ink.a*mask);
其中,albedo是颜色采样结果,ink是特效采样结果,ink.a是特效采样结果的透明度,mask是动态循环消隐采样结果。lerp函数的作用是计算ink.a*mask,计算得出的是一个0-1之间的值,其中0的部分填充为albedo.rgb,1的部分填充为ink.rgb,中间部分混合填充。即,将水墨效果和模型本身的颜色混合起来。
(二)对于初始虚拟模型中每个像素点,如果该像素点对应的数值为0,则利用颜色采样结果的颜色值对初始虚拟模型中该像素点进行填充。请继续参见上述公式,当ink.a*mask的值为0时,将利用albedo.rgb进行填充。
(三)如果该像素点对应的数值为1,则利用特效采样结果的颜色值对初始虚拟模型中该像素点进行填充。请继续参见上述公式,当ink.a*mask的值为1时,将利用ink.rgb进行填充。
(四)如果该像素点对应的数值大于0且小于1,则利用颜色采样结果和特效采样结果的颜色值对初始虚拟模型中该像素点进行混合填充。请继续参见上述公式,当ink.a*mask的值为0时,将利用albedo.rgb和ink.rgb进行填充。
(五)将填充后的初始虚拟模型确定为目标虚拟模型。
综上所述,本发明实施例提供的虚拟模型的特效渲染方法,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
为便于对上述实施例进行理解,本发明实施例以虚拟模型为外观模型,特效贴图为水墨贴图为例,提供了一种虚拟模型的特效渲染方法的应用示例,该方法可以在着色器(Shader)中执行,(Shader)是专门用来渲染图形的一种技术,通过修改shader,可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。Shader中包含顶点着色器,片元着色器等。
虚拟模型的特效渲染方法的流程具体包括如下(A)至(H):
(A)引入参数diffuse_noise_u_speed和diffuse_noise_v_speed,分别代表水墨贴图抖动的u方向速度和v方向速度。计算UV1=uv+(diffuse_noise_u_speed,diffuse_noise_v_speed)*时间,代表UV随着时间的偏移。用计算得到的UV1采样噪声贴图,得到的结果记为shape_noise。
引入参数InkDissolveNoiseScale,代表水墨消融形状的缩放大小。计算UV3=uv/InkDissolveNoiseScale,用UV3再次采样噪声贴图,得到噪声贴图在模型上进行缩放的结果,记为clip_tex1。
(B)引入参数diffuse_offset,代表水墨贴图在u和v方向上发生的位置偏移。引入参数diffuse_noise_intensity,代表水墨贴图受噪声影响,产生抖动的强度大小。
计算UV2=UV+diffuse_offset+shape_noise*diffuse_noise_intensity,用UV2采样水墨贴图,得到水墨贴图受噪声影响,产生抖动的美术效果,记为ink。在具体实现时,通过改变采样的UV值,从而影响贴图采样的结果。
(C)采样外观模型本身的颜色贴图,记为albedo。它和水墨贴图的区别是,颜色贴图提供不包含水墨的其他颜色信息,水墨贴图只提供水墨信息。
(D)引入参数InkDissolveNoiseContrast,代表采样结果的颜色对比度大小,计算lerp(0.5f,clip_tex1,InkDissolveNoiseContrast),可以通过调整InkDissolveNoiseContrast改变clip_tex1的对比度大小,进而改变消融的区域大小,对比度改变后的clip_tex1记为clip_tex2。
(E)采样遮罩贴图,它代表模型上需要水墨抖动的部分,记为noise_mask1。noise_mask1是一张黑白色的图,将其中的白色部分记为1,黑色部分记为0,灰色部分介于之间。引入参数InkDissolveTimeGap代表溶解时间间隔,InkDissolveSpeed代表溶解速度。将noise_mask1从0到1的区间,映射到0到InkDissolveTimeGap的区间,映射后的noise_mask1记为noise_mask2。计算dissolve_time=(时间+noise_mask2)*InkDissolveSpeed。这一步中可以得知,处于同一颜色的区域,由于其noise_mask2值一样,计算完成后也将得到一样的dissolve_time值。
(F)根据遮罩贴图的不同颜色区域,进行分别的循环的溶解。其中同一颜色的部分会计算得到一样的数据一起溶解,不同颜色的块会溶解时间有间隔,进而形成水墨动态消隐的效果。计算dissove_threshold1=fmod(dissolve_time,1.0),fmod函数的数学意义是取余。
计算number=fmod(floor(dissolve_time1),2.0),floor(x)函数的功能是向下取整,即取不大于x的最大整数。
在dissove_threshold1的基础上,计算dissove_threshold2=dissove_threshold1-number*(fmod(dissolve_time,1.0f)+dissove_threshold1)。
(G)引入参数dissove_min和dissove_max,分别代表溶解的最大值和最小值。将dissove_threshold2从0-1的取值范围映射到dissove_min至dissove_max,映射后的dissove_threshold2记为dissove_threshold3。通过控制dissove_min和dissove_max,可以控制水墨在每个溶解循环中,最多被溶解到只剩下多少,和不溶解时/溶解复原时最多显示出多少。
计算clip_tex3=dissove_threshold 3-clip_tex2,再将clip_tex3的值限制在0-1之间。引入参数InkDissolveEdgeSoftness代表溶解边缘的软硬程度,计算mask=smoothstep(InkDissolveEdgeSoftness,1,clip_tex3),其中smoothstep函数代表将clip_tex3的值,从InkDissolveEdgeSoftness平滑过渡到1。可以通过调整InkDissolveEdgeSoftness的值,改变mask边缘的软硬程度,即溶解边缘的软硬程度。
(H)计算albedo.rgb=lerp(albedo.rgb,ink.rgb,ink.a*mask),这里albedo是颜色贴图采样的结果(也即颜色采样结果),ink是水墨贴图采样的结果(也即特效采样结果),ink.a是水墨贴图采样后的透明度,mask是动态消融。lerp函数的作用是计算ink.a*mask,计算得出的是一个0-1之间的值,其中0的部分填充为albedo.rgb,1的部分填充为ink.rgb,中间部分混合填充。即,将水墨效果和模型本身的颜色混合起来。
本发明实施例提供的虚拟模型的特效渲染方法,通过使用shader,通过调整参数,控制水墨贴图在模型上的抖动、动态循环消隐的效果,在外观模型上营造出流动的水墨画的感觉,而且不用增加额外的特效贴片,因此不会有穿模风险。
对于前述实施例提供的虚拟模型的特效渲染方法,本发明实施例提供了一种虚拟模型的特效渲染装置,参见图8所示的一种虚拟模型的特效渲染装置的结构示意图,该装置包括以下部分:
获取模块802,用于获取初始虚拟模型和初始虚拟模型待渲染的初始特效贴图;
贴图确定模块804,用于根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对所述初始特效贴图进行采样得到特效采样结果;以及,对所述初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和所述初始纹理采样坐标确定动态循环消隐采样结果;
渲染模块806,用于基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型。
本发明实施例提供的虚拟模型的特效渲染装置,可以分别确定出特效采样结果、颜色采样结果和动态循环消隐采样结果,从而控制特效贴图在虚拟模型上的抖动、动态循环消隐的效果,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
在一种实施方式中,抖动参数包括抖动速度参数、抖动强度参数和抖动偏移坐标;贴图确定模块804还用于:
根据当前时间、所述抖动速度参数和所述初始纹理采样坐标,确定当前时间针对所述初始特效贴图的第一纹理采样坐标,并利用所述第一纹理采样坐标对预设噪声贴图进行采样得到噪声轮廓采样结果;
基于所述抖动强度参数调整所述噪声轮廓采样结果;
基于所述初始纹理采样坐标、所述抖动偏移坐标和调整后的所述噪声轮廓采样结果以得到第二纹理坐标,并利用所述第二纹理坐标对所述初始特效贴图进行采样得到特效采样结果。
在一种实施方式中,贴图确定模块804还用于:
按照预设的遮罩贴图中每个颜色区域确定多个溶解组;
基于预设的溶解参数、初始纹理采样坐标和颜色采样结果,确定目标特效溶解区域;
基于溶解参数和目标特效溶解区域确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度;其中,目标溶解循环阈值用于描述溶解组的特效溶解度和特效溶解时间,目标溶解边缘软硬度用于调整遮罩贴图边缘的软硬程度;
将调整后的遮罩贴图确定为动态循环消隐采样结果。
在一种实施方式中,溶解参数包括溶解形状缩放系数;贴图确定模块804还用于:
将初始纹理采样坐标与溶解形状缩放系数的比值作为第三纹理坐标,并利用第三纹理坐标对预设噪声贴图进行采样得到初始特效溶解区域;
通过颜色采样结果的对比度值调整初始特效溶解区域的对比度值,以调整溶解区域范围,并将调整后的初始特效溶解区域确定为目标特效溶解区域。
在一种实施方式中,贴图确定模块804还用于:
基于溶解参数确定每个溶解组对应的特效溶解时间;
基于特效溶解时间确定每个溶解组对应的目标溶解循环阈值;
基于溶解参数、目标溶解循环阈值和目标特效溶解区域确定每个溶解组对应的目标溶解边缘软硬度。
在一种实施方式中,溶解参数还包括溶解时间间隔参数和溶解速度参数;贴图确定模块804还用于:
对遮罩贴图进行采样得到每个溶解组对应的初始噪声遮罩;
对于每个溶解组,将该溶解组对应的初始噪声遮罩映射至溶解时间间隔参数的区间内,得到目标噪声遮罩;
利用当前时间调整目标噪声遮罩,并计算调整后的目标噪声遮罩与溶解速度参数的乘积作为该溶解组对应的特效溶解时间。
在一种实施方式中,贴图确定模块804还用于:
对于每个溶解组,对该溶解组对应的特效溶解时间进行取余处理得到初始溶解循环阈值;
对该溶解组对应的特效溶解时间进行向下取整处理得到整数溶解时间,并对取整后溶解时间进行取余处理得到阈值调整系数;
基于阈值调整系数对初始溶解循环阈值进行调整,得到该溶解组对应的目标溶解循环阈值。
在一种实施方式中,溶解参数还包括特效溶解度区间和边缘软硬度参数,特效溶解度区间用于控制特效溶解度的最大值和最小值;贴图确定模块804还用于:
对于每个溶解组,将该溶解组对应的目标溶解循环阈值映射至特效溶解度区间;
利用映射后的目标溶解循环阈值对目标特效溶解区域进行调整,得到调整后特效溶解区域;
基于边缘软硬度参数对调整后特效溶解区域进行平滑过渡处理,得到该溶解组对应的目标溶解边缘软硬度。
在一种实施方式中,渲染模块806还用于:
确定特效采样结果的透明度与动态循环消隐采样结果的乘积,得到初始虚拟模型中每个像素点对应的数值;
对于初始虚拟模型中每个像素点,如果该像素点对应的数值为0,则利用颜色采样结果的颜色值对初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值为1,则利用特效采样结果的颜色值对初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值大于0且小于1,则利用颜色采样结果和特效采样结果的颜色值对初始虚拟模型中该像素点进行混合填充;
将填充后的初始虚拟模型确定为目标虚拟模型。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行:
一种虚拟模型的特效渲染方法,包括:
获取初始虚拟模型和初始虚拟模型待渲染的初始特效贴图;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对初始特效贴图进行采样得到特效采样结果;以及,对初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果;
基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型。
在一种实施方式中,抖动参数包括抖动速度参数、抖动强度参数和抖动偏移坐标;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标:
根据当前时间、所述抖动速度参数和所述初始纹理采样坐标,确定当前时间针对所述初始特效贴图的第一纹理采样坐标,并利用所述第一纹理采样坐标对预设噪声贴图进行采样得到噪声轮廓采样结果;
基于所述抖动强度参数调整所述噪声轮廓采样结果;
基于所述初始纹理采样坐标、所述抖动偏移坐标和调整后的所述噪声轮廓采样结果以得到第二纹理坐标,并利用所述第二纹理坐标对所述初始特效贴图进行采样得到特效采样结果。
在一种实施方式中,根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果,包括:
按照预设的遮罩贴图中每个颜色区域确定多个溶解组;
基于预设的溶解参数、初始纹理采样坐标和颜色采样结果,确定目标特效溶解区域;
基于溶解参数和目标特效溶解区域确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度;其中,目标溶解循环阈值用于描述溶解组的特效溶解度和特效溶解时间,目标溶解边缘软硬度用于调整遮罩贴图边缘的软硬程度;
将调整后的遮罩贴图确定为动态循环消隐采样结果。
在一种实施方式中,溶解参数包括溶解形状缩放系数;
基于预设的溶解参数、初始纹理采样坐标和颜色采样结果,确定目标特效溶解区域,包括:
将初始纹理采样坐标与溶解形状缩放系数的比值作为第三纹理坐标,并利用第三纹理坐标对预设噪声贴图进行采样得到初始特效溶解区域;
通过颜色采样结果的对比度值调整初始特效溶解区域的对比度值,以调整溶解区域范围,并将调整后的初始特效溶解区域确定为目标特效溶解区域。
在一种实施方式中,基于溶解参数和目标特效溶解区域确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度,包括:
基于溶解参数确定每个溶解组对应的特效溶解时间;
基于特效溶解时间确定每个溶解组对应的目标溶解循环阈值;
基于溶解参数、目标溶解循环阈值和目标特效溶解区域确定每个溶解组对应的目标溶解边缘软硬度。
在一种实施方式中,溶解参数还包括溶解时间间隔参数和溶解速度参数;
基于溶解参数确定每个溶解组对应的特效溶解时间,包括:
对遮罩贴图进行采样得到每个溶解组对应的初始噪声遮罩;
对于每个溶解组,将该溶解组对应的初始噪声遮罩映射至溶解时间间隔参数的区间内,得到目标噪声遮罩;
利用当前时间调整目标噪声遮罩,并计算调整后的目标噪声遮罩与溶解速度参数的乘积作为该溶解组对应的特效溶解时间。
在一种实施方式中,基于特效溶解时间确定每个溶解组对应的目标溶解循环阈值,包括:
对于每个溶解组,对该溶解组对应的特效溶解时间进行取余处理得到初始溶解循环阈值;
对该溶解组对应的特效溶解时间进行向下取整处理得到整数溶解时间,并对取整后溶解时间进行取余处理得到阈值调整系数;
基于阈值调整系数对初始溶解循环阈值进行调整,得到该溶解组对应的目标溶解循环阈值。
在一种实施方式中,溶解参数还包括特效溶解度区间和边缘软硬度参数,特效溶解度区间用于控制特效溶解度的最大值和最小值;
基于溶解参数、目标溶解循环阈值和目标特效溶解区域确定每个溶解组对应的目标溶解边缘软硬度,包括:
对于每个溶解组,将该溶解组对应的目标溶解循环阈值映射至特效溶解度区间;
利用映射后的目标溶解循环阈值对目标特效溶解区域进行调整,得到调整后特效溶解区域;
基于边缘软硬度参数对调整后特效溶解区域进行平滑过渡处理,得到该溶解组对应的目标溶解边缘软硬度。
在一种实施方式中,基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型,包括:
确定特效采样结果的透明度与动态循环消隐采样结果的乘积,得到初始虚拟模型中每个像素点对应的数值;
对于初始虚拟模型中每个像素点,如果该像素点对应的数值为0,则利用颜色采样结果的颜色值对初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值为1,则利用特效采样结果的颜色值对初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值大于0且小于1,则利用颜色采样结果和特效采样结果的颜色值对初始虚拟模型中该像素点进行混合填充;
将填充后的初始虚拟模型确定为目标虚拟模型。
本发明实施例提供的电子设备,可以分别确定出特效采样结果、颜色采样结果和动态循环消隐采样结果,从而控制特效贴图在虚拟模型上的抖动、动态循环消隐的效果,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
图9为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器90,存储器91,总线92和通信接口93,所述处理器90、通信接口93和存储器91通过总线92连接;处理器90用于执行存储器91中存储的可执行模块,例如计算机程序。
其中,存储器91可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口93(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线92可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器91用于存储程序,所述处理器90在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器90中,或者由处理器90实现。
处理器90可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器90中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器90可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器91,处理器90读取存储器91中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行:
一种虚拟模型的特效渲染方法,包括:
获取初始虚拟模型和初始虚拟模型待渲染的初始特效贴图;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对初始特效贴图进行采样得到特效采样结果;以及,对初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果;
基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型。
在一种实施方式中,抖动参数包括抖动速度参数、抖动强度参数和抖动偏移坐标;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,包括:
根据当前时间、所述抖动速度参数和所述初始纹理采样坐标,确定当前时间针对所述初始特效贴图的第一纹理采样坐标,并利用所述第一纹理采样坐标对预设噪声贴图进行采样得到噪声轮廓采样结果;
基于所述抖动强度参数调整所述噪声轮廓采样结果;
基于所述初始纹理采样坐标、所述抖动偏移坐标和调整后的所述噪声轮廓采样结果以得到第二纹理坐标,并利用所述第二纹理坐标对所述初始特效贴图进行采样得到特效采样结果。
在一种实施方式中,根据预设的溶解参数和初始纹理采样坐标确定动态循环消隐采样结果,包括:
按照预设的遮罩贴图中每个颜色区域确定多个溶解组;
基于预设的溶解参数、初始纹理采样坐标和颜色采样结果,确定目标特效溶解区域;
基于溶解参数和目标特效溶解区域确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度;其中,目标溶解循环阈值用于描述溶解组的特效溶解度和特效溶解时间,目标溶解边缘软硬度用于调整遮罩贴图边缘的软硬程度;
将调整后的遮罩贴图确定为动态循环消隐采样结果。
在一种实施方式中,溶解参数包括溶解形状缩放系数;
基于预设的溶解参数、初始纹理采样坐标和颜色采样结果,确定目标特效溶解区域,包括:
将初始纹理采样坐标与溶解形状缩放系数的比值作为第三纹理坐标,并利用第三纹理坐标对预设噪声贴图进行采样得到初始特效溶解区域;
通过颜色采样结果的对比度值调整初始特效溶解区域的对比度值,以调整溶解区域范围,并将调整后的初始特效溶解区域确定为目标特效溶解区域。
在一种实施方式中,基于溶解参数和目标特效溶解区域确定每个溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度,包括:
基于溶解参数确定每个溶解组对应的特效溶解时间;
基于特效溶解时间确定每个溶解组对应的目标溶解循环阈值;
基于溶解参数、目标溶解循环阈值和目标特效溶解区域确定每个溶解组对应的目标溶解边缘软硬度。
在一种实施方式中,溶解参数还包括溶解时间间隔参数和溶解速度参数;
基于溶解参数确定每个溶解组对应的特效溶解时间,包括:
对遮罩贴图进行采样得到每个溶解组对应的初始噪声遮罩;
对于每个溶解组,将该溶解组对应的初始噪声遮罩映射至溶解时间间隔参数的区间内,得到目标噪声遮罩;
利用当前时间调整目标噪声遮罩,并计算调整后的目标噪声遮罩与溶解速度参数的乘积作为该溶解组对应的特效溶解时间。
在一种实施方式中,基于特效溶解时间确定每个溶解组对应的目标溶解循环阈值,包括:
对于每个溶解组,对该溶解组对应的特效溶解时间进行取余处理得到初始溶解循环阈值;
对该溶解组对应的特效溶解时间进行向下取整处理得到整数溶解时间,并对取整后溶解时间进行取余处理得到阈值调整系数;
基于阈值调整系数对初始溶解循环阈值进行调整,得到该溶解组对应的目标溶解循环阈值。
在一种实施方式中,溶解参数还包括特效溶解度区间和边缘软硬度参数,特效溶解度区间用于控制特效溶解度的最大值和最小值;
基于溶解参数、目标溶解循环阈值和目标特效溶解区域确定每个溶解组对应的目标溶解边缘软硬度,包括:
对于每个溶解组,将该溶解组对应的目标溶解循环阈值映射至特效溶解度区间;
利用映射后的目标溶解循环阈值对目标特效溶解区域进行调整,得到调整后特效溶解区域;
基于边缘软硬度参数对调整后特效溶解区域进行平滑过渡处理,得到该溶解组对应的目标溶解边缘软硬度。
在一种实施方式中,基于特效采样结果、颜色采样结果和动态循环消隐采样结果对初始虚拟模型进行渲染,得到目标虚拟模型,包括:
确定特效采样结果的透明度与动态循环消隐采样结果的乘积,得到初始虚拟模型中每个像素点对应的数值;
对于初始虚拟模型中每个像素点,如果该像素点对应的数值为0,则利用颜色采样结果的颜色值对初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值为1,则利用特效采样结果的颜色值对初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值大于0且小于1,则利用颜色采样结果和特效采样结果的颜色值对初始虚拟模型中该像素点进行混合填充;
将填充后的初始虚拟模型确定为目标虚拟模型。
本发明实施例提供的可读存储介质,可以分别确定出特效采样结果、颜色采样结果和动态循环消隐采样结果,从而控制特效贴图在虚拟模型上的抖动、动态循环消隐的效果,可以较好地在虚拟模型上实现特效动态消隐变化的美术效果,而且无需在虚拟模型上额外增加特效贴片,因此可以有效避免因特效贴片而导致的穿模风险。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种虚拟模型的特效渲染方法,其特征在于,包括:
获取初始虚拟模型和所述初始虚拟模型待渲染的初始特效贴图;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对所述初始特效贴图进行采样得到特效采样结果;以及,对所述初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和所述初始纹理采样坐标确定动态循环消隐采样结果;
基于所述特效采样结果、所述颜色采样结果和所述动态循环消隐采样结果对所述初始虚拟模型进行渲染,得到目标虚拟模型。
2.根据权利要求1所述的虚拟模型的特效渲染方法,其特征在于,所述抖动参数包括抖动速度参数、抖动强度参数和抖动偏移坐标;
根据预设的抖动参数和针对所述初始特效贴图的初始纹理采样坐标,对所述初始特效贴图进行采样得到特效采样结果,包括:
根据当前时间、所述抖动速度参数和所述初始纹理采样坐标,确定当前时间针对所述初始特效贴图的第一纹理采样坐标,并利用所述第一纹理采样坐标对预设噪声贴图进行采样得到噪声轮廓采样结果;
基于所述抖动强度参数调整所述噪声轮廓采样结果;
基于所述初始纹理采样坐标、所述抖动偏移坐标和调整后的所述噪声轮廓采样结果以得到第二纹理坐标,并利用所述第二纹理坐标对所述初始特效贴图进行采样得到特效采样结果。
3.根据权利要求1所述的虚拟模型的特效渲染方法,其特征在于,根据预设的溶解参数和所述初始纹理采样坐标确定动态循环消隐采样结果,包括:
按照预设的遮罩贴图中每个颜色区域确定多个溶解组;
基于预设的溶解参数、所述初始纹理采样坐标和所述颜色采样结果,确定目标特效溶解区域;
基于所述溶解参数和所述目标特效溶解区域确定每个所述溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度;其中,所述目标溶解循环阈值用于描述所述溶解组的特效溶解度和特效溶解时间,所述目标溶解边缘软硬度用于调整所述遮罩贴图边缘的软硬程度;
将调整后的所述遮罩贴图确定为动态循环消隐采样结果。
4.根据权利要求3所述的虚拟模型的特效渲染方法,其特征在于,所述溶解参数包括溶解形状缩放系数;
基于预设的溶解参数、所述初始纹理采样坐标和所述颜色采样结果,确定目标特效溶解区域,包括:
将所述初始纹理采样坐标与所述溶解形状缩放系数的比值作为第三纹理坐标,并利用所述第三纹理坐标对预设噪声贴图进行采样得到初始特效溶解区域;
通过所述颜色采样结果的对比度值调整所述初始特效溶解区域的对比度值,以调整溶解区域范围,并将调整后的所述初始特效溶解区域确定为目标特效溶解区域。
5.根据权利要求3所述的虚拟模型的特效渲染方法,其特征在于,基于所述溶解参数和所述目标特效溶解区域确定每个所述溶解组对应的目标溶解循环阈值和目标溶解边缘软硬度,包括:
基于所述溶解参数确定每个所述溶解组对应的特效溶解时间;
基于所述特效溶解时间确定每个所述溶解组对应的目标溶解循环阈值;
基于所述溶解参数、所述目标溶解循环阈值和所述目标特效溶解区域确定每个所述溶解组对应的目标溶解边缘软硬度。
6.根据权利要求5所述的虚拟模型的特效渲染方法,其特征在于,所述溶解参数还包括溶解时间间隔参数和溶解速度参数;
基于所述溶解参数确定每个所述溶解组对应的特效溶解时间,包括:
对所述遮罩贴图进行采样得到每个所述溶解组对应的初始噪声遮罩;
对于每个所述溶解组,将该溶解组对应的所述初始噪声遮罩映射至所述溶解时间间隔参数的区间内,得到目标噪声遮罩;
利用当前时间调整所述目标噪声遮罩,并计算调整后的所述目标噪声遮罩与所述溶解速度参数的乘积作为该溶解组对应的特效溶解时间。
7.根据权利要求5所述的虚拟模型的特效渲染方法,其特征在于,基于所述特效溶解时间确定每个所述溶解组对应的目标溶解循环阈值,包括:
对于每个所述溶解组,对该溶解组对应的所述特效溶解时间进行取余处理得到初始溶解循环阈值;
对该溶解组对应的所述特效溶解时间进行向下取整处理得到整数溶解时间,并对所述取整后溶解时间进行取余处理得到阈值调整系数;
基于所述阈值调整系数对所述初始溶解循环阈值进行调整,得到该溶解组对应的目标溶解循环阈值。
8.根据权利要求5所述的虚拟模型的特效渲染方法,其特征在于,所述溶解参数还包括特效溶解度区间和边缘软硬度参数,所述特效溶解度区间用于控制特效溶解度的最大值和最小值;
基于所述溶解参数、所述目标溶解循环阈值和所述目标特效溶解区域确定每个所述溶解组对应的目标溶解边缘软硬度,包括:
对于每个所述溶解组,将该溶解组对应的所述目标溶解循环阈值映射至所述特效溶解度区间;
利用映射后的所述目标溶解循环阈值对所述目标特效溶解区域进行调整,得到调整后特效溶解区域;
基于所述边缘软硬度参数对所述调整后特效溶解区域进行平滑过渡处理,得到该溶解组对应的目标溶解边缘软硬度。
9.根据权利要求1所述的虚拟模型的特效渲染方法,其特征在于,基于所述特效采样结果、所述颜色采样结果和所述动态循环消隐采样结果对所述初始虚拟模型进行渲染,得到目标虚拟模型,包括:
确定所述特效采样结果的透明度与所述动态循环消隐采样结果的乘积,得到所述初始虚拟模型中每个像素点对应的数值;
对于所述初始虚拟模型中每个像素点,如果该像素点对应的数值为0,则利用所述颜色采样结果的颜色值对所述初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值为1,则利用所述特效采样结果的颜色值对所述初始虚拟模型中该像素点进行填充;
或者,如果该像素点对应的数值大于0且小于1,则利用所述颜色采样结果和所述特效采样结果的颜色值对所述初始虚拟模型中该像素点进行混合填充;
将填充后的初始虚拟模型确定为目标虚拟模型。
10.一种虚拟模型的特效渲染装置,其特征在于,包括:
获取模块,用于获取初始虚拟模型和所述初始虚拟模型待渲染的初始特效贴图;
贴图确定模块,用于根据预设的抖动参数和所述初始特效贴图的初始纹理采样坐标,对所述初始特效贴图进行采样得到特效采样结果;以及,对所述初始虚拟模型的颜色贴图进行采样得到颜色采样结果;以及,根据预设的溶解参数和所述初始纹理采样坐标确定动态循环消隐采样结果;
渲染模块,用于基于所述特效采样结果、所述颜色采样结果和所述动态循环消隐采样结果对所述初始虚拟模型进行渲染,得到目标虚拟模型。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310712417.XA CN116688492A (zh) | 2023-06-15 | 2023-06-15 | 虚拟模型的特效渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310712417.XA CN116688492A (zh) | 2023-06-15 | 2023-06-15 | 虚拟模型的特效渲染方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116688492A true CN116688492A (zh) | 2023-09-05 |
Family
ID=87825300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310712417.XA Pending CN116688492A (zh) | 2023-06-15 | 2023-06-15 | 虚拟模型的特效渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116688492A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117455753A (zh) * | 2023-10-12 | 2024-01-26 | 书行科技(北京)有限公司 | 特效模板生成方法、特效生成方法、装置及存储介质 |
-
2023
- 2023-06-15 CN CN202310712417.XA patent/CN116688492A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117455753A (zh) * | 2023-10-12 | 2024-01-26 | 书行科技(北京)有限公司 | 特效模板生成方法、特效生成方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109377546B (zh) | 虚拟现实模型渲染方法及装置 | |
CN108236783B (zh) | 游戏场景中模拟光照的方法、装置、终端设备及存储介质 | |
KR100369909B1 (ko) | 원영상을수정하는장치및방법 | |
CN111882627B (zh) | 图像处理方法、视频处理方法、装置、设备和存储介质 | |
CN111080780B (zh) | 虚拟角色模型的边缘处理方法和装置 | |
CN113838176A (zh) | 模型的训练方法、三维人脸图像生成方法及设备 | |
CN109985384B (zh) | 贴图动态调整方法及装置 | |
CN116688492A (zh) | 虚拟模型的特效渲染方法、装置、电子设备及存储介质 | |
US9697642B2 (en) | Image processing device and image processing method | |
US8587608B2 (en) | Preventing pixel modification of an image based on a metric indicating distortion in a 2D representation of a 3D object | |
US7508390B1 (en) | Method and system for implementing real time soft shadows using penumbra maps and occluder maps | |
CN111402373A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
KR20050030569A (ko) | 화상 처리 장치 및 그 방법 | |
US7180523B1 (en) | Trimming surfaces | |
JP2003150146A (ja) | 画像処理装置および画像処理プログラム | |
Malan | Edge Antialiasing by Post-Processing | |
CN110852974A (zh) | 图像抗锯齿处理方法、图像生成器的训练方法及装置 | |
JP3502796B2 (ja) | ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
CN110458922B (zh) | 图形渲染方法及相关产品 | |
CN115761100A (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
CN116012512A (zh) | 泡沫效果的渲染方法、渲染装置、电子设备、存储介质 | |
CN113781620B (zh) | 游戏中的渲染方法、装置和电子设备 | |
CN112370786B (zh) | 游戏中的妆容绘制方法、装置和电子设备 | |
CN114549732A (zh) | 模型的渲染方法、装置及电子设备 | |
CN117218270A (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 |