CN111739134A - 虚拟角色的模型处理方法、装置及可读存储介质 - Google Patents
虚拟角色的模型处理方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN111739134A CN111739134A CN202010750907.5A CN202010750907A CN111739134A CN 111739134 A CN111739134 A CN 111739134A CN 202010750907 A CN202010750907 A CN 202010750907A CN 111739134 A CN111739134 A CN 111739134A
- Authority
- CN
- China
- Prior art keywords
- mode
- modulus
- low
- driving
- vertex
- 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
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Abstract
本申请提供一种虚拟角色模型处理方法、装置及计算机设备,通过获取虚拟角色的高模法线贴图中多个第一高模顶点的法线向量,按照各法线向量的方向,来确定该虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点,本申请这种依据第一高模顶点的法线向量进行第一低模驱动点的确定方式,考虑到了虚拟角色的低模与高模之间的结构相似关联性,从而使本申请确定的第一低模驱动点更靠近低模上与第一高模顶点的结构位置相同的点,基于此所构建的各第一低模驱动点与相应第一高模顶点之间的驱动关系更加准确可靠,在应用运行过程中,能够据此快速、准确地实现对虚拟角色高模动画效果的动态控制,以使展示的动画效果满足应用需求。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种虚拟角色的模型处理方法、装置及可读存储介质。
背景技术
如今,三维动画技术已被应用到教育、军事、工业、娱乐等众多领域,在这些领域的实际应用中,通常是利用三维图形建模渲染技术,来绘制虚拟场景中的虚拟角色,如影视动画角色、游戏动画角色等,并能够根据虚拟角色的运动,在不同时刻,动态修改虚拟角色的表面模型中每个顶点的空间位置,从而达到所需动画效果。
在实际应用中,某些动画变形过程中,如对游戏角色所穿衣服变形过程的模拟中,需要模拟衣服上所有顶点的运动变形,往往需要复杂的数学建模、求解过程,若在虚拟角色的高模(即高精度的表面模型)上直接进行衣服模拟,就要对高模上每一个顶点进行非常复杂的数学计算,整个过程需要花费大量时间,这是游戏运行中不可接受的。因此,目前通常是调用Wrap动画变形器这一插件来满足动画变形需求。
具体的,参照图1所示的流程示意图,构建虚拟角色的一个顶点数量较少的表面模型A(即该虚拟角色的低精度的表面模型,记为低模),在该低模上进行复杂计算,得到复杂动画变形,再由Wrap动画变形器用低模的动画,驱动、改变该虚拟角色的实际表面模型B(即拥有较多顶点数量的高精度模型,记为高模)中的顶点位置,从而使表面模型B的外观发生变化,但这种处理方式中,Wrap动画变形器所依据的驱动关系并不能可靠反映低模与高模之间的结构关系,往往会降低最终展示动画效果的准确性,无法满足应用需求。
发明内容
为实现上述目的,本申请实施例提供如下技术方案:
一方面,本申请提出了一种虚拟角色模型处理方法,所述方法包括:
获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
按照所述多个第一高模顶点各自的法线向量的方向,确定所述虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
构建确定的所述第一低模驱动点与相应第一高模顶点之间的驱动关系,所述驱动关系用于指示发生运动变形的所述低模驱动点,驱动改变相应第一高模顶点的空间位置;
对所构建的驱动关系进行存储。
又一方面,本申请还提出了一种虚拟角色模型处理装置,所述装置包括:
法线向量获取模块,用于获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
第一低模驱动点确定模块,用于按照所述多个第一高模顶点各自的法线向量的方向,确定所述虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
驱动关系构建模块,用于构建确定的所述第一低模驱动点与相应第一高模顶点之间的驱动关系,所述驱动关系用于指示发生运动变形的所述低模驱动点,驱动改变相应第一高模顶点的空间位置;
驱动关系存储模块,用于对所构建的驱动关系进行存储。
又一方面,本申请还提出了一种可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现如上述的虚拟角色模型处理方法的各步骤。
基于上述技术方案,本申请实施例在构建虚拟角色的低模和高模之后,为了构建用以指示虚拟角色的低模中的点驱动高模中的点运动变形的驱动关系,实现虚拟角色的高模动画效果的动态控制,本申请实施例将获取虚拟角色的高模法线贴图中多个第一高模顶点的法线向量,从而按照各法线向量的方向,来确定该虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点,相对于现有技术将各第一高模顶点作为独立点,直接搜索低模三角面上与第一高模顶点距离最近的点为低模驱动点的方式,本实施例依据第一高模顶点的法线向量进行第一低模驱动点的确定,考虑到了虚拟角色的低模与高模之间的结构相似关联性,从而使本实施例确定的第一低模驱动点更靠近低模上与第一高模顶点的结构位置相同的点,基于此所构建的各第一低模驱动点与相应第一高模顶点之间的驱动关系更加准确可靠,在应用运行过程中,能够据此快速、准确地实现对虚拟角色高模动画效果的动态控制,以使展示的动画效果满足应用需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了传统Wrap动画变形器的应用流程示意图;
图2示出了传统Wrap动画变形器的动画驱动原理示意图;
图3示出了传统Wrap动画变形器的动画驱动原理的错误驱动结果示意图;
图4示出了本申请提供的虚拟角色模型处理方法的一可选示例的流程示意图;
图5示出了本申请提供的虚拟角色模型处理方法所述的法线搜索模式的原理示意图;
图6示出了本申请提供的虚拟角色模型处理方法所述的法线搜索模式,与传统Wrap动画变形器的动画驱动结果的对比示意图;
图7示出了本申请提供的虚拟角色模型处理方法的又一可选示例的流程示意图;
图8示出了本申请提供的虚拟角色模型处理方法的又一可选示例的流程示意图;
图9示出了本申请提供的虚拟角色模型处理方法中,搜索模式配置界面示意图;
图10示出了本申请提供的虚拟角色模型处理方法的又一可选示例的流程示意图;
图11示出了本申请提供的虚拟角色模型处理装置的一可选示例的结构示意图;
图12示出了本申请提供的虚拟角色模型处理装置的又一可选示例的结构示意图;
图13示出了本申请提供的计算机设备的一可选示例的硬件结构示意图。
具体实施方式
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。通常包括实时三维计算机图形技术,广角(宽视野)立体显示技术,对观察者头、眼和手的跟踪技术,以及触觉/力觉反馈、立体声、网络传输、语音输入输出等多种技术的综合,目前虚拟现实主要包括模拟环境、感知、自然技能和传感设备等方面,本申请对虚拟现实技术在各领域的具体应用过程不做详述。
本申请实施例中,可以利用虚拟现实技术构建应用运行展示的虚拟场景,以及该虚拟场景中的虚拟角色,给使用该应用的用户一种身临其境的感受。如游戏应用,可以利用虚拟现实技术构建各种游戏场景,进入游戏场景中的每一个游戏角色,并在游戏角色运动时,能够及时更新该游戏角色的动画效果,以使电子设备展示的游戏角色动作与相应用户的动作保持一致,满足用户对游戏角色的同步操作需求;同理,在其他如三维影视动画、三维立体教学等应用场景下,可以利用虚拟现实技术,满足用户针对当前展示的任一虚拟角色的动作需求。关于不同应用场景下的具体实现过程本申请不做一一详述。
随着虚拟现实的发展及其应用领域、应用功能的拓展,提出将人工智能(ArtificialIntelligence,AI)技术融入虚拟现实系统,并逐渐成为虚拟现实系统中的一部分,以实现虚拟角色智能化(如建模)、虚拟现实交互智能化、虚拟现实功能拓展及生产智能化等,本申请对虚拟现实技术和人工智能技术融合的具体实现方法不做详述,可视情况而定。
其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。随着人工智能技术研究和进步,人工智能的计算机视觉技术(Computer Vision,CV)、自然语言处理(Nature Language processing,NLP)、机器学习、深度学习等在很多领域展开了研究和应用。
计算机视觉技术是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。因此,其通常被应用到图像处理、图像识别、图像语义理解、图像检索、OCR(OpticalCharacter Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等领域,以及人脸识别、指纹识别等生物特征识别应用场景。
机器学习和深度学习作为人工智能的核心,是使计算机具有智能的根本途径,在如上述列举的各个领域中,具体可以采用人工神经网络、置信网络、强化学习、迁移学习、归纳学习等算法,实现相应模型或网络结构的学习训练,以满足具体应用需求。
本申请实施例在构建虚拟角色的表面模型过程中,可以结合但并不局限于上述计算机视觉技术、机器学习/深度学习技术等人工智能技术,以提高表面模型构建效率及可靠性,具体实现过程本申请不做详述。
在一些实施例的实际应用中,对于基于虚拟现实技术所实现的应用程序,如游戏、在线教育应用、在线会议应用等,可以由云服务器支持实现,即这类应用程序可以是一种以计算技术为基础的在线应用。以云游戏为例,其使图像处理与数据运算能力相对有限的轻端设备能运行高品质游戏,在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端,这样,玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力,与获取玩家输入指令并发送给云端服务器的能力即可。对于其他云应用的实现类似,本申请不做一一详述。
需要说明,对于上述应用(如游戏)的运动,并不局限于上文给出的云服务器实现,也可以由图形运算与数据处理能力较强大的终端设备实现,实现过程类似,本申请对支持应用运行的主要执行设备不做限定。
基于上文分析,在如三维游戏动画、三维影视动画等应用中的动画角色生产制作过程中,现有技术通常是通过Wrap动画变形器,来产生虚拟角色的表面变形,保证所得动画效果满足应用需求。应该理解,本申请实施例描述的动画角色是指由三维应用引擎或DCC(DigitalContent Creation,数字内容创作)软件,借助三维图形建模渲染技术,绘制的虚拟角色,本申请对虚拟角色的渲染绘制过程不做详述。本申请的DCC软件可以是生产制作动画角色所采用的一类软件的统称,如Maya、Blender、Houdini等,本申请对DCC软件的类型不做限定。
动画变形器是三维应用引擎或DCC软件中的动画工具,需要在应用动画运行时,根据虚拟角色的运动,在不同时刻,动态修改角色表面模型的每个顶点的具体空间位置,从而产生动画的效果。对于不同类型的动画变形器,通常会根据不同的原理,来动态地产生表面模型动画效果,本申请在此不做一一详述。其中,表面模型是指动画角色的外表模型数据,比如皮肤,衣服,鞋子等数据,在三维应用引擎中,该表面模型可以由一个个三角面构成,而每个三角面有3个顶点构成,也就是说,由顶点构成了三角面,又由三角面构成了虚拟角色的表面模型。
针对现有技术使用的Wrap动画变形器,本申请通过对其工作原理进行分析得知,其在动画生产制作过程中,是预选确定出虚拟角色的高模上哪些顶点,如何被该虚拟角色的低模上的哪些三角面驱动,再对该三角面建立局部坐标系,将高模上所有相应顶点,通过数学计算变换到该坐标系下,进一步通过简单计算构建低模三角面与高模上顶点之间的驱动关系,即当低模上的三角面的位置、形状发生变化时,驱动高模上相应顶点发生相应改变。
示例性的,以游戏动画应用场景为例进行说明,参照图2所示的Wrap动画变形器的动画驱动原理示意图,若低模上的点V0运动到V0’位置,V0的运动会使得点V1的位置发生变化,如变化到V1’的位置,之后,在Wrap动画变形器的作用下,可以根据该V1’的位置以及预先构建的相应驱动关系,重新计算高模上与点V1对应的点P1的位置,并使其运动到新的位置P1’,对于高模上其他顶点的运动变形位置的确定过程类似,本申请不做一一详述。需要说明的是,上述低模上的点并不一定是该低模上的实际顶点,可以是一个虚拟空间位置,仅仅拥有一个坐标值,且图2所示的线段可以表示相应三维表面模型上的三角面,但并不局限于图2所示的表示方式。
其中,对于虚拟角色的高模上的点P与低模上的点V之间的驱动关系,Wrap动画变形器一般是通过寻找最邻近点的方式构建点面驱动关系,如图2所示,对于高模上的点P1,通常是在低模上寻找一个距离其最近的点为低模驱动点,如从点P1出发,绘制一条垂直于线段V0V2的射线,将该射线与线段V0V2的交点V1确定为低模上对应于高模点P1的驱动点,以构建两者之间的驱动关系,用以在点V1的空间位置发生变化时,通过该驱动关系计算点P1运动后新的空间位置。
但在实际应用中,对于高模中的某些顶点驱动往往会发生错误,如图3所示,对于高模上的顶点P2,上述邻点搜索模式,将在低模上找到最邻近点T2,之后,当低模发生点V0运动到点V0’的动画变形时,点T2的空间位置将变化到点T2’,利用预先构建的驱动关系,将由低模上点T2’驱动高模上点P2运动到点P2’位置,这必须会降低所得动画效果的可靠性及准确性,甚至可能无法满足动画制作控制要求。
为了提高上述低模上的点对高模上的点的驱动控制可靠性,由于同一虚拟角色的低模是高模的简化,其在关键形态上应该与高模保持一致,所以,针对上述示例中的点P2,本申请更希望其与低模上的点V2建立驱动关系,在低模发生动画变形后,由点V2驱动对点P2运动,即点V2没有发生位置上的改变,那么我们希望高模上的点P2也不发生改变,或者只发生很小的改变,以达到所需动画效果。
基于上述分析及本申请希望达到的动画驱动效果的描述,本申请提出对现有的Wrap动画变形器工作原理进行改进,提出一种新的虚拟角色模型处理方法,具体是对低模上的点与高模上的点之间的驱动关系的构建方法的改进。经过上文对现有的Wrap动画变形器中该驱动关系的构建过程的描述,其是将虚拟角色高模上的每一个点看作独立、零散的点,实现该驱动关系的构建,才会导致上述技术问题。但实际上,上述示例中高模上的点P2与低模上的点V2之间具有结构上的相似性,本申请提出利用该结构上的相似性,从点P2出发找到低模上更接近V2的驱动点。具体实现过程可以参照但并不局限于下文实施例相应部分的描述。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
应当理解,本申请中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
另外,本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
参照图4,为本申请提供的虚拟角色模型处理方法的一可选示例的流程示意图,该方法可以适用于计算机设备,该计算机设备可以包括服务器和/或电子设备,该服务器可以包括物理服务器或支持云计算的云服务器,该电子设备可以包括智能手机、平板电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、台式计算机等,本申请对该计算机设备的产品类型不做限定,可依据实际应用场景需求确定。需要说明,本申请实施例描述的虚拟角色模型处理方法可以是在应用动画生产制作阶段执行,如游戏生产制作阶段执行,但并不局限于此,如图4所示,该方法可以包括:
步骤S11,获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
关于虚拟角色的高模和低模构建过程,本申请实施例不做详述,本申请实施例主要对高模中的点与低模中的点之间的驱动关系的构建过程描述。
本实施例实际应用中,虚拟角色的表面模型(本实施例可以指上述高模)上的点通常需要指定一个法线向量,以便在渲染过程中使用,且该法线向量可以表示表面模型上的一个点实际的朝向。需要说明,该法线向量是一个三维单位向量,可以映射到RGB空间中,看作是一个像素点的颜色值,本申请可以将表面模型上所有点的法线向量存储在一张图像上,称为表面法线贴图。按照这种方式,本申请可以将针对虚拟角色的高模制作的表面法线贴图记为高模法线贴图,本实施例对该高模法线贴图的具体制作过程不做详述。
由此可见,针对需要渲染的虚拟角色高模制作的高模法线贴图中,存储了构成高模的三角面上每个点的法线向量,本申请提出按照该法线向量为搜索方向,确定低模上与该点对应的驱动点,能够很好地体现高模上一点的局部结构特征,保证所得驱动点可靠性,更好地接近目标点P。需要说明,本申请对针对各虚拟角色的高模制作的高模法线贴图的存储方式不做限定。
基于此,本申请确定本次需要处理的虚拟角色后,可以调取预先存储的该虚拟角色对应的高模法线贴图,获取该高模法线贴图中多个第一高模顶点各自的法线向量。其中,第一高模顶点可以是该虚拟角色的高模包含的所有高模顶点中,需要按照本实施例提出的法线搜索模式,确定其对应低模驱动点的高模顶点,可以是该高模具有的全部高模顶点,或部分高模顶点,本申请对第一高模顶点的数量及其在虚拟角色高模中的空间位置不做限定,可视情况而定。
步骤S12,按照多个第一高模顶点各自的法线向量的方向,确定虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
结合上文对现有技术问题及本申请技术构思的描述,为了解决上述邻点搜索模式导致所得低模驱动点不准确的问题,本申请将利用高模的表面法线来搜索高模上顶点的低模驱动点,具体以第一高模顶点的法线向量为搜索方向,来搜索低模三角面上,与该第一高模顶点距离最近的低模顶点,记为第一低模顶点。
继上述示例,本实施例在确定第一高模顶点的第一低模驱动点的过程中,参照图5所示的法线搜索模式,本申请实施例可以按照上述方式获取虚拟角色高模的多个第一高模顶点各自的法线向量之后,如图5中的高模顶点P(如P0、P1、P2等但并不局限于图5列举的第一高模顶点,可以根据实际需求确定,参照但并不局限于下文实施例相应部分的确定方法)的法线向量N(如N0、N1、N2等,但并不局限于图5列举的法线向量,可以依据所确定的第一高模顶点数量及位置确定),可以按照各第一高模顶点的法线向量方向,搜索低模三角面上的各点,在该方向上与相应第一高模顶点距离最近的点,即可确定为该第一高模顶点对应的第一低模驱动点,具体搜索过程不做限定。
如图5所示,对于虚拟角色高模上的第一高模顶点P2,按照本实施例提出的这种法线搜索模式,可以在该虚拟角色低模三角面中,确定对应的第一低模驱动点V2(该第一低模驱动点也可能是图5中点V2临近点,并不限定图5中的低模顶点V2),区别于按照现有的邻点搜索模式得到的低模驱动点T2。对于该虚拟角色高模上的其他第一高模顶点,也可以按照这种法线搜索模式,确定对应的第一低模驱动点,本实施例不做一一详述。
步骤S13,构建确定的第一低模驱动点与相应第一高模顶点之间的驱动关系;
结合上述分析,该驱动关系将用于指示发生运动变形的低模驱动点,驱动改变相应第一高模顶点的空间位置,但本申请对该驱动关系的表示方式不做限定,如矩阵、数组等方式,可视情况而定。
应该理解的是,对于获取的虚拟角色的高模上的每一个第一高模顶点,均可以构建其与相应第一低模驱动点之间的驱动关系,这样,可以得到与第一高模顶点数量相同的驱动关系,即得到多个驱动关系;当然,根据实际需求,本申请也可以由一个驱动矩阵来表示不同第一高模顶点与第一低模驱动点之间的驱动关系,本申请对此不做限定。
在一些实施例中,完成上述驱动关系的构建后,为了保证所构建的驱动关系的可靠性及准确性,可以对其进行验证,验证结果满足动画要求,执行后续步骤;验证结果不满足动画要求,可以对上述驱动关系进行更新,再对更新后的驱动关系继续验证,直至验证结果满足动画要求。具体实现过程可以参照但并不局限于下文实施例相应部分的描述。
继上述分析,如图5所示,确定第一高模顶点P2对应的第一低模驱动点V2之后,当虚拟角色的低模在其他动画变形器(即除Wrap动画变形器之外的其他类型的动画变形器)驱动下,低模上的点V0运动到V0’位置,即发生低模动画变形时,结合上述分析,该虚拟角色的高模上的第一高模顶点P2更可能与低模上的点V2保持一致,不发生运动变形,即第一高模顶点P2的空间位置此刻保持不变,相对于如图3所示的现有的Wrap动画变形器的驱动控制,即利用第一高模顶点P2与低模驱动点T2之间的驱动关系,第一高模顶点P2被低模驱动点T2’驱动,改变到点P2’的位置上。很明显,本申请构建的第一高模顶点P2与第一低模驱动点V2之间的驱动关系,能够正确反映同一虚拟角色的低模与高模之间的结构相似关系,可靠性较高,能够使得虚拟角色运动后的最终表面模型动画,更符合用户的视觉感知,具有更好的真实性。
步骤S14,对所构建的驱动关系进行存储。
结合上文对Wrap动画驱动器的相关描述可知,虚拟角色的高模上的点与低模上的点之间的驱动关系的构建,是在Wrap动画驱动器的预计算阶段完成的,即在应用生产制作阶段构建,用以在Wrap动画驱动器的驱动阶段,即应用运行阶段调用,以实现低模上的点对高模上的点的驱动,完成虚拟角色整个高模的动画变形,得到满足应用需求的动画效果。
以游戏应用为例,在游戏生产阶段,本申请可以通过能够实现上述方法的改进后的Wrap动画变形器这一插件,将改进后的Wrap动画变形器插入游戏引擎的动画/渲染管线中,以使得游戏动画的美术制作人员可以为每一个动画角色(即虚拟角色)的表面模型(其指上述高模)添加改进后的Wrap动画变形器,并确定该动画角色的一个新的表面模型为低模,使其能够受到其他动画变形器的驱动,具体驱动过程不做详述。
在完成上述准备工作后,可以按照本实施例上文描述的方法步骤,来构建动画角色的高模上多个第一高模顶点,与低模上的第一低模驱动点之间的驱动关系并存储,用以后续游戏运行阶段,调用预先构建的驱动关系,据此快速且准确实现对游戏角色的高模中各点运动变形的控制,得到所需游戏动画效果,本申请对如何利用所构建的驱动关系,实现虚拟角色的高模动画效果的动态控制。
需要说明的是,在应用运行之前确定虚拟角色的高模中的点,与低模中的点之间的驱动关系之后,在应用执行阶段,针对该应用中的各虚拟角色构建的驱动关系将维持不变。当更具应用功能的更新需求等,需要对该驱动关系进行调整时,可以按照上述方式重新构建驱动关系,即对原版本应用的驱动关系进行更新,得到新版本的应用,这样,在执行新版本应用时,就可以按照更新后的驱动关系进行应用动画效果的动态控制。
综上所述,在构建虚拟角色的低模和高模之后,为了构建用以指示虚拟角色的低模中的点驱动高模中的点运动变形的驱动关系,实现虚拟角色的高模动画效果的动态控制,本申请实施例将获取虚拟角色的高模法线贴图中多个第一高模顶点的法线向量,从而按照各法线向量的方向,来确定该虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点,相对于现有技术将各第一高模顶点作为独立点,直接搜索低模三角面上与第一高模顶点距离最近的点为低模驱动点的方式,本实施例依据第一高模顶点的法线向量进行第一低模驱动点的确定,考虑到了虚拟角色的低模与高模之间的结构相似关联性,从而使本实施例确定的第一低模驱动点更靠近低模上与第一高模顶点的结构位置相同的点,基于此所构建的各第一低模驱动点与相应第一高模顶点之间的驱动关系更加准确可靠,在应用运行过程中,能够据此快速、准确地实现对虚拟角色高模动画效果的动态控制,以使展示的动画效果满足应用需求。
参照图7,为本申请提供的虚拟角色模型处理方法的又一可选示例的流程示意图,本实施例可以是对上述实施例提出的虚拟角色模型处理方法的一可选细化实现方式,但并不局限于本实施例描述的这种实现方式,如图7所示,该方法可以包括:
步骤S21,获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
关于步骤S21的具体实现过程,可以参照上述实施例相应部分的描述,本实施例不做赘述。
步骤S22,按照多个第一高模顶点各自的法线向量的方向,构建相应的法线射线;
参照上图5所示的第一低模驱动点确定方法示意图,在确定当前的虚拟角色的高模中的第一高模顶点的空间位置,即第一高模顶点在三维坐标系中的位置信息,以及在该高模构建过程中,该第一高模顶点处的法线向量,其可以是三维单位向量,可以指向该第一高模顶点在三维坐标系中的实际朝向,具体由该第一高模顶点在三维坐标系中坐标值确定,如该三维坐标系可以是RGB坐标系,该第一高模顶点的空间位置可以是其在RGB坐标系中的颜色值,本申请对各第一高模顶点分别对应的法线向量的朝向及表示方式不做限定,可视情况而定。
如上图5所示,虚拟角色的高模上的第一高模顶点(可以包括但并不局限于图5所示的高模所属线段中的圆点所表示的点,可根据实际情况确定)各自对应的法线向量,由朝向低模的射线(记为法线射线)表示,箭头方向可以表示相应法线向量的朝向,即相应第一高模顶点的实际朝向。
步骤S23,获取构建的法线射线与虚拟角色的低模三角面的交点位置信息;
继上文分析,如图5所示,对于各第一高模顶点处构建的法线射线,按照箭头所示方向延长,将会与该虚拟角色的低模三角面(图5仅以三角面中的线段表示该三角面)相交,应该理解,所得交点可能不是该低模的顶点,而是一个拥有虚拟空间位置的虚拟点,具体的,本申请可以依据相应第一高模顶点的位置信息、法线向量的朝向、以及该虚拟角色的低模和高模之间的结构相似关系等信息,对每一个第一高模顶点的法线射线和低模进行求交点计算,得到相应的交点位置信息,但本申请对各第一高模顶点与相应虚拟角色的低模三角面相交的交点位置信息的获取方法不做限定,可视情况而定。
需要说明,关于如何利用第一高模顶点的法线向量,在同一虚拟角色的低模上确定与该第一高模顶点的结构更加相似的点为第一低模驱动点的方法,并不局限于本实施例描述的这种法线射线构建方式,可以根据实际应用需求确定。
步骤S24,将该低模三角面上该交点位置信息对应的点确定为相应第一高模顶点的第一低模驱动点;
结合上述分析,本申请这种利用高模顶点的法线向量的方式,在同一虚拟角色的低模三角面上确定一交点的方式,所得交点位置信息相对于上述将各高模顶点作为独立点,查找低模上的最邻近点所得点T2的位置信息,能够更好地接近该虚拟角色低模上,与该第一高模顶点的结构位置相同的低模顶点V2,甚至如图5所示交点可能就是该低模顶点V2。基于此,相对于上述将最邻点确定为低模驱动点,本申请将所确定的低模三角面上的点(其可能是低模顶点,也可能是低模三角面上的虚拟点,可视情况而定)确定为该第一高模顶点对应的第一低模驱动点,能够在应用运行期间,利用该对应关系得到更好地动画驱动效果,所以说,本申请所确定的各第一高模顶点的第一低模驱动点更加可靠且准确性。
步骤S25,利用第一低模驱动点的交点位置信息,及相应第一高模顶点的顶点位置信息,构建第一低模驱动点与相应第一高模顶点之间的驱动关系;
基于上文对驱动关系的功能描述可知,本申请需要在应用运行过程(如游戏运行期间)中,在虚拟角色运动期间,其他动画变形器驱动其低模运动变形后,Wrap动画变形器能够利用预先所构建的驱动关系,准确且可靠地驱动高模上的点运动,使得最终所得虚拟角色的高模表面动画,更符合用户的视觉感知,具有更好的真实性。
在本申请实际应用中,按照上述方式,确定虚拟角色的各第一高模顶点所对应的低模三角面上的第一低模驱动点之后,可以对该低模三角面构建局部坐标系,并将高模上的所有相应高模顶点的位置信息,通过数学运算,变换到该局部坐标系上,之后可以通过对同一坐标系下,第一低模驱动点与相应第一高模顶点之间的位置信息进行关系计算,构建两者之间的驱动关系,如驱动矩阵等。需要说明,关于上述驱动关系的具体构建方法及其表示方式,并不局限于本申请实施例描述的内容,可以根据实际需求灵活调整,本申请不做一一详述。
步骤S26,对所构建的驱动关系进行存储。
本申请对驱动关系的存储方式不做限定。
综上,本申请实施例在构建虚拟角色的低模上的点,与该虚拟角色高模上的点之间的驱动关系时,将考虑该高模与低模之间的结构相似关联性,从而按照高模上的各第一高模顶点的法线向量方向,构建相应的法线射线,来计算该法线射线与低模三角面的交点的交点位置信息,从而将该交点确定为相应第一高模顶点的第一低模驱动点,构建该第一高模顶点与该第一低模驱动点之间的驱动关系,以便在实际应用中,该虚拟角色的低模三角面的位置、形状发生变化时,能够按照该驱动关系驱动相应的高模顶点随着改变,可靠且准确地达到该虚拟角色所需的动画效果。
参照图8,为本申请提供的虚拟角色模型处理方法的又一可选示例的流程示意图,本实施例可以是对上述实施例提出的虚拟角色模型处理方法的一可选优化实现方式,具体的,本申请实施例可以根据实际需求,选择虚拟角色高模上的部分高模顶点,按照上述法线搜索模式确定相应的第一低模驱动点,对于其他高模顶点,可以按照其他方式确定相应的低模驱动点,如最邻点搜索模式等,但并不局限于本实施例描述的这种优化方式,本申请仅以此为例进行说明。如图8所示,该方法可以包括:
步骤S31,输出针对虚拟角色的低模驱动点的搜索模式配置界面;
继上文描述,在应用开发阶段,通过插件将本申请改进后的Wrap动画变形器插入应用引擎的动画/渲染管线中,美术制作人员可以在每一个虚拟角色的表面模型添加该Wrap动画变形器,启动该Wrap动画变形器,可以进入Wrap动画变形器的配置界面,即针对该虚拟角色的低模驱动点的搜索模式配置界面,如图9所示的界面示意图,但并不局限于图9所示的搜索模式配置界面,可以根据实际需求灵活调整该界面的样式及其包含的内容。
且需要说明的是,关于对搜索模式配置界面的输出触发方式,也并不局限于上文描述的触发方式,可视情况而定。
步骤S32,响应针对该搜索模式配置界面的配置请求,确定该虚拟角色的低模属性、高模属性以及低模驱动点的搜索模式类别;
以上图9所示,美术制作人员可以实际需求,选定虚拟角色的主驱动模型名称即低模名称,也可以是该虚拟角色的其他低模属性,用来从各虚拟角色的表面模型中,识别该虚拟角色的低模;同时,还可以选定该虚拟角色被驱动模型名称即高模名称,同理,此时也可以依据该虚拟角色的其他高模属性,来表示该虚拟角色的高模,以使计算机设备据此可靠从多个高模中识别出该虚拟角色的高模。此外,根据应用动画开发需求,本申请还可以由美术制作人员指定代理模型名称(即图9中的Proxy模型,也可以采用其他类型的代理模型,可根据实际需求确定),利用该代理模型来模拟高模进行模型、驱动关系等优化,具体工作原理不做详述。
其中,对于本次开发应用所涉及到的各虚拟角色的高模、低模等,通常是已由开发人员完成,在驱动关系构建或更新阶段,美术制作人员可以直接选择调用即可,如点击图9中高模名称右侧下三角,可以输出供选择的至少一个高模,可以从中选择当前虚拟角色的高模名称(或其他高模属性),但并不局限于这种选定方式。
按照上述方式,确定本次要构建或更新驱动关系的虚拟角色的高模和低模之后,还可以根据实际需求,在搜索模式配置界面中,选择构建或更新该驱动关系采用的方式,其包括但并不局限于图9所示的最近邻点搜索(即上文描述的邻点搜索模式)、通过法线搜索(即上文描述的法线搜索模式),通过法线搜素模式的搜索范围即邻边夹角阈值过滤,以及参考模型拓扑关系等多种搜索模式类别,美术制作人员可根据实际需求从中选择,本次构建或更新驱动关系所采用的搜索模式。需要说明,本申请也可以根据应用需求自定义新的搜索模式,本申请在此不做一一详述。
其中,图9所示的邻边夹角阈值过滤可以表示,本申请将筛选小于该邻边夹角阈值的高模顶点为第一高模顶点。具体的,本申请可以将0~1之间的数值映射为0度~180度之间的角度值,且该角度值可以是高模顶点的任意两个邻边之间的夹角。本申请可以将当前高模的各高模顶点对应的邻边夹角中,小于配置的夹角阈值(即邻边夹角阈值)的邻边夹角对于的高模顶点记为第一高模顶点,后续这些第一高模顶点可以通过法线搜索模式,确定其对应的低模驱动点。需要说明,本申请对高度顶点邻边的夹角阈值大小不做限定,可视情况而定。
如图9所示,当需要选择部分高模顶点作为第一高模顶点,执行法线搜索模式的情况下,美术制作人员可以选定通过法线搜索选项,以及邻边夹角阈值过滤这一选项,并在邻边夹角阈值过滤右侧中,输入具体夹角阈值,如点击向上或向下三角选择,或直接输入该夹角阈值,本申请对此不做限定。
应该理解,由于搜索模式配置界面包含的内容,可能并不局限于图9所示的内容,本申请可以根据该搜索模式配置界面实际包含的内容进行配置,完成配置后,可以点击“更新驱动关系”,以按照所配制的各信息,构建所选择的低模的点与低模的点之间的驱动关系。
步骤S33,检测该搜索模式类别包含法线搜索模式;
步骤S34,从该高模属性对应的多个高模顶点中,确定符合法线搜索模式的搜索条件的多个第一高模顶点;
继上述分析,确定对本次选择高模上的点与低模上的点之间的驱动关系构建过程中,需要采用法线搜索方式,以保证所得驱动关系可靠准确性,本申请可以按照上述方式选择如图9所示的“通过法线搜索”、“邻边夹角阈值过滤”,并设置具体的夹角阈值,从而由此构成法线搜素模式的搜索条件,即高模定点在高模三角面(即上述配置的高模属性对应的高模三角面)中任意相邻边之间的夹角小于该夹角阈值。需要说明,该夹角阈值可以当前选定的高模结构特点确定,对于不同结构的高模,其对应的夹角阈值往往不同,本申请在此不做一一详述。
基于此,在一些实施例中,从高模属性对应的多个高模顶点中,确定符合法线搜索模式的搜索条件的多个第一高模顶点的实现过程具体可以是为:确定当前虚拟角色的高模上的点与低模上的点之间的驱动关系的构建,需要采用法线搜索模式,本申请可以获取当前选定的高模属性对应的多个高模顶点,在该高模属性对应的所在高模三角面中相邻边之间的夹角,并将小于夹角阈值的该夹角对应的高模顶点确定为第一高模顶点。此时,若存在对应夹角不小于该夹角阈值的高模顶点,为了区分描述,可以将这类高模顶点记为第二高模顶点。
步骤S35,从该高模属性对应的多个高模顶点中,确定不符合法线搜索模式的搜索条件的第二高模顶点;
步骤S36,响应针对虚拟角色的低模与高模之间的驱动关系的更新请求,按照多个第一高模顶点各自的法线向量的方向,确定虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
步骤S37,构建确定的第一低模驱动点与相应第一高模顶点之间的驱动关系;
关于步骤S36和步骤S37如何按照法线搜索模式,确定各第一高模顶点对应的第一低模驱动点,并构建第一低模驱动点与相应第一高模顶点之间的驱动关系的实现过程,可以参照上述实施例相应部分的描述,本实施例不做赘述。
步骤S38,从低模属性对应的低模三角面中,确定与第二高模顶点的空间距离最小的点为第二高模顶点的第二低模驱动点;
参照上图2所示的邻点搜索模式实现方式示意图,这种搜索模式是要寻找低模上一个距离该第二高模顶点最近的一点,在一种可能的实现方式,以高模上的第二高模顶点P1为例进行说明,本实施例可以从第二高模顶点P1出发,构建一条垂直于对应低模线段V0V2(即该第二高模顶点P1对应低模三角面)的射线,确定该射线与低模三角面的交点V1,将其确定为该第二高模顶点P1对应低模驱动点,记为第二低模驱动点,但并不局限于这种确定第二低模驱动点的实现方式,可以根据实际需求计算出低模上与第二高模顶点距离最小的点,具体计算过程本实施例不做详述。
结合上文对法线搜索模式及邻近点搜索模式的分析,对于虚拟角色的高模中,如上述高模顶点P1这类第二高模顶点,按照邻近点搜索模式,确定相应的低模驱动点,也能够保证所得低模驱动点的准确可靠性,但对于如高模顶点P2这类第一高模顶点,若按照邻近点搜索模式,所得到的低模驱动点不够准确,无法得到可靠且准确地高模顶点动画效果,因此,对于这类第一高模顶点,本申请实施例可以采用法线搜索模式,可靠确定相应的第一低模驱动点,以得到更好的高模动画效果。
在实际应用中,在虚拟角色的高模顶点分为第一高模顶点和第二高模顶点两类的情况下,在搜索模式配置界面进行搜索模式的配置时,需要同时选择如图9中的“最近邻点搜索”、“通过法线搜索”、“邻边夹角阈值过滤”这三个选项,且法线搜索模式的优先级高于最近邻点搜索模式,因此,可以按照上述方式,在基于邻边夹角阈值过滤对应的夹角阈值,确定该法线搜索模式的搜索条件后,先从当前选定的高模的各高模顶点中,确定出符合该搜索条件的第一高模顶点,并将剩余的其他高模顶点即不符合搜索条件的高模顶点确定为第二高模顶点。
基于上述分析,在本申请实际应用中,上述邻边夹角阈值过滤对应形成的搜索条件,实际上是用于区分高模的各高模顶点是采用法线搜索模式,还是邻点搜索模式,确定低模上相应的低模驱动点的识别条件,包括但并不局限于上文列举的条件内容。
应该理解,在上述得到的搜索模式类别中未检测到法线搜索模式的情况下,可以直接执行步骤S38,此时可以将高模上的各高模顶点确定为第二高模顶点,当然,也可以在该邻点搜索模式的基础上,结合其他搜索模式,可以根据实际情况确定,本申请不做一一详述。
步骤S39,构建确定的第二低模驱动点与相应第二高模顶点之间的驱动关系;
关于第二低模驱动点与相应第二高模顶点之间的驱动关系的确定方式,及其表示方式,可以与上述第一低模驱动点与相应第一高模顶点之间的驱动关系的确定方式及表示方式,本实施例对如何利用低模驱动点与高模顶点之间的对应关系,构建相应的驱动关系的实现方法不做限定。
需要说明的是,对于上述所选定的高模上的各高模顶点,在确定其采用的低模驱动点的搜索模式后,各高模顶点可以同步按照上述法线搜索模式或邻点搜索模式,确定低模三角面上对应的低模驱动点,并不局限于本申请给出的执行顺序,可视情况而定。
在一些实施例中,对于上述驱动关系的确定,根据需要还可以采用手工标注的方式,但这种方式操作繁琐,准确性较低且人力开销大,因此,本申请在确定高模上的点与低模上的点的驱动关系时,优先按照本实施例描述的方式,实时快速实现驱动关系的构建,且能够保证所构建的驱动关系比现有的Wrap动画变形器所依据的驱动关系更加准确可靠,能够得到更好的高模动画效果。
步骤S310,对构建的驱动关系进行存储。
在一些实施例中,本申请按照上述方式,构建高模上各高模顶点与低模驱动点之间的驱动关系后,可以在DCC制作软件中,查看按照该驱动关系,实现对该虚拟角色的高模动画的驱动效果,若所得高模动画效果不满足要求,可以按照上述方式,继续更新驱动关系,如调整构成上述搜索条件的夹角阈值,或更改搜索模式等,重新在DCC制作软件查看按照新的驱动关系,所实现的该虚拟角色的高模动画效果,直至满足实际要求,对最终所得驱动关系进行存储。可见,步骤S310所存储的驱动关系可以是经过验证后满足动画效果要求的驱动关系,但对于驱动关系的验证方法,并不局限于本实施例描述的验证方法,可以根据实际需求确定。
综上所述,在本实施例中,在需要构建虚拟角色的高模上的点与低模上的点的驱动关系时,为了辅助应用中虚拟角色的美术制作人员,制作满足艺术要求的表面模型的动画变形,本申请将调用改进的Wrap动画变形器插件,在节点中允许美术制作人员以更加符合表面模型结构特征的方式,更加灵活的机制,来确定上述驱动关系。具体的,对于虚拟角色高模中的所有高模顶点,本实施例将选择一部分满足搜索条件的第一高模顶点,按照法线搜索模式搜索低模上的第一低模驱动点,而对于剩余不满足该搜索条件的第二高模顶点,则按照邻点搜索模式搜索低模上的第二低模驱动点,以解决传统Wrap动画变形器只能够按照邻点搜索模式,确定低模上与各高模顶点分别对应的低模驱动点,不考虑高模与低模之间的结构相似关联性,容易导致所确定的低模驱动点不可靠,导致无法得到满足要求的高模动画效果的技术问题。
需要说明的是,对于本申请构建驱动关系的实现过程中,确定虚拟角色低模上,与高模上的各高模顶点对应的低模驱动点时,可以采用上述实施例描述的法线搜索模式与邻点搜索模式结合的方式实现,也可以采用法线搜素模式与其他搜索模式结合的方式实现,甚至可以采用这种法线搜索模式实现,或者是仅采用邻点搜索模式实现等,具体可以依据当前所选定的虚拟角色高模和低模的结构特征确定,本申请在此不做一一详述。
参照图10,为本申请提供的虚拟角色模型处理方法的又一可选示例的流程示意图,本实施例主要是在按照上述实施例提出的虚拟角色模型处理方法,构建并存储虚拟角色的低模上的点与高模上的点之间的驱动关系之后,在高模动画驱动过程中对该驱动关系的应用过程的描述,但并不局限于本实施例描述的这种应用方式,本申请仅以此为例进行说明。如图10所示,该方法可以包括:
步骤S41,获取针对虚拟角色的动作指令;
在本申请实施例应用中,上述动作指令可以基于输入设备的输入操作确定,如用户点击当前界面显示的动作按钮(其可以是虚拟控制按键)、或点击输入设备(如鼠标、键盘等)中表示相应动作指令的功能按、或用户说的语音指令、或者是在用户佩戴/手持输入设备(如手套、头盔等智能穿戴设备、应用操作手柄等)时,相应身体部分动作,产生的相应动作指令等等,本申请对该动作指令的具体生成方式不做限定,可以根据具体应用场景确定,包括但并不局限于上文列举的生成方式。
步骤S42,响应该动作指令,得到虚拟角色的低模上发生运动变形的目标低模驱动点的第一目标位置信息;
结合上文实施例相应部分的描述,当虚拟角色运动的情况下,可以由其他动画变形器依据该动作指令,来驱动该虚拟角色的低模发生运动变形,此时,该动作指令可以包括虚拟角色运动变形参数,以确定低模上的点向什么方向变形以及变形成什么形状等,本申请对如何在其他复杂动画变形器的作用下,驱动低模发生运动变形的具体实现过程不做详述。
其中,对于低模上发生运动变形的驱动点,本实施例可以记为目标低模驱动点,在其他动画变形器的驱动下,使得该低模发生运动变形,可能低模上所有的点都发生了变形,也可能仅部分点发生变形,使其所构成的三角面发生形状改变,而另一部分点并未发生变形,其对应的三角面通常不会发生形状改变,这部分对应的动画效果可以认为未改变,本申请实施例主要针对发送变形的这部分低模驱动点进行分析,因此,本实施例可以确定低模上发送运行变形的目标低模驱动点的第一目标位置信息,即运动变形后的位置信息,本申请对该第一目标位置信息的具体获取过程不做详述。
步骤S43,利用目标低模驱动点的目标位置信息及驱动关系,获取目标高模顶点的第二目标位置信息;
其中,目标高模顶点是指高模上与目标低模驱动点具有驱动关系的高模顶点。
结合Wrap动画变形器的工作原理,在预先按照构建该虚拟角色的低模上的每个三角面(即低模驱动点所在的三角面)和相应高模顶点之间的驱动关系之后,用于该驱动关系在应用运行过程中不变,本申请实施例可以在低模运动变形后,根据变形后的低模上目标低模驱动点的第一目标位置信息,重新构建局部坐标系(其可以表达为一个矩阵,但并不局限于此),之后,将各目标低模驱动点在该局部坐标系中的第一目标位置信息,乘以预设的驱动关系(如相应的驱动矩阵),可以完成驱动高模顶点的过程,即得到高模上目标高模顶点的第二目标位置信息。
步骤S44,利用第二目标位置信息,更新虚拟角色的高模法线贴图;
步骤S45,依据更新后的高模法线贴图,重新渲染虚拟角色并输出。
需要说明,本申请对得到虚拟角色的高模变形后的目标高模顶点的第二目标位置信息后,如何重新渲染虚拟角色,得到高模动画效果的实现过程不做详述。
综上所述,本申请实施例中,结合上述法线搜索模式,来确定虚拟角色的低模上,与各第一高模顶点(即符合搜索条件的高模顶点)结构相似的第一低模驱动点,构建该第一高模顶点与第一低模驱动点之间的驱动关系,对于不符合搜索条件的第二高模顶点,仍可以按照传统Wrap动画变形器的驱动关系构建方式,来构建第二高模顶点与第二低模驱动点之间的驱动关系,这样,在应用运行过程中,其他动画变形器驱动低模运动变形后,本申请改进后的Wrap动画变形器利用该驱动关系,由低模上发生变形的低模驱动点,来驱动高模上对应的高模顶点运动变形,将准确且可靠地达到所需的高模动画效果。
基于上述各实施例描述的虚拟角色模型处理方法,本申请将以游戏动画驱动场景为例进行说明,在游戏生产阶段,本申请可以通过改进的Wrap动画变形器(即能够实现本申请提出的虚拟角色模型处理方法的Wrap动画变形器)的插件,将该Wrap动画变形器插入游戏引擎的动画/渲染管线中,美术制作人员可以为游戏中的每一个动画角色的表面模型添加该Wrap动画变形器,并将该表面模型作为该动画角色的高模,另外,手动为该动画角色制定一个顶点数量较少的新表面模型为低模,该低模可以受到其他动画变形器驱动,驱动原理不做详述。
之后,启动进入Wrap动画变形器的UI界面,美术制作人员可以选择“通过法线搜索”选项,以使计算机设备按照上述实施例描述的方式,确定动画角色的高模顶点对应的低模驱动点。根据实际需要,本申请可以对其做进一步优化,即选择部分高模顶点记为第一高模顶点,采用法线搜索模式进行搜索,其他高模顶点继续采用邻点搜索模式进行搜索,具体实现过程可以参照上述实施例相应部分的描述,本实施例不做赘述。按照本申请提出的处理方法,方便了美术制作人员更好、更快捷地确定动画角色的高模和低模之间的驱动关系,在游戏运行阶段,按照该驱动关系驱动,能够使最终的模型表面动画,更符合游戏玩家的视觉感知,具有更好的真实性。
参照图11,为本申请提出的虚拟角色模型处理装置的一可选示例的结构示意图,该装置可以适用于上述计算机设备,如图11所示,该装置可以包括:
法线向量获取模块11,用于获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
第一低模驱动点确定模块12,用于按照所述多个第一高模顶点各自的法线向量的方向,确定所述虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
驱动关系构建模块13,用于构建确定的所述第一低模驱动点与相应第一高模顶点之间的驱动关系,所述驱动关系用于指示发生运动变形的所述低模驱动点,驱动改变相应第一高模顶点的空间位置;
驱动关系存储模块14,用于对所构建的驱动关系进行存储。
在一些实施例中,上述第一低模驱动点确定模块12可以包括:
法线射线构建单元,用于按照所述多个第一高模顶点各自的法线向量的方向,构建相应的法线射线;
交点位置信息获取单元,用于获取构建的所述法线射线与所述虚拟角色的低模三角面的交点位置信息;
第一低模驱动点确定单元,用于将所述低模三角面上所述交点位置信息处的点确定为相应第一高模顶点对应的第一低模驱动点;
相应地,上述驱动关系构建模块13具体可以用于,利用所述第一低模驱动点的交点位置信息,及相应第一高模顶点的顶点位置信息,构建所述第一低模驱动点与相应第一高模顶点之间的驱动关系。
在一些实施例中,如图12所示,上述装置还可以包括:
搜索模式配置界面输出模块15,用于输出针对所述虚拟角色的低模驱动点的搜索模式配置界面;
搜索配置确定模块16,用于响应针对所述搜索模式配置界面的配置请求,确定所述虚拟角色的低模属性和高模属性,以及所述虚拟角色的低模驱动点的搜索模式类别;
第一高模顶点确定模块17,用于在搜索模式类别包括法线搜索模式的情况下,从所述高模属性对应的多个高模顶点中,确定符合所述法线搜索模式的搜索条件的多个第一高模顶点。
在一种可能的实现方式中,上述第一高模顶点确定模块17可以包括:
夹角获取单元,用于获取所述高模属性对应的多个高模顶点,在所述高模属性对应的所在高模三角面中相邻边之间的夹角;
第一高模顶点确定单元,用于将小于夹角阈值的所述夹角对应的高模顶点确定为第一高模顶点。
基于此,若所述多个高模顶点中包含不符合所述搜索条件的第二高模顶点,和/或所述搜索模式类别包括邻点搜索模式,本申请提出的上述装置还可以包括:
第二低模驱动点确定模块,用于从所述低模属性对应的低模三角面中,确定与所述第二高模顶点的空间距离最小的点为所述第二高模顶点的第二低模驱动点;
上述驱动关系构建模块还用于,构建确定的所述第二低模驱动点与相应所述第二高模顶点之间的驱动关系。
进一步地,上述装置还可以包括:
驱动关系验证模块,用于对构建的所述驱动关系进行验证,如果验证结果满足动画要求,触发上述驱动关系存储模块对所构建的驱动关系进行存储;
更新请求生成模块,用于在验证结果不满足所述动画要求的情况下,生成针对不满足所述动画要求的驱动关系的更新请求;
其中,动画要求可以根据实际需求确定,通常是对最终模型的动画效果确定,本申请对该动画要求包含的内容不做限定。
驱动关系更新模块,用于响应所述更新请求,按照所述法线搜索模式和/或邻点搜索模式,更新当前存储的所述驱动关系。
在上述各实施例的基础上,该装置还可以包括:
动作指令获取模块,用于获取针对所述虚拟角色的动作指令;
第一目标位置信息得到模块,用于响应所述动作指令,得到所述虚拟角色的低模上发生运动变形的目标低模驱动点的第一目标位置信息;
第二目标位置信息获取模块,用于利用所述目标低模驱动点的目标位置信息及所述驱动关系,获取目标高模顶点的第二目标位置信息,所述目标高模顶点是指所述高模上,与所述目标低模驱动点具有驱动关系的高模顶点;
高模法线贴图更新模块,用于利用所述第二目标位置信息,更新所述虚拟角色的高模法线贴图;
渲染模块,用于依据更新后的高模法线贴图,重新渲染所述虚拟角色;
输出模块,用于输出渲染后的虚拟角色。
需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现上述的虚拟角色模型处理方法的各步骤,具体实现过程可以参照上述实施例相应部分的描述,本实施例不做赘述。
本申请还提出了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟角色模型处理方法方面或虚拟角色模型处理装置方面的各种可选实现方式中所提供方法,具体实现过程可以参照上述相应实施例的描述,不做赘述。
参照图13,为本申请实施例提出的计算机设备的一可选示例的硬件结构示意图,该计算机设备可以适用于本申请上述实施例提出的虚拟角色模型处理方法和/或虚拟角色模型处理装置,如上文描述,其可以是服务器和/或电子设备,本申请对该计算机设备的产品类型不做限定,如图13所示,该计算机设备的硬件结构可以包括:通信接口21、存储器22和处理器23;
在本申请实施例中,通信接口21、存储器22、处理器23可以通过通信总线实现相互间的通信,且该通信接口21、存储器22、处理器23及通信总线的数量可以为至少一个。
可选的,通信接口21可以为通信模块的接口,如GSM模块的接口,可以实现与其他设备的数据交互,还可以包括如USB接口、串/并口等接口,用于实现计算机设备内部组成部件之间的数据交互,可以根据该计算机设备的产品类型确定,本申请不做一一详述。
在本申请实施例中,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器23,可以为中央处理器(CentralProcessing Unit,CPU)、特定应用集成电路(application-specificintegrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
其中,存储器22存储有计算机程序,处理器23调用并加载存储器22所存储的计算机程序,以实现上述应用于虚拟角色模型处理方法的各步骤,具体实现过程可以参照上述方法实施例相应部分的描述,不再赘述。
应该理解的是,图13所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图13所示的更多或更少的部件,或者组合某些部件,本申请在此不做一一列举。
最后,需要说明,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计预设条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的核心思想或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种虚拟角色模型处理方法,其特征在于,所述方法包括:
获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
按照所述多个第一高模顶点各自的法线向量的方向,确定所述虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
构建确定的所述第一低模驱动点与相应第一高模顶点之间的驱动关系,所述驱动关系用于指示发生运动变形的所述低模驱动点,驱动改变相应第一高模顶点的空间位置;
对所构建的驱动关系进行存储。
2.根据权利要求1所述的方法,其特征在于,所述按照所述多个第一高模顶点各自的法线向量的方向,确定所述虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点,包括:
按照所述多个第一高模顶点各自的法线向量的方向,构建相应的法线射线;
获取构建的所述法线射线与所述虚拟角色的低模三角面的交点位置信息;
将所述低模三角面上所述交点位置信息对应的点确定为相应第一高模顶点对应的第一低模驱动点;
所述构建确定的所述第一低模驱动点与相应第一高模顶点之间的驱动关系,包括;
利用所述第一低模驱动点的交点位置信息,及相应第一高模顶点的顶点位置信息,构建所述第一低模驱动点与相应第一高模顶点之间的驱动关系。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
输出针对所述虚拟角色的低模驱动点的搜索模式配置界面;
响应针对所述搜索模式配置界面的配置请求,确定所述虚拟角色的低模属性和高模属性,以及所述虚拟角色的低模驱动点的搜索模式类别;
若所述搜索模式类别包括法线搜索模式,从所述高模属性对应的多个高模顶点中,确定符合所述法线搜索模式的搜索条件的多个第一高模顶点。
4.根据权利要求3所述的方法,其特征在于,所述从所述高模属性对应的多个高模顶点中,确定符合所述法线搜索模式的搜索条件的多个第一高模顶点,包括:
获取所述高模属性对应的多个高模顶点,在所述高模属性对应的所在高模三角面中相邻边之间的夹角;
将小于夹角阈值的所述夹角对应的高模顶点确定为第一高模顶点。
5.根据权利要求3所述的方法,其特征在于,若所述多个高模顶点中包含不符合所述搜索条件的第二高模顶点,和/或所述搜索模式类别包括邻点搜索模式,所述方法还包括:
从所述低模属性对应的低模三角面中,确定与所述第二高模顶点的空间距离最小的点为所述第二高模顶点的第二低模驱动点;
构建确定的所述第二低模驱动点与相应所述第二高模顶点之间的驱动关系。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对构建的所述驱动关系进行验证;
如果验证结果满足动画要求,执行步骤所述对所构建的驱动关系进行存储;
如果验证结果不满足所述动画要求,生成针对不满足所述动画要求的驱动关系的更新请求;
响应所述更新请求,按照所述法线搜索模式和/或邻点搜索模式,更新当前存储的所述驱动关系。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述虚拟角色的动作指令;
响应所述动作指令,得到所述虚拟角色的低模上发生运动变形的目标低模驱动点的第一目标位置信息;
利用所述目标低模驱动点的目标位置信息及所述驱动关系,获取目标高模顶点的第二目标位置信息,所述目标高模顶点是指所述高模上,与所述目标低模驱动点具有驱动关系的高模顶点;
利用所述第二目标位置信息,更新所述虚拟角色的高模法线贴图;
依据更新后的高模法线贴图,重新渲染所述虚拟角色并输出。
8.一种虚拟角色模型处理装置,其特征在于,所述装置包括:
法线向量获取模块,用于获取虚拟角色的高模法线贴图中多个第一高模顶点各自的法线向量;
第一低模驱动点确定模块,用于按照所述多个第一高模顶点各自的法线向量的方向,确定所述虚拟角色的低模三角面中,与相应第一高模顶点距离最近的第一低模驱动点;
驱动关系构建模块,用于构建确定的所述第一低模驱动点与相应第一高模顶点之间的驱动关系,所述驱动关系用于指示发生运动变形的所述低模驱动点,驱动改变相应第一高模顶点的空间位置;
驱动关系存储模块,用于对所构建的驱动关系进行存储。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
搜索模式配置界面输出模块,用于输出针对所述虚拟角色的低模驱动点的搜索模式配置界面;
搜索配置确定模块,用于响应针对所述搜索模式配置界面的配置请求,确定所述虚拟角色的低模属性和高模属性,以及所述虚拟角色的低模驱动点的搜索模式类别;
第一高模顶点确定模块,用于在搜索模式类别包括法线搜索模式的情况下,从所述高模属性对应的多个高模顶点中,确定符合所述法线搜索模式的搜索条件的多个第一高模顶点。
10.一种可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现如权利要求1~7任一项所述的虚拟角色模型处理方法的各步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750907.5A CN111739134B (zh) | 2020-07-30 | 2020-07-30 | 虚拟角色的模型处理方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750907.5A CN111739134B (zh) | 2020-07-30 | 2020-07-30 | 虚拟角色的模型处理方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111739134A true CN111739134A (zh) | 2020-10-02 |
CN111739134B CN111739134B (zh) | 2023-05-26 |
Family
ID=72656567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010750907.5A Active CN111739134B (zh) | 2020-07-30 | 2020-07-30 | 虚拟角色的模型处理方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111739134B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112569598A (zh) * | 2020-12-22 | 2021-03-30 | 上海幻电信息科技有限公司 | 目标对象控制方法及装置 |
CN113822992A (zh) * | 2021-11-23 | 2021-12-21 | 山东捷瑞数字科技股份有限公司 | 一种批量反转模型法线的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140100703A1 (en) * | 2011-06-03 | 2014-04-10 | Siegmund Düll | Method for the computer-supported generation of a data-driven model of a technical system, in particular of a gas turbine or wind turbine |
CN104167011A (zh) * | 2014-07-30 | 2014-11-26 | 北京航空航天大学 | 一种基于方向光辐射度的微结构表面全局光照绘制方法 |
CN106803278A (zh) * | 2016-12-07 | 2017-06-06 | 珠海金山网络游戏科技有限公司 | 一种虚拟人物半透明分层排序方法及系统 |
CN107180444A (zh) * | 2017-05-11 | 2017-09-19 | 腾讯科技(深圳)有限公司 | 一种动画生成方法、装置、终端和系统 |
CN107223268A (zh) * | 2015-12-30 | 2017-09-29 | 中国科学院深圳先进技术研究院 | 一种三维点云模型重建方法及装置 |
CN108379840A (zh) * | 2018-01-30 | 2018-08-10 | 珠海金山网络游戏科技有限公司 | 一种虚拟场景模拟真实物件模型的系统和方法 |
US20190362529A1 (en) * | 2018-05-22 | 2019-11-28 | Magic Leap, Inc. | Skeletal systems for animating virtual avatars |
CN111028330A (zh) * | 2019-11-15 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 三维表情基的生成方法、装置、设备及存储介质 |
CN111383320A (zh) * | 2020-03-09 | 2020-07-07 | 网易(杭州)网络有限公司 | 虚拟模型处理方法、装置、设备及存储介质 |
-
2020
- 2020-07-30 CN CN202010750907.5A patent/CN111739134B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140100703A1 (en) * | 2011-06-03 | 2014-04-10 | Siegmund Düll | Method for the computer-supported generation of a data-driven model of a technical system, in particular of a gas turbine or wind turbine |
CN104167011A (zh) * | 2014-07-30 | 2014-11-26 | 北京航空航天大学 | 一种基于方向光辐射度的微结构表面全局光照绘制方法 |
CN107223268A (zh) * | 2015-12-30 | 2017-09-29 | 中国科学院深圳先进技术研究院 | 一种三维点云模型重建方法及装置 |
CN106803278A (zh) * | 2016-12-07 | 2017-06-06 | 珠海金山网络游戏科技有限公司 | 一种虚拟人物半透明分层排序方法及系统 |
CN107180444A (zh) * | 2017-05-11 | 2017-09-19 | 腾讯科技(深圳)有限公司 | 一种动画生成方法、装置、终端和系统 |
CN108379840A (zh) * | 2018-01-30 | 2018-08-10 | 珠海金山网络游戏科技有限公司 | 一种虚拟场景模拟真实物件模型的系统和方法 |
US20190362529A1 (en) * | 2018-05-22 | 2019-11-28 | Magic Leap, Inc. | Skeletal systems for animating virtual avatars |
CN111028330A (zh) * | 2019-11-15 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 三维表情基的生成方法、装置、设备及存储介质 |
CN111383320A (zh) * | 2020-03-09 | 2020-07-07 | 网易(杭州)网络有限公司 | 虚拟模型处理方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
HÜLSKEN F等: "Modeling and Animating Virtual Humans for Real-Time Applications", 《INTERNATIONAL JOURNAL OF VIRTUAL REALITY》 * |
何莺: "数字角色动画关键技术研究和实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
佘为: "3ds Max中利用法线贴图在低模上实现高模贴图效果的方法", 《电视字幕(特技与动画)》 * |
张宪明: "轻量化网格模型的法线贴图研究", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112569598A (zh) * | 2020-12-22 | 2021-03-30 | 上海幻电信息科技有限公司 | 目标对象控制方法及装置 |
CN113822992A (zh) * | 2021-11-23 | 2021-12-21 | 山东捷瑞数字科技股份有限公司 | 一种批量反转模型法线的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111739134B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11494995B2 (en) | Systems and methods for virtual and augmented reality | |
US10860838B1 (en) | Universal facial expression translation and character rendering system | |
US11748934B2 (en) | Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
JP7268071B2 (ja) | バーチャルアバターの生成方法及び生成装置 | |
US20190303658A1 (en) | Motion generating apparatus, model generating apparatus and motion generating method | |
US10964083B1 (en) | Facial animation models | |
US11514638B2 (en) | 3D asset generation from 2D images | |
CN110766776A (zh) | 生成表情动画的方法及装置 | |
JP7129529B2 (ja) | 人工知能の使用による3dオブジェクトへのuvマッピング | |
CN111739134B (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
US20210407125A1 (en) | Object recognition neural network for amodal center prediction | |
Tatzgern | Situated visualization in augmented reality | |
CN111142967B (zh) | 一种增强现实显示的方法、装置、电子设备和存储介质 | |
US20230177755A1 (en) | Predicting facial expressions using character motion states | |
Onizuka et al. | Landmark-guided deformation transfer of template facial expressions for automatic generation of avatar blendshapes | |
CN111739135B (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
Fu et al. | Real-time multimodal human–avatar interaction | |
US20230120883A1 (en) | Inferred skeletal structure for practical 3d assets | |
US10726621B2 (en) | Traversal selection of components for a geometric model | |
US20220392251A1 (en) | Method and apparatus for generating object model, electronic device and storage medium | |
CN112435316B (zh) | 一种游戏中的防穿模方法、装置、电子设备及存储介质 | |
WO2022026603A1 (en) | Object recognition neural network training using multiple data sources | |
US8704828B1 (en) | Inverse kinematic melting for posing models | |
JP7145359B1 (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40031343 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |