CN104106098A - 有向无环图中的约束评估 - Google Patents

有向无环图中的约束评估 Download PDF

Info

Publication number
CN104106098A
CN104106098A CN201380008985.6A CN201380008985A CN104106098A CN 104106098 A CN104106098 A CN 104106098A CN 201380008985 A CN201380008985 A CN 201380008985A CN 104106098 A CN104106098 A CN 104106098A
Authority
CN
China
Prior art keywords
dag
constraint
output
output valve
virtual
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
CN201380008985.6A
Other languages
English (en)
Other versions
CN104106098B (zh
Inventor
A·P·鲍威尔
E·D·帕普
A·M·威尔斯
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.)
DreamWorks Animation LLC
Original Assignee
DreamWorks Animation LLC
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 DreamWorks Animation LLC filed Critical DreamWorks Animation LLC
Publication of CN104106098A publication Critical patent/CN104106098A/zh
Application granted granted Critical
Publication of CN104106098B publication Critical patent/CN104106098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

下文描述了与评估依赖关系图来利用约束渲染三维(3D)图形相关的系统和处理。访问虚拟3D空间中的两个虚拟3D对象。接收约束关系请求,其将第一对象识别为起源而且将第二对象识别为产物。该技术验证了对象的图形是否兼容以彼此约束。第一对象被评估来确定其转变、旋转和缩放。根据第一对象的转变、旋转和缩放类似地评估第二对象。图像被渲染以描绘第一虚拟3D对象的至少一部分和第二虚拟3D对象的至少一部分。

Description

有向无环图中的约束评估
相关申请的交叉引用
本申请请求2012年8月3日向美国专利商标局提交的美国临时专利申请No.61/679,665的优先权,其整体内容在此通过引用并入本文。
技术领域
本发明涉及对虚拟三维(3D)对象的操作,而且在具体示例中涉及利用有向无环图(DAG)在虚拟3D空间中对虚拟3D对象进行相互约束。
背景技术
动画媒体制作中的场景通常包括多个对象,例如人物或物品。为了提供真实感,对象被操作成表现成以与现实世界相类似的方式进行互动。例如,场景可能包括正移动的或者正操作诸如剑之类的柱体物品的主人公。为了实现该效果,动画师用户在制作期间可手动地与人物的手的移动一起在虚拟三维(3D)空间中逐帧地移动剑柄。在记录了图像之后,剑看起来在动画中与人物的手的移动一起移动。
媒体制作通常使用图形来渲染、驱动或描绘动画中的场景。有向无环图(DAG)可被用来表示人物和物品。图形可包括互连节点系统,其对诸如输入属性之类的输入数据执行计算,并产生诸如输出属性之类的输出数据。通过改变馈入对象输入的动画控制,动画师用户可控制对象的移动、位置和其它视觉效果。
随着媒体制作创建了更逼真的动画,用于支持这些动画的图形中的节点的复杂性和数量也增大。例如,随着人物被提升至包括视觉元素以及更现实的移动,描绘人物的图形可变得更大而且更复杂。为了创建视觉上吸引人的动画,在复杂的人物之间以及在人物和物品之间以逼真的方式制作动画互动是有用的。由此,描述了用于利用约束来操作人物和物品的优化技术。
发明内容
描述了用于利用约束评估依赖关系图以渲染三维(3D)图形的处理。在一个示例中,访问表示第一虚拟3D对象的第一有向无环图(DAG)。还访问表示第二虚拟3D对象的第二DAG。接收约束关系请求。约束关系请求将第一DAG识别为约束起源而将第二DAG识别为约束产物。验证第一DAG是否兼容用于约束第二DAG。响应于第一DAG和第二DAG兼容用于约束,第一DAG的输出被连接至第二DAG的输入。第一DAG被评估以确定第一DAG的输出处的第一输出值。响应于确定第一输出值影响了第二DAG的评估,根据在第二DAG的输入处从第一DAG的输出接收到的第一输出值来评估第二DAG。在确定完成了第一DAG和第二DAG的评估之后,对描绘第一虚拟3D对象的至少一部分和第二虚拟3D对象的至少一部分的图像进行渲染。
在另一示例中,根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第二DAG。在另一示例中,处理还接收另一约束关系请求。另一约束关系请求将第二DAG识别为约束起源并且将第一DAG识别为约束产物。评估第二DAG产生了第二输出值。第二输出值是在第二DAG的输出处产生的。响应于确定第二输出值影响了第一DAG的评估,根据在第一DAG的输入处从第二DAG的输出接收到的第二输出值来评估第一DAG。
在另一示例中,根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放的操作值来评估第二DAG。类似地,根据第二输出值来评估第一DAG包括利用基于与第二DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第一DAG。
附图说明
本专利或申请文件至少包含彩色下执行的一个附图。对具有彩色附图的本专利或专利申请公开的复制由专利局根据申请并在支付必要费用后提供。
通过结合附图参考后续说明能够最好地理解本申请,其中相同数字可引用相同部分。
图1A和1B图示出虚拟人物的手和虚拟树枝柱体物品的示意描绘。
图2图示出约束至已经旋转的手的示例性柱体物品。
图3图示出动画人物和树枝柱体物品之间的示例性无环约束关系。
图4图示出动画人物和树枝柱体物品之间的示例性有环约束关系。
图5描绘了用于评估两个虚拟3D对象的DAG之间的约束关系的示例性处理。
图6描绘了示例性动画计算系统。
具体实施方式
提供下面的描述以使得本领域普通技术人员能够做出及实现各种实施例。具体装置、技术和应用的描述仅仅被提供作为示例。本领域普通技术人员很容易想到对此处描述的示例的各种修改,而且此处定义的总原理可适用于其它示例和应用,而不脱离本技术的精神和范围。因此,公开的技术并不限于此处描述和表示的示例,而是与权利要求一致的相应范围。
下文描述了与用于利用约束系统来在虚拟3D空间中操作虚拟三维(3D)对象的处理相关的各种实施例。例如,可在虚拟3D空间中对两个3D对象进行相互约束以使得它们一起移动、旋转和缩放。这可能产生两个对象虚拟地彼此附接的表象。
图1A和1B图示出虚拟人物的手102和虚拟树枝柱体物品106的示例图示。手102和柱体106的每个都具有其自己的操作空间。手102与起源空间104关联。对手102作用的对象操作器相对于起源空间104而操作手102。因此,馈入手102的操作器的值相对于起源空间104进行转变。示例性操作包括转变、旋转和缩放。
柱体106与产物空间108关联。对柱体106作用的对象操作器相对于产物空间108操作柱体106。因此,馈入柱体106的操作器的值相对于产物空间108进行转变。示例性操作包括转变、旋转和缩放。
图1A中手102和柱体106的操作空间被分别识别为起源和产物操作空间,与图1B一致。当柱体106未约束至手102时,柱体106和手102之间没有起源/产物约束关系。相反,手102和柱体106可被彼此独立地操作。当手102和柱体106没有约束至彼此时,对于动画师用户来说,让柱体106看起来在一段时间段内或者多个帧中被手102把持是很复杂的。注意,动画师用户可能需要手动地随着手102的转变、旋转或缩放的变化而操作柱体106的转变、旋转或缩放。这就提供了这样的现象,手102正握着柱体106,但是很累赘、不精确而且耗时。
相反,动画师用户可将柱体106约束至手102。通过将柱体106识别为起源手102的产物,柱体106将被配置成随着手102在3D空间中被操作而自动地与手102一起移动。在图1B的示例中,相对于原本图1A中的描绘,关于对象已经有了两个显著变化。首先,柱体106的转变在3D空间中已经变化来使得柱体106看起来被布置在手102中。其次,柱体106已经被约束至手102。该约束已经被配置成使得手102为起源而柱体106为产物。
通过将柱体106约束至手102,柱体106的转变、旋转和缩放特征中的一个或多个将基于手102的转变、旋转和缩放。由此,柱体106的操作空间变为操作空间110。操作空间110取决于其所约束至的起源对象(在本示例中为手102)的操作。
在图2中,手102已经逆时针旋转了大约45度。注意,虽然起源空间保持不变,但是产物空间现在基于施加至手102的旋转。旋转手102已经导致柱体106与手102一起移动,这是因为柱体106被约束至手102。手102(起源对象)正驱动柱体106(产物对象)。
柱体106可进一步在操作空间110中被操作。例如,柱体106的转变、旋转和缩放可被修改。然而,这些修改将被添加至柱体106继承的手102的操作。在一个示例中,柱体106可在柱体106被约束至手102的同时旋转。在这种情况下,手102的任意操作将使得柱体106与手102的操作一起移动。然而,柱体106的任意附加操作不是必须导致手102的特征的变化。
重要的是,将一个虚拟对象约束至虚拟对象并不是必须要求这两个对象看起来接触,如前面讨论的示例那样。相反,对象可按照许多方式进行相互约束。在一个示例中,可根据转变、旋转和缩放对两个对象进行相互约束,但是不接触。例如,当一个球被描绘成神奇地悬浮在打开的超级英雄人物的手的上方以表示该超级英雄正通过超自然的方式在不接触球的情况下控制球的位置时,这可能是期望的。
在另一示例中,可在虚拟对象之间应用目标约束。目标约束使得场景中的产物对象旋转来追踪起源对象的移动。例如,人物的眼球可被约束至球对象。随着球对象从3D空间中的虚拟地面弹起,人物的眼球跟随球对象的运动。可通过定义与人物左眼关联的3D空间中的第一矢量并且定义与人物右眼关联的3D空间中的第二矢量来实现这一效果。例如,第一矢量被布置成与左眼虹膜正交,第二矢量被布置成与右眼虹膜正交。左眼至球的目标约束使得左眼旋转从而第一矢量连续地指向球。右眼至球的目标约束使得右眼旋转从而第二矢量连续地指向球。从该示例可明显看出,多个对象可被约束为单个起源对象的产物。
类似地,对象可被约束至多个起源对象。在一个示例中,受约束的产物对象可根据转变约束而被约束至一个起源对象,同时根据目标约束而被约束至不同对象。例如,这可以在虚拟指向北的罗盘被放置在人物的手中时使用。罗盘和手一起移动,因此罗盘的转变被限制至手。然而,罗盘的指针持续地根据目标约束指向虚拟北方位置。
在另一示例中,弹性约束可应用在虚拟对象之间。弹性约束的产物可采用起源的一定百分比的转变、旋转或缩放。这允许产物对象部分地与起源对象一起被操作。对此进行应用的示例是当虚拟人物正骑在虚拟动物背上的情况。反弹效应使得虚拟人物看起来在虚拟动物上面,但是没有直接附接至虚拟动物。
图3图示出动画人物和树枝柱体物品之间的示例性无环约束关系。人物300的有向无环图(DAG)和树枝柱体物品320的DAG被简化成更好地图示出人物和树枝柱体之间的约束关系330。在该示例中,在比人物DAG300和柱体DAG320高的水平上实现约束关系330。
在图3中,人物300的DAG的实例包括节点302-312。人物DAG300当作输入动画控制314和316,其可指定诸如人物的左臂和右臂组分的的转变、旋转和缩放之类的特征。例如,输入动画控制314可指定特征以表示人物的左手应该放置在3D空间中的特定位置,同时输入动画控制316可与指定的旋转协同地指定人物右手应该放置在3D空间中的不同位置。
节点302表示人物的左臂,节点304表示人物的右臂,节点306表示人物的身体。左手产物节点308是产物约束节点而且被配置成接受一个或多个输入,虽然本示例中没有连接输入。右手产物节点310也是产物约束节点而且被配置成接受一个或多个输入,虽然本示例中没有连接输入。
起源节点312是起源约束节点而且被配置成输出用于驱动产物对象的数据。由柱体DAG320的实例表示的树枝柱体是产物对象。柱体DAG320包括节点322-324。当人物DAG300接收动画控制形式的数据时,与人物DAG300相关的人物被操作。约束关系330使得柱体DAG按照人物的操作而被操作。
例如,如果约束关系330表明树枝柱体被约束至人物右手,树枝柱体的转变、旋转和缩放将基于人物的右手的转变、旋转和缩放中的一个或多个。在该示例中,柱体DAG320的操作空间与人物DAG300的右手的操作空间对齐。动画控制316向人物柱体DAG320的右手施加的任意相应转变、旋转和缩放也作用在树枝柱体上。而且,动画控制328施加至柱体DAG320的任意转变、旋转和缩放也施加至树枝柱体。
图4图示出动画人物和树枝柱体物品之间的示例性有环约束关系。人物400的有向无环图(DAG)和树枝柱体物品420的DAG被简化以便更好地图示出人物和树枝柱体之间的约束关系430和440。
在该示例中,在相对于人物DAG400和柱体DAG420更高的水平下实现约束关系430和440。虽然约束关系是有环的,但是针对人物和柱体保持无环DAG具有多个优点。针对人物和柱体保持无环DAG实现了更直接的方案来创建用于针对人物和柱体中的每个的评估计划。从组织角度来说,每个人物或柱体具有其自己的独立图形。在通过将诸如人物和柱体之类的虚拟对象进行关联而拍摄的动画的水平配置约束关系。举例来说,虽然可能期望在特定的动画拍摄期间将树枝约束至人物的手,可能不一定是动画师用户想要树枝在媒体制作的整个持续期间被约束至人物的手。
图4图示出有环关系,因为人物DAG400的输出驱动柱体DAG420的输入,而且柱体DAG420的输出驱动人物DAG400的输入。具体地,起源节点412经由约束关系430馈入产物节点424,起源节点426经由约束关系440馈入左手产物节点408。例如,这可能表示树枝被约束至人物的右手,而且人物的左右被约束至树枝。由于动画师用户操作人物的右手(例如通过转变、旋转或缩放),人物右手的操作驱动了树枝的操作,而且树枝的操作驱动了人物左手的操作。
在其中约束关系430表示树枝柱体(产物)被约束至人物(起源)的右手的示例中,树枝柱体的转变、旋转和缩放将基于人物右手的转变、旋转和缩放中的一个或多个。在该示例中,柱体DAG420的操作空间与人物DAG400的右手的操作空间对齐。动画控制416施加至的人物DAG400的右手的任意相应转变、旋转和缩放也作用在树枝柱体上。而且,动画控制328施加至柱体DAG320的任意转变、旋转和缩放也施加至树枝柱体。
继续本示例,其中约束关系440表示人物(产物)的左手被约束至树枝柱体(起源),人物的左手的转变、旋转和缩放将作用于树枝柱体的转变、旋转和缩放中的一个或多个。人物DAG400的左手的操作空间与柱体DAG420的操作空间对齐,如前面描述的那样它已经与人物DAG400的右手的操作空间对齐。动画控制428施加至树枝柱体DAG420的任意相应转变、旋转和缩放也作用在人物的左手上。而且,动画控制414施加至人物DAG320的左手的任意转变、旋转和缩放也施加至人物的左右。
这种有环约束的实施导致了根据该场景下对象的评估顺序改变结果的可能性。几个不同的策略可被用来缓和该限制。在一个示例中,执行列表可被动画系统接收,其识别了其中利用与场景中的对象相关的约束对场景中的对象进行评估的顺序。动画师用户可指定人物DAG400应该首先被评估,随后是柱体DAG420,随后再是人物DAG400。这就去除了无限循环的可能性。在另一示例中,与约束相关的高级有环图形可被用来重复地评估包括起源或产物约束节点的对象。系统从动画师用户接收指示场景中的起始对象的表示。系统随后重复地进行从起源至产物的约束的流程,评估DAG。在系统达到均衡之后或者在系统预定次数地重复循环相关DAG之后,系统可停止评估。应该理解的是,用于确定评估顺序的技还可应用至无环的约束系统以及有环的系统。
在一个实施例中,每个起源约束节点和产物约束节点被分配有等级类型。等级类型确定了约束节点之间的兼容性。例如,动画系统可允许第一等级类型的起源约束节点被附接至第一等级类型的产物约束节点。然而,动画系统可不允许第一等级类型的起源约束节点被附接至第二等级类型的产物约束节点。这种等级类型对于将约束连接限制至仅仅包括兼容约束接口的约束节点之间是很有用的。
图5描绘了示例性处理,用于评估两个虚拟3D对象的DAG之间的约束关系。在块502,动画系统访问表示第一虚拟3D对象的第一有向无环图(DAG)。例如,第一虚拟3D对象可能是人物、柱体或任意其它虚拟3D对象。在块504,动画系统访问表示第二虚拟3D对象的第二DAG。例如,第二虚拟3D对象可以是另一人物或柱体。
在块506,动画系统接收约束关系请求。约束关系请求将第一DAG识别为约束起源而且将第二DAG识别为约束产物。该约束关系确定来自第一DAG的值将驱动第二DAG。在块508,动画系统验证第一DAG是否兼容于被限制至第二DAG。例如,如果与第一DAG相关的约束接口传递与用于接收与第二DAG相关的数据的约束接口不兼容的格式的数据,则动画系统可确定两个DAG不兼容。
在块510,如果确定第一DAG和第二DAG兼容于彼此约束,则动画系统将第一DAG的输出连接至第二DAG的输入。如果系统确定两个DAG不兼容于彼此约束,系统可发出错误。
在块512,动画系统评估第一对象的DAG。例如,DAG的评估可包括评估DAG的一个或多个节点或简单地确定针对DAG的高速缓存值的存在。当存在针对DAG的高速缓存值时,可能不需要重新评估DAG的节点。第一对象的DAG可能被选择用于在第二对象的DAG之前基于执行列表或其它用户输入的评估。在块514,动画系统确定第一对象的DAG的评估是否影响第二对象的DAG的评估。例如,这可通过采用污染标志来完成。如果第二对象的DAG未被影响,系统可渲染一个或多个图像以用于显示。
在块516,动画系统评估了第二对象的DAG。如上所述,例如,DAG的评估可包括评估DAG的一个或多个节点或者简单地确定存在针对DAG的高速缓存值。当存在针对DAG的高速缓存值时,可能不需要重新评估DAG的节点。第二对象的DAG的评估基于第一对象的DAG的评估结果。例如,如果第二对象相对于转变、旋转和缩放被约束至第一对象,则第一对象的转变、旋转和缩放将影响第二对象的评估。
诸如人物的结合之类的虚拟对象的结合可具有多个操作参数(或自由度),其可被约束至其它对象。随着虚拟对象在虚拟3D空间中被操作,对象看起来被动画化。该动画可能是正向运动学(FK)和逆运动学(IK)的结果。
FK可定义每个附属结合的精确位置和/或旋转应该是怎样的。FK可总体上被用于设置附属的具体姿态。逆运动学IK可定义附属的目标或目的,例如,附属应该接触另一对象,并随后计算每个附属结合实现该目标或目的所需的位置和/或旋转。IK可总体上被用于设置附属的具体目标。
基于搜索的匹配可被用来通过对一组进行增量调节直到其匹配另一组来搜索一组参数与另一组之间的匹配。这样,当在FK和IK之间进行切换时,两组参数匹配,从而消除了切换期间的任意突然变化。美国专利申请序列号No.13/843,600中更详细地描述了基于搜索的匹配,其整体内容在此通过引用并入本文。
在块518,动画系统确定第一DAG和第二DAG的评估是否完成。例如,如果引入系统的约束是有环的,则这个块可能很有用。动画系统可利用不同技术来确定评估完成。例如,当系统达到均衡或者当确定次数的评估迭代已经被执行时,动画系统可确定评估完成。参考其他块,该块可在具体实施例中省略。例如,该块可在其中约束关系不是有环的实施例中省略。在该情况下,块520可直接进入块516。
在块510,动画系统渲染描绘了第一虚拟3D的至少一部分和第二虚拟3D对象的至少一部分的图像。在一些示例中,动画系统可渲染多个图像,其图示出对象的运动或移动。
图6描绘了示例性动画计算系统600,其被配置成执行任意一个上述处理。为此,例如,计算系统600可包括处理器、存储器、存储和输入/输出装置(例如,监视器、键盘、触摸屏、硬盘驱动、网络连接等)。然而,计算系统600可能包括电路或其它专用硬件,用于执行处理的一些或所有方面。在一些操作设置中,计算系统600可被配置成包括一个或多个单元的系统,每个单元被配置成以软件、硬件或其结合的方式执行处理的一些或所有方面。
图6描绘了计算系统600,其具有可被用来执行上述处理的大量组件。主系统602包括主板604,其具有输入/输出(“I/O”)部件606、一个或多个中央处理单元(“CPU”)608和存储器部件610,存储器部件610可相关联地具有闪存装置612。I/O部件606被连接至显示器624、键盘614、硬盘存储单元616和介质驱动单元618。介质驱动单元618可读取/写入计算机可读介质620,其可包含程序622和/或数据。I/O部件606还可连接至云存储,例如利用蜂窝数据通信或无线局域网通信。
基于上述处理的结果的至少一些值可被保存以备后续使用。此外,非易失性计算机可读介质可被用来存储(例如,确切地实体化)一个或多个计算机程序以通过计算机执行上述处理中的任意一个。例如,可利用通用编程语言(例如,Perl,C,C++,Java)或一些特殊的专用语言来编写计算机程序。
在此描述了各种示例性实施例。以非限制的方式参考这些示例。它们被提供来示例可更宽范围应用的公开的技术方面。可作出各种变化以及可以替换等效形式,而不脱离各种实施例的真实精神和范围。此外,可作出各种变更以适应具体情况、材料、主体成分、处理、对对象的处理动作或步骤、各种实施例的精神和范围。而且,本领域技术人员可以理解的是,此处描述及示例的每个单独的变形具有单独的组成和特征,它们可容易地与其它一些实施例中的任意实施例的特征区分开或组合,而不脱离各种实施例的范围或精神。

Claims (24)

1.一种用于评估约束系统的方法,约束系统用于渲染三维(3D)图形,所述方法包括:
访问表示第一虚拟3D对象的第一有向无环图(DAG);
访问表示第二虚拟3D对象的第二DAG;
接收约束关系请求,约束关系请求将第一DAG识别为约束起源而且将第二DAG识别为约束产物;
验证第一DAG是否兼容用于约束第二DAG;
响应于兼容用于约束的第一DAG和第二DAG,将第一DAG的输出连接至第二DAG的输入;
评估第一DAG以确定第一DAG的输出处的第一输出值;
响应于确定第一输出值影响了第二DAG的评估,根据第二DAG的输入处从第一DAG的输出接收到的第一输出值来评估第二DAG;以及
在确定第一DAG和第二DAG的评估完成之后,对描绘第一虚拟3D对象的至少一部分和第二虚拟3D对象的至少一部分的图像进行渲染。
2.根据权利要求1所述的方法,其中根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第二DAG。
3.根据权利要求1所述的方法,进一步包括
接收另一约束关系请求,所述另一约束关系请求将第二DAG识别为约束起源并且将第一DAG识别为约束产物;
其中评估第二DAG产生了第二输出值,第二输出值处于第二DAG的输出处;以及
响应于确定第二输出值影响了第一DAG的评估,根据在第一DAG的输入处从第二DAG的输出接收到的第二输出值来评估第一DAG。
4.根据权利要求1所述的方法,其中:
根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放的操作值来评估第二DAG;以及
根据第二输出值来评估第一DAG包括利用基于与第二DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第一DAG。
5.根据权利要求1所述的方法,其中验证第一DAG是否兼容用于约束第二DAG包括验证第一DAG的输出的第一约束接口与第二DAG的输入的第二约束接口兼容。
6.根据权利要求5所述的方法,其中:
第一DAG包括具有与第一约束接口的输入的第一产物约束节点以及具有与第二约束接口的输出的第一起源约束节点;以及
第二DAG包括具有与第一约束接口的输入的第二产物约束节点以及具有与第二约束接口的输出的第二起源约束节点。
7.根据权利要求1所述的方法,其中约束关系请求识别转变/旋转/缩放约束关系中的一个或多个或目标约束关系。
8.根据权利要求7所述的方法,其中目标约束关系采用第二虚拟3D对象的识别出的轴。
9.一种非易失性计算机可读存储介质,其包括计算机可执行指令,用于评估用于渲染三维(3D)图形的约束系统,计算机可执行指令包括用于下述步骤的指令:
访问表示第一虚拟3D对象的第一有向无环图(DAG);
访问表示第二虚拟3D对象的第二DAG;
接收约束关系请求,约束关系请求将第一DAG识别为约束起源而且将第二DAG识别为约束产物;
验证第一DAG是否兼容用于约束第二DAG;
响应于兼容用于约束的第一DAG和第二DAG,将第一DAG的输出连接至第二DAG的输入;
评估第一DAG以确定第一DAG的输出处的第一输出值;
响应于确定第一输出值影响了第二DAG的评估,根据第二DAG的输入处从第一DAG的输出接收到的第一输出值来评估第二DAG;以及
在确定第一DAG和第二DAG的评估完成之后,对描绘第一虚拟3D对象的至少一部分和第二虚拟3D对象的至少一部分的图像进行渲染。
10.根据权利要求9所述的非易失性计算机可读存储介质,其中根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第二DAG。
11.根据权利要求9所述的非易失性计算机可读存储介质,进一步包括用于下述步骤的指令:
接收另一约束关系请求,所述另一约束关系请求将第二DAG识别为约束起源并且将第一DAG识别为约束产物;
其中评估第二DAG产生了第二输出值,第二输出值处于第二DAG的输出处;以及
响应于确定第二输出值影响了第一DAG的评估,根据在第一DAG的输入处从第二DAG的输出接收到的第二输出值来评估第一DAG。
12.根据权利要求9所述的非易失性计算机可读存储介质,其中:
根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放的操作值来评估第二DAG;以及
根据第二输出值来评估第一DAG包括利用基于与第二DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第一DAG。
13.根据权利要求9所述的非易失性计算机可读存储介质,其中验证第一DAG是否兼容用于约束第二DAG包括验证第一DAG的输出的第一约束接口与第二DAG的输入的第二约束接口兼容。
14.根据权利要求13所述的非易失性计算机可读存储介质,其中:
第一DAG包括具有与第一约束接口的输入的第一产物约束节点以及具有与第二约束接口的输出的第一起源约束节点;以及
第二DAG包括具有与第一约束接口的输入的第二产物约束节点以及具有与第二约束接口的输出的第二起源约束节点。
15.根据权利要求9所述的非易失性计算机可读存储介质,其中约束关系请求识别转变/旋转/缩放约束关系中的一个或多个或目标约束关系。
16.根据权利要求15所述的非易失性计算机可读存储介质,其中目标约束关系采用第二虚拟3D对象的识别出的轴。
17.一种用于评估约束系统的设备,约束系统用于渲染三维(3D)图形,所述方法包括:
存储器,其被配置成存储:
表示第一虚拟3D对象的第一有向无环图(DAG);以及
表示第二虚拟3D对象的第二DAG;
计算机处理器,其被配置成:
访问表示第一虚拟3D对象的第一有向无环图(DAG);
访问表示第二虚拟3D对象的第二DAG;
接收约束关系请求,约束关系请求将第一DAG识别为约束起源而且将第二DAG识别为约束产物;
验证第一DAG是否兼容用于约束第二DAG;
响应于兼容用于约束的第一DAG和第二DAG,将第一DAG的输出连接至第二DAG的输入;
评估第一DAG以确定第一DAG的输出处的第一输出值;
响应于确定第一输出值影响了第二DAG的评估,根据第二DAG的输入处从第一DAG的输出接收到的第一输出值来评估第二DAG;
在确定第一DAG和第二DAG的评估完成之后,对描绘第一虚拟3D对象的至少一部分和第二虚拟3D对象的至少一部分的图像进行渲染。
18.根据权利要求17所述的设备,其中根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第二DAG。
19.根据权利要求17所述的设备,计算机处理被进一步配置成:
接收另一约束关系请求,所述另一约束关系请求将第二DAG识别为约束起源并且将第一DAG识别为约束产物;
其中评估第二DAG产生了第二输出值,第二输出值处于第二DAG的输出处;以及
响应于确定第二输出值影响了第一DAG的评估,根据在第一DAG的输入处从第二DAG的输出接收到的第二输出值来评估第一DAG。
20.根据权利要求17所述的设备,其中:
根据第一输出值来评估第二DAG包括利用基于与第一DAG相关的转变、旋转或缩放的操作值来评估第二DAG;以及
根据第二输出值来评估第一DAG包括利用基于与第二DAG相关的转变、旋转或缩放中的至少一个的操作值来评估第一DAG。
21.根据权利要求17所述的设备,其中验证第一DAG是否兼容用于约束第二DAG包括验证第一DAG的输出的第一约束接口与第二DAG的输入的第二约束接口兼容。
22.根据权利要求21所述的设备,其中:
第一DAG包括具有与第一约束接口的输入的第一产物约束节点以及具有与第二约束接口的输出的第一起源约束节点;以及
第二DAG包括具有与第一约束接口的输入的第二产物约束节点以及具有与第二约束接口的输出的第二起源约束节点。
23.根据权利要求17所述的设备,其中约束关系请求识别转变/旋转/缩放约束关系中的一个或多个或目标约束关系。
24.根据权利要求23所述的设备,其中目标约束关系采用第二虚拟3D对象的识别出的轴。
CN201380008985.6A 2012-08-03 2013-08-02 有向无环图中的约束评估 Active CN104106098B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261679665P 2012-08-03 2012-08-03
US61/679,665 2012-08-03
PCT/US2013/053520 WO2014022834A1 (en) 2012-08-03 2013-08-02 Constraint evaluation in directed acyclic graphs

Publications (2)

Publication Number Publication Date
CN104106098A true CN104106098A (zh) 2014-10-15
CN104106098B CN104106098B (zh) 2019-05-03

Family

ID=50025025

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201380008985.6A Active CN104106098B (zh) 2012-08-03 2013-08-02 有向无环图中的约束评估
CN201811148929.3A Active CN109584343B (zh) 2012-08-03 2013-08-02 依赖图中的时间依赖性
CN201380041346.XA Active CN104520902B (zh) 2012-08-03 2013-08-02 依赖图中的时间依赖性

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201811148929.3A Active CN109584343B (zh) 2012-08-03 2013-08-02 依赖图中的时间依赖性
CN201380041346.XA Active CN104520902B (zh) 2012-08-03 2013-08-02 依赖图中的时间依赖性

Country Status (4)

Country Link
US (4) US9892529B2 (zh)
EP (2) EP2880632B1 (zh)
CN (3) CN104106098B (zh)
WO (2) WO2014022834A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171401B2 (en) 2013-03-14 2015-10-27 Dreamworks Animation Llc Conservative partitioning for rendering a computer-generated animation
US9224239B2 (en) * 2013-03-14 2015-12-29 Dreamworks Animation Llc Look-based selection for rendering a computer-generated animation
US9230294B2 (en) 2013-03-15 2016-01-05 Dreamworks Animation Llc Preserving and reusing intermediate data
US9218785B2 (en) 2013-03-15 2015-12-22 Dreamworks Animation Llc Lighting correction filters
US9626787B2 (en) 2013-03-15 2017-04-18 Dreamworks Animation Llc For node in render setup graph
US9514562B2 (en) 2013-03-15 2016-12-06 Dreamworks Animation Llc Procedural partitioning of a scene
US9589382B2 (en) 2013-03-15 2017-03-07 Dreamworks Animation Llc Render setup graph
US9811936B2 (en) 2013-03-15 2017-11-07 Dreamworks Animation L.L.C. Level-based data sharing for digital content production
US9208597B2 (en) 2013-03-15 2015-12-08 Dreamworks Animation Llc Generalized instancing for three-dimensional scene data
US9659398B2 (en) 2013-03-15 2017-05-23 Dreamworks Animation Llc Multiple visual representations of lighting effects in a computer animation scene
US10008019B2 (en) * 2015-04-15 2018-06-26 Autodesk, Inc. Evaluation manager for 3D animation scenes
US11010986B2 (en) * 2018-08-30 2021-05-18 Apple Inc. Virtual object kit
US10754498B2 (en) * 2018-12-07 2020-08-25 Amazon Technologies, Inc. Hybrid image rendering system
US11769297B2 (en) * 2020-12-31 2023-09-26 Roblox Corporation Simulation of rigid bodies

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030085932A1 (en) * 2001-04-19 2003-05-08 Sukendeep Samra System and method for optimizing the processing of images
US20070198971A1 (en) * 2003-02-05 2007-08-23 Dasu Aravind R Reconfigurable processing
US20100201682A1 (en) * 2009-02-06 2010-08-12 The Hong Kong University Of Science And Technology Generating three-dimensional fadeçade models from images
CN102103519A (zh) * 2009-12-21 2011-06-22 同济大学 一种基于脚本的Web服务执行优化方法
US20120113125A1 (en) * 2010-11-09 2012-05-10 Qualcomm Incorporated Constraint systems and methods for manipulating non-hierarchical objects

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5808625A (en) * 1995-08-04 1998-09-15 Silicon Graphics Incorporated System and method for using dependency graphs for the control of a graphics creation process
US6266053B1 (en) 1998-04-03 2001-07-24 Synapix, Inc. Time inheritance scene graph for representation of media content
US7196702B1 (en) 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
GB2340362B (en) * 1998-07-31 2002-11-06 Sony Uk Ltd Digital video processing
US6487565B1 (en) 1998-12-29 2002-11-26 Microsoft Corporation Updating animated images represented by scene graphs
US6823299B1 (en) 1999-07-09 2004-11-23 Autodesk, Inc. Modeling objects, systems, and simulations by establishing relationships in an event-driven graph in a computer implemented graphics system
US7050955B1 (en) * 1999-10-01 2006-05-23 Immersion Corporation System, method and data structure for simulated interaction with graphical objects
US7414626B1 (en) 2000-05-30 2008-08-19 Autodesk, Inc. System for passing algorithms with polymorphic parameter sets in a dependency graph of a graphic creation process
US7577554B2 (en) 2001-07-03 2009-08-18 I2 Technologies Us, Inc. Workflow modeling using an acyclic directed graph data structure
WO2004047426A2 (en) * 2002-11-15 2004-06-03 Esc Entertainment, A California Corporation Reality-based light environment for digital imaging in motion pictures
WO2005081178A1 (en) * 2004-02-17 2005-09-01 Yeda Research & Development Co., Ltd. Method and apparatus for matching portions of input images
WO2005091215A1 (en) 2004-03-18 2005-09-29 Pixe Pty Ltd System and method for transforming graphics data
US7330185B2 (en) * 2004-05-10 2008-02-12 Pixar Techniques for processing complex scenes
WO2005114590A1 (en) * 2004-05-10 2005-12-01 Pixar Storing intra-model dependency information
US20050248573A1 (en) * 2004-05-10 2005-11-10 Pixar Storing intra-model dependency information
US7532212B2 (en) * 2004-05-10 2009-05-12 Pixar Techniques for rendering complex scenes
US7702482B2 (en) 2004-12-30 2010-04-20 Microsoft Corporation Dependency structure from temporal data
US20060274070A1 (en) * 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US8026920B2 (en) * 2005-09-13 2011-09-27 Microsoft Corporation Extensible visual effects on active content in user interfaces
US7904892B2 (en) * 2006-01-06 2011-03-08 Northrop Grumman Corporation Systems and methods for identifying and displaying dependencies
US9898517B2 (en) * 2006-04-21 2018-02-20 Adobe Systems Incorporated Declarative synchronization of shared data
US7408550B2 (en) 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination
CA2593902A1 (en) * 2006-07-31 2008-01-31 Avid Technology, Inc. Efficient processing of operator graphs representing three-dimensional character animation
US9019300B2 (en) * 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
US7536401B2 (en) 2006-08-07 2009-05-19 International Business Machines Corporation Methods, systems, and computer program products for using graphs to solve circular dependency in object persistence
US9165087B2 (en) 2006-12-29 2015-10-20 Sap Se Validity path node pattern for structure evaluation of time-dependent acyclic graphs
US8508537B2 (en) * 2008-11-17 2013-08-13 Disney Enterprises, Inc. System and method for dependency graph evaluation for animation
US8730245B2 (en) * 2008-12-01 2014-05-20 Naturalmotion Ltd. Defining an animation of a virtual object within a virtual world
US8627199B1 (en) * 2010-01-29 2014-01-07 Asana, Inc. Incremental computing of changes to computer user interfaces
JP5431261B2 (ja) * 2010-07-23 2014-03-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報管理システム、方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030085932A1 (en) * 2001-04-19 2003-05-08 Sukendeep Samra System and method for optimizing the processing of images
US20070198971A1 (en) * 2003-02-05 2007-08-23 Dasu Aravind R Reconfigurable processing
US20100201682A1 (en) * 2009-02-06 2010-08-12 The Hong Kong University Of Science And Technology Generating three-dimensional fadeçade models from images
CN102103519A (zh) * 2009-12-21 2011-06-22 同济大学 一种基于脚本的Web服务执行优化方法
US20120113125A1 (en) * 2010-11-09 2012-05-10 Qualcomm Incorporated Constraint systems and methods for manipulating non-hierarchical objects

Also Published As

Publication number Publication date
US20180189987A1 (en) 2018-07-05
CN104520902A (zh) 2015-04-15
US20140035931A1 (en) 2014-02-06
WO2014022833A2 (en) 2014-02-06
EP2880636B1 (en) 2022-01-05
WO2014022833A3 (en) 2014-04-17
US9892528B2 (en) 2018-02-13
CN109584343A (zh) 2019-04-05
CN104106098B (zh) 2019-05-03
US10453239B2 (en) 2019-10-22
US10460498B2 (en) 2019-10-29
US20180197318A1 (en) 2018-07-12
EP2880632A2 (en) 2015-06-10
EP2880632A4 (en) 2016-01-20
CN109584343B (zh) 2023-07-25
EP2880636A1 (en) 2015-06-10
CN104520902B (zh) 2018-11-09
EP2880636A4 (en) 2016-01-27
WO2014022834A1 (en) 2014-02-06
EP2880632B1 (en) 2020-07-15
US20140035908A1 (en) 2014-02-06
US9892529B2 (en) 2018-02-13

Similar Documents

Publication Publication Date Title
CN104106098A (zh) 有向无环图中的约束评估
CN113785330B (zh) 使用相异的目标动画数据来训练人物的强化学习
WO2021143261A1 (zh) 一种动画实现方法、装置、电子设备和存储介质
CN111028317B (zh) 虚拟对象的动画生成方法、装置、设备及存储介质
WO2020065001A1 (en) Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy
Frazier et al. Improving deep reinforcement learning in minecraft with action advice
Villar Learning Blender
Briggs An essential introduction to Maya character rigging
Kaushik et al. Imitating human movement using a measure of verticality to animate low degree-of-freedom non-humanoid virtual characters
Wu et al. Model-based robot imitation with future image similarity
Lake Technical animation in video games
Jones et al. Dynamic sprites: artistic authoring of interactive animations
Zhou et al. Efficient and robust learning on elaborated gaits with curriculum learning
Burelli Interactive virtual cinematography
Seaman et al. Image Visual Sensor Used in Health-Care Navigation in Indoor Scenes Using Deep Reinforcement Learning (DRL) and Control Sensor Robot for Patients Data Health Information
Menegatti et al. 3d models of humanoid soccer robot in usarsim and robotics studio simulators
Zeman Essential Skills in Character Rigging
Sanders et al. An information provision framework for performance-based interactive elearning application for manufacturing
Kutter et al. Modeling and Simulating Mobile Robot Environments.
Coppens Integrating Immersive Technologies for Algorithmic Design in Architecture
NAJIM Motion Matching with Proximal Optimization Policy
Görzen et al. Technology-enhanced Learning of the Computer Graphics Rendering Pipeline in Vitual Reality
Subramanian Robot Simulation and Visualization
Canal Anton Automatic game-testing with personality: Multi-task reinforcement learning for automatic game-testing
Wei et al. GeoBuilder: A geometric algorithm visualization and debugging system for 2D and 3D geometric computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant