[go: up one dir, main page]

CN1833271B - Method and apparatus for improved rendering of projections - Google Patents

Method and apparatus for improved rendering of projections Download PDF

Info

Publication number
CN1833271B
CN1833271B CN200480022225.1A CN200480022225A CN1833271B CN 1833271 B CN1833271 B CN 1833271B CN 200480022225 A CN200480022225 A CN 200480022225A CN 1833271 B CN1833271 B CN 1833271B
Authority
CN
China
Prior art keywords
dimensional
view
dimensional object
configuration
image
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.)
Expired - Fee Related
Application number
CN200480022225.1A
Other languages
Chinese (zh)
Other versions
CN1833271A (en
Inventor
T·哈恩
R·赛瑞
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.)
PI KESA
Original Assignee
Pixar
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 Pixar filed Critical Pixar
Publication of CN1833271A publication Critical patent/CN1833271A/en
Application granted granted Critical
Publication of CN1833271B publication Critical patent/CN1833271B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T11/10
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/016Exploded view
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2012Colour editing, changing, or manipulating; Use of colour codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

A method of a computer system, comprising: -posing the 3D model (500) in a first configuration, -determining a first 2D (510) view of the 3D model (500) in the first configuration, -posing the 3D model (550) in a second configuration, -determining a second 2D (570) view of the 3D model in the second configuration, -associating the first 2D image with the first 2D view of the model, -associating the second 2D image (570) with the second 2D view of the model, -associating the first set of surface parameters with the 3D model surface visible in the first 2D view in response to the first 2D image and the first configuration of the 3D model, and-associating the second set of surface parameters with the 3D model surface visible in the second 2D view in response to the second 2D image and the second configuration of the 3D model.

Description

经改进绘制投影的方法和装置 Improved method and device for drawing projections

技术领域technical field

本发明涉及计算机动画,尤其涉及用于指定动画对象的表面属性的增强方法和装置。The present invention relates to computer animation, and more particularly to an enhancement method and apparatus for specifying surface properties of animated objects.

背景技术Background technique

在这些年中,电影制作商常常尝试讲述涉及虚构生物、遥远地点和幻想事物的故事。为此,他们常常依靠动画技术来“叫醒”虚构生物。动画中的两个主要路径通常包括基于绘画的动画技术和定格(stop motion)动画技术。During these years, filmmakers often attempted to tell stories involving imaginary creatures, far-flung locations, and fantastical things. To do this, they often rely on animation techniques to "wake up" fictional creatures. The two main paths in animation generally include paint-based animation techniques and stop motion animation techniques.

基于绘画的动画技术在二十世纪由诸如迪斯尼的电影制作商改进,并用于诸如“白雪公主和七个小矮人”(Snow White and the Seven Dwarves)和“幻想曲”(Fantasia)(1940)的电影。这种动画技术通常需要艺术家将动画图像手绘或绘制到透明介质或单元上。在绘制之后,每个单元可被捕捉或记录到胶片上,作为电影中的一个或多个帧。Paint-based animation techniques were refined in the twentieth century by filmmakers such as Disney and used in films such as "Snow White and the Seven Dwarves" and "Fantasia" (1940) Movie. This animation technique usually requires the artist to hand-draw or paint the animated image onto a transparent medium or cell. After drawing, each cell can be captured or recorded onto film as one or more frames in a movie.

基于定格的动画技术通常需要构建的微缩布景、道具和角色。电影制作商需要构建布景、添加道具、并使微缩角色摆好姿势。在动画制作人员对所安排的全部满意之后,电影的一个或多个帧将取该特定排列。定格动画技术由诸如电影“金刚”(King Kong)(1932)的Willis O’Brien的电影制作商开发。随后,这些技术由包括“The Mighty Joe Young”(1948)和“Clash of The Titans”(1981)的电影的诸如Ray Harryhausen的动画制作人员改进。Stop-motion animation techniques often require constructed miniature sets, props, and characters. Filmmakers need to build sets, add props, and get miniature characters into poses. After the animator is all satisfied with the arrangement, one or more frames of the movie will assume that particular arrangement. The stop motion animation technique was developed by film makers such as Willis O'Brien in the film King Kong (1932). These techniques were subsequently refined by animators such as Ray Harryhausen on films including "The Mighty Joe Young" (1948) and "Clash of The Titans" (1981).

随着计算机在二十世纪后半叶的广泛的可用性,动画制作人员开始依靠计算机来帮助进行动画处理。这包括使用计算机例如通过绘制图像、通过产生中间图像(tweening)等来便于基于绘画的动画。这还包括使用计算机来增加定格动画技术。例如,物理模型可由计算机存储器中的虚拟模型来表示并处理。With the widespread availability of computers in the second half of the twentieth century, animators began to rely on computers to help with animation. This includes using a computer to facilitate paint-based animation, eg, by rendering images, by generating tweening, and the like. This also includes the use of computers to augment stop motion animation techniques. For example, a physical model can be represented and manipulated by a virtual model in computer memory.

计算机辅助动画(CAA)行业中的先驱公司之一是Pixar,dba Pixar动画工作室。经过数年,Pixar开发并提供了为CAA特别设计的计算平台、以及称为

Figure G2004800222251D00011
的奥斯卡(Academy-
Figure G2004800222251D00012
)奖项提名软件。One of the pioneering companies in the Computer Aided Animation (CAA) industry is Pixar, dba Pixar Animation Studios. Over the years, Pixar has developed and provided a computing platform specially designed for CAA, and
Figure G2004800222251D00011
Oscar (Academy-
Figure G2004800222251D00012
) award-nominated software.

经过数年,Pixar也已开发了内部使用的软件产品和软件环境,使用户(建模者)能简便定义对象装束(rig)并使用户(动画制作人员)能简便动画对象装束。基于这种现实世界体验,本发明的发明人已经确定,可向这些产品和环境提供附加特征以便于对象定义和动画处理。一种这样的特征包括用来便于定义对象的表面属性的方法和装置。Over the years, Pixar has also developed software products and software environments for internal use that allow users (modelers) to easily define object rigs (rigs) and users (animators) to easily animate object rigs. Based on this real world experience, the inventors of the present invention have determined that additional features can be provided to these products and environments to facilitate object definition and animation. One such feature includes methods and apparatus for facilitating the definition of surface properties of objects.

本发明的发明人已确定,需要用于指定对象的表面参数的改进方法。The inventors of the present invention have determined that there is a need for an improved method for specifying surface parameters of an object.

发明内容Contents of the invention

本发明涉及计算机动画,尤其涉及使用户能指定不同姿势的对象或对象各部分的表面参数的方法和装置。This invention relates to computer animation, and more particularly to methods and apparatus that enable a user to specify surface parameters for objects or parts of objects in different poses.

本发明的各个实施例用来帮助管理创建三维“绘画”的过程.各个实施例控制多个姿势的定义、管理视图的呈现、提供用于向表面材料传送纹理信息的机制、提供纹理和其它数据文件的分类和源控制等.Various embodiments of the present invention are used to help manage the process of creating three-dimensional "paintings". Various embodiments control the definition of multiple poses, manage the rendering of views, provide mechanisms for transferring texture information to surface materials, provide texture and other data Classification and source control of files, etc.

使用本发明的各个实施例,用户能使用任何常规二维绘制程序来有效地“直接”在三维对象上有效地绘制。使用各个实施例,用户在对象的不同视图上绘制众多二维绘画(例如重叠图像)。典型的视图是方位为“前”、“后”等的照相机。使用本发明的各个实施例,如果模型难以在单个参考姿势中完全绘制,则用户可用多种配置来使对象模型重摆姿势。此外,用户可绘制重摆姿势对象的视图的众多重叠图像。Using various embodiments of the present invention, a user can use any conventional two-dimensional drawing program to effectively draw "directly" on three-dimensional objects. Using various embodiments, a user draws numerous two-dimensional paintings (eg, overlapping images) on different views of an object. A typical view is a camera with orientation "front", "back", etc. Using various embodiments of the present invention, a user can repose an object model in a variety of configurations if the model is difficult to fully render in a single reference pose. Additionally, a user may draw numerous overlapping images of views of a re-posed object.

本发明各实施例的典型工作流包括:将对象模型载入系统并用不同配置使对象模型摆姿势。例如要绘制一张桌子,用户可具有定义桌子的一个姿势,以及通过将桌子腿从桌子底部平移来“分解”模型的另一个姿势。然后,工作流可包括创建或定义以不同姿势在模型上绘制的一个或多个视图。A typical workflow for embodiments of the invention includes loading an object model into the system and posing the object model in different configurations. For example to draw a table, the user may have one pose that defines the table, and another pose that "explodes" the model by translating the table legs from the bottom of the table. The workflow can then include creating or defining one or more views that are drawn on the model in different poses.

在各个实施例中,对不同姿势和所定义视图中的对象执行呈现扫描(renderingpass)。呈现扫描的结果通常是所呈现对象的位图图像、视图和所呈现表面的相关联深度映射。工作流还可包括用户将所呈现位图载入二维绘制程序,并一遍或多遍地绘制呈现色彩、位移等。In various embodiments, a rendering pass is performed on objects in different poses and defined views. The result of a rendering scan is typically a bitmap image of the rendered object, a view, and an associated depth map of the rendered surface. The workflow may also include the user loading the rendered bitmap into a 2D rendering program and rendering color, displacement, etc. in one or more passes.

然后,系统在呈现时间计算每个对象在每个姿势中向每个视图作平面投影(反向映射)的结果,并存储每个可见表面点的所得到的2D坐标。表面滤光器(shader)将使用这些存储2D坐标来在每一遍中估算诸如2D纹理映射的表面参数。然后由扫描计算返回的值用来产生滤光器中的不同效果,如着色,或移位受绘制影响的表面。在其它实施例中,使用诸如透视投影的非平面投影。Then, at render time, the system computes the result of planar projection (back mapping) of each object to each view in each pose and stores the resulting 2D coordinates for each visible surface point. The surface shader will use these stored 2D coordinates to estimate surface parameters such as 2D texture maps in each pass. The values returned by the scan calculation are then used to produce different effects in the filter, such as shading, or shifting the surface affected by the paint. In other embodiments, non-planar projections such as perspective projections are used.

在各实施例中,深度映射在平面投影阶段过程中估算,以确保只有与投影视图相关的最远表面才接收到绘制。此外,在投影过程中考虑曲面法线,以便避免将绘制投影到垂直于或背离投影视图的表面上。In various embodiments, the depth map is evaluated during the planar projection phase to ensure that only the most distant surfaces associated with the projected view receive rendering. Additionally, surface normals are taken into account during projection to avoid projecting the paint onto surfaces that are perpendicular to or away from the projected view.

在本发明的各个实施例中,在解析了对象模型的每个视图和每个姿势的全部投影扫描后,表面滤光器完成其计算。所得到的呈现的对象模型通常以不同于上述姿势的不同姿势摆出造型。In various embodiments of the invention, the surface filter completes its computation after resolving all projection scans for each view and each pose of the object model. The resulting rendered object models are often posed in different poses than those described above.

在各个实施例中,所呈现的对象模型通常在布景环境中呈现,且所呈现的布景被存储在存储器中。所呈现布景通常在后来从存储器中检索并显示给用户。在各个实施例中,存储器可以是硬盘驱动器、RAM、DVD-ROM、CD-ROM、胶片媒体、打印媒体等。In various embodiments, the rendered object model is typically rendered in a scene environment, and the rendered scene is stored in memory. The rendered scene is typically later retrieved from memory and displayed to the user. In various embodiments, the memory may be a hard drive, RAM, DVD-ROM, CD-ROM, film media, print media, or the like.

根据以上内容,本发明的各个实施例使用户能使组装三维对象模型以多种配置摆出姿势,用于从多个视图中接收投影绘制。这些实施例增加了将诸如多纹理映射、色彩等的表面参数应用到复杂可变形三维对象模型的效率和效果。In accordance with the above, various embodiments of the present invention enable users to pose assembled three-dimensional object models in various configurations for receiving projective renderings from multiple views. These embodiments increase the efficiency and effectiveness of applying surface parameters such as multi-texture mapping, color, etc. to complex deformable three-dimensional object models.

本发明各个实施例的优点包括使得用户能从对象的多个视点和多个姿势配置绘制任何三维对象模型的能力。多个姿势配置的概念使用户能在除非模型变形或分解成小块才能直接访问的区域中绘制。Advantages of various embodiments of the invention include the ability to enable a user to model any three-dimensional object from multiple viewpoints and multiple pose configurations of the object. The concept of multiple pose configurations enables the user to paint in areas that cannot be directly accessed unless the model is deformed or broken into small pieces.

本发明的各个实施例引入用于组织多个视图/姿势、以及用于将所得到的纹理映射反向应用于对象的独特技术。更具体地,各实施例使用表面取向(法线)和从投影视图中呈现的深度映射来有选择地控制哪些表面接收绘制。Various embodiments of the present invention introduce unique techniques for organizing multiple views/poses, and for applying the resulting texture maps back to objects. More specifically, embodiments use surface orientations (normals) and depth maps rendered from projected views to selectively control which surfaces receive rendering.

根据本发明一方面,描述了一种用于计算机系统的方法.一种方法包括以第一配置使三维对象模型的至少一部分摆姿势,确定第一配置中三维对象模型的至少一部分的第一二维视图,以第二配置使三维对象模型的至少一部分摆姿势,确定第二配置中三维对象模型的至少一部分的第二二维视图.各种技术还包括使第一二维图像与对象模型的至少一部分的第一二维视图相关联,以及使第二二维图像与对象模型一部分的第二二维视图相关联.该过程还可包括响应于第一二维图像、响应于三维对象模型的至少一部分的第一配置,使第一表面参数集与在第一二维视图中可见的三维对象模型的至少一部分的一个表面相关联,以及响应于第二二维图像、响应于三维对象模型的至少一部分的第二配置,使第二表面参数集与在第二二维视图中可见的三维对象模型的至少一部分的一个表面相关联.According to an aspect of the present invention, a method for use in a computer system is described. A method includes posing at least a portion of a three-dimensional object model in a first configuration, determining first and second values of at least a portion of the three-dimensional object model in the first configuration. a two-dimensional view, posing at least a portion of the three-dimensional object model in a second configuration, and determining a second two-dimensional view of at least a portion of the three-dimensional object model in the second configuration. Various techniques also include combining the first two-dimensional image with the object model's associating at least a portion of the first two-dimensional view, and associating a second two-dimensional image with a second two-dimensional view of a portion of the object model. The process may also include responding to the first two-dimensional image, responsive to the three-dimensional object model a first configuration of at least a portion, the first set of surface parameters is associated with a surface of at least a portion of the three-dimensional object model visible in the first two-dimensional view, and responsive to the second two-dimensional image, responsive to the three-dimensional object model A second configuration of at least a portion, associating a second set of surface parameters with a surface of at least a portion of the 3D object model visible in a second 2D view.

根据本发明的另一方面,描述了用于包括处理器的计算机系统的计算机程序产品。该计算机程序产品包括:引导处理器接收三维对象的至少一部分的第一配置的代码;引导处理器确定第一二维图像的代码,其中该第一二维图像展现第一配置中三维对象的至少一部分的一个表面;引导处理器接收三维对象的至少一部分的第二配置的代码;引导处理器确定第二二维图像的代码,其中该第二二维图像展现第二配置中三维对象的至少一部分的一个表面。另外的计算机代码可包括:引导处理器接收第一二维绘制图像的代码,其中第一二维绘制图像与第一二维图像相关联;引导处理器接收第二二维绘制图像的代码,其中第二二维绘制图像与第二二维图像相关联。该代码还可包括:引导处理器响应于第一二维绘制图像确定第一组参数的代码,其中第一组参数与第一配置中三维对象的至少一部分的一个表面相关联;以及引导处理器响应于第二二维绘制图像确定第二组参数的代码,其中第二组参数与第二配置中三维对象的至少一部分的一个表面相关联。各代码可包括有形媒体上的机器可读或人可读的代码。典型的媒体包括磁盘、光盘等。According to another aspect of the invention, a computer program product for a computer system comprising a processor is described. The computer program product includes: code directing a processor to receive a first configuration of at least a portion of a three-dimensional object; code directing the processor to determine a first two-dimensional image, wherein the first two-dimensional image exhibits at least a portion of the three-dimensional object in the first configuration A surface of a portion; code directing the processor to receive a second configuration of at least a portion of the three-dimensional object; code directing the processor to determine a second two-dimensional image showing at least a portion of the three-dimensional object in the second configuration of a surface. The additional computer code may include: code directing the processor to receive a first two-dimensional rendered image, wherein the first two-dimensional rendered image is associated with the first two-dimensional image; code directing the processor to receive a second two-dimensional rendered image, wherein A second two-dimensional rendered image is associated with the second two-dimensional image. The code may also include: code directing the processor to determine a first set of parameters in response to the first two-dimensional rendered image, wherein the first set of parameters is associated with a surface of at least a portion of the three-dimensional object in the first configuration; and directing the processor A code for a second set of parameters associated with a surface of at least a portion of the three-dimensional object in the second configuration is determined in response to the second two-dimensional rendered image. Each code may comprise machine-readable or human-readable code on a tangible medium. Typical media include magnetic disks, optical disks, and the like.

根据本发明的又一方面,描述了一种计算机系统。该计算机系统通常包括显示器、存储器和处理器。在一计算机系统中,存储器被配置成存储三维对象的模型、该三维对象的第一姿势和第二姿势、第一二维图像和第二二维图像、以及关联于该三维对象的一个表面的表面滤光参数。在该计算机系统中,处理器通常被配置成向显示器输出第一姿势中的三维对象的第一视图,被配置成向显示器输出第二姿势中的三维对象的第二视图、以及被配置成接收第一二维图像和接收第二二维图像。该处理器还可被配置成响应于三维图像的第一视图、响应于第一二维图像,确定与三维对象的各个表面相关联的第一表面参数集,并被配置成响应于三维图像的第二视图、响应于第二二维图像,确定与三维对象的各个其它表面相关联的第二表面参数集。According to yet another aspect of the present invention, a computer system is described. The computer system typically includes a display, memory and a processor. In a computer system, the memory is configured to store a model of a three-dimensional object, a first pose and a second pose of the three-dimensional object, a first two-dimensional image and a second two-dimensional image, and an image associated with a surface of the three-dimensional object Surface filter parameters. In the computer system, the processor is typically configured to output to the display a first view of the three-dimensional object in a first pose, to output to the display a second view of the three-dimensional object in a second pose, and to receive A first two-dimensional image and a second two-dimensional image are received. The processor may also be configured to determine a first set of surface parameters associated with respective surfaces of the three-dimensional object responsive to the first view of the three-dimensional image, responsive to the first two-dimensional image, and configured to respond to the first view of the three-dimensional image A second view, responsive to the second two-dimensional image, determines a second set of surface parameters associated with respective other surfaces of the three-dimensional object.

附图说明Description of drawings

为了更全面地理解本发明,对附图予以说明。理解了这些附图并不被视为是本发明范围的限制,将通过使用附图用更详细方式描述目前所描述的各个实施例和本发明的目前所认为的最佳模式,在附图中:For a more complete understanding of the invention, reference is made to the accompanying drawings. With the understanding that these drawings are not to be considered as limiting the scope of the invention, the presently described embodiments and what is presently considered the best mode of the invention will be described in more detail by use of the accompanying drawings, in which :

图1示出根据本发明一实施例的系统的框图;Figure 1 shows a block diagram of a system according to an embodiment of the present invention;

图2示出本发明一实施例的框图;Figure 2 shows a block diagram of an embodiment of the present invention;

图3A-B示出根据本发明一实施例的流程;3A-B illustrate a process according to an embodiment of the present invention;

图4示出一实施例的示例;Figure 4 shows an example of an embodiment;

图5A-C示出本发明一实施例的一个示例;5A-C illustrate an example of an embodiment of the present invention;

图6A-D示出本发明一实施例的另一示例;6A-D illustrate another example of an embodiment of the present invention;

图7A-C示出本发明一实施例的又一示例。7A-C show yet another example of an embodiment of the present invention.

具体实施方式Detailed ways

在以下专利公开内容中,使用以下术语:In the following patent disclosure, the following terms are used:

Gprim(几何元):通过组织在任意数量表面(多边形)等中的三维点集合,由参数化函数(Bspline)定义的单个三维表面。Gprim (geometric element): A single 3D surface defined by a parametric function (Bspline) by organizing a collection of 3D points in an arbitrary number of surfaces (polygons) etc.

模型(对象模型):组织在任意数量表面(多边形网格和再分表面)、隐含表面等中的Gprim集合。该系统不需要2D表面参数化来执行其操作。Model (Object Model): A collection of Gprims organized in any number of surfaces (polygon meshes and subdivided surfaces), implied surfaces, etc. The system does not require 2D surface parameterization to perform its operation.

视图:可从特定视点产生模型图像的正交或透视照相机。View: An orthographic or perspective camera that produces an image of a model from a specific viewpoint.

姿势:模型根据其分层结构中的特定刚性变形及其Gprim的特定配置的状态。姿势还描述一个或多个视图。Pose: The state of a model according to a specific rigid deformation in its hierarchy and a specific configuration of its Gprim. A pose also describes one or more views.

姿势通常包括模型和全部视图照相机的位置和方向。在本发明的各个实施例中,姿势指定一个以上对象在对象模型中的特定配置或方向。例如,姿势可指定两个对象相距特定距离、或者两个对象彼此有特定角度等。对象的不同姿势的示例将在下面说明。Pose typically includes the position and orientation of the model and the full view camera. In various embodiments of the invention, a pose specifies a particular configuration or orientation of one or more objects in the object model. For example, a pose may specify that two objects are a certain distance apart, or that two objects be at a certain angle from each other, and so on. Examples of different poses of objects are illustrated below.

在角色到位的任何时候,其位置通常被保存为命名姿势,从而它可在后来被系统和用户引用。用户在重新定位模型并建立新的照相机视图之后保存新的姿势。在特定视图中创建的绘图(重叠图像)与该照相机的位置和方向有着密切的联系。Whenever a character is in position, its position is usually saved as a named pose so that it can be later referenced by the system and the user. The user saves the new pose after repositioning the model and establishing a new camera view. The drawing (overlay image) created in a particular view is closely related to the position and orientation of that camera.

扫描:绘制的类型,例如“色彩”和“位移”、以及该扫描中要使用的色彩通道的数量。该名字提供用它来引用滤光器内一系列绘图的句柄。通常这些名字是任意的。Scan: The type of rendering, such as Color and Displacement, and the number of color channels to use in this scan. The name provides the handle with which to refer to a series of plots within the filter. Usually these names are arbitrary.

图1是根据本发明一实施例的典型计算机系统100的框图。FIG. 1 is a block diagram of a typical computer system 100 according to one embodiment of the invention.

在本实施例中,计算机系统100通常包括监视器110、计算机120、键盘130、用户输入设备140、网络接口150等。In this embodiment, the computer system 100 generally includes a monitor 110, a computer 120, a keyboard 130, a user input device 140, a network interface 150, and the like.

在本实施例中,用户输入设备140通常包括计算机鼠标、跟踪球、跟踪板、无线遥控器、绘图书写板、集成式显示器和书写板(例如Wacom的Cintiq)、语音命令系统、眼睛跟踪系统等。用户输入鼠标140通常使用户能选择显现在监视器110上的对象、图标、文本等。In this embodiment, user input devices 140 typically include computer mice, trackballs, trackpads, wireless remote controls, drawing tablets, integrated displays and tablets (such as Wacom's Cintiq), voice command systems, eye tracking systems, etc. . User input mouse 140 generally enables a user to select objects, icons, text, etc. that appear on monitor 110 .

网络接口150的各个实施例通常包括以太卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字用户线路(DSL)单元等。网络接口150通常与所示计算机网络耦合。在其它实施例中,网络接口150可物理地集成到计算机120的母板上,可以是诸如软DSL的软件程序等。Various embodiments of network interface 150 typically include Ethernet cards, modems (telephone, satellite, cable, ISDN), (asynchronous) Digital Subscriber Line (DSL) units, and the like. Network interface 150 is typically coupled to the computer network shown. In other embodiments, network interface 150 may be physically integrated on the motherboard of computer 120, may be a software program such as soft DSL, or the like.

计算机120通常包括熟悉的计算机组件,诸如处理器160、诸如随机存取存储器(RAM)170的存储器存储设备、盘驱动器180和使以上组件互连的系统总线190。Computer 120 typically includes familiar computer components such as a processor 160, a memory storage device such as random access memory (RAM) 170, a disk drive 180 and a system bus 190 interconnecting the above components.

在一实施例中,计算机120是具有一个或多个微处理器的PC兼容的计算机,诸如来自Intel公司的PentiumIVTM或XeonTM微处理器。此外,在本实施例中,计算机120包括基于Linux的操作系统。In one embodiment, computer 120 is a PC compatible computer having one or more microprocessors, such as PentiumIV or Xeon microprocessors from Intel Corporation. Furthermore, in this embodiment, the computer 120 includes a Linux-based operating system.

RAM 170和盘驱动器180是用于存储数据、硬盘/视频文件、计算机程序、布景描述符文件、对象数据文件、重叠图像、深度映射、滤光器描述符、呈现引擎、滤光引擎、输出图像文件、纹理映射、位移映射、绘制环境、对象创建环境、动画环境、表面滤光环境、资产管理系统、数据库和数据库管理系统等的有形媒体.其它类型的有形媒体包括软盘、可移动硬盘、诸如CD-ROM、DVD的光学存储媒体、条形码、诸如闪存、只读存储器(ROM)、电池备份的易失性存储器的半导体存储器、网络化存储设备等.RAM 170 and disk drive 180 are for storing data, hard disk/video files, computer programs, scene descriptor files, object data files, overlay images, depth maps, filter descriptors, rendering engines, filtering engines, output images Tangible media for files, texture maps, displacement maps, drawing environments, object creation environments, animation environments, surface filtering environments, asset management systems, databases and database management systems, etc. Other types of tangible media include floppy disks, removable hard disks, such as Optical storage media of CD-ROM, DVD, barcode, semiconductor memory such as flash memory, read-only memory (ROM), battery-backed volatile memory, networked storage devices, etc.

在本实施例中,计算机系统100还可包括使能诸如HTTP、TCP/IP、RTP/RTSP协议等的网络上的通信的软件。在本发明的各个实施例中,也可使用其它通信软件和传输协议,例如IPX、UDP等。In this embodiment, the computer system 100 may also include software that enables communication over a network such as HTTP, TCP/IP, RTP/RTSP protocols, and the like. In various embodiments of the present invention, other communication software and transport protocols, such as IPX, UDP, etc., may also be used.

图1表示能够体现本发明的计算机呈现系统。对本领域技术人员而言,许多其它硬件和软件配置都适用于本发明是显而易见的,例如,计算机可以是桌面、便携式、安装支架的或书写板配置。此外,可预期使用其它微处理器,诸如PentiumTM或ItaniumTM微处理器;来自Advanced Micro Devices Inc.的OpteronTM或AthlonXPTM微处理器;来自Motorola Inc.的PowerPC G4TM、G5TM微处理器等。此外,可预期其它类型的操作系统,诸如来自微软公司的操作系统,诸如WindowsWindows

Figure G2004800222251D00063
等、来自Sun Microsystems的Solaris、来自Apple ComputerCorporation的Linux、Unix、Mac OS等。Figure 1 illustrates a computer rendering system capable of embodying the present invention. It will be apparent to those skilled in the art that many other hardware and software configurations are suitable for use with the present invention, for example, the computer may be in a desktop, portable, stand-mounted, or tablet configuration. Additionally, other microprocessors are contemplated, such as Pentium or Itanium microprocessors; Opteron or AthlonXP microprocessors from Advanced Micro Devices Inc.; PowerPC G4 , G5 microprocessors from Motorola Inc. wait. Additionally, other types of operating systems are contemplated, such as the operating system, such as Windows Windows
Figure G2004800222251D00063
etc., Solaris from Sun Microsystems, Linux, Unix, Mac OS from Apple Computer Corporation, etc.

图2示出本发明一实施例的框图。具体地,图2示出动画环境200、对象创建环境210、以及存储系统220。Figure 2 shows a block diagram of an embodiment of the invention. Specifically, FIG. 2 shows animation environment 200 , object creation environment 210 , and storage system 220 .

在本实施例中,对象创建环境210是使用户(建模者)能指定包括骨架和装束的对象连接模型。在该环境内,用户可(手动地、程序地)创建对象的模型,并指定这些对象如何连接于动画变量(Avars)。在一特定实施例中,对象创建环境210是称为“Gepetto”的Pixar专用对象创建环境。在其它实施例中,可使用其它类型的对象创建环境。In the present embodiment, the object creation environment 210 is to enable a user (modeller) to specify an object connection model including a skeleton and a rig. Within this environment, the user can create models of objects (manually, procedurally) and specify how these objects are connected to animation variables (Avars). In a particular embodiment, object creation environment 210 is a Pixar-specific object creation environment called "Gepetto." In other embodiments, other types of objects may be used to create environments.

在本实施例中,对象创建环境210还可由用户(滤光器)用来指定对象模型的表面参数。如以下所述,环境可在对象创建环境210内或独立提供,使用户能通过绘制将参数分配给对象模型的各个表面。在各个实施例中,表面参数包括色彩数据、纹理映射数据、位移数据等。这些表面参数通常用来在场景中呈现对象。In this embodiment, the object creation environment 210 can also be used by the user (filter) to specify the surface parameters of the object model. As described below, environments may be provided within the object creation environment 210 or independently, enabling a user to assign parameters to various surfaces of an object model by drawing. In various embodiments, surface parameters include color data, texture map data, displacement data, and the like. These surface parameters are often used to render objects in the scene.

在本发明的各个实施例中,环境使用户能定义对象模型的姿势。此外,它使用户能呈现不同姿势中对象模型的视图。该环境还提供机制,以在滤光并呈现标准对象配置时执行对也称Pref的“参考”姿势的平面映射(其中可能使用深度映射和表面法线),并保持不同视图、不同姿势、不同绘制数据、不同表面参数数据等的关联,如以下所述。In various embodiments of the invention, the environment enables the user to define the pose of the object model. Furthermore, it enables the user to present views of the object model in different poses. The environment also provides mechanisms to perform planar mapping (where depth maps and surface normals may be used) to a "reference" pose, also known as Pref, when filtering and rendering standard object configurations, and maintain different views, different poses, different Correlation of plotted data, different surface parameter data, etc., as described below.

在本实施例中,用对象创建环境210创建的对象模型也可应用于动画环境200。通常,对象模型是分层建立的。用于建立对象模型的分层特性是有用的,因为不同用户(建模者)通常被分配以创建不同模型的任务。例如,一个建模者被分配以创建手模型290的任务,而另一个建模者则被分配以创建前臂模型280的任务等。In this embodiment, the object model created with the object creation environment 210 can also be applied to the animation environment 200 . Typically, object models are built hierarchically. The hierarchical nature for building object models is useful because different users (modelers) are often assigned the task of creating different models. For example, one modeler is assigned the task of creating the hand model 290, another modeler is assigned the task of creating the forearm model 280, and so on.

在本实施例中,动画环境200是使用户(动画制作人员)能通过动画变量(Avars)操纵对象连接模型的环境。在一实施例中,动画环境200是称为“MenV”的Pixar专用动画环境,尽管在其它环境中,其它动画环境也是适用的。在该实施例中,动画环境200使动画制作人员能操纵在对象模型(一般装束)中提供的Avars,并相对于时间来移动对象,即动画对象。In this embodiment, the animation environment 200 is an environment that enables a user (animator) to manipulate an object connection model through animation variables (Avars). In one embodiment, animation environment 200 is a Pixar-specific animation environment called "MenV," although in other environments other animation environments are suitable. In this embodiment, animation environment 200 enables an animator to manipulate Avars provided in an object model (generic rig) and to move objects, ie, animate objects, with respect to time.

在本发明的其它实施例中,动画环境200和对象创建环境210可组合到单个集成环境中。In other embodiments of the invention, animation environment 200 and object creation environment 210 may be combined into a single integrated environment.

在图2中,存储系统220可包括访问对象连接模型的任何已组织和可重复方法.例如,在一实施例中,存储系统220包括本地驱动器或网络驱动器上的简单的平面目录结构;在其它实施例中,存储系统220可以是资产管理系统或与数据库相连的数据库访问系统等.在一实施例中,存储系统220从动画环境200和对象创建环境210中接收对对象模型的引用.作为回报,存储系统220提供在其中存储的对象模型.存储系统220通常还存储在此讨论的平面滤光参数、重叠图像、深度映射等.In FIG. 2, storage system 220 may include any organized and repeatable method of accessing object connection models. For example, in one embodiment, storage system 220 includes a simple flat directory structure on a local drive or a network drive; in others In an embodiment, the storage system 220 may be an asset management system or a database access system connected to a database, etc. In an embodiment, the storage system 220 receives references to object models from the animation environment 200 and the object creation environment 210. In return , the storage system 220 provides object models stored therein. The storage system 220 typically also stores planar filtering parameters, overlay images, depth maps, etc. discussed herein.

以前,Pixar的对象创建环境允许用户将来自多个视图的图像(纹理)绘制和投影到特定配置(姿势)中的对象模型上。然而,本发明的发明人理解,对象创建环境不支持不同姿势的对象视图,并且将纹理应用于单个姿势的复杂三维模型是困难的。Previously, Pixar's object creation environment allowed users to paint and project images (textures) from multiple views onto object models in specific configurations (poses). However, the inventors of the present invention understand that object creation environments do not support object views in different poses, and that applying textures to complex three-dimensional models in a single pose is difficult.

图3A-B示出根据本发明一实施例的流程。开始时,在步骤300提供三维对象模型。通常,一个或多个用户(对象建模者)通过对象创建环境指定一个或多个对象的几何表示。同时,组合这些对象以形成较大对象的模型。在本实施例中,建模者可使用诸如Gepetto等的对象创建环境。3A-B illustrate a flow according to an embodiment of the present invention. Initially, at step 300 a three-dimensional object model is provided. Typically, one or more users (object modelers) specify a geometric representation of one or more objects through an object creation environment. At the same time, these objects are combined to form models of larger objects. In this embodiment, the modeler can use objects such as Gepetto to create the environment.

然后,在本实施例中,其它用户指定对象的表面应如何显现。例如,这些用户(滤光器)指定对象的任何数量的表面效果,诸如底色、划痕、灰尘、位移映射、粗糙度和光泽度映射、透明度和对材料类型的控制。为此,用户在步骤310取得三维对象模型并指定初始姿势。在其它实施例中,并不需要特别执行该步骤,因为对象都具有缺省姿势。例如,用于诸如汽车的角色的对象模型可具有其门关闭的缺省姿势。同时,用户通常指定一个或多个视图照相机位置。在其它实施例中,众多缺省照相机可用于每个对象。例如,在各个实施例中,共同指定的投影视图包括:俯视图、左视图、右视图、仰视图等。此外,照相机可以是斜视图等。投影视图可以是平面的,但也可以是非平面的和透视的。作为示例,可预期透视投影,其中曲线投影仪将图像映射到曲面上。Then, in this embodiment, other users specify how the surface of the object should appear. For example, these user (filters) specify any number of surface effects for objects, such as base color, scratches, dust, displacement mapping, roughness and glossiness mapping, transparency, and control over material types. To this end, the user obtains a three-dimensional object model and specifies an initial pose at step 310 . In other embodiments, this step does not need to be performed specifically, since the objects all have a default pose. For example, an object model for a character such as a car may have a default pose with its doors closed. At the same time, the user typically specifies one or more view camera positions. In other embodiments, numerous default cameras may be used for each object. For example, in various embodiments, the commonly designated projected views include: top view, left view, right view, bottom view, and the like. Also, the camera may be an oblique view or the like. Projected views can be planar, but they can also be non-planar and perspective. As an example, perspective projection is contemplated, where a curved projector maps an image onto a curved surface.

然后,在本实施例中,计算机系统在步骤320以第一姿势呈现了三维对象的二维视图。更具体地,系统通过使用对象模型、姿势和视图照相机数据来呈现每个视图。在各个实施例中,呈现扫描可以是通过诸如Pixar的Renderman产品的呈现程序的高质量呈现。在其它实施例中,呈现/滤光过程可用诸如GL和GPU硬件和软件呈现器的低质量呈现过程来执行。Then, in this embodiment, the computer system presents a 2D view of the 3D object in a first pose at step 320 . More specifically, the system renders each view by using the object model, pose, and view camera data. In various embodiments, the rendering scan may be a high quality rendering by a rendering program such as Pixar's Renderman product. In other embodiments, the rendering/filtering process may be performed with low-quality rendering processes such as GL and GPU hardware and software renderers.

在各个实施例中,每个呈现视图可被存储为多个分立视图图像文件、或组合成一较大文件。连同每个呈现视图,还产生了深度映射,其中使用了以下所述的平面投影功能。In various embodiments, each rendered view may be stored as multiple separate view image files, or combined into one larger file. Along with each rendered view, a depth map is also produced, using the planar projection function described below.

在本实施例中,系统在步骤330显示了对象的一个或多个呈现视图。在本发明的各个实施例中,该步骤在允许用户用图表表示将像素值分配给二维图形的用户环境中进行。通常,这些环境被称为包括“绘制”功能。在一实施例中,一个或多个视图可同时向用户显示。In this embodiment, the system displays one or more rendered views of the object at step 330 . In various embodiments of the invention, this step is performed within a user environment that allows the user to graphically assign pixel values to a two-dimensional graphic. Typically, these environments are said to include "drawing" functionality. In one embodiment, one or more views may be displayed to the user at the same time.

然后,在各个实施例中,用户在步骤340中对象视图分配像素值。在一实施例中,用户通过在对象视图“之上”进行绘制来执行该动作。该绘画类似于子绘画或用着色簿对图像着色。例如,用户使用重叠层等将不同的画笔应用于对象的视图。在此可预期使用类似于“层”的机制。在本实施例中,不同的画笔可具有一个或多个灰度值、一种或多种色彩等。Then, in various embodiments, the user assigns pixel values in step 340 to the object view. In one embodiment, the user performs this action by drawing "over" the object view. The painting is similar to sub-painting or coloring an image with a coloring book. For example, the user applies different brushes to the view of the object using overlays, etc. A mechanism similar to "layers" is contemplated here. In this embodiment, different brushes may have one or more grayscale values, one or more colors, and the like.

作为示例,用户可使用较细的黑色画笔在视图的重叠层中画出裂纹类图案.在另一示例中,用户可使用喷漆型画笔来使视图的重叠层中的选定部分变暗.在又一示例中,用户可使用画笔来对视图的重叠层着色.在其它实施例中,还可预期指定重叠层图像的其它方法,诸如向图像添加一个或多个灰度、应用受限于重叠层图像特定部分(例如选择)的处理、将一个或多个图像包括在重叠层图像中(例如贴花层)等.As an example, a user can use a thin black paintbrush to paint a crack-like pattern in an overlay of a view. In another example, a user can use a spray-paint type brush to darken a selected portion of an overlay of a view. In In yet another example, a user may use a brush to color an overlay of a view. In other embodiments, other methods of specifying an overlay image are also contemplated, such as adding one or more shades of gray to the image, applying limited overlay Handling of specific parts of layer images (e.g. selections), including one or more images in overlapping layer images (e.g. decal layers), etc.

在本实施例中,在步骤350存储每个视图的重叠层图像。在各个示例中,重叠层图像从二维视图中存储到单独和可标识的文件。在其它实施例中,重叠层图像被存储在二维视图的一个层中。在各个实施例中,包括重叠层图像的文件还关联于在步骤310定义的姿势、以及在步骤320、步骤360中确定的深度映射。In this embodiment, the overlapping layer images for each view are stored at step 350 . In various examples, overlay images are stored from the 2D view to separate and identifiable files. In other embodiments, overlapping layer images are stored in one layer of the two-dimensional view. In various embodiments, the file including the overlay image is also associated with the pose defined in step 310 , and the depth map determined in steps 320 , 360 .

在本实施例中,用户在步骤370可确定使三维对象以第二姿势重摆姿势。然后重复上述过程。在各个实施例中,可按用户认为必要的许多姿势来重复以下过程:使三维对象重摆姿势、创建一个或多个视图和绘制在视图上的深度映射。作为示例,对于角色对象,一个姿势可以是角色的嘴张开且手臂向上,而另一个姿势可以是角色的嘴闭合且手臂向下。作为另一示例,对于折叠桌,一个姿势是折叠桌打开,而另一个姿势则是折叠桌的桌腿从桌面“分解”或分离。In this embodiment, the user may determine to repose the three-dimensional object in the second pose at step 370 . Then repeat the above process. In various embodiments, the process of reposing the three-dimensional object, creating one or more views, and drawing a depth map on the views may be repeated for as many poses as the user deems necessary. As an example, for a character object, one pose could be with the character's mouth open and arms up, while another pose could be with the character's mouth closed and arms down. As another example, for a folding table, one posture is that the folding table is open, and another posture is that the legs of the folding table are "disintegrated" or separated from the table top.

在本发明的一些实施例中,用户可在屏幕上同时看到从三维对象的不同姿势导出的视图。因此,上述查看和绘制过程不需要在一次仅对象一个姿势的基础上执行。此外,在同一时段中用户可在对象视图上从不同姿势进行绘制。例如,对于嘴张开地摆姿势的角色,用户可在显示角色嘴的视图上的一个层上画白色,然后用户可在显示角色毛发的视图上的一个层上画黑色,然后用户可在显示角色嘴的视图上的一个层上重画不同色调的白色。In some embodiments of the invention, a user may simultaneously see views derived from different poses of a three-dimensional object on the screen. Therefore, the viewing and drawing process described above need not be performed on the basis of only one pose of the object at a time. Furthermore, the user can draw from different poses on the object view during the same time period. For example, for a character posing with its mouth open, the user can paint white on a layer on the view showing the character's mouth, then the user can paint black on a layer on the view showing the character's hair, and then the user can paint on the view showing the character's hair. Repaint a different shade of white on a layer above the view of the character's mouth.

在本实施例中,下一步骤是在步骤380使绘制在第一姿势中三维对象的每个视图上的值再关联于该对象。更具体地,该对象的每个视图通常是第一姿势中三维对象的各个表面向二维的投影。相应地,显现为由重叠图像在“其上绘制”的各个部分使用相关联深度映射来投影回成三维对象。该功能因为系统保持重叠图像、视图和三维对象姿势之间的链接而使能。在有多个呈现视图的情形中,对每个呈现视图的绘图被投影回成第一姿势中的三维对象。In this embodiment, the next step is to reassociate the values drawn on each view of the three-dimensional object in the first pose at step 380 to the object. More specifically, each view of the object is typically a two-dimensional projection of various surfaces of the three-dimensional object in the first pose. Accordingly, the various parts that appear to be "rendered on" by the overlay image are projected back into a three-dimensional object using an associated depth map. This functionality is enabled because the system maintains links between overlapping images, views and poses of 3D objects. In the case of multiple rendered views, the drawing for each rendered view is projected back into a three-dimensional object in the first pose.

在本发明的各个实施例中,表面法线可用来“羽化”(feathering)投影到三维对象各个表面的效果。例如,对于与平行视图平行的表面,绘制效果可被计算为~100%;而对于与投影视图成30°角的表面,绘制效果可被计算为~50%(sin(30));对于与投影视图成60°角的表面,绘制效果可被计算为~13%(sin(60))等等。羽化的量可由用户来调节。在其它实施例中,羽化可用来改变过渡区域上的绘制效果,诸如对象的边缘或边界等。在各个实施例中,投影绘制的羽化减少了投影绘制的模糊。In various embodiments of the present invention, surface normals may be used to "feather" the effect of projection onto various surfaces of a three-dimensional object. For example, for a surface parallel to a parallel view, the rendering effect can be calculated as ~100%; for a surface at a 30° angle to the projected view, the rendering effect can be calculated as ~50% (sin(30)); for a surface with Surfaces projected at an angle of 60°, the rendering effect can be calculated to be ~13% (sin(60)) and so on. The amount of feathering can be adjusted by the user. In other embodiments, feathering may be used to change the paint effect on transition areas, such as the edges or borders of objects, and the like. In various embodiments, the feathering of the projected rendering reduces blurring of the projected rendering.

图4示出一实施例的一个示例。在该示例中,三维圆柱体500在圆柱体500的二维视图520中显现为长方形510。根据以上过程,用户在视图520上绘制重叠图像530。在该示例中,用户将圆柱体500的下半部分涂黑。Figure 4 shows an example of an embodiment. In this example, three-dimensional cylinder 500 appears as rectangle 510 in two-dimensional view 520 of cylinder 500 . According to the above process, the user draws an overlay image 530 on the view 520 . In this example, the user has painted the bottom half of the cylinder 500 black.

然后,如图4所示,重叠图像被投影到三维圆柱体中,相应地,圆柱体500的前下表面540的模型与属性或黑色相关联,并羽化为不在查看平面上的表面法线点。圆柱体500的后下表面550并未与黑色相关联,因为它并未在视图520中展现。Then, as shown in Figure 4, the overlapping images are projected into a three-dimensional cylinder, correspondingly, the model of the front lower surface 540 of the cylinder 500 is associated with attributes or black, and feathered to the surface normal points that are not on the viewing plane . The rear lower surface 550 of cylinder 500 is not associated with black because it is not shown in view 520 .

在本示例中,圆柱体500的后视图560和底视图570可被指定为展现圆柱体500剩余的下半表面。In this example, rear view 560 and bottom view 570 of cylinder 500 may be designated to reveal the remaining lower half surface of cylinder 500 .

再看图3,下一步骤是在步骤390使绘制在第二姿势中三维对象的每个视图上的值再关联于该对象.类似地,该对象的每个视图通常是第二姿势中三维对象的各个表面向二维的投影.相应地,显现为由重叠图像在“其上绘制”的各个部分使用相关联深度映射被投影为三维对象.再一次,在有多个呈现视图的情形中,对每个呈现视图的绘图被投影回成第二姿势中的三维对象.Referring again to FIG. 3, the next step is to reassociate the values drawn on each view of the three-dimensional object in the second pose at step 390 to the object. Similarly, each view of the object is typically a three-dimensional The projection of the various surfaces of the object into two dimensions. Accordingly, the various parts that appear to be "painted on" by the overlapping images are projected as three-dimensional objects using the associated depth maps. Again, in the case of multiple rendering views , the drawing for each rendered view is projected back into a 3D object in the second pose.

在本实施例中,步骤380和390的平面投影在步骤400被组合并被投影回三维对象的表面。换言之,用户可基于不同姿势中的三维对象的呈现视图进行绘制,并使绘制数据投影回成中性姿势中的单个三维对象。In this embodiment, the planar projections of steps 380 and 390 are combined at step 400 and projected back to the surface of the three-dimensional object. In other words, the user can paint based on rendered views of the three-dimensional object in different poses, and have the paint data projected back into a single three-dimensional object in a neutral pose.

本发明的发明人相信以上功能是重要的,因为它通过允许用户使三维对象重摆姿势、并允许用户基于所得到的呈现视图绘制来使用户“绘制”三维对象的难以触及部分。作为示例,一个姿势可以是嘴闭合的角色,而另一个姿势则为嘴张开。此外,本发明各实施例的使用示例将如下所示。The inventors of the present invention believe that the above functionality is important because it enables users to "draw" hard-to-reach parts of three-dimensional objects by allowing them to repose the three-dimensional object and allow the user to draw based on the resulting rendered view. As an example, one pose could be a character with the mouth closed, while another pose has the mouth open. In addition, usage examples of each embodiment of the present invention will be shown below.

在本发明的各个实施例中,在三维对象的正式呈现之前可执行步骤400。在其它实施例中,步骤400在正式呈现过程期间动态进行。例如,来自步骤380和390的数据可保存在独立的文件中。然后,当对象要(用例如Pixar的Renderman)高质量地呈现时,系统动态地组合来自第一姿势中三维对象的平面投影数据与来自第二姿势中三维对象的平面投影数据。In various embodiments of the present invention, step 400 may be performed before the formal presentation of the three-dimensional object. In other embodiments, step 400 occurs dynamically during the formal rendering process. For example, data from steps 380 and 390 may be saved in separate files. The system then dynamically combines the planar projection data from the 3D object in the first pose with the planar projection data from the 3D object in the second pose when the object is to be rendered in high quality (with eg Pixar's Renderman).

然后在步骤410,该组合后平面投影数据被用来呈现通常第三姿势中的三维对象。作为示例,第一姿势可以是双臂下垂的角色,第二姿势可以是双臂上举的角色,而第三姿势则是仅有一臂上举的角色。Then at step 410, the combined planar projection data is used to render the three-dimensional object, generally in a third pose. As an example, a first pose could be a character with both arms down, a second pose could be a character with both arms up, and a third pose could be a character with only one arm up.

在本发明的各个实施例中,绘制数据可指定对象表面的任何数量的属性。这些数据也可称为滤光扫描数据。对于典型的对象表面,有一百次以上的扫描。例如,绘制数据可指定表面色彩、纹理映射的应用、位移映射的应用等。在本发明的各个实施例中,来自步骤380和390的平面投影可将相同属性或不同属性应用于对象的表面。例如,步骤380可以是表面“裂纹”扫描,而步骤390可以是表面色彩扫描。In various embodiments of the invention, rendering data may specify any number of attributes of the object's surface. These data may also be referred to as filter scan data. For a typical object surface, there are over a hundred scans. For example, paint data may specify surface color, application of texture mapping, application of displacement mapping, and the like. In various embodiments of the invention, the planar projections from steps 380 and 390 may apply the same attributes or different attributes to the surface of the object. For example, step 380 may be a surface "crack" scan, while step 390 may be a surface color scan.

在各个实施例中,对象同时呈现为场景中的其它对象。所呈现场景通常是在步骤420存储的另一二维图像。在本发明的各个实施例中,所呈现场景可存储在诸如胶片、光盘(例如CD-ROM、DVD)等的光学形式中;诸如硬盘、网络驱动器等的磁性形式中;诸如电信号、数据包等的电子形式中。在步骤430中,所得到的呈现场景的表示可在后来检索并向一个或多个查看者显示。In various embodiments, objects simultaneously appear as other objects in the scene. The rendered scene is typically another two-dimensional image stored at step 420 . In various embodiments of the invention, the rendered scene may be stored in an optical form such as film, an optical disc (e.g., CD-ROM, DVD), etc.; in a magnetic form such as a hard disk, network drive, etc.; etc. in electronic form. In step 430, the resulting representation of the rendered scene may later be retrieved and displayed to one or more viewers.

图5A-C示出本发明一实施例的一个示例。具体地,图5A示出关闭姿势中的箱子600的三维模型。在图5B中,示出箱子600的众多二维视图,包括前视图610、顶视图620和侧视图630。Figures 5A-C illustrate an example of an embodiment of the present invention. Specifically, FIG. 5A shows a three-dimensional model of case 600 in a closed pose. In FIG. 5B , a number of two-dimensional views of case 600 are shown, including front view 610 , top view 620 , and side view 630 .

在图5C中,用户分别在视图610-630上创建重叠图像640-660。如上所述,用户通常在视图610-630上绘制以创建重叠图像640-660。图5D示出重叠图像640-660投射回成关闭姿势中箱子600的三维模型之后关闭姿势中箱子670的三维模型。In FIG. 5C, the user creates overlay images 640-660 on views 610-630, respectively. As described above, the user typically draws on views 610-630 to create overlay images 640-660. FIG. 5D shows the three-dimensional model of box 670 in the closed pose after overlapping images 640-660 are projected back into the three-dimensional model of box 600 in the closed pose.

图6A-D示出本发明一实施例的另一示例。具体地,图6A示出打开姿势中箱子700的三维模型。在图6B中,示出箱子700的二维视图,包括顶视图710、第一横截面720和第二横截面730。6A-D illustrate another example of an embodiment of the present invention. Specifically, FIG. 6A shows a three-dimensional model of case 700 in an open pose. In FIG. 6B , a two-dimensional view of case 700 is shown, including a top view 710 , a first cross-section 720 and a second cross-section 730 .

在图6C中,用户分别在视图710-730上创建重叠图像740-760。再一次,用户通常在相应视图上绘制以创建重叠图像。图6D示出重叠图像740-760投射回彻骨打开姿势中箱子700的三维模型之后打开姿势中箱子770的三维模型。In FIG. 6C, the user creates overlay images 740-760 on views 710-730, respectively. Again, the user typically draws on top of the corresponding views to create overlapping images. FIG. 6D shows the three-dimensional model of case 770 in the open pose after overlapping images 740-760 are projected back to the three-dimensional model of case 700 in the open pose.

在本实施例中,箱子670和箱子770的三维模型被组合成单个的三维模型。图6E所示,是包括来自图5C和6C的投影返回数据的箱子780的单个三维模型。如图6E所示,三维模型可以不同于图5A或图6A的姿势摆姿势。In this embodiment, the three-dimensional models of box 670 and box 770 are combined into a single three-dimensional model. Shown in FIG. 6E is a single three-dimensional model of a box 780 including projection return data from FIGS. 5C and 6C. As shown in FIG. 6E, the three-dimensional model may be posed in a different pose than that of FIG. 5A or FIG. 6A.

图7A-C示出本发明一实施例的另一示例。更具体地,图7A示出缺省姿势中凳子800的三维模型。在图7B中,示出缺省姿势中凳子800的众多视图810。在该示例中,用户可如上所述基于视图810绘制。然后图7C示出第二姿势中凳子820的三维模型。如所能看到那样,凳子的腿830可从坐立表面“分解”或分离。示出众多视图840。在该示例中,可看到使用视图840用户能更简便地绘制凳子的坐立表面850和腿860的底部。7A-C illustrate another example of an embodiment of the present invention. More specifically, FIG. 7A shows a three-dimensional model of stool 800 in a default pose. In FIG. 7B, a number of views 810 of stool 800 in a default pose are shown. In this example, the user may draw based on view 810 as described above. FIG. 7C then shows the three-dimensional model of stool 820 in a second pose. As can be seen, the legs 830 of the stool can "break down" or separate from the sitting surface. A number of views 840 are shown. In this example, it can be seen that using view 840 the user can more easily draw the sitting surface 850 and the bottom of the legs 860 of the stool.

可预期有许多改变或更改。根据以上公开内容,本领域技术人员将理解上述概念可应用于任何数量的环境中。例如,绘制功能可完整地提供给对象创建环境、分离滤光环境、第三方绘图程序(例如Photoshop、Maya、SoftImage)等。上述实施例使用平面投影技术来形成对象视图,并将重叠层投影回成三维对象。其它实施例也可使用非平面投影技术来形成对象的立体图,并投影回成三维对象。Many changes or modifications are contemplated. Those skilled in the art will appreciate, in light of the above disclosure, that the concepts described above may be applied in any number of contexts. For example, drawing functions can be fully provided to object creation environment, separation filter environment, third-party drawing programs (such as Photoshop, Maya, SoftImage), etc. The embodiments described above use planar projection techniques to form object views and project overlapping layers back into three-dimensional objects. Other embodiments may also use non-planar projection techniques to form stereoscopic images of objects and project them back into three-dimensional objects.

在本发明的其它实施例中,在重叠层中绘制并执行将平面投影回成三维对象的过程可实时地或接近实时地对对象的多个姿势进行。例如,可向用户呈现第一姿势中对象的第一视图,以及第二姿势中对象的第一视图。然后,用户绘制该第一视图的重叠层。在该实施例中,当用户绘制时进行将绘图投影回三维对象的平面投影过程。然后系统实时或接近实时地重新呈现第一姿势中对象的第一视图,以及第二姿势中对象的第二视图。在这些实施例中,因为过程进行得极快,所以用户可看到表面参数在一个姿势中、在所有其它姿势中(其它姿势的视图)对象上的指定效果。In other embodiments of the invention, the process of rendering in overlapping layers and performing the projection of the planes back into a three-dimensional object may be performed in real-time or near real-time for multiple poses of the object. For example, the user may be presented with a first view of the object in a first pose, and a first view of the object in a second pose. The user then draws an overlay of that first view. In this embodiment, a planar projection process that projects the drawing back to a three-dimensional object occurs as the user draws. The system then re-renders the first view of the object in the first pose, and the second view of the object in the second pose, in real time or near real time. In these embodiments, the user can see the specified effect of the surface parameters in one pose, and on the object in all other poses (views of the other poses) because the process proceeds extremely quickly.

在本发明的各个实施例中,可预期有用于在表面上绘制的各种方法,诸如画笔、纹理、渐变、过滤等。此外,也可预期用于存储绘制图像(例如层)的各种方法。Various methods for drawing on the surface are contemplated in various embodiments of the invention, such as brushes, textures, gradients, filters, and the like. In addition, various methods for storing rendering images (eg, layers) are also contemplated.

以上实施例揭示了用于能够执行所揭示方法的计算机系统的一种方法。其它实施例包括有形媒体上的计算机程序产品,它包括使计算机系统能执行所揭示方法的软件代码等。The above embodiments disclose a method for a computer system capable of performing the disclosed method. Other embodiments include a computer program product on a tangible medium, including software codes, etc., that enable a computer system to perform the disclosed methods.

本领域技术人员在阅读本说明书后可预见其它实施例。在其它实施例中,可有利地进行以上所揭示发明的组合或子组合。为便于理解,体系结构和流程图的框图作了分组。然而,应理解可在本发明的其它实施例中预期框的组合、新框的添加、框的重新排列等。Other embodiments will be envisioned to those skilled in the art after reading this specification. In other embodiments, combinations or sub-combinations of the inventions disclosed above may be advantageously made. The block diagrams of the architecture and flowcharts are grouped for ease of understanding. However, it should be understood that combinations of blocks, addition of new blocks, rearrangement of blocks, etc. are contemplated in other embodiments of the invention.

因此,本说明书和附图被视为说明性的而非限制性的。然而,可作各种修改和改变而不背离本发明在权利要求书中所述的更广泛精神和范围是显而易见的。Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive. It will, however, be evident that various modifications and changes can be made without departing from the broader spirit and scope of the invention as set forth in the claims.

Claims (21)

1. the method for a computer system comprises:
At least a portion of three dimensional object model is posed with first configuration;
Determine first two dimension view of at least a portion of three dimensional object model described in first configuration;
The part of three dimensional object model is posed with second configuration;
Determine second two dimension view of a three dimensional object model part in second configuration;
Make first two dimensional image be associated with first two dimension view of at least a portion of object model;
Make second two dimensional image be associated with second two dimension view of the part of object model;
In response to first two dimensional image and in response to first configuration of at least a portion of three dimensional object model, make the first surface parameter set be associated with the surface of visible three dimensional object model at least a portion in first two dimension view; And
In response to second two dimensional image and in response to second configuration of the part of three dimensional object model, make the second surface parameter set be associated with the surface of a visible three dimensional object model part in second two dimension view.
2. the method for claim 1 is characterized in that, first two dimension view of a described three dimensional object model part is selected from following group: front view, side view, vertical view, upward view.
3. as arbitrary the described method of claim 1-2, it is characterized in that,
The part of described three dimensional object model comprises first object and second object;
First configuration of at least a portion of described three dimensional object model comprises first object and second object with primary importance and direction relations;
Second configuration of the part of described three dimensional object model comprises first object and second object with the second place and direction relations; And
Described primary importance and direction relations and the second place and direction relations are inequality.
4. method as claimed in claim 3 is characterized in that, described primary importance and direction relations and the second place and direction relations are selected from following state:
First object and second object be specific range apart,
First object and second object have special angle each other.
5. as the arbitrary described method of claim 1-2, also comprise:
First two dimension view of at least a portion of display object model on display; And
By on first two dimension view of at least a portion of the object model on the display, drawing, create first two dimensional image.
6. as arbitrary the described method of claim 1-2, it is characterized in that the first surface parameter set is selected from following combination: surface color and polish, appearance, displacement mapping, texture.
7. as arbitrary the described method of claim 1-2, also comprise:
Present the first surface parameter set and the second surface parameter set of object in response to formation, present the part of three dimensional object model; And
The expression of object is stored in the medium with presenting.
8. one kind is used for the equipment that 3-D view is controlled, and comprising:
Be used to receive the device of first configuration of at least a portion of three dimensional object;
Be used for determining the device of first two dimensional image, wherein said first two dimensional image represents the surface of at least a portion of three dimensional object in first configuration;
Be used to receive the device of second configuration of at least a portion of three dimensional object;
Be used for determining the device of second two dimensional image, wherein said second two dimensional image represents the surface of at least a portion of three dimensional object in second configuration;
Be used to receive the device of the first two-dimentional drawing image, the wherein said first two-dimentional drawing image is associated with first two dimensional image;
Be used to receive the device of the second two-dimentional drawing image, the wherein said second two-dimentional drawing image is associated with second two dimensional image;
Be used for determining the device of first group of parameter, the surface of wherein said first group of parameter association at least a portion of three dimensional object in first configuration in response to the first two-dimentional drawing image; And
Be used for determining the device of second group of parameter, the surface of wherein said second group of parameter association at least a portion of three dimensional object in second configuration in response to the second two-dimentional drawing image.
9. equipment as claimed in claim 8 is characterized in that, described first two dimensional image comprises the image of the view of selecting of at least a portion of three dimensional object in first configuration from following combination: front view, side view, vertical view, upward view, oblique view.
10. as arbitrary the described equipment of claim 8-9, also comprise: the device that is used to make up at least a portion of at least a portion of first group of parameter and second group of parameter.
11. arbitrary described equipment as claim 8-9 is characterized in that,
Be used for determining the device of the 3rd two dimensional image, wherein said the 3rd two dimensional image represents other surface of at least a portion of three dimensional object in first configuration;
Be used to receive the device of the 3rd two-dimentional drawing image, the wherein said the 3rd two-dimentional drawing image is associated with the 3rd two dimensional image; And
Be used for determining the device of the 3rd group of parameter, wherein other surface of the 3rd group of parameter association at least a portion of three dimensional object in first configuration in response to the 3rd two-dimentional drawing image;
Other surface of at least a portion of three dimensional object was overlapping during wherein the surface and first of at least a portion of three dimensional object disposed in first configuration.
12. arbitrary described equipment as claim 8-9 is characterized in that,
The part of described three dimensional object model comprises first object and second object;
Described first configuration comprises having first object and direction is second object of first angle;
Described second configuration comprises having first object and direction is second object of second angle; And
Described first angle and second angle are inequality.
13. arbitrary described equipment as claim 8-9 is characterized in that, first parameter set and second parameter set do not have alternatively to be selected from following combination: surface color and polish, appearance, displacement mapping, texture.
14. arbitrary described equipment as claim 8-9 also comprises:
Be used for determining the device of the 4th two dimensional image, wherein said the 4th two dimensional image represents other surface of at least a portion of three dimensional object in second configuration;
Be used to receive the device of the 4th two-dimentional drawing image, the wherein said the 4th two-dimentional drawing image is associated with the 4th two dimensional image; And
Be used for determining the device of the 4th group of parameter, wherein other surface of the 4th group of parameter association at least a portion of three dimensional object in the 4th configuration in response to the 4th two-dimentional drawing image; And
Be used to make up the device of first group of parameter and the 4th group of parameter.
15. a computer system comprises:
Display;
Storer, be configured to store the model of three dimensional object, wherein said storer is configured to store the prime and the second of described three dimensional object, wherein said storer also is configured to store first two dimensional image and second two dimensional image, and wherein said storer is configured to store the surface optical filtering parameter on the surface that is associated with described three dimensional object; And
With described storer and described display-coupled processor, wherein said processor is configured to first view of three dimensional object in display output prime, wherein said processor is configured to second view of three dimensional object in display output second, wherein said processor is configured to receive first two dimensional image and receives second two dimensional image, wherein said processor is configured to determine to be associated with the first surface parameter set on first group of surface of three dimensional object in response to first view of three dimensional object and in response to first two dimensional image, and wherein said processor is configured in response to second view of three dimensional object and determines to be associated with the second surface parameter set on second group of surface of three dimensional object in response to second two dimensional image.
16. computer system as claimed in claim 15 is characterized in that, first view of described three dimensional object is selected from following combination: front view, side view, vertical view, upward view, oblique view.
17. arbitrary described computer system as claim 15-16 is characterized in that,
Described three dimensional object model comprises first object and second object;
Described prime comprises first object that is positioned at primary importance and direction with respect to second object;
Described second comprises first object that is positioned at the second place and direction with respect to second object; And
Wherein said primary importance and direction and the second place and direction are selected from following state:
First object and second object be specific range apart,
First object and second object have special angle each other.
18. arbitrary described computer system as claim 15-16 is characterized in that, first group of second group of surface surperficial and three dimensional object of three dimensional object is different surfaces.
19. arbitrary described computer system as claim 15-16 is characterized in that the first surface parameter set is selected from following combination: surface color and polish, appearance, displacement mapping, texture.
20. arbitrary described computer system as claim 15-16 is characterized in that,
Described processor also is configured in response to first surface parameter set and the second surface parameter set three dimensional object that filters, with form three dimensional object through the expression that filters; And
Described storer also is configured to store the optical filtering of described three dimensional object and represents.
21. arbitrary described computer system as claim 15-16 is characterized in that,
First view of three dimensional object comprises front view in the prime; And
Second view of three dimensional object also comprises front view in the second.
CN200480022225.1A 2003-07-29 2004-03-23 Method and apparatus for improved rendering of projections Expired - Fee Related CN1833271B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49116003P 2003-07-29 2003-07-29
US60/491,160 2003-07-29
PCT/US2004/008993 WO2005017871A1 (en) 2003-07-29 2004-03-23 Improved paint projection method and apparatus

Publications (2)

Publication Number Publication Date
CN1833271A CN1833271A (en) 2006-09-13
CN1833271B true CN1833271B (en) 2010-05-05

Family

ID=34193093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480022225.1A Expired - Fee Related CN1833271B (en) 2003-07-29 2004-03-23 Method and apparatus for improved rendering of projections

Country Status (6)

Country Link
EP (1) EP1661116A4 (en)
JP (1) JP2007500395A (en)
CN (1) CN1833271B (en)
CA (1) CA2533451A1 (en)
NZ (1) NZ544937A (en)
WO (1) WO2005017871A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080284798A1 (en) * 2007-05-07 2008-11-20 Qualcomm Incorporated Post-render graphics overlays
US8334872B2 (en) * 2009-05-29 2012-12-18 Two Pic Mc Llc Inverse kinematics for motion-capture characters
US8922558B2 (en) * 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
KR101640904B1 (en) 2012-02-07 2016-07-19 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Computer-based methods, machine-readable non-transitory medium and server system to provide online gaming experience
CN111145358B (en) * 2018-11-02 2024-02-23 北京微播视界科技有限公司 Image processing method, device and hardware device
CN115503365B (en) * 2021-06-23 2024-03-22 深圳市汉森软件股份有限公司 Rotating body surface printing method, device, equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052669A (en) * 1997-06-06 2000-04-18 Haworth, Inc. Graphical user interface supporting method and system for remote order generation of furniture products
CN1283835A (en) * 1999-08-04 2001-02-14 凌阳科技股份有限公司 A three-dimensional graphics processor with parallel scanning lines as processing units and its drawing method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729704A (en) * 1993-07-21 1998-03-17 Xerox Corporation User-directed method for operating on an object-based model data structure through a second contextual image
US6268865B1 (en) * 1998-01-13 2001-07-31 Disney Enterprises, Inc. Method and apparatus for three-dimensional painting
US7236178B2 (en) * 2001-07-19 2007-06-26 Autodesk, Inc. Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052669A (en) * 1997-06-06 2000-04-18 Haworth, Inc. Graphical user interface supporting method and system for remote order generation of furniture products
CN1283835A (en) * 1999-08-04 2001-02-14 凌阳科技股份有限公司 A three-dimensional graphics processor with parallel scanning lines as processing units and its drawing method

Also Published As

Publication number Publication date
CA2533451A1 (en) 2005-02-24
JP2007500395A (en) 2007-01-11
CN1833271A (en) 2006-09-13
EP1661116A4 (en) 2010-12-01
NZ544937A (en) 2009-03-31
WO2005017871A1 (en) 2005-02-24
EP1661116A1 (en) 2006-05-31

Similar Documents

Publication Publication Date Title
Aliaga et al. Style grammars for interactive visualization of architecture
US9142056B1 (en) Mixed-order compositing for images having three-dimensional painting effects
US8654121B1 (en) Structured polygonal mesh retesselation
US8633939B2 (en) System and method for painting 3D models with 2D painting tools
US8704823B1 (en) Interactive multi-mesh modeling system
US7995060B2 (en) Multiple artistic look rendering methods and apparatus
US8988461B1 (en) 3D drawing and painting system with a 3D scalar field
US8482569B2 (en) Mesh transfer using UV-space
AU2004319516B2 (en) Dynamic wrinkle mapping
Turner et al. Sketching space
US8054311B1 (en) Rig baking for arbitrary deformers
US8599197B1 (en) Annotation-based mesh modification
US7436404B2 (en) Method and apparatus for rendering of translucent objects using volumetric grids
EP2260403B1 (en) Mesh transfer
US8665261B1 (en) Automatic spatial correspondence disambiguation
CN1833271B (en) Method and apparatus for improved rendering of projections
CN110136238B (en) AR drawing method combined with physical illumination model
Ahmed et al. 3D Animation: Don’t Drink and Drive
Ludwig et al. 3D shape and texture morphing using 2D projection and reconstruction
CN1628327A (en) Automatic 3d modeling system and method
US8786611B1 (en) Sliding skin deformer
US8669980B1 (en) Procedural methods for editing hierarchical subdivision surface geometry
Akleman et al. Representing and Modeling Inconsistent, Impossible, and Incoherent Shapes and Scenes with 2D Non-Conservative Vector Fields mapped on 2-Complexes
Zhang et al. Artistic Augmentation of Photographs with Droplets
US9406161B1 (en) Curve reparameterization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Pi Kesa

Address before: California, USA

Patentee before: Pixar

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100505