一种游戏场景中的特效处理方法和装置与流程
本申请涉及计算机技术领域,尤其涉及一种游戏场景中的特效处理方法和装置。
背景技术:
在目前的游戏中,通常会针对不同的游戏场景设计不同的特效,当游戏场景发生变化时,特效也会跟随变化,比如,在游戏场景为森林环境的情况下,游戏特效可以为落叶特效,当游戏场景由森林环境变化为沙漠环境时,游戏特效也会相应变为飘沙特效。
通常,为了实现游戏场景中的特效设计,可以针对不同的特效分别制作不同的材质贴图,当需要渲染特效时,加载对应的材质图贴图即可。然而,在实际应用中,材质贴图占用的空间比较大,会造成游戏资源量的增加,同时在加载材质贴图时,也会造成额外的内存消耗,进而影响游戏的运行效率。
技术实现要素:
本申请实施例提供一种游戏场景中的特效处理方法和装置,用于解决目前的游戏特效设计中,通过材质贴图的方式设计游戏场景中的特效,会增加游戏资源量,同时也会造成额外的内存消耗,从而影响游戏的运行效率的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种游戏场景中的特效处理方法,包括:
在游戏运行的过程中,获取游戏场景中的环境元素;
基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
第二方面,提出一种游戏场景中的特效处理装置,包括:
获取单元,在游戏运行的过程中,获取游戏场景中的环境元素;
第一确定单元,基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
第二确定单元,基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
特效渲染单元,基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
第三方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
在游戏运行的过程中,获取游戏场景中的环境元素;
基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
在游戏运行的过程中,获取游戏场景中的环境元素;
基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,预先针对游戏场景中的不同环境元素确定对应的特效模板和特效数据,在游戏运行的过程中,可以根据当前游戏场景的环境元素,确定与环境元素对应的目标特效模块和目标特效数据,其中,目标特效模板中包括用于对环境元素进行特效设计特效元素,目标特效数据中包括特效元素的属性值,属性值和特效元素用于得到环境元素的特效;基于目标特效模板和目标特效数据进行特效渲染,得到具有特效的游戏场景。由于特效模板和特效数据所占空间较小,因此,通过特效模板和特效数据进行特效渲染,可以减少游戏资源量,同时,在加载特效数据和特效模板时,也可以降低内存消耗,进而提高游戏的运行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例游戏场景中的特效处理方法的流程示意图;
图2是本申请的一个实施例游戏场景中的特效处理方法的流程示意图;
图3是本申请的一个实施例电子设备的结构示意图;
图4是本申请的一个实施例游戏场景中的特效处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
目前在设计游戏场景中的特效时,通常是针对不同的特效设计不同的材质贴图,并将材质贴图作为游戏资源的一部分,当需要渲染游戏中的特效时,可以从游戏资源中加载对应的材质贴图,进而得到相应的特效。然而,材质贴图占用的存储空间通常比较大,会增加游戏资源量,此外,在游戏场景变化频繁的情况下,频繁加载材质贴图也会造成额外的内存消耗,最终会降低游戏的运行效率。
由此可见,目前的游戏特效设计中,通过材质贴图的方式设计游戏场景中的特效,不仅会增加游戏资源量,还会造成额外的内存消耗,从而降低游戏的运行效率。
有鉴于此,本申请实施例提供一种游戏场景中的特效处理方法和装置,可以预先针对游戏场景中的不同环境元素确定不同的特效模板和特效数据,在游戏运行的过程中,可以根据当前游戏场景的环境元素,确定与环境元素对应的目标特效模块和目标特效数据,其中,目标特效模板中包括用于对环境元素进行特效设计特效元素,目标特效数据中包括特效元素的属性值,属性值和特效元素用于得到环境元素的特效;基于目标特效模板和目标特效数据进行特效渲染,得到具有特效的游戏场景。
本申请实施例中通过特效模板和特效数据对游戏场景中的环境元素进行特效渲染,相较于通过材质贴图的方式进行特效渲染而言,由于特效模板和特效数据所占空间较小,因此,在游戏运行过程中,基于特效模板和特效数据进行特效渲染,不仅可以减少游戏资源量,还可以降低内存消耗,进而提高游戏的运行效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请的一个实施例游戏场景中的特效处理方法的流程示意图。所述方法如下所述。
s102:在游戏运行的过程中,获取游戏场景中的环境元素。
在s102中,在游戏运行过程中,当需要对当前的游戏场景进行特效渲染时,可以获取当前游戏场景中的环境元素。
本实施例中,游戏场景中的环境元素可以是游戏场景中需要进行特效渲染的元素,在一种实现方式中,环境元素具体可以是游戏背景和游戏角色,游戏背景可以具有背景特效,游戏角色可以具有攻击特效,其中,游戏背景可以是森林背景、沙漠背景等,游戏角色可以是游戏玩家在游戏中的玩家角色,也可以是非玩家角色(即npc)等。
需要说明的是,在同一游戏场景中,游戏背景的个数可以是一个也可以是多个,游戏角色的个数也可以是一个或多个,比如,当前游戏场景中的环境可以是森林环境或沙漠环境,也可以一部分是森林环境另一部分是沙漠环境;当前游戏场景中的游戏角色可以仅为玩家角色,也可以是即包括玩家角色又包括非玩家角色。
在获取到游戏场景中的环境元素后,可以执行s104和s106。
s104:基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计。
s106:基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效。
需要说明的是,上述两个步骤的执行顺序可以是先执行s104,后执行s106,也可以是先执行s106,后执行s104,还可以是并列执行s104和s106,这里仅以先执行s104后执行s106为例进行说明。
本实施例中,可以预先针对游戏中的多个不同的环境元素,确定对应的多个不同的特效模板和多个不同的特效数据,这样,在游戏运行过程中,当需要进行特效渲染时,在获取到当前游戏场景中的环境元素的情况下,可以从预先确定的多个特效模板和多个特效数据中,获取与当前的环境元素对应的目标特效模板和目标特效数据。
上述多个特效模板可以基于多个环境元素所具有的特效确定得到,上述多个特效数据可以基于多个环境元素所具有的特效属性确定得到,其中,环境元素所具有的特效可以理解为在开发游戏时,根据游戏需求(或者是玩家需求)对环境元素设计的特效,一般地,一个环境元素的特效可以由一个或多个特效元素设计得到,环境元素的特效属性可以理解为对环境元素进行特效设计的特效元素的属性,具体可以包括属性值。
例如,在环境元素为游戏背景的情况下,假设游戏背景为森林环境,且基于游戏需求确定森林背景具有全屏落叶特效,且,在全屏落叶特效下,落叶具有飘落速度a和全屏落叶数量b,那么,可以确定特效元素包括落叶,落叶用于设计全屏落叶特效,相应的特效属性即为落叶的飘落速度a和全屏落叶数量b,属性值即为a和b。
本实施例中,特效模板中可以包括一个或多个特效元素,特效数据中可以包括特效元素的属性值,该属性值用于对特效模板中的特效元素进行赋值,以渲染得到对应的特效。
需要说明的是,同一环境元素可以对应一个或多个特效模板,多个特效模板中包括的特效元素不同,且多个特效模板用于确定得到不同的特效,即同一环境元素可以由不同的特效元素设计得到不同的特效,该不同的特效元素分别构成不同的特效模板;此外,一个特效模板还可以对应一个或多个特效数据,其中,在一个特效模板对应多个特效数据的情况下,该一个特效模板和多个特效数据可以渲染得到多个不同的特效。
比如,环境元素为森林环境时,森林环境可以具有全屏落叶特效和鸟兽特效,全屏落叶特效可以对应全屏落叶模板,鸟兽特效可以对应鸟兽模板,即森林环境可以对应多个特效模板;相应的,针对全屏落叶特效,落叶的飘落速度和全屏落叶数量可以有多种,多种落叶的飘落速度和全屏落叶数量可以对应多种特效数据,即全屏落叶模板可以对应多个特效数据。
由于一个环境元素可以对应多个特效模板,一个特效模板可以对应多个不同的特效数据,且基于一个特效模板和其对应的不同特效数据可以渲染得到不同的特效,因此,可以进一步较少游戏资源量,进而减少加载特效模板和特效数据时的内存消耗。
本实施例在确定得到多个特效模板和多个特效数据后,可以将多个特效模板存储在第一路径中,将多个特效模板存储在第二路径中,即将多个特效模板和多个特效数据存储在不同的路径中,这样,在获取目标特效模板和目标特效数据时,可以分别从第一路径和第二路径中获取。
可选地,在将多个特效模板和多个特效数据分别存储在第一路径和第二路径中时,可以以json数据的形式进行存储,这样,可以进一步减少多个特效模板和多个特效数据占用的存储空间,从而在减少游戏资源量的同时,还可以降低加载特效模板和特效数据时的内存消耗。
为了便于理解,可以以森林环境和沙漠环境为例进行说明,假设森林环境编号为bg1,沙漠环境编号为bg2,分别为bg1和bg2进行特效制作,分别使用全屏特效模板和技能攻击模板(e_model1,e_model2),针对森林环境制作全屏落叶效果e_1和树叶属性的效果e_s_1,针对沙漠环境制作全屏飘沙的效果e_2和沙子属性的效果e_s_2。
针对e_1,e_s_1,e_2和e_s_2进行数据化,得到对应的特效数据,比如,针对e_1,其特效数据可以包括:持续时间,延迟时间,发射角度,发射速度,旋转角度,颜色,发射形状,发射粒子数目,材质,贴图,渲染方式等,以json数据形式进行存储。其中,e_1={“during”:1,”delay”:1,”angle”:0,”speed”:1,”color”……}。对bg1={“eff1”:e_1,“eff2”:e_s_1}指定效果e_1和e_s_1,bg2={“eff1”:e_1,“eff2”:e_s_1}指定效果e_2和e_s_2。
在将多个特效模板存储在第一路径,将多个特效数据存储在第二路径后,当需要对游戏场景中的环境元素进行特效渲染时,可以基于环境元素从第一路径中获取与环境元素对应的目标特效模板,从第二路径中获取与环境元素对应的目标特效模数据。其中,目标特效模板中可以包括一个或多个特效元素,该一个或多个特效元素用于对当前游戏场景中的环境元素进行特效设计,目标特效数据中包括目标特效模板中的特效元素的属性值,该属性值和该特效元素用于得到当前游戏场景中的环境元素的特效。
本实施例中,在基于环境元素确定目标特效模板和目标特效数据时,由于环境元素可以包括游戏背景和游戏角色,相应地,游戏背景可以具有背景特效,游戏角色可以具有技能特效,因此,确定得到的目标特效模板中可以包括背景特效模板和技能特效模板,目标特效数据中可以包括背景特效数据和技能特效数据,其中,背景特效模板和背景特效数据可以渲染得到与游戏背景对应的背景特效,技能特效模板和技能特效数据可以渲染得到与游戏角色对应的技能特效。
需要说明的是,针对游戏角色而言,由于游戏角色的技能特效通常与游戏角色所处的游戏背景相关,因此,在确定与游戏角色对应的目标特效模板(即上述技能特效模板)时,首先,需要确定游戏角色在游戏场景中的位置;其次,基于该位置确定游戏角色所处的游戏背景;最后,基于该游戏背景,确定游戏角色在该游戏背景下的技能特效模板,其中,游戏角色在不同的游戏背景下可以具有不同的技能特效模板。
比如,当前游戏场景中包括森林环境、沙漠环境和游戏角色,在确定与游戏角色对应的技能特效模板时,如果基于游戏角色的位置确定游戏角色位于森林中,那么确定得到的技能特效模板为游戏角色在森林环境下所具有的特效(比如落叶特效)对应的技能特效模板;基于游戏角色的位置确定游戏角色位于沙漠中,那么确定得到的技能特效模板为游戏角色在沙漠环境下所具有的特效(比如飘沙特效)对应的技能特效模板。
在获取得到目标特效模板和目标特效数据后,可以执行s108。
s108:基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
在s108中,在得到目标特效模板和目标特效数据后,通过对目标特效模板和目标特效数据进行特效渲染,就可以得到具有相应特效的游戏场景。
在目标特效模板包括背景特效模板和技能特效模板,目标特效数据包括背景特效数据和技能特效数据的情况下,进行特效渲染时,具体可以是基于背景特效模板和背景特效数据,渲染得到背景特效;基于技能特效模板和技能特效数据,渲染得到技能特效;将背景特效和技能特效进行叠加,得到具有背景特效和技能特效的游戏场景。
其中,在基于背景特效模板和背景特效数据进行特效渲染时,可以基于背景特效数据中的属性值对背景特效模板中的特效元素进行赋值,进而可以渲染得到背景特效,同样的,在基于技能特效模板和技能特效数据进行特效渲染时,可以基于技能特效数据中的属性值对技能特效模板中的特效元素进行赋值,进而可以渲染得到技能特效。
本实施例中,在得到具有特效的游戏场景后,当游戏场景中的环境元素发生变化后,可以基于上述s104至s106记载的方法,确定与变化后的环境元素对应的特效模板和特效数据,进而渲染得到具有相应特效的游戏场景。这样,可以使得游戏特效跟随环境元素的变化而变化。
本实施例通过特效模板和特效数据进行特效渲染,相较于通过材质贴图的方式进行特效渲染而言,由于特效模板和特效数据所占空间较小,因此,基于特效模板和特效数据进行特效渲染,不仅可以减少游戏资源量,还可以降低内存消耗,进而提高游戏的运行效率。
可选地,上述环境元素可以预先存储在第三路径中,且该环境元素还可以包括除游戏背景和游戏角色以外的构成游戏场景的其他元素,比如游戏背景的画布尺寸、游戏角色的大小、颜色等数据。其中,在游戏运行的过程中,当需要加载游戏场景中,可以从第三路径中加载构成该游戏场景的环境元素,进而渲染得到需要加载的游戏场景。
为了便于理解本申请的技术方案,可以参见图2。图2是本申请的一个实施例游戏场景中的特效处理方法的流程示意图,具体可以包括以下步骤:
s201:确定不同游戏场景下的环境元素,并将确定得到的环境元素存储在路径1中。
这里的环境元素可以是需要进行特效渲染的环境元素,比如游戏背景和游戏角色,另外,环境元素还可以包括构成游戏场景的其他元素,比如,游戏背景的画布尺寸、游戏角色的大小颜色等。
s202:针对不同环境元素的特效,确定得到与多个环境元素对应的多个特效模板。
环境元素的特效由一个或多个所述特效元素设计得到,根据环境元素的特效确定得到的特效模板中可以包括一个或多个特效元素,其中,同一个环境元素可以对应一个或多个特效模板,多个特效模板中包括不同的特效元素,用于确定得到不同的特效。
s203:针对不同环境元素的特效属性,确定得到与多个环境元素对应的多个特效数据。
环境元素的特效属性表征对环境元素进行特效设计的特效元素的属性,特效属性包括属性值,其中,同一环境元素的同一个特效模板可以对应一个或多个特效数据,一个特效模板和该特效模板对应的多个的特效数据用于渲染得到该环境元素对应的多个不同特效。
s204:将多个特效模板存储在路径2中,将多个特效数据存储在路径3中。
在存储多个特效模板和多个特效数据时,可以以json数据的形式进行存储。
s205:在游戏运行的过程中,从路径1中加载环境元素,并基于环境元素渲染得到游戏场景。
这里加载的环境元素可以包括游戏背景和游戏角色。
s206:基于环境元素,从路径2中获取与环境元素对应的目标特效模板。
目标特效模板中包括一个或多个特效元素,该一个或多个特效元素用于对环境元素进行特效设计。
这里获取得到目标特效模板可以包括与游戏背景对应的背景特效模板,以及与游戏角色对应的技能特效模板。特殊的,在确定与游戏角色对应的技能特效模板时,首先确定游戏角色在游戏场景中的位置;其次,基于该位置确定游戏角色所处的游戏背景;最后,基于游戏背景,确定游戏角色在游戏背景下的技能特效模板。
s207:基于环境元素,从路径3中获取与环境元素对应的目标特效数据。
目标特效数据中包括目标特效模板中的特效元素的属性值,该属性值和该特效元素用于得到环境元素的特效。
这里获取得到目标特效数据可以包括与游戏背景对应的背景特效数据,以及与游戏角色对应的技能特效数据。
s208:基于目标特效模板和目标特效数据进行特效渲染,得到具有特效的游戏场景。
这里可以基于背景特效模板和背景特效数据,渲染得到背景特效;基于技能特效模板和技能特效数据,渲染得到技能特效;通过将背景特效和技能特效进行叠加,得到具有背景特效和技能特效的游戏场景。
s209:在环境元素发生变化后,基于变化后的环境元素确定对应的目标特效模板和目标特效数据。
s210:基于由变化后的环境元素确定得到的目标特效模板和目标特效数据进行特效渲染,得到特效变化后的游戏场景。
为了便于理解上述s205至s210,以下可以举例说明:
在启动游戏时,从路径path1中加载森林环境到内存中,克隆出一森林环境置于屏幕中,森林环境最左侧位置重置于起始点1处,同样的方法克隆出一个玩家火柴人,火柴人位置重置到1处。对当前屏幕进行渲染。这里可以假设当前屏幕显示范围为1-10,森林环境的尺寸为20,1-20区域为森林区域,20-40区域为沙漠区域。
每帧读取屏幕中的游戏背景和火柴人的位置,若当前的游戏背景为森林,火柴人的位置在1和20之间(即位于森林环境中),则对森林环境下的特效属性进行分析,确定当前森林背景需要渲染的特效为全屏落叶特效,游戏角色需要渲染落叶攻击特效,然后可以从path2中读取对应的特效模板,从路径path3中读取对应的特效数据。
获取到特效模板和特效数据之后,可以基于特效数据对特效模板进行赋值。比如,假设全屏落叶特效的特效数据包含持续时间5秒,发射尺寸0.5,重力值0.1,发射速度1,颜色值(255,255,255,255),随时间变化的速率15,着色器“moblie/particles/apphablended”,发射粒子最大数目1000,受力(-5,0,0)等,则可以通过获取组件的方法得到特效模板中的特效元素op,直接对op中的持续时间,延迟时间等进行赋值,然后再次进行渲染,最终把全屏落叶特效渲染到屏幕中,基于相同的方法可以渲染得到落叶攻击特效。
之后,若火柴人的位置从8位置处移动到25处,即火柴人位于沙漠环境中,则对沙漠环境下的特效属性进行分析,确定当前沙漠环境需要渲染的特效为全屏飘沙特效,游戏角色需要渲染的特效为沙漠攻击特效,可以从path2中读取对应的特效模板,从路径path3中读取对应的特效数据。
假设全屏飘沙特效的特效数据包含持续时间12秒,发射尺寸0.05,重力值0.3,发射速度1.5,颜色值(250,165,0,255),随时间变化的速率80,着色器“moblie/particles/additive”,发射粒子最大数目2000,受力(-10,0,0)等,则,此时可以无需重新加载特效模板,只需针对当前现有的全屏特效,将其中的持续时间修改12秒,发射尺寸改为0.05,发射速度改为1.5,颜色值改为(250,165,0,255),随时间变化的速率改为80,着色器改为“moblie/particles/additive”,然后进行渲染就可以得到全屏飘沙的特效,基于相同的原理可以得到沙漠攻击特效。
之后,当接收到火柴人攻击指令时,根据火柴人所在位置,按照上述方法得到攻击技能特效的数据,进行技能特效的替换与环境特效的叠加,进行最终渲染。这样整个流程实现了视觉多样性,减少使用的贴图资源,减少内存的占用,提高了游戏的运行效率。
本申请实施例提供的技术方案,预先针对游戏场景中的不同环境元素确定对应的特效模板和特效数据,在游戏运行的过程中,可以根据当前游戏场景的环境元素,确定与环境元素对应的目标特效模块和目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;基于目标特效模板和目标特效数据进行特效渲染,得到具有特效的游戏场景。由于特效模板和特效数据所占空间较小,因此,通过特效模板和特效数据进行特效渲染,可以减少游戏资源量,同时,在加载特效数据和特效模板时,也可以降低内存消耗,进而提高游戏的运行效率。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成游戏场景中的特效处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
在游戏运行的过程中,获取游戏场景中的环境元素;
基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
上述如本申请图3所示实施例揭示的游戏场景中的特效处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1和图2的方法,并实现游戏场景中的特效处理装置在图1和图2所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1和图2所示实施例的方法,并具体用于执行以下操作:
在游戏运行的过程中,获取游戏场景中的环境元素;
基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
图4是本申请的一个实施例游戏场景中的特效处理装置40的结构示意图。请参考图4,在一种软件实施方式中,所述游戏场景中的特效处理装置40可包括:获取单元41、第一确定单元42、第二确定单元43和特效渲染单元44,其中:
获取单元41,在游戏运行的过程中,获取游戏场景中的环境元素;
第一确定单元42,基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,所述目标特效模板中包括特效元素,所述特效元素用于对所述环境元素进行特效设计;
第二确定单元43,基于所述环境元素,从预先确定的多个特效数据中获取与所述环境元素对应的目标特效数据,所述目标特效数据中包括所述特效元素的属性值,所述属性值和所述特效元素用于得到所述环境元素的特效;
特效渲染单元44,基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景。
可选地,所述多个特效模板预先存储在第一路径中,所述多个特效模板基于多个环境元素的特效确定得到,一个环境元素的特效由一个或多个所述特效元素设计得到;
所述多个特效数据预先存储在第二路径中,所述多个特效数据基于所述多个环境元素的特效属性确定得到,一个环境元素的特效属性表征对所述环境元素进行特效设计的特效元素的属性,所述特效属性包括属性值;
其中,所述多个特效模板和所述多个特效数据以json的形式进行存储。
可选地,同一环境元素对应一个或多个不同的特效模板,一个特效模板对应一个或多个不同的特效数据,其中,一个特效模板和所述一个特效模板对应的多个不同的特效数据用于渲染得到多个不同的特效。
可选地,所述环境元素包括游戏背景和游戏角色,所述游戏背景具有背景特效,所述游戏角色具有技能特效;
所述目标特效模板包括背景特效模板和技能特效模板,所述目标特效数据包括背景特效数据和技能特效数据,所述背景特效模板和所述背景特效数据用于渲染得到所述背景特效,所述技能特效模板和所述技能特效数据用于渲染得到所述技能特效。
可选地,所述第一确定单元42,基于所述环境元素,从预先确定的多个特效模板中获取与所述环境元素对应的目标特效模板,包括:
针对所述游戏角色,确定所述游戏角色在所述游戏场景中的位置;
基于所述位置确定所述游戏角色所处的游戏背景;
基于所述游戏背景,确定所述游戏角色在所述游戏背景下的技能特效模板,不同的游戏背景对应不同的技能特效模板。
可选地,所述特效渲染单元44,基于所述目标特效模板和所述目标特效数据进行特效渲染,得到具有特效的游戏场景,包括:
基于所述背景特效模板和所述背景特效数据,渲染得到所述背景特效;
基于所述技能特效模板和所述技能特效数据,渲染得到所述技能特效;
将所述背景特效和所述技能特效进行叠加,得到具有所述背景特效和所述技能特效的游戏场景。
可选地,所述环境元素预先存储在第三路径中,所述环境元素还包括构成所述游戏场景的其他元素;
其中,在游戏运行的过程中,所述获取单元41:
从所述第三路径中加载所述环境元素;
基于所述环境元素渲染得到所述游戏场景。
本申请实施例提供的游戏场景中的特效处理装置40还可执行图1和图2的方法,并实现游戏场景中的特效处理装置在图1和图2所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除