CN111494954B - 游戏中的动画处理方法、装置、电子设备及存储介质 - Google Patents
游戏中的动画处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111494954B CN111494954B CN202010324668.7A CN202010324668A CN111494954B CN 111494954 B CN111494954 B CN 111494954B CN 202010324668 A CN202010324668 A CN 202010324668A CN 111494954 B CN111494954 B CN 111494954B
- Authority
- CN
- China
- Prior art keywords
- animation
- interactable
- interactive
- virtual object
- interactable object
- 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
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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- 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/50—Controlling the output signals based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/643—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种游戏中的动画处理方法、装置、电子设备及存储介质,涉及游戏技术领域。其中,该方法可以响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取可交互对象的属性信息,进而根据属性信息,可以确定可交互对象的动画关键点,根据动画关键点可以计算动画数据,以呈现虚拟对象与所述可交互对象的交互动画,实现了可以针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画,提高了交互动画的制作效率。
Description
技术领域
本申请涉及游戏技术领域,特别涉及一种游戏中的动画处理方法、装置、电子设备及存储介质。
背景技术
动画***是衡量游戏品质的一个重要指标,在动画制作过程中,为了使得动画能适应不同的交互场景,需要制作一系列动画,进而在不同的交互场景下可以选择不同的动画进行播放。比如,以翻越动画为例,为了提升动画的表现效果,需要对不同尺寸的障碍物定制不同的翻越动画。
现有的,针对游戏场景中不同的障碍物定制不同的翻越动画时,主要通过在游戏场景中配置一系列翻越动画播放所需的信息点,当游戏角色与相应的障碍物进行交互时,通过这些信息点获取动画的位移、形变、角度和朝向等动画数据,以此达到动画适配的效果。
因此,现有的由于需要在游戏场景中针对不同的交互物进行信息点的配置才能获取到相应的交互动画,存在信息配置繁琐、交互动画制作效率较低的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种游戏中的动画处理方法、装置、电子设备及存储介质,可以解决现有技术中动画制作效率较低的技术问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种游戏中的动画处理方法,该方法包括:
响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取所述可交互对象的属性信息;
根据所述属性信息,确定所述可交互对象的动画关键点,根据所述动画关键点计算动画数据,以呈现所述虚拟对象与所述可交互对象的交互动画。
可选地,所述响应于游戏场景中可交互对象与虚拟对象的碰撞之前,所述方法还包括:
获取所述游戏场景中的所述可交互对象,检测所述可交互对象与虚拟对象的碰撞。
可选地,所述碰撞射线通过所述可交互对象的类型确定。
可选地,所述根据所述碰撞射线,获取所述可交互对象的属性信息之后,还包括:
根据所述可交互对象的属性信息、以及所述可交互对象的类型,确定所述虚拟对象的动作类型。
可选地,所述根据所述可交互对象的属性信息、以及所述可交互对象的类型,确定所述虚拟对象的动作类型之后,还包括:
根据所述虚拟对象的动作类型,确定所述交互动画中所述虚拟对象的基础动作;
根据所述虚拟对象的基础动作,确定基础交互动画。
可选地,所述根据所述动画关键点计算动画数据,以呈现所述虚拟对象与所述可交互对象的交互动画,包括:
根据所述动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据;
根据所述每帧动画的动画数据,生成所述虚拟对象与所述可交互对象的交互动画。
可选地,所述根据所述每帧动画的动画数据,生成所述虚拟对象与所述可交互对象的交互动画,包括:
获取所述每帧动画的时间信息;
根据所述每帧动画的动画数据和所述时间信息,生成所述虚拟对象与所述可交互对象的交互动画。
可选地,所述根据所述碰撞射线,获取所述可交互对象的属性信息之前,所述方法还包括:
获取所述可交互对象与所述虚拟对象之间的距离,判定所述可交互对象与所述虚拟对象之间的距离是否位于一预设交互范围内;
若是,执行所述根据所述碰撞射线,获取所述可交互对象的属性信息。
可选地,所述可交互对象的属性信息包括所述可交互对象的高度,所述根据碰撞射线,获取所述可交互对象的属性信息,包括:
获取第一碰撞射线与所述可交互对象的第一交点,其中,所述第一碰撞射线基于所述虚拟对象的第一预设点发射;
根据所述第一交点,确定所述可交互对象的高度。
可选地,所述可交互对象的属性信息包括所述可交互对象的宽度,所述根据碰撞射线,获取所述可交互对象的属性信息,包括:
获取第二碰撞射线与所述可交互对象的第二交点,其中,所述第二碰撞射线是以所述虚拟对象朝可交互对象间隔第一预设距离的第二预设点作为起点,所述虚拟对象所在位置作为终点的射线;
根据所述第一交点和所述第二交点,确定所述可交互对象的宽度。
可选地,所述根据所述动画关键点,计算每帧动画的动画数据,包括:
根据所述基础交互动画,获取所述基础交互动画中所述可交互对象的基础动画关键点和每帧基础动画的动画数据;
计算所述基础动画关键点和与所述基础动画关键点对应的所述动画关键点之间的偏移,在两个相邻所述动画关键点所对应的时间差内修正所述偏移,以获取所述每帧动画的动画数据。
可选地,所述动画数据包括:旋转信息和位移信息,所述方法还包括:
将所述旋转信息和所述位移信息进行分离;
根据目标旋转信息以及基础交互动画中的预设初始旋转信息,对所述旋转信息进行插值计算,以呈现所述虚拟对象与所述可交互对象的交互动画。
第二方面,本申请实施例提供了一种游戏中的动画处理装置,该装置包括:获取模块和呈现模块;
所述获取模块,用于响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取所述可交互对象的属性信息;
所述呈现模块,用于根据所述属性信息,确定所述可交互对象的动画关键点,根据所述动画关键点计算动画数据,以呈现所述虚拟对象与所述可交互对象的交互动画。
可选地,所述装置还包括:检测模块,用于获取所述游戏场景中的所述可交互对象,检测所述可交互对象与虚拟对象的碰撞。
可选地,所述碰撞射线通过所述可交互对象的类型确定。
可选地,所述获取模块,还用于根据所述可交互对象的属性信息、以及所述可交互对象的类型,确定所述虚拟对象的动作类型。
可选地,所述获取模块,还用于根据所述虚拟对象的动作类型,确定所述交互动画中所述虚拟对象的基础动作;
根据所述虚拟对象的基础动作,确定基础交互动画。
可选地,所述呈现模块,具体用于根据所述动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据;
根据所述每帧动画的动画数据,生成所述虚拟对象与所述可交互对象的交互动画。
可选地,所述呈现模块,具体用于获取所述每帧动画的时间信息;
根据所述每帧动画的动画数据和所述时间信息,生成所述虚拟对象与所述可交互对象的交互动画。
可选地,所述获取模块,还用于获取所述可交互对象与所述虚拟对象之间的距离,判定所述可交互对象与所述虚拟对象之间的距离是否位于一预设交互范围内;
若是,执行所述根据所述碰撞射线,获取所述可交互对象的属性信息。
可选地,所述可交互对象的属性信息包括所述可交互对象的高度,所述获取模块,具体用于获取第一碰撞射线与所述可交互对象的第一交点,其中,所述第一碰撞射线基于所述虚拟对象的第一预设点发射;
根据所述第一交点,确定所述可交互对象的高度。
可选地,所述可交互对象的属性信息包括所述可交互对象的宽度,所述获取模块,具体用于获取第二碰撞射线与所述可交互对象的第二交点,其中,所述第二碰撞射线是以所述虚拟对象朝可交互对象间隔第一预设距离的第二预设点作为起点,所述虚拟对象所在位置作为终点的射线;
根据所述第一交点和所述第二交点,确定所述可交互对象的宽度。
可选地,所述呈现模块,具体用于根据所述基础交互动画,获取所述基础交互动画中所述可交互对象的基础动画关键点和每帧基础动画的动画数据;
计算所述基础动画关键点和与所述基础动画关键点对应的所述动画关键点之间的偏移,在两个相邻所述动画关键点所对应的时间差内修正所述偏移,以获取所述每帧动画的动画数据。
可选地,所述动画数据包括:旋转信息和位移信息,所述呈现模块,还用于将所述旋转信息和所述位移信息进行分离;
根据目标旋转信息以及基础交互动画中的预设初始旋转信息,对所述旋转信息进行插值计算,以呈现所述虚拟对象与所述可交互对象的交互动画。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行上述第一方面的游戏中的动画处理方法的步骤。
第四方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如执行上述第一方面的游戏中的动画处理方法的步骤。
本申请的有益效果是:
本申请实施例提供的游戏中的动画处理方法、装置、电子设备及存储介质中,该方法可以响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取可交互对象的属性信息,进而根据属性信息,可以确定可交互对象的动画关键点,根据动画关键点可以计算动画数据,以呈现虚拟对象与所述可交互对象的交互动画,实现了可以针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画,提高了交互动画的制作效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种游戏中的动画处理方法的流程示意图;
图2为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图;
图3为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图;
图4为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图;
图5为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图;
图6为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图;
图7为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图;
图8为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图;
图9为本申请实施例提供的一种碰撞射线的发射示意图;
图10为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图;
图11为本申请实施例提供的另一种碰撞射线的发射示意图;
图12为本申请实施例提供的又一种碰撞射线的发射示意图;
图13为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图;
图14为本申请实施例提供的一种可交互对象的动画关键点的标注位置的示意图;
图15为本申请实施例提供的另一种可交互对象的动画关键点的标注位置的示意图;
图16为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图;
图17为本申请实施例提供的一种游戏中的动画处理装置的结构示意图;
图18为本申请实施例提供的另一种游戏中的动画处理装置的结构示意图;
图19为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
动画作为游戏场景中不可缺少的一部分,通过在游戏场景中引入交互动画可以让玩家真实地融入游戏中,提高玩家的游戏体验。现有的,在动画制作的过程中,存在带有位移信息和旋转信息的交互动画,为了提升该类交互动画的表现效果(以翻越动画为例),使得交互动画看起来更真实,动画制作者需要对不同尺寸的交互物(比如,木桩、石墩等)定制不同的交互动画(翻越动画)。其中,现有的,主要通过在游戏场景中配置一系列交互动画播放所需的信息点,当游戏角色与相应的交互物进行交互时,则通过获取该交互物所对应配置的信息点以此来呈现游戏角色与交互物之间的交互动画,但现有的这种方式无疑增加了游戏场景配置的工作量,特别是在迭代过程中,如果重新制定了相关协议,那么所有的配置信息都要修改一遍,存在交互动画制作效率较低,且配置过程中容易出现错误的问题。
另外,现有的虽然也有其他制作方式,比如,针对游戏场景中不同尺寸的交互物,通常会输出极端情况下的各个交互动画(比如,最窄和最宽尺寸的障碍物翻越动画),对于中间数值(比如,介于最窄和最宽尺寸之间的障碍物所对应的交互动画数据)则根据极端情况下的各个交互动画进行blend(比如,对极端情况下的动画数据根据场景元素做一个加权平均,得到所需的中间数据)即可,但这种方法在游戏场景中可变因素较多时,那么动画制作的成本便会成指数型增长,因此,该方法依然存在交互动画制作效率较低的问题。
有鉴于此,针对现有的交互动画制作效率较低的问题,本申请实施例提供一种游戏中的动画处理方法,针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画,提高了交互动画的制作效率。
图1为本申请实施例提供的一种游戏中的动画处理方法的流程示意图,该方法的执行主体可以是计算机、服务器、处理器、移动终端等可以呈现图形界面的设备,如图1所示,该方法包括:
S101、响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取可交互对象的属性信息。
其中,可交互对象可以是游戏场景中的木桩、石墩、梯子等物体,该交互方式可以是翻越、攀爬等,本申请在此不作限定。可交互对象的属性信息可以表征可交互对象的形状特征(比如,可交互对象相应模型为圆柱体、立方体等),尺寸特征(比如,模型的长、宽、高等尺寸)等,该属性信息可以包括一个或多个,本申请在此不作限定。虚拟对象可以是玩家所操控的虚拟角色,也可以是游戏场景中预设的非玩家角色(NPC,Non-Player Character),比如,游戏中发放任务的宠物精灵、在预设关卡中与玩家所控制游戏角色进行战斗的AI怪物等,本申请在此不作限定。
游戏场景中可交互对象与虚拟对象的碰撞可以是游戏过程中通过作用于虚拟对象而触发,那么响应于该碰撞,可以根据碰撞射线,获取可交互对象的属性信息。其中,该碰撞射线可以是预设检测射线,本申请在此不作限定。
S102、根据属性信息,确定可交互对象的动画关键点,根据动画关键点计算动画数据,以呈现虚拟对象与可交互对象的交互动画。
其中,动画关键点可以包括虚拟对象与可交互对象的交互点,以及交互过程中虚拟对象在游戏场景的作用点,比如,虚拟对象为玩家所对应的虚拟角色,可交互对象为游戏场景中的木桩,那么,该虚拟角色翻越木桩时,其对应的动画关键点可以包括:虚拟角色在木桩上的着地点、虚拟角色翻过木桩时的着地点等,本申请在此不作限定,根据实际的应用场景,也可以包括其他关键点。
在确定了可交互对象的属性信息后,那么可以根据该可交互对象的属性信息进一步确定可交互对象的动画关键点,通过该动画关键点可以在基础交互动画的基础上,对该基础交互动画中的动画数据进行调整和修正,从而可以获取到与该可交互对象的属性相适应的交互动画,以此来呈现虚拟对象与可交互对象的交互动画,实现针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画,解决了现有技术中需要针对不同的可交互对象制作不同的交互动画的技术问题,提高了交互动画的制作效率。
综上所述,本申请实施例所提供的游戏中的动画处理方法,可以响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取可交互对象的属性信息,进而根据属性信息,可以确定可交互对象的动画关键点,根据动画关键点可以计算动画数据,以呈现虚拟对象与所述可交互对象的交互动画,实现了可以针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画,提高了交互动画的制作效率。
图2为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图。可选地,如图2所示,上述响应于游戏场景中可交互对象与虚拟对象的碰撞之前,该方法还包括:
S201、获取游戏场景中的可交互对象,检测可交互对象与虚拟对象的碰撞。
其中,所获取的游戏场景中的可交互对象可以是一个或多个,本申请在此不作限定。进一步地,检测该可交互对象与虚拟对象是否发生碰撞。例如,若可交互对象与虚拟对象之间的距离满足预设碰撞距离,那么可以认为发生了碰撞,若不满足预设碰撞距离,即可认为未发生碰撞。具体地,可以是基于虚拟对象的模型对应的包围盒与可交互对象的模型对应的包围盒部分或全部重叠,从而判定二者发生碰撞;又或者基于虚拟对象发射一碰撞射线,当检测到碰撞射线与可交互对象的模型发生碰撞,则判定可交互对象与虚拟对象发生碰撞。而在确定发生碰撞后,那么可以依据前述过程,根据碰撞射线,进一步获取可交互对象的属性信息,如此,可以实现对游戏场景中可交互对象的检测。
可选地,在一些实施例中,碰撞射线可以通过可交互对象的类型确定。
其中,每一可交互对象可以标注有类型标签,用于表征该可交互对象的具体类型,比如,根据物体类别,可以包括:木桩、石墩、梯子等类型,那么实际交互过程中,可以根据可交互对象的类型确定对应的碰撞射线。比如,若确定可交互对象的类型为木桩时,则使用木桩类型对应的碰撞射线进行检测,若确定可交互对象的类型为梯子时,则使用梯子类型对应的碰撞射线进行检测,如此,实现针对不同的可交互对象可以选择合适的碰撞射线进行检测,从而根据该特定的碰撞射线获取可交互对象的属性信息、确定可交互对象的动画关键点时,可以进一步提高准确性,便于后期可以获取到更为自然的交互动画。
图3为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图。可选地,如图3所示,上述根据碰撞射线,获取可交互对象的属性信息之后,还包括:
S301、根据可交互对象的属性信息、以及可交互对象的类型,确定虚拟对象的动作类型。
可选地,虚拟对象的动作类型可以包括:翻过可交互对象、翻到可交互对象上并站立等位移动作,也可以包括:攀爬可交互对象等旋转动作,当然,根据实际的应用场景,也可以包括其他类型的动作类型,本申请在此不作限定。
举例说明,若可交互对象为第一木桩,对应地,其属性信息可以包括木桩的第一高度和第一宽度,那么可以根据该可交互对象的第一高度、第一宽度以及所属的类型(木桩),确定虚拟对象的动作类型为翻过木桩的位移动作;若可交互对象为第二木桩,对应地,其属性信息可以包括木桩的第二高度和第二宽度,那么可以根据该可交互对象的第二高度、第二宽度以及所属的类型(木桩),确定虚拟对象的动作类型为翻到木桩上并站立的位移动作,但不以为限,根据实际的应用场景可以有所不同。
图4为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图。可选地,如图4所示,上述根据可交互对象的属性信息、以及可交互对象的类型,确定虚拟对象的动作类型之后,还包括:
S401、根据虚拟对象的动作类型,确定交互动画中虚拟对象的基础动作。
在确定了虚拟对象的动作类型后,那么该动作类型对应的基础动作也就确定了,该基础动作可以是根据每种动作类型预先编辑的动作。比如,若确定虚拟对象的动作类型为翻过可交互对象的位移动作,那么,该虚拟对象的基础动作可以是一个简单的翻过预设木桩的动作;而若该动作类型为翻到可交互对象上并站立的位移动作,那么,该虚拟对象的基础动作可以是一个简单的翻到预设木桩上并站立的动作,本申请在此不作限定,根据不同的动作类型,可以对应不同的基础动作。
S402、根据虚拟对象的基础动作,确定基础交互动画。
其中,基础交互动画可以包括一个或多个基础动作,该多个基础动作可以是相同的,也可以是不同的。比如,可交互对象为梯子时,基础动作可以是一个简单的攀爬动作,而基础交互动画可以是攀爬梯子过程中的交互动画,本申请在此不作限定,以便可以根据确定的基础交互动画以及前述可交互对象的动画关键点,实现针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画,提高交互动画的制作效率。
图5为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图。可选地,如图5所示,上述根据动画关键点计算动画数据,以呈现虚拟对象与可交互对象的交互动画,包括:
S501、根据动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据。
其中,在确定了动画关键点后,那么可以在基础交互动画的基础上,获取每帧基础动画的动画数据,根据动画关键点,对每帧基础动画的动画数据进行调整和修正,以获取交互动画中每帧动画的动画数据。其中,每帧动画的动画数据可以包括:虚拟对象所对应的骨骼动作数据、位移数据、旋转数据等中的一种或多种,本申请在此不作限定。
举例说明,若可交互对象的类型为第一箱子,该第一箱子的属性信息中高度为H1、宽度W1时,其对应的基础交互动画为翻过该第一箱子的交互动画,该基础交互动画的动画数据中包括:虚拟角色翻过该第一箱子时的起始点X1和着地点Y1,那么,实际游戏场景中,若获取的第二箱子的属性信息中高度为H2、宽度W2时,则可以根据该第二箱子的属性信息确定第二箱子的动画关键点,该第二箱子的动画关键点可以包括:虚拟角色翻过该第二箱子时的起始点X2和着地点Y2,那么可以根据该起始点X2、着地点Y2以及基础交互动画中的起始点X1和着地点Y1,对基础交互动画中翻过该第一箱子的每帧动画数据进行调整,从而获取到交互动画中翻过该第二箱子的每帧动画数据。
S502、根据每帧动画的动画数据,生成虚拟对象与可交互对象的交互动画。
其中,虚拟对象与可交互对象的交互动画可以包括多帧动画,在确定了交互动画中每帧动画的动画数据后,那么可以根据每帧动画的动画数据,对多帧动画的动画数据进行整合,以此来生成虚拟对象与可交互对象的交互动画。
基于上述举例进一步说明,其中,在获取了翻过该第二箱子的多帧动画数据后,那么可以对翻过该第二箱子的多帧动画数据进行整合,从而可以获取到虚拟角色与该第二箱子的交互动画,实现针对不同可交互对象可自适应生成虚拟对象与可交互对象的交互动画。
图6为本申请实施例提供的另一种预设目标检测算法的检测示意图。可选地,如图6所示,上述根据每帧动画的动画数据,生成虚拟对象与可交互对象的交互动画,包括:
S601、获取每帧动画的时间信息。
S602、根据每帧动画的动画数据和时间信息,生成虚拟对象与可交互对象的交互动画。
在确定了动画关键点之后,那么,可以利用这些动画关键点,使基础交互动画适配不同的可交互对象时(比如,不同尺寸下所要翻越或攀爬的障碍物等),所得到的虚拟对象与可交互对象的交互动画可以更为自然。其中,由于动画关键点所在的位置是契合实际可交互对象的,于是可以把这些位置当作动画变形的必经位置数据点,再为其加上时间信息,即可让动画在特定时刻经过特定的位置,也即可以根据每帧动画的动画数据和时间信息,生成针对特定可交互对象的交互动画。可选地,每帧动画的时间信息可以通过基础动画中每帧基础动画的时间信息获得,当然,需要说明的是,该时间信息也可以是在基础动画中每帧基础动画的时间信息上进行适应性调整获取,本申请在此不作限定。
图7为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图。可选地,如图7所示,上述根据碰撞射线,获取可交互对象的属性信息之前,上述方法还包括:
S701、获取可交互对象与虚拟对象之间的距离,判定可交互对象与虚拟对象之间的距离是否位于一预设交互范围内。
S702、若是,执行根据碰撞射线,获取可交互对象的属性信息。
其中,预设交互范围可以为虚拟对象是否可以与可交互对象进行交互的阈值范围,可以通过翻越距离、攀爬高度等反映,本申请在此不作限定。
根据可交互对象的类型,可对应不同的交互方式,比如,可以包括翻越、攀爬等多种交互方式,那么通过获取可交互对象与虚拟对象之间的距离,通过该距离可以确定是否可以进行交互。比如,可交互对象为木桩,虚拟对象为玩家所操控的虚拟角色时,那么通过获取木桩与虚拟角色之间的距离可以确定该木桩是否位于虚拟对象的交互范围内,即虚拟角色是否可以翻越该木桩,以便确定交互对象,若在交互范围内,那么可以根据碰撞射线,获取可交互对象的属性信息,以便通过获取不同可交互对象的属性信息可以依据前述的方法呈现虚拟对象与该可交互对象的交互动画。
图8为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图。可选地,如图8所示,可交互对象的属性信息包括可交互对象的高度,上述根据碰撞射线,获取可交互对象的属性信息,包括:
S801、获取第一碰撞射线与可交互对象的第一交点,其中,第一碰撞射线基于虚拟对象的第一预设点发射。
S802、根据第一交点,确定可交互对象的高度。
图9为本申请实施例提供的一种碰撞射线的发射示意图。本申请在此以一游戏场景为例进行说明,如图9所示,该游戏场景可包括:一虚拟对象、第一可交互对象及第二可交互对象,以第一可交互对象为例,其中,以翻越动作为例,可以将虚拟对象用一胶囊体模拟,可选地,可以在虚拟对象的当前位置朝第一可交互对象以胶囊体一半的高度向正前方打检测射线DetectTrace,获取检测射线DetectTrace与第一可交互对象(比如,障碍物)的碰撞点坐标P,根据碰撞点坐标P,可以确定胶囊体与第一可交互对象之间的距离,判定第一可交互对象与虚拟对象之间的距离是否位于一预设交互范围内,若该距离不在预设交互范围内,可以认为距离过远判定虚拟对象不能翻越该第一可交互对象;若该距离位于预设交互范围内,那么获取第一可交互对象的属性信息,具体地,该属性信息可以是可交互对象的高度,具体确定可交互对象的高度过程可参见下述的过程:其中,可以基于上述碰撞点坐标P,获取水平方向上与碰撞点坐标P间隔第一预设距离的第一预设点p1(NearPoint),过第一预设点p1,且沿与检测射线DetectTrace垂直的方向发射第一碰撞射线NearTrace,可选地,可以在第一预设点p1的正上方从上往下打第一碰撞射线NearTrace,获取第一碰撞射线NearTrace与第一可交互对象的第一交点Q1(NearOutRetPoint),该第一交点Q1可以是第一碰撞射线NearTrace在第一可交互对象上表面的交点,进而可以根据该第一交点Q1的坐标和第一可交互对象所处地面的S,确定第一可交互对象的高度。当然,本申请在此并不对该确定可交互对象高度的方法进行具体限定,根据实际的应用场景可以对上述方法进行适应性的调整。此外,需要说明的是,本申请在此并不对第一碰撞射线的发射位置进行限定,根据实际的应用场景和可交互对象可有所不同。
可选地,在确定可交互对象的高度之后,还可以进一步根据可交互对象的高度确定交互动画中虚拟对象的动作类型,进而根据该动作类型可以确定对应的基础交互动画。比如,某可交互对象为木桩类型,那么可以根据该类型确定动作类型为位移动作,而根据该可交互对象的高度可以确定具体是哪类位移动作,比如,对于第一高度的木桩,其动作类型可以是脚往上踏的位移动作,对应地,可以是脚往上踏的StepOn基础交互动画;对于第二高度的木桩,其动作类型可以是横向翻越的位移动作,对应地,可以是横向翻越的VaultOver基础交互动画;对于第三高度的木桩,其动作类型可以是撑手臂翻越的位移动作,对应地,可以是撑手臂翻越的VaultOn基础交互动画;对于大于第三高度的木桩,可以认为不能翻越,其中,第三高度大于第二高度,第二高度大于第一高度,当然,实际场景下并不以此为限,根据实际的应用场景可以灵活调整。
图10为本申请实施例提供的又一种游戏中的动画处理方法的流程示意图。可选地,如图10所示,可交互对象的属性信息包括可交互对象的宽度,上述根据碰撞射线,获取可交互对象的属性信息,包括:
S901、获取第二碰撞射线与可交互对象的第二交点,其中,第二碰撞射线是以虚拟对象朝可交互对象间隔第一预设距离的第二预设点作为起点,虚拟对象所在位置作为终点的射线。
S902、根据第一交点和第二交点,确定可交互对象的宽度。
其中,第二碰撞射线可以是类似Box(方框)类型的射线,该第一预设距离根据实际的应用场景可以有所不同,可选地,若为Box类型的射线,第二碰撞射线可以是以虚拟对象朝可交互对象间隔第一预设距离的第二预设点作为起点,虚拟对象所在位置作为终点所发射的射线。第二碰撞射线的射出路径可参见上述图9中的HorzTrace射线的射出路径,其中,可以将虚拟对象为参考点,朝可交互对象方向,获取间隔第一预设距离的第二预设点P2为起点,沿第二预设点P2向虚拟对象所在位置为终点打第二碰撞射线HorzTrace,进而可以获取到该第二碰撞射线HorzTrace与可交互对象的第二交点Q2(HorzOutRetPoint),那么根据前述的第一交点Q1和该第二交点Q2,即可确定可交互对象的宽度。比如,可以通过计算第二交点Q2和第一交点Q1在水平方向上的坐标差值,进而根据该坐标差值可以确定该可交互对象的宽度。
当然,本申请在此并不对前述第二碰撞射线的类型,以及确定可交互对象宽度的具体方式进行限定,可选地,根据可交互对象的类型或形状等,可以选择相适应的第二碰撞射线进行检测,本申请在此不作限定。
其中,若虚拟对象的动作类型为翻到可交互对象上并站立,如前述的VaultOn动画,可选地,前述根据属性信息,确定可交互对象的动画关键点,可以包括:根据属性信息,确定虚拟对象在可交互对象上的着地点,而根据属性信息,确定虚拟对象在可交互对象上的着地点,可以包括:
获取第三碰撞射线与可交互对象的第三交点,其中,第三碰撞射线可以是基于第三预设点发射的射线,该第三预设点可以是虚拟对象朝可交互对象方向间隔第二预设距离的位置点;根据该第三交点,确定虚拟对象在可交互对象上的着地点。
图11为本申请实施例提供的另一种碰撞射线的发射示意图。其中,该第二预设距离可以是水平方向上虚拟对象和可交互对象之间的任意距离,该第二预设距离可以小于前述第一预设距离,如图11所示,该第三预设点可以是P3(MiddlePoint),那么可以基于该第三预设点P3,沿与检测射线DetectTrace垂直的方向打第三碰撞射线MiddleTrace,可选地,可以在第三预设点P3正上方从上往下打第三碰撞射线MiddleTrace,获取第三碰撞射线MiddleTrace与可交互对象的第三交点Q3(MidOutRetPoint),该第三交点Q3即为第三碰撞射线MiddleTrace在可交互对象上表面的交点,即可将该第三交点Q3作为虚拟对象翻到可交互对象上时,虚拟对象在可交互对象上的着地点位置。当然,本申请在此并不对前述虚拟对象在可交互对象上的着地点的确定方式进行限定,根据实际的应用场景,可以进行灵活调整。
可选地,若虚拟对象的动作类型为翻过可交互对象,比如,可交互对象高度较低,虚拟对象可以直接翻过该可交互对象,如前述的VaultOver动画,可选地,前述根据属性信息,确定可交互对象的动画关键点,可以包括:根据属性信息,确定虚拟对象翻过可交互对象时的着地点,而根据属性信息,确定虚拟对象翻过可交互对象时的着地点,可以包括:
获取第四碰撞射线与可交互对象所处地面的第四交点,其中,第四碰撞射线可以是基于第四预设点发射的射线,该第四预设点可以是虚拟对象朝可交互对象方向间隔第三预设距离的位置点;根据该第四交点,确定虚拟对象翻过可交互对象时的着地点。
图12为本申请实施例提供的又一种碰撞射线的发射示意图。其中,该第三预设距离可以大于前述第二预设距离,且小于前述第一预设距离,如图12所示,该第四预设点可以是P4,那么可以过该第四预设点P4,且沿与检测射线DetectTrace垂直的方向打第四碰撞射线GroundTrace,可选地,可以在第四预设点P4正上方从上往下打第四碰撞射线GroundTrace,获取第四碰撞射线GroundTrace与可交互对象所处地面的第四交点G,则该第四交点G即可作为虚拟对象翻过可交互对象时的着地点。当然,本申请在此并不对前述虚拟对象翻过可交互对象时的着地点的确定方式进行限定,根据实际的应用场景,可以进行灵活调整。
可选地,前述根据属性信息,确定可交互对象的动画关键点,可以包括:根据属性信息,确定虚拟对象翻过可交互对象时的动画关键点,而根据属性信息,确定虚拟对象翻过可交互对象时的动画关键点,可以包括:
获取第五碰撞射线与可交互对象的第五交点,其中,第五碰撞射线可以是基于第五预设点发射的射线,该第五预设点可以是虚拟对象朝可交互对象方向间隔第四预设距离的位置点;根据该第五交点,确定虚拟对象翻过可交互对象时的动画调整点。
其中,第四预设距离可以大于前述第二预设距离,且小于第三预设距离,如图12所示,该第五预设点可以是P5(FarPoint),那么可以过该第五预设点P5,且沿与检测射线DetectTrace垂直的方向打第五碰撞射线FarTrace,可选地,可以在第五预设点P5正上方从上往下打第五碰撞射线FarTrace,获取第五碰撞射线FarTrace与可交互对象的第五交点Q5(FarOutRetPoint),该第五交点Q5可以作为虚拟对象翻过可交互对象时的动画调整点,进而根据该动画调整点以及相应的时间信息,即可让交互动画在特定时刻经过该动画调整点,有效调整交互动画在不同阶段的动画速度,使得交互动画的播放更自然,提高用户体验。
图13为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图。可选地,如图13所示,上述根据动画关键点,计算每帧动画的动画数据,包括:
S1001、根据基础交互动画,获取基础交互动画中可交互对象的基础动画关键点和每帧基础动画的动画数据。
其中,动画关键点可以包括前述:虚拟对象在可交互对象上的着地点、虚拟对象翻过可交互对象时的着地点、虚拟对象翻过可交互对象时的动画调整点等,但不以此为限,根据游戏场景中实际的可交互对象以及虚拟对象可以有所不同。
在确定动画关键点后,那么实际在根据动画关键点,计算每帧动画的动画数据时,可参见下述过程:其中,由于可以根据虚拟对象的动作类型,确定虚拟对象的基础动作以及基础交互动画,那么在确定基础交互动画后,可以获取基础交互动画中可交互对象的基础动画关键点和每帧基础动画的动画数据,其中,需要说明的是,该可交互对象可以是一预设可交互对象(比如,可以对应一预设类型、预设形状以及预设尺寸下的可交互对象),该可交互对象的基础动画关键点可以包括但不限于:虚拟对象在该可交互对象上的基础着地点、虚拟对象翻过该可交互对象时的基础着地点、虚拟对象翻过该可交互对象时的基础动画调整点等,每帧基础动画的动画数据可以包括但不限于:每帧基础动画的时间信息、每帧基础动画的关键点数据、每帧基础动画中动作类型所对应的骨骼动作数据、旋转信息和位移信息等,本申请在此不作限定。
S1002、计算基础动画关键点和与该基础动画关键点对应的动画关键点之间的偏移,在两个相邻动画关键点所对应的时间差内修正偏移,以获取每帧动画的动画数据。
如前述所述,若根据实际游戏场景中可交互对象的属性信息,确定了该可交互对象的动画关键点,那么可以计算基础动画关键点和与该基础动画关键点所对应的动画关键点之间的偏移位移,进而基于基础交互动画,可以在两个相邻动画关键点所对应的时间差内修正偏移位移以获取每帧动画的动画数据。
举例说明,图14为本申请实施例提供的一种可交互对象的动画关键点的标注位置的示意图;图15为本申请实施例提供的另一种可交互对象的动画关键点的标注位置的示意图。如图14所示,图中标识的位置为不同高度下可交互对象的攀爬关键点;如图15所示,图中标识的位置为不同宽度下可交互对象的翻越关键点。在确定了上述可交互对象的动画关键点之后,那么可以利用这些关键点,使基础交互动画能够适配不同属性信息的可交互对象,以呈现虚拟对象与该可交互对象的交互动画。在此过程中,由于关键点所在的位置是契合可交互对象的,于是可以把这些位置当作交互动画中对虚拟对象进行动作调整的必经位置,再为其加上时间信息,即可让交互动画在特定时刻经过特定的位置,有效调整交互动画在不同阶段的动画速度,使得交互动画的播放更自然,提高用户体验。其中,由于动画关键点是离散的,其所对应的时间信息也是离散的,因此,可以在两个相邻动画关键点所对应的时间差内修正偏移,即可调整任意两个相邻关键点之间基础交互动画的播放速度,从而可以得到交互动画中每帧动画的动画数据。比如,游戏引擎中,可抽取基础交互动画资源中任意时间点的位移信息,于是可以计算出每个可交互对象的动画关键点和对应的基础动画关键点之间的偏移,并在两个相邻动画关键点所对应的时间差内修正这些偏移,可选地,可以用以下公式修正:
NewLocation=BaseLocation+ExtractedLocation+
OffsetLocation*EasedOffsetRatio
其中,NewLocation表示每一帧动画的最新位置,BaseLocation表示动画中第一帧动画的位置,ExtractedLocation表示该帧时间点上动画的位置,OffsetLocation表示关键点位置和在关键点时间动画本身位置之差,EasedOffsetRatio表示OffsetLocation所用的拟合曲线在该帧时间点上的值,该值可以根据预设的线性或多项式函数模拟插值得到,本申请在此不作限定,根据实际的场景可自行设置。
图16为本申请实施例提供的另一种游戏中的动画处理方法的流程示意图。可选地,如图16所示,动画数据包括:旋转信息和位移信息,上述方法还包括:
S1101、将旋转信息和位移信息进行分离。
S1102、根据目标旋转信息以及基础交互动画中的预设初始旋转信息,对旋转信息进行插值计算,以呈现虚拟对象与可交互对象的交互动画。
当然,需要说明的时,实际应用过程中,也可以将动画数据进行划分,以划分为旋转信息和位移信息,并进行分离,其中,对于位移信息可以依据前述的游戏中的动画处理方法以呈现虚拟对象与可交互对象的交互动画,而对于旋转信息的处理,可以根据目标旋转信息(比如,可以目标旋转角度等信息)以及基础交互动画中的预设初始旋转信息(比如,可以包括预设旋转角度等预设信息),对旋转信息进行插值计算,以呈现虚拟对象与可交互对象的交互动画。
举例说明,基础交互动画可以是一虚拟角色攀爬梯子的交互动画,其对应的预设初始旋转信息中包括:下梯子时,游戏场景中虚拟角色的朝向为180°,而目标旋转信息中:下梯子时,游戏场景中虚拟角色的朝向为190°,那么可以根据该目标旋转信息和该预设初始旋转信息,对旋转信息进行插值计算,以呈现虚拟对象与可交互对象的交互动画,如此,可以得到游戏场景中包括旋转信息的交互动画,以满足不同的可交互对象,提高游戏中的动画处理方法的适用性。
当然,本申请实施例提供的游戏中的动画处理方法,还可以与现有动画调整方式的静态配置部分相结合,使得在减少工作量的同时,还可以保证方案的可扩展性。
图17为本申请实施例提供的一种游戏中的动画处理装置的结构示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容,如图12所示,该游戏中的动画处理装置100包括:获取模块110和呈现模块120。
获取模块110,用于响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取可交互对象的属性信息;呈现模块120,用于根据属性信息,确定可交互对象的动画关键点,根据动画关键点计算动画数据,以呈现虚拟对象与可交互对象的交互动画。
图18为本申请实施例提供的另一种游戏中的动画处理装置的结构示意图。可选地,如图18所示,上述游戏中的动画处理装置100还包括:检测模块130,用于获取游戏场景中的可交互对象,检测可交互对象与虚拟对象的碰撞。
可选地,碰撞射线通过可交互对象的类型确定。
可选地,获取模块110,还用于根据可交互对象的属性信息、以及可交互对象的类型,确定虚拟对象的动作类型。
可选地,获取模块110,还用于根据虚拟对象的动作类型,确定交互动画中虚拟对象的基础动作;根据虚拟对象的基础动作,确定基础交互动画。
可选地,呈现模块120,具体用于根据动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据;根据每帧动画的动画数据,生成虚拟对象与可交互对象的交互动画。
可选地,呈现模块120,具体用于获取每帧动画的时间信息;根据每帧动画的动画数据和时间信息,生成虚拟对象与可交互对象的交互动画。
可选地,获取模块110,还用于获取可交互对象与虚拟对象之间的距离,判定可交互对象与虚拟对象之间的距离是否位于一预设交互范围内;若是,执行根据碰撞射线,获取可交互对象的属性信息。
可选地,可交互对象的属性信息包括可交互对象的高度,获取模块110,具体用于获取第一碰撞射线与所述可交互对象的第一交点,其中,第一碰撞射线基于虚拟对象的第一预设点发射;根据第一交点,确定可交互对象的高度。
可选地,可交互对象的属性信息包括可交互对象的宽度,获取模块110,具体用于获取第二碰撞射线与可交互对象的第二交点,其中,第二碰撞射线是以虚拟对象朝可交互对象间隔第一预设距离的第二预设点作为起点,虚拟对象所在位置作为终点的射线;根据第一交点和第二交点,确定可交互对象的宽度。
可选地,呈现模块120,具体用于根据基础交互动画,获取基础交互动画中可交互对象的基础动画关键点和每帧基础动画的动画数据;计算基础动画关键点和与基础动画关键点对应的动画关键点之间的偏移,在两个相邻动画关键点所对应的时间差内修正偏移,以获取每帧动画的动画数据。
可选地,动画数据包括:旋转信息和位移信息,呈现模块120,还用于将旋转信息和位移信息进行分离;根据目标旋转信息以及基础交互动画中的预设初始旋转信息,对旋转信息进行插值计算,以呈现虚拟对象与可交互对象的交互动画。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
图19为本申请实施例提供的一种电子设备结构示意图。如图19所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种游戏中的动画处理方法,其特征在于,所述方法包括:
响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取所述可交互对象的属性信息;
根据所述属性信息,确定所述可交互对象的动画关键点,根据所述动画关键点计算动画数据,以呈现所述虚拟对象与所述可交互对象的交互动画;
所述根据所述动画关键点计算动画数据,以呈现所述虚拟对象与所述可交互对象的交互动画,包括:
根据所述动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据,其中,所述基础交互动画根据所述虚拟对象的基础动作确定,所述虚拟对象的基础动作根据所述虚拟对象的动作类型确定,所述虚拟对象的动作类型包括:位移动作和/或旋转动作;
根据所述每帧动画的动画数据,生成所述虚拟对象与所述可交互对象的交互动画。
2.根据权利要求1所述的方法,其特征在于,所述响应于游戏场景中可交互对象与虚拟对象的碰撞之前,所述方法还包括:
获取所述游戏场景中的所述可交互对象,检测所述可交互对象与虚拟对象的碰撞。
3.根据权利要求1所述的方法,其特征在于,所述碰撞射线通过所述可交互对象的类型确定。
4.根据权利要求1所述的方法,其特征在于,所述根据所述碰撞射线,获取所述可交互对象的属性信息之后,还包括:
根据所述可交互对象的属性信息、以及所述可交互对象的类型,确定所述虚拟对象的动作类型。
5.根据权利要求4所述的方法,其特征在于,所述根据所述可交互对象的属性信息、以及所述可交互对象的类型,确定所述虚拟对象的动作类型之后,还包括:
根据所述虚拟对象的动作类型,确定所述交互动画中所述虚拟对象的基础动作;
根据所述虚拟对象的基础动作,确定基础交互动画。
6.根据权利要求1所述的方法,其特征在于,所述根据所述每帧动画的动画数据,生成所述虚拟对象与所述可交互对象的交互动画,包括:
获取所述每帧动画的时间信息;
根据所述每帧动画的动画数据和所述时间信息,生成所述虚拟对象与所述可交互对象的交互动画。
7.根据权利要求1所述的方法,其特征在于,所述根据所述碰撞射线,获取所述可交互对象的属性信息之前,所述方法还包括:
获取所述可交互对象与所述虚拟对象之间的距离,判定所述可交互对象与所述虚拟对象之间的距离是否位于一预设交互范围内;
若是,执行所述根据所述碰撞射线,获取所述可交互对象的属性信息。
8.根据权利要求1所述的方法,其特征在于,所述可交互对象的属性信息包括所述可交互对象的高度,所述根据所述碰撞射线,获取所述可交互对象的属性信息,包括:
获取第一碰撞射线与所述可交互对象的第一交点,其中,所述第一碰撞射线基于所述虚拟对象的第一预设点发射;
根据所述第一交点,确定所述可交互对象的高度。
9.根据权利要求8所述的方法,其特征在于,所述可交互对象的属性信息包括所述可交互对象的宽度,所述根据所述碰撞射线,获取所述可交互对象的属性信息,包括:
获取第二碰撞射线与所述可交互对象的第二交点,其中,所述第二碰撞射线是以所述虚拟对象朝可交互对象间隔第一预设距离的第二预设点作为起点,所述虚拟对象所在位置作为终点的射线;
根据所述第一交点和所述第二交点,确定所述可交互对象的宽度。
10.根据权利要求1所述的方法,其特征在于,所述根据所述动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据,包括:
根据所述基础交互动画,获取所述基础交互动画中所述可交互对象的基础动画关键点和每帧基础动画的动画数据;
计算所述基础动画关键点和与所述基础动画关键点对应的所述动画关键点之间的偏移,在两个相邻所述动画关键点所对应的时间差内修正所述偏移,以获取所述每帧动画的动画数据。
11.根据权利要求5所述的方法,其特征在于,所述动画数据包括:旋转信息和位移信息,所述方法还包括:
将所述旋转信息和所述位移信息进行分离;
根据目标旋转信息以及基础交互动画中的预设初始旋转信息,对所述旋转信息进行插值计算,以呈现所述虚拟对象与所述可交互对象的交互动画。
12.一种游戏中的动画处理装置,其特征在于,所述装置包括:获取模块和呈现模块;
所述获取模块,用于响应于游戏场景中可交互对象与虚拟对象的碰撞,根据碰撞射线,获取所述可交互对象的属性信息;
所述呈现模块,用于根据所述属性信息,确定所述可交互对象的动画关键点,根据所述动画关键点计算动画数据,以呈现所述虚拟对象与所述可交互对象的交互动画;
所述呈现模块,具体用于根据所述动画关键点和基础交互动画,计算交互动画中每帧动画的动画数据,其中,所述基础交互动画根据所述虚拟对象的基础动作确定,所述虚拟对象的基础动作根据所述虚拟对象的动作类型确定,所述虚拟对象的动作类型包括:位移动作和/或旋转动作;
根据所述每帧动画的动画数据,生成所述虚拟对象与所述可交互对象的交互动画。
13.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-11任一项所述游戏中的动画处理方法的步骤。
14.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-11任一项所述游戏中的动画处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324668.7A CN111494954B (zh) | 2020-04-22 | 2020-04-22 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324668.7A CN111494954B (zh) | 2020-04-22 | 2020-04-22 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111494954A CN111494954A (zh) | 2020-08-07 |
CN111494954B true CN111494954B (zh) | 2023-09-15 |
Family
ID=71849289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010324668.7A Active CN111494954B (zh) | 2020-04-22 | 2020-04-22 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111494954B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112057849B (zh) * | 2020-09-15 | 2024-06-25 | 网易(杭州)网络有限公司 | 游戏场景渲染方法、装置及电子设备 |
CN112316429A (zh) * | 2020-11-27 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、终端及存储介质 |
CN112619152A (zh) * | 2021-01-05 | 2021-04-09 | 网易(杭州)网络有限公司 | 游戏包围盒的处理方法、装置及电子设备 |
CN112774204B (zh) * | 2021-01-22 | 2023-10-20 | 北京字跳网络技术有限公司 | 一种角色碰撞规避方法、装置、设备以及存储介质 |
CN113658301B (zh) * | 2021-07-29 | 2024-03-22 | 网易(杭州)网络有限公司 | 动画模型的穿插检测方法和装置 |
CN113680063A (zh) * | 2021-08-17 | 2021-11-23 | 网易(杭州)网络有限公司 | 一种虚拟对象的动作处理方法及装置 |
CN113888682A (zh) * | 2021-09-10 | 2022-01-04 | 北京三快在线科技有限公司 | 一种动画播放方法、装置、电子设备及存储介质 |
CN114296609B (zh) * | 2022-03-09 | 2022-05-31 | 广州三七极耀网络科技有限公司 | 一种界面处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106215419A (zh) * | 2016-07-28 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 碰撞控制方法及装置 |
CN106600668A (zh) * | 2016-12-12 | 2017-04-26 | 中国科学院自动化研究所 | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 |
CN109523613A (zh) * | 2018-11-08 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机可读存储介质和计算机设备 |
US20190378319A1 (en) * | 2017-08-31 | 2019-12-12 | Tencent Technology (Shenzhen) Company Limited | Virtual scene display method and apparatus, and storage medium |
CN110935172A (zh) * | 2019-12-30 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象处理方法、装置、***及其存储介质 |
-
2020
- 2020-04-22 CN CN202010324668.7A patent/CN111494954B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106215419A (zh) * | 2016-07-28 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 碰撞控制方法及装置 |
CN106600668A (zh) * | 2016-12-12 | 2017-04-26 | 中国科学院自动化研究所 | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 |
US20190378319A1 (en) * | 2017-08-31 | 2019-12-12 | Tencent Technology (Shenzhen) Company Limited | Virtual scene display method and apparatus, and storage medium |
CN109523613A (zh) * | 2018-11-08 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机可读存储介质和计算机设备 |
CN110935172A (zh) * | 2019-12-30 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象处理方法、装置、***及其存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111494954A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111494954B (zh) | 游戏中的动画处理方法、装置、电子设备及存储介质 | |
US9050538B2 (en) | Collision detection and motion simulation in game virtual space | |
CN102782728B (zh) | 用于实时渲染的依赖于连接性的几何学优化 | |
KR101168108B1 (ko) | 온라인 게임을 이용한 광고 방법, 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체 | |
CN111957045B (zh) | 地形形变方法、装置、设备及存储介质 | |
US11771992B2 (en) | Information processing method, apparatus, and device, and storage medium | |
US20160048307A1 (en) | Systems and methods dynamic localization of a client device | |
KR20160038640A (ko) | 가속 구조를 생성 및 탐색하는 방법 | |
JP2009233237A (ja) | プログラム、情報記憶媒体、端末 | |
CN112233253A (zh) | 虚拟球体的形变控制方法、装置、电子设备及存储介质 | |
KR102096196B1 (ko) | 모델 오브젝트 구성 방법, 서버, 및 시스템 | |
Sánchez et al. | A dsl for rapid prototyping of cross-platform tower defense games | |
CN112619152A (zh) | 游戏包围盒的处理方法、装置及电子设备 | |
US7667712B2 (en) | Character coloring control method, game device, and information storage medium | |
CN111145324B (zh) | 基于植被顶点的动画模拟的方法、装置及电子设备 | |
JP4258841B2 (ja) | 画像表示プログラムおよび情報処理装置 | |
KR101400536B1 (ko) | 온라인 게임 서비스에서의 캐릭터간 충격 반응 표시 방법 및 서버, 및 충격 반응 표시 기능을 가지는 온라인 게임 시스템 | |
JP2001286675A (ja) | ゲーム装置、情報記憶媒体およびゲームシステム | |
CN112132934A (zh) | 模型元素的形变处理、画面渲染方法、装置、设备及介质 | |
JP4025716B2 (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
JP2004329531A (ja) | ゲームプログラム、情報記憶媒体及びゲーム装置 | |
JP2002269588A (ja) | 3次元表示プログラム、3次元表示方法、3次元表示プログラム格納媒体および3次元表示装置 | |
Akinlaja | LÖVE2d for Lua Game Programming | |
CN118179031A (zh) | 游戏中行军队伍的控制方法、装置和电子设备 | |
JP2009112875A (ja) | ゲーム装置及び情報記憶媒体 |
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 |