一种游戏内动态调整渲染等级的方法和系统与流程

文档序号:17733399发布日期:2019-05-22 03:00阅读:281来源:国知局
一种游戏内动态调整渲染等级的方法和系统与流程

本发明涉及网络游戏技术领域,尤其涉及一种游戏内动态调整渲染等级的方法和系统。



背景技术:

在现有技术对于游戏中的细分渲染等级,通常有高、中、低等几个级别,然后根据手机性能来默认游戏的开启级别,以及开放给用户自行设置渲染等级。但是现有技术无法实时动态调整渲染等级,以解决游戏发热、卡顿等情况。

因此,需要一种能够动态调整游戏中的渲染等级的方法,以突破当前固定式的局限,在保证游戏的流畅性的提前下,尽量让玩家体验有更好的游戏体验,更完美的游戏的效果。



技术实现要素:

本申请的目的是解决现有技术的不足,提供一种游戏内动态调整渲染等级的方法和系统,能够根据游戏的运行情况等条件来动态调整各种渲染级别。

为了实现上述目的,本申请采用以下的技术方案。

首先,本申请提出一种游戏内动态调整渲染等级的方法,包括以下步骤:

s100)服务器接收来自游戏客户端的交互信息,获取游戏的运行数据;

s200)根据接收的运行数据设定游戏当前的渲染等级;

s300)根据游戏运行中的用户偏好数据、动作数据以及场景数据,对当前客户端预设渲染等级进行调整。

进一步地,在本申请的上述方法中,所述步骤s100)还包括以下子步骤:

s101)对游戏当前帧率、客户端发热量、当前渲染的场景物件精度以及数量、当前的渲染的人物精度以及数量和当前特效等级进行实时监控;

s102)将监控的数据实时发送至服务器。

进一步地,在本申请的上述方法中,所述步骤s200)还包括以下子步骤:

s201)服务器根据接收到的数据确定当前游戏场景;

s202)接收游戏客户端的硬件数据,分析当前客户端的性能,确定相应的渲染阈值;

s203)对客户端的性能进行评分,根据评分确定客户端的硬件等级;

s204)根据硬件等级对当前场景中的人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级设定;

s205)服务器向游戏客户端发送渲染等级设定参数。

进一步地,在本申请的上述方法中,所述步骤s300)还包括以下子步骤:

s301)读取游戏中玩家选择的职业和技能数据、场景中其他玩家的数量以及确定玩家角色是否处于运动;

s302)根据职业和技能数据对高耗效果的渲染级别进行调整;

s303)当场景中其他玩家数量超过阈值时,仅渲染与主玩家相距在第一距离内的其他玩家;

s304)当确定玩家正在运动则进一步降低全局渲染等级。

进一步地,在本申请的上述方法中,所述步骤s301)中确定玩家角色是否处于运动包括获取游戏中当前玩家角色当前所处的第一位置,每隔预设第二时间获取当前玩家角色所位于的第二位置,若所述第二位置与第一位置不相同,则判断当前玩家角色是运动的。

进一步地,在本申请的上述方法中,所述步骤s302)还包括判定玩家选择的职业和技能的所属类别,如果所属类别为活跃型则降低特效渲染等级。

进一步地,在本申请的上述方法中,所述步骤s303)还包括将所有其他玩家角色以距离当前玩家角色从近到远的距离进行排序,得到其他玩家角色排序结果。

其次,本申请还公开了一种游戏内动态调整渲染等级的系统,包括以下模块:获取模块,用于服务器接收来自游戏客户端的交互信息,获取游戏的运行数据;预设模块,用于根据接收的运行数据设定游戏当前的渲染等级;调整模块,用于根据游戏运行中的用户偏好数据、动作数据以及场景数据,对当前客户端预设渲染等级进行调整。

进一步地,在本申请的上述系统中,获取模块还包括以下子模块:监控模块,用于对游戏当前帧率、客户端发热量、当前渲染的场景物件精度以及数量、当前的渲染的人物精度以及数量和当前特效等级进行实时监控;发送模块,用于将监控的数据实时发送至服务器。

进一步地,在本申请的上述系统中,预设模块还包括以下子模块:接收模块,用于服务器根据接收到的数据确定当前游戏场景;分析模块,用于接收游戏客户端的硬件数据,分析当前客户端的性能,确定相应的渲染阈值;评价模块,用于对客户端的性能进行评分,根据评分确定客户端的硬件等级;设定模块,用于根据硬件等级对当前场景中的人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级设定;指示模块,用于服务器向游戏客户端发送渲染等级设定参数。

进一步地,在本申请的上述系统中,调整模块还包括以下子模块:识别模块,用于读取游戏中玩家选择的职业和技能数据、场景中其他玩家的数量以及确定玩家角色是否处于运动;第一调整模块,用于根据职业和技能数据对高耗效果的渲染级别进行调整;第二调整模块,用于当场景中其他玩家数量超过阈值时,仅渲染与主玩家相距在第一距离内的其他玩家;第三调整模块,用于当确定玩家正在运动则进一步降低全局渲染等级。

最后,本申请还提出一种计算机可读存储介质,其上存储有计算机指令。上述指令被处理器执行时,执行如下步骤:

s100)服务器接收来自游戏客户端的交互信息,获取游戏的运行数据;

s200)根据接收的运行数据设定游戏当前的渲染等级;

s300)根据游戏运行中的用户偏好数据、动作数据以及场景数据,对当前客户端预设渲染等级进行调整。

进一步地,在处理器执行上述指令时,步骤s100)还包括以下子步骤:

s101)对游戏当前帧率、客户端发热量、当前渲染的场景物件精度以及数量、当前的渲染的人物精度以及数量和当前特效等级进行实时监控;

s102)将监控的数据实时发送至服务器。

进一步地,在处理器执行上述指令时,步骤s200)还包括以下子步骤:

s201)服务器根据接收到的数据确定当前游戏场景;

s202)接收游戏客户端的硬件数据,分析当前客户端的性能,确定相应的渲染阈值;

s203)对客户端的性能进行评分,根据评分确定客户端的硬件等级;

s204)根据硬件等级对当前场景中的人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级设定;

s205)服务器向游戏客户端发送渲染等级设定参数。

进一步地,在处理器执行上述指令时,步骤s300)还包括以下子步骤:

s301)读取游戏中玩家选择的职业和技能数据、场景中其他玩家的数量以及确定玩家角色是否处于运动;

s302)根据职业和技能数据对高耗效果的渲染级别进行调整;

s303)当场景中其他玩家数量超过阈值时,仅渲染与主玩家相距在第一距离内的其他玩家;

s304)当确定玩家正在运动则进一步降低全局渲染等级。

进一步地,在处理器执行上述指令时,步骤s301)中确定玩家角色是否处于运动包括获取游戏中当前玩家角色当前所处的第一位置,每隔预设第二时间获取当前玩家角色所位于的第二位置,若所述第二位置与第一位置不相同,则判断当前玩家角色是运动的。

进一步地,在处理器执行上述指令时,步骤s302)还包括判定玩家选择的职业和技能的所属类别,如果所属类别为活跃型则降低特效渲染等级。

进一步地,在处理器执行上述指令时,步骤s303)还包括将所有其他玩家角色以距离当前玩家角色从近到远的距离进行排序,得到其他玩家角色排序结果。

本申请的有益效果为:通过实时动态调整渲染等级,以解决游戏发热、卡顿等情况,在保证游戏的流畅性的提前下,让玩家得到更好的游戏体验。

附图说明

图1所示为本申请所公开的游戏内动态调整渲染等级的方法流程图;

图2所示为在本申请的一个方法实施例中的子方法的流程图;

图3所示为在本申请的一个方法实施例中的子方法的流程图;

图4所示为在本申请的一个方法实施例中的子方法的流程图;

图5所示为本申请所公开的游戏内动态调整渲染等级的系统的结构图。

具体实施方式

以下将结合实施例和附图对本申请的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本申请的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。

参照图1所示的方法流程图,在本申请的一个或多个实施例中,本申请提出一种游戏内动态调整渲染等级的方法,包括以下步骤:

s100)服务器接收来自游戏客户端的交互信息,获取游戏的运行数据;

s200)根据接收的运行数据设定游戏当前的渲染等级;

s300)根据游戏运行中的用户偏好数据、动作数据以及场景数据,对当前客户端预设渲染等级进行调整。

参照图2所示的子方法流程图,在本申请的一个或多个实施例中,上述步骤s100)可以通过以下子步骤实现:

s101)对游戏当前帧率、客户端发热量、当前渲染的场景物件精度以及数量、当前的渲染的人物精度以及数量和当前特效等级进行实时监控;

s102)将监控的数据实时发送至服务器。

具体地,在游戏开发过程中增加监控模块,监控模块读取游戏当前的帧率,通常帧率在60以上表示游戏运行流畅,在最后的渲染调整中设定一个帧率阈值,通过对渲染等级的调整使得帧率维持在阈值之上;同时监控模块根据当前客户端各部件运行状态计算发热量,以及监控场景中的物件数量、人物数量和当前特效等级,将这些数据实时发送至服务器为随后进一步调整提供数据基础,用于判定当前设置是否具备调整的条件,如果当前特效等级已经调整至最低,则选择调整其他项目的渲染等级。

参照图3所示的子方法流程图,在本申请的一个或多个实施例中,上述步骤s200)还包括以下子步骤:

s201)服务器根据接收到的数据确定当前游戏场景;

s202)接收游戏客户端的硬件数据,分析当前客户端的性能,确定相应的渲染阈值;

s203)对客户端的性能进行评分,根据评分确定客户端的硬件等级;

s204)根据硬件等级对当前场景中的人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级设定;

s205)服务器向游戏客户端发送渲染等级设定参数。

具体地,根据接收到的场景数据判断当前游戏场景是什么,例如当前场景是多人pvp场景或单人pve副本场景,同时接收游戏客户端的硬件数据,对客户端性能进行评分,根据评分将游戏客户端分成三个或三个以上的等级,如高级、中级或低级,对于每个等级的客户端,针对不同场景有相应渲染等级设定,例如,对于归类为低级的客户端,在pvp场景时将人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级均设定为低级,对于其他等级的客户端将进行不同的渲染等级细分。

参照图4所示的子方法流程图,在本申请的一个或多个实施例中,上述步骤s300)可以通过以下子步骤实现:

s301)读取游戏中玩家选择的职业和技能数据、场景中其他玩家的数量以及确定玩家角色是否处于运动;

s302)根据职业和技能数据对高耗效果的渲染级别进行调整;

s303)当场景中其他玩家数量超过阈值时,仅渲染与主玩家相距在第一距离内的其他玩家;

s304)当确定玩家正在运动则进一步降低全局渲染等级。

具体地,确定玩家角色是否处于运动包括获取游戏中当前玩家角色当前所处的第一位置,每隔预设第二时间获取当前玩家角色所位于的第二位置,若所述第二位置与第一位置不相同,则判断当前玩家角色是运动的,对于正在运动的玩家,其可能是处于赶路状态或战斗状态,为保证游戏流畅性,将进一步对全局渲染等级进行降低。然后,判定玩家选择的职业和技能的所属类别,将职业和技能类别分成活跃型与非活跃型,例如活跃型包括战士、刺客等职业,而非活跃型包括术士、辅助、法师等,对于活跃型职业特点在于释放技能通常伴随位移,玩家在操作时更多地转换视角,而非活跃型则通常不需要位移,只需在当前位置释放技能,不需要经常转换视角,因此当判定所属类别为活跃型则降低特效渲染等级,以进一步保证游戏流畅度。进一步地,设定当前场景中的其他玩家数量阈值,一旦超过该阈值,将所有其他玩家角色以距离当前玩家角色从近到远的距离进行排序,得到其他玩家角色排序结果,同时设定一个距离阈值作为第一距离,仅渲染在距离阈值内的其他玩家。

参照图5所示的模块结构图,在本申请的一个或多个实施例中,本申请还公开了一种游戏内动态调整渲染等级的系统,包括以下模块:获取模块,用于服务器接收来自游戏客户端的交互信息,获取游戏的运行数据;预设模块,用于根据接收的运行数据设定游戏当前的渲染等级;调整模块,用于根据游戏运行中的用户偏好数据、动作数据以及场景数据,对当前客户端预设渲染等级进行调整。

进一步地,在本申请的上述系统中,获取模块还包括以下子模块:监控模块,用于对游戏当前帧率、客户端发热量、当前渲染的场景物件精度以及数量、当前的渲染的人物精度以及数量和当前特效等级进行实时监控;发送模块,用于将监控的数据实时发送至服务器。

具体地,监控模块读取游戏当前的帧率,通常帧率在60以上表示游戏运行流畅,在最后的渲染调整中设定一个帧率阈值,通过对渲染等级的调整使得帧率维持在阈值之上;同时监控模块根据当前客户端各部件运行状态计算发热量,以及监控场景中的物件数量、人物数量和当前特效等级,将这些数据实时发送至服务器为随后进一步调整提供数据基础,用于判定当前设置是否具备调整的条件,如果当前特效等级已经调整至最低,则选择调整其他项目的渲染等级。

进一步地,在本申请的上述系统中,预设模块还包括以下子模块:接收模块,用于服务器根据接收到的数据确定当前游戏场景;分析模块,用于接收游戏客户端的硬件数据,分析当前客户端的性能,确定相应的渲染阈值;评价模块,用于对客户端的性能进行评分,根据评分确定客户端的硬件等级;设定模块,用于根据硬件等级对当前场景中的人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级设定;指示模块,用于服务器向游戏客户端发送渲染等级设定参数。

具体地,接收模块根据接收到的场景数据判断当前游戏场景是什么,例如当前场景是多人pvp场景或单人pve副本场景,同时接收游戏客户端的硬件数据,对客户端性能进行评分,根据评分将游戏客户端分成三个或三个以上的等级,如高级、中级或低级,对于每个等级的客户端,针对不同场景有相应渲染等级设定,例如,对于归类为低级的客户端,在pvp场景时将人物精度、全局后期效果、特效、场景光照、阴影、lod进行渲染等级均设定为低级,对于其他等级的客户端将进行不同的渲染等级细分。

进一步地,在本申请的上述系统中,调整模块还包括以下子模块:识别模块,用于读取游戏中玩家选择的职业和技能数据、场景中其他玩家的数量以及确定玩家角色是否处于运动;第一调整模块,用于根据职业和技能数据对高耗效果的渲染级别进行调整;第二调整模块,用于当场景中其他玩家数量超过阈值时,仅渲染与主玩家相距在第一距离内的其他玩家;第三调整模块,用于当确定玩家正在运动则进一步降低全局渲染等级。

具体地,识别模块确定玩家角色是否处于运动包括获取游戏中当前玩家角色当前所处的第一位置,每隔预设第二时间获取当前玩家角色所位于的第二位置,若所述第二位置与第一位置不相同,则判断当前玩家角色是运动的,对于正在运动的玩家,其可能是处于赶路状态或战斗状态,为保证游戏流畅性,将进一步对全局渲染等级进行降低。然后,判定玩家选择的职业和技能的所属类别,将职业和技能类别分成活跃型与非活跃型,例如活跃型包括战士、刺客等职业,而非活跃型包括术士、辅助、法师等,对于活跃型职业特点在于释放技能通常伴随位移,玩家在操作时更多地转换视角,而非活跃型则通常不需要位移,只需在当前位置释放技能,不需要经常转换视角,因此当判定所属类别为活跃型则降低特效渲染等级,以进一步保证游戏流畅度。进一步地,设定当前场景中的其他玩家数量阈值,一旦超过该阈值,将所有其他玩家角色以距离当前玩家角色从近到远的距离进行排序,得到其他玩家角色排序结果,同时设定一个距离阈值作为第一距离,仅渲染在距离阈值内的其他玩家。

应当认识到,本申请的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。该方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

进一步地,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本申请的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文该步骤的指令或程序时,本文所述的申请包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本申请所述的方法和技术编程时,本申请还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本申请优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如权利要求书中阐述的本申请的更宽广精神和范围的情况下,可以对本申请做出各种修改和改变。

其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定落在本申请的精神和范围内的所有修改、替代构造和等效物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1