CN114602177A - 虚拟角色的动作控制方法、装置、设备和存储介质 - Google Patents
虚拟角色的动作控制方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114602177A CN114602177A CN202210313961.2A CN202210313961A CN114602177A CN 114602177 A CN114602177 A CN 114602177A CN 202210313961 A CN202210313961 A CN 202210313961A CN 114602177 A CN114602177 A CN 114602177A
- Authority
- CN
- China
- Prior art keywords
- virtual character
- joint
- data
- action
- joint points
- 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.)
- Pending
Links
- 230000009471 action Effects 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000033001 locomotion Effects 0.000 claims abstract description 201
- 210000000988 bone and bone Anatomy 0.000 claims description 108
- 239000011159 matrix material Substances 0.000 claims description 41
- 230000001276 controlling effect Effects 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 210000004197 pelvis Anatomy 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 210000000689 upper leg Anatomy 0.000 description 4
- 210000003049 pelvic bone Anatomy 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 238000004080 punching Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 210000001624 hip Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
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/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种虚拟角色的动作控制方法、装置、设备和存储介质,包括:获取原始动作数据,原始动作数据为原始模型执行目标动作时关节点的位置数据;根据原始动作数据确定虚拟角色的关节点的初始位置数据;采用初始位置数据和原始动作数据构建目标函数;生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束,以及以虚拟角色上相邻关节点的距离不变为长度约束,求解目标函数在长度约束和碰撞约束下的最小距离得到虚拟角色的关节点的目标位置数据;控制虚拟角色的关节点移动到目标位置数据所指示的位置,由于以相邻关节点距离不变和虚拟角色外形碰撞为约束求解虚拟角色的关节点的目标位置数据,虚拟角色可以准确执行原始模型所做的动作。
Description
技术领域
本申请涉及虚拟交互技术领域,尤其涉及一种虚拟角色的动作控制方法、装置、设备和存储介质。
背景技术
随着虚拟主播、虚拟偶像、虚拟员工等虚拟角色的涌现,基于捕获的动作数据控制虚拟角色动作的应用越来越多,而将捕获的动作数据实时复用到各种有着不同外形(胖瘦、高矮、四肢长短、大头、蓬蓬裙等)的虚拟角色的需求也会越来越大。
目前,虚拟角色的动作控制主要有两种方式,一种方式将原模型的骨架等比例缩放到虚拟角色的骨架得到平移量,该通过该平移量对动作数据修改,将平移修改后的动作数据作用于虚拟角色;另一种方式是将原模型的骨骼的旋转数据直接采用前向运动学施加到不同比例的虚拟角色上。
上述通过等比缩放的方式控制虚拟角色没有考虑虚拟角色的外形,造成动作语义丢失走样甚至穿模现象,而采用前向运动学控制虚拟角色的方式会导致如图1所示的语义丢失或走样,在图1中左边为原模型做出敬礼动作的示意图,中间为前向运动学控制虚拟角色之后虚拟角色所做的动作,可见,中间的示意图中虚拟角色所做的敬礼动作与右边的示意图中预期虚拟角色所做的敬礼动作存在丢失、走样的缺陷。
发明内容
本申请实施例提供了一种虚拟角色的动作控制方法、装置、设备和存储介质,以解决现有技术中虚拟角色的动作控制存在动作语义丢失、走样、穿模的问题。
第一方面,本申请实施例提供了一种虚拟角色的动作控制方法,包括:
获取原始动作数据,所述原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据;
根据所述原始动作数据确定虚拟角色的初始动作数据,所述初始动作数据为所述虚拟角色的骨骼上的关节点的初始位置数据,所述原始模型和所述虚拟角色的关节点包括骨骼关节点和外形关节点;
采用所述初始动作数据和所述原始动作数据构建目标函数,所述目标函数用于计算所述初始动作数据与所述原始动作数据的相似度;
生成所述虚拟角色上所述骨骼关节点与所述外形关节点之间的碰撞约束,以及以所述虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束;
求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据,所述目标动作数据为所述虚拟角色的关节点的目标位置数据;
控制所述虚拟角色的各个关节点移动到所述目标位置数据所指示的位置,以驱动所述虚拟角色执行所述目标动作。
第二方面,本申请实施例提供了一种虚拟角色的动作控制装置,包括:
原始动作数据获取模块,用于获取原始动作数据,所述原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据;
初始动作数据确定模块,用于根据所述原始动作数据确定虚拟角色的初始动作数据,所述初始动作数据为所述虚拟角色的骨骼上的关节点的初始位置数据,所述原始模型和所述虚拟角色的关节点包括骨骼关节点和外形关节点;
目标函数生成模块,用于采用所述初始动作数据和所述原始动作数据构建目标函数,所述目标函数用于计算所述初始动作数据与所述原始动作数据的相似度;
约束构建模块,用于生成所述虚拟角色上所述骨骼关节点与所述外形关节点之间的碰撞约束,以及以所述虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束;
目标函数求解模块,用于求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据,所述目标动作数据为所述虚拟角色的关节点的目标位置数据;
虚拟角色控制模块,用于控制所述虚拟角色的各个关节点移动到所述目标位置数据所指示的位置,以驱动所述虚拟角色执行所述目标动作。
第三方面,本申请实施例提供了一种虚拟角色的动作控制设备,所述虚拟角色的动作控制设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序,
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请第一方面所述的虚拟角色的动作控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所述的虚拟角色的动作控制方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品中的指令被处理器执行时实现第一方面所述的虚拟角色的动作控制方法。
本申请实施例在获取原始模型的执行目标动作时的原始动作数据后,根据该原始动作数据确定虚拟角色的初始动作数据,并采用初始动作数据和原始动作数据构建目标函数,目标函数用于计算初始动作数据与原始动作数据的相似度,并且生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束,以及以虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束,进一步求解目标函数在长度约束和碰撞约束下的最小距离值得到虚拟角色的目标动作数据,该目标动作数据为虚拟角色的关节点的目标位置数据,最终控制虚拟角色的各个关节点移动到目标位置数据所指示的位置,以驱动虚拟角色执行目标动作,一方面,初始动作数据和原始动作数据的距离越小,说明虚拟角色的动作和原始模型的动作更为接近,保证了虚拟角色能够准确地执行原始模型所做的目标动作,另一方面,通过长度约束和碰撞约束,可以保证动作语义的完整以及避免穿模。
附图说明
图1是现有技术中虚拟角色动作控制中动作语义走样的示意图;
图2是本申请实施例一提供的一种虚拟角色的动作控制方法的流程图;
图3A是本申请实施例二提供的一种虚拟角色的动作控制方法的流程图;
图3B是本申请的一个示例中添加外形关节点的示意图;
图3C是本申请实施例中骨架上关节点的示意图;
图3D是本申请实施例中关节点邻接矩阵图表化之后的示意图;
图3E是本申请实施例中动作邻接关系的示意图;
图3F是本申请实施例中碰撞约束的示意图;
图4是本申请实施例三提供的一种虚拟角色的动作控制装置的结构框图;
图5是本申请实施例四提供的一种虚拟角色的动作控制设备的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图2为本申请实施例一提供的一种虚拟角色的动作控制方法的流程图,本申请实施例可适用于捕获原始模型的动作来控制虚拟角色模拟动作的情况,该方法可以由本申请实施的虚拟角色的动作控制装置来执行,该虚拟角色的动作控制装置可以由硬件或软件来实现,并集成在本申请实施例所提供的虚拟角色的动作控制中,具体地,如图2所示,本申请实施例的虚拟角色的动作控制方法可以包括如下步骤:
S201、获取原始动作数据,原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据。
在本申请实施例中,原始模型可以是做出目标动作的模型,虚拟角色可以是模仿原始模型所做出的目标动作的角色,在一个示例中,原始模型可以是人体模型,虚拟角色可以是数字人,示例性地,原始模型可以是现实生活中的真实人体,虚拟角色可以是虚拟主播、虚拟主持人、虚拟人偶、机器人等,当然,原始模型还可以是动物,虚拟角色可以是虚拟动物,需要说明的是原始模型和虚拟角色具有同样的骨架结构,为了方便说明,本申请实施例以原始模型为现实生活中的人,虚拟角色为虚拟人作为示例对虚拟角色的动作控制方法进行说明。
在一个应用场景中,通过捕获主播的动作来控制网络中虚拟人偶时,主播即为原始模型,虚拟人偶即为虚拟角色,虚拟人偶需要做出与主播一样的动作,则在获取原始动作数据时,可以通过摄像头对主播采集至少一张图像,通过至少一张图像进行关节点识别,得到主播做出目标动作时骨骼上各个关节点的位置数据作为原始动作数据,可选地,可以将至少一张图像输入预先训练的人体关节点识别网络中得到主播的各个关节点的位置数据作为原始动作数据。
S202、根据原始动作数据确定虚拟角色的初始动作数据,初始动作数据为虚拟角色的骨骼上的关节点的初始位置数据,原始模型和虚拟角色的关节点包括骨骼关节点和外形关节点。
动作数据可以是模型上骨骼的旋转数据,原始模型执行目标动作可以视为原始模型的骨架在运动,骨架由多根骨骼连接而成,具有父子连接关系,子骨骼相对父骨骼的旋转运动可以用矩阵来记录,在人体骨架中,根骨骼可以为盆骨,向上与盆骨相连的子骨骼、子骨骼的子骨骼等具有传递关系,例如从盆骨向上经过脊骨、大臂、小臂,然后达到手,将从盆骨到手经过的所有骨骼的旋转矩阵依次相乘即可以得到手的动作数据,由于关节点为骨骼与骨骼之间连接的节点,在获取到骨骼的旋转数据之后即可以确定骨骼上各个关节点的位置数据,或者是在获取各个关节点的位置数据之后,也可以得到关节点所构成的骨骼的旋转数据。
具体到本申请实施例中,原始动作数据表示原始模型所做的目标动作,可以将原始动作数据赋值到虚拟角色的骨骼上,即初始化虚拟角色的各个骨骼,使得虚拟角色的各个骨骼与原始模型中对应的骨骼具有相同的旋转数据,亦即初始化虚拟角色上各个关节点的位置数据,从而可以在该位置数据附近范围内求解关节点的最优位置,降低求解难度,提高求解效率以实现实时控制虚拟角色的动作。
在另一可选实施例中,关节点可以包括骨骼关节点和外形关节点,骨骼关节点为连接连根骨骼的节点,外形关节点可以是为了避免穿模而在原始模型和虚拟角色外形轮廓上所设置的虚拟点,在一个示例中,一帧原始动作数据可以应用于具有相同骨架不同外形轮廓的虚拟角色,例如,对于虚拟人偶有胖瘦之分,或者有的虚拟人头头部较大,或者穿着裙子等导致外形轮廓差异,则可以在需要避免穿模的原始模型和虚拟角色的外轮廓上设置一个以上的虚拟点作为外形关节点。
S203、采用所述初始动作数据和所述原始动作数据的距离作为构建目标函数。
原始动作数据表示原始模型所执行的动作,初始动作数据表示虚拟角色的初始化动作,可以将初始动作数据和原始动作数据代入目标函数中,该目标函数用于计算初始动作数据与原始动作数据的相似度,亦即计算原始模型所执行的动作与虚拟角色的动作的相似度。
在一个示例中,相似度可以计算初始动作数据与原始动作数据的距离来表示,相似度越小表明虚拟角色的动作与原始模型的动作越接近,具体地,在目标函数中,原始动作数据为固定数值,初始动作数据为变量,目标函数值为因变量,可以通过不断对初始动作数据进行迭代更新使得目标函数值最小,在一个示例中,目标函数可以是计算两个数值距离的函数,例如可以是L2范数(欧几里德)距离函数,切比雪夫距离函数等,本发明实施例对计算相似度的目标函数不作限制。
S204、生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束,以及以虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束。
在骨架上同一位置的骨骼,该骨骼在原始模型和虚拟角色中的长度可能不一致,而且不同虚拟角色的骨骼长度也不相同,例如,虚拟角色A的手臂长,虚拟角色B的手臂短,而对同一虚拟角色而言,每根骨骼的长度是固定不变的,可以约束虚拟角色上每根骨骼的长度不变,具体地,可以计算虚拟角色的每根骨骼的长度,然后计算初始动作数据中构成骨骼的相邻两个关节点的距离,该距离与骨骼原始距离的差值作为长度约束,即在改变关节点位置的同时要保证两个关节点所构成的骨骼的长度不变。
同时,可以确定虚拟角色上预先设置的需要受碰撞约束的关节点以及碰撞点,计算该受碰撞约束的关节点与碰撞点之间的距离作为碰撞深度,约束该碰撞深度小于或者等于0即可以保证受碰撞约束的关节点不会与碰撞点发生碰撞,虚拟角色的动作不会发生穿模。
S205、求解目标函数在长度约束和碰撞约束下的最小距离值,得到虚拟角色的目标动作数据,目标动作数据为虚拟角色的关节点的目标位置数据。
具体地,求解目标函数在长度约束和碰撞约束下的最小距离值的过程为:在保证骨骼长度不变以及受碰撞约束的关节点不会与碰撞点发生碰撞的情况下,不断改变初始动作数据使得目标函数的函数值最小,即不断地改变虚拟角色的各个关节点的位置使得目标函数值最小即可以得到虚拟角色的各个关节点的位置数据,在实际应用中可以通过序列二次规划(SQP,Sequential Quadratic Programming)或者增广拉格朗日法(ALM,AugmentedLagrange Method)来求解目标函数的最优解即可以得到虚拟角色的关节点的目标位置数据,序列二次规划(SQP)或者增广拉格朗日法(ALM)的求解方法可参考现有技术,在此不再详述。
S206、控制虚拟角色的各个关节点移动到目标位置数据所指示的位置,以驱动虚拟角色执行目标动作。
在求解得到虚拟角色的各个关节点的目标位置数据之后,可以控制虚拟角色的骨架上的各个关节点移动到目标位置数据所指示的位置,各个关节点位于目标位置数据所指示的位置之后,关节点所构成的各个骨骼所呈现出的动作即为原始模型所执行的目标动作。
本申请实施例在获取原始模型的执行目标动作时的原始动作数据后,根据该原始动作数据确定虚拟角色的初始动作数据,并采用初始动作数据和原始动作数据构建目标函数,目标函数用于计算初始动作数据与原始动作数据的相似度,并且生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束,以及以虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束,进一步求解目标函数在长度约束和碰撞约束下的最小距离值得到虚拟角色的目标动作数据,该目标动作数据为虚拟角色的关节点的目标位置数据,最终控制虚拟角色的各个关节点移动到目标位置数据所指示的位置,以驱动虚拟角色执行目标动作,一方面,初始动作数据和原始动作数据的距离越小,说明虚拟角色的动作和原始模型的动作更为接近,保证了虚拟角色能够准确地执行原始模型所做的目标动作,另一方面,通过长度约束和碰撞约束,可以保证动作语义的完整以及避免穿模。
实施例二
图3A为本申请实施例二提供的一种虚拟角色的动作控制方法的流程图,本申请实施例在前述实施例一的基础上进行优化,具体地,如图3A所示,本申请实施例的虚拟角色的动作控制方法可以包括如下步骤:
S301、获取原始动作数据,原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据。
本申请实施例在获取原始动作数据之前,可以先设置原始模型和虚拟角色的关节点,所设置的关节点包括骨骼关节点和外形关节点,其中,骨骼关节点为构成骨骼的两个节点,外形关节点是根据虚拟角色的外形,避免虚拟角色动作时穿模而设置的虚拟关节点,外形关节点可以根据虚拟角色的不同外形而设置。
如图3B所示的虚拟人偶中,该虚拟人偶的头部比较大并且所穿的裙子外形较大,为了避免手部动作时手穿入头部或者穿入到裙子里面造成穿模现象,可以在头部和裙子上添加外形关节点,在一个示例中,在头部添加外形关节点如图3B中头部的黑色方块P1、P2、P3,在裙子添加外形关节点如图3B中的黑色方块P4、P5、P6、P7,当然,在实际应用中,可以根据不同的虚拟角色预先设置不同的外形关节点,本申请实施例对此不作限制。
在一个可选实施例中,在获取原始动作数据时,可以采集原始模型的图像,对图像进行关节点识别得到原始模型上各个骨骼的关节点的位置数据作为原始动作数据,示例性地,原始模型为主播时,可以通过摄像头采集主播的至少一帧图像输入预先训练好的人体关节点识别网络中得到主播的关节点的位置数据作为原始动作数据。
如图3C为人体骨架示意图,该人体骨架由多根骨骼构成,每根骨骼的两端为关节点,本申请实施例中以17个关节点(点0-点16)的位置数据来表示模型的动作,在本申请的一个示例中,原始动作数据可以是骨架中骨骼的旋转数据,具体地,可以以盆骨为根骨骼,其他骨骼为盆骨的子骨骼或者次级骨骼,则旋转数据为各个骨骼相对于其父骨骼的位置数据,示例性地,如图3C中,假设骨骼P07的相对于关节点0的旋转数据为D07,骨骼P78的相对于骨骼P07的旋转数据为D78,则骨骼P78相对于关节点0的旋转数据为D07×D78,以此类推可以得到每根骨骼相对与关节点0的旋转数据,并且由于关节点为骨骼与骨骼之间连接的节点,在获取到骨骼的旋转数据之后即可以确定骨骼上各个关节点的位置数据,或者是在获取各个关节点的位置数据之后,也可以得到关节点所构成的骨骼的旋转数据。
S302、根据原始动作数据中原始模型的相邻两个关节点的位置数据计算两个相邻关节点之间的骨骼的旋转数据。
在本申请的可选实施例中,位置数据可以是关节点的三维坐标,人体关节点识别的是各个关节点相对于人体坐标系的三维坐标,例如,坐标系原点为如图3C所述的关节点0,则人体关节点识别时可以得到关节点1到关节点16的各个关节点相对于关节点0的三维坐标,从而可以根据构成骨骼的两个关节点的坐标计算该骨骼相对于副骨骼的旋转数据。
如图3C所示,以盆骨的关节点0为坐标原点,在得到关节点0与关节点7的三维坐标后,可以通过关节点7和关节点0的三维坐标计算骨骼P07的旋转数据,然后根据关节点8和关节点7的三维坐标计算骨骼P78相对于其父骨骼P07的旋转数据,将骨骼P07和骨骼P78的旋转数据相乘即可以得到骨骼P78相对于关节点0的旋转数据,以此类推得到各个骨骼相对于关节点0的旋转数据。
S303、将原始模型中每根骨骼的旋转数据移植到虚拟角色的对应的骨骼上作为虚拟角色的骨骼的旋转数据,得到虚拟角色的初始动作数据。
原始动作数据表示原始模型所做的目标动作,可以将原始动作数据赋值到虚拟角色的骨骼上,即初始化虚拟角色的各个骨骼,使得虚拟角色的各个骨骼与原始模型中对应的骨骼具有相同的旋转数据,亦即初始化虚拟角色上各个关节点的位置数据,从而可以在该位置数据附近范围内求解关节点的最优位置,降低求解难度,提高求解效率以实现实时控制虚拟角色的动作。
具体地,对于虚拟角色,可以同样以盆骨的关节点0为原点,依次设置每根骨骼的旋转数据,使得虚拟角色的每根骨骼的旋转数据与原始模型中对应的骨骼的旋转数据相同,使得虚拟角色的每个关节点初始化位置,从而可以在该初始位置附近范围内求解关节点的最优位置,降低求解难度,提高求解效率以实现实时控制虚拟角色的动作。
S304、采用原始动作数据计算原始模型的关节点的原始向量,以及采用初始动作数据计算虚拟角色的关节点的初始向量。
示例性地,可以通过骨骼的旋转数据计算出各个关节点的三维坐标,将各个关节点的三维坐标连接成一个向量即为模型的所有关节点的向量,如图3C所示,一共有17个关节点,每个关节点有x,y,z三个维度的坐标值,则可以用模型的所有关节点写成一个向量x∈R^51。
S305、基于原始模型的骨骼结构和预设动作邻接关系生成目标动作的动作语义矩阵。
在本申请的可选实施例中,可以获取原始模型的关节点邻接矩阵,关节点邻接矩阵中每个关节点所在的行中的每个元素值表示该关节点与其他关节点的关节邻接关系,针对原始模型上的每个目标关节点,根据预设动作语义邻接关系确定目标关节点的动作语义邻接关节点,更新关节点邻接矩阵中目标关节点所在的行中动作语义邻接关节点的元素值得到目标动作的动作语义矩阵。
关节点邻接矩阵表示模型中关节点之间的邻接关系,如图3C所示,关节点8分别与关节点11、关节点9、关节点14、关节点7相邻,关节点8与其他关节点均不相邻,两个关节点相邻则在矩阵中对应的元素的元素值记为-1,否则为0,图3D为图3C中各个关节点的邻接矩阵,为了便于标识,将矩阵表格化,在图3D中第一行和第一列是关节点序号,以关节点8作为示例,关节点8所在的行中,由于关节点8与关节点11、关节点9、关节点14、关节点7相邻,对应的元素值为-1,关节点8有4相邻关节点,则在关节点8所在的行和列对应的元素值为4,其余不相邻的关节点的元素值为0,从图3D可知,表中对角线为每个关节点邻接的关节点的数量。
预设动作语义邻接关系表示的是一个动作中关节点之间的邻接关系,亦即通过定义关节点的邻接关系来表示动作的语义,如图3E所示,用于手部动作为示例,可以预先定义手的关节点16与其他关节点的邻接关系,在一个示例中,可以定义手的关节点16分别与头的关节点10、肩膀的关节点14、脊椎的关节点7、大腿的关节点1以及脚的关节点3共5个关节点邻接,则图3D中关节点16所在的行的元素值如下表1:
表1
0 | -1 | 0 | -1 | 0 | 0 | 0 | -1 | 0 | 0 | -1 | 0 | 0 | 0 | -1 | 0 | 5 |
由于两个关节点邻接时元素值为-1,反之为0,由上述关节点16所在的行可以看出关节点16的动作语义连接关系,对于原始模型和虚拟角色中的关节点,可以预先定义各个关节点的动作语义邻接关系,如图3C定义的是手的关节点16与头的关节点10、肩膀的关节点14、脊椎的关节点7、大腿的关节点1以及脚的关节点3共5个关节点邻接,更为关注的是手部动作,因此定义手的关节点16与其他相对固定的关节点动作语义邻接,如果是更为关注头部动作,则可以定义头的关节点10分别与关节点8、关节点11、关节点14、关节点7动作语义邻接,本申请实施例对关节点的动作语义邻接关系不作限制。
以上表1为关节点16的动作语义连接关系在矩阵上的表示,将表1的元素值更新到如图3D中的矩阵中,并以此类推更新其他关节点的所在行的元素值即可以得到目标动作的动作语义矩阵,该动作语义矩阵表示原始模型执行目标动作时,各个关节点在动作上的邻接关系,即表示的是图3E中虚线连接的两个关节点的动作邻接关系,整个动作语义矩阵表示的是原始模型所做的动作的动作语义。
更进一步地,在将关节点邻接矩阵中目标关节点所在的行中动作语义邻接关节点的元素值设置为预设值之后,还可以计算各个动作语义邻接关节点与目标关节点的距离,采用距离计算每个动作语义邻接关节点的权重,计算权重与预设值的乘积得到权值,修改关节点邻接矩阵中目标关节点所在的行中动作语义邻接关节点的元素值等于权值。
具体地,如图3D所示,由于关节点16在动作语义上分别与头的关节点10、肩膀的关节点14、脊椎的关节点7、大腿的关节点1以及脚的关节点3共5个关节点邻接,将图3D中关节点16所在行中关节点10、肩膀的关节点14、脊椎的关节点7、大腿的关节点1以及脚的关节点3的元素值更改为上述表1中的值,即修改为预设值-1之后,可以计算原始模型中关节点10、关节点14、关节点7、关节点1以及关节点3分别与关节点16的距离,例如通过两个关节点的三维坐标计算两个关节点之间的距离,然后每个距离计算倒数,并计算所有倒数的倒数和,对于关节点10、关节点14、关节点7、关节点1以及关节点3中的每个关节点,计算每个关节点的距离的倒数与倒数和的比值作为该关节点的权重,具体如下公式所示:
上述公式中,Distance_ij为与关节点i在动作语义邻接的关节点j到关节点i的距离,wj关节点j的权重,由此可以得到,关节点j与关节点i的距离越大,权重越小,如图3E所示,脚的关节点3与手的关节点16的距离最远,手执行目标动作时,关节点16的语义与脚的关系小,即手部动作与脚的关节关系不大,相反地,与肩膀的关节点14的关系最大,从而实现不同动作时动态计算动作语义邻接的关节点之间的距离来确定权重,通过权重更好地解释动作语义。
在得到关节点的权重之后,将该权重与关节点对应的元素值相乘所得到的权值作为新的元素值,以上述表1作为示例,经计算后,假设关节点16与关节点1、3、7、10、14的权重分别为0.1、0.2、0.2、0.2、0.3,则上表1更新为:
0 | -0.1 | 0 | -0.2 | 0 | 0 | 0 | -0.2 | 0 | 0 | -0.2 | 0 | 0 | 0 | -0.3 | 0 | 1 |
将所有关节点权值更新后得到带权重的动作语义矩阵,并且不同动作时,各个关节点之间的距离不同,权重也不同,距离越远,权重越小,反之权重越大,通过动态分配权重,使得动作语义矩阵更好地解释动作语义。
S306、分别计算动作语义矩阵与原始向量、初始向量的乘积得到第一乘积和第二乘积。
具体地,记S305中目标动作的动作语义矩阵为L,S304中原始模型的所有关节点的位置所构成的向量为srcPos3d,虚拟角色的所有关节点的向量为tarPos3d,则计算第一乘积L×srcPos3d,以及计算第二乘积L×tarPos3d,第一乘积表示原始模型中在动作语义上每个关节点邻接关系的度量值,第二乘积表示虚拟角色中在动作语义上每个关节点邻接关系的度量值。
S307、计算第一乘积和第二乘积的距离作为目标函数。
在一个可选实施例中,目标函数如下:
min 0.5×‖L×tarPos3d-L×srcPos3d‖2
其中,L为动作语义矩阵,tarPos3d为虚拟角色的关节点的初始向量,srcPos3d为原始模型的关节点的原始向量,‖.‖2为二范数距离,目标函数值越小,说明虚拟角色与原始模型的动作在动作语义上越接近。
S308、生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束,以及以虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束。
在一个可选实施例中,针对长度约束,可以计算虚拟角色上每根骨骼的两个关节点的距离作为骨骼的原始长度,计算每根骨骼的两个关节点的向量的距离,构建长度约束如下:
‖tarPos3d[i]-tarPos3d[j]‖-resetLength=0
其中,resetLength为虚拟角色的关节点i和关节点j之间的骨骼的原始长度,tarPos3d[i]和tarPos3d[j]分别为关节点i和关节点j的向量,该长度约束表示的是:在求解目标函数最小值的过程中,在不断改变关节点i和关节点j的位置时,改变后的关节点i和关节点j之间的距离等于原始长度resetLength。
针对碰撞约束,外形关节点包括预设的碰撞点,骨骼关节点包括受碰撞约束关节点,生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束如下:
(tarPos3d[i]-collPos).dot(colldepth)≤0
其中,collPos表示碰撞点的向量,tarPos3d[i]表示受碰撞约束关节点i的向量,tarPos3d[i]-collPos表示受碰撞约束关节点i到碰撞点的向量,.dot(colldepth)点积表示受碰撞约束关节点i到碰撞点的向量在垂直于虚拟角色的外轮廓方向上的投影,该碰撞约束表示的是:在求解目标函数最小值的过程中,在不断改变受碰撞约束关节点i时,改变后的受碰撞约束关节点i碰撞点的向量在垂直于虚拟角色的外轮廓方向上的投影的距离小于或等于0。
碰撞约束的原理如图3F所示,在图3F中为了放止人体做出双手叉腰时人体的手穿入到身体里面发生穿模现象,在身体上设置外形关节点P2作为碰撞点,下手臂末端的手的关节点P1作为受碰撞约束的关节点,关节点P1到外形关节点P2的向量在垂直于身体的外表面的方向上的投影的距离为P1到P3的距离,亦即碰撞深度,该碰撞深度小于或等于0时说明关节点P1不会碰撞到外形关节点P2,亦即手不会穿到身体里面,从而保证不会出现穿模现象。
S309、采用序列二次规划法或者拉格朗日法求解目标函数在长度约束和碰撞约束下的最小距离值,得到虚拟角色的目标动作数据。
求解目标动作数据亦即求解以下目标函数:
min 0.5×‖L×tarPos3d-L×srcPos3d‖2
即通过不断改变虚拟角色的关节点的位置,从而使得虚拟角色的关节点的向量tarPos3d发生改变,直到‖L×tarPos3d-L×srcPos3d‖2最小时,关节点所在的位置为最优位置,在改变关节点的位置的过程中,要保证形成骨骼的两个关节点i和关节点j之间的距离始终保持不变,并且受碰撞约束的关节点i与碰撞点不会发生碰撞,
在实际应用中可以通过序列二次规划(SQP,Sequential QuadraticProgramming)或者增广拉格朗日法(ALM,Augmented Lagrange Method)来求解目标函数的最优解即可以得到虚拟角色的关节点的目标位置数据,序列二次规划(SQP)或者增广拉格朗日法(ALM)的求解方法可参考现有技术。
在可选实施例中,对于一个目标动作,动作语义矩阵L固定不变,同时碰撞约束为碰撞深度等于0,则目标函数可以简化为等式约束的函数:
min 0.5×‖tarPos3d-srcPos3d‖2
求解过程如下:
假设C(tarPos3d)=‖tarPos3d[i]-tarPos3d[j]‖-resetLength
C(tarPos3d)为二次等式非线性约束,可以对C(tarPos3d)作泰勒展开进行一阶线性变换后得到:
C(tarPos3d)=J×tarPos3d-b,
J为C(tarPos3d)的雅可比矩阵,b为泰勒展开后的常数,具体泰勒展开可参考现有技术,在此不再详述。
由于动作确定后,动作语义矩阵固定不变,构建拉格朗日函数:
min 0.5×‖tarPos3d-srcPos3d‖+λ×(J×tarPos3d-b)
假设x=tarPos3d-srcPos3d,则拉格朗日函数变换为:
L(x,λ)=0.5×‖x‖+transpose(λ)×(J×x-b) (1)
transpose(.)为取转置矩阵。
令公式(1)对x、λ的导数分别等于0,则可以得到以下方程组:
x+transpose(J)×λ=0 (2)
J×x=b (3)
对公式(2)变形得到:
x=-transpose(J)×λ (4)
公式(4)代入公式(3)中得到:
J×(-transpose(J)×λ)=b (5)
解出λ:
公式(6)代入公式(2)求解出x:
用高斯-赛德尔迭代法对x进行迭代直到收敛得到最终x,由于x=tarPos3d-srcPos3d,srcPos3d固定不变,亦即得到tarPos3d,即虚拟角色的关节点的最优位置,具体迭代过程可参考现有技术高斯-赛德尔迭代法的迭代过程,在此不再详述。
S310、控制虚拟角色的各个关节点移动到目标位置数据所指示的位置,以驱动虚拟角色执行目标动作。
在求解得到虚拟角色的各个关节点的目标位置数据之后,可以控制虚拟角色的骨架上的各个关节点移动到目标位置数据所指示的位置,各个关节点位于目标位置数据所指示的位置之后,关节点所构成的各个骨骼所呈现出的动作即为原始模型所执行的目标动作。
本申请实施例在获取原始模型的执行目标动作时的原始动作数据后,根据该原始动作数据确定虚拟角色的初始动作数据,采用原始动作数据计算原始模型的关节点的原始向量,以及采用初始动作数据计算虚拟角色的关节点的初始向量,基于原始模型的骨骼结构和预设动作邻接关系生成目标动作的动作语义矩阵,分别计算动作语义矩阵与原始向量、初始向量的乘积得到第一乘积和第二乘积,计算第一乘积和第二乘积的距离作为目标函数,并且生成虚拟角色上骨骼关节点与外形关节点之间的碰撞约束,以及以虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束,进一步求解目标函数在长度约束和碰撞约束下的最小距离值得到虚拟角色的目标动作数据,该目标动作数据为虚拟角色的关节点的目标位置数据,最终控制虚拟角色的各个关节点移动到目标位置数据所指示的位置,以驱动虚拟角色执行目标动作,一方面,初始动作数据和原始动作数据的距离越小,说明虚拟角色的动作和原始模型的动作更为接近,保证了虚拟角色能够准确地执行原始模型所作出的目标动作,另一方面,通过长度约束和碰撞约束,可以保证动作语义的完整以及避免穿模。
实施例三
图4是本申请实施例三提供的一种虚拟角色的动作控制装置的结构框图,如图4所示,本申请实施例的虚拟角色的动作控制装置具体可以包括如下模块:
原始动作数据获取模块401,用于获取原始动作数据,所述原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据;
初始动作数据确定模块402,用于根据所述原始动作数据确定虚拟角色的初始动作数据,所述初始动作数据为所述虚拟角色的骨骼上的关节点的初始位置数据,所述原始模型和所述虚拟角色的关节点包括骨骼关节点和外形关节点;
目标函数生成模块403,用于采用所述初始动作数据和所述原始动作数据构建目标函数,所述目标函数用于计算所述初始动作数据与所述原始动作数据的相似度;
约束构建模块404,用于生成所述虚拟角色上所述骨骼关节点与所述外形关节点之间的碰撞约束,以及以所述虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束;
目标函数求解模块405,用于求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据,所述目标动作数据为所述虚拟角色的关节点的目标位置数据;
虚拟角色控制模块406,用于控制所述虚拟角色的各个关节点移动到所述目标位置数据所指示的位置,以驱动所述虚拟角色执行所述目标动作。
本申请实施例所提供的虚拟角色的动作控制装置可执行本申请实施例一、实施例二所提供的虚拟角色的动作控制方法,具备执行方法相应的功能模块和有益效果。
实施例四
参照图5,示出了本申请一个示例中的一种虚拟角色的动作控制设备的结构示意图。如图5所示,该虚拟角色的动作控制设备具体可以包括:处理器501、存储装置502、具有触摸功能的显示屏503、输入装置504、输出装置505以及通信装置506。该虚拟角色的动作控制设备中处理器501的数量可以是一个或者多个,图5中以一个处理器501为例。该虚拟角色的动作控制设备的处理器501、存储装置502、显示屏503、输入装置504、输出装置505以及通信装置506可以通过总线或者其他方式连接,图5中以通过总线连接为例,所述虚拟角色的动作控制设备用于执行如本申请实施例提供的虚拟角色的动作控制方法。
实施例五
本申请实施例提供一种计算机可读存储介质,所述存储介质中的计算机程序被处理器执行时实现如上述方法实施例所述的虚拟角色的动作控制方法。
实施例六
本申请实施例提供一种计算机程序产品,计算机程序产品中的指令被处理器执行时实现上述方法实施例所述的虚拟角色的动作控制方法。
就本申请而言,计算机可读存储介质可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。计算机程序产品可以是包含计算机可读存储介质的产品,使得计算机可读存储介质中的指令被处理器执行时实现上述方法实施例所述的虚拟角色的动作控制方法。
需要说明的是,对于装置、设备、存储介质、计算机程序产品实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (16)
1.一种虚拟角色的动作控制方法,其特征在于,包括:
获取原始动作数据,所述原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据;
根据所述原始动作数据确定虚拟角色的初始动作数据,所述初始动作数据为所述虚拟角色的骨骼上的关节点的初始位置数据,所述原始模型和所述虚拟角色的关节点包括骨骼关节点和外形关节点;
采用所述初始动作数据和所述原始动作数据构建目标函数,所述目标函数用于计算所述初始动作数据与所述原始动作数据的相似度;
生成所述虚拟角色上所述骨骼关节点与所述外形关节点之间的碰撞约束,以及以所述虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束;
求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据,所述目标动作数据为所述虚拟角色的关节点的目标位置数据;
控制所述虚拟角色的各个关节点移动到所述目标位置数据所指示的位置,以驱动所述虚拟角色执行所述目标动作。
2.如权利要求1所述的虚拟角色的动作控制方法,其特征在于,在获取原始动作数据之前,还包括:
设置关节点,所述关节点包括骨骼关节点和外形关节点。
3.如权利要求1所述的虚拟角色的动作控制方法,其特征在于,所述获取原始动作数据,包括:
采集原始模型的图像;
对所述图像进行关节点识别得到所述原始模型上各个骨骼的关节点的位置数据作为原始动作数据。
4.如权利要求1所述的虚拟角色的动作控制方法,其特征在于,所述根据所述原始动作数据确定虚拟角色的初始动作数据,包括:
根据所述原始动作数据中所述原始模型的相邻两个关节点的位置数据计算两个相邻关节点之间的骨骼的旋转数据;
将所述原始模型中每根骨骼的旋转数据移植到所述虚拟角色的对应的骨骼上作为所述虚拟角色的骨骼的旋转数据,得到所述虚拟角色的初始动作数据。
5.如权利要求1-4任一项所述的虚拟角色的动作控制方法,其特征在于,所述采用所述初始动作数据和所述原始动作数据构建目标函数,包括:
采用所述原始动作数据计算所述原始模型的关节点的原始向量,以及采用所述初始动作数据计算所述虚拟角色的关节点的初始向量;
基于原始模型的骨骼结构和预设动作邻接关系生成所述目标动作的动作语义矩阵;
分别计算所述动作语义矩阵与所述原始向量、所述初始向量的乘积得到第一乘积和第二乘积;
计算所述第一乘积和所述第二乘积的距离作为目标函数。
6.如权利要求5所述的虚拟角色的动作控制方法,其特征在于,所述基于原始模型的骨骼结构和预设动作邻接关系生成所述目标动作的动作语义矩阵,包括:
获取所述原始模型的关节点邻接矩阵,所述关节点邻接矩阵中每个关节点所在的行中的每个元素值表示所述关节点与其他关节点的关节邻接关系;
针对所述原始模型上的每个目标关节点,根据预设动作语义邻接关系确定所述目标关节点的动作语义邻接关节点;
更新所述关节点邻接矩阵中所述目标关节点所在的行中所述动作语义邻接关节点的元素值,得到所述目标动作的动作语义矩阵。
7.如权利要求6所述的虚拟角色的动作控制方法,其特征在于,所述更新所述关节点邻接矩阵中所述目标关节点所在的行中所述动作语义邻接关节点的值为预设值,得到所述目标动作的动作语义矩阵,包括:
将所述关节点邻接矩阵中所述目标关节点所在的行中所述动作语义邻接关节点的元素值设置为预设值;
计算各个所述动作语义邻接关节点与所述目标关节点的距离;
采用所述距离计算每个所述动作语义邻接关节点的权重;
计算所述权重与所述预设值的乘积得到权值;
将所述关节点邻接矩阵中所述目标关节点所在的行中所述动作语义邻接关节点的元素值更新为所述权值。
8.如权利要求7所述的虚拟角色的动作控制方法,其特征在于,所述采用所述距离计算每个所述动作语义邻接关节点的权重,包括:
计算所述距离的倒数;
计算所述距离的倒数和;
针对每个所述动作语义邻接关节点,计算所述倒数与所述倒数和的比值作为所述动作语义邻接关节点的权重。
9.如权利要求5所述的虚拟角色的动作控制方法,其特征在于,通过如下公式计算所述第一乘积和所述第二乘积的距离作为目标函数:
min 0.5×‖L×tarPos3d-L×srcPos3d‖2
其中,L为动作语义矩阵,tarPos3d为虚拟角色的关节点的初始向量,srcPos3d为原始模型的关节点的原始向量,‖.‖2为二范数距离。
10.如权利要求5所述的虚拟角色的动作控制方法,其特征在于,所述以所述虚拟角色上的相邻骨骼关节点之间的距离不变生成相邻关节点之间的长度约束,包括:
计算所述虚拟角色上每根骨骼的两个关节点的距离作为所述骨骼的原始长度;
计算所述每根骨骼的两个关节点的向量的距离;
构建长度约束如下:
‖tarPos3d[i]-tarPos3d[j]‖-resetLength=0
其中,resetLength为虚拟角色的关节点i和关节点j之间的骨骼的原始长度,tarPos3d[i]和tarPos3d[j]分别为关节点i和关节点j的向量。
11.如权利要求5所述的虚拟角色的动作控制方法,其特征在于,所述外形关节点包括预设的碰撞点,所述骨骼关节点包括受碰撞约束关节点,生成所述虚拟角色上所述骨骼关节点与所述外形关节点之间的碰撞约束如下:
(tarPos3d[i]-collPos).dot(colldepth)≤0
其中,collPos表示碰撞点的向量,tarPos3d[i]表示受碰撞约束关节点i的向量,tarPos3d[i]-collPos表示受碰撞约束关节点i到碰撞点的向量,.dot(colldepth)点积表示受碰撞约束关节点i到碰撞点的向量在垂直于虚拟角色的外轮廓方向上的投影。
12.如权利要求1-4任一项所述的虚拟角色的动作控制方法,其特征在于,所述求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据,包括:
采用序列二次规划法或者拉格朗日法求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据。
13.一种虚拟角色的动作控制装置,其特征在于,包括:
原始动作数据获取模块,用于获取原始动作数据,所述原始动作数据为原始模型执行目标动作时骨骼上的关节点的位置数据;
初始动作数据确定模块,用于根据所述原始动作数据确定虚拟角色的初始动作数据,所述初始动作数据为所述虚拟角色的骨骼上的关节点的初始位置数据,所述原始模型和所述虚拟角色的关节点包括骨骼关节点和外形关节点;
目标函数生成模块,用于采用所述初始动作数据和所述原始动作数据构建目标函数,所述目标函数用于计算所述初始动作数据与所述原始动作数据的相似度;
约束构建模块,用于生成所述虚拟角色上所述骨骼关节点与所述外形关节点之间的碰撞约束,以及以所述虚拟角色上的骨骼关节点之间的距离不变生成相邻关节点之间的长度约束;
目标函数求解模块,用于求解所述目标函数在所述长度约束和所述碰撞约束下的最小距离值,得到所述虚拟角色的目标动作数据,所述目标动作数据为所述虚拟角色的关节点的目标位置数据;
虚拟角色控制模块,用于控制所述虚拟角色的各个关节点移动到所述目标位置数据所指示的位置,以驱动所述虚拟角色执行所述目标动作。
14.一种虚拟角色的动作控制设备,其特征在于,所述虚拟角色的动作控制设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序,
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一项所述的虚拟角色的动作控制方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-12中任一项所述的虚拟角色的动作控制方法。
16.一种计算机程序产品,其特征在于,当计算机程序产品中的指令被处理器执行时实现如权利要求1-12中任一项所述的虚拟角色的动作控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210313961.2A CN114602177A (zh) | 2022-03-28 | 2022-03-28 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
PCT/CN2023/083969 WO2023185703A1 (zh) | 2022-03-28 | 2023-03-27 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210313961.2A CN114602177A (zh) | 2022-03-28 | 2022-03-28 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114602177A true CN114602177A (zh) | 2022-06-10 |
Family
ID=81867119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210313961.2A Pending CN114602177A (zh) | 2022-03-28 | 2022-03-28 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114602177A (zh) |
WO (1) | WO2023185703A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023185703A1 (zh) * | 2022-03-28 | 2023-10-05 | 百果园技术(新加坡)有限公司 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
WO2024011792A1 (zh) * | 2022-07-15 | 2024-01-18 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6419268B1 (ja) * | 2017-07-21 | 2018-11-07 | 株式会社コロプラ | 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム |
CN110675474B (zh) * | 2019-08-16 | 2023-05-02 | 咪咕动漫有限公司 | 虚拟角色模型的学习方法、电子设备和可读存储介质 |
CN111659115B (zh) * | 2020-07-02 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 虚拟角色控制方法、装置、计算机设备和存储介质 |
CN112102451B (zh) * | 2020-07-28 | 2023-08-22 | 北京云舶在线科技有限公司 | 一种基于普通摄像头的无穿戴虚拟直播方法及设备 |
CN112686976A (zh) * | 2020-12-31 | 2021-04-20 | 咪咕文化科技有限公司 | 骨骼动画数据的处理方法、装置及通信设备 |
CN113706666A (zh) * | 2021-08-11 | 2021-11-26 | 网易(杭州)网络有限公司 | 动画数据处理方法、非易失性存储介质及电子装置 |
CN114602177A (zh) * | 2022-03-28 | 2022-06-10 | 百果园技术(新加坡)有限公司 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
-
2022
- 2022-03-28 CN CN202210313961.2A patent/CN114602177A/zh active Pending
-
2023
- 2023-03-27 WO PCT/CN2023/083969 patent/WO2023185703A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023185703A1 (zh) * | 2022-03-28 | 2023-10-05 | 百果园技术(新加坡)有限公司 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
WO2024011792A1 (zh) * | 2022-07-15 | 2024-01-18 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023185703A1 (zh) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7001841B2 (ja) | 画像処理方法及び装置、画像デバイス並びに記憶媒体 | |
CN110675474B (zh) | 虚拟角色模型的学习方法、电子设备和可读存储介质 | |
CN114602177A (zh) | 虚拟角色的动作控制方法、装置、设备和存储介质 | |
JP4452272B2 (ja) | 複雑な関節の動きをモデリングする関節構成要素フレームワーク | |
CN102982578B (zh) | 单幅人物图像中着装人体三维模型估计方法 | |
CN110827383B (zh) | 三维模型的姿态模拟方法、装置、存储介质和电子设备 | |
Kallmann | Analytical inverse kinematics with body posture control | |
CN111402290A (zh) | 一种基于骨骼关键点的动作还原方法以及装置 | |
US9208613B2 (en) | Action modeling device, method, and program | |
Gregorski et al. | Reconstruction of B-spline surfaces from scattered data points | |
CN101154289A (zh) | 基于多目相机的三维人体运动跟踪的方法 | |
CN112541969B (zh) | 一种三维人体模型骨骼动态转移绑定方法 | |
CN116362133A (zh) | 一种基于骨架的预测目标姿势下布料静态变形的双相流网络方法 | |
CN115346000A (zh) | 三维人体重建方法、装置、计算机可读介质及电子设备 | |
CN110176063B (zh) | 一种基于人体拉普拉斯变形的服装变形方法 | |
CN112365589B (zh) | 一种虚拟三维场景展示方法、装置及*** | |
CN109940894B (zh) | 一种基于有限支撑半径控制的卷积曲面混合建模方法 | |
CN111105489A (zh) | 数据合成方法和装置、存储介质和电子装置 | |
CN116248920A (zh) | 虚拟角色直播处理方法、装置及*** | |
JP3683487B2 (ja) | 外殻による3dモデルアニメーション生成方法 | |
US6879877B2 (en) | Method and apparatus for producing operation signals for a motion object, and program product for producing the operation signals | |
de Aguiar et al. | Rapid animation of laser-scanned humans | |
Tsai et al. | Two-phase optimized inverse kinematics for motion replication of real human models | |
CN107292942B (zh) | 一种权值c2连续的线性混合形状编辑方法 | |
CN113554745B (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 |