当前位置: 首页 > 专利查询>湖南大学专利>正文

一种实时动作重定向的方法技术

技术编号:37510047 阅读:23 留言:0更新日期:2023-05-12 15:28
本发明专利技术涉及计算机三维动画技术领域,且公开了一种实时动作重定向的方法,包括以下阶段:1、初始化阶段,从骨架树的根节点开始遍历所有节点,剔除末端节点,将目的关节旋转对齐到源关节,计算目的骨架与源骨架的身高比例,顺序遍历所有关节,计算目的关节旋转到源关节局部坐标系的旋转值和旋转回目的关节局部坐标系的旋转值;2、实时计算阶段,顺序遍历所有关节,重定向源关节的旋转值和偏移值到目的关节上。使用该实时动作重定向的方法,有利于避免重复制作动作的工作,降低维护成本,可以实现实时高效地动作重定向功能。现实时高效地动作重定向功能。

【技术实现步骤摘要】
一种实时动作重定向的方法


[0001]本专利技术涉及计算机三维动画
,具体为一种实时动作重定向的方法。

技术介绍

[0002]现如今,元宇宙逐渐成为行业趋势,其中数字人作为核心载体,非常火爆。实际应用中经常出现在一个角色上制作好一套动作,需要将同样的动作应用到不同角色上的情形。当前有两种动作制作方式,一种是由经验丰富的动画师在三维制作软件中手动逐帧制作出动作,另一种是采用动作捕捉设备捕捉演员表演的动作,然后再逐帧修复动作中不合理的数据。两种方式的人力成本都非常高,而制作好的一套动作应用到一个新的角色上,基本需要耗费相同的人力成本,当角色数量不断增多,制作动作的成本急剧上升。所以,程序自动进行动作重定向非常必要。
[0003]目前在动作重定向方面,有离线重定向方法,常见于三维制作软件中,由动画师指定源角色和目的角色的骨骼映射,将源角色的动作传递到目的角色上,再修改重定向后动作中的问题,然后再导出动作。这种方式为每个角色制作了同样的动作资源,只能由专业的动画师制作,人力成本也相对很高,同时多套动作资源需要比较大的维护更新代价。也有一些在线实时重定向方法,但是它们重定向的实时运行效率一般比较低,对角色的骨架也有一些比较严苛的要求,比如要求源角色的骨架和目的角色的都是同一种初始姿态,或者要求骨架中的骨骼局部坐标系都是规范坐标系,无法满足现实中多种多样角色的重定向要求。故而提出了一种实时动作重定向的方法来解决上述提出的问题。

技术实现思路

[0004](一)解决的技术问题
[0005]针对现有技术的不足,本专利技术提供了一种实时动作重定向的方法,避免了重复制作动作的工作,降低维护成本,解决了目前其他动作重定向方案中,运行效率低下、对角色骨架限制较多的问题。
[0006](二)技术方案
[0007]为实现上述动作能从源角色骨架实时地迁移到目的角色骨架上等功能,本专利技术提供如下技术方案:
[0008]初始化阶段:
[0009]步骤S1:采用深度遍历方法从目的骨架树的根节点开始遍历,判断是否有未遍历的关节,如果是,则执行步骤S2,如果否,则执行步骤S4;
[0010]步骤S2:判断当前关节是否是非末端关节,如果是,则执行步骤S3,如果否,则执行步骤S1;
[0011]步骤S3:在全局坐标系中计算当前目的关节到源关节的旋转值,并旋转对齐到源关节,当前目的关节局部坐标系旋转四元数记为q,当前目的关节由局部坐标系变换到全局坐标系的旋转四元数记为R
G
,当前目的关节由全局坐标系变换到局部坐标系的旋转四元数
记为计算从当前目的关节到源关节的旋转四元数记为R
align
,当前目的关节对齐后的局部坐标系旋转四元数记为q

,则有如下关系:
[0012][0013]步骤S4:计算目的骨架与源骨架的身高比例,记为s;
[0014]步骤S5:顺序遍历,判断是否有未遍历的关节,如果是,则执行步骤S6,如果否,则结束初始化;
[0015]步骤S6:计算当前目的关节旋转到源关节局部坐标系的旋转值,记为PreRot,旋转回目的关节局部坐标系的旋转值记为PostRot并保存;
[0016]实时计算阶段:
[0017]步骤S7:顺序遍历,判断是否有未遍历的关节,如果是,则执行步骤S8,如果否,则结束实时计算;
[0018]步骤S8:查询当前目的关节的PreRot和PostRot旋转值,重定向当前源关节的旋转值到目的关节上,源关节的旋转值记为q
src
,重定向得到的当前目的关节旋转值为q
dst
,则有如下关系:
[0019]q
dst
=PreRot*q
src
*PostRot
[0020]步骤S9:乘上身高比例,重定向当前源关节的偏移值到目的关节上,源关节的偏移值记为Offset
src
,重定向得到的当前关节偏移值记为Offset
dst
,则有如下关系:
[0021]Offset
dst
=Offset
src
*s
[0022](三)有益效果
[0023]与现有技术相比,本专利技术提供了一种实时动作重定向的方法,具备以下有益效果:
[0024]1、提供了自动迁移源角色动作到目的角色上的方法,避免了动画师为目的角色重复制作相同动作的工作,节省了很多人力成本;
[0025]2、可以在程序运行时实时地将动作重定向到目的角色上,不需要为目的角色预处理生成重复的动作资源,节省了很多磁盘空间,也降低了资源更新维护代价;
[0026]3、该方法的运行效率在常数时间内,运行效率极高,可以满足很多实时渲染应用要求。
附图说明
[0027]图1为本专利技术提出的一种实时动作重定向的方法的初始化阶段流程图;
[0028]图2为本专利技术提出的一种实时动作重定向的方法的实时计算阶段流程图;
具体实施方式
[0029]下面将结合本专利技术的实施例,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]实时例
[0031]一种实时动作重定向的方法,该方法在初始化阶段从骨架树的根节点开始遍历所
有节点,剔除末端节点,将目的关节旋转对齐到源关节;然后计算目的骨架与源骨架的身高比例;然后顺序遍历所有关节,计算目的关节旋转到源关节局部坐标系的旋转值和旋转回目的关节局部坐标系的旋转值;然后在实时计算阶段,顺序遍历所有关节,重定向源关节的旋转值和偏移值到目的关节上,以实现实时高效地动作重定向功能。
[0032]本方法包括初始化阶段和实时计算阶段两部分。图1为本实施例方法中初始化阶段的具体流程:
[0033]步骤S1:采用深度遍历方法从目的骨架树的根节点开始遍历,判断是否有未遍历的关节,如果是,则执行步骤S2,如果否,则执行步骤S4;
[0034]步骤S2:判断当前关节是否是非末端关节,如果是,则执行步骤S3,如果否,则执行步骤S1;
[0035]步骤S3:在全局坐标系中计算当前目的关节到源关节的旋转值,并旋转对齐到源关节,当前目的关节局部坐标系旋转四元数记为q,当前目的关节由局部坐标系变换到全局坐标系的旋转四元数记为R
G
,当前目的关节由全局坐标系变换到局部坐标系的旋转四元数记为计算从当前目的关节到源关节的旋转四元数记为R
align
,当前目的关节对齐后的局部坐标系旋转四元数记为q

,则有如下关系:
[0036][0037]步骤S4:计算目的骨架与源骨架的身高比例,记为s;
[0038]步骤S5:顺序遍历,判断是否有未本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时动作重定向的方法,其特征在于,包括以下步骤:初始化阶段:步骤S1:采用深度遍历方法从目的骨架树的根节点开始遍历,判断是否有未遍历的关节,如果是,则执行步骤S2,如果否,则执行步骤S4;步骤S2:判断当前关节是否是非末端关节,如果是,则执行步骤S3,如果否,则执行步骤S1;步骤S3:在全局坐标系中计算当前目的关节到源关节的旋转值,并旋转对齐到源关节,当前目的关节局部坐标系旋转四元数记为q,当前目的关节由局部坐标系变换到全局坐标系的旋转四元数记为R
G
,当前目的关节由全局坐标系变换到局部坐标系的旋转四元数记为计算从当前目的关节到源关节的旋转四元数记为R
align
,当前目的关节对齐后的局部坐标系旋转四元数记为q

,则有如下关系:步骤S4:计算目的骨架与源骨架的身高比例,记为s;步骤S5:顺序遍历,判断是否有未遍历的关节,如果是,则执行步骤S6,如果否,则结束初始化;步骤S6:计算当前目的关节旋转到源关节局部坐标系的旋转值,记为PreRot,旋转回目的关节局部坐标系的旋转值记为PostRot并保存;实时计算阶段:步骤S7:顺序遍历,判断是否有未遍历的关节,如果是,则执行步骤S8,如果否,则结束实时计算;步骤S8:查询当前目的关节的PreRot和PostRot旋转值,重定向当前源关节的旋转值到目的关节上,...

【专利技术属性】
技术研发人员:贺志武潘华伟
申请(专利权)人:湖南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1