CN113680069B - 一种基于ecs设计的技能系统 - Google Patents
一种基于ecs设计的技能系统 Download PDFInfo
- Publication number
- CN113680069B CN113680069B CN202110981220.7A CN202110981220A CN113680069B CN 113680069 B CN113680069 B CN 113680069B CN 202110981220 A CN202110981220 A CN 202110981220A CN 113680069 B CN113680069 B CN 113680069B
- Authority
- CN
- China
- Prior art keywords
- skill
- preset
- released
- current
- central control
- 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.)
- Active
Links
Images
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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于ecs设计的技能系统,包括,监测模块,用于监测实体信息;信息分析模块,其与监测模块相连接,用于将监测模块获取的实体信息进行分析,信息分析模块包括渲染等级分析单元,信息分析模块将获取的当前实体位置、当前画面实体数目以及当前实体待释放技能信息发送至渲染等级分析单元,渲染等级分析单元获取当前实体待渲染指数;中控模块,其与信息分析模块相连接,用于将信息分析模块分析的结果进行调节,并将调节后的信息发送至执行模块,以使执行模块执行的信息符合预设标准;执行模块,其与中控模块相连接,用于执行中控模块传送的信息。本发明设置中控模块,通过中控模块调控各参数,以使GPU占用率符合预设标准。
Description
技术领域
本发明涉及ecs架构领域,尤其涉及一种基于ecs设计的技能系统。
背景技术
ECS,Entity(实体)Component(组件)System(系统),其为gameplay层面的框架,它是建立在渲染引擎,物理引擎之上的,用于解决如何建立一个模型来处理游戏对象的更新操作。ECS中Component和System则是这个框架的核心,Component是一个只包含数据的组件,将每个可能单独使用的对象属性归纳,每个Entity是由多个Component组合而成,共享一个生命周期,System则是用来处理数据的系统,只有方法,没有任何数据,其作用于游戏世界里同类的一组对象的每单个个体,或是这类对象的某种特定的交互行为。游戏的业务循环就是在调用很多不同的系统,其使用预定义组件部分可以被子系统感知到,这样的系统具有很强的内聚性。
目前,由于ECS中实体空间系统和实体的交互方式,是系统主动的轮询,来进行系统的处理,该方法无法根据当前GPU的使用情况对组件信息进行合理修正,进而造成GPU负载过高,损害硬件。
发明内容
为此,本发明提供一种基于ecs设计的技能系统,可以解决无法根据GPU占用率调节实体待释放技能信息的技术问题。
为实现上述目的,本发明提供一种基于ecs设计的技能系统,包括:
监测模块,用于监测实体信息,所述实体信息包括当前实体生命值、当前实体位置、当前画面实体数目、当前实体待释放技能信息以及当前GPU占有率;
信息分析模块,其与所述监测模块相连接,用于将监测模块获取的实体信息进行分析,所述信息分析模块包括渲染等级分析单元,信息分析模块将获取的当前实体位置、当前画面实体数目以及当前实体待释放技能信息发送至所述渲染等级分析单元,渲染等级分析单元获取当前实体待渲染指数;
中控模块,其与所述信息分析模块相连接,用于将信息分析模块分析的结果进行调节,并将调节后的信息发送至执行模块,以使执行模块执行的信息符合预设标准;
所述执行模块,其与所述中控模块相连接,用于执行中控模块传送的信息;
所述中控模块根据渲染等级分析单元获取的当前实体待渲染指数判定当前实体渲染等级,并根据当前实体渲染等级获取待释放技能的动画时长、动作幅度、动画分辨率,中控模块根据当前GPU占有率对获取的待释放技能的动画时长、动作幅度、动画分辨率进行调节;其中,所述中控模块获取当前GPU占有率小于预设值,中控模块判定当前GPU占有率符合预设标准,所述中控模块获取当前GPU占有率大于预设值,中控模块对当前实体待释放技能动画分辨率、待释放技能动作幅度和待释放技能动画时长进行调节。
进一步地,所述信息分析模块预设技能W(W1,W2···Wn),其中,W1为第一预设技能信息,其包括第一预设技能的动画时长T1,第一预设技能的动作幅度F1和第一预设技能的动画分辨率B1,第一预设技能GPU占有率G1,W2为第二预设技能信息,其包括第二预设技能的动画时长T2,第二预设技能的动作幅度F2和第二预设技能的动画分辨率B2,第二预设技能GPU占有率G2,···Wn为第n预设技能信息,其包括第n预设技能的动画时长Tn,第n预设技能的动作幅度Fn和第n预设技能的动画分辨率Bn,第n预设技能GPU占有率Gn,其中,n为大于等于2的自然数。
进一步地,所述渲染等级分析单元设置渲染指数p,设定p=(1+(L-L0)/L0)×(1+(D-D0)/D0)×(1+(Gj-G0)/G0),其中,L为当前实体位置与预设中心位置的距离,L0为预设距离,D为当前画面实体数目,D0为预设画面实体数目,Gi为当前实体待释放技能GPU占有率,G0为预设待释放技能GPU占有率,所述中控模块根据获取当前实体渲染指数p与预设渲染指数P相比较,判定当前实体渲染等级,其中,
当p≤P1,所述中控模块判定当前实体渲染等级为A1级;
当P1<p<P2,所述中控模块判定当前实体渲染等级为A2级;
当P2≤p≤P3,所述中控模块判定当前实体渲染等级为A3级;
当p>P3,所述中控模块判定当前实体渲染等级为A4级;
其中,所述中控模块预设渲染指数P,设定第一预设渲染指数P1、第二预设渲染指数P2、第三预设渲染指数P3、第四预设渲染指数P4。
进一步地,当所述监测模块获取当前实体待释放技能信息为Wi时,所述中控模块选取所述信息分析模块内预设的第i预设待释放技能的动画时长Ti,第i预设待释放技能的动作幅度Fi和第i预设待释放技能的动画分辨率Bi为当前实体待释放技能信息,所述中控模块根据当前实体渲染等级Aj,选取待释放技能动画时长Tij,预设动作幅度Fij和预设动画分辨率Bij为当前实体待释放技能信息;
其中,所述中控模块第i预设待释放技能预设动画时长Ti,设定第i预设待释放技能第一预设待释放技能动画时长Ti1、第i预设待释放技能第二预设待释放技能动画时长Ti2、第i预设待释放技能第三预设待释放技能动画时长Ti3、第i预设待释放技能第四预设待释放技能动画时长Ti4,预设第i预设待释放技能动作幅度Fi,设定第i预设待释放技能第一预设待释放技能动作幅度Fi1、第i预设待释放技能第二预设待释放技能动作幅度Fi2、第i预设待释放技能第三预设待释放技能动作幅度Fi3、第i预设待释放技能第四预设待释放技能动作幅度Fi4,预设第i预设待释放技能动画分辨率Bi,设定第i预设待释放技能第一预设待释放技能动画分辨率Bi1、第i预设待释放技能第二预设待释放技能动画分辨率Bi2、第i预设待释放技能第三预设待释放技能动画分辨率Bi3、第i预设待释放技能第四预设待释放技能动画分辨率Bi4;
其中,j=1,2,3,4。
进一步地,所述中控模块获取当前GPU占有率y,中控模块根据当前GPU占有率与预设GPU占有率Y相比较,判定当前GPU占有率是否符合预设标准,其中,
当y≤Y1,所述中控模块判定当前GPU占有率符合预设标准;
当Y1<y<Y2,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij1,待释放技能动作幅度Fij降低至Fij1;
当y≥Y2,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij2,将待释放技能动作幅度Fij降低至Fij2,同时降低待释放技能动画时长Tij至Tij1;
其中,所述中控模块预设GPU占有率Y,设定第一预设GPU占有率Y1,第二预设GPU占有率Y2。
进一步地,当所述中控模块获取当前GPU占有率在第一预设GPU占有率与第二预设GPU占有率之间时,中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij1,设定Bij1=Bij-△B,待释放技能动作幅度Fij降低至Fij1,设定Fij1=Fij-△F,其中,△B为待释放技能动画分辨率变化量,△F为待释放技能动作幅度变化量。
进一步地,当所述中控模块获取当前GPU占有率大于等于第二预设GPU占有率,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij2,设定Bij2=Bij-1.2×△B,将待释放技能动作幅度Fij降低至Fij2,设定Fij2=Fij-1.5×△F,同时降低待释放技能动画时长Tij至Tij1,设定Tij1=Tij-△T,其中,△T为待释放技能动画时长变化量。
进一步地,所述信息分析模块内设置有移动速度分析单元,所述信息分析模块将获取的当前实体生命值发送至所述移动速度分析单元,移动速度分析单元根据当前实体生命值获取当前实体最大移动速度,其中,移动速度分析单元获取的当前实体生命值为Q,预设实体生命值标准值Q0,设定,
当Q≥Q0,所述移动速度分析单元获取当前实体最大移动速度Vmax=V×(1+(Q-Q0)/Q0);
当Q<Q0,所述移动速度分析单元获取当前实体最大移动速度Vmax=V×(1-(Q0-Q)/Q0);
其中,V为所述移动速度分析单元预设实体移动最大速度。
进一步地,所述中控模块设置实体移动速度标准值V0,中控模块根据获取的当前实体最大移动速度与设置的实体移动速度标准值相比较,对待释放技能信息调节参数J0进行修正,其中,
当Vmax≥V0,所述中控模块将待释放技能信息调节参数J0降低至J1,设定J1=J0×(1-(Vmax-V0)/V0);
当Vmax<V0,所述中控模块将待释放技能信息调节参数J增加至J2,设定J2=J0×(1+(V0-Vmax)/V0)。
进一步地,所述中控模块设置待释放技能动画分辨率变化量△B=Jr×(y-Y1)/(Y2×Y1),待释放技能动作幅度变化量△F=Jr×(y-Y1)/(Y2×Y1),待释放技能动画时长变化量△T=Jr×(y-Y2)/Y2;
其中,r=1,2。
与现有技术相比,本发明的有益效果在于,中控模块根据渲染等级分析单元获取的当前实体待渲染指数判定当前实体渲染等级,并根据当前实体渲染等级获取待释放技能的动画时长、动作幅度、动画分辨率,中控模块根据当前GPU占有率对获取的待释放技能的动画时长、动作幅度、动画分辨率进行调节;其中,所述中控模块获取当前GPU占有率小于预设值,中控模块判定当前GPU占有率符合预设标准,所述中控模块获取当前GPU占有率大于预设值,中控模块对当前实体待释放技能动画分辨率、待释放技能动作幅度和待释放技能动画时长进行调节。
尤其,本发明设置渲染等级分析单元根据监测模块获取的当前实体位置与预设中心位置的距离、当前画面实体数目、当前实体待释放技能GPU占有率,根据公式计算当前渲染指数,同时,本发明渲染等级分析单元内预设渲染指数,渲染等级分析单元根据获取的当前实体渲染指数与预设渲染指数相比较,判定当前实体的渲染等级。更进一步的,本发明通过设置各技能信息,包括该技能动画时长、动作幅度、动画分辨率和GPU占有率,当监测模块获取待释放技能,信息分析模块获取该待释放技能信息,尤其是通过待释放技能获取待释放技能GPU占有率。
尤其,本发明设置GPU占有率,中控模块根据监测模块获取当前GPU占有率与预设GPU占有率相比较,对相关部件参数进行调节,其中,若当前GPU占有率小于等于第一预设GPU占有率,说明当前GPU占有率符合预设标准,释放待释放技能不会影响当前系统,若当前GPU占有率在第一预设GPU占有率和第二预设GPU占有率之间,说明当前GPU占有率不足以支持释放技能,中控模块通过降低待释放技能动画分辨率和待释放技能动作幅度以降低当前因释放技能增加的GPU占有率,若当前GPU占有率大于等于第二预设GPU占有率,说明当前GPU占有率严重不足,中控模块通过降低待释放技能动画分辨率、待释放技能动作幅度和待释放技能动画时长以大幅度的降低当前因释放技能增加的GPU占有率。更进一步的,本发明设置有待释放技能动画时长变化量、待释放技能动画分辨率变化量和待释放技能动作幅度变化量,用以调节待释放技能动画时长、待释放技能动画分辨率和待释放技能动作幅度。
尤其,本发明在信息分析模块内设置移动速度分析单元,其用以根据当前实体生命值获取其最大移动速度,移动速度分析单元设置有实体生命值标准值,当移动速度分析单元获取当前实体生命值大于等于预设实体生命值,移动速度分析单元以当前实体生命值与预设生命值的差值为基准提高当前实体移动最大速度,当移动速度分析单元获取当前实体生命值小于预设实体生命值,移动速度分析单元以当前实体生命值与预设生命值的差值为基准降低当前实体移动最大速度。
尤其,本发明设置待释放技能信息调节参数用于对待释放技能信息各参数进行修正,其中,当中控模块获取当前实体最大移动速度大于等于实体移动速度标准值,说明当前实体移动速度最大速度可以达到较高值,中控模块将待释放技能信息调节参数降低,进而降低待释放技能各参数变化率,以使当前技能释放效果与当前实体移动速度相匹配,当中控模块获取当前实体最大移动速度小于实体移动速度标准值,说明当前实体移动速度最大速度其达到较高值速度仍然不高,中控模块将待释放技能信息调节参数增加,进而提高待释放技能各参数变化率,以使当前技能释放效果与当前实体移动速度相匹配。
尤其,本发明设置技能待释放技能动画分辨率变化量、待释放技能动作幅度变化量、待释放技能动画时长变化量的获取方式,具体的,待释放技能动画分辨率变化量和待释放技能动作幅度变化量由获取的调节后的待释放技能信息调节参数与当前GPU占有率与第一预设GPU占有率的差值和第一预设GPU占有率与第二预设GPU占有率的比值的乘积,待释放技能动画时长变化量由获取的调节后的待释放技能信息调节参数与当前GPU占有率与第二预设GPU占有率的差值与第二预设GPU占有率的比值的乘积。
附图说明
图1为发明发明实施例基于ecs设计的技能系统结构示意图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
请参阅图1所示,请参阅图1所示,其为本发明实施例基于ecs设计的技能系统,包括,
监测模块,用于监测实体信息,所述实体信息包括当前实体生命值、当前实体位置、当前画面实体数目、当前实体待释放技能信息以及当前GPU占有率;
信息分析模块,其与所述监测模块相连接,用于将监测模块获取的实体信息进行分析,所述信息分析模块包括渲染等级分析单元,信息分析模块将获取的当前实体位置、当前画面实体数目以及当前实体待释放技能信息发送至所述渲染等级分析单元,渲染等级分析单元获取当前实体待渲染指数;
中控模块,其与所述信息分析模块相连接,用于将信息分析模块分析的结果进行调节,并将调节后的信息发送至执行模块,以使执行模块执行的信息符合预设标准;
所述执行模块,其与所述中控模块相连接,用于执行中控模块传送的信息;
所述中控模块根据渲染等级分析单元获取的当前实体待渲染指数判定当前实体渲染等级,并根据当前实体渲染等级获取待释放技能的动画时长、动作幅度、动画分辨率,中控模块根据当前GPU占有率对获取的待释放技能的动画时长、动作幅度、动画分辨率进行调节;其中,所述中控模块获取当前GPU占有率小于预设值,中控模块判定当前GPU占有率符合预设标准,所述中控模块获取当前GPU占有率大于预设值,中控模块对当前实体待释放技能动画分辨率、待释放技能动作幅度和待释放技能动画时长进行调节。
所述渲染等级分析单元设置渲染指数p,设定p=(1+(L-L0)/L0)×(1+(D-D0)/D0)×(1+(Gj-G0)/G0),其中,L为当前实体位置与预设中心位置的距离,L0为预设距离,D为当前画面实体数目,D0为预设画面实体数目,Gi为当前实体待释放技能GPU占有率,G0为预设待释放技能GPU占有率,所述中控模块根据获取当前实体渲染指数p与预设渲染指数P相比较,判定当前实体渲染等级,其中,
当p≤P1,所述中控模块判定当前实体渲染等级为A1级;
当P1<p<P2,所述中控模块判定当前实体渲染等级为A2级;
当P2≤p≤P3,所述中控模块判定当前实体渲染等级为A3级;
当p>P3,所述中控模块判定当前实体渲染等级为A4级。
具体而言,本发明实施例以画面中心为预设中心位置,将其设置为原点,以画面水平向右为横坐标正方向,以画面向上为纵坐标正方向,所述监测模块获取当前实体位置K(XK,YK),监控模块获取当前实体位置与预设中心位置距离为L,设定
具体而言,本发明实施例中预设距离、预设画面实体数、预设待释放技能GPU占有率根据当前游戏设置,本发明提供一种手机游戏的预设距离为1.5cm(屏幕画面尺寸)、预设画面实体数、预设待释放技能GPU占有率15%。本领域技术人员可以理解的是,预设距离、预设画面实体数、预设待释放技能GPU占有率的具体参数本发明实施不做限定,只要其可以满足获取当前实体渲染等级即可。
所述信息分析模块预设技能W(W1,W2···Wn),其中,W1为第一预设技能信息,其包括第一预设技能的动画时长T1,第一预设技能的动作幅度F1和第一预设技能的动画分辨率B1,第一预设技能GPU占有率G1,W2为第二预设技能信息,其包括第二预设技能的动画时长T2,第二预设技能的动作幅度F2和第二预设技能的动画分辨率B2,第二预设技能GPU占有率G2,···Wn为第n预设技能信息,其包括第n预设技能的动画时长Tn,第n预设技能的动作幅度Fn和第n预设技能的动画分辨率Bn,第n预设技能GPU占有率Gn,其中,n为大于等于2的自然数。
当所述监测模块获取当前实体待释放技能信息为Wi时,所述中控模块选取所述信息分析模块内预设的第i预设待释放技能的动画时长Ti,第i预设待释放技能的动作幅度Fi和第i预设待释放技能的动画分辨率Bi为当前实体待释放技能信息,所述中控模块根据当前实体渲染等级Aj,选取待释放技能动画时长Tij,预设动作幅度Fij和预设动画分辨率Bij为当前实体待释放技能信息;
其中,所述中控模块第i预设待释放技能预设动画时长Ti,设定第i预设待释放技能第一预设待释放技能动画时长Ti1、第i预设待释放技能第二预设待释放技能动画时长Ti2、第i预设待释放技能第三预设待释放技能动画时长Ti3、第i预设待释放技能第四预设待释放技能动画时长Ti4,预设第i预设待释放技能动作幅度Fi,设定第i预设待释放技能第一预设待释放技能动作幅度Fi1、第i预设待释放技能第二预设待释放技能动作幅度Fi2、第i预设待释放技能第三预设待释放技能动作幅度Fi3、第i预设待释放技能第四预设待释放技能动作幅度Fi4,预设第i预设待释放技能动画分辨率Bi,设定第i预设待释放技能第一预设待释放技能动画分辨率Bi1、第i预设待释放技能第二预设待释放技能动画分辨率Bi2、第i预设待释放技能第三预设待释放技能动画分辨率Bi3、第i预设待释放技能第四预设待释放技能动画分辨率Bi4;
其中,j=1,2,3,4。
具体而言,本发明实施例设置技能动画时长、动作幅度、动画分辨率和技能GPU占有率用于评价技能信息,其中,技能动画时长为技能释放动画时长,动作幅度为实体释放技能的各部件动作位移量,动画分辨率为技能动画分辨率,技能GPU占有率为释放该技能GPU占有率。
具体而言,本发明设置渲染等级分析单元根据监测模块获取的当前实体位置与预设中心位置的距离、当前画面实体数目、当前实体待释放技能GPU占有率,根据公式计算当前渲染指数,同时,本发明渲染等级分析单元内预设渲染指数,渲染等级分析单元根据获取的当前实体渲染指数与预设渲染指数相比较,判定当前实体的渲染等级。更进一步的,本发明通过设置各技能信息,包括该技能动画时长、动作幅度、动画分辨率和GPU占有率,当监测模块获取待释放技能,信息分析模块获取该待释放技能信息,尤其是通过待释放技能获取待释放技能GPU占有率。
所述中控模块获取当前GPU占有率y,中控模块根据当前GPU占有率与预设GPU占有率Y相比较,判定当前GPU占有率是否符合预设标准,其中,
当y≤Y1,所述中控模块判定当前GPU占有率符合预设标准;
当Y1<y<Y2,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij1,待释放技能动作幅度Fij降低至Fij1;
当y≥Y2,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij2,将待释放技能动作幅度Fij降低至Fij2,同时降低待释放技能动画时长Tij至Tij1;
其中,所述中控模块预设GPU占有率Y,设定第一预设GPU占有率Y1,第二预设GPU占有率Y2。
当所述中控模块获取当前GPU占有率在第一预设GPU占有率与第二预设GPU占有率之间时,中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij1,设定Bij1=Bij-△B,待释放技能动作幅度Fij降低至Fij1,设定Fij1=Fij-△F,其中,△B为待释放技能动画分辨率变化量,△F为待释放技能动作幅度变化量。
当所述中控模块获取当前GPU占有率大于等于第二预设GPU占有率,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij2,设定Bij2=Bij-1.2×△B,将待释放技能动作幅度Fij降低至Fij2,设定Fij2=Fij-1.5×△F,同时降低待释放技能动画时长Tij至Tij1,设定Tij1=Tij-△T,其中,△T为待释放技能动画时长变化量。
具体而言,本发明设置GPU占有率,中控模块根据监测模块获取当前GPU占有率与预设GPU占有率相比较,对相关部件参数进行调节,其中,若当前GPU占有率小于等于第一预设GPU占有率,说明当前GPU占有率符合预设标准,释放待释放技能不会影响当前系统,若当前GPU占有率在第一预设GPU占有率和第二预设GPU占有率之间,说明当前GPU占有率不足以支持释放技能,中控模块通过降低待释放技能动画分辨率和待释放技能动作幅度以降低当前因释放技能增加的GPU占有率,若当前GPU占有率大于等于第二预设GPU占有率,说明当前GPU占有率严重不足,中控模块通过降低待释放技能动画分辨率、待释放技能动作幅度和待释放技能动画时长以大幅度的降低当前因释放技能增加的GPU占有率。更进一步的,本发明设置有待释放技能动画时长变化量、待释放技能动画分辨率变化量和待释放技能动作幅度变化量,用以调节待释放技能动画时长、待释放技能动画分辨率和待释放技能动作幅度。
所述信息分析模块内设置有移动速度分析单元,所述信息分析模块将获取的当前实体生命值发送至所述移动速度分析单元,移动速度分析单元根据当前实体生命值获取当前实体最大移动速度,其中,移动速度分析单元获取的当前实体生命值为Q,预设实体生命值标准值Q0,设定,
当Q≥Q0,所述移动速度分析单元获取当前实体最大移动速度Vmax=V×(1+(Q-Q0)/Q0);
当Q<Q0,所述移动速度分析单元获取当前实体最大移动速度Vmax=V×(1-(Q0-Q)/Q0);
其中,V为所述移动速度分析单元预设实体移动最大速度。
具体而言,本发明在信息分析模块内设置移动速度分析单元,其用以根据当前实体生命值获取其最大移动速度,移动速度分析单元设置有实体生命值标准值,当移动速度分析单元获取当前实体生命值大于等于预设实体生命值,移动速度分析单元以当前实体生命值与预设生命值的差值为基准提高当前实体移动最大速度,当移动速度分析单元获取当前实体生命值小于预设实体生命值,移动速度分析单元以当前实体生命值与预设生命值的差值为基准降低当前实体移动最大速度。
所述中控模块设置实体移动速度标准值V0,中控模块根据获取的当前实体最大移动速度与设置的实体移动速度标准值相比较,对待释放技能信息调节参数J0进行修正,其中,
当Vmax≥V0,所述中控模块将待释放技能信息调节参数J0降低至J1,设定J1=J0×(1-(Vmax-V0)/V0);
当Vmax<V0,所述中控模块将待释放技能信息调节参数J增加至J2,设定J2=J0×(1+(V0-Vmax)/V0)。
具体而言,本发明设置待释放技能信息调节参数用于对待释放技能信息各参数进行修正,其中,当中控模块获取当前实体最大移动速度大于等于实体移动速度标准值,说明当前实体移动速度最大速度可以达到较高值,中控模块将待释放技能信息调节参数降低,进而降低待释放技能各参数变化率,以使当前技能释放效果与当前实体移动速度相匹配,当中控模块获取当前实体最大移动速度小于实体移动速度标准值,说明当前实体移动速度最大速度其达到较高值速度仍然不高,中控模块将待释放技能信息调节参数增加,进而提高待释放技能各参数变化率,以使当前技能释放效果与当前实体移动速度相匹配。
所述中控模块设置待释放技能动画分辨率变化量△B=Jr×(y-Y1)/(Y2×Y1),待释放技能动作幅度变化量△F=Jr×(y-Y1)/(Y2×Y1),待释放技能动画时长变化量△T=Jr×(y-Y2)/Y2;
其中,r=1,2。
具体而言,本发明设置技能待释放技能动画分辨率变化量、待释放技能动作幅度变化量、待释放技能动画时长变化量的获取方式,具体的,待释放技能动画分辨率变化量和待释放技能动作幅度变化量由获取的调节后的待释放技能信息调节参数与当前GPU占有率与第一预设GPU占有率的差值和第一预设GPU占有率与第二预设GPU占有率的比值的乘积,待释放技能动画时长变化量由获取的调节后的待释放技能信息调节参数与当前GPU占有率与第二预设GPU占有率的差值与第二预设GPU占有率的比值的乘积。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (8)
1.一种基于ecs设计的技能系统,其特征在于,包括:
监测模块,用于监测实体信息,所述实体信息包括当前实体生命值、当前实体位置、当前画面实体数目、当前实体待释放技能信息以及当前GPU占有率;
信息分析模块,其与所述监测模块相连接,用于将监测模块获取的实体信息进行分析,所述信息分析模块包括渲染等级分析单元,信息分析模块将获取的当前实体位置、当前画面实体数目以及当前实体待释放技能信息发送至所述渲染等级分析单元,渲染等级分析单元获取当前实体待渲染指数;
中控模块,其与所述信息分析模块相连接,用于将信息分析模块分析的结果进行调节,并将调节后的信息发送至执行模块,以使执行模块执行的信息符合预设标准;
所述执行模块,其与所述中控模块相连接,用于执行中控模块传送的信息;
所述中控模块根据渲染等级分析单元获取的当前实体待渲染指数判定当前实体渲染等级,并根据当前实体渲染等级获取待释放技能的动画时长、动作幅度、动画分辨率,中控模块根据当前GPU占有率对获取的待释放技能的动画时长、动作幅度、动画分辨率进行调节;其中,所述中控模块获取当前GPU占有率小于预设值,中控模块判定当前GPU占有率符合预设标准,所述中控模块获取当前GPU占有率大于预设值,中控模块对当前实体待释放技能动画分辨率、待释放技能动作幅度和待释放技能动画时长进行调节;
所述信息分析模块预设技能W(W1,W2···Wn),其中,W1为第一预设技能信息,其包括第一预设技能的动画时长T1,第一预设技能的动作幅度F1和第一预设技能的动画分辨率B1,第一预设技能GPU占有率G1,W2为第二预设技能信息,其包括第二预设技能的动画时长T2,第二预设技能的动作幅度F2和第二预设技能的动画分辨率B2,第二预设技能GPU占有率G2,···Wn为第n预设技能信息,其包括第n预设技能的动画时长Tn,第n预设技能的动作幅度Fn和第n预设技能的动画分辨率Bn,第n预设技能GPU占有率Gn,其中,n为大于等于2的自然数;
所述渲染等级分析单元设置渲染指数p,设定p=(1+(L-L0)/L0)×(1+(D-D0)/D0)×(1+(Gj-G0)/G0),其中,L为当前实体位置与预设中心位置的距离,L0为预设距离,D为当前画面实体数目,D0为预设画面实体数目,Gi为当前实体待释放技能GPU占有率,G0为预设待释放技能GPU占有率,所述中控模块根据获取当前实体渲染指数p与预设渲染指数P相比较,判定当前实体渲染等级,其中,
当p≤P1,所述中控模块判定当前实体渲染等级为A1级;
当P1<p<P2,所述中控模块判定当前实体渲染等级为A2级;
当P2≤p≤P3,所述中控模块判定当前实体渲染等级为A3级;
当p>P3,所述中控模块判定当前实体渲染等级为A4级;
其中,所述中控模块预设渲染指数P,设定第一预设渲染指数P1、第二预设渲染指数P2、第三预设渲染指数P3、第四预设渲染指数P4。
2.根据权利要求1所述的基于ecs设计的技能系统,其特征在于,当所述监测模块获取当前实体待释放技能信息为Wi时,所述中控模块选取所述信息分析模块内预设的第i预设待释放技能的动画时长Ti,第i预设待释放技能的动作幅度Fi和第i预设待释放技能的动画分辨率Bi为当前实体待释放技能信息,所述中控模块根据当前实体渲染等级Aj,选取待释放技能动画时长Tij,预设动作幅度Fij和预设动画分辨率Bij为当前实体待释放技能信息;
其中,所述中控模块第i预设待释放技能预设动画时长Ti,设定第i预设待释放技能第一预设待释放技能动画时长Ti1、第i预设待释放技能第二预设待释放技能动画时长Ti2、第i预设待释放技能第三预设待释放技能动画时长Ti3、第i预设待释放技能第四预设待释放技能动画时长Ti4,预设第i预设待释放技能动作幅度Fi,设定第i预设待释放技能第一预设待释放技能动作幅度Fi1、第i预设待释放技能第二预设待释放技能动作幅度Fi2、第i预设待释放技能第三预设待释放技能动作幅度Fi3、第i预设待释放技能第四预设待释放技能动作幅度Fi4,预设第i预设待释放技能动画分辨率Bi,设定第i预设待释放技能第一预设待释放技能动画分辨率Bi1、第i预设待释放技能第二预设待释放技能动画分辨率Bi2、第i预设待释放技能第三预设待释放技能动画分辨率Bi3、第i预设待释放技能第四预设待释放技能动画分辨率Bi4;
其中,j=1,2,3,4。
3.根据权利要求2所述的基于ecs设计的技能系统,其特征在于,所述中控模块获取当前GPU占有率y,中控模块根据当前GPU占有率与预设GPU占有率Y相比较,判定当前GPU占有率是否符合预设标准,其中,
当y≤Y1,所述中控模块判定当前GPU占有率符合预设标准;
当Y1<y<Y2,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij1,待释放技能动作幅度Fij降低至Fij1;
当y≥Y2,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij2,将待释放技能动作幅度Fij降低至Fij2,同时降低待释放技能动画时长Tij至Tij1;
其中,所述中控模块预设GPU占有率Y,设定第一预设GPU占有率Y1,第二预设GPU占有率Y2。
4.根据权利要求3所述的基于ecs设计的技能系统,其特征在于,当所述中控模块获取当前GPU占有率在第一预设GPU占有率与第二预设GPU占有率之间时,中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij1,设定Bij1=Bij-△B,待释放技能动作幅度Fij降低至Fij1,设定Fij1=Fij-△F,其中,△B为待释放技能动画分辨率变化量,△F为待释放技能动作幅度变化量。
5.根据权利要求3所述的基于ecs设计的技能系统,其特征在于,当所述中控模块获取当前GPU占有率大于等于第二预设GPU占有率,所述中控模块判定当前GPU占有率不符合预设标准,中控模块判定将当前实体待释放技能动画分辨率Bij降低至Bij2,设定Bij2=Bij-1.2×△B,将待释放技能动作幅度Fij降低至Fij2,设定Fij2=Fij-1.5×△F,同时降低待释放技能动画时长Tij至Tij1,设定Tij1=Tij-△T,其中,△T为待释放技能动画时长变化量。
6.根据权利要求5所述的基于ecs设计的技能系统,其特征在于,所述信息分析模块内设置有移动速度分析单元,所述信息分析模块将获取的当前实体生命值发送至所述移动速度分析单元,移动速度分析单元根据当前实体生命值获取当前实体最大移动速度,其中,移动速度分析单元获取的当前实体生命值为Q,预设实体生命值标准值Q0,设定,
当Q≥Q0,所述移动速度分析单元获取当前实体最大移动速度Vmax=V×(1+(Q-Q0)/Q0);
当Q<Q0,所述移动速度分析单元获取当前实体最大移动速度Vmax=V×(1-(Q0-Q)/Q0);
其中,V为所述移动速度分析单元预设实体移动最大速度。
7.根据权利要求6所述的基于ecs设计的技能系统,其特征在于,所述中控模块设置实体移动速度标准值V0,中控模块根据获取的当前实体最大移动速度与设置的实体移动速度标准值相比较,对待释放技能信息调节参数J0进行修正,其中,
当Vmax≥V0,所述中控模块将待释放技能信息调节参数J0降低至J1,设定J1=J0×(1-(Vmax-V0)/V0);
当Vmax<V0,所述中控模块将待释放技能信息调节参数J增加至J2,设定J2=J0×(1+(V0-Vmax)/V0)。
8.根据权利要求7所述的基于ecs设计的技能系统,其特征在于,所述中控模块设置待释放技能动画分辨率变化量△B=Jr×(y-Y1)/(Y2×Y1),待释放技能动作幅度变化量△F=Jr×(y-Y1)/(Y2×Y1),待释放技能动画时长变化量△T=Jr×(y-Y2)/Y2;
其中,r=1,2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981220.7A CN113680069B (zh) | 2021-08-25 | 2021-08-25 | 一种基于ecs设计的技能系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981220.7A CN113680069B (zh) | 2021-08-25 | 2021-08-25 | 一种基于ecs设计的技能系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113680069A CN113680069A (zh) | 2021-11-23 |
CN113680069B true CN113680069B (zh) | 2022-06-14 |
Family
ID=78582435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110981220.7A Active CN113680069B (zh) | 2021-08-25 | 2021-08-25 | 一种基于ecs设计的技能系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113680069B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114146417B (zh) * | 2021-12-03 | 2023-09-08 | 广州银汉科技有限公司 | 一种游戏弱网测试分析平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517309A (zh) * | 2013-10-08 | 2015-04-15 | 博雅网络游戏开发(深圳)有限公司 | 帧循环中的动画处理方法和装置 |
CN112199149A (zh) * | 2020-10-16 | 2021-01-08 | 维沃移动通信有限公司 | 界面渲染方法、装置及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524138B2 (en) * | 2009-12-29 | 2016-12-20 | Nvidia Corporation | Load balancing in a system with multi-graphics processors and multi-display systems |
US20120001925A1 (en) * | 2010-06-30 | 2012-01-05 | Ati Technologies, Ulc | Dynamic Feedback Load Balancing |
-
2021
- 2021-08-25 CN CN202110981220.7A patent/CN113680069B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517309A (zh) * | 2013-10-08 | 2015-04-15 | 博雅网络游戏开发(深圳)有限公司 | 帧循环中的动画处理方法和装置 |
CN112199149A (zh) * | 2020-10-16 | 2021-01-08 | 维沃移动通信有限公司 | 界面渲染方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113680069A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113680069B (zh) | 一种基于ecs设计的技能系统 | |
CN111143169B (zh) | 异常参数检测方法及装置、电子设备、存储介质 | |
US9247449B2 (en) | Reducing interarrival delays in network traffic | |
CN111726303B (zh) | 一种流量控制方法、装置以及计算设备 | |
CN109392065A (zh) | 一种功率控制方法、接收方法、功率分配方法及相关设备 | |
JP2012039330A (ja) | パケット中継装置および輻輳制御方法 | |
CN107192179A (zh) | 空调器及电子膨胀阀的控制方法和计算机可读存储介质 | |
CN109873428A (zh) | 一种面向大电网的多断面功率控制方法和系统 | |
US20120076022A1 (en) | Multi-function device | |
KR20220042927A (ko) | 인공지능을 이용하여 복수의 단말들의 작업들과 관련된 복수의 패킷들을 스케줄링하는 방법 및 이를 수행하는 전자 장치 | |
CN103117958B (zh) | 网络数据包聚集方法、系统及装置 | |
CN116932230B (zh) | 一种基于动态任务调度的视频渲染方法 | |
CN108984469A (zh) | 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质 | |
US20070273650A1 (en) | Method of data transferring for bluetooth mouse | |
CN109075749B (zh) | 一种电压控制方法及终端 | |
CN111836044A (zh) | 决定量化参数的方法 | |
CN107196347B (zh) | 一种电力调节方法及装置 | |
CN110458754A (zh) | 图像生成方法及终端设备 | |
CN114240035A (zh) | 一种基于业务感知的转接设备低功耗控制方法及转接设备 | |
TWI584667B (zh) | 多請求的排程方法及排程裝置 | |
CN114697142A (zh) | 一种通信数据加密方法及装置、电子设备、存储介质 | |
CN109587723B (zh) | 上行载波聚合维护方法、系统、装置及可读存储介质 | |
WO2021117230A1 (ja) | 無線フレーム推定装置、システム、方法、プログラム及び記録媒体 | |
CN107909184B (zh) | 基于序优化和蒙特卡洛的多状态电力系统可靠性分析方法 | |
CN102710368B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |