CN108027979A - 用于角色动画的鲁棒的属性转移 - Google Patents
用于角色动画的鲁棒的属性转移 Download PDFInfo
- Publication number
- CN108027979A CN108027979A CN201680049594.2A CN201680049594A CN108027979A CN 108027979 A CN108027979 A CN 108027979A CN 201680049594 A CN201680049594 A CN 201680049594A CN 108027979 A CN108027979 A CN 108027979A
- Authority
- CN
- China
- Prior art keywords
- source
- joint
- cartoon role
- target
- role
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本文公开的本发明的一个实施例提供用以从源动画角色向目标角色转移属性的技术。角色属性转移系统识别对应于所述源动画角色的第一标记集。所述角色属性转移系统识别对应于所述目标角色的第二标记集。所述角色属性转移系统基于所述第一标记集和所述第二标记集生成所述源动画角色与所述目标角色之间的几何对应关系,所述几何对应关系独立于所述源动画角色与所述目标角色之间的几何差异。所述角色属性转移系统基于所述几何对应关系将第一属性从所述源动画角色转移到所述目标角色。
Description
相关申请的交叉引用
本申请要求于2015年7月27日提交的、具有序列号62/197,483的、名称为“用于角色动画的鲁棒的属性转移(ROBUST ATTRIBUTE TRANSFER FOR CHARACTER ANIMATION)”的美国临时专利申请的权益;并且,本申请要求于2016年7月21日提交的、具有序列号(未知)的、名称为“用于角色动画的鲁棒的属性转移(ROBUST ATTRIBUTE TRANSFER FORCHARACTER ANIMATION)”的美国专利申请的权益。这些相关申请的主题在此通过引用并入本文中。
背景技术
技术领域
本发明总地涉及三维(3D)计算机图形,并且更具体地,涉及用于角色动画的鲁棒的属性转移。
相关技术描述
除了其他方面,计算机动画涉及设计和创建动画角色以用于在各种计算机游戏和电影中使用。通常,每个动画角色都包含关节层级(joint hierarchy)、几何对象和定义角色的装备(rig)的一组控制器和约束(constraint)。关节层级,在此也被称为“骨架(skeleton)”,定义了动画角色的骨骼和相关结构以及骨骼之间如何相互连接。几何对象定义了角色的皮肤,并赋予了动画角色唯一的外观。尽管可以指定其他类型的几何对象,但通常几何对象由几何图元(例如三角形)的3D网格组成。因此,几何对象在此也被称为“网格表示”。装备允许动画师在动画制作中使角色摆姿势和移动角色。动画角色还包括蒙皮权重(skinning weight),蒙皮权重定义了与角色皮肤相对应的几何对象如何绑定或附加到装备上。为了给游戏或电影创建多个角色,计算机动画师针对每个单独的动画角色分别创建关节层级、几何对象、装备和蒙皮权重。
上述方法的一个缺点是因为每个角色都必须单独设计,针对任何给定的应用(如游戏或电影)生成动画角色是费时和乏味的。这个问题在涉及数百或数千个不同角色的应用中大大加剧。例如,为了创建有一百个动画角色的群体,计算机动画师将不得不为一百个动画角色中的每一个创建单独的关节层级、几何对象、装备以及蒙皮权重集。此外,这样的手动技术既耗时又乏味,导致成本增加和延迟。
一个可能的解决方案是创建由每个角色使用的、被塑造成具有唯一外观的通用几何对象,并且跨越不同的所塑造的几何对象应用相同的共同关节层级、装备和蒙皮权重集。因为计算机动画师不需要为每个单独的角色创建独特的关节层级、装备和蒙皮权重集,因此这种方法可以更有效率。然而,这种方法可能将几何对象限制为对于所有角色具有相同的拓扑结构。否则,跨越几何对象所应用的共同关节层级、装备和蒙皮权重集将不能正确的“配合”。由于这些限制,计算机动画师将在为正在设计的动画角色生成所期望的外观过程中被限制,这将阻碍整体的艺术自由度并降低应用的整体视觉质量。
如前所述,本领域所需要的是设计动画角色的更有效的方式。
发明内容
本申请的各种实施例阐述了一种用于将特征从源动画角色转移到目标角色的方法。所述方法包括识别对应于源动画角色的第一标记集。所述方法包括识别对应于目标角色的第二标记集。所述方法进一步包括:基于所述第一标记集和所述第二标记集生成源动画角色和目标角色之间的几何对应关系,所述几何对应关系独立于源动画角色与目标角色之间的几何差异之。所述方法进一步包括:基于所述几何对应关系将第一特征从所述源动画角色转移到所述目标角色。
本发明的其他实施例包括但不限于,包括用于执行所公开的技术的一个或更多个方面的指令的计算机可读介质,以及用于执行所公开的技术的一个或更多个方面的计算设备。
所公开的技术的至少一个优点是可以从网格表示创建新的动画角色,而不需要为新的动画角色创建定制的关节层级、装备和蒙皮权重集。从现有动画角色到新动画角色的关节层级、装备和蒙皮权重集,而不对新的动画角色的网格表示的设计施加限制。相对于以前的方法,生成新的动画角色的时间和努力减少了,并且计算机动画师可以设计新的动画角色的外观而对艺术自由没有过度的限制。
附图的简要说明
专利或申请文件至少包含一张用彩色绘制的附图。一旦要求并支付必要的费用,具有彩色附图的本专利或专利申请出版物的副本将由官方提供。
因此,可以通过参考实施例(其中一些实施例在附图中示出)来获得上面简要总结的本发明的更具体的描述、能够详细理解本发明的上述特征的方法。然而,应当注意的是,附图仅示出了本发明的典型实施例,因此不被认为是对其范围的限制,因为本发明可以认可其他等效的实施例。
图1示出了被配置成实现本发明的一个或更多个方面的计算系统;
图2是根据各种本发明的多个实施例的、可以经由图1的计算系统实现的角色属性转移系统的框图;
图3示出了根据本发明的多个实施例的、放置在网格表示上的标记集;
图4A-4D示出了根据本发明的多个实施例的、在源动画角色与多个目标角色之间的几何对应关系映射;
图5示出了根据本发明的多个实施例的、与网格表示和关节层级相关联的蒙皮权重集;以及
图6是根据本发明的多个实施例的、用于将属性从源动画角色转移到目标角色的方法步骤的流程图。
详细描述
在下面的描述中,阐述了许多具体细节以提供对本发明更透彻的理解。然而,对于本领域技术人员来说显而易见的是,本发明的实施例可以在没有这些具体细节中的一个或更多个的情况下实践。
硬件概述
图1示出了被配置成实现本发明的一个或更多个方面的计算系统100。该图绝不限制或绝不旨在限制本发明的范围。计算系统100可以是个人计算机、视频游戏控制台、个人数字助理、移动电话、移动设备或适合于实现本发明的一个或更多个方面的任何其他设备。
如图所示,计算系统100包括但不限于,耦合在一起并经由总线路径通信的处理器102、显示处理器112、输入/输出(I/O)桥107和系统存储器104,所述总线路径可以包括存储器桥105。处理器102可以是被配置成处理数据和执行程序代码的任何技术上可行形式的处理设备。处理器102可以是例如中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等等。类似地,显示处理器112可以是被配置成处理数据和执行程序代码的任何技术上可行形式的处理设备。显示处理器112可以是例如中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等等。
处理器102和显示处理器112包括一个或更多个处理核心。在操作中,处理器102和显示处理器112中的一者或两者是计算系统100的主处理器,其控制和协调其他系统组件的操作。系统存储器104存储由处理器102使用的软件应用程序和数据。处理器102和显示处理器112中的任一个或两者执行存储在系统存储器104内和可选地操作系统内的软件应用程序。具体而言,然后,处理器102和显示处理器112中的一个或两个执行软件,然后执行本申请中阐述的一个或更多个功能和操作。可以是例如北桥芯片的存储器桥105经由总线或其他通信路径(例如,超传输(HyperTransport)链接)连接到I/O(输入/输出)桥107。可以是例如南桥芯片的I/O桥107从一个或更多个用户输入设备108(例如,键盘、鼠标、操纵杆、数字化板、触摸板、触摸屏、静止或视频相机、运动传感器和/或麦克风)接收用户输入,并经由存储器桥105将所述输入转发给处理器102。
显示处理器112经由总线或其他通信路径(例如,PCI Express、加速图形端口或超传输(HyperTransport)链接)耦合至存储器桥105;在一个实施例中,显示处理器112是包括至少一个图形处理单元(GPU)和图形存储器的图形子系统。图形存储器包括用于存储输出图像的每个像素的像素数据的显示存储器(例如,帧缓冲器)。图形存储器可以集成在与GPU相同的设备中、作为单独的设备与GPU连接、和/或在系统存储器104内实现。
显示处理器112周期性地将像素传送到显示装置110(例如,屏幕或常规的CRT、等离子电视、OLED、基于SED或LCD的监视器或电视机)。此外,显示处理器112可以将像素输出到适于在照相胶片上再现计算机生成的图像的胶片记录器。显示处理器112可以向显示设备110提供模拟或数字信号。
系统盘114还连接到I/O桥107,并且可以被配置成存储内容和应用以及数据,用于由处理器102和显示处理器112使用。系统盘114提供用于应用程序和数据的非易失性存储,并且可以包括固定的或可移除的硬盘驱动器、闪存设备,以及CD-ROM、DVD-ROM、蓝光光碟、HD-DVD或其他磁、光或固态贮存设备。
交换机116提供I/O桥107和诸如网络适配器118和各种附加卡120和121之类的其他组件之间的连接。网络适配器118允许计算系统100经由电子通信网络与其他系统通信,并且可以包括通过局域网和诸如因特网之类的广域网的有线或无线通信。
包括USB或其他端口连接的其他组件(未示出)、胶片记录装置等也可以连接到I/O桥107。例如,可以使用音频处理器从由处理器102、系统存储器104或系统盘114提供的指令和/或数据生成模拟或数字音频输出。如本领域已知的,将图1中的各种组件互连的通信路径可以使用诸如PCI(外围组件互连)、PCI Express(PCI-E)、AGP(加速图形端口)、超传输(HyperTransport)或任何其他总线或一个或更多个点对点通信协议之类的任何合适的协议来实现,以及不同设备之间的连接可以使用本领域已知的不同的协议。
在一个实施例中,显示处理器112并入对图形和视频处理进行优化的电路,包括例如视频输出电路,并构成图形处理单元(GPU)。在另一个实施例中,显示处理器112并入对通用处理进行优化的电路。在又一个实施例中,显示处理器112可以与诸如存储器桥105、处理器102和I/O桥107之类的一个或更多个其他系统元件集成,以形成片上系统(SoC)。在又一些实施例中,显示处理器112被省略,并且由处理器102执行的软件执行显示处理器112的功能。
可以将像素数据直接从处理器102提供给显示处理器112。在本发明的一些实施例中,表示场景的指令和/或数据经由网络适配器118或系统盘114提供给渲染农场(renderfarm)或一组服务器计算机,其中的每一个类似于计算系统100。渲染农场使用所提供的指令和/或数据来生成场景的一个或更多个经渲染的图像。这些经渲染的图像可以以数字格式存储在计算机可读介质上,并且可选地返回到计算系统100以供显示。类似地,可将由显示处理器112处理的立体图像对输出至其他系统用于显示、存储在系统盘114中、或以数字格式存储在计算机可读介质上。
可选地,处理器102向显示处理器112提供定义想要的输出图像的数据和/或指令,显示处理器112从想要的输出图像生成一个或更多个输出图像的像素数据,包括表征和/或调整立体图像对的偏移(offset)。定义想要的输出图像的数据和/或指令可以存储在显示处理器112内的系统存储器104或图形存储器中。在实施例中,显示处理器112包括用于从定义场景的几何图形、照明阴影、纹理化、移动和/或照相机参数的指令和数据中生成输出图像的像素数据的3D渲染能力。显示处理器112还可以进一步包括一个或更多个能够执行着色器程序、色调映射程序等的可编程执行单元。
处理器102、渲染农场和/或显示处理器112可以使用本领域已知的任何表面或体渲染技术从所提供的数据和指令中创建一个或更多个渲染图像,包括光栅化、扫描线渲染REYES或微多边形渲染、射线造型、射线追踪、基于图像的渲染技术、和/或这些和本领域已知的任何其他渲染或图像处理技术的组合。
应当理解的是,本文所示出的系统是说明性的,并且其变化和修改是可能的。连接拓扑(包括桥的数量和布置)可以根据需要进行修改。例如,在一些实施例中,系统存储器104直接而不是通过桥连接到处理器102,并且其他设备与系统存储器104经由存储器桥105和处理器102通信。在其他替代拓扑中,显示处理器112连接到I/O桥107或直接连接到处理器102,而不是连接到存储器桥105。在其他实施例中,可能将I/O桥107和存储器桥105集成到单个芯片上。本文示出的特定组件是可选的;例如,可以支持任何数目的附加卡或外围设备。在一些实施例中,开关116被去除,并且网络适配器118和附加卡120、121直接连接到I/O桥107。
用于角色动画的鲁棒的属性转移
图2是根据本发明的多个实施例的、可以经由图1的计算系统100实现的角色属性转移系统200的框图。在一些实施例中,角色属性转移系统200的至少一部分可以经由图1的计算系统100来实现。如图所示,角色属性转移系统200包括但不限于中央处理单元(CPU)202、贮存器204、输入/输出(I/O)设备接口206、网络接口208、互连210以及系统存储器212。图1的计算系统100可以被配置成实现角色属性转移系统200。除了下面的进一步描述的之外,处理器202、贮存器204、I/O设备接口206、网络接口208、互连210和系统存储器212的功能与结合图1所描述的基本相同。
处理器202检索并执行存储在系统存储器212中的编程指令。类似地,处理器202存储和检索驻留在系统存储器212中的应用程序数据。互连210辅助在处理器202、输入/输出(I/O)设备接口206、贮存器204、网络接口208和系统存储器212之间的诸如编程指令和应用程序数据的传输。I/O设备接口206被配置成从用户I/O设备222接收输入数据。用户I/O设备222的示例可以包括多个按钮、键盘和鼠标或其他点击设备中的一个。I/O设备接口206还可以包括被配置成生成电子音频输出信号的音频输出单元,并且用户I/O设备222可以进一步包括被配置成响应于电子音频输出信号生成声音输出的扬声器。用户I/O设备222的另一示例是通常表示用于生成图像用于显示的任何技术上可行的手段的显示设备。例如,显示设备可以是液晶显示(LCD)显示器、CRT显示器或DLP显示器。显示设备可以是包括广播或用于接收数字或模拟电视信号的线缆调谐器的电视机。
包括代表单个CPU、多个CPU、具有多个处理核心的单个CPU等的处理器202。通常包括代表随机存取存储器的系统存储器212。贮存器204可以是磁盘驱动贮存器设备。尽管被示为单个单元,但是贮存器204可以是固定和/或可移除贮存器设备(诸如固定盘驱动器、软盘驱动器、磁带驱动器、可移除存储卡或光学贮存器、网络附加贮存器(NAS)或贮存器区域网络(SAN))的组合。处理器202经由网络接口208与其他计算设备和系统通信,其中网络接口208被配置成经由通信网络发送和接收数据。
系统存储器212包括但不限于几何对应引擎232、骨架转移引擎234、蒙皮权重转移引擎236、源角色表示238和目标角色表示240。
几何对应引擎232建立源动画角色的网格表示与目标角色的网格表示之间的几何对应关系。几何对应引擎232通过生成源动画角色上的标记集与源动画角色上的标记集之间的映射来建立该几何对应关系。几何对应关系是独立于源动画角色和目标角色的源网格表示和目标网格表示之间的几何和几何细节的差异而生成的。更具体地说,对应关系是独立于几何细节的差异(例如每个网格表示中的几何图元的数量、或者网格表示如何已被划分成几何图元)而生成的。网格表示的几何图元在此也被称为面。
每个源动画角色被表示为CS=(MS,RS,WS),其中CS是源角色表示238,MS是源网格表示,RS是源关节层级或骨架,以及WS是将网格表示绑定或附加到关节层级的源蒙皮权重集。类似地,每个目标角色被表示为CT=(MT,RT,WT),其中CT是目标角色表示240,MT是目标网格表示,RT是目标关节层级或骨架,以及WT是将网格表示绑定或附加到关节层级的目标蒙皮权重集。使用这种命名法,几何对应引擎232建立源网格表示MS与目标网格表示MT之间的几何对应关系。一旦在源网格表示MS和目标网格表示MT之间建立了几何对应关系,则源动画角色CS就可以分别基于源关节层级RS和源蒙皮权重集WS填充目标关节层级RT和目标蒙皮权重集WT。
几何对应引擎232确定MS和MT之间的点到点对应关系,将具有相似语义的点(如右手指尖和头顶)连接在一起。几何对应引擎232以所需的平滑度产生几何对应关系,并具有双射(bijection)特性。双射是两个集合的元素之间的一一对应关系,其中一个集合中的每个元素与另一集合中的一个元素精确配对,并且另一集合中的每个元素与第一集合中的一个元素精确配对,并且没有不配对的元素。
几何对应引擎232计算来自与源目标网格表示相关联的标记集的密集对应关系(dense correspondence),其中网格表示中的任一个或两个可以是非等距的。几何对应引擎232执行三步处理:(1)识别源网格表示MS和目标网格表示MT上的标记;(2)将所述源网格表示MS变形,以使所述源网格表示MS与所述目标网格表示MT匹配;以及(3)基于变形的源网格表示MS与目标网格表示MT之间的最近位置来提取密集几何对应关系。
在第一步骤中,几何对应引擎232识别放置在源网格表示MS和目标网格表示MT上的标记。所述标记可以手动放置或以其他方式由用户指定,或者可选地,通过自动化过程产生。呈现高水平细节的网格表示的区域(诸如手和脚)相对于呈现较低水平细节的网格表示的区域可以具有更高密度的标记放置。在一些实施例中,大约325个标记的集合产生具有可接受的质量水平的几何对应模型,用于转移骨架和蒙皮权重。
在第二步骤中,几何对应引擎232将源网格表示MS变形,从而使源网格表示MS与目标网格表示MT匹配。几何对应引擎232执行一系列子步骤以使源网格表示MS对齐、缩放和变形,从而使源网格表示MS的位置、方位、比例和形状变为分别与目标网格表示MT的位置、方位、比例和形状类似。几何对应引擎232基于标记位置、顶点拉普拉斯和泰森多边形区域执行能量最小化计算。几何对应引擎232计算经变形的和初始的目标网格表示之间的每个顶点最接近的位置,同时拒绝网格表示中具有不一致法向量的位置。当计算特定顶点的最接近位置时,几何对应引擎232检查每个候选多边形的法向量。如果具有顶点法线的角度大于90°,则几何对应引擎232拒绝候选多边形。因为拉普拉斯算子可严重扭曲顶点和面法线,几何对应引擎232依靠输入网格法线来确定是否拒绝多边形。结果,这种拒绝测试可以通过降低三角形翻转和自相交几何的可能性来改善几何对应关系的鲁棒性。
在第三步骤中,在源网格表示MS已经变形以匹配目标网格表示MT之后,几何对应引擎232基于变形的源网格表示MS与目标网格表示MT之间的最接近位置来提取密集的对应关系。这样,几何对应引擎232拒绝与不一致的法向量相关联的网格表示上的位置。在得到的几何对应关系中,包含在经变形的源中的每个顶点与目标网格表示MT的多边形上的重心坐标双射地链接,反之亦然。
骨架转移引擎234经由优化技术来计算目标关节层级RT,同时保留源网格表示MS中的顶点和源关节层级RS中的关节之间的关系。骨架转移引擎234还执行姿势归一化过程,以确保目标关节层级RT和源关节层级RS中的关节正确对齐。在几何对应引擎232计算MS和MT之间的几何对应关系之后,骨架传输引擎234确定MT中的源骨架RS的位置。这样,骨架转移引擎234通过首先定位并且然后定向关节,同时考虑关节、顶点和蒙皮权重之间的关系来执行两步处理。
在第一步骤中,骨架转移引擎234将关节位置从源骨架RS转移到目标骨架RT,同时保留在源角色表示238中找到的关系。骨架转移引擎234检查源蒙皮权重WS以提取关节-顶点关系。通常,源骨架RS的每个关节或元素仅影响包括在源网格表示MS中的顶点的子集。例如,肩关节将影响肩部附近的顶点的子集,诸如表示手臂、手和上背部的顶点。这些顶点将与关于肩关节的非零蒙皮权重相关联。不受肩关节影响的其他顶点将与关于肩关节的零蒙皮权重相关联。
对于特定关节,与非零蒙皮权重{viS│wiS>0}相关联的顶点在这里被称为加权顶点。骨架转移引擎234从源角色表示238中提取关节-顶点关系,然后将关节-顶点关系应用于目标角色表示240,以计算目标角色中的新关节位置。考虑到关节JS和与关节JS相关联的m个加权顶点viS,关节位置被表示为顶点位置的线性组合,如下面的方程式1所示:
在顶点位置的所有可能的线性组合中,骨架转移引擎234选择满足以下标准的线性组合:(1)所述线性组合非常接近关节位置;(2)每个系数ci的值与相应的蒙皮权重成正比;(3)系数ci的总和等于1。如果满足这三个标准,则关节位置被包围在加权顶点的凸包络中,并且具有较大权重的顶点被赋予更多的重要性。为了确定系数ci,骨架转移引擎234使每个源接头JS的能量函数最小化,如下面的方程式2a-2c所示:
其中,wiS是关节JS的顶点viS的蒙皮权重,参数ω1、ω2和ω3调整能量函数每个部分的影响。第一项(方程式2a)使顶点位置与关节位置的线性组合之间的距离最小化。虽然方程式的第一项(方程式2a)具有产生关节位置的质量,但方程式2a可能欠约束,导致可产生相同关节位置的顶点位置的若干组合。此外,第一项可能导致包括具有低蒙皮权重值的顶点,这些顶点通常更远离关节,并且相应地具有相对低的值。
为了纠正这个问题,骨架转移引擎234计算第二项(方程式2b),以确保每个系数ci与相应的蒙皮权重wiS成正比。然而,第二项(方程式2b)的幅度可能对第一项(方程式2a)产生较大的误差。为了减轻这个问题,骨架转移引擎234设置ω1>>ω2,使得第一项(方程式2a)相对于第二项(方程式2b)具有高的绝对值。最后,骨架转移引擎234计算第三项(方程式2c)以将关节保持在顶点的凸包络之内,并相应地惩罚“网格外”关节位置。在一些实施例中,实现三项之间的良好平衡,其中ω1=1000,ω2=1和ω3=10。方程式2a-2c的能量函数是二次的,并且骨架转移引擎234通过求解相应的线性系统使该能量函数最小化。骨架转移引擎234然后使用所得到的系数ci来确定新的目标关节位置JT,如下面的方程式3所给出的:
其中,ρiT是基于几何对应关系与顶点viS相对应的目标网格表示上的点。
在一些实施例中,在优化关节位置之后,骨架转移引擎234可以执行一个或更多个后处理步骤,从而进一步调节关节以利用直腹部和角色对称性。动画角色经常被创建为具有相对直的腹部区域,并且可以呈现双边、径向或其他形式的对称。骨架转移引擎234可以执行关于对称平面(例如矢状或横向,yz平面)的脊柱对准或镜像。
在第一种技术中,骨架转移引擎234可以执行脊柱对齐,以利用具有直腹的角色。骨架转移引擎234可以采用方程式2a-2c的修改版本,其中考虑来自该组脊柱关节的所有加权顶点。在这种情况下,对于至少一个脊柱关节,值m成为具有非零权重的顶点的数量。由于脊柱的每个关节存在不同的权重wiS,因此对第二项(方程式2b)进行修改以计算脊柱权重总和wi sumS而不是wiS。类似地,对第二项(方程式2b)进行修改以计算脊柱权重总和wj sumS而不是wjS。骨架转移引擎234还更新第一项(方程式2a),以仅计算由所有脊柱关节共享的x位置,如所示。骨架转移引擎234按照计算目标脊柱的x坐标。骨架转移引擎234然后用所计算的JxT更新目标脊柱关节x坐标。
在第二种技术中,骨架转移引擎234可以执行镜像,以利用展现某种形式的对称性的角色。在双侧对称的情况下,骨架转移引擎234可以将所有右侧关节镜像到骨架的左侧,平均每个对称关节对的位置,并将平均值镜像回到骨架的右侧。
在完成关节定位的第一步之后,骨架转移引擎234在第二步中将来自源骨架RS的关节方位和旋转转移到目标骨架RT。目标关节位置的计算使得骨架能够被正确地嵌入目标网格表示MT内。尽管如此,骨架RS并不单独由关节位置来定义。为了确保在动画期间骨骼结构得到充分保留和正确接合,还要转移关节方位和旋转。在转移成功后,如果每个骨骼处于中性姿态,并且所有关节旋转都设为零,则源和目标的每个关节在本地和全局空间两者中都应具有相同的方位。正确转移关节方位和旋转有助于确保来自源角色的动画在动画期间将产生类似的目标角色姿态。
骨架转移引擎234检测源骨架RS和目标骨架RT之间的肢体方位中存在的差异。骨架转移引擎234计算考虑源骨架RS与目标骨架RT之间的关节方位的差异的关节旋转。与关节定位步骤一样,骨架转移引擎234依赖于源加权顶点{viS│wiS>0}和对应位置{ρiT},其中每个viS通过几何对应关系链接到特定ρiT。
骨架转移引擎234按照下面的列表1所示的过程一次一个地处理关节,从根部关节开始,转移关节方位并计算关节旋转:
列表1
骨架转移引擎234从JlS(列表1,第1行)直接复制JlT的关节方位,即在局部空间中相对于父关节的方位。对于每个关节,骨架转移引擎234使用最佳匹配相似度旋转(列表1,第4行)来确定将{ρiT}(列表1,第2行)对齐到{viS│wiS>0}所需的旋转。结果是在全局空间中的旋转,骨架转移引擎234然后将其转换为关节JlT(列表1,第5行)的本地空间中的Δrotation。当骨架转移引擎234移动到下一个关节时,骨架转移引擎234基于从父上升到根关节(列表1,第3行和第7行)累计的运动链倒数Δrotation来旋转点{ρiT}。在递归访问每个关节(列表1,第6-8行)之后,骨架转移引擎234将整个骨架复制到目标角色表示240,每个关节重新定位和定向。骨架转移引擎234提取关于源骨架RS的每个关节Δrotation。目标角色现在准备好源蒙皮权重WS到目标网格表示MT的转移。
蒙皮权重转移引擎236计算目标蒙皮权重集WT并将目标网格表示MT绑定或附加到目标关节层级RT,由此产生准备用于动画并且保留源角色表示CS 238的质量的目标角色。蒙皮权重定义网格表示如何响应于骨架的变化而变形和移动,并使得角色能够基于角色的骨架而做动画。
在一些实施例中,包括在网格表示中的每个顶点与针对骨架的每个元素的不同蒙皮权重相关联。在这样的实施例中,如果网格表示包括N个顶点并且骨架包括M个元素,则蒙皮权重的数量可以是N倍的M。在其他实施例中,包括在网格表示中的每个顶点与用于在顶点的阈值距离内的骨架元素的子集的蒙皮权重集相关联。在这样的实施例中,在顶点的阈值距离之外的骨架元素与顶点之间将不定义蒙皮权重。在一些实施例中,可以基于几何对应关系和源动画角色与目标角色之间的网格分辨率的差异过滤来自源动画角色的蒙皮权重。
蒙皮权重转移引擎236基于从目标网格表示MT到源网格表示MS的几何对应关系获得目标蒙皮权重WT。对于每个目标顶点viT,在所述源网格表示MS上对应的位置被定义为重心坐标和三角指数。
如果源网格表示MS和目标网格表示MT具有相同的分辨率,或者如果源网格表示MS具有比目标网格表示MT更粗糙或更低的分辨率,则蒙皮权重转移引擎236执行线性插值或线性混合,以生成重新采样的源蒙皮权重集WS,并由此生成目标蒙皮权重WS。在这种情况下,如下面的方程式4所给出的,使用源网格表示MS上的对应的重心坐标和三角形来计算包括在目标网格表示MT中的顶点的新的目标蒙皮权重:
其中,a、b和c对应于包括在源三角形中的三个顶点,WaS、WbS和WcS是顶点的蒙皮权重,βa、βb和βc是顶点的重心坐标。
如果目标网格表示MT具有比源网格表示MS更粗或更低的分辨率,则与重心坐标的线性混合可能导致采样不足。在这种情况下,来自源动画角色的顶点和权重值可能保持未被使用,导致在动画期间皮肤变形的伪影和混叠。为了检测何时可能发生这种混叠,蒙皮权重转移引擎236比较目标网格表示MT和源网格表示MS之间的相应的多边形的尺寸。蒙皮权重转移引擎236基于源网格表示MS的尺度改变,以在几何对应处理期间与目标网格表示MT的维度相匹配,来执行这一比较。为了防止混叠和伪影,蒙皮权重转移引擎236根据下面的列表2中示出的过程来选择用于蒙皮权重过滤的顶点:
列表2
为了检测需要额外过滤的顶点,蒙皮权重转移引擎236计算并将每个目标顶点VA(viT)的泰森多边形(Voronoi)面积与源的相应的混合泰森多边形面积进行比较(列表2,第1行和第2行)。如果VA(viT)大于VAblend,则蒙皮权重转移引擎236识别来自几何对应关系位置附近的下一个相邻顶点环的顶点(列表2,第5行和第10行)。蒙皮权重转移引擎236将这些顶点添加到所选的顶点集(列表2,第8行)。蒙皮权重转移引擎236添加所选顶点的相应的泰森多边形面积(列表2,第9行),直到添加相邻顶点的下一环的泰森多边形面积会导致总的泰森多边形面积大于VA(viT)(列表2,第7行)。由此得到的泰森多边形面积由下面的方程式5a和5b给出:
如果精确的A(viT)的泰森多边形面积是所需要的,蒙皮权重转移引擎236计算来自导致泰森多边形面积超过VA(viT)的相邻顶点的下一环的顶点的因式分解。因此,这个相邻顶点的环的影响小于先前所选择的顶点的影响。蒙皮权重转移引擎236将蒙皮权重相对于相应的泰森多边形面积进行组合,如下面的方程式6a-6c所给出的:
其中,VASel=∑vjS∈SelVA(vjS),以及VANext=∑vkS∈NextVA(vkS)。蒙皮权重转移引擎236然后将来自先前的方程式的组合除以VA(viT)以提取蒙皮权重。通过对蒙皮权重进行过滤,生成的目标蒙皮权重更加忠实地匹配源蒙皮权重。此外,当应用过滤时,所生成的蒙皮权重可能更加对称。考虑有n个关节的骨架,每个顶点存储n个蒙皮权重值,每个权重描述相应关节Jl的变换与viT的变换之间的关系。为了限制不需要的动画伪影,蒙皮权重转移引擎236归一化蒙皮权重,如下面的方程式7所给出的:
使得蒙皮权重的总和等于1。在转移蒙皮权重之后,可以应用任何技术上可行的蒙皮方法将目标网格表示MT绑定或附加到目标骨架RT,包括但不限于线性混合蒙皮和对偶四元数(dual quaternion)蒙皮。
在将骨架和蒙皮权重转移到目标角色之后,蒙皮权重转移引擎236基于所转移的蒙皮权重WT将目标网格表示MT绑定或附加到被转移的骨架RT。然后将新的目标角色CT准备好以进行动画。在一些实施例中,可以使用正向和反向运动学动画来计算关节旋转,从而针对源动画角色和目标角色获取类似的动画结果。
在本节中,我们重点介绍了所提出的重新定向(retargeting)方法的几个好处。首先,我们展示了我们的方法如何能够以与源相同的姿势设置来自所有目标角色的骨架和网格。其次,我们验证了重新定向对具有不同形态和不同网格拓扑的广泛范围角色的作用。最后,我们证明了动画师在定位关节、绘画权重和设计特定骨架时所做的工作,被忠实地转移给了目标角色。
在一些实施例中,可以基于在关节定向和旋转期间计算的Δrotations,将目标角色设置为与源角色相同的姿势。这个操作在本文中被称为姿势归一化。在这样的实施例中,骨架转移引擎234可以访问目标骨架RT的每个关节,并且可以将计算的Δrotations反转,使得目标骨架RT的每个关节的实际旋转匹配源骨架RS的相应旋转。这种姿势归一化技术适用于具有各种形态和拓扑特征的角色。例如,具有52个关节的普通人的源骨架可以局部地安装到来自臀部和脊柱一直到头部、手指和脚趾的多个目标骨架。源骨架可以成功地安装到展现各种各样形态特征(例如手尺寸、肢体尺寸和长度、腹部尺寸、颈部尺寸或头部尺寸的显著差异)的目标骨架。姿势归一化技术适用于从如2000个多边形的低分辨率网格到如50000个多边形的高分辨率网格的目标角色。此外,可以在不改变其各自的网格表示的情况下对具有不兼容的网格拓扑的动画角色进行处理。这样的灵活性可以为技术人员提供更多的自由,因为技术人员可以在代理角色(包括低多边形计数游戏角色和高多边形计数视觉效果角色)之间转移骨架和蒙皮权重,而不考虑相应的网格表示的细节。
在一些实施例中,所公开的技术适合于具有不同分辨率的网格表示。例如,可以将粗糙分辨率的动画角色重新定向到更精细的目标网格表示。同样,可以将高分辨率的视觉效果动画角色重新定向到移动游戏应用的低分辨率网格表示。
在一些实施例中,可以采用所公开的技术来将对源动画角色进行的转移后艺术的改变传播到各种目标角色。计算机动画师可以对源动画角色的网格表示进行改变。通过所包含的技术,可以重复转移过程以便将改变传播到目标角色。例如,为了接近膝盖的结构运动,计算机动画师可以将膝关节放置在接近网格表示的表面处。由于绑定工具(riggingtool)通常使用投影的定心技术来设置中轴上的关节,因此从头开始为每个目标角色创建骨架将涉及额外的编辑操作。所公开的方法如实地再现了计算机动画师的工作。
在一些实施例中,所公开的转移方法还保留了手动绘制的蒙皮权重中的细节。计算机动画师可以依靠自动绑定或附加方法来获得初始蒙皮权重。然而,现有的绑定和附加方法具有局限性,并可在动画过程中显示伪影。为了限制这种伪影,可能需要手动后续校正。所公开的方法将对源动画角色进行的手动校正传播到目标网格表示。此外,即使蒙皮权重已经转移到目标角色,也可以将额外的蒙皮权重修正转移到目标角色。从源角色到目标角色的改变的这种传播可以以交互速率同时在多个目标角色上执行。
在一些实施例中,所公开的方法不限于特定的骨架结构。这种灵活性提供了设计具有更多或更少关节以及适合于特定动画的分层结构的骨架的自由度。甚至当源关节层级和目标关节层级在关节数方面不同时,关节和网格表示之间的空间关系可以通过转移而保留。
将理解的是,这里所示的系统是说明性的,并且变化和修改是可能的。例如,本公开描述了在确定源网格表示和目标网格表示之间的几何对应关系之后,骨架和蒙皮权重从源动画角色被转移到目标角色。可以使用几何对应关系来转移动画角色的其他属性,包括但不限于装备控制(rig control)和用于将纹理应用于动画角色的(u,v)坐标。装备控制包括一组控制器和定义动画角色如何摆姿势和移动的约束条件。(u,v)坐标定义投影到网格表示上的一个或更多个纹理的位置,其中这样的纹理增强了动画角色的外观。
图3示出根据本发明的多个实施例的放置在网格表示300上的一组标记。如图所示,网格表示300填充有标记,如标记310、312和314。网格表示包括动画角色(未明确示出)的手臂320、手腕322和手部324。网格表示300上的标记根据网格表示300的各种组件的对应的骨骼结构和移动的复杂性以不同的密度放置。手臂320的骨骼结构和移动的复杂性比较低。因此,手臂320的标记(例如标记310)以相对低的密度放置。相反,手腕322的骨骼结构和运动的复杂性是适中的。因此,手腕322的标记(诸如标记312)以中等密度放置。最后,手部324的骨骼结构和运动的复杂度相对高。因此,诸如标记314的手部324的标记以相对高的密度放置。
图4A-4D示出了根据本发明的多个实施例的、源动画角色410和多个目标角色420、430和440之间的几何对应关系映射。如图所示,源动画角色410被分成多个面片(patch),诸如面片412、414和416,其中每个面片包括源动画角色410的网格表示的一部分。类似地,目标角色420被分成如面片422、424和426的面片,目标角色430被分成如面片432、434和436的面片,目标角色440被分成如面片442、444和446的面片。在执行几何对应关系之后,源动画角色410的面片被映射到目标角色420、430和440的面片。沿源动画角色410的左臂定位的面片412映射到分别沿目标角色420、430和440的左臂定位的面片422、432和442。类似地,沿着源动画角色410的右臂定位的面片414映射到分别沿目标角色420、430和440的右臂定位的面片424、434和444。最后,位于源动画角色410的头部上的面片416分别映射到位于目标角色420、430和440的头部上的面片426、436和446。
图5示出了根据本发明的多个实施例的、与网格表示520和部分关节层级相关联的蒙皮权重集。如图所示,以绿色示出的网格表示520覆盖动画角色(未明确示出)的左肩、手臂和手部周围的区域。关节层级的部分包括上臂骨530和相关联的肩关节532和肘关节534。包括在位于上臂骨骼530附近的网格表示520中的顶点(如顶点522)以白色突出显示,指示这些顶点相对于上臂骨骼530与非零蒙皮权重相关联。包括在位于远离上臂骨骼530的网格表示520中的顶点(如顶点524)不以白色突出显示,指示这些顶点与相对于上臂骨骼530为零或接近零的蒙皮权重相关联。相应地,具有黑色背景的网格表示520的部分具有蒙皮权重为零或接近零的顶点。具有红色、橙色或黄色背景的网格表示520的部分分别具有低、中等或高的蒙皮权重的顶点。
图6是根据本发明的多个实施例的、用于将属性从源动画角色转移到目标角色的方法步骤的流程图。尽管结合图1-2的系统描述了方法步骤,但是本领域的普通技术人员将理解的是,配置成以任何顺序执行方法步骤的任何系统都在本发明的范围内。
如图所示,方法600从步骤602开始,其中包括在角色属性转移系统200中的几何对应引擎232识别与源动画角色相关联的网格表示上的标记点。标记可由计算机动画师手动放置或通过自动化过程放置。通常,将标记以较高的密度置于网格表示的区域中,这些区域表现出相对复杂的运动并且与关节层级的相对复杂的部分相关联。在步骤604中,几何对应引擎232识别与目标角色相关联的网格表示上的标记点。标记可由计算机动画师手动放置或通过自动化过程放置。此外,将标记以更高的密度放置在网格表示的区域中,这些区域表现出相对复杂的运动并且与关节层级的相对复杂的部分相关联。
在步骤606中,几何对应引擎232基于每个源网格表示与目标网格表示上的标记来计算源网格表示和目标网格表示之间的几何对应关系。几何对应引擎232通过生成源动画角色上的标记集与源动画角色上的标记集之间的映射来建立该几何对应关系。几何对应关系被生成,不依赖于源网格表示和目标网格表示之间的几何细节的差异,诸如包括在每个网格表示中的几何图元的数量,或者怎样将网格表示划分成几何图元。
在步骤608中,包括在角色属性转移系统200中的骨架转移引擎234基于几何对应关系将骨架从源动画角色转移到目标角色。骨架转移引擎234通过优化技术来计算目标关节层级,同时保留源网格表示中的顶点与源关节层级中的关节之间的关系。骨架转移引擎234还执行姿势归一化过程,以确保目标关节层级和源关节层级中的关节正确对齐。骨架转移引擎234确定目标网格表示内的源骨架的位置。这样,骨架转移引擎234通过首先定位并且然后定向关节,同时考虑关节、顶点和蒙皮权重之间的关系,来执行两步处理。
在步骤610中,包括在角色属性转移系统200中的蒙皮权重转移引擎236基于几何对应关系将蒙皮权重从源动画角色转移到目标角色。蒙皮权重转移引擎236计算目标蒙皮权重集,并将目标网格表示绑定或附加到目标关节层级,从而产生准备用于动画并保持源角色表示的质量的目标角色。在一些实施例中,可以基于源动画角色与目标角色之间的几何对应关系和网格分辨率的差异过滤来自源动画角色的蒙皮权重。
在步骤612中,在一些实施例中,包括在字符属性转移系统200中的附加转移引擎基于几何对应关系将其他属性从源动画角色转移到目标角色。例如,转换引擎可以将用于应用纹理的装备控制和/或(u,v)坐标转移到动画角色。装备控制包括一组控制器和用于定义动画角色如何摆姿势和移动的约束条件。(u,v)坐标定义被投影到网格表示上的一个或更多个纹理的位置,其中这样的纹理加强了动画角色的外观。在步骤614中,蒙皮权重转移引擎236基于所转移的蒙皮权重将与目标角色相关联的网格表示绑定或附加到与目标角色相关联的关节层级。然后方法600终止。
总之,本公开描述了用于将现有骨架、蒙皮权重和其他属性从源动画角色转移到定义各种目标角色的皮肤的几何对象的新方法。在源动画角色的网格表示上识别了标记集。同样,标记集是目标角色的网格表示。将源网格表示变形以匹配目标网格表示。变形的源网格表示和目标网格表示之间的点对点几何对应关系被确定,将具有相似语义含义的标记(如右手指的尖端和头顶)连接在一起。通过定位和定向目标角色的关节,同时考虑关节、顶点和蒙皮权重之间的关系,将源动画角色的骨架转移到目标角色。源动画角色的蒙皮权重被转移到目标角色。基于两个动画角色之间的几何对应关系和网格分辨率的差异来过滤来自源动画角色的蒙皮权重。同样,包括装备控制信息和(u,v)纹理坐标的其他属性也从源动画角色被转移到目标角色。在转移过程之后,基于被转移的蒙皮权重将网格表示绑定或附加到所转移的骨架。然后将新的目标角色准备好以供摆姿势和动画绘制。
所公开的技术的至少一个优点是可以从网格表示创建新的动画角色,而不需要为新的动画角色创建定制的关节层级、装备以及蒙皮权重集。从现有动画角色到新动画角色的关节层级、装备和蒙皮权重集,而不对新动画角色的网格表示的设计施加限制。这些技术避免了从头开始为新的动画角色创建骨架和蒙皮权重的需求,这个过程可能是乏味的,并且需要耗时的手动调整。所公开的方法通过处理具有各种拓扑和形态的网格的角色来消除典型的建模约束条件。相对于以前的方法来说,生成新的动画角色的时间和努力减少了,并且计算机动画师可以设计新的动画角色的外观而对艺术自由没有过度的限制。
所公开的技术的另一个优点是可以对源动画角色的蒙皮权重进行进一步的调整,以校正或修改动画角色。调整后的蒙皮权重可以转移到目标角色,从而将调整后的蒙皮权重传播到相关的目标。
出于说明的目的已经给出了对各种实施例的描述,但并不意图是穷尽的或者限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,对于本领域的普通技术人员来说,许多修改和变化将是显而易见的。
本实施例的各方面可以体现为系统、方法或计算机程序产品。因此,本公开的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或者结合软件和硬件方面的实施例,其全部通常在此被称为“模块”或“系统”。此外,本公开的各个方面可以采取包含在一个或更多个计算机可读介质中的计算机程序产品的形式,所述计算机可读介质具有包含在其上的计算机可读程序代码。
可以使用一个或更多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子的、磁的、光学的、电磁的、红外的或半导体的系统、装置或设备,或前述的任何合适的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下:具有一个或更多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或前述任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的任何有形介质。
以上参考方法、装置(系统)和计算机程序产品的流程图和/或框图描述了根据本公开的实施例的本公开的各方面。将理解的是,流程图和/或框图中的每个框以及流程图和/或框图中的框的组合可以通过计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,从而经由计算机或其他可编程数据处理装置的处理器执行的指令,使得在流程图和/或框图的一个或更多个框中指定的功能/动作的实现。这样的处理器可以是但不限于通用处理器、专用处理器、特殊应用处理器或现场可编程的。
附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示包括用于实现一个或更多个指定的逻辑功能的一个或更多个可执行指令的部分代码、字段或模块。还应该注意的是,在一些替代实现方式中,方框中提到的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者所述框有时可以以相反的顺序执行。还应该注意的是,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由执行特殊功能或动作的专用基于硬件的系统、或专用硬件和计算机指令的组合来实现。
尽管前面的描述针对本公开的实施例,但是本公开的其他和进一步的实施例可以在不脱离本公开的基本范围的情况下设计,并且其范围由随后的权利要求确定。
Claims (20)
1.一种用于将属性从源动画角色转移到目标角色的方法,包括:
识别对应于所述源动画角色的第一标记集;
识别对应于所述目标角色的第二标记集;
基于所述第一标记集和所述第二标记集生成所述源动画角色与所述目标角色之间的几何对应关系,所述几何对应关系独立于所述源动画角色与所述目标角色之间的几何差异;以及
基于所述几何对应关系,将第一属性从所述源动画角色转移到所述目标角色。
2.如权利要求1所述的方法,其中所述第一属性包括关节层级,以及进一步包括对所述源动画角色执行姿势归一化过程,以将与所述源动画角色相关联的第一关节层级和与所述源动画角色相关联的第二关节层级对准。
3.如权利要求1所述的方法,其中所述第一属性包括关节层级,以及进一步包括:
确定第一关节的第一位置,所述第一关节包括在与所述源动画角色相关联的第一关节层级中;以及
计算与所述目标角色相关联的第二关节层级内的所述第一关节放置的第二位置。
4.如权利要求1所述的方法,其中所述第一属性包括关节层级,以及进一步包括:
确定第一关节的第一旋转角度,所述第一关节包括在与所述源动画角色相关联的第一关节层级中;以及
计算在与所述目标角色相关联的第二关节层级内的所述第一关节的第二旋转角度。
5.如权利要求4所述的方法,其中所述第一属性包括蒙皮权重集,以及进一步包括:
基于与有关所述源动画角色的第二网格表示相关联的一个或更多个蒙皮权重,计算与有关所述目标角色的第一网格表示相关联的第一蒙皮权重;以及
基于所述第一蒙皮权重,将包括在所述第一网格表示中的第一顶点附加到与所述目标角色相关联的关节层级。
6.如权利要求1所述的方法,其中所述第一属性包括蒙皮权重集,以及进一步包括:
确定与所述源动画角色相关联的第一网格表示的第一分辨率低于与所述目标角色相关联的第二网格表示的第二分辨率;
对包括在所述蒙皮权重集中的蒙皮权重子集执行线性插值,以生成重新采样的源蒙皮权重集;以及
基于所述重新采样的蒙皮权重,确定与所述目标角色相关联的第一蒙皮权重。
7.如权利要求1所述的方法,其中所述第一属性包括蒙皮权重集,以及进一步包括:
确定与所述目标角色相关联的第一网格表示的第一分辨率低于与所述源动画角色相关联的第二网格表示的第二分辨率;
选择包括在与所述源动画角色相关联的第一网格表示中的一个或更多个顶点;
对与所述一个或更多个顶点相关联的多个蒙皮权重应用过滤器,以生成经过滤的蒙皮权重;以及
将所述经过滤的蒙皮权重分配给包括在与所述目标角色相关联的第二网格表示中的第一顶点。
8.如权利要求1所述的方法,其中所述第一属性包括蒙皮权重集,以及进一步包括:
在将所述第一属性转移给所述目标角色之后,确定包括在所述蒙皮权重集中的第一蒙皮权重已经改变;以及
基于所述几何对应关系,将所述第一蒙皮权重从所述源动画角色转移给所述目标角色。
9.如权利要求4所述的方法,其中所述第一属性包括装备控制,所述装备控制包括一组控制器和定义所述源动画角色怎样摆姿势和移动的一个或更多个约束条件。
10.如权利要求1所述的方法,其中所述第一属性包括装备控制和定义一个或更多个纹理的位置的(u、v)坐标,所述纹理投射到与所述源动画角色相关联的源网格表示中。
11.一种非暂时性计算机可读存储介质,包括指令,所述指令在由处理器执行时,使得所述处理器通过执行以下步骤将属性从源动画角色转移到目标角色:
识别对应于所述源动画角色的第一标记集;
识别对应于所述目标角色的第二标记集;
基于所述第一标记集和所述第二标记集生成所述源动画角色与所述目标角色之间的几何对应关系,所述几何对应关系独立于所述源动画角色与所述目标角色之间的几何差异;以及
基于所述几何对应关系,将关节层级和蒙皮权重集中的至少一个由所述源动画角色转移到所述目标角色。
12.如权利要求11所述的非暂时性计算机可读存储介质,其中所述第一属性包括关节层级,以及进一步包括对所述源动画角色执行姿势归一化过程,以将与所述源动画角色相关联的第一关节层级和与所述源动画角色相关联的第二关节层级对准。
13.如权利要求11所述的非暂时性计算机可读存储介质,其中所述第一属性包括关节层级,以及进一步包括:
确定第一关节的第一位置,所述第一关节包括在与所述源动画角色相关联的第一关节层级中;以及
计算与所述目标角色相关联的第二关节层级内的所述第一关节放置的第二位置。
14.如权利要求11所述的非暂时性计算机可读存储介质,其中所述第一属性包括关节层级,以及进一步包括:
确定第一关节的第一旋转角度,所述第一关节包括在与所述源动画角色相关联的第一关节层级中;以及
计算在与所述目标角色相关联的第二关节层级内的所述第一关节的第二旋转角度。
15.如权利要求11所述的非暂时性计算机可读存储介质,其中生成所述源动画角色与所述目标角色之间的几何对应关系包括:将与所述源动画角色相关联的源网格表示变形,以生成与关联于所述目标角色的目标网格表示相匹配的变形的源网格表示。
16.如权利要求15所述的非暂时性计算机可读存储介质,其中生成所述源动画角色与所述目标角色之间的几何对应关系进一步包括:基于所述变形的源网格表示与所述目标网格表示之间的最近邻位置提取密集对应关系。
17.如权利要求15所述的非暂时性计算机可读存储介质,其中将包括在所述变形的源网格表示中的每个顶点双射链接至所述目标网格表示的多边形的重心坐标。
18.如权利要求15所述的非暂时性计算机可读存储介质,其中将包括在所述目标网格表示中的每个顶点双射链接至所述变形的源网格表示的多边形的重心坐标。
19.一种系统,包括:
处理器;和
存储器,耦连至所述处理器,包括几何对应引擎和转移引擎;
其中,当执行所述几何对应引擎时,所述处理器被配置成:
识别放置在与源动画角色相关联的源网格表示上的第一标记集,
识别放置在与目标角色相关联的目标网格表示上的第二标记集,以及
基于所述第一标记集和所述第二标记集生成所述源动画角色与所述目标角色之间的几何对应关系,所述几何对应关系独立于所述源动画角色与所述目标角色之间的几何差异;以及
其中,当执行所述转移引擎时,所述处理器被配置成基于所述几何对应关系将第一属性从所述源动画角色转移至所述目标角色。
20.如权利要求19所述的系统,其中独立于包括在所述源网格表示中的几何基元相对于包括在所述目标网格表示中的几何基元的第二数量的第一数量,生成所述几何对应关系。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562197483P | 2015-07-27 | 2015-07-27 | |
US62/197,483 | 2015-07-27 | ||
US14/999,985 | 2016-07-21 | ||
US14/999,985 US10489956B2 (en) | 2015-07-27 | 2016-07-21 | Robust attribute transfer for character animation |
PCT/US2016/044340 WO2017019811A1 (en) | 2015-07-27 | 2016-07-27 | Robust attribute transfer for character animation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108027979A true CN108027979A (zh) | 2018-05-11 |
CN108027979B CN108027979B (zh) | 2021-05-28 |
Family
ID=57882796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680049594.2A Active CN108027979B (zh) | 2015-07-27 | 2016-07-27 | 用于角色动画的鲁棒的属性转移 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10489956B2 (zh) |
EP (1) | EP3329464A4 (zh) |
CN (1) | CN108027979B (zh) |
WO (1) | WO2017019811A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961436A (zh) * | 2019-04-04 | 2019-07-02 | 北京大学口腔医学院 | 一种基于人工神经网络模型的正中矢状平面构建方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229535B2 (en) * | 2016-03-09 | 2019-03-12 | Deluxe Media Creative Services Inc. | Systems and methods for automated virtual geometry deformation |
US10169903B2 (en) * | 2016-06-12 | 2019-01-01 | Apple Inc. | Animation techniques for mobile devices |
US10304244B2 (en) * | 2016-07-08 | 2019-05-28 | Microsoft Technology Licensing, Llc | Motion capture and character synthesis |
US10262447B2 (en) * | 2016-09-30 | 2019-04-16 | Disney Enterprises, Inc. | Systems and methods for virtual entity animation |
WO2018095273A1 (zh) * | 2016-11-24 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 图像合成方法、装置以及匹配实现方法、装置 |
CN106960459B (zh) * | 2016-12-26 | 2019-07-26 | 北京航空航天大学 | 角色动画中基于扩展位置动力学的蒙皮技术及权重重定位的方法 |
US20180225858A1 (en) * | 2017-02-03 | 2018-08-09 | Sony Corporation | Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform |
US10410431B2 (en) | 2017-07-11 | 2019-09-10 | Nvidia Corporation | Skinning a cluster based simulation with a visual mesh using interpolated orientation and position |
US10762682B2 (en) * | 2018-03-21 | 2020-09-01 | Electronic Arts Inc. | Skinning weights and underlying object suppression of three-dimensional images |
US10445931B1 (en) | 2018-03-27 | 2019-10-15 | Electronic Arts, Inc. | Directional dilation at a mesh boundary of three-dimensional images |
US11363247B2 (en) * | 2020-02-14 | 2022-06-14 | Valve Corporation | Motion smoothing in a distributed system |
US11257290B2 (en) * | 2020-04-30 | 2022-02-22 | Adobe Inc. | Decimating a three-dimensional mesh via successive self-parameterization |
US11423617B2 (en) | 2020-04-30 | 2022-08-23 | Adobe Inc. | Subdividing a three-dimensional mesh utilizing a neural network |
US11113862B1 (en) * | 2020-05-11 | 2021-09-07 | Sony Interactive Entertainment Inc. | Simulating motion of computer simulation characters to account for simulated injuries to the characters using current motion model |
FR3124302B1 (fr) * | 2021-06-18 | 2023-11-03 | 4D View Solutions | Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique. |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120019517A1 (en) * | 2010-07-23 | 2012-01-26 | Mixamo, Inc. | Automatic generation of 3d character animation from 3d meshes |
CN102596340A (zh) * | 2009-05-29 | 2012-07-18 | 微软公司 | 用于将动画或运动应用到角色的系统和方法 |
CN102903138A (zh) * | 2012-08-30 | 2013-01-30 | 浙江工商大学 | 一种考虑形状的二维数字角色骨架操作方法 |
CN104021584A (zh) * | 2014-06-25 | 2014-09-03 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7423656B2 (en) * | 2003-03-11 | 2008-09-09 | National University Of Singapore | Method and apparatus for generating morphing sequence |
US8026917B1 (en) * | 2006-05-01 | 2011-09-27 | Image Metrics Ltd | Development tools for animated character rigging |
US7859538B2 (en) | 2006-07-31 | 2010-12-28 | Autodesk, Inc | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine |
US8035643B2 (en) * | 2007-03-19 | 2011-10-11 | Lucasfilm Entertainment Company Ltd. | Animation retargeting |
US9342912B1 (en) * | 2007-06-06 | 2016-05-17 | Lucasfilm Entertainment Company Ltd. | Animation control retargeting |
US8379036B2 (en) * | 2008-02-22 | 2013-02-19 | Pixar | Mesh transfer |
US8368712B2 (en) * | 2008-08-28 | 2013-02-05 | Pixar | Mesh transfer in n-D space |
US9317952B2 (en) | 2013-03-15 | 2016-04-19 | Disney Enterprises, Inc. | Content aware texture mapping on deformable surfaces |
US11195318B2 (en) * | 2014-04-23 | 2021-12-07 | University Of Southern California | Rapid avatar capture and simulation using commodity depth sensors |
US9858700B2 (en) * | 2015-05-13 | 2018-01-02 | Lucasfilm Entertainment Company Ltd. | Animation data transfer between geometric models and associated animation models |
-
2016
- 2016-07-21 US US14/999,985 patent/US10489956B2/en active Active
- 2016-07-27 WO PCT/US2016/044340 patent/WO2017019811A1/en active Application Filing
- 2016-07-27 CN CN201680049594.2A patent/CN108027979B/zh active Active
- 2016-07-27 EP EP16831323.7A patent/EP3329464A4/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102596340A (zh) * | 2009-05-29 | 2012-07-18 | 微软公司 | 用于将动画或运动应用到角色的系统和方法 |
US20120019517A1 (en) * | 2010-07-23 | 2012-01-26 | Mixamo, Inc. | Automatic generation of 3d character animation from 3d meshes |
CN102903138A (zh) * | 2012-08-30 | 2013-01-30 | 浙江工商大学 | 一种考虑形状的二维数字角色骨架操作方法 |
CN104021584A (zh) * | 2014-06-25 | 2014-09-03 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
Non-Patent Citations (1)
Title |
---|
ROBERT WALKER SUMNER: "Mesh Modification Using Deformation Gradients", 《百度学术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961436A (zh) * | 2019-04-04 | 2019-07-02 | 北京大学口腔医学院 | 一种基于人工神经网络模型的正中矢状平面构建方法 |
CN109961436B (zh) * | 2019-04-04 | 2021-05-18 | 北京大学口腔医学院 | 一种基于人工神经网络模型的正中矢状平面构建方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017019811A1 (en) | 2017-02-02 |
US20170032560A1 (en) | 2017-02-02 |
CN108027979B (zh) | 2021-05-28 |
EP3329464A4 (en) | 2019-01-16 |
US10489956B2 (en) | 2019-11-26 |
EP3329464A1 (en) | 2018-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027979A (zh) | 用于角色动画的鲁棒的属性转移 | |
Foster et al. | Integrating 3D modeling, photogrammetry and design | |
CN105164728B (zh) | 用于混合实境的设备和方法 | |
US20150325044A1 (en) | Systems and methods for three-dimensional model texturing | |
Ji et al. | B‐Mesh: a modeling system for base meshes of 3D articulated shapes | |
Yeh et al. | Template-based 3d model fitting using dual-domain relaxation | |
CN109036548A (zh) | 基于混合现实三维可视化的辅助诊疗系统 | |
US20090066700A1 (en) | Facial animation using motion capture data | |
CN108389257A (zh) | 从扫描对象生成三维模型 | |
JP2024522287A (ja) | 三次元人体再構成方法、装置、デバイスおよび記憶媒体 | |
CN101520902A (zh) | 低成本动作捕捉与演示系统及方法 | |
CN104169941A (zh) | 自动跟踪抠像区系统 | |
Luo et al. | Geometrically consistent stereoscopic image editing using patch-based synthesis | |
CN104103091A (zh) | 3d智能建模方法和系统及3d模型柔性制造系统 | |
US11443473B2 (en) | Systems and methods for generating a skull surface for computer animation | |
CN110458924A (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
CN100369062C (zh) | 三维图像的生成方法及其显示系统 | |
Taubin et al. | 3d scanning for personal 3d printing: build your own desktop 3d scanner | |
US20050062737A1 (en) | Method for making a colorful 3D model | |
Song et al. | A generic framework for efficient 2-D and 3-D facial expression analogy | |
Caudron et al. | Blender 3D By Example | |
KR20230110787A (ko) | 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들 | |
CN114219001A (zh) | 一种模型融合方法及相关装置 | |
Brownridge et al. | Body scanning for avatar production and animation | |
CN104091318B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |