CN102270353A - 使用矢量场的动画元素布局 - Google Patents

使用矢量场的动画元素布局 Download PDF

Info

Publication number
CN102270353A
CN102270353A CN201110158997XA CN201110158997A CN102270353A CN 102270353 A CN102270353 A CN 102270353A CN 201110158997X A CN201110158997X A CN 201110158997XA CN 201110158997 A CN201110158997 A CN 201110158997A CN 102270353 A CN102270353 A CN 102270353A
Authority
CN
China
Prior art keywords
animated element
human body
animated
vector
clothes
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
Application number
CN201110158997XA
Other languages
English (en)
Other versions
CN102270353B (zh
Inventor
P·王
N·丹尼
C·布鲁金
P·K·米什拉
M·A·艾耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102270353A publication Critical patent/CN102270353A/zh
Application granted granted Critical
Publication of CN102270353B publication Critical patent/CN102270353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种使用矢量场的动画元素布局的方法。虚拟三维环境中第一动画元素的布局可参考第二动画元素和由二者关系得到的矢量场来实现。如果所述第二动画元素被移至一新的动画帧后,所述第一动画元素位于所述第二动画元素的内部,则为位于“内部”的区域计算一现有矢量场。所述矢量场可包括具有与所述第一动画元素移回至所述第二动画元素外部所需的初始速度和方向相称的方向和幅度的各个矢量。依照该矢量场模拟所述第一动画元素的移动,然后判定是否存在任何仍然位于内部的部分。该迭代过程可在所述第二动画元素下一次移动之前移动和布局所述第一动画元素。

Description

使用矢量场的动画元素布局
技术领域
本发明涉及动画元素布局,尤其是使用矢量场的动画元素布局。
背景技术
现代计算设备的图形显示能力已足够先进以使其能以逼真的方式显示虚拟人体上服装的图像。这种图像能达到足够好的视觉质量以便发生下列情形时其能提供效用,例如,确定是否从如在线商家那里购买展示的服装,或者为电影拍摄呈现真实的布料,或者通过计算设备比较多种不同的服装。这种图像还能在视频游戏、虚拟现实模拟、动画电影或其他类似用途的上下文中提供更加真实的视觉描绘。
移动图像的序列,如动画,通常能提供一个更为有用的视角,并由此虚拟人体上的服装的逼真图像如果在所述虚拟人体进行人体动作的上下文中得到展示则更为有用。因此,例如当一个用户决定是否购买一件特定的服装或比较多件服装时,可向用户呈现展示这些服装如何应对各种常见的人体动作的可视化效果。类似的,玩视频游戏或使用虚拟现实模拟的用户会使一虚拟人体在所述视频游戏或所述虚拟现实模拟的上下文中进行移动,所述虚拟人体上的服装可被展示为跟随所述人体一起移动。
通常,实现真实图像的动画用以在一计算设备控制的二维显示介质上模拟三维外观。提供模拟三维动画的多个计算机可执行指令库已经存在,包括如考虑各种物理情况,如光照、重心等。尽管所述多个计算机可执行指令库能提供真实的模拟三维动画,但它们需要能执行它们的计算设备来执行即使是对于一段非常短小和简单的动画也极大量的计算。由此,用于模拟三维动画的现有库在可能由处理能力不足的计算设备在短时间内生成动画的情形下可能不太实用。
发明内容
在一个实施例中,以模拟三维的方式通过比较虚拟三维空间中服装的位置与虚拟人体的位置来将所述服装动画化。人体移动后,如果所述服装的一部分位于人体“内部”,则可标识该部分并将其移至人体“外部”。然后所述人体在所述模拟三维动画中被移至下一位置。
在另一实施例中,为已确定所述服装的一部分位于人体内部的那些区域计算一现有矢量场。所述矢量场的各矢量包括与所述服装移回至所述人体外部所需的初始速度和方向相称的方向和幅度。通过将所述矢量场的计算限制为所述服装位于人体内部的那些区域来获得效率。
又一实施例中,根据所述矢量场模拟所述服装的移动,然后确定是否还有任何位于人体内部的服装。如果还存在此类区域,则再次为此类区域计算矢量场,再次模拟所述服装的移动,以如此迭代的方式进行直至所述服装完全位于人体的外部。然后所述人体在模拟三维动画中被移至下一位置。
在又一实施例中,所述服装移动的模拟能防止所述服装产生例如由自身的折叠和穿透所引起的自穿透。任选地,所述服装移动的模拟还可考虑其他物理属性。
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
通过下面的结合附图对本发明进行的具体实施方式,本发明的附加特征和优点将变得更加显而易见。
附图说明
通过参考各个附图,可以最好地理解如下具体实施方式,其中
图1是一利用动画元素的布局的示例性***的框图,所述布局使用了矢量场;
图2是一动画元素的示例性布局的框图,所述示例性布局使用了矢量场;
图3是一动画元素的示例性布局的流程图,所述示例性布局使用了矢量场;以及
图4是一示例性计算设备的框图。
具体实施方式
以下描述是关于动画元素的布局,所述布局使用了矢量场。当一个动画元素相对于另一动画元素移入一虚拟三维空间时,第二动画元素可最终位于第一移动的动画元素的“内部”。可为其中第二动画元素位于所述第一移动的动画元素“内部”的那些区域的计算现有矢量场。通过将所述矢量场的计算限制于上述区域可获得效率。所述矢量场的各矢量包括与将所述第二动画元素移回至所述第一动画元素外部相称的幅度和方向。所述第二动画元素可随后根据所述矢量场被制作为动画,并且该动画制作可考虑一个或多个物理属性,例如所述第二动画元素不能自我穿透的属性。在所述第二动画元素的动画制作之后,再确定第二动画元素是否存在任何仍位于所述第一动画元素内部的部分。如果存在这些部分,则接下来生成用于该部分的矢量场计算,以如此迭代的方式重复所述第二动画元素的动画制作。一旦所述第二动画元素被移至所述第一动画元素的外部,则所述第一动画元素可接着被移至其下一位置,并且重复上述过程。
尽管以下描述用于虚拟人体上的服装的动画制作,但不限于此。实际上,以下描述同样适用于被规定为共享一个属性的任何两个元素的动画制作中,其中一个动画元素至少在其物理模拟方面无法位于另一动画元素“内部”。因此,尽管以下描述为了便于描述和概念化将提到虚拟“服装”和虚拟“人体”,但以下描述的范围旨在涵盖任何两个或多个此类相关的动画元素。
虽然未作要求,但以下描述将处在例如程序模块的正由一个或多个计算设备执行的计算机可执行指令的一般上下文中。更具体的,除非另外指明,否则描述将参考一个或多个计算设备或***设备所执行的动作以及其所执行的操作的符号表示。由此,可以理解,这些有时被称为计算机执行的动作和操作包括以结构化形式表示数据的电信号的处理单元的操纵。该操纵在存储器中的各个位置变换或维护数据,这以本领域技术人员都理解的方式重新配置或以其他方式更改计算设备或***设备的操作。数据被维护在其中的数据结构是具有由数据形式所定义的特定属性的物理位置。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将会认识到这些计算设备不必限于常规个人计算机,并且包括其他计算配置,包括手持式设备、多处理器***、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机等等。类似地,这些计算设备不必限于独立计算设备,因为各机制也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
转向图1,示出了***100,其包括通过网络190彼此通信地耦合的两个计算设备110和120。在所示实施例中,计算设备110扮演客户计算设备,例如能被一个或多个用户直接使用。相反,计算设备120扮演服务器计算设备,所述服务器计算设备通过跨网络190传输的通信为例如客户计算设备110的一个或多个用户计算设备提供信息。
如前所示,以下描述适用于任意两个元素的动画制作,所述任意两个元素旨在模拟一个动画元素无法位于另一个动画元素内部的物理属性。但是,出于提供特定示例以方便概念化和描述的目的,此处描述的多种机制参考了虚拟三维环境中服装的动画制作来描述,相对于同样位于所述虚拟三维环境中的人体的预先存在的动画制作序列。因此,在图1的***100示出的示例性实施例中,客户计算设备110执行一应用程序,用以呈现如图所示的用户界面130。所述用户界面130包括可显示一件服装的画面140,所述服装位于人体150的虚拟三维表示上。所述用户界面130还能向用户提供为虚拟人体150制作动画的能力,例如通过动画制作选择160。该示例性实施例能使用户更准确地观察当用户穿着预期的服装时该服装是什么样的,以及由此为用户提供有用信息,用以帮助用户确定是否从例如在线商家那里购买一件服装,所述在线商家的销售情况主要从通过网络190的通信获得。例如,所述服务器计算设备120被通信地耦合至一数据库180,所述数据库180包括关于大量的服装的信息,例如由所述服务器计算设备120提供用于销售。所述大量的服装通过用户界面130呈献给所述用户,以使所述用户能够选择要在人体150上制作成动画的不同服装。在图1的***100的说明性例子中,通过所述用户界面130显示了可呈现给所述用户的可替换的服装170、171和172以供用户考虑和选择。
图1的***100所示的示例中,如在以下描述的机制可适用的许多其他情形中,人体150上已选服装的动画制作可由客户计算设备110来执行,所述客户计算设备110可能不具备在虚拟三维环境中传统地实时生成人体150和已选服装的移动的足够的计算能力。以下描述的机制能使一计算设备,如客户计算设备110,在虚拟三维环境中实时生成人体150和已选服装的动画。
尽管不是必须的,但在如图1所示***100的示例性实施例的各实施例中,虚拟三维环境中可预先计算一动画元素的移动和定位。例如,图1的***100中,虚拟三维环境中人体150的移动甚至可由另一计算设备,如服务器计算设备120来预先计算,这样人体150就可以执行相同的移动,而与同所述人体150一起被制作动画的服装无关。图1的图示将服装170、171和172显示为男士衬衫或女士衬衫,由此人体150根据与所述服装有关的预先计算出的移动来动作,例如模拟人体150的手臂上举或人体150的肩膀旋转的移动,所有的移动均在虚拟三维环境中。根据与这种可被选择的特定衬衫170、171或172无关的预先计算来对这些移动进行预先计算和制作动画。一个实施例中,不同的预先计算的移动可被用于不同类型的服装,使得例如如果选择的服装是例如与诸如所示的男士衬衫或女士衬衫不同的短裤或裤子,则人体150的移动会有所不同。
由于虚拟三维环境中一个动画元素的移动可被预先计算,则所述虚拟三维环境中另一个动画元素的动画制作或移动可基于所述第一动画元素的预先计算的移动并与之相对应。在图1的***100显示的特定示例中,由于在虚拟三维环境中人体150的移动能被预先计算,则人体150上服装的移动可基于所述人体的该预先计算的移动。所述人体移动所导致的所述服装的任何移动也能被预先计算,用以解决所述服装的自交叉或自穿透。
转向图2,此处显示的***200示出一示例性机制,给定另一动画元素240的移动,通过所述示例性机制利用矢量场来在虚拟三维环境中为动画元素250制作动画或移动动画元素250。例如,图2的***200可以是服装205一部分的特写图,所述服装205的动画是根据人体的预先计算的动画来制作的,其中还展示了人体240一部分的特写图。最初,如分组210所示,根据上述预先计算的移动,所述人体已经移动至某一位置,在该位置人体240的一部分如分组210中所示。但是所述服装可能还未移动,因此所述服装250所示部分的至少某些位于所述人体240所示部分的“内部”。在分组210中,服装250位于人体240所示部分内部的部分由长虚线勾勒,并由标记号260表示。
如此处使用的,在动画制作的虚拟三维环境中,术语“内部”是指由一表面定义和限制的空间,所述表面旨在代表一物理对象。更通俗的说,由旨在代表物理对象的表面所限制的所述空间,在物理世界模拟中,是指位于所述物理对象的“内部”。因此,基于为其虚拟模拟物制作动画的所述物理对象的属性,一个动画元素不允许存在于另一动画元素的内部。例如,图2所示的分组210中,所述服装250的各部分不应位于所述人体240各部分的内部,因为很明显,在物理世界中,服装不能穿透并存在于穿着所述服装的人体的内部。
因此,当所述人体在虚拟三维环境中例如根据上述预先计算的移动量发生移动而所述服装并未移动而所述服装的至少一部分由于所述人体的移动而最终位于所述人体的内部时,多种机制可被用于在所述人体的下一次预先计算的移动之前将这部分服装移出所述人体。因此,如图2所示,所述人体240的所示部分在分组210、220和230中所示部分的位置就是所述人体的该部分在例如上述预先计算的动画制作序列的单个帧中的位置。分组210、220和230中所示的服装250所示部分的位置的移动可作为在所述预先计算的动画制作序列的特定帧中所述人体240所示部分的位置的结果而发生。一旦所述服装移至所述人体外部,如由分组230所代表,则所述人体可根据所述预先计算的动画制作序列的下一帧进行移动,图2的***200所示的机制可被重复执行。以此方式,当一个动画元素最终位于另一动画元素内部且不允许存在这种情形时,通过聚焦和修正这些实例和这些区域,可根据所述人体或任何其他动画元素的移动为所述服装或任何其他动画元素制作动画。
返回分组210,所述服装250的所示部分位于人体240的所示部分内部的区域260可通过一种已知的方式来计算。例如,一个实施例中,比较构成所述人体240所示部分的各个动画点的三维坐标和构成所述服装250所示部分的各个动画点的三维坐标,用以确定这样的动画点坐标,其中取决于所使用的坐标***,所述服装250所示部分的动画点的一个或多个坐标值大于或者小于所述人体240所示部分的动画点的一个或多个坐标值。在虚拟三维空间中,所述区域260的边界基于如下位置被标识,其中所述服装250所示部分的动画点的坐标值等于所述人体240所示部分的动画点的坐标值。
现有的矢量场可填充所述人体内部,包括所述人体240的所示部分。对于三维空间中所述人体内部的任意点,如将在以下进一步描述的,所述矢量场包括如下矢量,给定所述人体的预先计算的移动,所述矢量的方向和幅度根据并且与从与所述矢量相关联的点到所述人体外部的方向和距离成比例。一旦区域260被标识,可计算位于所述区域260中的所述服装250所示部分的各个动画点的现有矢量场。在区域260的上下文中,已计算的矢量场包括如下矢量,其方向定向和幅度对应于位于区域260中的所述服装250的所示部分被移回至所述人体240相关部分之外所需的方向和距离。如本领域技术人员将了解的,虚拟三维环境中传统的动画制作如下实现,将一表面划分为大量的小三角形,然后移动每个小三角形以实现所述表面的整体移动。因此,在为表面250制作动画的上下文中,图2的***200利用三角形271、272、273和275来说明以上引用的矢量场的应用。但是,所描述的多种机制在任何方面都不限于基于三角形的动画制作方法,并且被制作为动画的元素、几何网格或表面的任意量或点都能被利用,与其形状无关。
一个实施例中,对于位于所述区域260中的所述服装250所示部分的每个三角形元素,可计算一矢量,其方向定向和幅度对应于所述服装250所示部分的该三角形元素移至所述人体240所示部分外部所需的方向和距离。所述矢量场的相关部分由为所述区域260中的所述服装250所示部分的全部此类三角形元素计算的矢量所构成。例如,如图2的分组210所示,一个三角形元素271为此计算,相关矢量281指向所述三角形元素271为了移至所述人体240所示部分的外部所需的方向。同样,所述矢量281的幅度可基于相关联的三角形元素271在所述矢量281所标识的方向上移至所述人体240所示部分外部所需的距离。分组210所示的其他例子包括三角形元素272、273及其相关矢量282、283。
所述矢量场的矢量所标识的方向,例如矢量281、282和283,不仅可以是相关三角形元素271、272和273分别最终移至所述人体240所示部分外部的移动方向,相反,还能够被所述人体240所示部分的先前移动以及人体240所示部分的曲率或形状所通知。更具体的,在一个实施例中,所述矢量场的各个矢量所标识的方向可对应于所述人体240的所示部分在前一帧与当前帧之间的移动方向,所述前一帧中所述服装250所示部分不在所述人体240所示部分的内部,所述当前帧中所述服装250所示部分在区域260中位于所述人体240所示部分的内部。因此,例如,由于所述矢量281与三角形元素271相关联,且所述三角形元素271距离所述区域260的顶部和底部边界大致等距,则所述矢量281指向一与所述人体240所示部分的曲率大致正交的方向,且大致是所述人体240所示部分在前一帧和当前帧之间移动的方向。相反,又如,由于所述矢量282、283分别与三角形元素272、273相关联,且所述三角形元素272、273非常接近于所述区域260的***,则所述矢量282、283也指向与所述人体240所示部分的曲率大致正交的方向,但不与所述人体240所示部分在前一帧和当前帧之间移动的方向相同而是大致正交。
一旦用于区域如所述区域260的现有矢量场被计算,所述区域260中,一个动画元素如动画元素250位于另一个动画元素如动画元素240内部,则可依照已计算出的矢量场来模拟第一动画元素如动画元素250的移动。由于仅计算用于诸如如所述区域260之类的区域的矢量场,所述区域中,一个动画元素如动画元素250位于另一个动画元素如动画元素240内部,则第一动画元素如动画元素250中位于所述区域260以外的部分则无需制作动画或移动。通过将动画元素的移动限制于仅特定区域,可实现效率。
一个实施例中,位于所述区域260中的动画元素250的各个三角形元素,如所述三角形元素271、272和273,可被初始化以一初始速度,所述初始速度分别相称于对应矢量的幅度,例如所述矢量281、282和283。位于所述区域260中的所述动画元素250的移动可依照已知的三维模拟技术来实现。此外,在该模拟中考虑基于物理现实的其他属性。例如,在模拟服装250的一部分的移动的上下文中,不仅考虑所述矢量场定义的初始速度和方向,还要考虑其他属性,例如服装无法穿透本身。因此,还是在模拟服装250的一部分的移动的上下文中,所述模拟无法模拟所述服装250所示部分的将导致该服装的一部分穿过其另一部分的移动,由此能够将预防服装的自穿透作为模拟移动的一部分。依照上述矢量场进行的动画元素的模拟移动还可考虑基于物理现实的其他属性,例如基于两个或多个被制作动画的元素之间存在的摩擦的属性,基于地心引力的存在、影响和力量的属性,以及其他类似属性。
在依照上述矢量场模拟所述动画元素250的移动后,动画元素250和260从图2中分组210所示的位置移动至图2中分组220所示的位置。从示例性分组220可以看出,动画元素250中的区域265位于动画元素240内部。但是由于上述的模拟移动,所述区域265比分组210中的区域260要小。以与上述类似的方式再次计算新区域265的矢量场。例如,与上面引用的三角形元素271大致位于一处的三角形元素275具有为其计算的矢量285。尽管矢量285方向定向于与所述矢量281大致相同的方向,但其幅度可较小,这反映出例如位于三角形元素275位置的动画元素250距离动画元素240的外部更近。
一旦为所述新区域265计算了矢量场,则执行另一模拟,依照为所述新区域265计算的矢量场来移动所述动画元素250。如果该下一步移动仍未导致所述动画元素250全部位于所述动画元素240的外部,则计算位于所述动画元素240内部的所述动画元素250的另一区域,计算用于该新区域的矢量场,并依照该矢量场执行再一次模拟。可以这样迭代的方式执行所述动画元素250的移动,直至所述动画元素250全部位于所述动画元素240的外部,如图2的分组230所示。接下来,所示动画元素240可被移至其下一个预先计算的位置。再次返回到在人体上展示服装的示例,所示人体依照预先计算的一系列移动进行移动,所述服装250所示部分全部位于所述人体240所示部分的外部之后,如图2的分组230所示,所示人体移至其预先计算的动画制作序列的下一帧,有可能再次导致所述服装的一部分位于所述人体的一部分的内部,因此使得再次重复上述机制以迭代地将位于所述人体内部的服装的所述部分移出人体。通过这种方式,依照另一动画元素如人体的移动为一个动画元素如服装制作动画,这样在动画制作过程中的任意给定点,只有第一动画元素的那些最终位于第二动画元素内部的部分被移动,由此提供了一种更高效、更快的过程。
转向图3,其显示的流程图300示出依照矢量场,动画元素的迭代移动被利用的一系列步骤。为了便于引用和描述,图3所示流程图300的各个步骤再次参考了一特定示例,即在虚拟三维环境中依照穿着一服装的人体的预先计算的动画来为该服装制作动画。但是就像之前一样,图3的流程图300的各个步骤同样适用于任意两个动画元素而无需改变。
最初,如图3的流程图300所示,在步骤310,一动画制作序列在如下的上下文中被初始化,其中参考一元素位于另一元素的内部还是外部,以及所述元素与所述另一元素相交的方式来执行该元素的布局和最终动画制作。在所述流程图300引用的特定示例中,步骤310可在穿着并展示一件衣服的人体的预先计算动画制作的上下文中初始化该衣服的动画制作。接下来,在步骤320,例如根据上述预先计算的动画制作来生成所述人体的动画制作的下一姿势或帧。在步骤330,判定所述衣服是否存在任何位于所述人体内部的部分。对于作为步骤320中生成的所述人体的动画制作帧或姿势的部分,如果所述衣服不存在任何位于所述人体内部的部分,则处理跳至步骤380,此处判定是否存在作为预先计算的动画制作序列一部分的所述人体的任何附加帧或姿势。如果存在,处理返回步骤320。
返回步骤330的判定,在步骤330,如果判定所述衣服存在至少某部分位于所述人体内部,则处理前进至步骤340,此处标识所述衣服位于所述人体内部的那些部分。如前所示,通过比较所述衣服上各个点的坐标值与对应的所述人体上各个点的坐标值来进行上述标识。接下来,在步骤350,对于步骤340中标识的区域,即所述衣服被判定为位于所述人体内部的区域,计算位于所述人体内部的现有矢量场。如前所示,步骤350计算的所述矢量场的每个矢量对应于一个点,如所述衣服的一个三角形元素,并且被定位于与所述人体的形状和移动相称的方向,所述衣服在该方向上的移动将导致其最终移回至所述人体的外部。此外,每个所述矢量的幅度对应于所述衣服沿着该矢量被定位的方向移回至所述人体外部所需的移动量。在步骤360,所述衣服的每个点,诸如各个三角形元素,被初始化以一个与步骤350中生成的所述矢量场中的、对应于该点的矢量的幅度和方向相称的初始速度。在步骤370,所述衣服的每次移动依照已知的机制来模拟,例如被用于虚拟三维环境的计算机可执行或计算机引用的多个库封装。此外,在步骤370,所述模拟可考虑与移动正被模拟的动画元素相关的各种物理属性。例如,在衣服的上下文中,步在骤370,模拟可应用约束以确保该衣服不会自我穿透。又如,还是在衣服的上下文中,所述模拟能够考虑多种物理属性,如所述衣服伸展的能力。一个实施例中,可利用近似以使步骤370处的模拟更高效,例如,在衣服的上下文中,可以近似所述衣服不能伸展或被压缩超过10%。另一实施例中,步骤370处的所述模拟考虑的多个物理属性包括两个动画元素的物理属性。再次利用人体上的衣服的示例,可考虑所述人体及其对所述衣服的影响,例如所述衣服和所述人体之间的滑动摩擦。步骤370的模拟之后,处理返回步骤330以判定所述衣服是否仍然存在任何位于所述人体内部的部分。如果所述衣服仍然存在任何位于所述人体内部部分,则迭代地重复步骤330、340、350、360和370直至所述衣服不再位于所述人体内部。此时步骤330的判定可导致处理跳至步骤380,如上所述,步骤380将处理返回步骤320以依照上述预先计算的动画制作来生成所述人体的下一动画帧或姿势。如果步骤380判定所述人体的所述预先计算的动画制作已经结束,则相关处理如所示的结束于步骤390。
上述描述参考了由运行于一个或多个计算设备上的计算机可执行指令执行的多个动作。转向图4,示出了一个示例性计算设备400。所述示例性计算设备400可以是图1上述和所示的计算设备110或120中的任意一个,或者任何其他类似的计算设备。
图4的示例性计算设备400可包括但不限于,一个或多个中央处理单元(CPU)420、***存储器430和将包括该***存储器在内的各种***组件耦合至处理单元420的***总线421。***总线421可以是若干类型的总线结构中的任何一种,包括使用各种总线体系结构中的任何一种的存储器总线或存储器控制器、***总线、以及局部总线。所示计算设备400可选地包括图形硬件,包括但不限于图形硬件界面490和显示设备491。包括图形硬件界面490和显示设备491的上述图形硬件可被用于不仅显示上述虚拟三维动画元素,还可在某些实施例中执行以上详细描述的相关计算和处理中的部分或全部。
计算设备400通常还包括能够包括可由计算设备400访问的任何可用介质的计算机可读介质,并且包括易失性和非易失性介质以及可移动和不可移动介质两者。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算设备400访问的任何其它介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及如声学、RF、红外及其他无线介质之类的无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
***存储器430包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)431和随机存取存储器(RAM)432。基本输入/输出***433(BIOS)包含有助于诸如启动时在计算设备400中元件之间传递信息的基本例程,它通常存储在ROM 431中。RAM 432通常包含处理单元420可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作***434、其它程序模块435和程序数据436。
计算机***400还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅仅作为示例,图4示出了对不可移动、非易失性磁性介质进行读写的硬盘驱动器441。可以与示例性计算设备一起使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器441通常通过如接口440的不可移动存储器接口连接到***总线421。
上文讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算设备400提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图4中,硬盘驱动器441被示为存储操作***444、其它程序模块445和程序数据446。注意,这些组件可以与操作***434、其它程序模块435和程序数据436相同,也可以与它们不同。操作***444、其它程序模块445和程序数据446在这里被标注了不同的标号是为了说明至少它们是不同的副本。
此外,计算设400备可以使用对一个或多个远程计算机的逻辑连接在联网环境中工作。为简化说明,图4中显示的计算设备400连接到最初图1所示的网络190。网络190不限于任何特定网络或联网协议。相反,图4所描绘的逻辑连接是一般网络连接471,其可以是局域网(LAN)、广域网(WAN)或其他网络。计算设备400通过网络接口或适配器471连接到通用网络连接470,该网络接口或适配器进而连接到***总线421。在联网环境中,相对于计算设备400或其部分或***设备所描绘的程序模块可被存储在通过一般网络连接471通信地耦合到计算设备400的一个或多个其他计算设备的存储器中。可以理解,所示的网络连接是示例性的,且可以使用在计算设备之间建立通信链路的其他手段。
由以上描述可见,已经提供了用于使用矢量场布局多个动画元素的机制。鉴于此处所描述的主题的许多可能的方案,作为本发明,我们声明所有这样的实施方式都在下面的权利要求书以及又等效内容的范围和精神内。

Claims (14)

1.一种依照与第一动画元素(250)相关的第二动画元素(240)的预先计算的动画制作序列来为第一动画元素(250)制作动画的方法,所述方法包括以下步骤:
移动所述第二动画元素(240)至一作为预先计算的动画制作序列一部分的第一姿势;
确定一个或多个区域(260),在所述区域中,所述第一动画元素(250)位于所述第二动画元素(240)内部;
生成仅位于已确定的一个或多个区域中的一个或多个矢量场,已生成的一个或多个矢量场的矢量(281、282、283)被定位于朝向所述第一动画元素(250)上的相关点(271、272、273)将移回至所述第二动画元素(240)外部的移动方向,并且具有一与所述第一动画元素(250)上的相关点(271、272、273)移回至所述第二动画元素(240)外部所经过的距离相称的幅度;
依照已生成的一个或多个矢量场来模拟所述第一动画元素(250)的移动;
迭代地重复所述确定、生成和模拟步骤直至所述第一动画元素(250)完全位于所述第二动画元素(240)的外部;以及
对作为所述预先计算的动画制作序列一部分的所述第二动画元素的后续姿势重复所述移动、确定、生成、模拟以及迭代地重复步骤。
2.如权利要求1所述的方法,其特征在于,所述模拟既考虑所述第一动画元素代表的第一物理对象的物理属性也考虑所述第二动画元素代表的第二物理对象的物理属性。
3.如权利要求2所述的方法,其特征在于,所述物理属性包括所述第一动画的任何部分都不能穿透所述第一动画元素的另一部分的属性。
4.如权利要求2所述的方法,其特征在于,所述物理属性包括由所述第一动画元素代表的所述第一物理对象伸展的能力。
5.如权利要求1所述的方法,其特征在于,所述模拟包括为已确定一个或多个区域中的所述第一动画元素的每个点初始化以一个初始速度,该初始速度对应于与所述每个点相关联的一个或多个矢量场的矢量的定向和幅度。
6.如权利要求1所述的方法,其特征在于,参考所述第二动画元素的移动方向和所述第二动画元素的形状来确定已生成的一个或多个矢量场的各个矢量所定位的方向。
7.如权利要求1所述的方法,其特征在于,所述第一和第二动画元素通过模拟的物理连接而相关。
8.一种或多种包括用于执行如权利要求1所述的步骤的计算机可执行指令的计算计可读介质。
9.一种用于为虚拟人体(240)上的虚拟服装(250)制作动画的***,其包括:
第一计算设备(120),其包括虚拟服装数据库和所述虚拟人体的预先计算的动画制作序列;以及
通信地耦合于所述第一计算设备的第二计算设备(110),其包括用于从所述虚拟服装数据库中选择将在所述虚拟人体上制作动画的虚拟服装的用户界面(130)以及执行以下步骤的计算机可执行指令:
移动所述虚拟人体(240)至一作为预先计算的动画制作序列一部分的第一姿势;
确定一个或多个区域(260),在所述区域中所述虚拟服装(250)位于所述虚拟人体(240)内部;
生成仅位于已确定的一个或多个区域中的一个或多个矢量场,已生成的一个或多个矢量场的各个矢量(281、282、283)被定位于朝向所述虚拟服装(250)上的相关点(271、272、273)将移回至所述虚拟人体(240)外部的移动方向,并且具有一与所述虚拟服装(250)上的相关点(271、272、273)移回至所述虚拟人体(240)外部所经过的距离相称的幅度;依照已生成的一个或多个矢量场来模拟所述虚拟服装(250)的移动;
迭代地重复所述确定、生成和模拟步骤直至所述虚拟服装(250)完全位于所述虚拟人体(240)的外部;以及
对作为所述预先计算的动画制作序列一部分的所述虚拟人体(240)的后续姿势重复所述移动、确定、生成、模拟以及迭代地重复步骤。
10.如权利要求9所述的***,其特征在于,所述模拟考虑多种物理属性。
11.如权利要求10所述的***,其特征在于,所述物理属性包括所述第一动画的任何部分都不能穿透所述第一动画元素的另一部分的属性。
12.如权利要求10所述的***,其特征在于,所述物理属性包括由所述第一动画元素代表的所述第一物理对象伸展的能力。
13.如权利要求9所述的***,其特征在于,所述模拟包括为已确定一个或多个区域中的所述第一动画元素的每个点初始化以一个初始速度,该初始速度对应于与所述每个点相关联的一个或多个矢量场的矢量的定向和幅度。
14.如权利要求9所述的***,其特征在于,参考所述第二动画元素的移动方向和所述第二动画元素的形状来确定已生成的一个或多个矢量场的各个矢量所定位的方向。
CN201110158997.XA 2010-06-01 2011-05-31 使用矢量场的动画元素布局 Active CN102270353B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/791,116 2010-06-01
US12/791,116 US8786609B2 (en) 2010-06-01 2010-06-01 Placement of animated elements using vector fields

Publications (2)

Publication Number Publication Date
CN102270353A true CN102270353A (zh) 2011-12-07
CN102270353B CN102270353B (zh) 2016-02-24

Family

ID=45021728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110158997.XA Active CN102270353B (zh) 2010-06-01 2011-05-31 使用矢量场的动画元素布局

Country Status (2)

Country Link
US (1) US8786609B2 (zh)
CN (1) CN102270353B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097194A1 (en) * 2011-08-05 2013-04-18 New York University Apparatus, method, and computer-accessible medium for displaying visual information
US9659396B1 (en) * 2012-06-26 2017-05-23 Pixar Clothwarp rigging cloth
WO2020097343A1 (en) 2018-11-08 2020-05-14 Immersive Visualization, Inc. Interactive system and method providing real-time virtual reality visualization of simulation data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050052461A1 (en) * 2001-08-16 2005-03-10 University College London Method for dressing and animating dressed characters
US20060149516A1 (en) * 2004-12-03 2006-07-06 Andrew Bond Physics simulation apparatus and method
US20070085851A1 (en) * 2005-10-19 2007-04-19 Matthias Muller Method of simulating dynamic objects using position based dynamics
CN101398942A (zh) * 2008-04-24 2009-04-01 中山大学 三维试衣仿真***
CN101414384A (zh) * 2008-11-05 2009-04-22 浙江大学 一种基于径向基函数的群组运动控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0101371D0 (en) 2001-01-19 2001-03-07 Virtual Mirrors Ltd Production and visualisation of garments
US7353149B2 (en) * 2001-04-25 2008-04-01 Telekinesys Research Limited Method and apparatus for simulating dynamic contact of objects
FR2837593B1 (fr) 2002-03-22 2004-05-28 Kenneth Kuk Kei Wang Procede et dispositif de visualisation, d'archivage et de transmission sur un reseau d'ordinateurs d'un modele de vetement
US7042456B2 (en) * 2003-07-18 2006-05-09 Microsoft Corporation Modeling and rendering of realistic feathers
JP5001684B2 (ja) * 2006-09-13 2012-08-15 富士通株式会社 走査変換装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050052461A1 (en) * 2001-08-16 2005-03-10 University College London Method for dressing and animating dressed characters
US20060149516A1 (en) * 2004-12-03 2006-07-06 Andrew Bond Physics simulation apparatus and method
US20070085851A1 (en) * 2005-10-19 2007-04-19 Matthias Muller Method of simulating dynamic objects using position based dynamics
CN101398942A (zh) * 2008-04-24 2009-04-01 中山大学 三维试衣仿真***
CN101414384A (zh) * 2008-11-05 2009-04-22 浙江大学 一种基于径向基函数的群组运动控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PARRIS K. EGBERT: "Collision Free Object Movement Using Vector Fields", 《COMPUTER GRAPHICS AND APPLICATIONS》, vol. 16, no. 4, 6 August 2002 (2002-08-06) *
XIAOLONG ZHU: "A Novel Method for Cloth-Body Collision Detection", 《FIRST INTERNATIONAL CONFERENCE ON DIGITAL HUMAN MODELING》, 27 June 2007 (2007-06-27) *

Also Published As

Publication number Publication date
CN102270353B (zh) 2016-02-24
US8786609B2 (en) 2014-07-22
US20110292053A1 (en) 2011-12-01

Similar Documents

Publication Publication Date Title
Hilfert et al. Low-cost virtual reality environment for engineering and construction
US11948239B2 (en) Time-dependent client inactivity indicia in a multi-user animation environment
US20140078144A1 (en) Systems and methods for avatar creation
Hussain et al. Unity game development engine: A technical survey
EP2469474B1 (en) Creation of a playable scene with an authoring system
CN107820593A (zh) 一种虚拟现实交互方法、装置及***
Linowes Unity virtual reality projects: Learn virtual reality by developing more than 10 engaging projects with unity 2018
CN105913471B (zh) 图片处理的方法和装置
US10043317B2 (en) Virtual trial of products and appearance guidance in display device
CN107368410A (zh) 游戏引擎的性能测试方法和装置、存储介质及电子装置
US20090243957A1 (en) Systems and methods for information visualization in multi-display environments
US20100050100A1 (en) Virtual World Object Presentation, Recommendations and Navigation
WO2022142816A1 (en) System and method for virtual fitting
CN106575158A (zh) 环境映射虚拟化机构
KR20210142200A (ko) 애니메이팅된 캐릭터의 수정
CN115272636A (zh) 数字藏品模型的生成方法、装置及电子设备
CN102270353B (zh) 使用矢量场的动画元素布局
JP7189288B2 (ja) リモートデバイス上に大型3dモデルを表示するための方法およびシステム
EP3594906B1 (en) Method and device for providing augmented reality, and computer program
CN110930484B (zh) 动画配置方法和装置、存储介质及电子装置
CN110458928A (zh) 基于unity3d的AR动画生成方法、装置、介质
Suvak Learn Unity3D Programming with UnityScript
US20160041699A1 (en) Method and system for providing adaptive arrangement and representation of user interface elements
JP7190785B1 (ja) 情報処理装置及びプログラム
Cremonesi et al. Toward a new fashion concepts design tool: The vMannequin framework

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150803

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150803

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant