拖尾特效实现方法及装置与流程

文档序号:17470996发布日期:2019-04-20 05:49阅读:562来源:国知局
拖尾特效实现方法及装置与流程
本发明实施例涉及游戏特效处理
技术领域
,具体而言,涉及一种拖尾特效实现方法及装置。
背景技术
:在大部分的动作游戏中,游戏角色在挥舞刀剑等武器时,通常会用刀光特效来表现武器的拖尾特效。但是传统的拖尾特效制作方法灵活性低、效果生硬。技术实现要素:有鉴于此,本发明提供了一种拖尾特效实现方法及装置。本发明实施例提供了一种拖尾特效实现方法,应用于服务端,所述方法包括:获取当前帧中的设定点;统计已存储的设定点的数量;判断所述数量是否达到设定阈值,若所述数量达到所述设定阈值,将存入时刻最早的设定点删除,将所述当前帧中的设定点进行存储;在已存储的设定点中查找是否存在存储时长超过设定时长的设定点,若存在,将所述存储时长超过所述设定时长的设定点删除;根据已存储的设定点生成反映武器挥动的轨迹线条,基于所述轨迹线条构建轨迹区域,对所述轨迹区域进行渲染以实现所述武器在所述当前帧中的拖尾特效。可选地,基于所述轨迹线条构建轨迹区域的步骤,包括:针对已存储的每个设定点,沿第一设定方向移动设定距离获得第一坐标点,沿第二设定方向移动所述设定距离获得第二坐标点,所述第一坐标点和所述第二坐标点相对,将该设定点删除;根据获得的多个第一坐标点和多个第二坐标点构建所述轨迹区域。可选地,根据获得的多个第一坐标点和多个第二坐标点构建所述轨迹区域的步骤,包括:将所述多个第一坐标点和所述多个第二坐标点作为边界点;按照设定顺序将每三个边界点连接以形成多个三角区域;将所述多个三角区域作为所述轨迹区域。可选地,所述方法还包括:获取下一帧中的设定点;判断所述下一帧中的设定点的坐标值是否与所述当前帧中的设定点的坐标值相同;若相同,对所述轨迹其余进行渲染以实现所述武器在所述下一帧中的拖尾特效。可选地,将所述当前帧中的设定点进行存储的步骤,包括:获取当前时刻以及所述当前帧中的设定点的坐标值;将所述当前时刻和所述当前帧中的设定点的坐标值进行存储并以所述当前时刻为起点开始计时。本发明实施例还提供了一种拖尾特效实现装置,应用于服务端,所述装置包括:设定点获取模块,用于获取当前帧中的设定点;数量统计模块,用于统计已存储的设定点的数量;数量判断模块,用于判断所述数量是否达到设定阈值,若所述数量达到所述设定阈值,将存入时刻最早的设定点删除,将所述当前帧中的设定点进行存储;时长判断模块,用于在已存储的设定点中查找是否存在存储时长超过设定时长的设定点,若存在,将所述存储时长超过所述设定时长的设定点删除;拖尾特效实现模块,用于根据已存储的设定点生成反映武器挥动的轨迹线条,基于所述轨迹线条构建轨迹区域,对所述轨迹区域进行渲染以实现所述武器在所述当前帧中的拖尾特效。可选地,所述拖尾特效实现模块通过以下方式基于所述轨迹线条构建轨迹区域:针对已存储的每个设定点,沿第一设定方向移动设定距离获得第一坐标点,沿第二设定方向移动所述设定距离获得第二坐标点,所述第一坐标点和所述第二坐标点相对,将该设定点删除;根据获得的多个第一坐标点和多个第二坐标点构建所述轨迹区域。可选地,所述拖尾特效实现模块通过以下方式根据获得的多个第一坐标点和多个第二坐标点构建所述轨迹区域:将所述多个第一坐标点和所述多个第二坐标点作为边界点;按照设定顺序将每三个边界点连接以形成多个三角区域;将所述多个三角区域作为所述轨迹区域。可选地,所述设定点获取模块还用于获取下一帧中的设定点,所述装置还包括:设定点查重模块,用于判断所述下一帧中的设定点的坐标值是否与所述当前帧中的设定点的坐标值相同;若相同,对所述轨迹其余进行渲染以实现所述武器在所述下一帧中的拖尾特效。可选地,将所述当前帧中的设定点进行存储的步骤,包括:获取当前时刻以及所述当前帧中的设定点的坐标值;将所述当前时刻和所述当前帧中的设定点的坐标值进行存储并以所述当前时刻为起点开始计时。本发明实施例还提供了一种服务端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的拖尾特效实现方法。本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在服务端执行上述的拖尾特效实现方法。有益效果本发明实施例提供的拖尾特效实现方法及装置,在获得当前帧时,会基于设定阈值和设定时长对已存储的设定点从数量维度和存储时长维度进行筛选,并基于当前帧的设定点和筛选得到的设定点生成反映武器挥动的轨迹线条,然后基于轨迹线条构建轨迹区域,对轨迹区域进行渲染以实现武器在当前帧中的拖尾特效,如此,能够实时、动态地实现拖尾特效,提高了拖尾特效生成的灵活性,相较于现有的采用贴图方式,该方法生成的拖尾特效效果更加逼真。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本发明实施例所提供的一种服务端10的方框示意图。图2为本发明实施例所提供的一种拖尾特效实现方法的流程图。图3为一实施方式中图2所示的步骤s28包括的子步骤的示意图。图4为本发明实施例所提供的一种轨迹区域构建的示意图。图5为本发明实施例所提供的一种拖尾特效实现装置20的模块框图。图标:10-服务端;11-存储器;12-处理器;13-网络模块;20-拖尾特效实现装置;21-设定点获取模块;22-数量统计模块;23-数量判断模块;24-时长判断模块;25-拖尾特效实现模块。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。发明人经调查发现,传统的拖尾特效实现方法大多是预先根据武器的轨迹制作出拖尾的模型,在武器运动时显示,这种方式灵活性低且效果生硬,需要针对不同的形状、不同运动轨迹的武器制作不同的素材,如此会增加美术人员的前期工作量,也会占用大量的美术资源。以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。基于上述研究,本发明实施例提供了一种拖尾特效实现方法及装置,能够实时、动态地实现拖尾特效,提高了拖尾特效生成的灵活性,相较于现有的采用贴图方式,该方法生成的拖尾特效效果更加逼真。图1示出了本发明实施例所提供的一种服务端10的方框示意图。本发明实施例中的服务端10具有数据存储、传输、处理功能,如图1所示,服务端10包括:存储器11、处理器12、网络模块13和拖尾特效实现装置20。存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有拖尾特效实现装置20,所述拖尾特效实现装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的拖尾特效实现装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的拖尾特效实现方法。其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。网络模块13用于通过网络建立服务端10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。可以理解,图1所示的结构仅为示意,服务端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在服务端10执行下面的拖尾特效实现方法。图2示出了本发明实施例所提供的一种拖尾特效实现方法的流程图。所述方法有关的流程所定义的方法步骤应用于服务端10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:在本实施例中,服务端10预设有第一列表和第二列表,其中,第一列表用于存储每一帧中设定点的坐标值(位置),第二列表用于存储每一帧中设定点的存入时刻(当前时刻)。而本实施例正是基于这两张表动态生成拖尾特效。为便于说明,假设已经过若干帧,因此第一列表和第二列表中已存储有一些设定点的坐标值和存入时刻。在本实施例中,设定点可以为武器的关键点,若武器为剑,则设定点可以为剑的尖端。而设定点的坐标值可以通过每一帧建立的坐标系进行相对计算,例如,以每一帧的其中一个顶点为原点,以该顶点对应的两条边作为坐标轴建立坐标系,进而计算出设定点的坐标值。下面将针对任意帧进行具体说明:步骤s21,获取当前帧中的设定点。例如,当前帧为第n帧,设定点为pn,其中,pn的坐标值为(xn,yn),当前时刻为tn。可以理解,服务端10在获取当前帧中的设定点时,会获取(xn,yn)和tn。步骤s22,统计已存储的设定点的数量。请结合参阅表1,可以理解,已存储的设定点的坐标值和当前时刻分别存储于第一队列和第二队列,其中当前时刻又可以理解为存入第二队列时的时刻,由表1可见,已存储的设定点为p1、p2、p3和p4。表1设定点第一队列第二队列p1(x1,y1)t1p2(x2,y2)t2p3(x3,y3)t3p4(x4,y4)t4可以理解,统计得到的数量为4。步骤s23,判断统计得到的数量是否达到设定阈值。若统计得到的数量没有达到设定阈值,转向步骤s24。若统计得到的数量达到设定阈值,转向步骤s25。步骤s24,将当前帧中的设定点进行存储。若设定阈值大于4,直接将(xn,yn)和tn存入第一队列和第二队列,如表2所示。表2设定点第一队列第二队列p1(x1,y1)t1p2(x2,y2)t2p3(x3,y3)t3p4(x4,y4)t4pn(xn,yn)tn步骤s25,将存入时刻最早的设定点删除,将当前帧中的设定点进行存储。例如,设定阈值恰好为4,则将存入时刻最早的设定点删除,假设存储先后顺序为p1、p2、p3和p4。则的p1存入时刻(当前时刻)最早(t1<t2<t3<t4),因此将p1对应的坐标值和当前时刻删除,如表3所示:表3设定点第一队列第二队列p2(x2,y2)t2p3(x3,y3)t3p4(x4,y4)t4然后将(xn,yn)和tn存入第一队列和第二队列,如表4所示:表4设定点第一队列第二队列p2(x2,y2)t2p3(x3,y3)t3p4(x4,y4)t4pn(xn,yn)tn步骤s26,在已存储的设定点中查找是否存在存储时长超过设定时长的设定点。当每个设定点的当前时刻存入第二队列时,服务端10会开始计时,其中,存储时长可以理解为某个设定点从存入时到现在的持续时长,以表4中的设定点p2为例,可以理解,设定点p2在的存储时长为tn-t2。进一步地,判断tn-t2是否超过设定时长,若超过,转向步骤s27,若不超过,不进行操作。步骤s27,将存储时长超过设定时长的设定点删除。例如,tn-t2超过设定时长,此时会将设定点p2对应的(x2,y2)和t2删除,进而得到如表5所示的已存储的设定点:表5设定点第一队列第二队列p3(x3,y3)t3p4(x4,y4)t4pn(xn,yn)tn步骤s28,根据已存储的设定点生成反映武器挥动的轨迹线条,基于轨迹线条构建轨迹区域,对轨迹区域进行渲染以实现所述武器在当前帧中的拖尾特效。请结合参阅图3和图4,本实施例中通过步骤s281、步骤s282和步骤s283列举了步骤s28的其中一种实现方式。步骤s281,根据已存储的设定点生成反映武器挥动的轨迹线条。如图4所示,轨迹线条为l,其中,设定点为p3、p4和pn。步骤s282,针对已存储的每个设定点,沿第一设定方向移动设定距离获得第一坐标点,沿第二设定方向移动设定距离获得第二坐标点,第一坐标点和第二坐标点相对,将该设定点删除。如图4所示,以设定点p3为例,第一设定方向可以为从设定点p3引出的该轨迹线条l的法线f的一端,第二设定方向为该法线f的另一端,设定距离为d,可以理解,第一设定方向、第二设定方向以及设定距离可以根据实际情况进行调整,图4仅用于举例,并不是对本方案的限定。进一步地,将p3分别沿第一设定方向和第二设定方向移动设定距离得到p3a和p3b,此时将p3删除,。对p4和pn作如上类似操作,得到p4a、p4b、pna和pnb。步骤s283,根据获得的多个第一坐标点和多个第二坐标点构建所述轨迹区域,对轨迹区域进行渲染以实现武器在当前帧中的拖尾特效。其中,可以将p3a、p3b、p4a、p4b、pna和pnb作为边界点,进一步地,按照顺时针顺序将每三个边界点连接以形成多个三角区域,将多个三角区域作为轨迹区域,并对轨迹区域进行渲染以实现武器在第n帧中的拖尾特效。由图4可见,p3a、p3b、p4a、p4b、pna和pnb形成的轨迹区域为长方形,可以理解,在实际生产环境下,边界点的数量远远超过本实施例的示例,因此能够达到较为逼真的拖尾效果。可选地,若服务端10对第n+1帧进行分析,会判断第n+1帧的设定点的坐标值与(xn,yn)是否相同,若相同,直接将步骤s283中的轨迹区域进行渲染以实现武器在第n+1帧中的拖尾特效。若不相同,则按照步骤s21对第n+1帧执行对应操作。如此,能够根据武器的运动轨迹实时生成拖尾特效,无需美术人员前期制作大量的贴图或纹理资源,减少了开发成本,基于设定阈值能够减轻服务端10的数据处理压力,基于设定时长能够提高拖尾特效的效果,避免拖尾特效的“拖沓”(未删除较早的关键点)。在上述基础上,如图5所示,本发明实施例提供了一种拖尾特效实现装置20,所述拖尾特效实现装置20包括:设定点获取模块21、数量统计模块22、数量判断模块23、时长判断模块24和拖尾特效实现模块25。设定点获取模块21,用于获取当前帧中的设定点。由于设定点获取模块21和图2中步骤s21的实现原理类似,因此在此不作更多说明。数量统计模块22,用于统计已存储的设定点的数量。由于数量统计模块22和图2中步骤s22的实现原理类似,因此在此不作更多说明。数量判断模块23,用于判断所述数量是否达到设定阈值,若所述数量达到所述设定阈值,将存入时刻最早的设定点删除,将所述当前帧中的设定点进行存储。由于数量判断模块23和图2中步骤s23、步骤s24和步骤s25的实现原理类似,因此在此不作更多说明。时长判断模块24,用于在已存储的设定点中查找是否存在存储时长超过设定时长的设定点,若存在,将所述存储时长超过所述设定时长的设定点删除。由于时长判断模块24和图2中步骤s26和步骤s27的实现原理类似,因此在此不作更多说明。拖尾特效实现模块25,用于根据已存储的设定点生成反映武器挥动的轨迹线条,基于所述轨迹线条构建轨迹区域,对所述轨迹区域进行渲染以实现所述武器在所述当前帧中的拖尾特效。由于拖尾特效实现模块25和图2中步骤s28的实现原理类似,因此在此不作更多说明。综上,本发明实施例所提供的拖尾特效实现方法及装置,能够实时、动态地实现拖尾特效,提高了拖尾特效生成的灵活性,相较于现有的采用贴图方式,该方法生成的拖尾特效效果更加逼真。在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1