用于展现动感对象的方法

文档序号:6349688阅读:219来源:国知局
专利名称:用于展现动感对象的方法
用于展现动感对象的方法本发明涉及一种展现动感对象的方法。图形对象展现是计算机的主要用途之一,有时要用到庞大的计算机资源。特别是,在模拟和展现三维对象时,例如,在对象的计算机辅助设计(CAD)以及随后对ー个具体对象行为的模拟过程中,需要综合的计算操作。该对象通常是在ー个相应的绘图程序(例如CAD程序)中创建的,并且然后根据多个定义好的參数特性来对该对象行为进行模拟。由于这些综合的计算操作,该模拟计算有时可能会持续几个小时或者甚至几天。然后,可以将以这种方式计算的对象在该绘图程序中可视化,但是,视图或者參数的任何改变都会使得必须重新计算该对象在该绘图程序中的模拟。例如,DE 602 14 696T2描述了流体流动的模拟和薄壁三维几何形状的结构分析,该模拟被输入为带有有限兀网格的ー种外皮肤。
进ー步地,DE 698 31 385T2描述了ー种方法和安排,用于使用页面描述语言所描述的平面地图来混合图形对象。为此,页面描述语言展现的片段被转换为平面地图展现,并且与这些图形对象的平面地图展现进行混合。其优点在于平面地图允许ー种与色彩空间以及分辨率无关的展现。US 7,123,269B1同样描述了矢量对象的修改。用户选定一幅带有大量矢量对象的图像的多个片段之后,可以更改选择性确定的多个矢量对象的多个參数,并且可以再次展现所更改的多个矢量对象。已公开的说明书US 2008/0303826A1披露了ー种方法及系统,用于对象的动感展现,这些对象对应于通过ー种直观输入语言所输入的数据项。现有技术中所有方案的问题在于只能在绘图程序中展现动感对象。可替代地,绘图程序可以导出动感对象的一个图像序列,这种情况下,以后不能修改该图像序列以及该图像序列的多个具体參数(例如视角)。例如,作为标准,来自Adobe公司的所谓3D-PDF包括基本的动画功能,这些功能可以用来绘制处于木偶形式的实体。但是,这些实体的表面变化却无法更改,例如,在动画功能的辅助下,在实体上变形、扩大或者形成ー种波浪运动。具体地,以该3D-PDF格式,目前还不可能交互地展现实体由于外力(例如熔化或者爆炸)所导致的崩裂。因此,目前还不可能运行ー个预先计算好的动画并且不可能通过叠加对象序列和质感来交互地改变后者,或者不可能在绘制过程中交互地改变动感对象的视角。本发明的目的在于提供一种用于展现动感对象的快速而且节省资源的方法,在这种情况下用户可以交互地修改动感对象的展现。这ー目的是通过ー种具有权利要求I所述的特征的方法来实现的。本发明提供了ー种方法,用于展现处于动画序列形式的动感对象,其中,为该对象的动画序列的每个时刻生成ー个单独对象序列。这些单独对象在对应的时刻完整地描绘了该对象,并且可以是该对象的ニ维或者三维展现。本发明意义上的对象是一个真实的或者计算机生成的物品的一种ニ维或者三维图形展现,例如一艘船或者海洋的一个运动水面。
用于每个时刻的这些单独对象相继连接起来并且形成该对象的动画序列的主要部分。然后将该对象的表面变化计算为ー种质感动画。质感动画是三维对象的ニ维效果,它以ー种类似于视频投影仪的方式投射到该三维对象的表面。本发明意义上的表面变化可以是(例如)表面变形、表面材质变化、对象上或者中的液体运动或者灯光效果。可以通过质感动画来改变照明情况,同样也可以改变色彩效果与ニ维运动,但是却不能改变三维对象的形状与设计。然后,所计算的作为质感动画的表面变化被投射到该动画序列中的对象上。通过同时运行作为ー个单独对象序列的该动画序列以及该对象上的质感动画,为人类观看者产生ー个动感对象的印象。基于内力或者外力的对象模拟是使用一种三维动画程序(例如“ Blender”或“LightwaVe3D”)来计算的。可替代地,该动画程序还可以结合在采用基于矢量的页面描述语言的程序中。作为该模拟展现的一部分,以ー种简单的形式来展现该对象,并且输出用于多个定义的时刻的多个单独对象序列。以ー种延长方式来计算该物理动画之后,获得了一个动画序列,该动画序列可以播放成一个三维单独对象序列。其结果是,可以交互地移动该动感对象的视角。可以自由地对多个这种预先计算的动画和/或质感序列进行汇編,并且可以通过一个控制器来彼此结合,其方式是为人类观看者形成能够有限地改变该动感对象的物理特性的视觉印象。有利地每秒钟生成25个对象,由于人眼的生理特点,这是有利的,并且使得观看者能够以无错觉的方式来感知正在运行的、带有质感动画的动画序列。然后,高速连续地播放以ー种复杂方式计算的这些单独对象。其原理与电影的播放一致,它同样也是通过快速播放大量静态的单幅图像来模拟运动。通过将作为对象表面的模拟变化的质感动画与这些单独对象的同步运行整合在一起,为人类观看者提供动感对象的印象。与绘图程序中的回放相比,由于数据密度降低,已经以这种方式结合的动感对象的这ー动画序列需要更小的存储容量。这就使得有可能交互地展现该动感对象,因为这些对应的単独对象是完全表现的,并且该质感动画(例如处于灯光或者流动模拟的形式)同样也是根据该动感对象来确定的。因此,交互地改变该动感对象的视角时,无需在绘图程序中确定ー个新的动画序列,如前所述,这有时需要高度的计算复杂性。该方法的ー种有利改良规定使用一种基于矢量的绘图程序来创建这些单独对象的序列并且使用一种基于矢量的页面描述语言来对其进行汇编从而形成该动画序列。有利地通过该基于矢量的绘图程序的常规导出和/或存储功能来输出这些单独对象。可替代地,所作出的安排是将这些单独对象从该基于矢量的绘图程序以及从该基于矢量的绘图程序所使用的图形内存中筛选出来,或者使用抓取软件工具来对其进行记录。在这种情况中,该抓取软件工具可以独立使用亦或是该使用一种基于矢量的页面描述语言所编写的程序的一部分。在这种情况中,该抓取软件工具可以是该基于矢量的绘图程序的一部分,或者可以是ー个单独的程序,例如所谓的作为软件应用程序的小程序。该抓取软件工具可以直接访问几何内存、图形卡的质感内存和/或图形输出,例如以OpenGl或者DirectX格式,以便 从中筛选出这些单独对象。这使得有可能(例如)将一艘船的模拟与ー个海面波纹动画将结合,其方式是使用一个以ー种基于矢量的页面描述语言所编写的程序交互地浏览该船。在该方法的ー种示例性的应用中,可以在“LightwaVe3D”中将一艘船创建为ー个对象。然后照射该船对象,并且所形成的灯光模拟被存储在一个图形文件中,例如以JPG格式,其结果是可以记录该照明时刻并且可以将其作为ー个质感动画投射到处于一艘船的形式的动感对象上从而作为该动画序列的一部分。该船的运动被计算为该对象的一个运动之后,围绕该对象的海面波纹被存储为带有一种附加质感动画的多个另外的対象。为每个时刻对所形成的效果以及这些对象之间的交互进行模拟,并且将其存储为简单对象模型中的多个对应的单独对象。在这方面,为该“船”对象的各单独对象和这些“海面波紋”对象的所有単独对象存储该单独对象和用于对应的对象的可任选的ー个可能的关联质感动画。现在,用一种基于矢量的页面描述语言将按照这种方式存储在对应文件中的这些单独对象和质感动画导入到一个程序中,例如来自Adobe公司的程 序“Acrobat 3D工具箱”。在已经将这些对象相对于彼此进行分组并且已经将这些质感动画投射到这些对象上之后,可以将该动画序列可视化。这些动感对象在该程序中通过该基于矢量的页面描述语言被汇编成为这些单独对象的ー个序列。可替代地,通过该基于矢量的页面描述语言将这些单独对象的、已存在的序列导入到该程序中。该对象的质感动画有利地是使用该基于矢量的绘图程序来创建的,并且使用这个采用基于矢量的页面描述语言的程序将其与该对象进行组合。它的优点在于,通过该带有页面描述语言的程序的辅助,可以直接连接这些单独对象的序列与该质感动画,并且能够以ー种几乎与平台无关的方式来播放。特别是,采用基于矢量的页面描述语言的程序使得可能以ー种与平台无关的方式来展现这些对象。该方法的ー种有利改良规定基于ー种数值模拟来确定该对象的质感动画,并且使用该基于矢量的页面描述语言将其与该对象进行组合。使用相应的基本方程将该对象行为计算并模拟为ー个动画序列或者将该对象的质感模拟为ー个质感动画使用,例如使用晶格玻尔兹曼方法为基础,考虑内部与外部摩擦力,以模拟液体行为。从而可以在模拟的意义上按照ー种物理上正确的方式来计算液体,并且允许为人类观看者提供与这些动感对象和这些对象之间的交互相连接的这些序列的一种视觉印象。例如,可以对ー个对象内部(例如一根管子内部)的不同液体的流动行为进行模拟。其优点被认为是,事实上,使用该基于矢量的绘图程序将另ー个质感动画创建为该对象的ー种背景平面,并且使用该基于矢量的页面描述语言将其与该对象组合作为ー个背景平面使用从而形成该动画序列。为此目的,该背景平面无需具有任何有待进行动画的对象,而是该带有质感动画的动感对象被投射到一个专用质感动画的背景上。这就分散了计算操作,因为无需为该背景平面创建并连接多个单独对象。其结果是,事实上,该质感动画是独立于这些单独对象或者这些对象而生成的,该质感动画可以在可预定义的边界条件的基础上交互地改变,并且可以使用该基于矢量的页面描述语言将该对应改变的质感动画使用交互地投射到该动感对象上。该质感动画的更改(例如灯光环境或者改变了的材质行为)因此可以由用户或者在规范的基础上交互地进行修改,并且然后可以将其投射到该有待进行动画的对象上。这使得可能不仅在带有ー个基于矢量的页面描述语言的一个程序中从各个侧面浏览该动感对象,而且同时在这个采用基于矢量的页面描述语言的程序中交互地修改该质感动画。有利地使用该基于矢量的页面描述语言来交互地控制该动感对象的一个视角使用。因为这些单独对象是处于ニ维或者三维对象实体的形式,还可以从所有侧面对后者进行浏览。因为对应的质感动画是同样投射到这些分别关联的对象上的,所以在该动感对象的动画序列过程中也可以改变视角。该动感对象的动画序列的视角上的这种改变在之前的基于矢量的页面描述语言中的对象展现中是不可能的。为此目的,同样重要的是,根据该对象来计算ー个灯光质感并且根据该视角将其投射到该对象上。从而,在有很少的计算机资源时也可以播放该动感对象的动画序列的展现,该对象由多边形和/或三角形和/或非均匀有理B样条和/或体素组成。非均匀有理B样条(简称为NURBS)是数学上定义的曲线或者曲面,它在计算机图形学领域中用来对任意所需形状建摸。其几何信息是使用多个几何元素来展现的,这些几何元素是函数式地逐点定义的。一个对象或者一个对象的多个部分的任意所希望的、技术上可制造的或者自然的形状都可以求助于NURBS来展现。
其优点被认为是,事实上,用于ー个第一动画序列的对象的多幅单独图像的ー个第一序列与用于ー个第二动画序列的对象的多幅单独图像的ー个第二序列相结合。该事实的结果是提供了该对象的多个动画序列,这些动画序列可以同时播放也可以交替播放。因此多个动画序列可以由用户在回放操作中相互替代。从而在该基于矢量的页面描述语言中,结合该视角的交互控制为用户提供了广泛的变化可能性。用于该对象的多个单幅图像的该第一序列的第一表面变化被有利地计算为ー个第一质感动画,并且用于该对象的多个单幅图像的该第二序列的第二表面变化被有利地计算为ー个第二质感动画,并且使用该基于矢量的页面描述语言将其与这些动画序列进行连接。这就形成了在该基于矢量的页面描述语言中关于该动感对象而改变这些质感动画的广泛的可能性。结合存在已被更改的多个单独对象的ー个序列的多个替代动画序列,可以在该基于矢量的页面描述语言中进行该动感对象的大量变形,这仅仅涉及作为ー种质感动画的动感对象的表面亦或仅仅涉及该运动以及作为ー个动画序列的对象本身。为多个对象和/或该背景平面分别有利地确定多种表面变化,并且使用该基于矢量的页面描述语言将其连接。该方法的ー个有利改良规定该动画序列的第一个与最后ー个单独对象相互匹配,其方式是可以展现该动画序列的一个无限循环。该动画序列的起始与结束对象有利地使用一种所谓循环编辑器来进行匹配。该无限循环也可以针对在该动画序列的中间部分所选定的多个单独对象来使用。该循环编辑器将所计算的这些单独对象的多个序列表示为象形图或者是ー根时间轴上的ー种对象展现,类似于ー个视频编辑程序或者已知来自3D动画程序的ー个节点编辑器用于(例如)阴影的图形编程的总览。这是因为在这种情况下也有复制、删除以及剪切这些单独对象的多个序列的可能性。该循环编辑器中集成ー个额外的窗ロ,当前正在进行动画的对象动画序列在该窗ロ中运行。第一个窗ロ以动画的形式展示当前编辑的区域,而第二个窗ロ以层叠的方式展示第一个单独对象和最后ー个单独对象,该起始和结束单独对象以ー种半透明并层叠的方式来显示。可任选地,还能够以动画的形式来展现前十个单独对象和后十个单独对象,以便查看何处剪切为最佳。该循环编辑器的另一个功能使得该无限循环的起始和结束之间的自动接洽成为可能。
这个事实的结果是,限定了该起始单独对象与该结束单独对象之间的ー种几乎无缝的过渡,该动画序列能够以几乎无尽的方式来播放,从该结束的单独对象与起始的单独对象之间没有对于人类观看者而言明显的过渡。该方法的ー个有利改良所提供的情况是使相应的边界条件和/或參数在模拟并生成多个单独对象的该序列时已经被设定,其方式是该动画序列的结束单独对象几乎与该起始单独对象一致。若从该动画序列的结束单独对象到起始单独对象的过渡不可能,就将该动画序列分割为多个部分序列。例如,当对通过一根弯管的水流进行模拟时,该动画序列可以设定为在一个无限循环中水进入管子的流动不重复。水开始流动并流过该管子直到该动画序列的所希望的结尾。在该动画序列的中心部分,水已经到达该管子的末端并流过该管子,其结果是该流动特性大概不会再有任何大的变化并且因此可以重复这一中心序列。在该动画序列的ー个末尾序列中,然后可以水的关断以及管子清空展现为ー个不能重复的序列。在该循环编辑器中,人类观看者可以根据其经验来定义并且配置该动画序列的这些部分序列,其方式是这些能够按照不同方式来配置的部分序列形成该动画序列。按此方式所定义的这些单独对象的序列可以在带有一个基于矢量的页面描述语言的ー个程 序中根据需要来播放,例如3D-PDF或者可替代地还有其他回放环境,如来自微软公司的“Silverlight”程序或者来自Adobe公司的“ Flash”软件工具。此外,这些单独对象的序列随后还可以在该基于矢量的页面描述语言中进行修改。可以同样地进行进一歩的图形优化,例如多边形递減。按照这种方式所创建的动画序列然后可以读入到采用基于矢量的页面描述语言的一个程序中,并且可以用作ー种快放动画,或者是处于一个控制文件的形式用于ー个交互的三维对象。除同步ー个动画序列中的起始单独对象与结束单独对象之外,该对应的质感序列可以在ー个无限循环中同步播放,该动画序列的第一个与最后一个单独对象以及作为该第一各与最后ー个单独对象的质感的关联表面变化在视觉上是相同的。这为人类观看者提供了最大可能范围的变形可能性,其结果是,除了从多个动画序列进行挑选的可能性之外,用于分别选定的动画序列的不同质感动画也可以由人类观看者在该基于矢量的页面描述语目中进行编辑。该方法的ー种有利改良规定这些单幅图像的序列和/或该质感动画和/或该灯光质感在一个显示单元中进行显示。为了降低用于模拟并确定用于该动画序列的这些单独对象的计算复杂程度,仅仅根据多个可预定义的平面来确定这些单独对象的剖面,并且根据这些平面来进行显示。即使有意模拟并绘制ー个三维对象,该动画序列也仅仅包括这些单独对象的多个部分或者剖面。这就最小化了该动画序列的计算复杂性与数据大小。规定不同的动画序列要关于不同的剖面和部分来创建。这些单独对象的对应部分或者剖面然后可以被人类观看者通过交互地选择该分别希望的动画序列和从而该分别希望的剖面以ー种快速和简便的方式来浏览,并且有可能的是通过该基于矢量的页面描述语言在这些单独动画序列之间来回切換。这些单独对象的序列和/或该质感动画是使用ー个模拟单元来确定的。由于事实上这些单独对象的序列和/或该质感动画并不必使用昂贵并复杂的模拟程序来计算,使用一种为待模拟问题而定制的模拟单元是可能的。模拟程序需要综合操作和控制,而这些只有经过专门培训的专家才能完成。相反,该模拟単元可以被设计为仅需最少量的存储空间,而且由外行来输入也是可能的。例如,由该用户执行的參数输入可以创建流过ー根管道的水流,根据ー个模拟行为,该水流可以遇上ー个抵触对象(在此是管道),其中然后根据该模拟以水成分的形式来分布这些对象。使用多个粒子点或者用于快速理解的多个体素或者根据该抵触对象的多个预定义的剖面来实现实时展现。通过定位这些多边形/三角形区域,也就是说,通过读取该抵触对象的边界或者根据来自该用户的规范,该抵触对象被精确定义。为此目的,该用户必须打开ー个工具箱,并且然后可以在不同的管道横截面(所谓的“形状”)之间进行选择。然后该用户为作为抵触对象的管道的直径指定ー个半径或者使用图形选择来对其进行交互式的限定。该用户然后画线穿过该作为抵触对象的管道。曲线工具、分布引导件以及其他工具可供用于创建该路径。该用户可以使用工具箱来选择性地挑选形状。可替代地,这一任务可以转移到一台计算机,该计算机以自动的方法来选择形状。 然后在已经创建的路径上演示该动画序列的实时预览,并且该用户可以使用该參数化过程来工作。若该用户对该模拟结果满意,他可以通过按下ー个按钮来启动该复杂的三维模拟,并且可以输出由其导出的动画序列。可任选地,该用户还可以生成多个质感动画,这些质感动画随后被投射到该已完成的动画序列上。本方法同样使得可能将该用户所定义的ー个区域(例如水面)导入到该模拟単元中。然后该用户可以输入必要的參数,例如风向与风力,从而可以计算ー个波浪的模拟。可以将诸如轮船之类的其他对象放置到该水面上。该波浪的运动进而形成更多的波浪与浪花。该动画序列表明用于粗略预览的几何形状与质感。若该用户对该模拟满意,他可以通过按下ー个按钮来启动该复杂的三维模拟,并且可以输出所完成的动画序列。通过这种形式的模拟,该封闭的水面被分解为多个片区;该浪花首先包括多个粒子、多边形或者体状对象(如“体素”)并且随后同样被分解为多个片区。浪花水滴的碰撞以及分断的波浪被存储为该水面上的质感。可以使用更现代并且更强大的计算机来単独地或者一起实时演示这两种方法,或者同样也可以将其导出和/或处理为多个3D对象序列。所选定的用于该水面的表面模拟的多个特性(例如顔色或者透明度)同样可以由该用户进行更改。使用其中生成波浪的所谓中心来创建该水面的波浪运动。本方法使得对于该波浪,可能知晓其体积、力量以及速度,以便在多个另外的对象(例如壁件或者船)上进行正确的力量分布,从而一切都以正确的方式按规律前迸。可替代地,还可以使用ー个flash程序来播放该动画序列。便携式文件格式(HF)的数据格式被有利地用作该基于矢量的页面描述语言。然而,也可以替代地使用其他平台如微软公司的“Silverlight”、Adobe公司的“Flash”等等。其优点被认为是,事实上,该动画序列的数据大小被减小到一个显示単元的图像大小。计算机程序与计算机程序产品也可以地实现该目的,该计算机程序产品被存储在一种计算机可读媒质中并且包括计算机可读装置,当该程序在计算机中运行时,该装置使得该计算机执行该根据本发明的方法。可以以硬件、软件或者软硬件结合的形式来实施本发明。为执行该根据本发明的方法而建立的任何类型的系统或者其他设备都适用于这一目的。本发明还可以一体化在一个计算机程序产品中,该程序产品包括使得在此所述的计算机辅助方法得以实施的所有特征,并且载入一个计算机系统之后,能够执行这些方法。在本文中,术语“计算机程序”与“计算机程序产品”应该理解为意指以任意所希望的计算机语言、代码或者注释所做的ー个指令集合的任意表达,该指令集合使得ー个计算机系统处理数据,并从而执行ー个具体的功能。该计算机程序或者该计算机程序产品可以直接地或者在转换为其他语言、代码或者注释之后或者通过另ー种素材形式的展现在该计算机系统上执行。其他有利改良见于从属权利要求。使用附图
中的示例性实施方案对本发明进行更详细的说明,其中,以实例的形式,图I示出了具有基本方法步骤的ー个流程图;图2示出了这些基本方法步骤的ー个概略图解;图3示出了具有不同剖面的一个对象的ー个透视图;图4示出了一种基于矢量的页面描述语言中的一个对象的视图;图5通过预览程序示出了基本方法步骤的ー个概略图解。图I示出了具有基本方法步骤的ー个流程图。该方法启动之后,对对象I (未示出)进行模拟10。在一个绘图程序5(未示出)中,例如Lightwave3D,或者在ー个模拟单元中,对象I的行为被模拟,并且在时间上相继生成多个单独的对象2&、213、2(、2(1、26、2ム28(未示出)。另外,在绘图程序5中或者通过ー个単独的编辑器6 (未示出)来生成并模拟(12)动感对象I的质感,并且将其存储为ー种质感动画4a、4b (未示出)。可替代地,模拟12该质感动画还可以与该对象的模拟10平行地进行,或者完全独立于该对象的模拟10。然后这些单独的对象被连接13,成为ー个时间序列,以便形成一种动画序列3a、3b (未示出)。可替代地,还可以逐个地从绘图程序5中读取这些单独对象2a、2b、2c、2d、2e、2f、2g,然后在作为ー个预览器的另ー个预览程序17 (未示出)中进行浏览,和/或可以汇编为ー个序列,从而成为ー种动画序列3a、3b。然后质感动画4a、4b被投射到动画序列3a、3b上14,并且从而描绘动感对象I的表面变化。使用一个循环操作16来重复动画序列3a、3b与质感动画4a、4b的回放,直到ー个内部条件发生或者人类观看者終止该进程。图2示出了该基本方法序列的ー个概略图解。在绘图程序5中,生成这些单独对象2a、2b、2c并且对时间行为进行模拟。在绘图程序5中,这些单独对象2a、2b、2c已被连接,成为ー个序列,以形成一个动画序列3a。动画序列3a由位于这些单独对象2a、2b、2c之间且g在指示这些单独对象2a、2b、2c的时间序列的多条竖线来指示。在另ー个程序6中,这些质感被连接,以形成一个质感动画4a,质感动画4a再次由位于这些质感之间的多条竖线所指示。动画序列3a与质感动画4a被载入到带有ー个基于矢量的页面描述语言7的一个程序中,并且可以通过控制元件8a、8b在一个显示単元18中进行播放。该人类用户可以使用控制元件8a、8b来控制动画序列3a与质感动画4a的进程与速度。图3示出了一个带有不同剖面9a、9b、9c、9d的对象I的ー个透视图,在这种情况下,为了清晰起见,所示出的剖面并没有都赋以ー个图标。动画序列3a、3b (未示出)与质感动画4a、4b、4c (未示出)根据该整体的对象I的一个模拟来计算。然而,实际动画3a、3b、4a、4b、4c被示出并且投射,仅仅用于可预定义的剖面9a、9b、9c、9d、9f、9g。在图3所示的实例中,三个径向伸展的剖面9a、9b、9c细分ー个管形对象I的内部。而且,三个轴向延展的剖面9d、9f、9g在作为ー个对象I的管道的内部延续。动画序列3a、3b以及质感动画4a、4b、4c被输出,仅仅用于剖面9a、9b、9c、9d、9f、9g,这仅仅需要很小的计算能力。在该模拟10的过程中对该对象几何形状的自动检测的基础上,若可行,通过在ニ维剖面9a、9b、9c、9d、9f、9g上展现ー个三维对象的行为,动感对象I的三维模拟行为可以在ニ维上展现。可以在该模拟10的过程中自动地创建动画序列3a、3b的流体模拟的2D质感可以遵循的一条路径,它实时地工作。总体上,取决于计算机容量,多个这样的“ 2D切片”(如剖面9a、9b、9c、9d、9f、9g)被放置在该作为一种对象I的管道中并且纵横交织。在3X3剖面9a、9b、9c、9d、9f、9g的情形下,正如图3中所示的实例,九个动画序列3a、3b和/或质感动画4a、4b、4c被如此创建,并且因此,通过组合,为用户提供该动感对象的行为的ー个非常逼真的三维印象。图4示出了来自动感对象I的一个动画序列4a(未示出)的ー个片段。在图4所示的实例中,无需计算该静态管道的目标行为。使用ー个模拟过程来对该管道中间部分的 流动进行模拟,并将其存储为多个单独对象2a、2b、2c。然后对流过该管道的液体的表面变化进行模拟,并存储为ー种质感动画4a、4b。然后,在这个采用基于矢量的页面描述语言的程序中,例如3D-PDF或者微软公司的“Silverlight”或者Adobe公司的“Flash”,动画序列3a、3b与质感动画4a、4b、4c可以被连接并播放。由于编程形式简单,在该基于矢量的页面描述语言中,还有可能定义作为控制元件8a、8b的按钮与图标,这些控制元件使得可能播放动画序列3a、3b与质感动画4a、4b、4c。同时,该人类观看者可以使用控制元件8a、8b来交互地改变动感对象I的视角。图5通过ー个预览程序17示出了基本方法步骤的ー个概略图解。在绘图程序5中,根据用户预定义的一种模拟来生成多个单独的对象2a、2b、2c、2d、2e、2f、2g。在该另ー个程序6中,确定关于这些单独对象2&、213、2(3、2(1、26、2ム28的表面变化的对应质感。这些对应关联单独对象2a、2b、2c、2d、2e、2f、2g的时间序列可以在该预览程序17中进行浏览,然后根据这ー预览,用户能够生成一个动画序列3a、3b。同样也可以浏览该质感系列,并且然后可以创建ー种质感动画4a、4b、4c。然后动画序列3a、3b与质感动画4a、4b、4c被载入到这个采用基于矢量的页面描述语言7的程序中,并且可以使用控制元件8a、8b在ー个显示単元18中播放。这种情况下,在带有ー个第一质感动画4a、4b、4c的ー个第一动画序列3a,3b的运行过程中,该用户同样能够交互地互相组合动画序列3a、3b和/或质感动画4a、4b,4c,并且从不同的视角对它/它们进行浏览。一个模拟単元同样可以一体化在该预览程序17中,其中对绘图程序5中所生成的这些单独对象2a、2b、2c、2d、2e、2f、2g和/或在该另ー个程序6中所生成的这些质感进行模拟。在这个采用基于矢量的页面描述语言7的程序中,该用户启动ー个程序或者ー个插件,并且使用Adobe公司的Acrobat 3D工具箱导入这些单独的对象2a、2b、2c、2d、2e、2f、2g,或者作为ー个OBJ文件或者作为进一歩的支撑文件格式。
例如,在对流过根据图3与图4中的实例的一根管道的流动进行模拟的情形中,然后,该用户能够将该管道定义为一个对象1,并且选定(例如)该管道的半径以及作为该流体的容积体的多个另外的对象的分辨率。然后,该用户可以在ー个显示単元中的预览程序中浏览这些单独对象2&、213、2(3、2(1、26、2ム28和/或这些质感以及这些单独对象2&、213、2(3、2d、2e、2f、2g和/或这些质感的时间序列。为此目的,计算这些单独对象2a、2b、2c、2d、2e、2f、2g和/或这些质感的建模行为,用于多个9a、9b、9c、9d、9e、9f剖面,并且通过ー种实时预览,在作为ー种对象I的三维管道中进行演示。而且,在预览过程中,可以交互地改变该流体的多个參数与特性。还有ー种标准设置,点击鼠标时,该设置将诸如水、油或者气等材料納入该參数设定。用户进行參数输入吋,他可以在该预览程序17中实时地看到该设置是如何在该浏览器中直接改变的。该用户可以同样地设置并且交互地改变质感的形式。用户对该设置满意时,他按下ー个“创建3D序列”按钮,并且还必须指定他想做实际模拟计算所要服从的公式。然后所有的參数都被纳入到该3D引擎中,并且基于多边形、粒子和/或体积模型(如体素)来计算13、14带有或者没有ー种质感动画4a、4b、4c的动画序列3a、3b。对按这种方式所计算的动画序列3a、3b和/或质感动画4a、4b、4c进行存储。动画序列3a、3b和/或质感动画4a、4b、4c然后在该循环编辑器中被编辑,其方式是动画序列3a、3b和/或质感动画4a、4b、4c的一个起始部分、ー个中央部分和一个结束部分是可供使用的,并且可以被载入到该3D-PDF程序或者其他平台中,例如微软公司的“Silverlight”或者Adobe公司的“Flash”。若必要,动画序列3a、3b和/或质感动画4a、4b、4c的中央部分可以在某些循环中一再运行。为了减小动画序列3a、3b和/或质感动画4a、4b、4c的文件大小,该用户使用该循环编辑器中的对象细节抑制功能来降低这些单独对象2a、2b、2c、2d、2e、2f、2g和/或动画序列3a、3b和/或质感动画4a、4b、4c的分辨率。现在可以使用一种控制元件8a、8b来自动地创建最終的动画序列3a、3b和/或质感动画4a、4b、4c,并且是在这个采用基于矢量的页面描述语言的程序(例如3D-PDF)中直接创建。该用户可以实时交互地跟踪他对这些单独对象2&、213、2(3、2(1、26、2ム28和/或者对动画序列3a、3b和/或者对该自由定义的流体流动或者海洋水流的质感动画4a、4b、4c所做的修改。尽管市场上的技术(例如“Next Limits”或者“RealFlow”)使得用户可能将该作为流体的对象I參数化,但是却没有真正的预览手段可以允许用户以每秒25幅图像的速度直接地看到參数变化对这些单独对象2a、2b、2c、2d、2e、2f、2g和/或动画序列3a、3b和/或质感动画4a、4b、4c的行为具有何种效果。在这些程序中,需要一种费时的预览模拟,然后该模拟被缓存,以便将其展示给用户。若他改变了这些參数,那么必须重新计算整个模拟,有时要耗费大量的时间开销。同样,规定了图形数据格式(例如OpenGL或者DirectX格式)能够在绘图程序5和/或者该另ー个程序6中使用,并且规定对表面顔色的改变要能够实时地显示,并因而能够被观看者观看。只有当一个可视度属性按钮之前已经被激活时,才能看见这些表面顔色。如果(例如)要改变作为ー个动感对象I的ー个球,该动画功能将所选定的作为ー个动感对象I的球的顔色变为红色。因此,使用该动画功能,在该选择的基础上,看到哪个对象或者对象部分正在运行是可能的。蓝色可以代表具有大量对象I的水的模拟,緑色可以代表一个对象I的修饰,粉色代表将要抵触的一个对象1,而粉红色代表具有自身变形的ー种对象I。本方法还可能模拟电影与游戏应用程序。绘图程序5、6被用来创建ー个被定义为 对象I的头发的比例3D体图。为了能够实时表达作为对象I的头发,设置多祥的剖面9a、9b、9c、9d、9e、9f来穿过该立体头发。这些剖面9a、9b、9c、9d、9e、9f穿透有待建模的头发,并且留下刚才已经在其2D平面上切割出来的头发的一种横截面。这ー横截面由绘图程序5进行展现。未被切割的所有部位均透明。十五个ニ维剖面9a、9b、9c、9d、9e、9f自发线展开至发梢,沿着该头发进行分布,从而以对应的头发横截面与质感来描绘该头发。还有另外ー种用于实时创建头发的变体。为此目的,这是在带有多个小孔的作为一个对象I的ー个基板中。该作为对象I的基板特别快地从ー个点运动到下一点。这种情况下,在模拟10的过程中运动模糊被打开。作为对象I的基板中的这些小孔无需如此,因为有头发的位置也可以没有运动模糊。为此目的,仅仅计算每隔一个的单独对象2a、2b、2c、2d、2e、2f、2g,以便不可能辨别从一点到下一点的任何流动的运动。从而形成该运动模糊“是静止不动的”并且没有运动的印象。作为这种效应的结果,它看起来就像是草正在从 这个作为对象I的基板上生长。
权利要求
1.一种用于以动画序列(3a、3b)的形式来展现动感对象(I)的方法,该方法具有以下步骤 为该对象(I)的这个动画序列(3a、3b)的每个时刻生成多个单独对象(2a、2b、2c、2d、2e、2f、2g)的ー个序列; 将对于每个时刻的这些单独对象(2a、2b、2c、2d、2e、2f、2g)进行连接(13)以形成该动画序列(3a、3b); 对该对象(I)的多种表面变化进行计算(12)而成为ー种质感动画(4a、4b、4c); 在该动画序列(3a、3b)中将该质感动画(4a.4b.4c)投射(14)到该对象(I)上; 将该动画序列(3a、3b)与该质感动画(4a、4b、4c) 一起同时运行(15)并因此而生成ー个动感对象(I)的印象。
2.如权利要求I所述的方法,其特征在于,这些单独对象(2a、2b、2c、2d、2e、2f、2g)的序列是使用一个绘图程序(5)来创建的并且使用一个采用基于矢量的页面描述语言的程序(X)来进行汇编以形成该对象(I)的带有质感动画(4a、4b、4c)的这个动画序列(3a、3b)。
3.如权利要求I和2之一所述的方法,其特征在于,该对象(I)的质感动画(4a、4b、4c)是使用该绘图程序(5、6)来创建的并且是使用这个采用基于矢量的页面描述语言的程序(7)将其与该对象(I)相结合。
4.如权利要求I至3之一所述的方法,其特征在于,该对象(I)的质感动画(4a、4b、4c)是在ー种数值模拟(10)的基础上确定的并且是使用这个采用基于矢量的页面描述语言的程序(7)将其与该对象(I)相结合。
5.如权利要求I至4之一所述的方法,其特征在于,使用该绘图程序(5、6)将另ー个质感动画(4a、4b、4c)创建成为该对象(I)的ー个背景平面并且使用这个采用基于矢量的页面描述语言的程序(7)将该质感动画与该动画序列(3a、3b)相结合而作为该对象(I)的一个背景平面。
6.如权利要求I至5之一所述的方法,其特征在于,在多种可预先定义的边界条件的交互变动的基础上来改变该质感动画(4a、4b、4c)并且使用这个采用基于矢量的页面描述语言的程序(7)将这个对应地改变的质感动画(4a、4b、4c)交互地投射到该动感对象(I)上。
7.如权利要求I至6之一所述的方法,其特征在干,使用这个采用基于矢量的页面描述语言的程序(7)来交互地控制该动感对象(I)的ー个视角。
8.如权利要求7所述的方法,其特征在于,一种光质感是基于该对象(I)来计算的并且是根据该视角而被投射到该对象(I)上。
9.如权利要求I至8之一所述的方法,其特征在于,该对象(I)是由多个多边形和/或多个三角形和/或多个非均匀有理B样条和/或多个体素构成的。
10.如权利要求I至9之一所述的方法,其特征在于,将用于该对象(I)的ー个第一动画序列(3a、3b)的多个单独对象(2a、2b、2c、2d、2e、2f、2g)的ー个第一序列与用于该对象(I)的ー个第二动画序列(3a、3b)的多个单独对象(2a、2b、2c、2d、2e、2f、2g)的ー个第二序列相结合。
11.如权利要求10所述的方法,其特征在于,对用于多个单独对象(2a、2b、2c、2d、2e、2f、2g)的该第一序列的多个第一表面变化进行计算作为ー个第一质感动画(4a、4b、4c)并且对用于多个单独对象(2a、2b、2c、2d、2e、2f、2g)的该第二序列的多个第二表面变化进行计算作为ー个第二质感动画(4a、4b、4c)并且使用这个采用基于矢量的页面描述语言的程序(7)将它们与该对象(I)的这些动画序列(3a、3b)进行连接。
12.如权利要求I至11之一所述的方法,其特征在于,对于多个对象(I)和/或该背景平面对应地确定多个表面变化并且使用这个采用基于矢量的页面描述语言的程序(7)将它们连接。
13.如权利要求I至12之一所述的方法,其特征在于,该动画序列(3a、3b)的第一个与最后ー个单独对象(2a、2b、2c、2d、2e、2f、2g)是相互匹配的,其方式为可以展现为该对象(I)的动画序列(3a、3b)的一个无限循环。
14.如权利要求13所述的方法,其特征在于,该动画序列(3a、3b)与该质感动画(4a、4b,4c)是在ー个无限循环中同时进行播放,该动画序列(3a、3b)的第一个与最后一个单独对象(2a、2b、2c、2d、2e、2f、2g)以及作为该第一个与最后ー个单独对象(2a、2b、2c、2d、2e、2f、2g)的ー个质感动画(4a、4b、4c)的相关联的表面变化是几乎完全相同的。
15.如权利要求I至14之一所述的方法,其特征在于,这些单独对象(2a、2b、2c、2d、2e、2f、2g)的序列和/或该质感动画(4a、4b、4c)和/或该灯光质感是在ー个显示单元(18)中显示的。
16.如权利要求I至15之一所述的方法,其特征在于,这些单独对象(2a、2b、2c、2d、2e、2f、2g)是根据多个可预定义的平面(9a、9b、9c、9d、9e、9f)来确定的并且是根据在该对象(I)的动画序列(3a、3b)中的这些平面(9a、9b、9c、9d、9e、9f)来显示的。
17.如权利要求I至16之一所述的方法,其特征在于,这些单独对象(2a、2b、2c、2d、2e、2f、2g)和/或该质感动画(4a、4b、4c)是使用ー个模拟单元来确定的。
18.如权利要求I至17之一所述的方法,其特征在于,便携式文件格式(HF)的数据格式 被用作该基于矢量的页面描述语言。
19.如权利要求I至18之一所述的方法,其特征在于,该对象(I)的动画序列(3a、3b)的数据大小被减小到一个显示単元(18)的图像大小。
20.一种计算机程序,该计算机程序具有的程序代码被设置成用于当在一台计算机中执行该程序时进行如权利要求I至19之一所述的方法。
21.一种计算机程序产品,该计算机程序产品具有的程序代码用于当在一台计算机中执行该程序时该代码时进行如权利要求I至19之一所述的方法。
全文摘要
本发明涉及一种用于展现动感对象的方法。在一个用于生成多个对象并使它们有动感的三维绘图程序中,对这些对象的模型行为进行计算。为此目的,在限定的时刻输出多个单独对象的序列,并且随后将这些单独对象的序列连接成为一个动画序列。通过额外的质感动画和输出来模拟该对象的表面变化。然后,在一种基于矢量的页面描述语言(如3D PDF程序)中将该动画序列与质感动画相结合并且同时进行播放。基于这些单独对象的可供使用的序列,用户可以在回放该动画序列和质感动画的同时交互地修改以此方式进产生动感的对象并且改变对于这个动感对象的观看角度。这种动画序列或质感动画可以类似地被配置为一个无限循环,并且由此对于人类使用者给予该动感对象的一种动态观感。
文档编号G06T13/20GK102687176SQ201080027345
公开日2012年9月19日 申请日期2010年3月26日 优先权日2009年4月18日
发明者斯文·施赖伯 申请人:施赖伯友谊公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1