欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 动画加载方法、装置、服务器及存储介质独创技术32009字

动画加载方法、装置、服务器及存储介质

2021-02-01 05:17:59

动画加载方法、装置、服务器及存储介质

  技术领域

  本申请涉及计算机技术领域,尤其涉及一种动画加载方法、装置、服务器及存储介质。

  背景技术

  游戏渲染过程是指游戏引擎读取游戏模型数据,并将模型数据转化为图像的过程。

  针对游戏角色的渲染过程,游戏引擎先读取游戏角色的时装文件,再转换为图像。其中,时装文件包括模型文件、材质文件、贴图文件和动画文件等。通常情况下,游戏引擎会读取整个时装文件,然而,在游戏运行过程中,通常只有部分动作数据会被播放。因此,作为改进方案,游戏引擎在仅模型文件、材质文件和贴图文件,同时读取空的动画文件。在用户输入播放动作时,根据动作标识和映射表确定动画文件所在目录,再根据动作标识和映射表确定动画文件名,调用动画文件。其中,要实现游戏对象的动作播放,需要给每个游戏对象配置一个动画文件,该动画文件中存储有游戏对象的模型的各个部分的动作数据。

  然而,现有的加载方法中需要给每个游戏角色配置动画文件,动画文件中存储有游戏对象的模型的各个部分的动作数据,造成动画文件资源冗余。

  发明内容

  本申请提供一种动画加载方法、装置、服务器及存储介质,以解决现有的加载方法中需要给每个游戏角色配置动画文件,动画文件中存储有游戏对象的模型的各个部分的动作数据,造成动画文件资源冗余技术问题。

  第一方面,本申请提供一种动画加载方法,包括:获取用户在当前显示界面上对游戏对象输入的播放操作;根据播放操作确定播放数据,其中,播放数据包括动作标识和至少一个骨架的骨架标识;根据每个骨架标识和第一映射表确定第一存储目录,其中,第一映射表用于表示骨架标识和动画文件的存储目录之间的对应关系;根据动作标识在第一存储目录下读取动画文件。

  可选地,播放数据还包括:游戏对象的对象名称;根据动作标识在存储目录下读取动画文件,具体包括:确定第一存储目录下是否存在第一动画文件,其中,第一动画文件的文件名包括对象名称和动作标识;若是,在第一存储目录下读取第一动画文件。

  可选地,若否,确定与游戏对象关联的第二映射表,其中,第二映射表用于表示动作标识和动画文件的文件名的对应关系;根据动作标识和第二映射表确定文件名;在第一存储目录下读取文件名对应的动画文件。

  可选地,在根据动作标识在第一存储目录下读取动画文件之前,方法还包括:获取每个动画文件关联的骨架标识、对象名称以及动作标识;将骨架标识、对象名称以及动作标识叠加后,生成每个动画文件的文件名。

  可选地,在将骨架标识、对象名称以及动作标识叠加后,生成每个动画文件的文件名之后,方法还包括:将关联同一骨架标识的动画文件存至同一存储目录。

  可选地,动画文件用于存储单组骨架的关键帧运动数据。

  可选地,在根据动作标识在存储目录下读取动画文件之前,方法还包括:获取待修改动画文件所关联的骨架标识和文件名;根据骨架标识和第一映射表确定第二存储目录;根据文件名在第二存储目录下查找待修改动画文件;对待修改文件进行修改。

  可选地,在对待修改文件进行修改之后,方法还包括:修改待修改动画文件的文件名和动作标识之间对应关系。

  可选地,在根据动作标识在第一存储目录下读取动画文件之后,方法还包括:根据所读取的动画文件生成每个骨架的当前帧动画数据。

  可选地,在获取用户在当前显示界面上输入的游戏对象的播放动作之前,方法还包括:读取游戏对象的子模型和骨架的骨架标识,游戏对象的显示模型包括至少一个子模型,每个子模型包括至少一个骨架;判断内存中是否存储有与每个骨架标识关联的动画文件;若否,则停止生成每个骨架的当前帧动画数据。

  可选地,在若否,则停止生成骨架的当前帧动画数据之后,方法还包括:等待用户输入播放操作。

  第二方面,本申请提供一种动画加载装置,包括:

  获取模块,用于获取用户在当前显示界面上对游戏对象输入的播放操作;

  确定模块,用于根据播放操作确定播放数据,其中,播放数据包括动作标识和至少一个骨架的骨架标识;

  确定模块还用于根据每个骨架标识和第一映射表确定第一存储目录,其中,第一映射表用于表示骨架标识和动画文件的存储目录之间的对应关系;

  读取模块,用于根据动作标识在第一存储目录下读取动画文件。

  第三方面,本申请提供一种服务器,包括:

  存储器,用于存储程序;

  处理器,用于执行存储器存储的程序,当程序被执行时,处理器用于执行第一方面及可选方案所涉及的动画加载方法。

  第四方面,本申请提供一种计算机可读存储介质,包括计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于第一方面及可选方案所涉及的动画加载方法。

  本申请提供一种动画加载方法、装置、服务器及存储介质,通过将关联同一模型骨架标识的动画文件存储至同一目录,并配置模型骨架标识与动画文件存储目录之间的关系的映射表,在加载动画文件时,通过游戏对象的子模型确定子模型的骨架标识,再查找映射表即可读取动画文件。相较于现有技术中给通过将骨架标识作为动画文件的一级索引,使得关联同一骨架标识的子模型可以复用同一动画文件,有效避免动画文件中数据冗余。

  附图说明

  图1为本申请提供的2D引擎渲染3D资源的流程示意图;

  图2为本申请提供的骨架层次的示意图;

  图3为本申请提供的游戏角色的时装资源的结构示意图;

  图4为现有技术提供的动画加载的流程示意图;

  图5为本申请提供的动画加载方法的原理图;

  图6为本申请实施例一提供的动画加载方法的流程示意图;

  图7为本申请实施例一提供的动画文件的存储目录的示意图;

  图8为本申请实施例四提供的动画加载装置的结构示意图;

  图9为本申请实施例五提供的电子设备的结构示意图。

  具体实施方式

  为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

  大型多人在线角色扮演游戏(Massive Multiplayer Online Role-PlayingGame,简称:MMORPG)是众多网络游戏中的其中一种。MMORPG的游戏规则是玩家扮演一个虚构角色,并控制该角色的多种活动。

  MMORPG的游戏资源可以是3D资源,也可以是2D资源和3D资源结合方式,可使用2D游戏引擎或者3D游戏引擎运行游戏资源。针对在2D游戏引擎下运行2D和3D结合的游戏资源,通常情况下,场景、非玩家角色(Non-Player Character,简称:NPC)、特效等资源都是2D资源。由于玩家角色可以穿着不同的时装,玩家角色时装资源采用3D资源。图1为本申请提供的2D引擎渲染3D资源的流程示意图,如图1所示,在运行游戏资源时,通常采用双进程模式,渲染进程渲染3D资源,用于实现3D时装模型的离屏渲染。游戏进程通过共享内存的方式跟渲染进程进行通信,需要渲染3D时装模型时,游戏进程向渲染进程发送渲染消息,渲染进程离屏渲染3D时装模型,并生成多帧2D序列帧图像,通过共享内存方式把2D序列帧图像发送给游戏进程,使得游戏进程可以进行3D时装的显示。

  骨骼蒙皮动画的原理为它把模型网格顶点的绑定到一个骨骼层次上面,当骨骼层次变化之后,可以根据绑定信息计算出新的模型网格顶点坐标,进而驱动该模型网格变形。一个完整的骨骼动画一般由骨架层次、绑定网格以及一系列关键帧组成,一个关键帧对应于骨架的一个新状态,两个关键帧之间的状态可以通过插值得到。图2为本申请提供的骨架层次的示意图,如图2所示,骨架由一系列具有层次关系的关节和关节链组成,是一种树结构,根关节110是其它关节120的父关节,其它关节120是根关节的子关节,通过平移和旋转根关节,以确定整个骨架在世界空间中的位置和方向。父关节运动能影响子关节运动,但子关节运动对父关节不产生影响,因此,平移或旋转父关节时,也会同时平移或旋转其所有子关节。

  图3为本申请提供的游戏角色的时装资源的结构示意图,如图3所示,该时装资源基于骨骼蒙皮动画原理,时装资源包含模型文件、材质数据、贴图数据、动画文件等资源,其中,模型主要描述三维模型数据、皮肤网格坐标、骨架、以及关联的动画文件等。材质文件主要描述模型渲染时的渲染参数以及Shader文件。贴图主要描述模型的外观纹理表现。动画文件主要描述骨架运动的一系列关键帧。

  游戏角色的模型又可以拆分为一套体型子模型和多个挂件子模型。其中,体型子模型又包括身体模型和用于表示手、头、脚等部位的各种子部件模型。按照挂件子模型的作用和位置,挂件子模型包括头部挂件模型、武器挂件模型等。多个游戏角色可以复用同一套体型子模型,或者复用同一套挂件子模型。另外,多个子模型也可以复用同一个骨架,也就是多个子模型文件中骨架可以相同。

  图4为现有技术提供的动作加载的流程示意图,如图4所示,游戏引擎在读取模型文件时,同时读取空的动画文件,在用户针对游戏角色输入播放动作指令时,获取该游戏角色的动作映射表,如表1所示,动作映射表用于表示动作标识和动画文件之间对应关系,并根据动作映射表确定播放动作的动画文件,游戏引擎读取动画文件。

  表1现有技术中动作映射表

  现有技术中为实现游戏对象的动画播放,需要给每个游戏角色配置动画文件,动画文件中存储有游戏对象的模型的各个部分的动作数据,由于多个个游戏对象可以包含同一子模型,多个子模型文件又可以包含同一个骨架,使得每个游戏对象的动画文件中会存储有相同的关键帧数据,进而使得动画文件中关键帧数据冗余。

  本申请提供一种动画加载方法旨在解决现有技术中上述问题。图5为本申请提供的动画加载方法的原理图,如图5所示,本申请的发明构思是:游戏对象的模型有复用情况,例如:多个游戏角色复用同一个体型模型或者同一个挂件模型。多个模型又可以复用同一个骨架,例如:多个挂架模型复用同一个骨架。而动画文件中存储数据为关键帧骨架运动数据,使得多个游戏对象的动画文件中数据可以复用。

  基于上述分析,在每个动画文件中仅存储单组骨架的运动数据,并将关联同一个骨架标识的动画文件存储至同一个存储目录,并配置用于表示骨架标识与动画文件存储目录之间关系的映射表,再将动画文件按照关联的动作标识和对象名称进行命名,通过对象名称和动作标识在存储目录中查找动画文件,实现游戏动画文件加载。

  作为本发明还要解决的技术问题,现有技术中通过在加载模型时加载空动画文件,以实现将动画文件与模型文件分开加载。本申请提供动画加载方法,在加载完模型文件之后,判断是否加载动画文件,若未加载,则不生成当前帧动画数据,并等待用户输入播放操作。相较于现有方式,本申请可以进一步提高加载速率。

  图6为本申请实施例一提供的动画加载方法的流程示意图,该动画加载方法可应用于终端设备和计算机。如图6所示,本申请实施例一提供的动画加载方法包括如下步骤:

  S101、获取用户在当前显示界面上对游戏对象输入的播放操作。

  其中,在终端设备上运行本方法,当前显示界面是指终端显示屏当前所显示界面。在计算机上运行本方法,当前显示设备是指计算机显示屏当前所显示界面。用户通过手指、触摸笔或者鼠标等设备在当前所显示界面上针对游戏对象输入播放操作。游戏对象是指能够播放动画的对象,例如:玩家角色。播放操作可以攻击、跑、左转、右转、蹲、趴等。

  S102、根据播放操作确定播放数据。

  其中,播放数据包括:游戏对象的对象名称、游戏对象的动作标识及游戏对象的至少一个模型的模型标识。游戏对象的对象名称可以是英文名称或者中文首字母缩写。

  根据在当前显示界面上显示的游戏对象的时装资源确定在当前显示界面上显示游戏对象使用的显示模型,确定构成该显示模型的子模型。每个子模型中又包括有骨架,提取每个骨架的骨架标识。根据对游戏对象输入的播放操作确定动作的动作标识和至少一个骨架标识。

  当游戏对象为游戏角色时,每个骨架标识可以由两个部分构成,第一个部分用于表示该骨架所属的体型骨架,第二个部分用于表示该骨架的类型。

  下面以游戏角色逍遥生的显示模型为例说明播放数据,例如:游戏角色逍遥生的一套由两套时装资源,第一套显示模型时装资源包括身体模型和头发挂件模型。该套显示模型对应一套体型骨架,体型骨架包括身体骨架和头发挂件骨架。身体模型文件中存储有身体骨架,头发挂件模型文件中存储有头发挂件骨架,身体骨架模型的模型标识骨架标识为man01base1,其中,man01用于表示身体骨架属于标识为man01的体型骨架。Base1表示该骨架属于身体骨架。头发挂件骨架的骨架标识为man01pelvis2,pelvis2表示该骨架属于头部挂件骨架。播放数据中骨架标识为:man01base1和man01pelvis2,播放数据中对象名称为xys,播放数据中动作的动作标识为attack。头发挂件模型的模型标识为pelvis1。第二套时装资源包括身体模型和头发挂件模型,身体模型的模型标识为base1,头发挂件模型的模型标识为pelvis2。在当前显示界面上显示第一套时装资源,获取构成第一套时装资源的模型标识base1和pelvis1。对象名称为中文字母缩写,逍遥生的对象名称为xys。游戏对象的动作为攻击动作,动作标识为attack。

  S103、根据每个骨架标识和第一映射表确定第一存储目录。

  其中,映射表用于表示每个骨架标识和动画文件存储目录之间关系。在服务器初始化过程中加载映射表。通过查找表2所示映射表,确定每个模型标识骨架标识对应的动画文件的存储目录。

  游戏对象的文件名为gy_collaer2的模型文件,模型文件的存储目录为meshman01。模型文件的模型标识为1base,则动画文件的存储目录为meshman011base。游戏对象的文件名为gy_pendant1的模型文件,模型文件的存储目录为meshman01。模型文件的模型标识为1base,则动画文件的存储目录为meshman011base。

  游戏对象的文件名为default_hat3_wzs的模型文件,模型文件的存储目录为meshman02。模型文件的模型标识为2head,则动画文件的存储目录为meshman022head。游戏对象的文件名为default_hat_jxk的模型文件,模型文件的存储目录为meshman02。模型文件的模型标识为2head,则动画文件的存储目录为meshman022head。

  S104、根据动作标识在第一存储目录下读取动画文件。

  其中,针对每个存储目录,确定在存储目录下是否存在文件名包含对象名称和动作标识的动画文件,若是,则在存储目录下读取文件名包含对象名称和动作标识的动画文件。若否,采用查表方式确定文件名。

  采用查表方式确定文件名具体包括:确定游戏对象对应的第二映射表,第二映射表用于表示动作标识和动画文件的文件名的关系。根据动作标识和游戏对象对应的第二映射表确定动画文件的文件名。根据动画文件的文件名在每个存储目录下读取动画文件。动画文件以关联的动作标识和对象名称命名,通过在每个模型对应的存储目录下读取文件名包含对象名称和动作标识的动画文件,即可获得多个动画文件。

  S105、根据所读取的动画文件生成当前帧动画数据。

  其中,动画文件中是骨架的关键帧运动数据,在获得模型关键帧动画数据之后,计算当前帧动画数据。计算方法为常规的骨骼蒙皮动画的计算算法,此处不再赘述。

  在本申请实施例一提供的动画加载方法中,通过将骨架标识作为动画文件的索引,使得有相同骨架标识的模型可以调用同一动画文件中数据,实现动画文件中数据复用,避免数据冗余通过将同一模型关联的动画文件存储至同一目录,仅需配置模型与动画文件存储目录之间的映射表,又不同角色会复用模型,进一步减少映射表规模,相较于现有的为每个角色配置动作标识和所有动画文件之间关系的映射表,本申请中映射表规模更小,缩短配置时间。

  下面重点描述本申请实施例二提供的动画加载方法,其中,本申请实施例二提供的动画加载方法包括如下步骤:

  S201、获取每个动画文件所关联的骨架标识、对象名称以及动作标识。

  其中,动画文件中存储单组骨架的关键帧运动数据,当模型使用该骨架时,根据骨架的关键帧运动数据可确定模型的某个动作的动画数据。动画文件中关键帧运动数据可以为单个动作的关键帧运动数据,也可以为多个动作的关键帧运动数据。

  在动画文件制作过程中,若两个游戏对象基于同一组骨架,但两个游戏对象的同一个动作的关键帧运动数据不同,需要在两个文件中分别存储该骨架的关键帧运动数据,因此,在动画文件中还存储有单组骨架的关键帧运动数据所关联的游戏对象。根据动画文件中存储数据确定动画文件所关联的骨架标识、动作标识和对象名称。

  S202、将骨架标识、对象名称以及动作标识叠加后,生成动画文件的文件名。

  其中,若两个游戏对象复用相同的模型文件,则两个游戏对象会复用同一组骨架或者两个游戏对象各自模型文件复用同一组骨架,动画文件是基于骨架,若两个游戏对象基于该组骨架的关键帧运动数据相同,则两个游戏对象可以复用相同的动画文件。因此,约定基于同一骨架标识制作的多个动画文件命名前缀一致,前缀均为骨架标识。约定将动画文件所关联的游戏对象名称作为动作文件名的后缀。游戏对象的对象名称可以是英文名称或者中文首字母缩写。

  模型标识骨架标识、对象名称以及动作标识均是字符串数据,字符串数据的叠加是指将字符串通过连接符号进行连接,连接顺序为模型标识骨架标识、动作标识以及对象名称。当动画文件关联一个对象名称和一个动作标识,且骨架标识由两个部分构成时时,例如:模型标识骨架标识为man011base,对象名称为xys,动作标识为attack。仅选择骨架标识的一部分生成动画文件的文件名。例如:选择表示骨架的部位的标识生成动作文件名,叠加处理后的文件名为1base_attack_xys,该文件的存储目录为man011base1base_attack_xys.gis。动作文件关联多个对象名称和多个动作标识时,仅在动画文件的文件名中显示一个对象名称,例如:模型标识骨架标识man011base,对象名称为xys和lhy,动作标识为attack和ride,叠加处理后的文件为:man011base_attack_ride_xys,该文件的存储目录为man011base1base_attack_ride_xys.gis,再向未在文件名称中显示的游戏对象配置第二映射表,该第二映射表用于表示该游戏对象的动作标识和动画文件的文件名之间对应关系。

  通过上述命名方式,关联同一骨架模型的动画文件的文件名前缀都相同。例如:同一体型身体模型骨架的动画文件的文件名前缀都为1base,同一头部挂件骨架的动画文件的文件名前缀都为2head。通过判断动画文件的文件名前缀是否一致,可以判断动画文件是否对应相同模型骨架。通过动画文件的文件名后缀判断动画文件所关联的游戏角色游戏对象。

  通过数字和部分来组合模型标识,常见用于表示骨架所描述部位的模型标识骨架标识为:1base、2head、3pelvis、3pelvis2、4pelvis、4weapon、5spine、6weapon、5hat、5pelvis、6pelvis、7pelvis、8pelvis等。再和体型标识组合即可生成骨架标识。

  S203、将关联同一骨架标识的动画文件存至同一存储目录。

  其中,图7为本申请实施例一提供的动画文件的存储目录的示意图,如图7,根据动画文件的文件名确定动画文件所关联的骨架标识,将关联同一骨架标识的动画文件存至同一目录。并配置表示骨架标识和动画文件的存储目录之间的对应关系的映射表,如表2所示。

  表2为本申请中的第一映射表

  S204、获取用户在当前显示界面上对游戏对象输入的播放操作。

  其中,该步骤已经在实施例一的S101中详细说明,此处不再赘述。

  S205、根据播放操作确定播放数据。

  其中,该步骤已经在实施例一的S102中详细说明,此处不再赘述。

  S206、根据每个骨架标识和第一映射表确定第一存储目录。

  其中,该步骤已经在实施例一的S103中详细说明,此处不再赘述。

  S207、根据动作标识在第一存储目录下读取动画文件。

  其中,该步骤已经在实施例一的S104中详细说明,此处不再赘述。

  S208、使用所读取的动画文件生成当前帧动画数据。

  其中,该步骤已经在实施例一的S105中详细说明,此处不再赘述。

  下面举例说明上述存储方式的有益效果:文件名为gy_collaer2的模型文件和gy_pendant1的子模型文件,上述两个模型文件均存于meshman01目录下。上述两个子模型文件存储有同一个骨架,该骨架的骨架标识为man011base,上述两个子模型所关联的动画文件的存储目录均为meshman011base,可以调用相同的动画文件。

  在本申请实施例二提供的动画加载方法中,在每个动画文件中仅存储单个骨架的关键帧运动数据,再将关联同一骨架标识的动画文件存储于同一目录下,使得有相同骨架标识的模型可以调用同一动画文件中数据,实现动画文件中数据复用,避免数据冗余。

  下面重点描述本申请实施例三提供的动画加载方法的流程示意图,本申请实施例三提供的动画加载方法包括如下步骤:

  S301、读取游戏对象的至少一个子模型。

  其中,在对游戏对象进行渲染时,确定游戏对象的显示模型,确定构成该显示模型的子模型的存储路径,在该存储路径中读取游戏对象的子模型,完成游戏对象的显示模型加载,通过对该显示模型进行渲染,可以在显示界面上显示该游戏对象。

  S302、获取每个骨架的骨架标识。

  其中,在加载游戏对象的子模型之后,获取子模型中的骨架和骨架标识。

  S303、判断内存中是否存储有与每个骨架标识关联的动画文件,若判断结果为是,进入S304,否则,进入S305。

  其中,在模型初始加载时,并未加载动画文件,增加该判断步骤,可以防止动画加载进程报错。

  S304、使用动画文件生成骨架的当前帧动画数据。

  其中,动画文件中是模型关键帧动作数据,在获得模型关键帧动画数据之后,计算当前帧动画数据。计算方法为常规的骨骼蒙皮动画的计算算法,此处不再赘述。

  S305、停止生成当前帧动画数据。

  其中,由于内存中不存在动画文件,停止生成当前帧动画数据,防止动画加载进程报错。

  S306、等待用户输入游戏对象的播放动作。

  其中,在加载完模型以及更新完动画数据之后,进入等待用户输入游戏对象的播放动作的进程。

  S307、获取用户在当前显示界面上对游戏对象输入的播放操作。

  其中,该步骤已经在实施例一的S101中详细说明,此处不再赘述。

  S308、根据播放操作确定播放数据。

  其中,该步骤已经在实施例一的S102中详细说明,此处不再赘述。

  S309、根据每个骨架标识和第一映射表确定第一存储目录。

  其中,该步骤已经在实施例一的S103中详细说明,此处不再赘述。

  S310、根据动作标识在第一存储目录下读取动画文件。

  其中,该步骤已经在实施例一的S104中详细说明,此处不再赘述。

  S311、使用所读取的动画文件生成当前帧动画数据。

  其中,该步骤已经在实施例一的S105中详细说明,此处不再赘述。

  在本申请实施例二提供的动画加载方法,在加载完模型后,判断内存中是否存储有动画文件,若没有动画文件,则停止更新动画数据,并等待用户输入播放操作,实现动画文件和模型文件加载分离,相较于现有通过加载空动画文件实现动画文件和模型文件加载分离的方式,本申请无需加载空的动画文件,又能保证动画文件加载进程不出错,可进一步减少加载时间。

  图8为本申请实施例三提供的动画加载装置的结构示意图,如图8所示,本申请实施例三提供的动画加载装置包括:

  获取模块401,用于获取用户在当前显示界面上对游戏对象输入的播放操作;

  确定模块402,用于根据播放操作确定播放数据,其中,播放数据包括动作标识和至少一个骨架的骨架标识;

  确定模块402还用于根据每个骨架标识和第一映射表确定第一存储目录,其中,第一映射表用于表示骨架标识和动画文件的存储目录之间的对应关系;

  读取模块403,用于根据动作标识在第一存储目录下读取动画文件。

  可选地,播放数据还包括:游戏对象的对象名称;读取模块403具体用于:确定第一存储目录下是否存在第一动画文件,其中,第一动画文件的文件名包括对象名称和动作标识;若是,在第一存储目录下读取第一动画文件。

  可选地,若否,确定与游戏对象关联的第二映射表,其中,第二映射表用于表示动作标识和动画文件的文件名的对应关系;根据动作标识和第二映射表确定文件名;在第一存储目录下读取文件名对应的动画文件。

  可选地,装置还包括存储模块404,存储模块404具体用于:获取每个动画文件关联的骨架标识、对象名称以及动作标识;将骨架标识、对象名称以及动作标识叠加后,生成每个动画文件的文件名。

  可选地,存储模块404还用于:将关联同一骨架标识的动画文件存至同一存储目录。

  可选地,动画文件用于存储单组骨架的关键帧运动数据。

  可选地,装置还包括修改模块405,修改模块405具体用于:获取待修改动画文件所关联的骨架标识和文件名;根据骨架标识和第一映射表确定第二存储目录;根据文件名在第二存储目录下查找待修改动画文件;对待修改文件进行修改。

  可选地,修改模块405还用于:修改待修改动画文件的文件名和动作标识之间对应关系。

  可选地,装置还包括更新模块405,更新模块406具体用于:根据所读取的动画文件生成每个骨架的当前帧动画数据。

  可选地,更新模块406还用于:读取游戏对象的子模型和骨架的骨架标识,游戏对象的显示模型包括至少一个子模型,每个子模型包括至少一个骨架;判断内存中是否存储有与每个骨架标识关联的动画文件;若否,则停止生成每个骨架的当前帧动画数据。

  可选地,装置还包括等待模块407,等待模块407具体用于:等待用户输入播放操作。

  图9为本申请实施例四示出的电设备的结构示意图。如图9所示,本实施例提供的电设备500包括:发送器501、接收器502、存储器503、及处理器504。

  发送器501,用于发送指令和数据;

  接收器502,用于接收指令和数据;

  存储器503,用于存储计算机执行指令;

  处理器504,用于执行存储器存储的计算机执行指令,以实现上述实施例中动画加载方法所执行的各个步骤。具体可以参见前述动画加载方法实施例中的相关描述。

  可选地,上述存储器503既可以是独立的,也可以跟处理器504集成在一起。

  当存储器503独立设置时,该电设备还包括总线,用于连接存储器4503和处理器504。

  本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上电设备所执行的动画加载方法。

  最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

《动画加载方法、装置、服务器及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)