一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

游戏中闪电特效的呈现方法、装置、电子设备及存储介质与流程

2022-04-09 06:23:38 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,尤其是涉及游戏中闪电特效的呈现方法、装置、电子设备及存储介质。


背景技术:

2.在三维游戏场景中,为了更逼真地呈现出游戏场景中的天气变化,或是目标虚拟角色执行的特殊游戏操作,需要在游戏场景中呈现出各式各样的特效,闪电特效便是其中之一,在天气环境模拟的过程中对于闪电特效的渲染是必不可缺的。
3.现阶段,对于闪电特效的呈现,为了准确地呈现闪电效果,通常会使用时间三角函数(sin(time))去模拟闪电的亮度变化,而在此过程中如果使用简单的三角函数会导致效果单一且规律重复和真实闪电差距甚远,而使用复杂的三角函数去模拟闪电的变化,则会增加终端的数据处理量,降低闪电特效的渲染效率,如何在提升闪电特效的渲染效率,成为亟待解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供游戏中闪电特效的呈现方法、装置、电子设备及存储介质,将确定出的目标闪电在各个采样时间对应的视频帧上的亮度值输入至染色器中,染色器通过视频帧与亮度值之间的关系,调整基础闪电形态图像的亮度,通过染色器输出的闪电渲染图像,呈现闪电动画,由于仅是对目标闪电亮度值的复刻以及处理,减少了闪电渲染过程中数据的处理量,提升了闪现特效渲染的效率。
5.第一方面,本技术实施例提供了一种游戏中闪电特效的呈现方法,应用于显示有图形用户界面的终端,所述图形用户界面上显示有至少部分的游戏场景,所述呈现方法包括:
6.响应于满足渲染闪电特效的触发条件,将目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像,并根据所述采样时间确定所述多张闪电渲染图像的播放顺序;
7.基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在所述游戏场景中渲染出闪电特效的闪电动画。
8.在一种可能的实施方式中,响应于满足渲染闪电特效的触发条件,包括:
9.响应于所述游戏场景中的目标虚拟角色触发的游戏操作中带有闪电特效;或者;
10.响应于所述游戏场景中出现闪电天气环境。
11.在一种可能的实施方式中,通过以下步骤确定所述视频帧上的亮度值:
12.针对每个所述视频帧,确定该视频帧内的闪电区域以及闪电关联区域中的各个像素点的亮度值;
13.针对每个所述视频帧,根据各个像素点的亮度值,确定该视频帧上的亮度值。
14.在一种可能的实施方式中,所述呈现方法还包括:
15.根据所述目标闪电在各个采样时间对应的视频帧上的亮度值,生成闪电亮度数值图像;闪电亮度数值图像中显示有多个像素,所述多个像素与多个所述视频帧一一对应;每个所述像素的亮度值用于表征该像素所对应的视频帧的亮度值;
16.将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,包括:
17.将所述闪电亮度数值图像输入至渲染所述闪电特效的染色器中。
18.在一种可能的实施方式中,将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像,包括:
19.将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,确定每个视频帧上的亮度值;
20.针对于每一视频帧,基于该视频帧上的亮度值与所述基础闪电形态图像的图像亮度值之间的比值,确定对所述基础闪电形态图像进行亮度调整的调整系数;
21.针对于每一视频帧,基于所述调整系数将所述基础闪电形态图像的图像亮度调整至目标亮度值,以确定所述闪电渲染图像。
22.在一种可能的实施方式中,通过以下步骤确定该张闪电渲染图像的播放顺序:
23.针对于每一张闪电渲染图像,根据目标视频帧在全部视频帧的采样时间中的大小次序,确定该张闪电渲染图像的播放顺序;该张闪电渲染图像是依据所述目标视频帧的亮度值生成的。
24.在一种可能的实施方式中,所述基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画,包括:
25.确定预先设置的在所述游戏场景中所述闪电特效的呈现时间;
26.检测所述闪电特效的呈现时间是否大于播放完全部闪电渲染图像的播放时间;
27.若大于,基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画渲染出闪电动画,并重复渲染所述闪电动画,直至渲染出的闪电动画的总播放时间达到所述呈现时间。
28.在一种可能的实施方式中,所述基础闪电形态图像为预先存储在所述染色器中的具有固定形状的闪电图像;或者;
29.所述基础闪电形态图像为每次对目标闪电进行渲染时,根据闪电特效的渲染形态需求生成的。
30.第二方面,本技术实施例还提供了一种游戏中闪电特效的呈现装置,应用于显示有图形用户界面的终端,所述图形用户界面上显示有至少部分的游戏场景,所述呈现装置包括:
31.渲染图像确定模块,用于响应于满足渲染闪电特效的触发条件,将目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像,并根据所述采样时间确定所述多张闪电渲染图像的播放顺序;
32.闪电渲染模块,用于基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染
图像在游戏场景中渲染出所述闪电特效的闪电动画。
33.第三方面,本技术实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面任一项所述的游戏中闪电特效的呈现方法的步骤。
34.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的游戏中闪电特效的呈现方法的步骤。
35.本技术实施例提供的游戏中闪电特效的呈现方法、装置、电子设备及存储介质,响应于满足渲染闪电特效的触发条件,将用于渲染闪电特效的目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染闪电特效的染色器中,染色器分别基于各个视频帧上的亮度值和预先在染色器中的基础闪电形态图像,输出多张闪电渲染图像,并且通过采样时间确定多张闪电渲染图像的播放顺序,根据每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出闪电特效的闪电动画。在本技术实施例中,将确定出的目标闪电在各个采样时间对应的视频帧上的亮度值输入至染色器中,染色器通过视频帧与亮度值之间的关系,调整基础闪电形态图像的亮度,通过染色器输出的闪电渲染图像,呈现闪电动画,由于仅是对目标闪电亮度值的复刻以及处理,减少了闪电渲染过程中数据的处理量,提升了闪现特效渲染的效率。
36.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
38.图1为本技术实施例所提供的一种游戏中闪电特效的呈现方法的流程图;
39.图2为本技术实施例所提供的另一种游戏中闪电特效的呈现方法的流程图;
40.图3为本技术实施例所提供的一种游戏中闪电特效的呈现装置的结构示意图之一;
41.图4为本技术实施例所提供的一种游戏中闪电特效的呈现装置的结构示意图之二;
42.图5为本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
43.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的
实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本技术保护的范围。
44.首先,对本技术可适用的应用场景进行介绍。本技术可应用于图像处理技术领域。
45.在三维游戏场景中,为了更逼真地呈现出游戏场景中的天气变化,或是目标虚拟角色执行的特殊游戏操作,需要在游戏场景中呈现出各式各样的特效,闪电特效便是其中之一,在天气环境模拟的过程中对于闪电特效的渲染是必不可缺的。
46.现阶段,对于三维游戏场景中的闪电特效的呈现一般包括以下几种方式:在游戏引擎染色器中使用复杂的三角函数去模拟还原闪电亮度变化,通过使用大量的三角函数与反三角函数去模拟制作出和闪电视频完全一样的闪电曲线;采用动画系统,通过调整素材亮度,把闪电视频中闪电变化的每一帧的亮度都相对应的设置给素材;使用脚本控制游戏引擎的粒子特效系统。先用粒子系统制作单次闪电的特效,然后使用脚本每隔特定时间或者随机时间去调用触发这些闪电特效。
47.经研究发现,上述方式均存在一定的弊端,具体地:
48.使用复杂的三角函数去模拟还原闪电亮度变化,因为本技术技术方案的实时平台是移动端平台,所以在染色器中使用大量的三角函数与反三角函数会使硬件产生大量的算力消耗。(如果只是还原单次闪电的曲线图,那么开销就不高)。总的来说,代价就是机器性能开销较大且制作人需要很强的数学和信号学背景才能制作出完全一样的闪电曲线。
49.使用粒子动画系统,无论是ue4,unity还是messiah,使用游戏引擎的粒子系统就代表着需要花费大量的时间去做帧处理,把视频中闪电变化的每一帧都相对应的还原到游戏引擎中去。总的来说,代价就是费时间,需要大量时间进行比对打磨。
50.使用脚本控制游戏引擎的粒子特效系统,其缺点一必须通过特殊定制的外挂的脚本控制去控制生成或者播放这些特效,必须绑定使用。缺点二是复刻目标视频内的闪电变化非常花时间。使用这种方案去制作闪电系统模拟闪电是很好的,但是想制作出和目标视频里完全一样的闪电变化则非常费时,因为和使用粒子动画系统一样需要大量时间进行比对打磨。
51.基于此,本技术实施例提供了一种游戏中闪电特效的呈现方法,以减少闪电渲染过程中的数据的处理量,提升闪现特效渲染的效率。
52.请参阅图1,图1为本技术实施例所提供的一种游戏中闪电特效的呈现方法的流程图。如图1中所示,本技术实施例提供的游戏中闪电特效的呈现方法,包括:
53.s101、响应于满足渲染闪电特效的触发条件,将目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像,并根据所述采样时间确定所述多张闪电渲染图像的播放顺序。
54.s102、基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画。
55.本技术实施例提供了一种游戏中闪电特效的呈现方法,将确定出的目标闪电在各个采样时间对应的视频帧上的亮度值输入至染色器中,染色器通过视频帧与亮度值之间的关系,调整基础闪电形态图像的亮度,通过染色器输出的闪电渲染图像,呈现闪电动画,由
于仅是对目标闪电亮度值的复刻以及处理,减少了闪电渲染过程中数据的处理量,提升了闪现特效渲染的效率。
56.下面对本技术实施例示例性的各步骤进行说明:
57.s101、响应于满足渲染闪电特效的触发条件,将目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像,并根据所述采样时间确定所述多张闪电渲染图像的播放顺序。
58.在本技术实施例中,响应于在游戏场景中的闪电特效的渲染需求,将目标闪电在各个采样时间对应的视频帧的亮度值输入至渲染闪电特效的染色器中,通过染色器根据各个亮度值和基础闪电形态图像,输出多张闪电渲染图像,并根据采样时间确定出多张闪电渲染图像的播放顺序。
59.在一种可能的实施方式中,这种闪电特效是具有特定变化的闪电特效,具体地,本技术实施例中的闪电特效是跟随时间变化而亮度发生变化的闪电特效,一般来说,本技术实施例中的闪电特效的形态基本保持不变。
60.在一种可能的实施方式中,闪电特效可以是天气环境中的闪电特效,还可以是游戏场景中目标虚拟角色在执行操作,相应的执行操作带有的闪电特效。
61.在一种可能的实施方式中,响应于满足渲染闪电特效的触发条件,包括:
62.响应于所述游戏场景中的目标虚拟角色触发的游戏操作中带有闪电特效;或者;
63.响应于所述游戏场景中出现闪电天气环境。
64.具体地,针对于目标虚拟角色触发带有闪电特效的游戏操作的情况,在确定出目标虚拟角色有执行带有闪电特效的游戏操作时,确定触发了渲染闪电特效的条件,对于目标虚拟角色要执行带有闪电特效的游戏操作的判定,可以是接收到了玩家在与该游戏操作对应的控件上的触控操作;若是目标虚拟角色执行的带有闪电特效的游戏操作是周期性的,则可以根据周期对应的时间节点,来确定目标虚拟角色是否发出了带有闪电特效的游戏操作。
65.具体地,针对于游戏场景中出现闪电天气环境的情况,可以是呈现天气环境的动画,当天气环境动画的某帧中带有闪电时,确定天气场景中出现闪电天气环境;或者也可以是根据玩家的交互来确定,玩家在进行游戏时,可以对游戏场景的天气环境进行设置,当玩家设置了相应的天气(雨天等)也是属于游戏场景中出现闪电天气环境。
66.值得注意的是,本技术实施例的方案并不仅仅只针对于闪电特效,还可以是一切有亮度变化的特效(灯光特效等)。
67.在一种可能的实施方式中,对于本技术实施例中渲染的闪电特效是复刻预先获取的视频中的目标闪电,预先获取的视频可以来源于其他游戏场景中的带有目标闪电的视频,还可以是真实的闪电视频。
68.具体地,对于预先获取到的带有目标闪电的目标视频画面单位时间内(每秒)传输帧数一般为30fps,60fps更优。
69.在一种可能的实施方案中,通过以下步骤确定视频帧上的亮度值:
70.a1:针对每个所述视频帧,确定该视频帧内的闪电区域以及闪电关联区域中的各个像素点的亮度值。
71.在本技术实施例中,对于带有目标闪电的目标视频的处理是,按照预设时间间隔进行采样,确定出多张视频帧图像,还可以是直接利用现有软件(photoshop等)的导入视频帧功能,对目标视频进行逐帧处理。
72.示例性地,对目标视频按照预设时间间隔进行采样可以是通过python脚本进行的。
73.在一种可能的实施方式中,在每张视频帧图像来说,需要对该张视频帧图像进行范围裁剪,确定出每张视频帧图像中包括的闪电区域以及与目标闪电相关联的闪电关联区域,并且在每张视频帧图像的固定采样位置,确定出多个像素点,并根据各个固定采样位置中包括的多个像素点的亮度值。
74.在一种可能的实施方式中,固定采样位置可以是根据闪电区域以及闪电关联区域内的像素点分布(稀疏程度以及像素点颜色等)来确定。
75.值得注意的是,在确定出固定采样位置后,对于确定出的多张视频帧图像来说,确定亮度值均是根据固定采样位置处的像素点来确定。
76.a2:针对每个所述视频帧,根据各个像素点的亮度值,确定该视频帧上的亮度值。
77.在本技术实施例中,针对于每个视频帧来说,根据确定出的各个像素点的亮度值,确定出该视频帧上的亮度值。
78.具体地,可以是将各个像素点按照rgb通道进行累计加和,确定出一个数值总量,将这个数量总值确定为该视频帧上的亮度值。
79.举例来说,通过计算r通道上的数值为76,g通道上的数值为254,b通道上的数值为100,那么确定出该视频帧上的亮度值为430(76 254 100)。
80.在一种可能的实施方式中,当获取到目标闪电在各个采样时间对应的视频帧上的亮度值后,可以是将视频帧与亮度值的对应关系直接存储在一起(如存储在一个表格中),直接输入至染色器种根据视频帧与亮度值的对应关系对闪电特效的动画进行设置,但是在这种处理方式中,需要另外针对染色器编写脚本或是连接其他的逻辑处理器件来进行处理,这可能会耗费较多的时间,因此可以直接将视频帧与亮度值的对应关系存在在可以被染色器直接识别的图像中来进行后续的处理,以此来提升处理的效率。
81.在一种可能的实施方式中,所述呈现方法还包括:
82.b1:根据所述目标闪电在各个采样时间对应的视频帧上的亮度值,生成闪电亮度数值图像。
83.值得注意的是,为了节省终端的存储空间,提升终端的处理效率,在本技术实施例中对于闪电特效的渲染过程中,存储在终端的仅是表征标闪电在各个采样时间对应的视频帧上的亮度值关系的闪电亮度数值图像。
84.在本技术实施例中,是需要将每个视频帧上的亮度值作为像素点写入到闪电亮度数值图像中,因此,需要针对于每个亮度值进行归一化处理,将亮度值统一调整至[0,255]这个颜色区间中。
[0085]
在一种可能实施方式中,闪电亮度数值图像中显示有多个像素,所述多个像素与多个所述视频帧一一对应;每个所述像素的亮度值用于表征该像素所对应的视频帧的亮度值。
[0086]
具体地,对于闪电亮度数值图像来说,对于图像中的每个像素点均有自己的设置
位置,通过像素点位置与视频帧进行对应,将每个视频帧对应的亮度值写入闪电亮度数值图像中。
[0087]
举例来说,闪电亮度数值图像可以是一个高度为1,宽度为n的2次方的tga(默认)图像,将第一帧视频帧对应的亮度值写入闪电亮度数值图像中坐标为(1,1)的像素点处,依此类推,直至全部视频帧对应的亮度值写入闪电亮度数值图像中。
[0088]
具体地,闪电亮度数值图像可以是一个高度为n,宽度为n的图像,将第一帧视频帧对应的亮度值写入闪电亮度数值图像中坐标为(1,1)的像素点处,而第n 1帧视频帧对应的亮度值写入闪电亮度数值图像中坐标为(2,1)的像素点处,依此类推,直至全部视频帧对应的亮度值写入闪电亮度数值图像中。
[0089]
在本技术实施例中,当将各个采样时间对应的视频帧上的亮度值写入闪电亮度数值图像的方式下,步骤“将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电的染色器中”,包括:
[0090]
c1:将所述闪电亮度数值图像输入至渲染所述闪电的染色器中。
[0091]
在本技术实施例中,在确定出指示各个采样时间对应的视频帧上的亮度值的闪电亮度数值图像后,直接将闪电亮度数值图像输入至染色器中,通过染色器按照时间节点读取闪电亮度数值图像,进行闪电图像的亮度渲染。
[0092]
在一种可能的实施方式中,步骤“将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像”,包括:
[0093]
d1:将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,确定每个视频帧上的亮度值。
[0094]
在本技术实施例中,将确定出的目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染闪电特效的染色器中,根据视频帧与亮度值的对应关系,确定出在每个视频帧上的亮度值。
[0095]
d2:针对于每一视频帧,基于该视频帧上的亮度值与所述基础闪电形态图像的图像亮度值之间的比值,确定对所述基础闪电形态图像进行亮度调整的调整系数。
[0096]
在本技术实施例中,是需要将基础闪电形态图像的图像亮度值调整到与对应的视频帧上的亮度值一致,因此,可以先确定出视频帧上的亮度值与基础闪电形态图像的图像亮度值之间的差异,可以根据差异确定出需要对基础闪电形态图像进行亮度调整的调整系数。
[0097]
在一种可能的实施方式中,调整系数可以是该视频帧上的亮度值。
[0098]
在本技术实施例中,基础闪电形态图像为预先存储在所述染色器中的具有固定形状的闪电图像;或者;所述基础闪电形态图像为每次对目标闪电进行渲染时,根据目标闪电的渲染形态需求生成的。
[0099]
具体地,因为在本技术实施例中,主要关注的是闪电特效随时间变化的特征,因此可以实现将固定形状的基础闪电图像存储在染色器中,在生成闪电动画时,直接根据亮度值调整基础闪电图像的亮度即可。
[0100]
在一种可能的实施方式中,基础闪电图像中闪电的固定形状可以是历史闪电呈现中过程中的闪电形状,也可是根据视频帧中的目标闪电确定出的固定形态的闪电形状。
[0101]
在另一种可能的实施方式中,基础闪电形态图像为每次对闪电特效进行渲染时,根据闪电特效的渲染形态需求生成的,在每次需要对闪电特效进行渲染时,需要根据渲染需求(闪电形态要求)确定出基础闪电图像中的闪电形态。
[0102]
具体地,目标闪电的渲染形态需求可以是目标虚拟角色所执行的游戏操作对应的闪电特效的形态(闪电特效形态与游戏操作的对应关系是预先设置的),由于每次目标虚拟角色所执行的游戏操作可能不同,因此,可以是在每次渲染闪电特效时,根据闪电特效的渲染需求进行渲染。
[0103]
d3:针对于每一视频帧,基于所述调整系数将所述基础闪电形态图像的图像亮度调整至目标亮度值,以确定所述闪电渲染图像。
[0104]
在本技术实施例中,根据确定出的调整系数将基础闪电形态图像的图像亮度调整至目标亮度值,将调整亮度后的基础闪电形态图像,确定为闪电渲染图像。
[0105]
在一种可能的实施方式中,可以将该视频帧对应的亮度值直接作为调整系数对基础闪电形态图像中各个像素的rgb通道的值进行调整,具体的调整方式可以是根据调整需求进行确定,最直接的调整方式为将亮度值直接乘到各个像素的rgb通道的值上,对基础闪电形态图像的亮度值进行调整。
[0106]
rgb通道的值与亮度的对应关系为:rgb通道的各个值越大,图像的亮度越高;反之,图像的亮度值越低。
[0107]
在一种可能的实施方式中,还可以根据呈现需求对图像的其他参数进行调整,例如,需要设置闪电渲染图像的透明度,可以将调整系数在alpha通道上进行调整,以此来调整闪电渲染图像的透明度。
[0108]
在本技术实施例中,在确定出多张亮度不同的闪电渲染图像后,需要根据采样时间的顺序,来确定出多张闪电渲染图像的顺序,以此来生成渲染闪电特效的动画。
[0109]
具体地,通过以下步骤确定该张闪电渲染图像的播放顺序:
[0110]
e1:针对于每一张闪电渲染图像,根据目标视频帧在全部视频帧的采样时间中的大小次序,确定该张闪电渲染图像的播放顺序;该张闪电渲染图像是依据所述目标视频帧的亮度值生成的。
[0111]
在本技术实施例中,针对于每一张闪电渲染图像,根据目标视频帧在全部视频帧的采样时间的次序,确定出依据目标视频帧的亮度值生成的闪电渲染图像的播放顺序。
[0112]
举例来说,目标视频帧在采样过程中是第三帧,那么根据目标视频帧的亮度值生成的闪电渲染图像的播放顺序也是在第三位,值得注意的是,这种方式是针对于多张闪电渲染图像不循环播放的情况。
[0113]
在一种可能的实施方式中,若是多张闪电渲染图像循环播放的情况,可以通过以下公式来确定各张闪电渲染图像的播放顺序:
[0114]
s=n m
×
(r-1);
[0115]
其中,s为目标视频帧对应的闪电渲染图像的播放次序;n为目标视频帧在部视频帧的采样时间中的大小次序;m为全部视频帧的数量;r为循环次数。
[0116]
值得注意的是,对于确定的是每张闪电渲染图像的播放顺序是针对于同一时间直接确定出多张闪电渲染图像的方案,还可以是在染色器中根据游戏中时间的推进按照视频帧的播放顺序实时渲染闪电渲染图像,这种方式下,将表征目标闪电在各个采样时间对应
的视频帧上的亮度值的闪电亮度数值图像直接放入到染色器中,使用时间节点的增量时间(deltatime)作为基础闪电形态图像的u通道,设0作为v通道的值,将该向量作为uv连到闪电亮度数值图像的图像节点上,读取图像节点的r通道(或者其他通道存放数值的通道)作为变化数值乘到染色器中对于基础闪电形态图像所选用的基础颜色(base color)或者自发光颜色(emissive color)上得到闪电渲染图像。
[0117]
s102、基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画。
[0118]
在本技术实施例中,在确定出每张闪电渲染图像的播放顺序后,可以根据每张闪电渲染图像的播放顺序在游戏场景中渲染出闪电动画,但是,目标闪电在各个采样时间对应的视频帧上的亮度值是从目标视频中截取出的,由于目标视频的时长是有限的,那么根据目标视频确定出的对应的视频帧上的亮度值的数量也是有限的,进而生成的闪电渲染图像的播放时间也是有限的,由于在不同的游戏场景中对于闪电特效的呈现时间是不同的,因此,需要根据多张闪电渲染图像的播放时间以及闪电特效的呈现时间来确定出对于多张闪电渲染他图像的播放顺序以及播放次数。
[0119]
具体地,请参阅图2,图2为本技术实施例所提供的另一种游戏中闪电特效的呈现方法的流程图。如图2中所示,步骤“基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画”,包括:
[0120]
s201、确定预先设置的在所述游戏场景中所述闪电特效的呈现时间。
[0121]
在本技术实施例中,可以根据不同的游戏场景,或者是不同的闪电特效呈现方式,来确定出闪电特效的呈现时间。
[0122]
举例来说,一般来说天气环境中的闪电特效的呈现时间是要大于游戏场景中的目标虚拟角色执行相应的游戏操作时的闪电特效,具体的闪电特效的呈现时间,可以根据游戏配置具体设置。
[0123]
s202、检测所述闪电特效的呈现时间是否大于播放完全部闪电渲染图像的播放时间。
[0124]
在本技术实施例中,播放完全部闪电渲染图像的播放时间可以是根据预先设置的画面每秒传输帧数来确定。
[0125]
举例来说,游戏中设置的画面每秒传输帧数为30fps,那么若是确定出的闪电渲染图像总共有60张,那么将全部闪电渲染图像播放完的时间就是2秒。
[0126]
s203、若大于,基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画,并重复渲染所述闪电动画,直至渲染出的闪电动画的总播放时间达到所述呈现时间。
[0127]
在本技术实施例中,若是确定出需要咋游戏场景中呈现的闪电特效的时间大于将多张闪电渲染图像全部播放完毕的播放时间,需要将多张闪电渲染图像进行循环播放。
[0128]
在一种可能的实施方式中,对于多张闪电渲染图像的循环播放可以是按照每张闪电渲染图像的播放顺序,将全部闪电渲染图像播放完毕后,再次从头开始循环播放各张闪电渲染图像,直至渲染出的闪电动画的总播放时间达到在游戏场景中对闪电特效的呈现时间。
[0129]
在另一种可能的实施方式中,对于多张闪电渲染图像的循环播放还可以是按照每
张闪电渲染图像的播放顺序,从预设位置处(如第三张闪电渲染图像的位置处)来循环播放闪电动画,对于每次循环的图像节点可以不同,具体要从哪张闪电渲染图像处开始进行循环与闪电特效的呈现效果有关,可以根据游戏场景中对于闪电特效的渲染需求进行具体设置。
[0130]
在另一种可能的实施方式中,对于将多张闪电渲染图像全部播放完毕,不能完整呈现游戏场景中对于闪电特效的呈现时间需求的情况,还可以选择不循环播放多张闪电渲染图像,可以直接在最后一张闪电渲染图像后,填充预先设置的场景渲染图像,来完成闪电特效的呈现,具体场景渲染图像的呈现形态与游戏场景中的渲染需求有关,对于场景渲染图像的渲染张数,可以由对于闪电特效的呈现所需的图像数量与全部闪电渲染图像的数量来确定。
[0131]
举例来说,需要在游戏场景中呈现2秒的闪电特效,并且根据游戏设置可知,游戏场景中的帧率为30fps,那么呈现出2秒的闪电特效则需要60张图像,而闪电渲染图像的数量为50张,那么采用其他场景渲染图像来填充闪电渲染图像的空缺时,需要的场景渲染图像的数量至少为10张。
[0132]
在一种可能的实施方式中,若是闪电特效的呈现时间不大于播放完全部闪电渲染图像的播放时间,这时对于多张闪电渲染图像的呈现方式可以是:基于每张闪电渲染图像的播放顺序,从所述多张闪电渲染图像中确定出与呈现时间对应的图像的数量一致的至少一张目标渲染图像;基于每张目标渲染图像的播放顺序,依次根据每张目标渲染图像在游戏场景中渲染出闪电动画。
[0133]
本技术实施例提供的游戏中闪电特效的呈现方法,响应于满足渲染闪电特效的触发条件,将用于渲染闪电特效的目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染闪电特效的染色器中,染色器分别基于各个视频帧上的亮度值和预先在染色器中的基础闪电形态图像,输出多张闪电渲染图像,并且通过采样时间确定多张闪电渲染图像的播放顺序,根据每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出闪电特效的闪电动画。在本技术实施例中,将确定出的目标闪电在各个采样时间对应的视频帧上的亮度值输入至染色器中,染色器通过视频帧与亮度值之间的关系,调整基础闪电形态图像的亮度,通过染色器输出的闪电渲染图像,呈现闪电动画,由于仅是对目标闪电亮度值的复刻以及处理,减少了闪电渲染过程中数据的处理量,提升了闪现特效渲染的效率。
[0134]
基于同一发明构思,本技术实施例中还提供了与游戏中闪电特效的呈现方法对应的游戏中闪电特效的呈现装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述游戏中闪电特效的呈现方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0135]
请参阅图3、图4,图3为本技术实施例所提供的一种游戏中闪电特效的呈现装置的结构示意图之一,图4为本技术实施例所提供的一种游戏中闪电特效的呈现装置的结构示意图之二。如图3中所示,所述呈现装置300包括:
[0136]
渲染图像确定模块310,用于响应于满足渲染闪电特效的触发条件,将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像,
并根据所述采样时间确定所述多张闪电渲染图像的播放顺序;
[0137]
闪电渲染模块320,用于基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画。
[0138]
在一种可能的实施方式中,如图4所示,所述呈现装置300还包括亮度值确定模块330,所述亮度值确定模块330用于:
[0139]
针对每个所述视频帧,确定该视频帧内的闪电区域以及闪电关联区域中的各个像素点的亮度值;
[0140]
针对每个所述视频帧,根据各个像素点的亮度值,确定该视频帧上的亮度值。
[0141]
在一种可能的实施方式中,如图4所示,所述呈现装置300还包括亮度图像生成模块340,所述亮度图像生成模块340用于:
[0142]
根据所述目标闪电在各个采样时间对应的视频帧上的亮度值,生成闪电亮度数值图像;闪电亮度数值图像中显示有多个像素,所述多个像素与多个所述视频帧一一对应;每个所述像素的亮度值用于表征该像素所对应的视频帧的亮度值。
[0143]
所述渲染图像确定模块310在用于将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中时,所述渲染图像确定模块310用于:
[0144]
将所述闪电亮度数值图像输入至渲染所述闪电特效的染色器中。
[0145]
在一种可能的实施方式中,所述渲染图像确定模块310在用于响应于满足渲染闪电特效的触发条件时,所述渲染图像确定模块310用于:
[0146]
响应于所述游戏场景中的目标虚拟角色触发的游戏操作中带有闪电特效;或者;
[0147]
响应于所述游戏场景中出现闪电天气环境。
[0148]
在一种可能的实施方式中,所述渲染图像确定模块310在用于将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,以使染色器分别基于各个所述视频帧上的亮度值和基础闪电形态图像,输出多张闪电渲染图像时,所述渲染图像确定模块310用于:
[0149]
将所述目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染所述闪电特效的染色器中,确定每个视频帧上的亮度值;
[0150]
针对于每一视频帧,基于该视频帧上的亮度值与所述基础闪电形态图像的图像亮度值之间的比值,确定对所述基础闪电形态图像进行亮度调整的调整系数;
[0151]
针对于每一视频帧,基于所述调整系数将所述基础闪电形态图像的图像亮度调整至目标亮度值,以确定所述闪电渲染图像。
[0152]
在一种可能的实施方式中,所述渲染图像确定模块310用于通过以下步骤确定该张闪电渲染图像的播放顺序:
[0153]
针对于每一张闪电渲染图像,根据目标视频帧在全部视频帧的采样时间中的大小次序,确定该张闪电渲染图像的播放顺序;该张闪电渲染图像是依据所述目标视频帧的亮度值生成的。
[0154]
在一种可能的实施方式中,所述闪电渲染模块320在用于基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画时,所述闪电渲染模块320用于:
[0155]
确定预先设置的在所述游戏场景中所述闪电特效的呈现时间;
[0156]
检测所述闪电特效的呈现时间是否大于播放完全部闪电渲染图像的播放时间;
[0157]
若大于,基于每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出所述闪电特效的闪电动画,并重复渲染所述闪电动画,直至渲染出的闪电动画的总播放时间达到所述呈现时间。
[0158]
在一种可能的实施方式中,所述基础闪电形态图像为预先存储在所述染色器中的具有固定形状的闪电图像;或者;
[0159]
所述基础闪电形态图像为每次对目标闪电进行渲染时,根据闪电特效的渲染形态需求生成的。
[0160]
本技术实施例提供的游戏中闪电特效的呈现装置,响应于满足渲染闪电特效的触发条件,将用于渲染闪电特效的目标闪电在各个采样时间对应的视频帧上的亮度值输入至渲染闪电特效的染色器中,染色器分别基于各个视频帧上的亮度值和预先在染色器中的基础闪电形态图像,输出多张闪电渲染图像,并且通过采样时间确定多张闪电渲染图像的播放顺序,根据每张闪电渲染图像的播放顺序,依次根据每张闪电渲染图像在游戏场景中渲染出闪电特效的闪电动画。在本技术实施例中,将确定出的目标闪电在各个采样时间对应的视频帧上的亮度值输入至染色器中,染色器通过视频帧与亮度值之间的关系,调整基础闪电形态图像的亮度,通过染色器输出的闪电渲染图像,呈现闪电动画,由于仅是对目标闪电亮度值的复刻以及处理,减少了闪电渲染过程中数据的处理量,提升了闪现特效渲染的效率。
[0161]
请参阅图5,图5为本技术实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
[0162]
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图2所示方法实施例中的游戏中闪电特效的呈现方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0163]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的游戏中闪电特效的呈现方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0164]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0165]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0166]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0167]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0168]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0169]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献