经改进绘制投影的方法和装置转让专利

申请号 : CN200480022225.1

文献号 : CN1833271B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : T·哈恩R·赛瑞

申请人 : 皮克萨公司

摘要 :

一种计算机系统的方法,包括:使3D模型(500)以第一配置摆姿势,确定第一配置中3D模型(500)的第一2D(510)视图,使3D模型(550)以第二配置摆姿势,确定第二配置中3D模型的第二2D(570)视图,使第一2D图像关联于模型的第一2D视图,使第二2D图像(570)关联于模型的第二2D视图,响应于3D模型的第一2D图像和第一配置使第一表面参数集关联于第一2D视图中可见的3D模型表面,并响应于3D模型的第二2D图像和第二配置使第二表面参数集关联于第二2D视图中可见的3D模型表面。

权利要求 :

1.一种计算机系统的方法,包括:

使三维对象模型的至少一部分以第一配置摆姿势;

确定第一配置中所述三维对象模型的至少一部分的第一二维视图;

使三维对象模型的一部分以第二配置摆姿势;

确定第二配置中三维对象模型一部分的第二二维视图;

使第一二维图像关联于对象模型的至少一部分的第一二维视图;

使第二二维图像关联于对象模型的一部分的第二二维视图;

响应于第一二维图像并响应于三维对象模型的至少一部分的第一配置,使第一表面参数集关联于第一二维视图中可见的三维对象模型至少一部分的表面;以及响应于第二二维图像并响应于三维对象模型的一部分的第二配置,使第二表面参数集关联于第二二维视图中可见的三维对象模型一部分的表面。

2.如权利要求1所述的方法,其特征在于,所述三维对象模型一部分的第一二维视图从以下组中选择:前视图、侧视图、俯视图、仰视图。

3.如权利要求1-2的任一条所述的方法,其特征在于,所述三维对象模型的一部分包括第一对象和第二对象;

所述三维对象模型的至少一部分的第一配置包括具有第一位置和方向关系的第一对象和第二对象;

所述三维对象模型的一部分的第二配置包括具有第二位置和方向关系的第一对象和第二对象;以及所述第一位置和方向关系和第二位置和方向关系不相同。

4.如权利要求3所述的方法,其特征在于,所述第一位置和方向关系和第二位置和方向关系从以下状态中选择:第一对象和第二对象相距特定距离,

第一对象和第二对象彼此有特定角度。

5.如权利要求1-2的任一所述的方法,还包括:在显示器上显示对象模型的至少一部分的第一二维视图;以及通过在显示器上的对象模型的至少一部分的第一二维视图上绘制,来创建第一二维图像。

6.如权利要求1-2的任一条所述的方法,其特征在于,第一表面参数集从以下组合中选择:表面色彩、表面外观、移位映射、纹理映射。

7.如权利要求1-2的任一条所述的方法,还包括:响应于形成呈现对象的第一表面参数集和第二表面参数集,来呈现三维对象模型的一部分;以及将所呈现对象的表示存储在存储媒体中。

8.一种用于三维图像控制的设备,包括:

用于接收三维对象的至少一部分的第一配置的装置;

用于确定第一二维图像的装置,其中所述第一二维图像展现第一配置中三维对象的至少一部分的表面;

用于接收三维对象的至少一部分的第二配置的装置;

用于确定第二二维图像的装置,其中所述第二二维图像展现第二配置中三维对象的至少一部分的表面;

用于接收第一二维绘制图像的装置,其中所述第一二维绘制图像关联于第一二维图像;

用于接收第二二维绘制图像的装置,其中所述第二二维绘制图像关联于第二二维图像;

用于响应于第一二维绘制图像确定第一组参数的装置,其中所述第一组参数关联于第一配置中三维对象的至少一部分的表面;以及用于响应于第二二维绘制图像确定第二组参数的装置,其中所述第二组参数关联于第二配置中三维对象的至少一部分的表面。

9.如权利要求8所述的设备,其特征在于,所述第一二维图像包括第一配置中三维对象的至少一部分的从以下组合中选择的视图的图像:前视图、侧视图、俯视图、仰视图、斜视图。

10.如权利要求8-9的任一条所述的设备,还包括:用于组合第一组参数的至少一部分和第二组参数的至少一部分的装置。

11.如权利要求8-9的任一条所述的设备,其特征在于,用于确定第三二维图像的装置,其中所述第三二维图像展现第一配置中三维对象的至少一部分的其它表面;

用于接收第三二维绘制图像的装置,其中所述第三二维绘制图像关联于第三二维图像;以及用于响应于第三二维绘制图像确定第三组参数的装置,其中第三组参数关联于第一配置中三维对象的至少一部分的其它表面;

其中第一配置中三维对象的至少一部分的表面和第一配置中三维对象的至少一部分的其它表面重叠。

12.如权利要求8-9的任一条所述的设备,其特征在于,所述三维对象模型的一部分包括第一对象和第二对象;

所述第一配置包括具有第一对象和方向为第一角度的第二对象;

所述第二配置包括具有第一对象和方向为第二角度的第二对象;以及所述第一角度和第二角度不相同。

13.如权利要求8-9的任一条所述的设备,其特征在于,第一参数集和第二参数集无替换地从以下组合中选择:表面色彩、表面外观、移位映射、纹理映射。

14.如权利要求8-9的任一条所述的设备,还包括:用于确定第四二维图像的装置,其中所述第四二维图像展现第二配置中三维对象的至少一部分的其它表面;

用于接收第四二维绘制图像的装置,其中所述第四二维绘制图像关联于第四二维图像;以及用于响应于第四二维绘制图像确定第四组参数的装置,其中第四组参数关联于第四配置中三维对象的至少一部分的其它表面;以及用于组合第一组参数和第四组参数的装置。

15.一种计算机系统,包括:

显示器;

存储器,被配置成存储三维对象的模型,其中所述存储器被配置成存储所述三维对象的第一姿势和第二姿势,其中所述存储器还被配置成存储第一二维图像和第二二维图像,且其中所述存储器被配置成存储关联于所述三维对象的表面的表面滤光参数;以及与所述存储器和所述显示器耦合的处理器,其中所述处理器被配置成向显示器输出第一姿势中三维对象的第一视图,其中所述处理器被配置成向显示器输出第二姿势中三维对象的第二视图,其中所述处理器被配置成接收第一二维图像并接收第二二维图像,其中所述处理器被配置成响应于三维对象的第一视图并响应于第一二维图像来确定关联于三维对象的第一组表面的第一表面参数集,且其中所述处理器被配置成响应于三维对象的第二视图并响应于第二二维图像来确定关联于三维对象的第二组表面的第二表面参数集。

16.如权利要求15所述的计算机系统,其特征在于,所述三维对象的第一视图从以下组合中选择:前视图、侧视图、俯视图、仰视图、斜视图。

17.如权利要求15-16的任一条所述的计算机系统,其特征在于,所述三维对象模型包括第一对象和第二对象;

所述第一姿势包括相对于第二对象位于第一位置和方向的第一对象;

所述第二姿势包括相对于第二对象位于第二位置和方向的第一对象;以及其中所述第一位置和方向和第二位置和方向从以下状态中选择:第一对象和第二对象相距特定距离,

第一对象和第二对象彼此有特定角度。

18.如权利要求15-16的任一条所述的计算机系统,其特征在于,三维对象的第一组表面和三维对象的第二组表面为不同表面。

19.如权利要求15-16的任一条所述的计算机系统,其特征在于,第一表面参数集从以下组合中选择:表面色彩、表面外观、移位映射、纹理映射。

20.如权利要求15-16的任一条所述的计算机系统,其特征在于,所述处理器还被配置成响应于第一表面参数集和第二表面参数集来滤光三维对象,以形成三维对象的经滤光表示;以及所述存储器还被配置成存储所述三维对象的滤光表示。

21.如权利要求15-16的任一条所述的计算机系统,其特征在于,第一姿势中三维对象的第一视图包括前视图;以及第二姿势中三维对象的第二视图也包括前视图。

说明书 :

经改进绘制投影的方法和装置

技术领域

[0001] 本发明涉及计算机动画,尤其涉及用于指定动画对象的表面属性的增强方法和装置。

背景技术

[0002] 在这些年中,电影制作商常常尝试讲述涉及虚构生物、遥远地点和幻想事物的故事。为此,他们常常依靠动画技术来“叫醒”虚构生物。动画中的两个主要路径通常包括基于绘画的动画技术和定格(stop motion)动画技术。
[0003] 基于绘画的动画技术在二十世纪由诸如迪斯尼的电影制作商改进,并用于诸如“白雪公主和七个小矮人”(Snow White and the Seven Dwarves)和“幻想曲”(Fantasia)(1940)的电影。这种动画技术通常需要艺术家将动画图像手绘或绘制到透明介质或单元上。在绘制之后,每个单元可被捕捉或记录到胶片上,作为电影中的一个或多个帧。
[0004] 基于定格的动画技术通常需要构建的微缩布景、道具和角色。电影制作商需要构建布景、添加道具、并使微缩角色摆好姿势。在动画制作人员对所安排的全部满意之后,电影的一个或多个帧将取该特定排列。定格动画技术由诸如电影“金刚”(King Kong)(1932)的Willis O’Brien的电影制作商开发。随后,这些技术由包括“The Mighty Joe Young”(1948)和“Clash of The Titans”(1981)的电影的诸如Ray Harryhausen的动画制作人员改进。
[0005] 随着计算机在二十世纪后半叶的广泛的可用性,动画制作人员开始依靠计算机来帮助进行动画处理。这包括使用计算机例如通过绘制图像、通过产生中间图像(tweening)等来便于基于绘画的动画。这还包括使用计算机来增加定格动画技术。例如,物理模型可由计算机存储器中的虚拟模型来表示并处理。
[0006] 计算机辅助动画(CAA)行业中的先驱公司之一是Pixar,dba Pixar动画工作室。经过数年,Pixar开发并提供了为CAA特别设计的计算平台、以及称为 的奥斯卡(Academy- )奖项提名软件。
[0007] 经过数年,Pixar也已开发了内部使用的软件产品和软件环境,使用户(建模者)能简便定义对象装束(rig)并使用户(动画制作人员)能简便动画对象装束。基于这种现实世界体验,本发明的发明人已经确定,可向这些产品和环境提供附加特征以便于对象定义和动画处理。一种这样的特征包括用来便于定义对象的表面属性的方法和装置。
[0008] 本发明的发明人已确定,需要用于指定对象的表面参数的改进方法。

发明内容

[0009] 本发明涉及计算机动画,尤其涉及使用户能指定不同姿势的对象或对象各部分的表面参数的方法和装置。
[0010] 本发明的各个实施例用来帮助管理创建三维“绘画”的过程。各个实施例控制多个姿势的定义、管理视图的呈现、提供用于向表面材料传送纹理信息的机制、提供纹理和其它数据文件的分类和源控制等。
[0011] 使用本发明的各个实施例,用户能使用任何常规二维绘制程序来有效地“直接”在三维对象上有效地绘制。使用各个实施例,用户在对象的不同视图上绘制众多二维绘画(例如重叠图像)。典型的视图是方位为“前”、“后”等的照相机。使用本发明的各个实施例,如果模型难以在单个参考姿势中完全绘制,则用户可用多种配置来使对象模型重摆姿势。此外,用户可绘制重摆姿势对象的视图的众多重叠图像。
[0012] 本发明各实施例的典型工作流包括:将对象模型载入系统并用不同配置使对象模型摆姿势。例如要绘制一张桌子,用户可具有定义桌子的一个姿势,以及通过将桌子腿从桌子底部平移来“分解”模型的另一个姿势。然后,工作流可包括创建或定义以不同姿势在模型上绘制的一个或多个视图。
[0013] 在各个实施例中,对不同姿势和所定义视图中的对象执行呈现扫描(renderingpass)。呈现扫描的结果通常是所呈现对象的位图图像、视图和所呈现表面的相关联深度映射。工作流还可包括用户将所呈现位图载入二维绘制程序,并一遍或多遍地绘制呈现色彩、位移等。
[0014] 然后,系统在呈现时间计算每个对象在每个姿势中向每个视图作平面投影(反向映射)的结果,并存储每个可见表面点的所得到的2D坐标。表面滤光器(shader)将使用这些存储2D坐标来在每一遍中估算诸如2D纹理映射的表面参数。然后由扫描计算返回的值用来产生滤光器中的不同效果,如着色,或移位受绘制影响的表面。在其它实施例中,使用诸如透视投影的非平面投影。
[0015] 在各实施例中,深度映射在平面投影阶段过程中估算,以确保只有与投影视图相关的最远表面才接收到绘制。此外,在投影过程中考虑曲面法线,以便避免将绘制投影到垂直于或背离投影视图的表面上。
[0016] 在本发明的各个实施例中,在解析了对象模型的每个视图和每个姿势的全部投影扫描后,表面滤光器完成其计算。所得到的呈现的对象模型通常以不同于上述姿势的不同姿势摆出造型。
[0017] 在各个实施例中,所呈现的对象模型通常在布景环境中呈现,且所呈现的布景被存储在存储器中。所呈现布景通常在后来从存储器中检索并显示给用户。在各个实施例中,存储器可以是硬盘驱动器、RAM、DVD-ROM、CD-ROM、胶片媒体、打印媒体等。
[0018] 根据以上内容,本发明的各个实施例使用户能使组装三维对象模型以多种配置摆出姿势,用于从多个视图中接收投影绘制。这些实施例增加了将诸如多纹理映射、色彩等的表面参数应用到复杂可变形三维对象模型的效率和效果。
[0019] 本发明各个实施例的优点包括使得用户能从对象的多个视点和多个姿势配置绘制任何三维对象模型的能力。多个姿势配置的概念使用户能在除非模型变形或分解成小块才能直接访问的区域中绘制。
[0020] 本发明的各个实施例引入用于组织多个视图/姿势、以及用于将所得到的纹理映射反向应用于对象的独特技术。更具体地,各实施例使用表面取向(法线)和从投影视图中呈现的深度映射来有选择地控制哪些表面接收绘制。
[0021] 根据本发明一方面,描述了一种用于计算机系统的方法。一种方法包括以第一配置使三维对象模型的至少一部分摆姿势,确定第一配置中三维对象模型的至少一部分的第一二维视图,以第二配置使三维对象模型的至少一部分摆姿势,确定第二配置中三维对象模型的至少一部分的第二二维视图。各种技术还包括使第一二维图像与对象模型的至少一部分的第一二维视图相关联,以及使第二二维图像与对象模型一部分的第二二维视图相关联。该过程还可包括响应于第一二维图像、响应于三维对象模型的至少一部分的第一配置,使第一表面参数集与在第一二维视图中可见的三维对象模型的至少一部分的一个表面相关联,以及响应于第二二维图像、响应于三维对象模型的至少一部分的第二配置,使第二表面参数集与在第二二维视图中可见的三维对象模型的至少一部分的一个表面相关联。
[0022] 根据本发明的另一方面,描述了用于包括处理器的计算机系统的计算机程序产品。该计算机程序产品包括:引导处理器接收三维对象的至少一部分的第一配置的代码;引导处理器确定第一二维图像的代码,其中该第一二维图像展现第一配置中三维对象的至少一部分的一个表面;引导处理器接收三维对象的至少一部分的第二配置的代码;引导处理器确定第二二维图像的代码,其中该第二二维图像展现第二配置中三维对象的至少一部分的一个表面。另外的计算机代码可包括:引导处理器接收第一二维绘制图像的代码,其中第一二维绘制图像与第一二维图像相关联;引导处理器接收第二二维绘制图像的代码,其中第二二维绘制图像与第二二维图像相关联。该代码还可包括:引导处理器响应于第一二维绘制图像确定第一组参数的代码,其中第一组参数与第一配置中三维对象的至少一部分的一个表面相关联;以及引导处理器响应于第二二维绘制图像确定第二组参数的代码,其中第二组参数与第二配置中三维对象的至少一部分的一个表面相关联。各代码可包括有形媒体上的机器可读或人可读的代码。典型的媒体包括磁盘、光盘等。
[0023] 根据本发明的又一方面,描述了一种计算机系统。该计算机系统通常包括显示器、存储器和处理器。在一计算机系统中,存储器被配置成存储三维对象的模型、该三维对象的第一姿势和第二姿势、第一二维图像和第二二维图像、以及关联于该三维对象的一个表面的表面滤光参数。在该计算机系统中,处理器通常被配置成向显示器输出第一姿势中的三维对象的第一视图,被配置成向显示器输出第二姿势中的三维对象的第二视图、以及被配置成接收第一二维图像和接收第二二维图像。该处理器还可被配置成响应于三维图像的第一视图、响应于第一二维图像,确定与三维对象的各个表面相关联的第一表面参数集,并被配置成响应于三维图像的第二视图、响应于第二二维图像,确定与三维对象的各个其它表面相关联的第二表面参数集。

附图说明

[0024] 为了更全面地理解本发明,对附图予以说明。理解了这些附图并不被视为是本发明范围的限制,将通过使用附图用更详细方式描述目前所描述的各个实施例和本发明的目前所认为的最佳模式,在附图中:
[0025] 图1示出根据本发明一实施例的系统的框图;
[0026] 图2示出本发明一实施例的框图;
[0027] 图3A-B示出根据本发明一实施例的流程;
[0028] 图4示出一实施例的示例;
[0029] 图5A-C示出本发明一实施例的一个示例;
[0030] 图6A-D示出本发明一实施例的另一示例;
[0031] 图7A-C示出本发明一实施例的又一示例。

具体实施方式

[0032] 在以下专利公开内容中,使用以下术语:
[0033] Gprim(几何元):通过组织在任意数量表面(多边形)等中的三维点集合,由参数化函数(Bspline)定义的单个三维表面。
[0034] 模型(对象模型):组织在任意数量表面(多边形网格和再分表面)、隐含表面等中的Gprim集合。该系统不需要2D表面参数化来执行其操作。
[0035] 视图:可从特定视点产生模型图像的正交或透视照相机。
[0036] 姿势:模型根据其分层结构中的特定刚性变形及其Gprim的特定配置的状态。姿势还描述一个或多个视图。
[0037] 姿势通常包括模型和全部视图照相机的位置和方向。在本发明的各个实施例中,姿势指定一个以上对象在对象模型中的特定配置或方向。例如,姿势可指定两个对象相距特定距离、或者两个对象彼此有特定角度等。对象的不同姿势的示例将在下面说明。
[0038] 在角色到位的任何时候,其位置通常被保存为命名姿势,从而它可在后来被系统和用户引用。用户在重新定位模型并建立新的照相机视图之后保存新的姿势。在特定视图中创建的绘图(重叠图像)与该照相机的位置和方向有着密切的联系。
[0039] 扫描:绘制的类型,例如“色彩”和“位移”、以及该扫描中要使用的色彩通道的数量。该名字提供用它来引用滤光器内一系列绘图的句柄。通常这些名字是任意的。
[0040] 图1是根据本发明一实施例的典型计算机系统100的框图。
[0041] 在本实施例中,计算机系统100通常包括监视器110、计算机120、键盘130、用户输入设备140、网络接口150等。
[0042] 在本实施例中,用户输入设备140通常包括计算机鼠标、跟踪球、跟踪板、无线遥控器、绘图书写板、集成式显示器和书写板(例如Wacom的Cintiq)、语音命令系统、眼睛跟踪系统等。用户输入鼠标140通常使用户能选择显现在监视器110上的对象、图标、文本等。
[0043] 网络接口150的各个实施例通常包括以太卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字用户线路(DSL)单元等。网络接口150通常与所示计算机网络耦合。在其它实施例中,网络接口150可物理地集成到计算机120的母板上,可以是诸如软DSL的软件程序等。
[0044] 计算机120通常包括熟悉的计算机组件,诸如处理器160、诸如随机存取存储器(RAM)170的存储器存储设备、盘驱动器180和使以上组件互连的系统总线190。
[0045] 在一实施例中,计算机120是具有一个或多个微处理器的PC兼容的计算机,诸如TM TM来自Intel公司的PentiumIV 或Xeon 微处理器。此外,在本实施例中,计算机120包括基于Linux的操作系统。
[0046] RAM 170和盘驱动器180是用于存储数据、硬盘/视频文件、计算机程序、布景描述符文件、对象数据文件、重叠图像、深度映射、滤光器描述符、呈现引擎、滤光引擎、输出图像文件、纹理映射、位移映射、绘制环境、对象创建环境、动画环境、表面滤光环境、资产管理系统、数据库和数据库管理系统等的有形媒体。其它类型的有形媒体包括软盘、可移动硬盘、诸如CD-ROM、DVD的光学存储媒体、条形码、诸如闪存、只读存储器(ROM)、电池备份的易失性存储器的半导体存储器、网络化存储设备等。
[0047] 在本实施例中,计算机系统100还可包括使能诸如HTTP、TCP/IP、RTP/RTSP协议等的网络上的通信的软件。在本发明的各个实施例中,也可使用其它通信软件和传输协议,例如IPX、UDP等。
[0048] 图1表示能够体现本发明的计算机呈现系统。对本领域技术人员而言,许多其它硬件和软件配置都适用于本发明是显而易见的,例如,计算机可以是桌面、便携式、安装支TM TM架的或书写板配置。此外,可预期使用其它微处理器,诸如Pentium 或Itanium 微处理器;
TM TM
来自Advanced Micro Devices Inc.的Opteron 或AthlonXP 微处理器;来自Motorola TM TM
Inc.的PowerPC G4 、G5 微处理器等。此外,可预期其它类型的操作系统,诸如来自微软公司的 操作系统,诸如Windows Windows 等、来自Sun Microsystems
的Solaris、来自Apple ComputerCorporation的Linux、Unix、Mac OS等。
[0049] 图2示出本发明一实施例的框图。具体地,图2示出动画环境200、对象创建环境210、以及存储系统220。
[0050] 在本实施例中,对象创建环境210是使用户(建模者)能指定包括骨架和装束的对象连接模型。在该环境内,用户可(手动地、程序地)创建对象的模型,并指定这些对象如何连接于动画变量(Avars)。在一特定实施例中,对象创建环境210是称为“Gepetto”的Pixar专用对象创建环境。在其它实施例中,可使用其它类型的对象创建环境。
[0051] 在本实施例中,对象创建环境210还可由用户(滤光器)用来指定对象模型的表面参数。如以下所述,环境可在对象创建环境210内或独立提供,使用户能通过绘制将参数分配给对象模型的各个表面。在各个实施例中,表面参数包括色彩数据、纹理映射数据、位移数据等。这些表面参数通常用来在场景中呈现对象。
[0052] 在本发明的各个实施例中,环境使用户能定义对象模型的姿势。此外,它使用户能呈现不同姿势中对象模型的视图。该环境还提供机制,以在滤光并呈现标准对象配置时执行对也称Pref的“参考”姿势的平面映射(其中可能使用深度映射和表面法线),并保持不同视图、不同姿势、不同绘制数据、不同表面参数数据等的关联,如以下所述。
[0053] 在本实施例中,用对象创建环境210创建的对象模型也可应用于动画环境200。通常,对象模型是分层建立的。用于建立对象模型的分层特性是有用的,因为不同用户(建模者)通常被分配以创建不同模型的任务。例如,一个建模者被分配以创建手模型290的任务,而另一个建模者则被分配以创建前臂模型280的任务等。
[0054] 在本实施例中,动画环境200是使用户(动画制作人员)能通过动画变量(Avars)操纵对象连接模型的环境。在一实施例中,动画环境200是称为“MenV”的Pixar专用动画环境,尽管在其它环境中,其它动画环境也是适用的。在该实施例中,动画环境200使动画制作人员能操纵在对象模型(一般装束)中提供的Avars,并相对于时间来移动对象,即动画对象。
[0055] 在本发明的其它实施例中,动画环境200和对象创建环境210可组合到单个集成环境中。
[0056] 在图2中,存储系统220可包括访问对象连接模型的任何已组织和可重复方法。例如,在一实施例中,存储系统220包括本地驱动器或网络驱动器上的简单的平面目录结构;在其它实施例中,存储系统220可以是资产管理系统或与数据库相连的数据库访问系统等。在一实施例中,存储系统220从动画环境200和对象创建环境210中接收对对象模型的引用。作为回报,存储系统220提供在其中存储的对象模型。存储系统220通常还存储在此讨论的平面滤光参数、重叠图像、深度映射等。
[0057] 以前,Pixar的对象创建环境允许用户将来自多个视图的图像(纹理)绘制和投影到特定配置(姿势)中的对象模型上。然而,本发明的发明人理解,对象创建环境不支持不同姿势的对象视图,并且将纹理应用于单个姿势的复杂三维模型是困难的。
[0058] 图3A-B示出根据本发明一实施例的流程。开始时,在步骤300提供三维对象模型。通常,一个或多个用户(对象建模者)通过对象创建环境指定一个或多个对象的几何表示。
同时,组合这些对象以形成较大对象的模型。在本实施例中,建模者可使用诸如Gepetto等的对象创建环境。
[0059] 然后,在本实施例中,其它用户指定对象的表面应如何显现。例如,这些用户(滤光器)指定对象的任何数量的表面效果,诸如底色、划痕、灰尘、位移映射、粗糙度和光泽度映射、透明度和对材料类型的控制。为此,用户在步骤310取得三维对象模型并指定初始姿势。在其它实施例中,并不需要特别执行该步骤,因为对象都具有缺省姿势。例如,用于诸如汽车的角色的对象模型可具有其门关闭的缺省姿势。同时,用户通常指定一个或多个视图照相机位置。在其它实施例中,众多缺省照相机可用于每个对象。例如,在各个实施例中,共同指定的投影视图包括:俯视图、左视图、右视图、仰视图等。此外,照相机可以是斜视图等。投影视图可以是平面的,但也可以是非平面的和透视的。作为示例,可预期透视投影,其中曲线投影仪将图像映射到曲面上。
[0060] 然后,在本实施例中,计算机系统在步骤320以第一姿势呈现了三维对象的二维视图。更具体地,系统通过使用对象模型、姿势和视图照相机数据来呈现每个视图。在各个实施例中,呈现扫描可以是通过诸如Pixar的Renderman产品的呈现程序的高质量呈现。在其它实施例中,呈现/滤光过程可用诸如GL和GPU硬件和软件呈现器的低质量呈现过程来执行。
[0061] 在各个实施例中,每个呈现视图可被存储为多个分立视图图像文件、或组合成一较大文件。连同每个呈现视图,还产生了深度映射,其中使用了以下所述的平面投影功能。
[0062] 在本实施例中,系统在步骤330显示了对象的一个或多个呈现视图。在本发明的各个实施例中,该步骤在允许用户用图表表示将像素值分配给二维图形的用户环境中进行。通常,这些环境被称为包括“绘制”功能。在一实施例中,一个或多个视图可同时向用户显示。
[0063] 然后,在各个实施例中,用户在步骤340中对象视图分配像素值。在一实施例中,用户通过在对象视图“之上”进行绘制来执行该动作。该绘画类似于子绘画或用着色簿对图像着色。例如,用户使用重叠层等将不同的画笔应用于对象的视图。在此可预期使用类似于“层”的机制。在本实施例中,不同的画笔可具有一个或多个灰度值、一种或多种色彩等。
[0064] 作为示例,用户可使用较细的黑色画笔在视图的重叠层中画出裂纹类图案。在另一示例中,用户可使用喷漆型画笔来使视图的重叠层中的选定部分变暗。在又一示例中,用户可使用画笔来对视图的重叠层着色。在其它实施例中,还可预期指定重叠层图像的其它方法,诸如向图像添加一个或多个灰度、应用受限于重叠层图像特定部分(例如选择)的处理、将一个或多个图像包括在重叠层图像中(例如贴花层)等。
[0065] 在本实施例中,在步骤350存储每个视图的重叠层图像。在各个示例中,重叠层图像从二维视图中存储到单独和可标识的文件。在其它实施例中,重叠层图像被存储在二维视图的一个层中。在各个实施例中,包括重叠层图像的文件还关联于在步骤310定义的姿势、以及在步骤320、步骤360中确定的深度映射。
[0066] 在本实施例中,用户在步骤370可确定使三维对象以第二姿势重摆姿势。然后重复上述过程。在各个实施例中,可按用户认为必要的许多姿势来重复以下过程:使三维对象重摆姿势、创建一个或多个视图和绘制在视图上的深度映射。作为示例,对于角色对象,一个姿势可以是角色的嘴张开且手臂向上,而另一个姿势可以是角色的嘴闭合且手臂向下。作为另一示例,对于折叠桌,一个姿势是折叠桌打开,而另一个姿势则是折叠桌的桌腿从桌面“分解”或分离。
[0067] 在本发明的一些实施例中,用户可在屏幕上同时看到从三维对象的不同姿势导出的视图。因此,上述查看和绘制过程不需要在一次仅对象一个姿势的基础上执行。此外,在同一时段中用户可在对象视图上从不同姿势进行绘制。例如,对于嘴张开地摆姿势的角色,用户可在显示角色嘴的视图上的一个层上画白色,然后用户可在显示角色毛发的视图上的一个层上画黑色,然后用户可在显示角色嘴的视图上的一个层上重画不同色调的白色。
[0068] 在本实施例中,下一步骤是在步骤380使绘制在第一姿势中三维对象的每个视图上的值再关联于该对象。更具体地,该对象的每个视图通常是第一姿势中三维对象的各个表面向二维的投影。相应地,显现为由重叠图像在“其上绘制”的各个部分使用相关联深度映射来投影回成三维对象。该功能因为系统保持重叠图像、视图和三维对象姿势之间的链接而使能。在有多个呈现视图的情形中,对每个呈现视图的绘图被投影回成第一姿势中的三维对象。
[0069] 在本发明的各个实施例中,表面法线可用来“羽化”(feathering)投影到三维对象各个表面的效果。例如,对于与平行视图平行的表面,绘制效果可被计算为~100%;而对于与投影视图成30°角的表面,绘制效果可被计算为~50%(sin(30));对于与投影视图成60°角的表面,绘制效果可被计算为~13%(sin(60))等等。羽化的量可由用户来调节。在其它实施例中,羽化可用来改变过渡区域上的绘制效果,诸如对象的边缘或边界等。在各个实施例中,投影绘制的羽化减少了投影绘制的模糊。
[0070] 图4示出一实施例的一个示例。在该示例中,三维圆柱体500在圆柱体500的二维视图520中显现为长方形510。根据以上过程,用户在视图520上绘制重叠图像530。在该示例中,用户将圆柱体500的下半部分涂黑。
[0071] 然后,如图4所示,重叠图像被投影到三维圆柱体中,相应地,圆柱体500的前下表面540的模型与属性或黑色相关联,并羽化为不在查看平面上的表面法线点。圆柱体500的后下表面550并未与黑色相关联,因为它并未在视图520中展现。
[0072] 在本示例中,圆柱体500的后视图560和底视图570可被指定为展现圆柱体500剩余的下半表面。
[0073] 再看图3,下一步骤是在步骤390使绘制在第二姿势中三维对象的每个视图上的值再关联于该对象。类似地,该对象的每个视图通常是第二姿势中三维对象的各个表面向二维的投影。相应地,显现为由重叠图像在“其上绘制”的各个部分使用相关联深度映射被投影为三维对象。再一次,在有多个呈现视图的情形中,对每个呈现视图的绘图被投影回成第二姿势中的三维对象。
[0074] 在本实施例中,步骤380和390的平面投影在步骤400被组合并被投影回三维对象的表面。换言之,用户可基于不同姿势中的三维对象的呈现视图进行绘制,并使绘制数据投影回成中性姿势中的单个三维对象。
[0075] 本发明的发明人相信以上功能是重要的,因为它通过允许用户使三维对象重摆姿势、并允许用户基于所得到的呈现视图绘制来使用户“绘制”三维对象的难以触及部分。作为示例,一个姿势可以是嘴闭合的角色,而另一个姿势则为嘴张开。此外,本发明各实施例的使用示例将如下所示。
[0076] 在本发明的各个实施例中,在三维对象的正式呈现之前可执行步骤400。在其它实施例中,步骤400在正式呈现过程期间动态进行。例如,来自步骤380和390的数据可保存在独立的文件中。然后,当对象要(用例如Pixar的Renderman)高质量地呈现时,系统动态地组合来自第一姿势中三维对象的平面投影数据与来自第二姿势中三维对象的平面投影数据。
[0077] 然后在步骤410,该组合后平面投影数据被用来呈现通常第三姿势中的三维对象。作为示例,第一姿势可以是双臂下垂的角色,第二姿势可以是双臂上举的角色,而第三姿势则是仅有一臂上举的角色。
[0078] 在本发明的各个实施例中,绘制数据可指定对象表面的任何数量的属性。这些数据也可称为滤光扫描数据。对于典型的对象表面,有一百次以上的扫描。例如,绘制数据可指定表面色彩、纹理映射的应用、位移映射的应用等。在本发明的各个实施例中,来自步骤380和390的平面投影可将相同属性或不同属性应用于对象的表面。例如,步骤380可以是表面“裂纹”扫描,而步骤390可以是表面色彩扫描。
[0079] 在各个实施例中,对象同时呈现为场景中的其它对象。所呈现场景通常是在步骤420存储的另一二维图像。在本发明的各个实施例中,所呈现场景可存储在诸如胶片、光盘(例如CD-ROM、DVD)等的光学形式中;诸如硬盘、网络驱动器等的磁性形式中;诸如电信号、数据包等的电子形式中。在步骤430中,所得到的呈现场景的表示可在后来检索并向一个或多个查看者显示。
[0080] 图5A-C示出本发明一实施例的一个示例。具体地,图5A示出关闭姿势中的箱子600的三维模型。在图5B中,示出箱子600的众多二维视图,包括前视图610、顶视图620和侧视图630。
[0081] 在图5C中,用户分别在视图610-630上创建重叠图像640-660。如上所述,用户通常在视图610-630上绘制以创建重叠图像640-660。图5D示出重叠图像640-660投射回成关闭姿势中箱子600的三维模型之后关闭姿势中箱子670的三维模型。
[0082] 图6A-D示出本发明一实施例的另一示例。具体地,图6A示出打开姿势中箱子700的三维模型。在图6B中,示出箱子700的二维视图,包括顶视图710、第一横截面720和第二横截面730。
[0083] 在图6C中,用户分别在视图710-730上创建重叠图像740-760。再一次,用户通常在相应视图上绘制以创建重叠图像。图6D示出重叠图像740-760投射回彻骨打开姿势中箱子700的三维模型之后打开姿势中箱子770的三维模型。
[0084] 在本实施例中,箱子670和箱子770的三维模型被组合成单个的三维模型。图6E所示,是包括来自图5C和6C的投影返回数据的箱子780的单个三维模型。如图6E所示,三维模型可以不同于图5A或图6A的姿势摆姿势。
[0085] 图7A-C示出本发明一实施例的另一示例。更具体地,图7A示出缺省姿势中凳子800的三维模型。在图7B中,示出缺省姿势中凳子800的众多视图810。在该示例中,用户可如上所述基于视图810绘制。然后图7C示出第二姿势中凳子820的三维模型。如所能看到那样,凳子的腿830可从坐立表面“分解”或分离。示出众多视图840。在该示例中,可看到使用视图840用户能更简便地绘制凳子的坐立表面850和腿860的底部。
[0086] 可预期有许多改变或更改。根据以上公开内容,本领域技术人员将理解上述概念可应用于任何数量的环境中。例如,绘制功能可完整地提供给对象创建环境、分离滤光环境、第三方绘图程序(例如Photoshop、Maya、SoftImage)等。上述实施例使用平面投影技术来形成对象视图,并将重叠层投影回成三维对象。其它实施例也可使用非平面投影技术来形成对象的立体图,并投影回成三维对象。
[0087] 在本发明的其它实施例中,在重叠层中绘制并执行将平面投影回成三维对象的过程可实时地或接近实时地对对象的多个姿势进行。例如,可向用户呈现第一姿势中对象的第一视图,以及第二姿势中对象的第一视图。然后,用户绘制该第一视图的重叠层。在该实施例中,当用户绘制时进行将绘图投影回三维对象的平面投影过程。然后系统实时或接近实时地重新呈现第一姿势中对象的第一视图,以及第二姿势中对象的第二视图。在这些实施例中,因为过程进行得极快,所以用户可看到表面参数在一个姿势中、在所有其它姿势中(其它姿势的视图)对象上的指定效果。
[0088] 在本发明的各个实施例中,可预期有用于在表面上绘制的各种方法,诸如画笔、纹理、渐变、过滤等。此外,也可预期用于存储绘制图像(例如层)的各种方法。
[0089] 以上实施例揭示了用于能够执行所揭示方法的计算机系统的一种方法。其它实施例包括有形媒体上的计算机程序产品,它包括使计算机系统能执行所揭示方法的软件代码等。
[0090] 本领域技术人员在阅读本说明书后可预见其它实施例。在其它实施例中,可有利地进行以上所揭示发明的组合或子组合。为便于理解,体系结构和流程图的框图作了分组。然而,应理解可在本发明的其它实施例中预期框的组合、新框的添加、框的重新排列等。
[0091] 因此,本说明书和附图被视为说明性的而非限制性的。然而,可作各种修改和改变而不背离本发明在权利要求书中所述的更广泛精神和范围是显而易见的。