CN112200893A - 虚拟物品的动画生成方法、装置、设备及存储介质 - Google Patents
虚拟物品的动画生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112200893A CN112200893A CN202011431569.5A CN202011431569A CN112200893A CN 112200893 A CN112200893 A CN 112200893A CN 202011431569 A CN202011431569 A CN 202011431569A CN 112200893 A CN112200893 A CN 112200893A
- Authority
- CN
- China
- Prior art keywords
- action
- track
- point
- curve
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000009471 action Effects 0.000 claims abstract description 546
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 230000033001 locomotion Effects 0.000 claims description 144
- 238000001514 detection method Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000012937 correction Methods 0.000 claims description 16
- 238000002156 mixing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 27
- 238000004519 manufacturing process Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 34
- 230000007704 transition Effects 0.000 description 10
- 239000000203 mixture Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000035515 penetration Effects 0.000 description 6
- 230000002411 adverse Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005065 mining Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟物品的动画生成方法、装置、设备及存储介质,涉及动画制作技术领域。其中方法包括:获取游戏对象使用虚拟物品动作的轨迹曲线;根据动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用当前动作点与结束动作点之间的位置关系,将动作的轨迹曲线拆分多个轨迹区间;根据每个轨迹区间内数据的缩放系数和旋转系数对轨迹区间内的数据进行调整,计算当前动作点的轨迹曲线;根据当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向;采用反向动力学算法对动作对象的修正位置和修正朝向进行姿态调整。本申请可以使得游戏中动作数据良好匹配到当前游戏环境,提高游戏中动作数据的展示效果。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及到一种虚拟物品的动画生成方法、装置、设备及存储介质。
背景技术
随着游戏行业的兴起,很多3D游戏的制作过程都涉及到很多游戏特效动作,游戏特效动作能够根据游戏角色使用的虚拟物品来制作符合物品特性的动作。在制作动作过程中,开发人员通常会制作多套动作的动作数据分别与标准环境相适应,在运行时根据当前游戏环境,查找最接近的若干动作的动作数据并计算出其相应权重,再进行动作与游戏角色的混合应用,以使得游戏角色能够与游戏环境相适应。
然而,由于美术人员预先制作的动作数据会假定动作表现的游戏角色与对象的距离、角度等位置关系,而游戏实际运行时,游戏角色受到玩家控制,游戏角色与对象的距离、角度等位置关系是任意且变化的,经过混合后动作数据也只是当前游戏环境的近似匹配,很难匹配到实际运行的游戏环境中,使得游戏过程中会出现动作穿透等不良效果,影响游戏中动作数据的预期展示效果。
发明内容
有鉴于此,本申请提供了一种虚拟物品的动画生成方法、装置、设备及存储介质,主要目的在于解决现有技术中经过预先混合的动作数据很难匹配到实际游戏运行的环境中,影响游戏中动作数据的预期展示效果的问题。
根据本申请的第一个方面,提供了一种虚拟物品的动画生成方法,包括:
获取游戏对象使用虚拟物品动作的轨迹曲线,所述轨迹曲线标注有对象模型上的开始动作点和结束动作点;
根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间;
根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线;
根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向;
采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
可选地,所述获取游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
通过对所述游戏对象使用虚拟物品的动作进行分解,得到所述动作包含的基础动作;
根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线。
可选地,若所述动作包含一个基础动作,则所述根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
根据所述基础动作的标准动作信息,获取所述基础动作的轨迹曲线,作为游戏对象使用虚拟物品动作的轨迹曲线;
若所述动作包含多个基础动作,则所述根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
根据所述基础动作的标准动作信息,获取多个基础动作的轨迹曲线,通过对所述多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线。
可选地,所述根据所述基础动作的标准动作信息,获取所述基础动作的轨迹曲线,具体包括:
利用虚拟物品模型上预先标注的第一位置和第二位置,遍历所述基础动作的标准动作信息,提取所述基础动作的开始时间和结束时间;
以所述第一位置作为动作接触点,所述第二位置作为动作修正点,沿着所述基础动作的开始时间至结束时间绘制动作位置点,获取所述基础动作的轨迹曲线。
可选地,所述通过对所述多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
根据所述多个基础动作的轨迹曲线的权重比例,遍历多个轨迹曲线上相同时刻的数据点,分别提取所述相同时刻的数据点中表示位置的向量数据和表示朝向的四元数据;
利用球面线性差值算法按照所述权重比例分别对所述表示位置的向量数据和表示朝向的四元数据进行混合计算,将混合后的位置数据和朝向数据作为游戏对象使用虚拟物品动作的轨迹曲线。
可选地,所述根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,具体包括:
利用射线碰撞探测系统对所述动作的轨迹曲线进行射线探测,根据探测得到的碰撞点,获取游戏运行时对象模型上的当前动作点;或
通过预先在所述动作的轨迹曲线上指定位置点,获取游戏运行时对象模型上的当前动作点。
可选地,所述根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线,具体包括:
在保持每个轨迹区间内曲线形态的同时,根据所述每个轨迹区间的区间长度和方向向量,计算所述每个轨迹区间内数据的缩放系数和旋转系数;
根据所述每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内数据调整,得到调整后的多个轨迹区间;
将所述调整后的多个轨迹区间进行组合,形成当前动作点的轨迹曲线。
可选地,所述根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向,具体包括:
根据所述当前动作点的轨迹曲线上第一位置与所述动作的轨迹曲线上第一位置,确定第一位置的偏移;
根据所述动作对象的初始位置和所述第一位置的偏移,计算动作对象的修正位置;
根据所述动作对象的初始位置和所述动作对象的位置,计算动作对象的修正朝向。
根据本申请的第二个方面,提供了一种虚拟物品的动画生成装置,包括:
第一获取单元,用于获取游戏对象使用虚拟物品动作的轨迹曲线,所述轨迹曲线标注有对象模型上的开始动作点和结束动作点;
第二获取单元,用于根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间;
第一计算单元,用于根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线;
第二计算单元,用于根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向;
调整单元,用于采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
可选地,所述第一获取单元包括:
分解模块,用于通过对所述游戏对象使用虚拟物品的动作进行分解,得到所述动作包含的基础动作;
获取模块,用于根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线。
可选地,若所述动作包含一个基础动作,则所述获取模块,具体用于根据所述基础动作的标准动作信息,获取所述基础动作的轨迹曲线,作为游戏对象使用虚拟物品动作的轨迹曲线;
若所述动作包含多个基础动作,则所述获取模块,具体用于根据所述基础动作的标准动作信息,获取多个基础动作的轨迹曲线,通过对所述多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线。
可选地,若所述动作包含一个基础动作,则所述获取模块包括:
标注子模块,用于利用虚拟物品模型上预先标注的第一位置和第二位置,遍历所述基础动作的标准动作信息,提取所述基础动作的开始时间和结束时间;
获取子模块,用于以所述第一位置作为动作接触点,所述第二位置作为动作修正点,沿着所述基础动作的开始时间至结束时间绘制动作位置点,获取所述基础动作的轨迹曲线。
可选地,若所述动作包含多个基础动作,则所述获取模块包括:
提取子模块,用于根据所述多个基础动作的轨迹曲线的权重比例,遍历多个轨迹曲线上相同时刻的数据点,分别提取所述相同时刻的数据点中表示位置的向量数据和表示朝向的四元数据;
混合子模块,用于利用球面线性差值算法按照所述权重比例分别对所述表示位置的向量数据和表示朝向的四元数据进行混合计算,将混合后的位置数据和朝向数据作为游戏对象使用虚拟物品动作的轨迹曲线。
可选地,所述第二获取单元,具体用于利用射线碰撞探测系统对所述动作的轨迹曲线进行射线探测,根据探测得到的碰撞点,获取游戏运行时对象模型上的当前动作点;或
通过预先在所述动作的轨迹曲线上指定位置点,获取游戏运行时对象模型上的当前动作点。
可选地,所述第一计算单元包括:
第一计算模块,用于在保持每个轨迹区间内曲线形态的同时,根据所述每个轨迹区间的区间长度和方向向量,计算所述每个轨迹区间内数据的缩放系数和旋转系数;
调整模块,用于根据所述每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内数据调整,得到调整后的多个轨迹区间;
组合模块,用于将所述调整后的多个轨迹区间进行组合,形成当前动作点的轨迹曲线。
可选地,所述第二计算单元包括:
确定模块,用于根据所述当前动作点的轨迹曲线上第一位置与所述动作的轨迹曲线上第一位置,确定第一位置的偏移;
第二计算模块,用于根据所述动作对象的初始位置和所述第一位置的偏移,计算动作对象的修正位置;
第三计算模块,用于根据所述动作对象的初始位置和所述动作对象的位置,计算动作对象的修正朝向。
根据本申请的第三个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
根据本申请的第四个方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本申请提供的一种虚拟物品的动画生成方法、装置、设备及存储介质,与目前现有方式中由美术人员预先制作大量动作数据的方式相比,本申请通过获取游戏运行时游戏对象使用动作的轨迹曲线,该轨迹曲线标注有对象模型上的开始动作点和结束动作点,无需美术人员预先制作大量的动作数据,实现了一次动画制作可多处通用的效果,进一步根据动作的轨迹曲线获取游戏运行时对象模型上的当前动作点,利用当前动作点与结束动作点之间的位置关系,将动作的轨迹曲线拆分为多个轨迹区间,根据每个轨迹区间内数据的缩放系数和旋转系数对轨迹区间内的数据进行调整,计算当前动作点的轨迹曲线,这里当前动作点的轨迹曲线在每个轨迹区间的播放时长与标准轨迹曲线的播放时长保持一致,能够在不改变动作数据播放时长的同时,与标准动作相位同步,不影响上层的游戏逻辑,进一步根据当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向,采用反向动力学算法度动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据,以使得动作数据可以完美匹配当前的游戏运环境,避免游戏过程中出现动作穿透等不良效果,提高游戏中动作数据的预期展示效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种虚拟物品的动画生成方法的流程示意图;
图2示出了本申请实施例提供的另一种虚拟物品的动画生成方法的流程示意图;
图3示出了本申请实施例提供的射线碰撞探测过程的示意图;
图4示出了本申请实施例提供的当前动作点的轨迹曲线生成过程的示意图;
图5示出了本申请实施例提供的一种虚拟物品的动画生成装置的结构示意图;
图6示出了本申请实施例提供的另一种虚拟物品的动画生成装置的结构示意图;
图7示出了本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
现在将参照若干示例性实施例来论述本发明的内容。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。
本发明实施例中的虚拟物品可以是任何类型游戏中游戏对象所使用的虚拟物品,可以为武器或者工具等,例如,游戏对象采矿时使用的矿镐,游戏对象攻击时使用的剑或者枪,具体以游戏对象使用矿镐进行采矿的过程进行举例,美术人员需要预先制作大量动作的动作数据,通常的解决方案是预先制作多套动作分别与不同的标准环境相适应,例如,以矿镐竖直向上为采矿开始点的动作数据,以矿镐水平方向为动作结束点的采矿动作,形成1/4圆扇形为可采矿区域,美术人员需要制作采矿落点在30/45/60/75/90度等一些列动作的动作数据。此外,以游戏角色朝向为z轴正方向,在xoz平面内,采矿落点左右偏移45度为可采矿区域,又需要美术制作一系列左右偏移动作的动作数据,与之前的采矿落点高度形成二维数组,美术人员总共需要制作大量动作的动作数据。但是在实际游戏运行时,即使美术人员制作了大量动作的动作数据,仍然不能完全适配到所有游戏场景,需要找到最近似若干动作的动作数据进行混合,将混合后的动作数据作为游戏中的动作数据进行展示。然而,由于美术人员预先制作的动作数据在游戏运行时受到游戏环境的影响,很难匹配到实际游戏的矿物环境中,使得游戏过程中会出现动作穿透等不良效果,影响游戏中动作数据的预期展示效果。
为了解决该问题,本实施例提供了一种虚拟物品的动画生成方法,如图1所示,该方法应用于游戏制作工具的客户端,包括如下步骤:
101、获取游戏对象使用虚拟物品动作的轨迹曲线。
游戏场景中,游戏对象需要使用虚拟物品接触对象模型,以获取相应的游戏资源,所以在制作游戏动画过程中,需要虚拟物品模型和对象模型的接触,游戏对象使用动作将虚拟物品模型挥向对象模型,这里的动作通常为预先设置的多个基础动作,例如,左、中、右三个基础动作,还可以为上、中、下三个基础动作等,具体可以根据虚拟物品模型接触对象模型的实际方向需求进行设置,每个基础动作都会对应产生一个轨迹曲线,这里的动作可以为一个基础动作,还可以为多个基础动作的混合动作,该轨迹曲线的开始时间是动作的开始时间,结束时间是动作的结束时间。
该轨迹曲线相当于第一位置的变化曲线,这里的第一位置可以在虚拟物品上任一点的位置,通常为虚拟物品与对象的动作接触点位置,具体轨迹曲线的获取过程可以应用在动作编辑阶段,首先利用游戏对象使用的虚拟物品模型,在虚拟物品模型上标注第一位置,该第一位置即为虚拟物品与接触对象的动作接触点,可以根据实际使用虚拟物品模型的形状来标注确定,例如,斧头状虚拟物品模型的第一位置在斧头弧形中部,十字状虚拟物品模型的第一位置在十字尖部,在虚拟物品模型上标注第二位置,该第二位置即为虚拟物品与游戏对象的接触位置,相当于手柄位置,该手柄位置用于辅助手位置修正,然后针对每个基础动作,绘制基础动作过程中第一位置的轨迹,形成基础动作的轨迹曲线,对于动作为多个基础动作进行混合的情况,动作的轨迹曲线为多个基础动作的轨迹曲线进行混合处理后形成。
可以理解的是,具体游戏运行时,为了便于对动作的轨迹曲线进行分析,该轨迹曲线上标注有对象模型上的开始动作点和结束动作点,这里的开始动作点和结束动作点为轨迹曲线上的两个点,可以在播放动作观看动作效果过程中,人为判定某一时刻t为开始时间或结束时间,该t时刻在轨迹曲线上的第一位置即为开始动作点或结束动作点,还可以将虚拟物品模型垂直向作为开始时间,动作开始点即为虚拟物品模型垂直方向上的第一位置,将虚拟物品模型水平方向作为结束时间,动作结束点即为虚拟物品模型水平方向上的第一位置,这里不进行限定。
对于本实施例的执行主体可以为虚拟物品的动画生成装置或设备,可以配置在游戏制作工具的客户端,美术人员在制作好虚拟物品模型后,针对虚拟物品模型中第一位置,分别提取每个基础动作的轨迹曲线,这里基础动作通常为经常使用的左、中、右三个,进而在游戏运行时选取动作的开始时间和结束时间,根据游戏对象使用动作的组成情况,获取动作的轨迹曲线,并利用开始时间和结束时间在动作的轨迹曲线中标注对象模型上的开始动作点和结束动作点。
102、根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间。
由于动作在动作区间内的幅度可以近似为某个yoz平面附近的一段弧曲线,动作的轨迹曲线同样趋近一段弧曲线,游戏角色在执行动作的过程中虚拟物品模型会与对象模型碰撞,当前动作点即为虚拟物品模型落到对象模型上的动作落点,该动作落点相当于结束动作点。由于使用动作的轨迹曲线覆盖了游戏运行时游戏对象使用动作覆盖的最大动作范围,该当前动作点可以轨迹曲线上的动作点,例如,从虚拟物品模型与对象模型最开始接触至动作结束上的任一动作点,还可以为轨迹曲线附近的动作点,这里不进行限定。
可以理解的是,上述虚拟物品模型和对象模型主要指的是在游戏和三维动画里面用计算机存储和显示的一种对象模型,具体游戏对象使用虚拟物品动作的轨迹曲线可以应用在原始游戏动画的制作中,并非是针对游戏动画的实时渲染过程。对于原始游戏动画,游戏对象使用虚拟物品动作过程需要大量的动作数据,由于游戏对象所使用动作会受到实际游戏环境影响,使得动作数据并非是实际动作产生的轨迹曲线,对象模型上的当前动作点并非是轨迹曲线的结束动作点,这里的游戏环境可以包括但不局限于对象模型的硬度、使用的工具类型、动作对象的动作角度等,例如,不同硬度使得动作到达对象模型中的位置不同,使用不同的工具使得动作到达对象模型中的位置不同,动作对象不同的动作角度会导致动作接触位置的不同。为了提高动作的展示效果,这里可以结合对象模型上的当前动作点对轨迹曲线进行调整,以使得轨迹曲线能够符合动作所能到达对象模型中的位置,获取到更符合游戏环境的动作数据。
在本发明实施例中,考虑到动作结束点与当前动作点之间的位置受到游戏环境的影响,特定环境下,当前动作点与动作结束点应该为重合点。为了生成更准确的动作数据,这里可以将动作的轨迹曲线上的动作数据划分为三个轨迹区间,第一轨迹区间为开始动作点之前的数据,第二轨迹区间为开始动作点至结束动作点之间的数据,第三轨迹区间为结束动作点之后的数据,这里动作结束点为动作执行结束的结束时间。同样的,当前动作点的轨迹曲线同样也根据当前动作点的位置与结束动作点之间的位置关系划分为三个轨迹区间,以当前动作点作为游戏运行时游戏对象执行动作的结束动作点,第一轨迹区区间为开始动作点之前的数据,第二轨迹区间为开始动作点至当前动作点之间的数据,第三轨迹区间为当前动作点之后的数据。
103、根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线。
具体在对各个轨迹区间内数据进行调整的过程中,由于动作的轨迹曲线中开始动作点之前的动作数据并未受到游戏环境的影响,针对开始动作点之前的动作数据,无需进行任何调整即可保留作为当前动作点的轨迹曲线;针对开始动作点至结束动作点之间的动作数据,如果当前动作点刚好为结束动作点,则可保持开始动作点至结束动作点之间的动作数据作为当前动作点的轨迹曲线,如果当前动作点并非是结束动作点,则需对开始动作点至结束动作点之间的动作数据进行缩放和偏移调整,以保持整体形态的同时,以使得当前动作点刚好是结束动作点,作为当前动作点的轨迹曲线;针对结束动作点之后的动作数据,考虑到当前动作点受到游戏环境的影响,需要从当前动作点运用权重融合计算经过一段过度区间后最终完全与结束动作点之后的动作数据重合,作为当前动作点的轨迹曲线。
应说明的是,当前动作点的轨迹曲线仅对某些第一位置点进行调整,并非是所有第一位置都进行调整,在第一位置的调整过程中,为了保持动作时间的一致性,当前动作点的轨迹曲线与动作的轨迹曲线上相应区间内动作数据应一一对应。
在动作播放过程中,由于当前动作点的轨迹曲线为考虑到游戏环境后对动作的轨迹曲线进行调整后形成,针对每帧动作都使用当前动作点的轨迹曲线来生成动作数据,能够在不改变播放时长的情况下,与原始标注的动作相位同步,不影响上层游戏逻辑。
104、根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向。
在本发明实施例中,动作对象相当于游戏对象的主手,由于游戏对象在动作过程中使用虚拟物品的动作受到主手位置和方向的影响,具体可以根据当前动作点的轨迹曲线上第一位置与动作的轨迹曲线上第一位置,确定第一位置的偏移,该第一位置的偏移相当于游戏对象主手位置和方向影响动作的偏差值,进一步根据动作对象的初始位置和第一位置的偏移,计算动作对象的修正位置,根据动作对象的初始位置和动作对象的位置,计算动作对象的修正朝向。
105、采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
游戏对象的动作过程中从主手到手臂再到肩部等都是联动的,所以在调整时都需要连带考虑,而反向动力学算法是一种通过先确定子骨骼的位置,然后反求推导出其所在骨骼链上n级父骨骼位置,从而确定整条骨骼链的方法,为了使得动作数据与游戏环境相匹配,这里综合考虑虚拟物品模型、对象模型、动作对象的位置和朝向等参数,采用反向动力学算法对动作对象的修正位置和修正朝向进行姿态调整,以使得调整后当前动作点的轨迹曲线所形成游戏对象使用虚拟物品的动作数据能够准确匹配到游戏环境。
本申请实施例提供的虚拟物品的动画生成方法,与目前现有方式中由美术人员预先制作大量动作数据的方式相比,本申请通过获取游戏运行时游戏对象使用动作的轨迹曲线,该轨迹曲线标注有对象模型上的开始动作点和结束动作点,无需美术人员预先制作大量的动作数据,实现了一次动画制作可多处通用的效果,进一步根据动作的轨迹曲线获取游戏运行时对象模型上的当前动作点,利用当前动作点与结束动作点之间的位置关系,将动作的轨迹曲线拆分为多个轨迹区间,根据每个轨迹区间内数据的缩放系数和旋转系数对轨迹区间内的数据进行调整,计算当前动作点的轨迹曲线,这里当前动作点的轨迹曲线在每个轨迹区间的播放时长与标准轨迹曲线的播放时长保持一致,能够在不改变动作数据播放时长的同时,与标准动作相位同步,不影响上层的游戏逻辑,进一步根据当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向,采用反向动力学算法度动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据,以使得动作数据可以完美匹配当前的游戏运环境,避免游戏过程中出现动作穿透等不良效果,提高游戏中动作数据的预期展示效果。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,本实施例提供了另一种虚拟物品的动画生成方法,如图2所示,该方法包括:
201、通过对所述游戏对象使用虚拟物品的动作进行分解,得到所述动作包含的基础动作。
在本发明实施例中,游戏对象在动作过程中使用的动作可能为单一基础动作,还可能为多个基础动作的混合,由于混合的基础动作受到每个基础动作的控制,需要考虑到每个基础动作的动作占比情况,对于动作占比较高的基础动作,后续在获取动作的轨迹曲线中动作数据占比也较高。
202、根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线。
在本发明实施例中,游戏对象使用虚拟物品动作的轨迹曲线相当于第一位置的运行轨迹,由于每个基础动作对应有一个轨迹曲线,动作所包含基础动作的数量不同,动作对应的轨迹曲线不同,对于动作包含一个基础动作的情况,可以直接将基础动作对应的轨迹曲线作为动作的轨迹曲线,对于动作包含多个基础动作的情况,需要考虑到混合动作的效果,进一步将多个基础动作对应的轨迹曲线混合形成动作的轨迹曲线。具体地,若动作包含一个基础动作,则说明动作效果为单一基础动作产生的效果,可以根据基础动作的标准动作信息,获取基础动作的轨迹曲线,作为游戏对象使用虚拟物品动作的轨迹曲线;若动作包含多个基础动作,则说明动作效果为混合基础动作产生的效果,可以根据基础动作的标准动作信息,获取多个基础动作的轨迹曲线,通过对多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线。
具体在根据基础动作的标准动作信息,获取基础动作的轨迹曲线的过程中,可以利用虚拟物品模型上预先标注的第一位置和第二位置,遍历基础动作的标准动作信息,提取基础动作的开始时间和结束时间;以第一位置作为动作接触点,该第二位置作为动作修正点,沿着基础动作的开始时间至结束时间绘制动作位置点,获取基础动作的轨迹曲线。
应说明的是,每个基础动作的轨迹曲线可以预先在动作动画的编辑阶段实现,游戏对象所使用的基础动作由游戏开发者指定,可以为单一基础动作,也可以为多个基础动作混合,这里不进行限定,具体可以根据游戏对象在游戏场景中的实际需求确定。
具体在对多个基础动作的轨迹曲线进行混合的过程中,可以根据多个基础动作的轨迹曲线的权重比例,遍历多个轨迹曲线上相同时刻的数据点,分别提取相同时刻的数据点中表示位置的向量数据和表示朝向的四元数据;利用球面线性差值算法按照权重比例分别对表示位置的向量数据和表示朝向的四元数据进行混合计算,将混合后的位置数据和朝向数据作为游戏对象使用虚拟物品动作的轨迹曲线。
例如,动作由左向动作与正向动作以7:3的权重比例混合而成,那么动作的轨迹曲线S1是由左向动作的轨迹曲线s1与正向动作的轨迹曲线sm以7:3的权重比例混合而成。具体混合过程可以如下步骤:首先遍历 s1曲线上的所有数据点,针对每一个数据点d0找到该时刻曲线sm上相对应的数据点d1,将数据点d0中表示位置的向量数据与数据点d1中表示位置的向量数据使用球面线性差值算法按照7:3的权重比例计算,其插值结果就是该数据点混合后的位置数据,然后将数据点d0中表示朝向的四元数与数据点d1中表示朝向的四元数使用球面线性差值算法按照7:3的权重比例计算,其插值结果就是该数据点混合后的朝向数据。根据混合后的位置数据和朝向数据,最终得到该数据点混合后的结果。
203、根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间。
在本发明实施例中,具体可以利用射线碰撞探测系统对动作的轨迹曲线进行射线探测,根据探测得到的碰撞点,获取游戏运行时对象模型上的当前动作点;或通过预先在所述动作的轨迹曲线上指定位置点,获取游戏运行时对象模型上的当前动作点,这里不进行限定。
对于射线碰撞探测系统,动作区间可以近似的认为是某个yoz平面附近的一段弧曲线,针对这段弧曲线的射线碰撞检测实际上是以线段微分不断逼近曲线的过程,该检测过程兼顾了精度与效率,可以通过最大线段数、最小线段长度、探测点精度、以及不同分段模式(平均分段、高速多段)等多种方式控制精度与效率的平衡,具体射线碰撞探测过程可以如图3所示,圆弧线为动作的轨迹曲线,以圆弧线两个端点形成线段a为第一批次探测射线,若检测到碰撞点,则进一步探测,以线段a两个端点形成线段b为第二批次探测射线,进行了两次射线探测,同理,以线段b第二次探测的两个端点形成线段c为第三批次探测射线,同样进行了两次射线探测,以求解更精确的碰撞点。
204、根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线。
可以理解的是,由于动作的轨迹曲线并未结合实际游戏环境,而当前动作点能够提供游戏对象的游戏环境,通过基于当前动作点对动作的轨迹曲线进行调整,以针对当前动作点形成结合游戏环境的轨迹曲线。具体地,当前动作点的轨迹曲线生成过程可以如图4所示,包括如下步骤:
2041、在保持每个轨迹区间内曲线形态的同时,根据所述每个轨迹区间的区间长度和方向向量,计算所述每个轨迹区间内数据的缩放系数和旋转系数。
2042、根据所述每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内数据调整,得到调整后的多个轨迹区间。
2043、将所述调整后的多个轨迹区间进行组合,形成当前动作点的轨迹曲线。
具体应用场景中,针对动作的轨迹曲线为S0,根据开始动作点和结束动作点将曲线S0划分为三个轨迹区间,第一个轨迹区间S00从曲线S0开始到开始动作点,第二个轨迹区间S02从开始动作点到结束动作点,第三个轨迹区间S03从结束动作点到曲线S0结束,针对当前动作点的轨迹曲线为S1,可以根据开始动作点和当前动作点将曲线S1划分为三个轨迹区间,第一个轨迹区间S10从曲线S1开始到开始动作点,第二个轨迹区间S12从开始动作点到当前动作点,第三个轨迹区间S13从当前动作点到曲线S1结束。
具体在对各个轨迹区间内数据进行调整的过程中,对于当前动作点的轨迹曲线中第一个轨迹区间S10内的数据与轨迹区间S00相同,进行复制即可,第二个轨迹区间S11内的数据进行缩放和偏移调整,以使其保持区间段内曲线整体形态的同时,区间的结束动作点刚好是当前动作点,第三个轨迹区间S12内的数据是从当前动作点运用权重融合计算经过一段过渡区间后最终完全与轨迹区间S02重合。
具体地,针对轨迹区间S11内数据的计算过程包括如下步骤:首先根据轨迹区间S0的开始动作点和结束动作点计算方向向量v0和区间长度v0Len;根据将要生成轨迹区间S11的开始动作点和结束动作点(点前动作点),计算方向向量v1和区间长度v1Len;根据区间长度计算缩放系数scale=v1Len/v1Len;根据方向向量计算整体旋转系数AllRot;针对轨迹区间S01内的每一个数据点计算区间时间进度百分比timeRaio=(当前时间-开始动作时间)/(结束动作时间-开始动作时间);根据区间时间进度百分比timeRaio对从0旋转到整体旋转系数AllRot进行Slerp插值计算得到当前旋转系数qRo;计算原区间向量oriV=轨迹区间S01的当前数据点-开始动作点;计算当前区间向量curV=当前旋转系数qRo*(原区间向量oriV*缩放系数scale);最终得到轨迹区间S11的数据点=开始动作点+当前区间向量curV,遍历计算轨迹区间S01上的每一个数据点,形成轨迹区间S11。
具体地,针对轨迹区间S12内数据的计算过程包括如下步骤:首先定义一个过渡时间段tansTime,若在过渡时间段内,则计算过渡权重t=(当前时间-结束动作时间)/过渡时间段tansTime;根据过渡权重t对从整体旋转系数到0旋转进行Slerp插值计算到当前旋转系数qTransRot;根据过渡权重t对从缩放系数scale到无缩放进行线性插值计算得到当前缩放系数curTransScale;计算原区间向量计算原区间向量oriV=轨迹区间S02的当前数据点-开始动作点;计算当前区间向量curV=当前旋转系数qTransRot*(原区间向量oriV*缩放系数curTransScale);最终得到轨迹区间S12的数据点=开始动作点+当前区间向量curV,遍历计算轨迹区间S02上的每一个数据点,形成轨迹区间S12;若在过渡时间段以外,无需计算,直接复制轨迹区间S02上的数据点即可。
205、根据所述当前动作点的轨迹曲线上第一位置与所述动作的轨迹曲线上第一位置,确定第一位置的偏移。
206、根据所述动作对象的初始位置和所述第一位置的偏移,计算动作对象的修正位置。
207、根据所述动作对象的初始位置和所述动作对象的位置,计算动作对象的修正朝向。
具体应用场景中,以主手位置作为动作对象为例,由于从主手到虚拟物品,再到虚拟物品的第一位置都是刚性连接,所以第一位置的偏移调整就是主手的偏移调整,在计算主手位置的过程中,主手修正位置=主手当前位置+偏移修正=主手当前位置+(NP-OP),这里NP为当前时刻第一位置在实时生成当前动作点的轨迹曲线上数据点的位置,OP为当前时刻第一位置在动作的轨迹曲线上数据点的位置;具体在计算主手朝向的过程中,方向向量V0=OP-主手当前位置;方向向量V1=NP-主手当前位置;计算由V0到V1所需要的旋转q;主手修正朝向=旋转q*主手当前朝向。
208、采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
在本发明实例中,在计算出动作对象的修正位置和修正朝向后,由于虚拟物品是主手骨骼的子孙节点,主手骨骼的姿态调整会间接影响到虚拟物品的位置和朝向,进一步采用反向动力学算法调整主手臂的骨骼链(手、肘、肩)姿态,以使得在动作的播放过程中,每帧动作数据经过如上的姿态调整,虚拟物品已达到预期位置和朝向。此时还可以根据辅助手的目标位置,对辅助手臂再一次采用反向动力学调整其骨骼链(手、肘、肩)姿态,从而获取到当前帧动作数据的最终结果,以使得动作数据更接近于真实游戏场景,提高动作数据的展示效果。
进一步的,作为图1和图2方法的具体实现,本申请实施例提供了一种虚拟物品的动画生成装置,如图5所示,该装置包括:第一获取单元31、第二获取单元32、第一计算单元33、生成单元34。
第一获取单元31,可以用于获取游戏对象使用虚拟物品动作的轨迹曲线,所述轨迹曲线标注有对象模型上的开始动作点和结束动作点;
第二获取单元32,可以用于根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间;
第一计算单元33,可以用于根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线;
第二计算单元34,可以用于根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向;
调整单元35,可以用于采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
本发明实施例提供的虚拟物品的动画生成装置,与目前现有方式中由美术人员预先制作大量动作数据的方式相比,本申请通过获取游戏运行时游戏对象使用动作的轨迹曲线,该轨迹曲线标注有对象模型上的开始动作点和结束动作点,无需美术人员预先制作大量的动作数据,实现了一次动画制作可多处通用的效果,进一步根据动作的轨迹曲线获取游戏运行时对象模型上的当前动作点,利用当前动作点与结束动作点之间的位置关系,将动作的轨迹曲线拆分为多个轨迹区间,根据每个轨迹区间内数据的缩放系数和旋转系数对轨迹区间内的数据进行调整,计算当前动作点的轨迹曲线,这里当前动作点的轨迹曲线在每个轨迹区间的播放时长与标准轨迹曲线的播放时长保持一致,能够在不改变动作数据播放时长的同时,与标准动作相位同步,不影响上层的游戏逻辑,进一步根据当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向,采用反向动力学算法度动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据,以使得动作数据可以完美匹配当前的游戏运环境,避免游戏过程中出现动作穿透等不良效果,提高游戏中动作数据的预期展示效果。
在具体的应用场景中,如图6所示,所述第一获取单元31包括:
分解模块311,可以用于通过对所述游戏对象使用虚拟物品的动作进行分解,得到所述动作包含的基础动作;
获取模块312,可以用于根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线。
在具体的应用场景中,若所述动作包含一个基础动作,则所述获取模块312,具体可以用于根据所述基础动作的标准动作信息,获取所述基础动作的轨迹曲线,作为游戏对象使用虚拟物品动作的轨迹曲线;
若所述动作包含多个基础动作,则所述获取模块312,具体可以用于根据所述基础动作的标准动作信息,获取多个基础动作的轨迹曲线,通过对所述多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线。
在具体的应用场景中,如图6所示,若所述动作包含一个基础动作,则所述获取模块312包括:
标注子模块3121,可以用于利用虚拟物品模型上预先标注的第一位置和第二位置,遍历所述基础动作的标准动作信息,提取所述基础动作的开始时间和结束时间;
获取子模块3122,可以用于以所述第一位置作为动作接触点,所述第二位置作为动作修正点,沿着所述基础动作的开始时间至结束时间绘制动作位置点,获取所述基础动作的轨迹曲线。
在具体的应用场景中,如图6所示,若所述动作包含多个基础动作,则所述获取模块312包括:
提取子模块3123,可以用于根据所述多个基础动作的轨迹曲线的权重比例,遍历多个轨迹曲线上相同时刻的数据点,分别提取所述相同时刻的数据点中表示位置的向量数据和表示朝向的四元数据;
混合子模块3124,可以用于利用球面线性差值算法按照所述权重比例分别对所述表示位置的向量数据和表示朝向的四元数据进行混合计算,将混合后的位置数据和朝向数据作为游戏对象使用虚拟物品动作的轨迹曲线。
在具体的应用场景中,所述第二获取单元32,具体可以用于利用射线碰撞探测系统对所述动作的轨迹曲线进行射线探测,根据探测得到的碰撞点,获取游戏运行时对象模型上的当前动作点;或
通过预先在所述动作的轨迹曲线上指定位置点,获取游戏运行时对象模型上的当前动作点。
在具体的应用场景中,如图6所示,所述第一计算单元33包括:
第一计算模块331,可以用于在保持每个轨迹区间内曲线形态的同时,根据所述每个轨迹区间的区间长度和方向向量,计算所述每个轨迹区间内数据的缩放系数和旋转系数;
调整模块332,可以用于根据所述每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内数据调整,得到调整后的多个轨迹区间;
组合模块333,可以用于将所述调整后的多个轨迹区间进行组合,形成当前动作点的轨迹曲线。
在具体的应用场景中,如图6所示,所述第二计算单元34包括:
确定模块341,可以用于根据所述当前动作点的轨迹曲线上第一位置与所述动作的轨迹曲线上第一位置,确定第一位置的偏移;
第二计算模块342,可以用于根据所述动作对象的初始位置和所述第一位置的偏移,计算动作对象的修正位置;
第三计算模块343,可以用于根据所述动作对象的初始位置和所述动作对象的位置,计算动作对象的修正朝向。
需要说明的是,本实施例提供的一种虚拟物品的动画生成装置所涉及各功能单元的其它相应描述,可以参考图1-图2中的对应描述,在此不再赘述。
基于上述如图1-图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1-图2所示的虚拟物品的动画生成方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1-图2所示的方法,以及图5-图6所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种虚拟物品的动画生成的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1-图2所示的虚拟物品的动画生成方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
在示例性实施例中,参见图7,上述实体设备包括总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的画作挂载方法。
本领域技术人员可以理解,本实施例提供的一种虚拟物品的动画生成的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述店铺搜索信息处理的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请中利用当前动作点与结束动作点之间的位置关系,计算当前动作点的轨迹曲线,将当前动作点的轨迹曲线生成动作数据,这里当前动作点的轨迹锋曲线可以完美匹配游戏运行时的动作环境,避免游戏过程中出现动作穿透等不良效果,提高游戏中动作数据的预期展示效果。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (11)
1.一种虚拟物品的动画生成方法,其特征在于,包括:
获取游戏对象使用虚拟物品动作的轨迹曲线,所述轨迹曲线标注有对象模型上的开始动作点和结束动作点;
根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间;
根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线;
根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向;
采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
2.根据权利要求1所述的虚拟物品的动画生成方法,其特征在于,所述获取游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
通过对所述游戏对象使用虚拟物品的动作进行分解,得到所述动作包含的基础动作;
根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线。
3.根据权利要求2所述的虚拟物品的动画生成方法,其特征在于,若所述动作包含一个基础动作,则所述根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
根据所述基础动作的标准动作信息,获取所述基础动作的轨迹曲线,作为游戏对象使用虚拟物品动作的轨迹曲线;
若所述动作包含多个基础动作,则所述根据所述基础动作的标准动作信息,获取游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
根据所述基础动作的标准动作信息,获取多个基础动作的轨迹曲线,通过对所述多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线。
4.根据权利要求3所述的虚拟物品的动画生成方法,其特征在于,所述根据所述基础动作的标准动作信息,获取所述基础动作的轨迹曲线,具体包括:
利用虚拟物品模型上预先标注的第一位置和第二位置,遍历所述基础动作的标准动作信息,提取所述基础动作的开始时间和结束时间;
以所述第一位置作为动作接触点,所述第二位置作为动作修正点,沿着所述基础动作的开始时间至结束时间绘制动作位置点,获取所述基础动作的轨迹曲线。
5.根据权利要求3所述的虚拟物品的动画生成方法,其特征在于,所述通过对所述多个基础动作的轨迹曲线进行混合,得到游戏对象使用虚拟物品动作的轨迹曲线,具体包括:
根据所述多个基础动作的轨迹曲线的权重比例,遍历多个轨迹曲线上相同时刻的数据点,分别提取所述相同时刻的数据点中表示位置的向量数据和表示朝向的四元数据;
利用球面线性差值算法按照所述权重比例分别对所述表示位置的向量数据和表示朝向的四元数据进行混合计算,将混合后的位置数据和朝向数据作为游戏对象使用虚拟物品动作的轨迹曲线。
6.根据权利要求1所述的虚拟物品的动画生成方法,其特征在于,所述根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,具体包括:
利用射线碰撞探测系统对所述动作的轨迹曲线进行射线探测,根据探测得到的碰撞点,获取游戏运行时对象模型上的当前动作点;或
通过预先在所述动作的轨迹曲线上指定位置点,获取游戏运行时对象模型上的当前动作点。
7.根据权利要求1所述的虚拟物品的动画生成方法,其特征在于,所述根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线,具体包括:
在保持每个轨迹区间内曲线形态的同时,根据所述每个轨迹区间的区间长度和方向向量,计算所述每个轨迹区间内数据的缩放系数和旋转系数;
根据所述每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内数据调整,得到调整后的多个轨迹区间;
将所述调整后的多个轨迹区间进行组合,形成当前动作点的轨迹曲线。
8.根据权利要求1所述的虚拟物品的动画生成方法,其特征在于,所述根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向,具体包括:
根据所述当前动作点的轨迹曲线上第一位置与所述动作的轨迹曲线上第一位置,确定第一位置的偏移;
根据所述动作对象的初始位置和所述第一位置的偏移,计算动作对象的修正位置;
根据所述动作对象的初始位置和所述动作对象的位置,计算动作对象的修正朝向。
9.一种虚拟物品的动画生成装置,其特征在于,包括:
第一获取单元,用于获取游戏对象使用虚拟物品动作的轨迹曲线,所述轨迹曲线标注有对象模型上的开始动作点和结束动作点;
第二获取单元,用于根据所述动作的轨迹曲线,获取游戏运行时对象模型上的当前动作点,利用所述当前动作点与所述结束动作点之间的位置关系,将所述动作的轨迹曲线拆分多个轨迹区间;
第一计算单元,用于根据每个轨迹区间内数据的缩放系数和旋转系数对所述轨迹区间内的数据进行调整,计算所述当前动作点的轨迹曲线;
第二计算单元,用于根据所述当前动作点的轨迹曲线上第一位置,计算动作对象的修正位置和修正朝向;
调整单元,采用反向动力学算法对所述动作对象的修正位置和修正朝向进行姿态调整,以同步调整当前动作点的轨迹曲线,得到游戏对象使用虚拟物品的动作数据。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述虚拟物品的动画生成方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述虚拟物品的动画生成方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011431569.5A CN112200893B (zh) | 2020-12-10 | 2020-12-10 | 虚拟物品的动画生成方法、装置、设备及存储介质 |
PCT/CN2021/121353 WO2022121463A1 (zh) | 2020-12-10 | 2021-09-28 | 游戏中虚拟物品使用动作的动画生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011431569.5A CN112200893B (zh) | 2020-12-10 | 2020-12-10 | 虚拟物品的动画生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112200893A true CN112200893A (zh) | 2021-01-08 |
CN112200893B CN112200893B (zh) | 2021-03-02 |
Family
ID=74033202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011431569.5A Active CN112200893B (zh) | 2020-12-10 | 2020-12-10 | 虚拟物品的动画生成方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112200893B (zh) |
WO (1) | WO2022121463A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113546423A (zh) * | 2021-07-22 | 2021-10-26 | 网易(杭州)网络有限公司 | 一种动作生成方法、装置、计算机设备和存储介质 |
WO2022121463A1 (zh) * | 2020-12-10 | 2022-06-16 | 成都完美时空网络技术有限公司 | 游戏中虚拟物品使用动作的动画生成方法、装置及设备 |
WO2022260589A1 (zh) * | 2021-06-09 | 2022-12-15 | 脸萌有限公司 | 触碰动画显示方法、装置、设备及介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114782595B (zh) * | 2022-06-21 | 2022-09-13 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的最短距离轨迹确定方法、装置及介质 |
CN115797517B (zh) * | 2023-01-16 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 虚拟模型的数据处理方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030022715A1 (en) * | 2001-07-30 | 2003-01-30 | Namco Ltd. | Image generation method, program, and information storage medium |
CN101465957A (zh) * | 2008-12-30 | 2009-06-24 | 应旭峰 | 一种虚拟三维场景中实现遥控互动的系统 |
CN103426196A (zh) * | 2013-08-30 | 2013-12-04 | 电子科技大学 | 一种流体环境下的关节动画建模技术 |
CN110531866A (zh) * | 2019-10-29 | 2019-12-03 | 深圳市瑞立视多媒体科技有限公司 | 基于改进的反向运动学进行姿态解算的方法及相关设备 |
CN110935172A (zh) * | 2019-12-30 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象处理方法、装置、系统及其存储介质 |
CN111701241A (zh) * | 2020-05-09 | 2020-09-25 | 成都完美时空网络技术有限公司 | 形态切换方法及装置、存储介质、计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200893B (zh) * | 2020-12-10 | 2021-03-02 | 成都完美时空网络技术有限公司 | 虚拟物品的动画生成方法、装置、设备及存储介质 |
-
2020
- 2020-12-10 CN CN202011431569.5A patent/CN112200893B/zh active Active
-
2021
- 2021-09-28 WO PCT/CN2021/121353 patent/WO2022121463A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030022715A1 (en) * | 2001-07-30 | 2003-01-30 | Namco Ltd. | Image generation method, program, and information storage medium |
CN101465957A (zh) * | 2008-12-30 | 2009-06-24 | 应旭峰 | 一种虚拟三维场景中实现遥控互动的系统 |
CN103426196A (zh) * | 2013-08-30 | 2013-12-04 | 电子科技大学 | 一种流体环境下的关节动画建模技术 |
CN110531866A (zh) * | 2019-10-29 | 2019-12-03 | 深圳市瑞立视多媒体科技有限公司 | 基于改进的反向运动学进行姿态解算的方法及相关设备 |
CN110935172A (zh) * | 2019-12-30 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象处理方法、装置、系统及其存储介质 |
CN111701241A (zh) * | 2020-05-09 | 2020-09-25 | 成都完美时空网络技术有限公司 | 形态切换方法及装置、存储介质、计算机设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022121463A1 (zh) * | 2020-12-10 | 2022-06-16 | 成都完美时空网络技术有限公司 | 游戏中虚拟物品使用动作的动画生成方法、装置及设备 |
WO2022260589A1 (zh) * | 2021-06-09 | 2022-12-15 | 脸萌有限公司 | 触碰动画显示方法、装置、设备及介质 |
CN113546423A (zh) * | 2021-07-22 | 2021-10-26 | 网易(杭州)网络有限公司 | 一种动作生成方法、装置、计算机设备和存储介质 |
CN113546423B (zh) * | 2021-07-22 | 2024-04-30 | 网易(杭州)网络有限公司 | 一种动作生成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022121463A1 (zh) | 2022-06-16 |
CN112200893B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112200893B (zh) | 虚拟物品的动画生成方法、装置、设备及存储介质 | |
US9039528B2 (en) | Visual target tracking | |
US9355451B2 (en) | Information processing device, information processing method, and program for recognizing attitude of a plane | |
US9842405B2 (en) | Visual target tracking | |
US9144744B2 (en) | Locating and orienting device in space | |
US8577085B2 (en) | Visual target tracking | |
CN110827376A (zh) | 增强现实多平面模型动画交互方法、装置、设备及存储介质 | |
KR20160096473A (ko) | 동작 평가 시스템 및 방법 | |
US8565477B2 (en) | Visual target tracking | |
CN110585713B (zh) | 游戏场景的阴影实现方法、装置、电子设备及可读介质 | |
CN107213636A (zh) | 镜头移动方法、装置、存储介质和处理器 | |
CN112241993A (zh) | 游戏图像处理方法、装置及电子设备 | |
US9652879B2 (en) | Animation of a virtual object | |
CN116843809A (zh) | 针对虚拟角色的处理方法和装置 | |
WO2023035725A1 (zh) | 虚拟道具展示方法及装置 | |
CN106774941B (zh) | 触屏终端3d虚拟角色与场景摄像机运动冲突的解决方法 | |
CN114219888A (zh) | 三维角色动态剪影效果生成方法及装置、存储介质 | |
CN111475026B (zh) | 一种基于移动终端应用增强虚拟现实技术的空间定位方法 | |
US10896510B2 (en) | Image processing apparatus, image processing method, and program | |
CN107564058B (zh) | 对象位置显示方法及装置 | |
CN112435316A (zh) | 一种游戏中的防穿模方法、装置、电子设备及存储介质 | |
CN108499109A (zh) | 一种基于ue引擎实现物品可实时单侧缩放的方法 | |
JP7353418B1 (ja) | 画像を生成するためのプログラム、方法、画像生成装置、及びゲームシステム | |
CN106599893B (zh) | 基于增强现实的物体偏离识别图后的处理方法及装置 | |
Safrodin et al. | The 3D virtual drawing mobile application based on augmented reality using AR-Framework |
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 |