CN111275797A - 动画显示方法、装置、设备及存储介质 - Google Patents
动画显示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111275797A CN111275797A CN202010119462.0A CN202010119462A CN111275797A CN 111275797 A CN111275797 A CN 111275797A CN 202010119462 A CN202010119462 A CN 202010119462A CN 111275797 A CN111275797 A CN 111275797A
- Authority
- CN
- China
- Prior art keywords
- animation data
- target
- preset
- virtual
- virtual scene
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Abstract
本申请实施例公开了一种动画显示方法、装置、设备及存储介质,属于计算机技术领域。该方法包括:显示虚拟场景,虚拟场景中包括第一虚拟元素;响应于对第一虚拟元素的移动指令,获取预设动画数据,预设动画数据用于指示按照预设移动轨迹移动;根据虚拟场景,对预设动画数据进行调整,得到与虚拟场景匹配的目标动画数据,目标动画数据用于指示按照与虚拟场景匹配的目标移动轨迹移动;根据目标动画数据,显示第一虚拟元素在虚拟场景中按照目标移动轨迹移动的动画,可以根据虚拟场景对预设动画数据进行调整,得到与该虚拟场景匹配的目标动画数据,减少了开发人员需要制作的动画数据,减少了人力成本。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种动画显示方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,游戏的种类越来越多,提供的虚拟场景越来越丰富,如何在虚拟场景中控制虚拟对象移动成为亟需解决的问题。
目前,在虚拟场景中控制虚拟对象移动时,需要显示虚拟对象在该虚拟场景中移动的动画。如果此时未获取到与该虚拟场景匹配的动画数据,则需要获取预先制作的多个动画数据,不同的动画数据指示不同的移动轨迹,对该多个动画数据进行叠加,得到目标动画数据,该目标动画数据指示的目标移动轨迹与该虚拟场景匹配,从而能够根据该目标动画数据,显示该虚拟对象在该虚拟场景中按照目标移动轨迹移动的动画。
上述方案中需要预先制作多个动画数据,且制作动画数据耗费的人力成本和时间成本较大。
发明内容
本申请实施例提供了一种动画显示方法、装置及存储介质,能够节约人力成本和时间成本。所述技术方案如下:
一方面,提供了一种动画显示方法,所述方法包括:
显示虚拟场景,所述虚拟场景中包括第一虚拟元素;
响应于对所述第一虚拟元素的移动指令,获取预设动画数据,所述预设动画数据用于指示按照预设移动轨迹移动;
根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,所述目标动画数据用于指示按照与所述虚拟场景匹配的目标移动轨迹移动;
根据所述目标动画数据,显示所述第一虚拟元素在所述虚拟场景中按照所述目标移动轨迹移动的动画。
另一方面,提供了一种动画显示装置,所述装置包括:
显示模块,用于显示虚拟场景,所述虚拟场景中包括第一虚拟元素;
获取模块,用于响应于对所述第一虚拟元素的移动指令,获取预设动画数据,所述预设动画数据用于指示按照预设移动轨迹移动;
调整模块,用于根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,所述目标动画数据用于指示按照与所述虚拟场景匹配的目标移动轨迹移动;
显示模块,用于根据所述目标动画数据,显示所述第一虚拟元素在所述虚拟场景中按照所述目标移动轨迹移动的动画。
在一种可能实现方式中,所述获取模块,包括:
确定单元,用于响应于所述移动指令,确定所述第一虚拟元素的移动方式,所述移动方式包括跳跃、飞翔、行走中的至少一项;
获取单元,用于根据移动方式与预设动画数据的对应关系,获取所述移动方式对应的预设动画数据。
在一种可能实现方式中,所述移动指令为在虚拟元素上方移动的指令,所述预设移动轨迹为在预设高度的虚拟元素上方移动的轨迹;所述调整模块,包括:
获取单元,用于获取所述虚拟场景中的第二虚拟元素的第一高度;
调整单元,用于根据所述第一高度,对所述预设动画数据进行调整,得到所述目标动画数据,所述目标动画数据用于指示在所述第一高度的第二虚拟元素的上方移动。
在一种可能实现方式中,所述移动指令为移动至目标元素所在位置的指令,所述预设移动轨迹为移动至预设目标元素所在的预设位置的轨迹;所述调整模块,包括:
获取单元,用于获取所述虚拟场景中的目标元素所在的第一位置;
调整单元,用于根据所述第一位置,对所述预设动画数据进行调整,得到所述目标动画数据,所述目标动画数据用于指示移动至所述第一位置。
在一种可能实现方式中,所述移动指令为根据与目标元素的距离移动的指令,所述预设轨迹为根据预设距离移动至所述预设距离对应的第二位置的轨迹;所述调整模块,包括:
获取单元,用于获取所述虚拟场景中的目标元素所在的第三位置;
调整单元,用于根据所述第三位置与所述第一虚拟元素所在的当前位置之间的第一距离,对所述预设动画数据进行调整,得到所述目标动画数据,所述目标动画数据用于根据所述第一距离移动。
在一种可能实现方式中,所述预设动画数据包括多个时间点以及所述多个时间点对应的坐标,所述调整模块,还用于根据所述虚拟场景,对所述预设动画数据中的至少一个坐标进行调整,得到所述目标动画数据。
在一种可能实现方式中,所述调整模块,还用于根据所述虚拟场景,对所述多个时间点中的第一时间点对应的第一坐标进行调整,得到第二坐标,所述第一时间点包括所述第一虚拟元素移动过程中的转向位置点对应的时间点或者终止时间点的至少一项;
所述调整模块,还用于根据所述第二坐标,对所述多个时间点中其他的至少一个时间点对应的坐标进行调整,得到所述目标动画数据,以使根据所述多个时间点对应的坐标构成的目标移动轨迹连续。
在一种可能实现方式中,所述调整模块,包括:
获取单元,用于获取所述多个时间点中的目标时间段,所述预设动画数据用于指示在目标时间段内处于悬空状态;
调整单元,用于根据所述第二坐标,对所述目标时间段中的多个时间点对应的坐标进行调整,得到所述目标动画数据。
在一种可能实现方式中,所述调整模块,包括:
确定单元,用于根据所述第一坐标和所述第二坐标,确定调整比值;
调整单元,用于根据所述调整比值,对所述多个时间点中其他的至少一个时间点对应的坐标进行调整,得到所述目标动画数据。
在一种可能实现方式中,所述确定单元,用于执行以下至少一项:
获取所述第二坐标与所述第一坐标的第一比值,将所述第一比值作为所述调整比值;
获取所述第二坐标与第三坐标的第一差值及所述第一坐标与所述第三坐标的第二差值,根据所述第一差值和所述第二差值,确定所述调整比值,所述第三坐标为所述第一时间点所处的时间段内的起始时间点对应的坐标。
在一种可能实现方式中,所述确定单元,用于将所述第一差值与所述第二差值的第二比值作为所述调整比值。
在一种可能实现方式中,所述调整模块,用于根据所述虚拟场景,对所述预设动画数据中的至少一个坐标进行调整,得到与所述虚拟场景匹配的第一目标动画数据;
所述调整模块,还用于响应于所述第一目标动画数据指示的移动速度超过预设速度,保持每个坐标不变的情况下,按照第二调整比值对每个时间点进行调整,得到第二目标动画数据。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如上述方面所述的动画显示方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如上述方面所述的动画显示方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的动画显示方法、装置、设备及存储介质,通过响应于对第一虚拟元素的移动指令,获取预设动画数据,根据该虚拟场景,对该预设动画数据进行调整,得到目标动画数据,以使该目标动画数据指示的目标移动轨迹与虚拟场景匹配,根据该目标动画数据,显示第一虚拟元素按照目标移动轨迹在虚拟场景中移动的动画,由于仅需要根据虚拟场景,对预设动画数据进行调整,因此减少了需要预先制作的动画数据,从而节约了人力成本和时间成本。
另外,在调整预设动画数据时,可以先调整第一时间点对应的第一坐标,由于第一时间点包括虚拟元素移动过程中的转向位置点对应的时间点或者终止时间点的至少一项,因此,通过调整第一坐标点可以保证调整后的轨迹能够满足虚拟场景,再根据对预设轨迹上的其他坐标进行调整,得到目标移动轨迹,使得目标移动轨迹连续,从而该第一虚拟元素按照目标移动轨迹移动时,能够避免闪现的问题,可以更加真实。
另外,在调整预设动画数据时,可以先确定调整比值,根据调整比值对预设动画数据中的至少一个坐标进行调整,提高了调整速度,从而可以更快得到目标动画数据,可以更快显示第一虚拟元素按照目标移动轨迹在虚拟场景中移动的动画。
另外,在调整预设动画数据时,可以先调整第一时间点的第一坐标,得到第一时间点的第二坐标,将该第二坐标与预设动画数据中目标时间段内的起始时间点对应的坐标进行拟合,得到目标移动轨迹,这样,可以使得目标移动路径更加平滑,更加真实,并且,可以拟合出多种目标移动轨迹,增加了第一虚拟元素移动的随机性和多样性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种动画显示方法的流程图;
图2是本申请实施例提供的一种虚拟对象的移动轨迹的示意图;
图3是本申请实施例提供的一种预设动画数据指示的预设移动轨迹的示意图;
图4是本申请实施例提供的一种动画轨道的示意图;
图5是本申请实施例提供的一种动画测试方法的流程图;
图6是本申请实施例提供的另一种预设动画数据指示的预设移动轨迹的示意图;
图7是本申请实施例提供的一种目标移动轨迹的示意图;
图8是相关技术提供的一种移动轨迹的示意图;
图9是本申请实施例提供的一种动画显示装置的结构图;
图10是本申请实施例提供的另一种动画显示装置的结构图;
图11是本申请实施例提供的一种终端的结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一坐标称为第二坐标,且类似地,可将第二坐标称为第一坐标。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或者两个以上,多个包括两个或者两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个,举例来说,多个时间点包括3个时间点,而每个是指这3个时间点中的每一个时间点,任一是指这3个时间点中的任意一个,可以是第一个,也可以是第二个,还可以是第三个。
本申请涉及到的虚拟场景可以用于模拟一个三维虚拟空间,该三维虚拟空间可以是一个开放空间,该虚拟场景可以用于模拟现实中的真实环境,例如,该虚拟场景中可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素。当然,在该虚拟场景中还可以包括虚拟物品,例如,建筑物、载具、虚拟场景中的虚拟对象用于武装自己或与其他虚拟对象进行战斗所需的兵器等道具。该虚拟场景还可以用于模拟不同天气下的真实环境,例如,晴天、雨天、雾天或黑夜等天气。
用户可以控制虚拟对象在该虚拟场景中进行移动,该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象,该虚拟形象可以是任一种形态,例如,人、动物等,本申请对此不限定。以战争类游戏为例,用户可以控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等。用户还可以控制虚拟对象在该虚拟场景中进出建筑物,发现并拾取该虚拟场景中的虚拟物品(例如,兵器等道具),从而通过拾取的虚拟物品与其他虚拟对象进行战斗,例如,该虚拟物品可以是衣物、头盔、防弹衣、医疗品、冷兵器或热兵器等,也可以是其他虚拟对象被淘汰后遗留的虚拟物品。在此仅以上述场景进行举例说明,本申请实施例对此不作具体限定。
本申请实施例提供的动画显示方法可以应用于终端中,该终端可以为手机、电脑、平板电脑等多种类型的设备。
本申请实施例以电子游戏场景为例,用户可以提前在该终端上进行操作,该终端检测到用户的操作后,可以下载电子游戏的游戏配置文件,该游戏配置文件可以包括该电子游戏的应用程序、界面显示数据或虚拟场景数据等,以使得该用户在该终端上登录电子游戏时可以调用该游戏配置文件,对电子游戏界面进行渲染显示。用户可以在终端上进行触控操作,该终端检测到触控操作后,可以确定该触控操作所对应的游戏数据,并对该游戏数据进行渲染显示,该游戏数据可以包括虚拟场景数据、该虚拟场景中虚拟对象的动画数据等,本申请实施例对此不做限定。
本申请实施例提供的动画显示方法可以应用于电子游戏的场景下。
例如,跨过障碍物的场景:
用户通过终端控制虚拟对象在虚拟场景中移动,当虚拟对象移动前方存在障碍物时,可以采用本申请实施例提供的动画显示方法,获取预设动画数据,该预设动画数据是预先制作好的、跨过障碍物的动画数据,则根据虚拟场景中当前障碍物的高度,对预设动画数据进行调整,得到目标动画数据,该目标动画数据可以指示虚拟对象跨过该障碍物。
本申请实施例提供的动画显示方法还可以应用于其他游戏的场景下,本申请实施例对此不做限定。
图1是本申请实施例提供的一种动画显示方法的流程图,应用于终端中,如图1所示,该方法包括:
101、终端显示虚拟场景,该虚拟场景中包括第一虚拟元素。
可选地,终端上可以安装有目标应用程序,该目标应用程序可以用于向用户展示虚拟场景,用户可以在终端上访问目标应用程序,终端显示该目标应用程序提供的虚拟场景,可选地,该目标应用程序可以是战争类游戏、射击类游戏、竞速类游戏等,本申请实施例对目标应用程序不做限定。
例如,目标应用程序为战争类应用程序,用户在终端上访问该目标应用程序,在该目标应用程序中匹配对手,之后,终端显示虚拟场景,在该虚拟场景中,用户控制虚拟对象与对手控制的虚拟对象进行对战。
该虚拟场景中可以包括至少一种类型的虚拟元素,该虚拟元素可以是虚拟对象、虚拟物品、虚拟环境等,本申请实施例对虚拟元素的类型不做限定。
第一虚拟元素可以是虚拟场景中的任一种类型的虚拟元素。可选地,第一虚拟元素可以是虚拟对象,该虚拟对象为该虚拟场景中用于表示用户的虚拟形象,该虚拟形象可以是任一种形态,例如,人、动物、怪兽等,用户可以基于终端显示的虚拟场景,控制该虚拟对象执行动作。
可选地,该第一虚拟元素可以是虚拟物品,该虚拟物品可以是虚拟场景提供的任一种道具,例如:炸弹、枪支等;该虚拟物品还可以是该虚拟对象发出的任一种特效物品,例如:火球、剑等;用户可以基于终端显示的虚拟场景,控制虚拟对象拾取或者抛掷道具,也可以控制虚拟对象发出特效物品。本申请实施例对该虚拟物品不做限定。
可选地,该第一虚拟元素还可以是虚拟场景中的环境元素,该环境元素可以是组成该虚拟场景的任一种元素,例如:树木、石头等。
可选地,该虚拟场景中可以包括用户控制的虚拟对象,该终端显示虚拟场景,可以包括:终端显示以该虚拟对象的视线范围内的虚拟场景。可选地,用户还可以通过拖动显示界面,来显示不同区域的虚拟场景,该终端显示虚拟场景,可以包括:响应于对显示界面的拖动操作,确定该拖动操作的拖动方向,显示该虚拟场景按照该拖动方向移动的动画。
102、终端响应于对第一虚拟元素的移动指令,获取预设动画数据,该预设动画数据用于指示按照预设移动轨迹移动。
其中,对第一虚拟元素的移动指令可以是根据用户的操作生成的,也可以是根据虚拟场景中发生的事件生成的。
可选地,对第一虚拟元素的移动指令可以是根据用户的操作生成的,在一种可能实现方式中,第一虚拟元素为用户控制的虚拟对象,用户可以通过对移动按键进行触发操作来控制虚拟对象移动,终端响应于对移动按键的触发操作,生成对该虚拟对象的移动指令,其中,触发操作可以是点击操作、滑动操作、双击操作、长按操作等,本申请实施例对触发操作不做限定。
在另一种可能实现方式中,第一虚拟元素为虚拟场景提供的虚拟物品,用户可以通过控制虚拟对象来移动该虚拟物品,终端响应于虚拟对象对第一虚拟元素的移动操作,生成对该第一虚拟元素的移动指令。例如,该虚拟物品为炸弹,用户控制虚拟对象将该炸弹投掷到另一区域等,终端会生成对该炸弹的移动指令,控制该炸弹移动至另一区域。
在另一种可能实现方式中,第一虚拟元素还可以是虚拟对象发出的特效物品,用户可以控制虚拟对象释放特效物品,终端响应于虚拟对象释放特效物品,生成对该特效物品的移动指令,控制该特效物品移动。例如,用户控制虚拟对象释放火球,在虚拟场景中,虚拟对象生成火球,将火球发送至敌方所在的区域等。
可选地,对第一虚拟元素的移动指令还可以是根据虚拟场景中发生的事件生成的,例如,第一虚拟元素为用户控制的虚拟对象时,终端响应于该虚拟对象位于“地雷”的爆炸区域内,则控制该“地雷”爆炸,控制虚拟对象飞出;又如,第一虚拟元素为虚拟场景中的环境元素时,例如该环境元素为石块,若虚拟对象释放的技能未攻击到敌方,而是攻击到该石块,终端可以生成对该石块的移动指令,根据该移动指令控制石块飞出。
其中,移动指令为用于指示第一虚拟元素移动的指令,例如该移动指令可以为指示第一虚拟元素在其他虚拟元素上方移动的指令;也可以为指示第一虚拟元素移动至目标元素所在位置的指令;还可以为根据第一虚拟元素与目标元素的距离控制第一虚拟元素移动的指令;本申请实施例对移动指令的类型不做限定。
预设动画数据可以是开发人员预先制作的动画数据,该预设动画数据可以用于指示按照预设移动轨迹移动,其中,该预设动画数据中包括多个时间点和多个时间点对应的坐标,按照时间顺序,对该多个时间点的坐标进行连线,可以得到该预设动画数据指示的预设移动轨迹,通过在每个时间点控制虚拟对象移动至该时间点对应的坐标,即可实现控制虚拟对象按照预设移动轨迹进行移动。
可选地,虚拟对象包括一个或多个骨骼,该多个时间点对应的坐标可以为虚拟对象的根骨骼的坐标,其中,虚拟元素的根骨骼移动可以带动虚拟元素移动。可选地,该预设动画数据中还可以包括多个时间点对应的根骨骼与其他每个骨骼的位置关系,这样,在根据预设动画数据控制虚拟元素按照预设移动轨迹移动的过程中,还可以按照预设的移动姿势进行移动,使得虚拟元素的移动更加真实。
在一种可能实现方式中,每个虚拟元素均有其对应的预设动画数据,可选地,不同的虚拟元素的移动方式不同,例如,虚拟对象的移动方式为跳跃移动,第二虚拟对象的移动方式为行走移动,如果将虚拟对象的预设动画数据应用到第二虚拟对象中会改变第二虚拟对象的移动方式,导致第二虚拟对象的移动方式不符合第二虚拟对象的移动习惯。
因此,终端响应于对第一虚拟元素的移动指令,获取预设动画数据,可以包括:终端响应于对第一虚拟元素的移动指令,获取该第一虚拟元素的预设动画数据。
在另一种可能实现方式中,每种类型的虚拟元素均有其对应的预设动画数据,可选地,第一虚拟元素的类型包括人和动物,由于二者的骨骼不同,因此,不可以将人对应的预设动画数据应用到动物上。则终端响应于对第一虚拟元素的移动指令,获取预设动画数据,可以包括:终端响应于对第一虚拟元素的移动指令,根据第一虚拟元素的类型,获取该类型对应的预设动画数据。
在一种可能实现方式中,终端响应于对第一虚拟元素的移动指令,获取预设动画数据,可以包括:终端响应于移动指令,确定第一虚拟元素的移动方式,该移动方式包括跳跃、飞翔、行走中的至少一项;根据移动方式与预设动画数据的对应关系,获取该移动方式对应的预设动画数据。
其中,每个虚拟元素对应多个预设动画数据,或者,每种类型的虚拟元素对应多个预设动画数据。其中,该多个预设动画数据中的每个预设动画数据指示的预设移动轨迹不同,可以适用于不同的移动方式。
例如,当第一虚拟元素从水洼的一侧移动至另一侧时,可以确定该第一虚拟元素的移动方式为跳跃,当第一虚拟元素从湖的一侧移动至另一个侧时,可以确定该第一虚拟元素的移动方式为飞翔。
可选地,确定第一虚拟元素的移动方式,可以包括:根据第一虚拟元素移动的起始点和终止点的距离,确定该第一虚拟元素对应的移动方式。可选地,若该距离不大于第一预设距离,则该移动方式为行走;若该距离大于第一预设距离小于第二预设距离,则该移动方式为跳跃;若该距离大于第二预设距离,则该移动方式为飞翔。其中,第二预设距离大于第一预设距离,该第一预设距离和第二预设距离可以是任一数值,本申请实施例对第一预设距离和第二预设距离不做限定。
可选地,该移动方式还可以进一步进行划分,例如,移动方式为跳跃时,该跳跃方式可以分为三种,第一种跳跃方式为跨过目标元素;第二种跳跃方式为双手撑着目标元素起跳,跳过该目标元素;第三种跳跃方式为跳起后,单手撑着目标元素,翻过该目标元素等。
可选地,用户通过移动按键控制虚拟对象跳过障碍物时,若障碍物的高度不大于第一预设高度,则该跳跃方式为第一种跳跃方式;若障碍物的高度大于第一预设高度,不大于第二预设高度,则该跳跃方式为第二种跳跃方式;若障碍物的高度大于第二预设高度,则该跳跃方式为第三种跳跃方式。
103、终端根据虚拟场景,对该预设动画数据进行调整,得到与该虚拟场景匹配的目标动画数据,该目标动画数据用于指示按照与该虚拟场景匹配的目标移动轨迹移动。
其中,与虚拟场景匹配的目标动画数据是指:根据该目标动画数据指示的目标移动轨迹控制虚拟元素在虚拟场景中移动时,更具有真实性,可以避免出现虚拟元素在移动过程中穿过其他虚拟元素等不符合实际情况的现象。
其中,移动指令可以用于指示虚拟对象如何移动,可选地,终端可以根据移动指令,来确定虚拟场景中的目标元素,根据该虚拟场景中的目标元素,调整预设动画数据,得到目标动画数据。其中,目标元素为影响第一虚拟元素的移动轨迹的元素。
在一种可能实现方式中,该移动指令为在虚拟元素上方移动的指令,预设移动轨迹为在预设高度的虚拟元素上方移动的轨迹;则根据虚拟场景,对预设动画数据进行调整,得到与虚拟场景匹配的目标动画数据,包括:获取虚拟场景中的第二虚拟元素的第一高度;根据第一高度,对预设动画数据进行调整,得到目标动画数据,目标动画数据用于指示在第一高度的第二虚拟元素的上方移动。
例如,该预设移动轨迹为跨过50厘米高的障碍物的轨迹,虚拟场景中的障碍物的高度为60厘米,则对该预设动画数据进行调整,可以得到用于跨过60厘米高的障碍物的目标动画数据。
在一种可能实现方式中,移动指令为移动至目标元素所在位置的指令,预设移动轨迹为移动至预设目标元素所在的预设位置的轨迹;根据虚拟场景,对预设动画数据进行调整,得到与虚拟场景匹配的目标动画数据,包括:获取虚拟场景中的目标元素的第一位置;根据第一位置,对预设动画数据进行调整,得到目标动画数据,目标动画数据用于指示移动至目标元素的第一位置。
例如,如图2所示,在虚拟对象释放第一技能的场景下,虚拟对象201的第一技能为指示虚拟对象201跳到目标虚拟对象的上方,砸向该目标虚拟对象,终端响应于虚拟对象释放第一技能的操作,生成该虚拟对象的移动指令,该移动指令为移动至目标元素所在位置的指令,获取预设动画数据,该预设动画数据指示的预设移动轨迹为移动至预设目标元素所在的预设位置的轨迹,若预设目标元素所在的预设位置与目标元素所在的第一位置不同,则需要根据第一位置,对预设动画数据进行调整,使得该目标动画数据用于指示移动至目标元素所在的第一位置的轨迹,因此,该目标动画数据可以用于指示移动至目标元素的第一位置。
虚拟对象201在释放技能时的起始位置202和虚拟对象201在释放技能时的终止位置203,如图2所示,采用本申请实施例提供的调整预设动画数据的方法,可以根据预设动画数据,得到多个目标动画数据,从而控制虚拟对象201按照不同的目标移动轨迹进行移动。
在一种可能实现方式中,移动指令为根据与目标元素的距离移动的指令,预设轨迹为根据预设距离移动至预设距离对应的第二位置的轨迹;根据虚拟场景,对预设动画数据进行调整,得到与虚拟场景匹配的目标动画数据,包括:获取虚拟场景中的目标元素的第三位置;根据第三位置与第一虚拟元素所处的当前位置之间的第一距离,对预设动画数据进行调整,得到目标动画数据,目标动画数据用于指示移动至第一距离对应的第四位置。
例如,在爆炸场景下,目标元素为发生爆炸的炸弹,移动指令为根据虚拟元素与炸弹的距离移动的指令,预设动画数据为虚拟元素距离炸弹1米时,虚拟元素被炸飞的动画数据,而该爆炸场景下,虚拟元素距离炸弹2米,可以通过调整预设动画数据,得到虚拟元素距离炸弹2米时,虚拟元素被炸飞的动画数据。
需要说明的是,本申请实施例仅是以上述三种类型的移动指令,对调整预设数据进行示例性说明,其中,移动指令还可以是其他类型的移动指令,本申请实施例对此不做限定。
另外,在一种可能实现方式中,预设动画数据包括多个时间点以及多个时间点对应的坐标,根据虚拟场景,对预设动画数据进行调整,得到与虚拟场景匹配的目标动画数据,可以包括:根据虚拟场景,对预设动画数据中的至少一个坐标进行调整,得到目标动画数据。由于预设动画数据中的至少一个坐标发生了变化,因此根据该至少一个坐标组成的移动轨迹也发生了变化。
可选地,根据虚拟场景,对预设动画数据中的至少一个坐标进行调整,得到与虚拟场景匹配的目标动画数据,可以包括:根据虚拟场景,对多个时间点中的第一时间点对应的第一坐标进行调整,得到第二坐标,第一时间点包括虚拟元素移动过程中的转向位置点对应的时间点或者终止时间点的至少一项;根据第二坐标,对多个时间点中其他的至少一个时间点对应的坐标进行调整,得到目标动画数据,以使根据多个时间点对应的坐标构成的目标移动轨迹连续。
其中,第一虚拟元素移动过程中的转向位置点可以是移动轨迹上的最高点,可以先改变移动轨迹上的最高点,再根据该最高点,修改移动轨迹上的其他点,使得得到的目标移动轨迹连续。
例如,在控制虚拟对象跳过60厘米高的障碍物时,若获取的预设动画数据仅能指示虚拟对象跳过50厘米高的障碍物,则可以将预设移动轨迹上的最高位置点调高,以使虚拟对象能够跳过60厘米高的障碍物,还可以在将预设移动轨迹上的最高位置点调高之后,调整预设移动轨迹上的其他位置点,使得得到的目标移动轨迹连续。
可选地,还可以在将第一时间点对应的第一坐标修改为第二坐标后,还可以在保持第一时间对应的第二坐标、目标时间段的起始时间点对应的起始坐标目标时间段的终止时间点对应的终止坐标不变的情况下进行拟合,得到连续的目标移动轨迹,其中,虚拟元素在目标时间段内处于悬空状态,其中,虚拟元素处于悬空状态是指虚拟元素与虚拟场景内的其他虚拟元素之间没有接触。
其中,若虚拟元素按照预设虚拟轨迹移动时,在移动过程中均未与其他虚拟元素接触,则目标时间段为预设虚拟轨迹的起始时间点和终止时间点构成的时间段。若虚拟元素按照预设虚拟轨迹移动时,在移动过程中,会与其他虚拟元素接触,在保持第一时间对应的第二坐标、目标时间段的起始时间点对应的起始坐标目标时间段的终止时间点对应的终止坐标不变的情况下进行拟合时,仅会改变目标时间段内多个时间点对应的坐标,以保证虚拟元素在移动过程中与其他虚拟元素的良好接触。
在一种可能实现方式中,根据第二坐标,对多个时间点中其他的至少一个时间点对应的坐标进行调整,得到目标动画数据,可以包括:获取多个时间点中的目标时间段,根据第二坐标,对目标时间段中的多个时间点对应的坐标进行调整,得到目标动画数据。其中,预设动画数据用于指示虚拟元素在目标时间段内处于悬空状态,其中,虚拟元素处于悬空状态是指虚拟元素与虚拟场景内的其他虚拟元素之间没有接触。
需要说明的是,在一些预设动画数据中,虚拟元素与场景中的其他元素没有接触,例如,该预设动画数据用于控制虚拟元素跨过障碍物,在虚拟元素跨过障碍物的过程中,虚拟元素与障碍物之间没有接触,此时可以对该预设动画数据中的每个时间点对应的坐标进行调整。
而在一些预设动画数据中,在一些时间段内,虚拟元素需要与场景中的其他元素接触,如虚拟对象用手撑障碍物等,若对预设动画数据中的每个时间点对应的坐标进行调整,可能会导致虚拟对象的手无法接触到障碍物等问题,从而显示的动画真实性较差,因此,在对这种预设动画数据进行调整时,可以仅对虚拟对象处于悬空状态的时间段内的多个时间点对应的坐标进行调整,保证动画显示内容的真实性。
可选地,开发人员在制作预设动画数据时,可以将目标时间段标记出来。则预设动画数据中包括目标时间段标识,终端可以在获取预设动画数据之后,根据该预设动画数据中的目标时间段标识,来确定目标时间段。
可选地,终端根据第二坐标,对多个时间点中其他的至少一个时间点对应的坐标进行调整,得到目标动画数据,包括:根据第一坐标和第二坐标,确定调整比值;根据调整比值,对多个时间点中其他的至少一个时间点对应的坐标进行调整,得到目标动画数据。通过确定调整比值,可以快速调整预设动画数据,从而加快了得到目标动画数据的速度,使得终端可以更快地根据目标动画数据,显示虚拟元素按照目标移动轨迹移动的动画,提高了显示效率。
在一种可能实现方式中,根据第一坐标和第二坐标,确定调整比值,包括以下至少一项:
(1)获取第二坐标与第一坐标的第一比值,将第一比值作为调整比值。
可选地,在制作预设动画数据时,可以创建一个坐标系,在该坐标系中制作虚拟元素按照预设移动轨迹移动的预设动画数据,其中,预设动画数据中的多个时间点对应的坐标是虚拟元素在多个时间点时分别所处的位置。
可选地,该坐标系可以是二维坐标系,也可以是三维坐标系,本申请实施例对此不做限定。以该坐标系为三维坐标系为例进行说明,该坐标系可以包括x(横)轴,y(纵)轴和z(竖)轴。
在一种可能实现方式中,第一坐标包括至少一个轴上的坐标,第二坐标包括至少一个轴上的坐标,获取第二坐标与第一坐标的第一比值,将该第一比值作为调整比值,可以包括:获取第一坐标在目标轴上的第一数值,获取第二坐标在目标轴上的第二数值,获取第二数值和第一数值的比值,将该比值作为至少一个坐标在该目标轴上的数值的调整比值。
例如,预设动画数据可以控制虚拟元素跳过20厘米的障碍物,现将第一坐标的竖坐标扩大两倍,以使虚拟元素可以跳过40厘米的障碍物,并将预设移动轨迹上至少一个坐标的竖坐标扩大两倍,以保证目标移动轨迹连续。
(2)获取第二坐标与第三坐标的第一差值及第一坐标与第三坐标的第二差值,根据第一差值和第二差值,确定调整比值,第三坐标为第一时间点所处的时间段内的起始时间点对应的坐标。
其中,第一时间点所处的时间段可以是虚拟元素的全部移动过程对应的时间段,也可以是部分移动过程对应的时间段,本申请实施例对此不做限定。
其中,第一坐标与第三坐标的第二差值可以表示预设移动路径中起始时间点与第一时间点构成的时间段内虚拟对象的位移,第二坐标与第三坐标的第一差值可以包括仅改变第一时间点的坐标的话,起始时间点与第一时间点构成的时间段内虚拟对象的位移,根据两个位移可知,虚拟对象移动的变化,为了尽可能地避免虚拟对象在某个时间段的移动速度突变,可以将两个位移的比值,作为其他至少一个坐标的调整比值,从而保证虚拟对象在多个时间点上速度的变化趋于平稳。
另外,在采用方式(2)对至少一个坐标进行调整的方式与采用方式(1)对至少一个坐标进行调整的方式类似,在此不再一一赘述。
可选地,根据第一差值和第二差值,确定调整比值,可以包括:将第一差值与第二差值的第二比值作为调整比值。
需要说明的是,在调整预设动画数据时,可以确定一个调整比值,来调整该预设动画数据,还可以确定多个调整比值,对预设动画数据的不同时间段进行调整。本申请实施例对此不做限定。
另外,在对预设动画数据中的至少一个坐标进行修改后,会使得该预设动画数据指示的移动速度发生改变,例如,将预设动画数据中的每个坐标调大后,该调整后的动画数据指示的移动速度会增大,可能会导致显示虚拟元素移动的动画时,该虚拟元素由于移动速度过大,而导致显示不清楚的问题。
在一种可能实现方式中,根据虚拟场景,对预设动画数据中的至少一个坐标进行调整,得到目标动画数据,可以包括:根据虚拟场景,对预设动画数据中的至少一个坐标进行调整,得到与虚拟场景匹配的第一目标动画数据;响应于第一目标动画数据指示的移动速度超过预设速度,保持每个坐标不变的情况下,按照时间调整比值对每个时间点进行调整,得到第二目标动画数据。
其中,时间调整比值可以是根据第一目标动画数据指示的移动速度和预设速度确定的,可选地,将移动速度与预设速度的比值,作为时间调整比值,按照该时间调整比值对每个时间点进行调整,得到第二目标动画数据,使得第二目标动画数据指示的移动速度降低。
104、终端根据目标动画数据,显示第一虚拟元素在虚拟场景中按照目标移动轨迹移动的动画。
在一种可能实现方式中,目标动画数据中起始时间点对应的坐标与第一虚拟元素在虚拟场景中当前所在的位置的坐标可能并不一致,例如,在控制虚拟对象跨过障碍物的场景下,目标动画数据中起始时间点的坐标为(0,0,0),虚拟对象在虚拟场景中当前所在的位置的坐标为(10356,987,0),若直接按照目标动画数据中记载的多个时间点的坐标控制虚拟对象移动,则虚拟对象会闪现至虚拟场景中坐标为(0,0,0)的位置上,而该位置附近没有障碍物,从而显示第一虚拟元素凭空跨过的动画,失去了动画的真实性。
因此,在一种可能实现方式中,目标动画数据采用第一坐标系,虚拟场景采用第二坐标系,终端根据目标动画数据,显示第一虚拟元素在虚拟场景中按照目标移动轨迹移动的动画,可以包括:建立第一坐标系和第二坐标系的映射关系;根据该映射关系,获取预设动画数据中多个坐标在第二坐标系中对应的坐标;根据获取的第二坐标系中的多个坐标,显示第一虚拟元素在虚拟场景中按照目标移动轨迹移动的动画。
在一种可能实现方式中,终端根据目标动画数据,显示第一虚拟元素在虚拟场景中按照目标移动轨迹的动画,可以包括:按照时间顺序,获取目标动画数据中两个时间点对应的坐标,根据该两个时间点对应的坐标,获取两个时间点组成的时间段内的位移,按照该位移,控制第一虚拟元素在该时间段内移动,从而显示第一虚拟元素在虚拟场景中按照目标移动轨迹移动的动画。通过位移来控制第一虚拟元素移动,避免了目标动画数据使用的坐标系与虚拟场景使用的坐标系不一致的问题,保证了目标动画数据可以适用于多种虚拟场景。
本申请实施例提供的动画显示方法,通过响应于对第一虚拟元素的移动指令,获取预设动画数据,根据该虚拟场景,对该预设动画数据进行调整,得到目标动画数据,以使该目标动画数据指示的目标移动轨迹与虚拟场景匹配,根据该目标动画数据,显示第一虚拟元素按照目标移动轨迹在虚拟场景中移动的动画,由于仅需要根据虚拟场景,对预设动画数据进行调整,因此减少了需要预先制作的动画数据,从而节约了人力成本和时间成本。
另外,在调整预设动画数据时,可以先调整第一时间点对应的第一坐标,由于第一时间点包括虚拟元素移动过程中的转向位置点对应的时间点或者终止时间点的至少一项,因此,通过调整第一坐标点可以保证调整后的轨迹能够满足虚拟场景,再根据对预设轨迹上的其他坐标进行调整,得到目标移动轨迹,使得目标移动轨迹连续,从而该第一虚拟元素按照目标移动轨迹移动时,能够避免闪现的问题,可以更加真实。
另外,在调整预设动画数据时,可以先确定调整比值,根据调整比值对预设动画数据中的至少一个坐标进行调整,提高了调整速度,从而可以更快得到目标动画数据,可以更快显示第一虚拟元素按照目标移动轨迹在虚拟场景中移动的动画。
另外,在调整预设动画数据时,可以先调整第一时间点的第一坐标,得到第一时间点的第二坐标,将该第二坐标与预设动画数据中目标时间段内的起始时间点对应的坐标进行拟合,得到目标移动轨迹,这样,可以使得目标移动路径更加平滑,更加真实,并且,可以拟合出多种目标移动轨迹,增加了第一虚拟元素移动的随机性和多样性。
需要说明的是,上述实施例提供的动画显示方法可以是用户的使用过程,也可以是开发人员的测试过程,本申请实施例对此不做限定。
本申请实施例对美术人员制作预设动画数据和开发人员的测试过程进行补充说明:
美术人员可以与开发人员约定虚拟元素的移动方式与Warping Point(翘曲点)的命名,其中,该移动方式可以包括跳跃、飞翔、行走中的至少一项,可选地,还可以包括多种跳跃方式、多种飞翔方式和多种行走方式中的至少一项。
美术人员根据约定的移动方式制作预设动画数据,该预设动画数据中包括该动画的表现,还包括多个时间点和多个时间点对应的坐标,该多个时间点和多个时间点对应的坐标用于表示动画中虚拟元素移动的移动轨迹。
可选地,美术人员可以在动画编辑器中添加一个动画轨道,在该动画轨道中对该预设动画数据进行标记,美术人员可以将移动轨迹上的目标点(Warping Point)和可供调整的移动轨迹(Warping Segment)标记出来。其中,目标点可以是标志移动终止或者转向的Warping Point,目标时间段可以是标志该目标时间段内虚拟元素处于悬空状态。图3示出了预设动画数据的预设移动轨迹,美术人员将该移动轨迹上的“第一目标点”301、“第二目标点”302、“第一时间段”303和“第二时间段”304标记出来,其中,第一时间段和第二时间段内的移动轨迹为可供调整的移动轨迹。
标记后的动画轨道如图4所示,在该动画轨道中,标记有目标点对应的时间点401和可供调整的移动轨迹对应的时间段402,该时间段402为如图中阴影区域对应的时间段。
需要说明的是,除去以上两种标记,本申请实施例还可以进行其他标记,如在虚拟元素处于悬空状态的时间段内进行失重标记,这样,在按照动画数据显示虚拟元素在虚拟场景中移动的动画时,虚拟元素在处于悬空状态时,不受重力的影响,完全按照动画数据指示的移动轨迹移动。
在美术人员制作好预设动画数据之后,开发人员可以根据预设动画数据进行测试,如图5所示,该测试过程可以包括以下四个步骤:
(1)播放蒙太奇动画
MontageInstance(蒙太奇实例)载入预设动画数据,在载入预设动画数据时,分析该预设动画数据中的标记信息,识别出至少一个关键点,将该至少一个关键点的信息存储。
例如,当前方案在加载预设动画数据的时候,解析上面的Warping标记信息,获取关键的时间点以及每个关键的时间点对应的坐标。如图6所示,第一关键点601的时间为t0,该第一关键点601对应的坐标为d0,第二关键点602的时间为t1,该第二关键点602对应的坐标为d1,第三关键点603的时间为t2,该第三关键点603对应的坐标为d2,第四关键点604的时间为t3,该第四关键点604对应的坐标为d3,第五关键点605的时间为t4,该第五关键点605对应的坐标为d4,第六关键点606的时间为t5,该第六关键点606对应的坐标为d5,第七关键点607的时间为t6,该第七关键点607对应的坐标为d6。
此时可以确认,对于“Peak”这个第五关键点605,之前可供缩放的时间片段是[t1,t2]+[t3,t4],而对“Ground”这个第七关键点607点来说,可缩放片段为[t4,t5]。
从t0到t4时间段中固定位移为(d1-d0)+(d3-d2),可翘曲的位移为(d2-d1)+(d4-d3)。
(2)修改目标点:
假设需要将Peak点的坐标Warp到D,可以计算得到[t1,t2]+[t3,t4]分段的调整比值:
其中,Rdist为缩放比值。
在一种可能实现方式中,直接按照调整比值进行调整,可以对导致单位时间内的位移可能已经超过物体可以移动的最大速度了,此时可以通过改变动画在目标时间段的播放速率来维持物体的速率。其中,改变动画在目标时间段的播放速率可以包括:在保证多个坐标不变的情况下,将每个坐标对应的时间点按照一定调整比值调大。
经过以上两个步骤,对于动画上的任意时间点,可以得到坐标调整比值与时间调整比值两个系数。
(3)动画运行:
在动画运行(Tick)的时候,先根据时间调整比值确定调整后的多个时间点,根据当前帧中动画的起始时间点和终止时间点,获取该起始时间点对应的坐标和终止时间点对应的坐标,确定虚拟对象的位移,根据坐标调整比值对该位移进行调整,得到调整后的位移。
(4)运动组件控制移动:
将调整后的位移传递给虚拟对象的运动组件。该运动组件用于控制虚拟对象移动该调整后的位移。开发人员可以根据显示结果,确定预设动画数据是否合格、调整预设动画数据的方式是否还需要完善等。
上述方案对于不同移动轨迹可以复用动画数据,可以提高动画数据的利用率;另外当前方案中的动画标记集成在动画编辑器中,标记的工作由美术人员完成,只要美术人员保证标记的正确性,使用动画数据的开发人员不需要确切知道动画上关键点的坐标,减少了双方的沟通和修改成本,让资源制作和后续开发都更加灵活。
另外,相关技术中,在爆炸场景下,多个虚拟对象的死亡轨迹701如图7所示,该多个死亡轨迹701比较生硬,与真实事件不符。而采用本申请实施例提供的动画显示方法,可以对预设动画数据进行调整,得到多个目标动画数据,如图8所示,在爆炸场景下,本申请可以获取一个用于爆炸死亡的动画数据,调整该动画数据指示的死亡轨迹,可以得到随机的飞行死亡轨迹801,对同一死亡轨迹进行调整可以得到多个飞行死亡轨迹,增强了动画表现的多样性。并且该飞行死亡轨迹还与虚拟对象距离爆炸点的位置相关,显示的动画更加真实。
图9是本申请实施例提供的一种动画显示装置的结构示意图,如图9所示,该装置包括:
显示模块901,用于显示虚拟场景,该虚拟场景中包括第一虚拟元素;
获取模块902,用于响应于对该第一虚拟元素的移动指令,获取预设动画数据,该预设动画数据用于指示按照预设移动轨迹移动;
调整模块903,用于根据该虚拟场景,对该预设动画数据进行调整,得到与该虚拟场景匹配的目标动画数据,该目标动画数据用于指示按照与该虚拟场景匹配的目标移动轨迹移动;
显示模块901,用于根据该目标动画数据,显示该第一虚拟元素在该虚拟场景中按照该目标移动轨迹移动的动画。
本申请实施例提供的动画显示装置,通过响应于对第一虚拟元素的移动指令,获取预设动画数据,根据该虚拟场景,对该预设动画数据进行调整,得到目标动画数据,以使该目标动画数据指示的目标移动轨迹与虚拟场景匹配,根据该目标动画数据,显示第一虚拟元素按照目标移动轨迹在虚拟场景中移动的动画,由于仅需要根据虚拟场景,对预设动画数据进行调整,因此减少了需要预先制作的动画数据,从而节约了人力成本和时间成本。
如图10所示,在一种可能实现方式中,该获取模块902,包括:
确定单元9021,用于响应于该移动指令,确定该第一虚拟元素的移动方式,该移动方式包括跳跃、飞翔、行走中的至少一项;
获取单元9022,用于根据移动方式与预设动画数据的对应关系,获取该移动方式对应的预设动画数据。
在一种可能实现方式中,该移动指令为在虚拟元素上方移动的指令,该预设移动轨迹为在预设高度的虚拟元素上方移动的轨迹;该调整模块903,包括:
获取单元9031,用于获取该虚拟场景中的第二虚拟元素的第一高度;
调整单元9032,用于根据该第一高度,对该预设动画数据进行调整,得到该目标动画数据,该目标动画数据用于指示在该第一高度的第二虚拟元素的上方移动。
在一种可能实现方式中,该移动指令为移动至目标元素所在位置的指令,该预设移动轨迹为移动至预设目标元素所在的预设位置的轨迹;该调整模块,包括:
获取单元9031,用于获取该虚拟场景中的目标元素所在的第一位置;
调整单元9032,用于根据该第一位置,对该预设动画数据进行调整,得到该目标动画数据,该目标动画数据用于指示移动至该第一位置。
在一种可能实现方式中,该移动指令为根据与目标元素的距离移动的指令,该预设轨迹为根据预设距离移动至该预设距离对应的第二位置的轨迹;该调整模块,包括:
获取单元9031,用于获取该虚拟场景中的目标元素所在的第三位置;
调整单元9032,用于根据该第三位置与该第一虚拟元素所在的当前位置之间的第一距离,对该预设动画数据进行调整,得到该目标动画数据,该目标动画数据用于根据该第一距离移动。
在一种可能实现方式中,该预设动画数据包括多个时间点以及该多个时间点对应的坐标,该调整模块903,还用于根据该虚拟场景,对该预设动画数据中的至少一个坐标进行调整,得到该目标动画数据。
在一种可能实现方式中,该调整模块903,还用于根据该虚拟场景,对该多个时间点中的第一时间点对应的第一坐标进行调整,得到第二坐标,该第一时间点包括该第一虚拟元素移动过程中的转向位置点对应的时间点或者终止时间点的至少一项;
该调整模块903,还用于根据该第二坐标,对该多个时间点中其他的至少一个时间点对应的坐标进行调整,得到该目标动画数据,以使根据该多个时间点对应的坐标构成的目标移动轨迹连续。
在一种可能实现方式中,该调整模块903,包括:
获取单元9031,用于获取该多个时间点中的目标时间段,该预设动画数据用于指示在目标时间段内处于悬空状态;
调整单元9032,用于根据该第二坐标,对该目标时间段中的多个时间点对应的坐标进行调整,得到该目标动画数据。
在一种可能实现方式中,该调整模块903,包括:
确定单元9033,用于根据该第一坐标和该第二坐标,确定调整比值;
调整单元9032,用于根据该调整比值,对该多个时间点中其他的至少一个时间点对应的坐标进行调整,得到该目标动画数据。
在一种可能实现方式中,该确定单元9033,用于执行以下至少一项:
获取该第二坐标与该第一坐标的第一比值,将该第一比值作为该调整比值;
获取该第二坐标与第三坐标的第一差值及该第一坐标与该第三坐标的第二差值,根据该第一差值和该第二差值,确定该调整比值,该第三坐标为该第一时间点所处的时间段内的起始时间点对应的坐标。
在一种可能实现方式中,该确定单元9033,用于将该第一差值与该第二差值的第二比值作为该调整比值。
在一种可能实现方式中,该调整模块903,用于根据该虚拟场景,对该预设动画数据中的至少一个坐标进行调整,得到与该虚拟场景匹配的第一目标动画数据;
该调整模块903,还用于响应于该第一目标动画数据指示的移动速度超过预设速度,保持每个坐标不变的情况下,按照第二调整比值对每个时间点进行调整,得到第二目标动画数据。
图11是本申请实施例提供的一种终端的结构示意图,可以实现上述实施例中终端执行的操作。该终端1100可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑、台式电脑、头戴式设备、智能电视、智能音箱、智能遥控器、智能话筒,或其他任意智能终端。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的,用于存储至少一个指令,该至少一个指令用于被处理器1101所具有以实现本申请中方法实施例提供的动画显示方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105和音频电路1106中的至少一种。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。
显示屏1105用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。该显示屏1105可以是触摸显示屏,还可以用于提供虚拟按钮和/或虚拟键盘。
音频电路1106可以包括麦克风和扬声器。麦克风用于采集用户及环境的音频信号,并将音频信号转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为音频信号。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图12是本申请实施例提供的一种服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1201和一个或一个以上的存储器1202,其中,存储器1202中存储有至少一条指令,至少一条指令由处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器1200可以用于执行上述动画显示方法。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,至少一条程序代码由处理器加载并具有以实现上述实施例的动画显示方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,至少一条程序代码由处理器加载并具有以实现上述实施例的动画显示方法。
本申请实施例还提供了一种计算机程序,该计算机程序中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的动画显示方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种动画显示方法,其特征在于,所述方法包括:
显示虚拟场景,所述虚拟场景中包括第一虚拟元素;
响应于对所述第一虚拟元素的移动指令,获取预设动画数据,所述预设动画数据用于指示按照预设移动轨迹移动;
根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,所述目标动画数据用于指示按照与所述虚拟场景匹配的目标移动轨迹移动;
根据所述目标动画数据,显示所述第一虚拟元素在所述虚拟场景中按照所述目标移动轨迹移动的动画。
2.根据权利要求1所述的方法,其特征在于,所述响应于对所述第一虚拟元素的移动指令,获取预设动画数据,包括:
响应于所述移动指令,确定所述第一虚拟元素的移动方式,所述移动方式包括跳跃、飞翔、行走中的至少一项;
根据移动方式与预设动画数据的对应关系,获取所述移动方式对应的预设动画数据。
3.根据权利要求1所述的方法,其特征在于,所述移动指令为在虚拟元素上方移动的指令,所述预设移动轨迹为在预设高度的虚拟元素上方移动的轨迹;所述根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,包括:
获取所述虚拟场景中的第二虚拟元素的第一高度;
根据所述第一高度,对所述预设动画数据进行调整,得到所述目标动画数据,所述目标动画数据用于指示在所述第一高度的第二虚拟元素的上方移动。
4.根据权利要求1所述的方法,其特征在于,所述移动指令为移动至目标元素所在位置的指令,所述预设移动轨迹为移动至目标元素所在的预设位置的轨迹;所述根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,包括:
获取所述虚拟场景中的目标元素所在的第一位置;
根据所述第一位置,对所述预设动画数据进行调整,得到所述目标动画数据,所述目标动画数据用于指示移动至所述第一位置。
5.根据权利要求1所述的方法,其特征在于,所述移动指令为根据与目标元素的距离移动的指令,所述预设轨迹为根据预设距离移动至所述预设距离对应的第二位置的轨迹;所述根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,包括:
获取所述虚拟场景中的目标元素所在的第三位置;
根据所述第三位置与所述第一虚拟元素所在的位置之间的第一距离,对所述预设动画数据进行调整,得到所述目标动画数据,所述目标动画数据用于指示根据所述第一距离移动。
6.根据权利要求1所述的方法,其特征在于,所述预设动画数据包括多个时间点以及所述多个时间点对应的坐标,所述根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,包括:
根据所述虚拟场景,对所述预设动画数据中的至少一个坐标进行调整,得到所述目标动画数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述虚拟场景,对所述预设动画数据中的至少一个坐标进行调整,得到与所述虚拟场景匹配的目标动画数据,包括:
根据所述虚拟场景,对所述多个时间点中的第一时间点对应的第一坐标进行调整,得到第二坐标,所述第一时间点包括虚拟元素移动过程中的转向位置点对应的时间点或者终止时间点的至少一项;
根据所述第二坐标,对所述多个时间点中其他的至少一个时间点对应的坐标进行调整,得到所述目标动画数据,以使根据所述多个时间点对应的坐标构成的目标移动轨迹连续。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第二坐标,对所述多个时间点中其他的至少一个时间点对应的坐标进行调整,得到所述目标动画数据,包括:
获取所述多个时间点中的目标时间段,所述预设动画数据用于指示在所述目标时间段内处于悬空状态;
根据所述第二坐标,对所述目标时间段中的多个时间点对应的坐标进行调整,得到所述目标动画数据。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第二坐标,对所述多个时间点中其他的至少一个时间点对应的坐标进行调整,得到所述目标动画数据,包括:
根据所述第一坐标和所述第二坐标,确定调整比值;
根据所述调整比值,对所述多个时间点中其他的至少一个时间点对应的坐标进行调整,得到所述目标动画数据。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第一坐标和所述第二坐标,确定调整比值,包括以下至少一项:
获取所述第二坐标与所述第一坐标的第一比值,将所述第一比值作为所述调整比值;
获取所述第二坐标与第三坐标的第一差值及所述第一坐标与所述第三坐标的第二差值,根据所述第一差值和所述第二差值,确定所述调整比值,所述第三坐标为所述第一时间点所处的时间段内的起始时间点对应的坐标。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一差值和所述第二差值,确定所述调整比值,包括:
将所述第一差值与所述第二差值的第二比值作为所述调整比值。
12.根据权利要求6所述的方法,其特征在于,所述根据所述虚拟场景,对所述预设动画数据中的至少一个坐标进行调整,得到所述目标动画数据,包括:
根据所述虚拟场景,对所述预设动画数据中的至少一个坐标进行调整,得到与所述虚拟场景匹配的第一目标动画数据;
响应于所述第一目标动画数据指示的移动速度超过预设速度,保持每个坐标不变的情况下,按照时间调整比值对每个时间点进行调整,得到第二目标动画数据。
13.一种动画显示装置,其特征在于,所述装置包括:
显示模块,用于显示虚拟场景,所述虚拟场景中包括第一虚拟元素;
获取模块,用于响应于对所述第一虚拟元素的移动指令,获取预设动画数据,所述预设动画数据用于指示按照预设移动轨迹移动;
调整模块,用于根据所述虚拟场景,对所述预设动画数据进行调整,得到与所述虚拟场景匹配的目标动画数据,所述目标动画数据用于指示按照与所述虚拟场景匹配的目标移动轨迹移动;
所述显示模块,用于根据所述目标动画数据,显示所述第一虚拟元素在所述虚拟场景中按照所述目标移动轨迹移动的动画。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1至12任一权利要求所述的动画显示方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1至12任一权利要求所述的动画显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119462.0A CN111275797B (zh) | 2020-02-26 | 2020-02-26 | 动画显示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119462.0A CN111275797B (zh) | 2020-02-26 | 2020-02-26 | 动画显示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111275797A true CN111275797A (zh) | 2020-06-12 |
CN111275797B CN111275797B (zh) | 2022-05-31 |
Family
ID=71000429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119462.0A Active CN111275797B (zh) | 2020-02-26 | 2020-02-26 | 动画显示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111275797B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111744196A (zh) * | 2020-07-03 | 2020-10-09 | 珠海西山居移动游戏科技有限公司 | 一种游戏任务中的任务目标引导方法及装置 |
CN112099713A (zh) * | 2020-09-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种虚拟元素的展示方法以及相关装置 |
CN112308951A (zh) * | 2020-10-09 | 2021-02-02 | 深圳市大富网络技术有限公司 | 一种动画制作方法、系统、装置及计算机可读存储介质 |
CN112316429A (zh) * | 2020-11-27 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、终端及存储介质 |
CN112732081A (zh) * | 2020-12-31 | 2021-04-30 | 珠海金山网络游戏科技有限公司 | 虚拟对象的移动方法及装置 |
CN112891947A (zh) * | 2021-04-02 | 2021-06-04 | 网易(杭州)网络有限公司 | 跳跃动画处理方法、装置、电子设备及计算机可读介质 |
CN113888724A (zh) * | 2021-09-30 | 2022-01-04 | 北京字节跳动网络技术有限公司 | 一种动画显示方法、装置及设备 |
CN114115673A (zh) * | 2021-11-25 | 2022-03-01 | 海信集团控股股份有限公司 | 车载屏幕的控制方法 |
CN114245099A (zh) * | 2021-12-13 | 2022-03-25 | 北京百度网讯科技有限公司 | 视频生成方法、装置、电子设备以及存储介质 |
CN115484488A (zh) * | 2022-08-23 | 2022-12-16 | 惠州拓邦电气技术有限公司 | 一种动画控制方法、装置及电器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043400A (ja) * | 2000-01-01 | 2001-02-16 | Hitachi Ltd | コンピュータグラフィックの表示方法 |
CN105427365A (zh) * | 2015-11-26 | 2016-03-23 | 盛趣信息技术(上海)有限公司 | 动画实现方法、系统以及动画更新方法 |
CN106530371A (zh) * | 2016-10-12 | 2017-03-22 | 网易(杭州)网络有限公司 | 动画编辑、播放方法和装置 |
CN109523614A (zh) * | 2018-11-28 | 2019-03-26 | 珠海金山网络游戏科技有限公司 | 一种3d动画导出方法、3d动画播放方法及装置 |
CN110310352A (zh) * | 2019-07-04 | 2019-10-08 | 珠海金山网络游戏科技有限公司 | 一种角色动作编辑方法及装置、计算设备及存储介质 |
-
2020
- 2020-02-26 CN CN202010119462.0A patent/CN111275797B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043400A (ja) * | 2000-01-01 | 2001-02-16 | Hitachi Ltd | コンピュータグラフィックの表示方法 |
CN105427365A (zh) * | 2015-11-26 | 2016-03-23 | 盛趣信息技术(上海)有限公司 | 动画实现方法、系统以及动画更新方法 |
CN106530371A (zh) * | 2016-10-12 | 2017-03-22 | 网易(杭州)网络有限公司 | 动画编辑、播放方法和装置 |
CN109523614A (zh) * | 2018-11-28 | 2019-03-26 | 珠海金山网络游戏科技有限公司 | 一种3d动画导出方法、3d动画播放方法及装置 |
CN110310352A (zh) * | 2019-07-04 | 2019-10-08 | 珠海金山网络游戏科技有限公司 | 一种角色动作编辑方法及装置、计算设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张宝荣: "《Unreal Engine 4 学习总动员 游戏开发》", 31 July 2019 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111744196B (zh) * | 2020-07-03 | 2024-02-23 | 珠海西山居数字科技有限公司 | 一种游戏任务中的任务目标引导方法及装置 |
CN111744196A (zh) * | 2020-07-03 | 2020-10-09 | 珠海西山居移动游戏科技有限公司 | 一种游戏任务中的任务目标引导方法及装置 |
CN112099713A (zh) * | 2020-09-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种虚拟元素的展示方法以及相关装置 |
CN112099713B (zh) * | 2020-09-18 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种虚拟元素的展示方法以及相关装置 |
CN112308951A (zh) * | 2020-10-09 | 2021-02-02 | 深圳市大富网络技术有限公司 | 一种动画制作方法、系统、装置及计算机可读存储介质 |
CN112316429A (zh) * | 2020-11-27 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、终端及存储介质 |
CN112732081A (zh) * | 2020-12-31 | 2021-04-30 | 珠海金山网络游戏科技有限公司 | 虚拟对象的移动方法及装置 |
CN112891947A (zh) * | 2021-04-02 | 2021-06-04 | 网易(杭州)网络有限公司 | 跳跃动画处理方法、装置、电子设备及计算机可读介质 |
CN112891947B (zh) * | 2021-04-02 | 2024-02-23 | 网易(杭州)网络有限公司 | 跳跃动画处理方法、装置、电子设备及计算机可读介质 |
CN113888724A (zh) * | 2021-09-30 | 2022-01-04 | 北京字节跳动网络技术有限公司 | 一种动画显示方法、装置及设备 |
CN114115673A (zh) * | 2021-11-25 | 2022-03-01 | 海信集团控股股份有限公司 | 车载屏幕的控制方法 |
CN114115673B (zh) * | 2021-11-25 | 2023-10-27 | 海信集团控股股份有限公司 | 车载屏幕的控制方法 |
CN114245099B (zh) * | 2021-12-13 | 2023-02-21 | 北京百度网讯科技有限公司 | 视频生成方法、装置、电子设备以及存储介质 |
CN114245099A (zh) * | 2021-12-13 | 2022-03-25 | 北京百度网讯科技有限公司 | 视频生成方法、装置、电子设备以及存储介质 |
CN115484488B (zh) * | 2022-08-23 | 2023-08-04 | 惠州拓邦电气技术有限公司 | 一种动画控制方法、装置及电器 |
CN115484488A (zh) * | 2022-08-23 | 2022-12-16 | 惠州拓邦电气技术有限公司 | 一种动画控制方法、装置及电器 |
Also Published As
Publication number | Publication date |
---|---|
CN111275797B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111275797B (zh) | 动画显示方法、装置、设备及存储介质 | |
US11819763B2 (en) | Predictive display of thrown projectile | |
CN110507994B (zh) | 控制虚拟飞行器飞行的方法、装置、设备及存储介质 | |
JP2022500224A (ja) | ユーザインターフェース表示方法、ユーザインターフェース表示装置、端末、コンピュータ装置、およびプログラム | |
CN109529356B (zh) | 对战结果确定方法、装置及存储介质 | |
JP2022527662A (ja) | 仮想オブジェクトの制御方法、装置、機器及びコンピュータプログラム | |
CN112076473B (zh) | 虚拟道具的控制方法、装置、电子设备及存储介质 | |
WO2021203856A1 (zh) | 数据同步方法、装置、终端、服务器及存储介质 | |
CN110732135B (zh) | 虚拟场景显示方法、装置、电子设备及存储介质 | |
CN111399639B (zh) | 虚拟环境中运动状态的控制方法、装置、设备及可读介质 | |
JP2023504650A (ja) | インタラクション道具表示方法、装置、端末及びコンピュータプログラム | |
CN111330267B (zh) | 动画显示方法、装置、设备及存储介质 | |
CN110860087B (zh) | 虚拟对象控制方法、装置及存储介质 | |
JP7250403B2 (ja) | 仮想シーンの表示方法、装置、端末及びコンピュータプログラム | |
CN113144597B (zh) | 虚拟载具的显示方法、装置、设备以及存储介质 | |
CN113559504B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN113633964B (zh) | 虚拟技能的控制方法、装置、设备及计算机可读存储介质 | |
US20230033530A1 (en) | Method and apparatus for acquiring position in virtual scene, device, medium and program product | |
CN110585706A (zh) | 互动道具控制方法、装置、终端及存储介质 | |
JP2024507595A (ja) | 仮想リソースの投入制御方法、装置、コンピュータ機器及び記憶媒体 | |
CN113713383B (zh) | 投掷道具控制方法、装置、计算机设备及存储介质 | |
CN113680060B (zh) | 虚拟画面显示方法、装置、设备、介质及计算机程序产品 | |
CN111330278A (zh) | 基于虚拟环境的动画播放方法、装置、设备及介质 | |
CN110738738A (zh) | 三维虚拟场景中的虚拟对象标记方法、设备及存储介质 | |
CN111318020B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024081 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |