经改进动态场景描述符的方法和装置的制作方法

文档序号:6496071阅读:199来源:国知局
专利名称:经改进动态场景描述符的方法和装置的制作方法
技术领域
本发明涉及计算机动画,尤其涉及用于处理复杂场景时存储和时间效率的技术和装置。
背景技术
在这些年中,电影制作商常常尝试讲述涉及虚构生物、遥远地点和幻想事物的故事。为此,他们常常依靠动画技术来“叫醒”虚构生物。动画中的两个主要路径通常包括基于绘画的动画技术和定格(stop motion)动画技术。
基于绘画的动画技术在二十世纪由诸如迪斯尼的电影制作商改进,并用于诸如“白雪公主和七个小矮人”(Snow White and the Seven Dwarves)和“幻想曲”(Fantasia)(1940)的电影。这种动画技术通常需要艺术家将动画画面手绘(或绘制)到透明介质或单元上。在绘制之后,每个单元可被捕捉或记录到胶片上,作为电影中的一个或多个帧。
基于定格的动画技术通常需要构建的微缩布景、道具和角色。电影制作商需要构建布景、添加道具、并使微缩角色摆好姿势。在动画制作人员对所安排的全部满意之后,电影的一个或多个帧将取该特定排列。定格动画技术由诸如电影“金刚”(King Kong)(1933)的Willis O’Brien的电影制作商开发。随后,这些技术由包括“The Mighty Joe Young”(1948)和“Clash of The Titans”(1981)的电影的诸如Ray Harryhausen的动画制作人员改进。
随着计算机在二十世纪后半叶的广泛的可用性,动画制作人员开始依靠计算机来帮助进行动画处理。这包括使用计算机例如通过绘制画面、通过产生中间画面(“tweening”)等来便于基于绘画的动画。这还包括使用计算机来增加定格动画技术。例如,物理模型可由计算机存储器中的虚拟模型来表示并处理。
计算机辅助动画(CAA)行业中的先驱公司之一是Pixar。Pixar开发了为CAA特别设计的计算平台、以及现在称为RenderMan的动画软件。RenderMan特别为动画行业所接受并获两项奥斯卡奖(Academy Awards)。其中一项表彰本专利申请的发明人,而另一项获1992年的科技成就奖(Scientific And EngineeringAchievement Award)。
RenderMan软件用来转换对象的图形规格并将其转换成一个或多个画面。该技术在本行业中被称为呈现(rendering)。呈现过程的一个特定部分是要呈现的对象的图形规格。对象可指画面中的几何对象、照明对象、摄影机对象等。在该过程中,对象可以预先定义和预先指定,对象可以是已定义的过程技术,对象可通过这些技术的组合来定义,等等。
通常要呈现的场景由一个或多个动画制作人员来指定(组合)。这些场景包括对象、摄影机角度、光源等的描述。一旦定义了场景,所存储的场景数据和/或场景就得以呈现。然后结果画面可由动画制作人员查看。如果动画制作人员不喜欢所呈现画面的外观,则动画制作人员可重新指定场景数据且该过程重复。
以上技术的缺点包括在一个特定场景中有大量对象,每个对象通常具有动画制作人员可以或必须设置的大量参数。因此描述整个场景的场景数据文件(也称为场景描述符文件)通常极大(数十亿字节)。由于典型的场景描述符文件的大小通常都较大,动画制作人员的计算机必须有足够数量的存储器。作为另一个缺点,因为场景描述符文件通常较大,所以动画制作人员通常不得不等待描述符文件再次从存储器作尝试。此外,因为场景描述符文件通常较大,所以动画制作人员不得不长时间地等待场景来呈现。
根据以上内容,需要动画制作人员指定场景的改进技术而无上述缺点。

发明内容
本发明涉及计算机动画,尤其涉及用于指定计算机动画的场景数据的改进方法。本发明的发明人已认识到不同的动画制作人员为不同目的呈现场景的画面。另外,本发明人已认识到,在呈现场景时,并非场景的所有因素都对动画制作人员是重要的。例如,动画制作人员可能会关心场景中照明的定位或质量,诸如对象色彩、纹理和阴影,因此,动画制作人员不必关心对象如何详细地在场景中表示。作为另一示例,动画制作人员可能会关心场景中对象的动画,而并不一定关心场景中对象的照明或阴影。作为又一示例,动画制作人员可能会关心场景中对象的布局,而并不一定关心对象在场景中如何详细地显现。作为再一示例,动画制作人员可能会关心场景中的布景布置,而并不一定关心场景中对象的动画。
据此,本发明的发明人已开发了用于组织场景描述符文件的方法。更具体地,本发明人已开发了用于指定一个以上对象模型、或场景描述符文件内的参数的方法。本申请中所述的方法允许动画制作人员动态地选择适合动画目的的对象模型。在一实施例中,所选定模型或选定参数集通过指向一个或多个独立文件的指针引用。通过仅选择适当模型,载入计算机存储器的场景数据量减少,并且呈现所需的时间量通常也减少。
在另一实施例中,可为整个影片一次性地全局指定对象模型的多个参数,但是为了影片中的特定序列也可替换多个参数。此外,为了影片中的特定镜头、和/或甚至为了特定的摄影机模式,可替换多个参数,如下文中所述。
在一些实施例中,选定模型或选定参数集可由子模型或参数子集组成。如下文中所述,该类递归分解极为有利,因为它大大地减少了场景中使用的冗余数据的量。在其它实施例中,场景描述符文件可被集成为用数据库管理系统和/或软件管理系统运行以访问模型数据。
根据本发明一方面,描述了一种用于呈现动画帧的方法。技术包括检索与该动画帧相关联的场景描述符数据,其中该场景描述符数据包括至少一个对象的第一规格,其中该对象的第一规格与第一呈现选项相关联;接收第一呈现选项或第二呈现选项的选择;以及在选择是第一呈现选项时,响应于对象的第一规格在数据库中查询一对象的第一表示。其它过程可包括当选择是第一呈现选项时,将对象的第一表示载入计算机存储器;以及当选择是第一呈现选项时,使用对象的第一表示呈现用于动画帧的对象。当选择是第二呈现选项时,对象的第一表示并不载入计算机存储器。
根据本发明的另一方面,揭示了一种用于呈现动画帧的方法。技术可包括检索与动画帧相关联的场景描述符数据,其中场景描述符数据指定至少一个对象,其中该对象与对象的第一表示的引用相关联,且该对象与对象的第二表示的引用相关联,其中对象的第一表示与第一呈现选项相关联,对象的第二表示与第二呈现选项相关联。其它技术可包括接收第一呈现选项或第二呈现选项的选择;在选择第一呈现选项时将对象的第一表示载入计算机存储器;以及在选择第一呈现选项时使用对象的第一表示呈现用于动画帧的对象。在各个实施例中,对象的第一表示在选择第二呈现选项时并未载入计算机存储器。此外,对象的第一表示包括对第一多个对象的表示的引用,且对象的第二表示包括对第二多个对象的表示的引用。此外,第一多个对象内的至少一个对象也在第二多个对象之内。
根据本发明的又一方面,描述了包括处理器的计算机系统的计算机程序产品。该计算机程序产品包括引导处理器在程序存储器内检索与动画帧相关联的场景描述符数据的代码,其中场景描述符数据指定至少一个对象,其中该对象与对象的第一表示相关联,其中该对象的第一表示与第一呈现选项相关联,其中该对象与对象的第二表示相关联,其中该对象的第二表示与第二呈现选项相关联;引导处理器确定第一呈现选项或第二呈现选项的选择的代码;引导处理器在选择是第一呈现选项时将对象的第一表示载入程序存储器的代码;以及引导处理器在选择是第一呈现选项时,响应于对象的第一表示呈现用于动画帧的对象。在各个实施例中,当选择是第二呈现选项时,对象的第一表示并不载入程序存储器。此外,代码通常驻留在诸如磁盘、光盘、数据分组序列等的有形媒体中。在各个实施例中,对象的第一表示包括对第一多个对象的表示的引用,且对象的第二表示包括对第二多个对象的表示的引用。此外,第一多个对象内的至少一个对象也在第二多个对象内。


为了更全面地理解本发明,对附图予以参考。理解了这些附图并不被视为是本发明范围的限制,将通过使用附图用更详细方式描述目前所描述的各个实施例和本发明的目前所认为的最佳模式,在附图中图1示出根据本发明一实施例的呈现系统的框图;图2A-B示出根据本发明一实施例的流程的框图;图3A-B示出本发明一实施例的一个示例;图4示出本发明的另一实施例;图5示出本发明的又一实施例。
具体实施例方式
图1是根据本发明一实施例的典型计算机呈现系统100的框图。
在本实施例中,计算机系统100通常包括监视器110、计算机120、键盘130、用户输入设备140、网络接口150等。
在本实施例中,用户输入设备140通常包括计算机鼠标、跟踪球、跟踪板、无线遥控器等。用户输入设备140通常使用户能选择显现在监视器110上的对象、图标、文本等。
网络接口150的各个实施例通常包括以太卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字用户线路(DSL)单元等。网络接口150通常与所示计算机网络耦合。在其它实施例中,网络接口150可物理地集成到计算机120的母板上,可以是诸如软DSL的软件程序等。
计算机120通常包括熟悉的计算机组件,诸如处理器160、诸如随机存取存储器(RAM)170的存储器存储设备、盘驱动器180和使以上组件互连的系统总线190。
在一实施例中,计算机120是具有多个微处理器的PC兼容的计算机,诸如来自Intel公司的XeonTM微处理器。此外,在本实施例中,计算机120通常包括基于UNIX的操作系统。
RAM 170和盘驱动器180是用于存储数据、音频/视频文件、计算机程序、applet翻译器或编译器、虚拟机的有形媒体的示例,在此所述的本发明的各个实施例包括场景描述符文件、勾连文件、对象数据文件、滤光器描述符、呈现引擎、输出画面文件、纹理映射、位移映射、对象材料的散射长度和吸收数据、数据库等等。其它类型的有形媒体包括软盘、可移动硬盘、诸如CD-ROM的光学存储媒体、条形码、诸如闪存、只读存储器(ROM)、电池备份的易失性存储器的半导体存储器、网络化存储设备等。
在本实施例中,计算机系统100还可包括使能诸如HTTP、TCP/IP、RTP/RTSP协议等的网络上的通信的软件。在本发明的各个选择性实施例中,也可使用其它通信软件和传输协议,例如IPX、UDP等。
图1表示能够体现本发明的计算机呈现系统。对本领域普通技术人员而言,许多其它硬件和软件配置都适用于本发明是显而易见的。例如,可预期使用其它微处理器,诸如PentiumTM或ItaniumTM微处理器;来自Advanced Micro Devices Inc.的OpteronTM或AthlonXPTM微处理器;来自Motorola Inc.的PowerPC G3TM、G4TM微处理器等。此外,可预期其它类型的操作系统,诸如来自微软公司的Windows操作系统,诸如Windows XP、Windows NT等、来自Sun Microsystems的Solaris、来自Apple Computer Corporation的Linux、Unix、Mac OS等。
图2A-B示出根据本发明一实施例的过程流的框图。在所示实施例中,开始时指定用于呈现的帧(步骤200)。在本发明的各个实施例中,规格可以是一特定帧、一组相关帧(镜头)、电影的一部分、整个电影等。规格可以通过选择诸如名称、编号等的标识符来制定。
然后,指定一呈现选项(步骤210)。在本发明的一个实施例中,呈现选项可以是呈现质量、呈现目的、动画任务等的规格。如上所述,画面可因众多原因而呈现,包括确定照明从美学观点上而言是否令人愉悦、确定色彩或纹理是否匹配、为最后呈现复审场景的视觉排列或构成等等。因此,呈现选项可与呈现画面的原因相对应。在其它实施例中,呈现选项可指示从所呈现场景中包括或排除特定对象,可指示从所呈现场景中包括或排除特定灯光、可指示使用特定摄影机来呈现场景等等。
在本实施例中,帧关联于几何场景描述符。该几何场景描述符通常是指定场景内“对象”的文本文件。对象包括照明对象、摄影机对象、几何对象等。这些对象用来指定用于呈现目的的场景。如以下进一步所述,使用不同表示描述不同对象,且不同对象通常包括不同属性,包括设置、参数、常数、特性、和应用数据等等。
在本实施例中,场景描述符文件还指定对象在场景中的位置、对象的方位、对象的色彩和纹理、对象的属性等。在本发明中,场景描述符文件是称为“勾连设置”或“勾连文件”的纹理文件。简单勾连文件的内容的一个示例可包括如下内容勾连“object1”{对象1的属性}勾连“camera1”{摄影机1的属性}勾连“light1”{灯光1的属性}在本实施例中,从存储器中检索指定要呈现场景的场景描述符文件(步骤220)。在一实施例中,场景描述符文件可仅与要呈现的帧相关联,可与画面的镜头相关联、可与影片的一部分相关联、或可与整个影片相关联等。
在本实施例中,对象的属性可用来指定对象的值。在一实施例中,对于摄影机对象,属性可包括放映类型(例如透视的);视野;宽度;位置;方位;斜拍(pitch)、摇镜头、和开机;屏幕高宽比;调焦选项;剪辑;移位;电视屏幕高宽比、摇摄及扫描选项、来回移动镜头的数量、摄影升降机的数量等。
摄影机勾连的一个示例如下hook"main_cam"{desc=main_cam:Nemo production camera,aka camera01a;
kind=camera;
filename=stdobj/Camera01a.m;(摄影机模型的文件名)importance=1;
autoload=1;
active=1;
macro=do_Camera01a(name);
exportvecs=XF CanVec;
importvecs=;
hasSNSAvars=0;
mcat_name=main_cam;
param{(参数)projection="perspective";
defFov=45;
defWidth=1;
defCamX=0;
defCamy=0;
defCamz=0;
defAzimuth=0;
defPitch=0;
defPan=0;
defRoll=0;
defNear=20;
defFar=200000;
defAspect=1.85;
focusing="on";
cropping="off";
shifting="off";
panScan="off";
tvAspect=1.33;
NumTracks=2;
NumCranes=2;
CameraHeadExtraAvars=1;
doCamMod=0;
camModFunc=NULL;
camModFuncParams=Null;
name="main_cam";
}在另一个实施例中,对于光线对象,属性可包括光线质量、光线类型、光线形状、光线色彩等。并非所有摄影机对象或光线对象需要支持相同的属性。例如,“大气雾灯”可具有独特的雾属性。光线勾连的一个示例如下
hook"LP_Lspt_onPodium"{use"stdlight/glight01a/glight01a.hook";
kind=light;
class=_Clsss_Glight01a;
macro=glight01a(name);
filename=stdlight/glight01a/glight01a.m;(光线模型的文件名)exportvecs=ToPointXf FromPoingSf;
parent=set_lights;
depends_on=;
importvecs=RimObjMat CamMat IntMult ToPointAttachMatFromPointAttachmat;
cues=messhall_prlim_lights.cue;
param{ (参数)name="LP_Lspt_onPodium:;
lightQuality=L_FULL;
lightSource=L_SPOT;
defIllum=1′lightShape=L_Barn;
lcolor=(0.948905,1.0,0.889);
numGlobalBlockers=0;
numGlobalRods=0;
numGlobalFakes=0;
numGlobalSoftners=0;
numGlobalCookies=0;
numGlobalBarns=0;
shadowmaps=shaderargs("LP_Lkey_fromHole_sm");
}appl{ (应用数据)glighrType=glight01a;
lightName=LP_Lspt_onPodiumlightRed=0.948905;
lightBlue=0.889;
-lightGreen=1.0;
lightColor=;
shmapsUsed=LP_Lkey_fromHole_sm;
}}在本发明的各个实施例中,几何对象实际上可包括所支持的任何可以想像的属性。例如,一个几何参数可以是椅子对象的腿的数量;魔鬼对象的眼球的数量等。作为示例,勾连条目可如下hook“object1”param{number_of_heads=2}在本实施例中,对于要在场景中呈现的对象,可对这些对象进行多个呈现选项或质量的选择。作为一个示例,对象可具有“全”(full)或全部指定模型,对象可具有“定位替身”(stand-in)或少于全部指定的模型等等。在本发明的一个实施例中,场景中的全部对象可具有与每个质量选择相对应的模型。例如,对象A和对象B都可具有“全”模型和“定位替身”模型。在其它实施例中,并非一个场景中的所有对象都不具有相同的模型选择。例如,对象A可具有“全”模型和“定位替身”模型,而对象B可仅具有一个模型。在该示例中,该模型可以是“全”模型。在其它示例中,对象可具有仅特定于它本身的模型。例如,照明对象可具有“软”模型、“硬”模型等。在其它实施例中,可预期更多或更少的呈现选项(例如,呈现质量选项)。例如,参照以上示例,对象1的勾连文件可如下hook"object1" {full_model="object1_full.mdl";number_of_legs=4;
standin_model="object1_standin.mdl";number_of_legs=1;
....}从该示例中可见,对象1包括对两个不同模型描述符文件(例如*.mdl文件)的文件名引用。在本实施例中,每个模型描述符文件都是指定对象1如何在场景中呈现的行业标准.mdl文件。此外,.mdl文件通常存储预定义的与对象1相关联的几何组件、纹理、色彩等。在其它实施例中,模型描述符文件可包括对象1的在过程中产生的几何组件、过程中产生的纹理等。在另外的实施例中,可使用对象1的预定义的和过程中产生的各方面的组合。
作为一简单说明,诸如2001年动画片Monster,IncorporatedTM(怪物公司)中Mike WazowskiTM的对象可使用以上技术来为一场景指定。例如,全模型和定位替身模型可被包括在场景描述符文件中。出于最终呈现目的,可检索具有两条腿的Mike Wazowski的全模型,并用来呈现场景。然而,出于照明目的,可检索仅具有一条腿的Mike Wazowski的定位替身模型,并用来呈现场景。因为并非所有对象都需要在场景中呈现,所以并非所有对象都需要在存储器中进行检索。
参照图2A中的实施例,对于在场景描述符文件中指定的第一对象,确定是否应在存储器中检索并在场景中呈现(步骤230)。该确定通常响应于所选择的呈现选项作出。作为一个示例,呈现可为布景布置目的而查看场景中的背景对象如何显现。在该情形中,前景对象(例如角色)可不作呈现。
在本实施例中,如果对象被包括在场景的呈现中,则该对象还可使一个以上模型文件与之相关联(步骤240)。如以上示例中所示,模型可具有“全”模型和“定位替身”模型。如果有一个以上模型,则确定通常是响应于所选择的呈现选项将哪个模型用于呈现目的(步骤250)。在一些实施例中可确定“缺省”模型,除非被呈现选项所替换。在仅指定一个模型的实施例中,可自动地选择该模型。
在本实施例中,如果不需要该对象,则模型将不用于呈现目的(步骤260)。更具体地,模型将不被载入存储器。然后对场景描述符文件中的下一个对象(勾连)重复该过程(步骤270),通常直到已考虑了所有勾连。
在一实施例中,选择用于呈现的所有对象被载入存储器(步骤280)。例如,对于几何对象,检索.mdl文件;对于摄影机对象,检索.m文件。在其它实施例中,当确定呈现中需要对象时,这些对象可一次载入一个。
然后,在勾连文件中指定的、并与所载入对象中的每一个相关联的属性(例如参数、常数、特性、和应用数据)应用于各个对象(步骤290)。在其它实施例中,对象使用所指定的属性来调用,并在步骤280返回一例示对象。
在本实施例中,场景使用已载入对象和在勾连文件中指定的属性来呈现(步骤300)。应理解,该步骤中的呈现可以是或可以不是正式的高质量呈现过程。场景的结果画面可存储在计算机存储器、胶片介质等中(步骤310),然后随后进行检索和显示(步骤320)。
图3A-B示出本发明的一不同实施例。更具体地,图3A-B示出用于指定对象、和/或用于向对象提供属性的多个勾连文件的使用。
在该实施例中,多个勾连文件可存在于影片中的每个画面。因而,与仅使用一个勾连文件相反,多个勾连文件的组合可提供对象和用于这些对象的属性。例如,在各个实施例中,一勾连文件可存在于整个影片,一勾连文件可存在于影片中的“一系列”镜头中,一勾连文件可存在于特定“镜头”中(一组相关场景),以及一勾连文件可存在于特定场景。因此,如果有与该场景相关联的另一个勾连文件(步骤400),则可重复图2A中所述的过程。
然后,在一实施例中,从第一勾连文件中选择的用于呈现的对象被载入存储器(步骤410),然后从第二勾连文件中选择的用于呈现的对象被载入存储器(步骤420)。
在该实施例中,在第一勾连文件和第二勾连文件中指定的、并与每个已载入对象相关联的属性(例如参数、常数、特性和应用数据)被应用于各个对象(步骤430)。
在本实施例中,在第二勾连文件中指定的对象属性与第一勾连文件中的对象属性不同。在该情形中,第一勾连文件中的对象属性奏效。因此,只有未由第一勾连文件指定的存储在第二勾连文件中的对象属性才用于呈现目的(步骤440)。其示例在以下示例中可见WHOLE FILM(整个影片)勾连文件包括hook“mike”{full_model=”mike_full.mdl”;
param{number_of_legs=2;}}SEQUENCE 3(序列3)勾连文件包括hook“mike”param{number_of_legs=4;}SHOT(镜头)勾连文件包括hook“mike”param{skin_color=(0.3,1,0.4);}}首先根据以上实施例处理镜头勾连文件,并确定要呈现对象“Mike”。可见,皮肤色彩参数在镜头勾连文件中指定,因此使用该参数。在以上过程的下一重复期间,对于第二勾连文件,处理序列勾连文件。从该序列勾连文件,为“Mike”指定腿数量的附加参数为4。最后,在以上过程的下一重复期间,处理整个影片勾连文件。从整个影片勾连文件,对象模型被标识为mike_full.mdl。此外,腿的数量被指定为2。然而,根据本实施例,序列勾连文件的属性“战胜”或替换整个影片的规格。因此,在已“解析”呈现“Mike”的所有参数之后,检索模型文件mike_full.mdl,其中number_of_legs参数=4,且skin_color=(0.3,1,0.4)。
在本实施例中,解析后的对象被呈现在画面中(步骤450);该画面被存储(步骤460);并且该画面被显示(步骤470)。
上述各个概念已成功用于Pixar的正片长度电影,包括Finding NemoTM(海底总动员)、Monsters Inc.TM(怪物公司)、Toy Story2TM(玩具总动员2)、和A BugsLifeTM(虫虫特工队),并对其生效。
上述各种技术已使用了在“硬编码”计算机位置上发现的对象表示,这些位置为诸如特定计算机盘目录、特定网络目录、使用特定文件名等。然而,本发明的发明人已经认识到该类对象文件的“硬编码”有许多缺点。这些缺点包括它需要用户理解对象的计算机目录结构。此外,它需要用户知道如何分类对象的不同表示,并将其存储在目录结构中。其它缺点包括当目录结构改变时,创建场景描述符文件的动画制作人员必须常常更改场景描述符文件,以顺应这些变化。还有其它缺点包括随着时间的流逝,并随着计算机系统的变迁等等,对象目录结构会遭损坏,而对象会丢失。结果,在开始时呈现场景的若干年后,当用户尝试重现该场景时,将不能找到所有对象。为了解决这些缺点,本发明人已开发了其它实施例。
图4示出本发明的另一实施例。更具体地,图4示出包括数据库的一个实施例。图4包括计算机系统500、数据库管理系统(dlms)510、和数据库520。在本实施例中,计算机系统500是典型的呈现系统,如图1所述。此外,数据库管理系统510和数据库520可以是常规的可从Oracle、Sybase等购买的数据库系统。
在本实施例中,dbms 510可包括常规的数据库访问机制,诸如SQL查询工具等。在各个实施例中,dbms 510可包括向数据库520提供组织访问的其它前端软件。在一个示例中,附加前端软件可包括“资产管理”软件,即使用户能更简便地通过一结构化接口存储然后检索软件资产的软件。在本发明的各个实施例中,适合使用任何常规的软件资产管理系统。
在操作中,计算机系统500可与以上相似地检索场景描述符文件。在该实施例中,场景描述符文件可简单地指定对象名称(资产名称)、特定搜索词、数据库查询等。例如,与如上所示在目录内指定文件名相反,场景描述符文件可指定对dbms 510的一系列关键搜索词。作为响应,在该示例中,dbms 510可使用关键搜索词来查询数据库520,并返回可发现期望对象表示的目录位置。在实现资产管理系统的另一个示例中,场景描述符文件也可提供与期望对象相关联的关键搜索词。作为响应,资产管理系统可访问数据库520,并返回期望的对象表示。
这些示例表明,这些实施例应当大大减少当对象表示改变或更新时、当新对象添加到场景中时等管理场景描述符文件所需的工作量。因此,本发明人相信这些实施例的优点大大提高了本发明各实施例的价值。
图5示出了本发明的另一实施例。在图5中,600示出一场景描述符文件,它使用以上最初描述的方法引用第一“雪人”对象610和第二“雪人”对象620。如图所示,在呈现这些对象时访问第一雪人对象.mdl文件和第二雪人对象.mdl文件。
也如图5中所示,630示出本发明的另一个实施例。630示出对象“块”(nugget)的概念。在该实施例中,对象模型被分解成更多个图元对象模型(块)。例如,第一雪人对象640和第二雪人对象650包括对“球”对象660的反复引用。可见,第一雪人对象640使用不同参数引用球对象660三次,而第二雪人对象650也使用不同参数引用球对象660三次。
在本发明的各个实施例中,预期可执行一个以上级别的对象分解。例如,对象可被分解成第一组对象,而这些几何对象可被分解成第二组对象等。可预期,该分解可应用于光线对象、摄影机对象、几何对象等。如图所示,块的使用可大大减少所存储的和用来指定场景中的对象表示的冗余数据量。
在本发明的各个实施例中,块概念还大大增加了改变在对象中传播的简便性和能力。例如,如图5所示,如果球对象660被变成立方体对象670,则在场景中检索时,雪人对象680和雪人对象690现在由立方体而非球组成。因而,如图所示,对几何图元的一次改变,可在整个场景中简便地传播。
这些实施例的另一个优点是在过程中执行相关性分析,且块被按需载入存储器。例如,在图5的示例中,当动画制作人员希望将第二个雪人对象650包括到场景中时,因为第二个雪人对象650取决于球对象660,所以球对象660自动地载入存储器。
许多改变或更改是容易想象的。根据以上公开内容,本领域普通技术人员将理解,对象块的概念可与原始实施例组合,且各实施例可使用数据库。也可预期各在本发明的各个实施例中,预期可使用场景描述符文件来呈现场景的至少两个表示。即,可预期场景描述符文件将具有至少一个全部呈现选项、以及呈现少于全部对象、或呈现另一个选择性表示中的至少一个对象的呈现选项。在一实施例中,单个场景描述符文本文件可用于所需不同呈现选项。在各个实施例中,可提供任何数量的定义呈现选项的方法,例如,动画制作人员可通过命令行切换选项(例如-最终、-照明、-布景布置)、通过图形用户界面中的一个或多个复选框等来指定一个选项。此外,可想象用于呈现场景的任何数量的不同目的(即呈现选项),例如硬照明、软照明、场景的不同摄影机角度、不同的纹理等。
应理解“呈现”可指使用诸如RenderMan的程序从场景的数学描述中转换画面的高质量过程。此外,“呈现”可指场景的数学描述的任何图形可视化、或几何图形到像素的任何转换,例如用较低质量的呈现引擎进行“呈现”等。低质量的呈现引擎的示例包括GL和GPU硬件和软件呈现器等。
术语“动画制作人员”可指及时使对象“动画”的动画制作人员。此外,术语“动画制作人员”也可指为任何任务指定用于查看的场景的任何用户。作为示例,动画制作人员可能想要为场景布置目的查看场景的不同表示(场景设计人员);查看角色动画、面部动画、身体动画(动画制作人员);查看照明(灯光师)等。
此外,在以上的一些示例中,说明了可选择对象的选择性表示并将其载入存储器。然而,应当理解,在本发明的各个实施例中,可预期对象的单一表示,且可以载入或不载入对象的单一表示。例如,角色对象的一个表示可以在勾连文件中指定,动画制作人员可能想要只查看“场景设计”。因此,动画制作人员可对使角色对象包括在呈现中不感兴趣,从而角色对象不被载入到存储器中。
本发明的一些实施例还允许动画制作人员对“未载入”对象工作。更具体地,在一些实施例中,勾连文件可指定动画制作人员可依赖的对象参数,而对象并不载入存储器。例如,勾连文件可指定对象的限定框,从而动画制作人员可将多个对象置于未载入对象的周围,而实际上并未载入该对象。在其它示例中,可提供其它信息,诸如限定框的位置、限定框的方位、对象的色彩等。相信这些实施例通过使尽可能多的对象不载入、同时提供有关未载入对象的信息,有利于加快呈现过程。
本领域普通技术人员在阅读本说明书后可预见其它实施例。在其它实施例中,可有利地进行以上所揭示发明的组合或子组合。为便于理解,体系结构和流程图的框图作了分组。然而,应理解可在本发明的选择性实施例中预期框的组合、新框的添加、框的重新排列等。
因此,本说明书和附图被视为说明性的而非限制性的。然而,可作各种修改和改变而不背离本发明在权利要求书中所述的更广泛精神和范围是显而易见的。
权利要求
1.一种用于呈现动画帧的方法,包括检索与该动画帧相关联的场景描述符数据,其中所述场景描述符数据指定至少一个对象,其中该对象与对象的第一表示的引用相关联,其中对象的第一表示与第一呈现选项相关联;接收第一呈现选项或第二呈现选项的选择;当选择第一呈现选项时将对象的第一表示载入计算机存储器;以及在选择第一呈现选项时使用对象的第一表示来呈现动画帧的对象;其中该对象的第一表示在选择第二呈现选项时并不载入计算机存储器。
2.如权利要求1所述的方法,其特征在于所述对象关联于所述对象的第一表示的引用、以及所述对象的第二表示的引用;所述对象的第二表示关联于第二呈现选项;以及所述对象的第二表示在选择是第一呈现选项时并不载入计算机存储器。
3.如权利要求1-2的任一个所述的方法,其特征在于存储在第一对象数据文件中的数据包括第一属性;以及所述场景描述符数据包括用于所述第一属性的数据。
4.如权利要求1-3的任一个所述的方法,其特征在于所述一个对象包括场景中的一几何对象;以及存储在所述第一对象数据文件中的数据包括几何对象的几何描述。
5.如权利要求1-4的任一个所述的方法,其特征在于所述一个对象包括场景中的一摄影机对象;以及存储在所述第一对象数据文件中的数据包括从以下组中选择的数据摄影机视野、摄影机位置、摄影机方位、屏幕纵横比。
6.如权利要求1-5的任一个所述的方法,其特征在于所述一个对象包括场景中的一照明对象;以及存储在所述第一对象数据文件中的数据包括从以下组中选择的数据光源类型、光线色彩、光源、光线质量、光线形状。
7.如权利要求2-6的任一个所述的方法还包括当选择是第二呈现选项时,将对象的第二表示载入计算机存储器;以及当选择是第二呈现选项时,使用对象的第二表示来呈现用于动画帧的对象。
8.如权利要求1-7的任一个所述的方法,其特征在于场景描述符数据还包括与对象相关联的第一组属性;所述方法还包括检索关联于包括所述动画帧的一个以上动画帧的附加场景描述符数据,其中所述附加场景描述符数据还包括与所述对象相关联的第二组属性;以及呈现用于动画帧的对象包括当选择是第一呈现选项时,响应于所述对象的第一表示、第一组属性、以及第二组属性呈现用于动画帧的对象。
9.如权利要求8所述的方法,其特征在于与所述对象相关联的第一组属性指定与所述对象相关联的第一属性的第一个值;与所述对象相关联的第二组属性指定与所述对象相关联的第一属性的第二个值;以及所述对象使用与所述对象相关联的第一属性的第一个值呈现在所述动画帧内。
10.一种计算机系统,包括盘存储器,被配置成存储与动画帧、对象的第一表示、以及对象的第二表示相关联的场景描述符数据,其中所述场景描述符数据指定一个对象,其中所述场景描述符数据包括对所述对象的第一表示的引用、对所述对象的第二表示的引用、所述对象的属性值;程序存储器;以及处理器,被配置成在程序存储器中检索与动画帧相关联的场景描述符数据,其中所述处理器还被配置成接收第一呈现选项或第二呈现选项的选择,其中所述处理器还被配置成在选择是第一呈现选项时将所述对象的第一表示载入程序存储器,且其中所述处理器被配置成当选择是第一呈现选项时,响应于所述对象的第一表示呈现用于动画帧的对象;其中所述对象的第二表示在选择是第一呈现选项时并不载入程序存储器。
11.如权利要求10所述的计算机系统,其特征在于所述处理器也被配置成当选择是第二呈现选项时,将所述对象的第二表示载入计算机存储器;所述处理器也被配置成当选择是第二呈现选项时,使用所述对象的第二表示来呈现用于动画帧的对象;以及所述对象的第一表示在选择是第二呈现选项时并不载入程序存储器。
12.如权利要求10-11的任一个的计算机系统,其特征在于所述对象包括一几何对象;以及存储在所述对象的第一表示中的数据包括所述对象的三维模型。
13.如权利要求10-12的任一个所述的计算机系统,其特征在于所述对象包括一摄影机对象;以及所述摄影机对象的第一表示包括从以下组中选择的属性摄影机视野、摄影机位置、摄影机方位、屏幕纵横比。
14.如权利要求10-13的任一个所述的计算机系统,其特征在于所述对象包括一光线对象;以及所述光线对象的第一表示包括从以下组中选择的属性光源类型、光线色彩、光源、光线质量、光线形状。
15.如权利要求10-14的任一个所述的计算机系统,其特征在于所述场景描述符数据也包括与所述对象相关联的第一组属性的值;以及所述处理器被配置成当选择是第一呈现选项时,响应于所述对象的第一表示和第一组属性的值,呈现用于动画帧的对象;
16.如权利要求15所述的计算机系统,其特征在于所述盘存储器还被配置成存储与所述动画帧相关联的附加场景描述符数据,其中所述附加场景描述符数据指定与所述对象相关联的第二组属性;所述处理器还被配置成在程序存储器中检索与动画帧相关联的附加场景描述符数据,且其中所述处理器被配置成当选择是第一呈现选项时,响应于所述对象的第一表示、第一组属性的值、第二组属性的值呈现用于动画帧的对象。
17.如权利要求15-16的任一个所述的计算机系统,其特征在于属性具有用第一组属性的值指定的第一个值,以及用第二组属性的值指定的第二个值;以及所述处理器被配置成响应于所述属性的第一个值呈现用于动画帧的对象。
18.一种包括处理器的计算机系统的计算机程序产品,包括引导处理器在程序存储器中检索与该动画帧相关联的场景描述符数据的代码,其中所述场景描述符数据指定至少一个对象,其中该对象与对象的第一表示相关联,其中所述对象的第一表示与第一呈现选项相关联;引导所述处理器确定第一呈现选项或第二呈现选项的选择的代码;当选择第一呈现选项时,引导所述处理器将对象的第一表示载入程序存储器的代码;以及在选择第一呈现选项时,引导所述处理器响应于对象的第一表示来呈现用于动画帧的对象的代码;其中该对象的第一表示在选择第二呈现选项时并不载入程序存储器;以及其中所述代码驻留在有形介质中。
19.如权利要求18所述的计算机程序产品,其特征在于所述对象关联于所述对象的第一表示、以及所述对象的第二表示;所述对象的第二表示关联于第二呈现选项;以及所述对象的第二表示在选择是第一呈现选项时并不载入程序存储器。
20.如权利要求18-19的任一项所述的计算机程序产品还包括,当选择是第二呈现选项时,引导所述处理器将对象的第二表示载入计算机存储器的代码;以及在选择第二呈现选项时,引导所述处理器响应于对象的第二表示来呈现用于动画帧的对象的代码;其中所述对象的第一表示在选择为第二呈现选项时并不载入程序存储器。
21.如权利要求18-20的任一项所述的计算机程序产品,其特征在于所述对象包括一几何对象;以及所述对象的第一表示包括所述对象的三维模型。
22.如权利要求18-21的任一项所述的计算机程序产品,其特征在于所述对象包括一摄影机对象;以及所述摄影机对象的第一表示包括从以下组中选择的属性摄影机视野、摄影机位置、摄影机方位、屏幕纵横比。
23.如权利要求18-22的任一项所述的计算机程序产品,其特征在于所述对象包括一光线对象;以及所述光线对象的第一表示包括从以下组中选择的属性光源类型、光线色彩、光源、光线质量、光线形状。
全文摘要
一种用于呈现动画帧的方法,包括检索与该动画帧相关联的场景描述符数据(220),其中场景描述符数据指定至少一个对象,其中该对象关联于对象的第一表示的引用(230),其中对象的第一表示与第一呈现选项相关联(210);接收第一呈现选项或第二呈现选项的选择(240);当选择第一呈现选项时将对象的第一表示载入计算机存储器(250);以及在选择第一呈现选项时使用对象的第一表示来呈现用于动画帧的对象,其中该对象的第一表示在选择第二呈现选项时并不载入计算机存储器(260)。
文档编号G06T13/00GK1864179SQ200480028869
公开日2006年11月15日 申请日期2004年4月30日 优先权日2004年3月26日
发明者D·皮查 申请人:皮克萨公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1