改良されたペイント投影法とペイント投影装置
コンピュータシステム用の方法は、第1の形態で、3Dモデル(500)にポーズを取らせる処置、第1の形態で、3Dモデルの第1の2D(510)ビューを決定する処置、第2の形態(550)において、3Dモデルにポーズを取らせる処置、第2の形態で、3Dモデルの第2の2D(570)ビューを決定する処置、第1の2Dイメージを、3Dモデルの第1の2Dビューに関連づける処置、第2の2D(570)イメージを、3Dモデルの第2の2Dビューに関連づける処置、第1の2Dイメージと、3Dモデル用の第1の形態に応じて、第1の組のサーフェイス・パラメータを、第1の2Dビューに見える3Dモデルの曲面に関連づける処置、および、第2の2Dイメージと、3Dモデル用の第2の形態に応じて、第2の組のサーフェイス・パラメータを、第2の2Dビューに見える3Dモデルの曲面に関連づける処置を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ・アニメーションに関する。さらに具体的に言えば、本発明は、アニメーション・オブジェクトのサーフェイス・プロパティ(surface property)を指定するための改良された方法および装置に関する。
【背景技術】
【0002】
数年間ずっと、映画製作者はしばしば、架空の生き物、夢見るような場所、空想的な事物にかかわる物語を語ろうとしてきた。そうするために、映画製作者は、この架空のものに「生気」を帯びさせるために、しばしばアニメーション手法を利用してきた。アニメーションにおける主要方針のうちの2つには、伝統的に、線描に基づくアニメーション手法と、ストップ・モーション・アニメーション手法があった。
【0003】
線描に基づくアニメーション手法は、ウォールトディズニーなどの映画製作者により、20世紀に改良されて、「白雪姫と7人の小人」や「Fantasia」(1940年)などの映画で利用された。このアニメーション手法は、一般に、アーティストに、アニメ・イメージを、透明媒体すなわちセル上に手書きする(または、ペイントする)ように求めた。次に、ペインティングの後で、それぞれのセルは、映画において、1つまたは複数のフレームとして、フィルム上に取り込まれるか、あるいは記録されることになる。
【0004】
ストップ・モーションに基づくアニメーション手法は、一般に、小型のセット、小道具、キャラクタの構築を要求した。これらの映画製作者は、これらのセットを組み立てて、小道具を追加し、小型のキャラクタを、或るポーズ(pose)に置くことになる。アニメ製作者が、手はずをすべて整えた方法に満足した後で、フィルムの1つまたは複数のフレームが、その特定の配置構成について撮られることになる。ストップ・モーションに基づくアニメーション手法は、「キングコング」(1932年)などの映画向けに、Willis O’Brienなどの映画製作者により開発されたものである。その後、これらの手法は、「Mighty Joe Young」(1948年)や「Clash Of The Titans」(1981年)を含む映画向けに、Ray Harryhausenなどのアニメ製作者により改良された。
【0005】
20世紀の末頃、コンピュータが広範に利用できるようになると、アニメ製作者は、アニメーション処理に役立てるように、コンピュータに頼り始めた。これは、コンピュータを使用して、例えば、イメージにペイントしたり、中間的なイメージを生成する(「トゥイーン(tweening)」)ことなどして、線描に基づくアニメーションを容易ならしめる処置を含んだ。これはまた、コンピュータを使用して、ストップ・モーション・アニメーション手法を増強する処置も含んだ。例えば、物理モデルが、コンピュータ・メモリ中のバーチャル・モデルで表現されて、操作されることもある。
【0006】
コンピュータ支援アニメーション(CAA)業界における先駆的な企業の1つは、Pixar、dba Pixar Animation Studiosであった。長年にわたって、Pixarは、CAA用に特別設計されたコンピューティング・プラットフォームと、RenderMan(登録商標)として知られているアカデミー賞獲得のレンダリング・ソフトウェアを両方とも開発して、提供した。
【0007】
長年にわたって、Pixarは、国内用にソフトウァア製品とソフトウェア環境も開発して、ユーザ(モデル製作者、モデラー)が、オブジェクトrig(object rig)を容易に定義できるようにし、また、ユーザ(アニメ製作者)が、これらのオブジェクトrigを容易にアニメートできるようにしてきた。このような現実の体験に基づいて、本発明の発明者は、オブジェクトの定義とアニメーション処理を容易ならしめるために、上記のソフトウァア製品とソフトウァア環境に追加的な機能が与えられるものと判断している。このような機能の1つには、オブジェクトのサーフェイス・プロパティの定義を容易ならしめる方法と装置がある。
【0008】
本発明の発明者は、サーフェイス・パラメータを1オブジェクトに指定するための改良された方法が必要となると判断している。
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、コンピュータ・アニメーションに関する。さらに具体的に言えば、本発明は、オブジェクト、あるいはオブジェクトのうち、異なるポーズにある部分のサーフェイス・パラメータをユーザが指定できるようにする方法と装置に関する。
【0010】
本発明の実施態様は、三次元「ペインティング」を生成するプロセスを管理するのに役立てるために用いられる。実施態様は、複数のポーズの定義を制御し、ビュー(view)のレンダリングを管理し、曲面材料にテクスチャ情報を送る機構を提供し、テクスチャや他のデータファイル用のカタログ化(cataloging)とソース・コントロールを実現する。
【0011】
本発明の実施態様では、ユーザは、事実上、従来の任意の二次元ペイント・プログラムを使用して、三次元オブジェクト上に「直接に」ペイントすることができる。一実施態様では、このペイント・プログラムは、「レイヤ(層)」を利用する。ある実施態様では、ユーザは、このオブジェクトの異なるビューに、いくつかの二次元ペインティング(例えば、オーバーレイ・イメージ)を行う。代表的なビューは、「前方」、「後方」などの向きのあるカメラである。本発明の実施態様では、このオブジェクト・モデルが、ただ1つの基準ポースで完全にペイントするのが難しすぎる場合に、ユーザは、複数の形態で、このオブジェクト・モデルに再びポーズを取らせることができる。さらに、ユーザは、この再びポーズを取らせたオブジェクトのビューのいくつかのオーバーレイ・イメージにもペイントすることができる。
【0012】
本発明の実施態様の代表的なワークフローは、オブジェクト・モデルを、このシステムにロードすることと、異なる形態で、このオブジェクト・モデルにポーズを取らせることを含む。例えば、テーブルにペイントするためには、ユーザは、テーブルを定義する1つのポーズと、このテーブルの底面から遠ざかる方向にテーブルの脚を移動させることで、このモデルを「分解する(explode)」別のポーズを持つことがある。次に、このワークフローは、1つまたは複数のビューを生成するか、または定義して、異なるポーズにあるモデルにペイントする処置を含むことがある。
【0013】
様々な実施態様において、異なるポーズで、かつ、定義されたビューで、オブジェクトにレンダリング・パス(rendering pass)が行われる。このレンダリング・パスの結果は、一般に、レンダリングされたオブジェクトのビットマップ・イメージ、ビュー、およびレンダリングされた曲面の関連する奥行きマップ(depth map)である。このワークフローはまた、ユーザに、これらのレンダリングされたビットマップを二次元ペイント・プログラムにロードさせて、色、変位などを表わす1つまたは複数のパスをペイントさせる処置も含むことがある。
【0014】
後で、このシステムは、それぞれのオブジェクトを、それぞれのポーズで、それぞれのビューに平面投影(逆マップ)した結果をレンダリング時に計算して、その結果得られた、目に見えるあらゆる曲面地点の2D座標を保存する。面シェーダは、これらの保存された2D座標を使用して、パスごとに、2Dテクスチャ・マップなどのサーフェイス・パラメータを評価する。次に、このパス計算により戻された値を使用して、ペイントに影響される曲面に彩色するか、あるいは、これらの曲面を変位させるように、面シェーダに様々な効果をもたらす。他の実施態様では、透視図法などの非平面投影法が使用される。
【0015】
実施態様では、この奥行きマップは、投影されたビューに対する最前の曲面だけが、確実に、このペイントを受け取れるように、平面投影段階処理の間に評価される。さらに、垂直であるか、あるいは、この投影ビューから遠い方に面している曲面上にペイントを投影しないようにするために、投影処理の間、曲面垂線を考慮に入れる。
【0016】
本発明の実施態様では、このオブジェクト・モデルのビューごとに、またポーズごとに、すべての投影パスを解明した後で、面シェーダは、その計算を終了する。その結果得られたレンダリングされたオブジェクト・モデルは、一般に、上述のポーズとは異なるポーズを取る。
【0017】
様々な実施態様において、このレンダリングされたオブジェクト・モデルは、一般に、シーンに関連してレンダリングされて、このレンダリングされたシーンがメモリに保存される。後で、このレンダリングされたシーンは、一般に、メモリで検索されて、ユーザに表示される。様々な実施態様において、このメモリは、ハードディスク・ドライブ、RAM、DVD−ROM、CD−ROM、フィルム(薄膜)媒体、印刷媒体などである。
【0018】
上の説明により、本発明の実施態様から、ユーザは、アーティキュレーションされた三次元オブジェクト・モデルに、複数の形態でポーズを取らせて、複数のビューから投影されたペイントを受け取ることができる。これらの実施態様は、複数のテクスチャ・マップ、色などのようなサーフェイス・パラメータを、複雑な変形可能な三次元オブジェクト・モデルの曲面上に施す効率と有効性(効力)を向上させる。
【0019】
本発明の実施態様の利点は、このオブジェクトの複数の観察位置と複数のポーズ形態から、どんな三次元オブジェクト・モデルにもユーザがペイントできるようにする機能を含む。複数のポーズ形態の概念により、ユーザは、このモデルを変形させるか、あるいは、さらに小さい部材に分解させる場合を除き、直接には近づけないかもしれないエリアにペイントできる。
【0020】
本発明の実施態様は、複数のビュー/ポーズを編成するため、また、その結果得られたテクスチャ・マップを、このオブジェクト上に戻して施すために、固有の手法を導入している。さらに具体的に言えば、これらの実施態様は、曲面の向き(垂線)と、この投影ビューからレンダリングされた奥行きマップを用いて、どの曲面がペイントを受け取るか選択的に制御する。
【0021】
本発明の一面により、コンピュータシステム用の方法が述べられる。一方法は、第1の形態で、三次元オブジェクト・モデルの少なくとも一部にポーズを取らせる処置、第1の形態にある間、三次元オブジェクト・モデルの上記少なくとも一部の第1の二次元ビューを決定する処置、第2の形態で、三次元オブジェクト・モデルの上記一部にポーズを取らせる処置、および、第2の形態にある間、三次元オブジェクト・モデルの上記一部の第2の二次元ビューを決定する処置を含む。様々な手法はまた、第1の二次元イメージを、三次元オブジェクト・モデルの上記少なくとも一部の第1の二次元ビューに関連づける処置と、第2の二次元イメージを、三次元オブジェクト・モデルの上記一部の第2の二次元ビューに関連づける処置も含む。このプロセスはまた、第1の二次元イメージに応じて、また、三次元オブジェクト・モデルの上記少なくとも一部用の第1の形態に応じて、第1の組のサーフェイス・パラメータを、第1の二次元ビューに見える三次元オブジェクト・モデルの上記少なくとも一部の曲面に関連づける処置と、第2の二次元イメージに応じて、また、三次元オブジェクト・モデルの上記一部用の第2の形態に応じて、第2の組のサーフェイス・パラメータを、第2の二次元ビューに見える三次元オブジェクト・モデルの上記一部の曲面に関連づける処置を含むことがある。
【0022】
本発明の別の面により、プロセッサを含むコンピュータシステム用のコンピュータプログラム製品が述べられる。このコンピュータプログラム製品は、三次元オブジェクトの少なくとも一部用の第1の形態を受け入れるように、上記プロセッサに指示するコード、第1の形態にある三次元オブジェクトの上記少なくとも一部の曲面を露出させる第1の二次元イメージを決定するように、上記プロセッサに指示するコード、三次元オブジェクトの少なくとも一部用の第2の形態を受け入れるように、上記プロセッサに指示するコード、および、第2の形態にある三次元オブジェクトの上記少なくとも一部の曲面を露出させる第2の二次元イメージを決定するように、上記プロセッサに指示するコードを含む。追加のコンピュータ・コードは、第1の二次元イメージに関連づけられる第1の二次元ペイント・イメージを受け取るように、上記プロセッサに指示するコードと、第2の二次元イメージに関連づけられる第2の二次元ペイント・イメージを受け取るように、上記プロセッサに指示するコードを含むことがある。このコードはまた、第1の形態にある三次元オブジェクトの上記少なくとも一部の曲面に関連づけられる第1のグループのパラメータを、第1の二次元ペイント・イメージに応じて決定するように、上記プロセッサに指示するコードと、第2の形態にある三次元オブジェクトの上記少なくとも一部の曲面に関連づけられる第2のグループのパラメータを、第2の二次元ペイント・イメージに応じて決定するように、上記プロセッサに指示するコードを含む。これらのコードは、有形の媒体上に、機械が読取り可能か、または人間が読取り可能なコードを含む。代表的な媒体には、磁気ディスク、光ディスクなどがある。
【0023】
本発明のさらに他の面にしたがって、コンピュータシステムが述べられる。このコンピュータシステムは、一般に、ディスプレイ、メモリ、プロセッサを含む。或るコンピュータシステムでは、メモリは、三次元オブジェクトのモデル、この三次元オブジェクト用の第1のポーズと第2のポーズ、第1の二次元イメージと第2の二次元イメージ、および、この三次元オブジェクトの曲面に関連づけられる面シェーディング・パラメータを保存するように構成されている。このコンピュータシステムでは、プロセッサは、一般に、第1のポーズにある三次元オブジェクトの第1のビューをディスプレイに出力するように構成され、また、第2のポーズにある三次元オブジェクトの第2のビューをディスプレイに出力するように構成され、さらに、第1の二次元イメージを受け取り、また第2の二次元イメージを受け取るように構成されている。このプロセッサはまた、三次元オブジェクトの第1のビューに応じて、また、第1の二次元イメージに応じて、三次元オブジェクトの曲面に関連づけられる第1の組のサーフェイス・パラメータを決定するように構成され、かつ、三次元オブジェクトの第2のビューに応じて、また、第2の二次元イメージに応じて、三次元オブジェクトの追加曲面に関連づけられる第2の組のサーフェイス・パラメータを決定するように構成されている。
【0024】
本発明をさらに充分に理解するために、添付図面を参照する。これらの図面は、本発明の範囲を制限するとは考えられないと理解した上で、現在述べられている実施態様や、現在了解されている本発明の最良の態様が、以下の添付図面を使用して、さらに詳しく述べられる。
【発明を実施するための最良の形態】
【0025】
以下の特許開示では、次の用語が用いられている。
【0026】
「Gprim(幾何学的プリミティブ)」。パラメトリック関数(Bspline)により、また、任意数の面(多角形)、もしくは、それらに類するものに編成された三次元点の集まりにより定義されたただ1つの三次元曲面。
【0027】
「モデル(オブジェクト・モデル)」。任意数の面(ポリゴン・メッシュと細分化曲面)、陰関数(implicit)曲面、もしくはそれらに類するものに編成されたGprimの集まり。このシステムは、その機能を果たすために、2D曲面をパラメータで表わす必要はない。
【0028】
「ビュー(view)」。特定の観察位置からモデルのイメージを生成できる正射影または透視画法のカメラ。
【0029】
「ポーズ(pose)」。モデルの階層内での特定の厳正な変形と、モデルのGprimの特定形態の点から、そのモデルの状態。ポーズはまた、1つまたは複数のビューの状態も表わす。
【0030】
ポーズは、一般に、モデルと、すべてのビュー・カメラの双方の位置と向きを含む。本発明の実施形態では、ポーズは、オブジェクト・モデル内の2つ以上のオブジェクトの特定の形態または向きを指定する。例えば、ポーズは、2つのオブジェクトが、互いに特定の間隔にあること、あるいは、2つのオブジェクトが、互いに特定の角度をなしていること、もしくは、それらに類することを指定するかもしれない。オブジェクトの異なるポーズの例は、以下に図示される。
【0031】
キャラクタが位置づけられるときはいつでも、その位置は、一般に、指定されたポーズとして保存され、したがって、後で、そのシステムとユーザが、その位置を参照することができる。ユーザは、このモデルの位置を変えて、新たなカメラ・ビューを確立した後で、新たなポーズを保存する。特定のビューにおいて生成されるペインティング(オーバーレイ・イメージ)は、カメラの位置と向きと密接に結び付けられている。
【0032】
「パス(pass)」。ペインティングのタイプ、例えば、パスに用いられることになっているカラー・チャネルの数とともに、「色」または「変位」。その名前は、シェーダ内で一組のペインティングを参照するのに利用するハンドルを与える。一般に、それらの名前は任意である。
【0033】
図1は、本発明の一実施形態による代表的なコンピュータシステム100のブロック図である。
【0034】
この実施形態では、コンピュータシステム100は、一般に、モニタ110、コンピュータ120、キーボード130、ユーザ入力装置140、ネットワーク・インターフェース150などを含む。
【0035】
この実施形態では、ユーザ入力装置140は、一般に、コンピュータ・マウス、トラックボール、トラックパッド、無線リモコン、描画タブレット、ディスプレイ・タブレット統合装置(例えば、WacomによるCintiq)、ボイス・コマンド・システム、アイ・トラッキング・システムなどとして具現される。ユーザ入力装置140は、一般に、ユーザに、モニタ110に表示されるオブジェクト、アイコン、テキストなどを選択できるようにする。
【0036】
ネットワーク・インターフェース150の実施形態は、一般に、イーサネット(登録商標)・カード、モデム(電話、衛星、ケーブル、ISDN)(非同期)ディジタル加入者線(DSL)ユニットなどを含む。ネットワーク・インターフェース150は、一般に、図示されるように、コンピュータ・ネットワークに結合されている。他の実施形態では、ネットワーク・インターフェース150は、コンピュータ120のマザーボード上に物理的に統合されるか、ソフトDSLなどのソフトウェア・プログラムであるか、あるいは、それらに類するものであるかもしれない。
【0037】
コンピュータ120は、一般に、プロセッサ160と、ランダム・アクセス・メモリ(RAM)170、ディスク・ドライブ180などのメモリ記憶装置のようなおなじみのコンピュータ構成要素と、これらのコンピュータ構成要素を相互接続するシステムバス190を含む。
【0038】
一実施形態では、コンピュータ120は、Intel CorporationからのPentiumIV(商標)マイクロプロセッサまたはXeon(商標)マイクロプロセッサなどの1つまたは複数のマイクロプロセッサを持つPC対応のコンピュータである。さらに、この実施形態では、コンピュータ120は、一般に、LINUXベースのオペレーティングシステムも含む。
【0039】
RAM170とディスクドライブ180は、データ、オーディオ/ビデオ・ファイル、コンピュータ・プログラム、シーン記述子(ディスクリプタ)ファイル、オブジェクト・データ・ファイル、オーバーレイ・イメージ、奥行きマップ、シェーダ記述子、レンダリング・エンジン、シェーディング・エンジン、出力イメージ・ファイル、テクスチャ・マップ、変位マップ、ペインティング環境、オブジェクト生成環境、アニメーション環境、面シェーディング環境、アセット管理システム、データベースとデータベース管理システムなどを格納するための有形の媒体の例である。他のタイプの有形の媒体には、フロッピー(登録商標)ディスク、リムーバブル・ハードディスク、CD−ROM、DVD、バーコードなどの光記憶媒体、フラッシュ・メモリ、リード・オンリー・メモリ(ROM)、バッテリでバックアップされた揮発性メモリ、ネットワーク上記憶装置のような半導体メモリなどがある。
【0040】
この実施形態では、コンピュータシステム100はまた、HTTPプロトコル、TCP/IPプロトコル、RTP/RTSPプロトコルなどのように、ネットワーク上でやり取りできるようにするソフトウェアも含む。本発明の代替実施形態では、他の通信ソフトウェアとファイル転送プロトコル、例えば、IPX、UDPなども使用することがある。
【0041】
図1は、本発明を実施できるコンピュータ・レンダリング・システムを表わしている。通常の当業者であれば、他の多くのハードウェア構成やソフトウェア構成も、本発明への使用に適切であることがすぐに明らかになろう。例えば、このコンピュータは、デスクトップ構成、携帯構成、ラック・マウント構成、またはタブレット構成であってもよい。さらに、Pentium(商標)マイクロプロセッサまたはItanium(商標)マイクロプロセッサ、Advanced Micro Divices,Inc.からのOpteron(商標)マイクロプロセッサまたはAthlonXP(商標)マイクロプロセッサ、Motorola,Inc.からのPowerPC G4(商標)マイクロプロセッサ、G5(商標)マイクロプロセッサなどのような他のマイクロプロセッサの使用も考えられる。さらに、Microsoft CorporationからのWindowsXP(登録商標)、WindowsNT(登録商標)などのWindows(登録商標)オペレーティングシステム、Sun MicrosystemsからのSolaris、Apple Computer CorporationからのLINUX、UNIX(登録商標)、MAC OSなどのような他のタイプのオペレーティングシステムも考えられる。
【0042】
図2は、本発明の一実施形態のブロック図を示している。具体的に言えば、図2は、アニメーション環境200、オブジェクト生成環境210、記憶システム220を示している。
【0043】
この実施形態では、オブジェクト生成環境210は、アーマチュアとrigを含むオブジェクトのアーティキュレーション・モデルをユーザ(モデル製作者)が指定できるようにする環境である。この環境内では、ユーザは、オブジェクトのモデルを生成し(手操作で、手続きに従ってなど)、アニメーション変数(Avars)に対して、これらのオブジェクトが、どのようにアーティキュレーションするのか指定できる。特定の一実施形態では、オブジェクト生成環境210は、「Gepetto」として知られているPixar独自仕様のオブジェクト生成環境である。他の実施形態では、他のタイプのオブジェクト生成環境が使用できる。
【0044】
この実施形態では、ユーザ(シェーダ)が、オブジェクト生成環境210も使用して、これらのオブジェクト・モデルのサーフェイス・パラメータを指定する。以下に述べられるように、ユーザが、ペインティングを通じて、これらのオブジェクト・モデルの曲面にパラメータを割り当てられるようにする環境が、オブジェクト生成環境210内で、あるいは、別個に提供されることがある。様々な実施形態において、これらのサーフェイス・パラメータには、カラーデータ、テクスチャ・マッピング・データ、変位データなどがある。これらのサーフェイス・パラメータは、一般に、シーン内で、このオブジェクトをレンダリングするのに使用される。
【0045】
本発明の実施形態では、この環境により、ユーザは、このオブジェクト・モデルに対して、ポーズを定義することができる。さらに、この環境により、ユーザは、異なるポーズにあるオブジェクト・モデルのビューをレンダリングすることができる。この環境はまた、この機構を提供して、標準オブジェクト形態にて陰影を付けて、レンダリングしながら、「基準」ポーズ(Prefとしても知られている)への平面投影(奥行きマップと曲面垂線の使用が可能である)を実行し、また、以下に述べられるように、異なるビュー、異なるポーズ、異なるペイント・データ、異なるサーフェイス・パラメータ・データなどの間での関連づけを維持する。
【0046】
この実施形態では、オブジェクト生成環境210を用いて生成されるオブジェクト・モデルは、アニメーション環境20でも使用できる。一般に、オブジェクト・モデルは、階層的に構築される。オブジェクト・モデルを構築する階層性は、役に立つ。なぜなら、一般に、異なるユーザ(モデル製作者)には、異なるモデルを生成するタスクが割り当てられるからである。例えば、或るモデル製作者には、ハンド・モデル290を生成するタスクが割り当てられ、また、別のモデル製作者には、下方腕のモデル280を生成するタスクが割り当てられるといった具合である。
【0047】
この実施形態では、アニメーション環境200は、アニメーション変数(Avars)を通じて、オブジェクトのアーティキュレーション・モデルをユーザ(アニメ製作者)が操作できるようにする環境である。一実施形態では、アニメーション環境200は、Pixar独自仕様のアニメーション環境(「Men V」として知られている)である。ただし、他の実施形態では、他のアニメーション環境も適応させることもできる。この実施形態では、アニメーション環境200により、アニメ製作者は、これらのオブジェクト・モデル(包括的rig)中に与えられたAvarsを操作し、また、時間に関して、これらのオブジェクトを動かす(すなわち、オブジェクトをアニメートする)ことができる。
【0048】
本発明の他の実施形態では、アニメーション環境200とオブジェクト生成環境210を組み合わせて、1つの統合環境を形成することがある。
【0049】
図2では、記憶システム220は、オブジェクトのアーティキュレーション・モデルにアクセスする、編成された繰返し可能な任意のやり方を含む。例えば、一実施形態では、記憶システム220は、ローカル・ドライブまたはネットワーク・ドライブ上に単純なフラット・ディレクトリ(flat-directory)構造を含む。他の実施形態では、記憶システム220は、アセット管理システム、またはデータベースに結び付けられているデータベース・アクセス・システム、もしくは、それらに類するものである。一実施形態では、記憶システム220は、アニメーション環境200とオブジェクト生成環境210から、オブジェクト・モデルへの参照データを受け取る。返事として、記憶システム220は、ここに保存されているオブジェクト・モデルを提供する。記憶システム220はまた、一般に、本明細書に説明されているサーフェイス・シェーディング・パラメータ、オーバーレイ・イメージ、奥行きマップなども保存する。
【0050】
従来は、Pixarのオブジェクト生成環境により、ユーザは、特定の形態(ポーズ)にて、複数のビューから、1オブジェクト・モデル上にイメージ(テクスチャ)をペイントし、投影することができた。しかしながら、本発明の発明者は、このオブジェクト生成環境が、異なるポーズにあるオブジェクトのビューをサポートしないことと、ただ1つのポーズにある複雑な三次元モデル上にテクスチャを施すことが難しいことがわかった。
【0051】
図3A〜図3Bは、本発明の一実施形態によるフロー・プロセスを示している。最初に、三次元オブジェクト・モデルを提供する(ステップ300)。一般に、一人または複数人のユーザ(オブジェクト・モデル製作者)は、オブジェクト生成環境を通じて、1つまたは複数のオブジェクトの幾何学的表現を指定する。これらのオブジェクトをいっしょに組み合わせて、さらに大きいオブジェクトのモデルを形成する。この実施形態では、このモデル製作者は、Gepettoなどのようなオブジェクト生成環境を使用することがある。
【0052】
次に、この実施形態では、ほかのユーザが、これらのオブジェクトの曲面がどのように表示されるべきか指定する。例えば、このようなユーザ(シェーダ)は、基本色、スクラッチ、ほこり、変位マップ、ざらざらと明るさ(ハイライト)のマップ、透明度、材料制御(control over material)タイプなどの、オブジェクトの曲面効果をいくつでも指定する。そうするために、ユーザは、三次元オブジェクト・モデルを得て、初期ポーズを指定する(ステップ310)。他の実施形態では、オブジェクトがデフォルト・ポーズを持つときに、このステップを特定的に実行する必要はない。例えば、自動車などのキャラクタ用のオブジェクト・モデルは、そのドアを閉めた状態のデフォルト・ポーズを持つことがある。同時に、ユーザは、一般に、1つまたは複数のビュー・カメラ位置を指定する。他の実施形態では、オブジェクトごとに、いくつかのデフォルト・カメラを使用できる。例えば、様々な実施形態において、一般に指定される投影ビューは、上面ビュー、左側面ビュー、右側面ビュー、底面ビューなどを含む。さらに、カメラは、斜めビュー、もしくはそれに類するビューであってもよい。投影ビューは、平面であるだけでなく、非平面で、かつ射影的でもあってもよい。例として、曲線状プロジェクタ(curved projector)が、イメージを曲面上にマッピングする場合には、透視図法が考えられる。
【0053】
次に、この実施形態において、このコンピュータシステムは、第1のポーズにある三次元オブジェクトの二次元ビューをレンダリングする(ステップ320)。さらに具体的には、このシステムは、このオブジェクト・モデル、このポーズ、ビュー・カメラ・データを用いて、それぞれのビューをレンダリングする。様々な実施形態において、このレンダリング・パスは、PixarのRenderman製品などのレンダリング・プログラムによる高品質のレンダリングでよい。他の実施形態では、このレンダリング/シェーディング処理は、GLおよびGPUのハードウェアや、ソフトウェアのレンダラーなどの低品質のレンダリング処理を用いて実行できる。
【0054】
様々な実施形態において、それぞれのレンダリングされたビューは、個々のビュー・イメージ・ファイルとして保存するか、あるいは、組み合わせて、さらに大きいファイルを形成する。それぞれのレンダリングされたビューとともに、平面投影機能を利用できる奥行きマップも生成する。
【0055】
この実施形態において、このシステムは、このオブジェクトの1つまたは複数のレンダリングされたビューを表示する(ステップ330)。本発明の実施形態では、このステップは、ユーザが、ピクセル値を二次元イメージ上にグラフィカルに割り当てられるようにするユーザ環境において行われる。一般に、このような環境は、「ペイント(paint)」機能を含むと呼ばれる。一実施形態では、この1つまたは複数のビューは、同時に、ユーザに表示できる。
【0056】
次に、実施形態において、ユーザは、このオブジェクトのビューとともに、ピクセル値を割り当てる(ステップ340)。一実施形態では、ユーザは、このオブジェクトの「上」にグラフィカルにペイントすることで、この処置を実行する。このペインティングは、子供がお絵かきをするか、あるいは、塗り絵の本に描かれているイメージに色を着けることに似ている。例えば、ユーザは、オーバーレイ層、もしくはそれに類するものを用いて、オブジェクトのビュー上に、異なるブラシを施す。本明細書では、「層」に類似する機構の使用が考えられる。この実施形態では、これらの異なるブラシは、1つまたは複数のグレースケール値、1つまたは複数の色などを持つことがある。
【0057】
一例として、ユーザは、細い黒色ブラシを使用して、このビューのオーバーレイ層にクラック・タイプのパターンを描くことがある。別の例では、ユーザは、スプレーペイント・タイプのブラシを使用して、このビューのオーバーレイ層中の選択された部分を濃くすることがある。さらに他の例では、ユーザは、ペイントブラシを使用して、このビューのオーバーレイ層に着色することがある。さらに他の実施形態では、オーバーレイ層イメージを指定する他のやり方、例えば、このイメージへの1つまたは複数の勾配(gradient)の適用、オーバーレイ層イメージの指定部分に限定される操作(例えば、選択)の適用、オーバーレイ層イメージへの1つまたは複数のイメージの組込み(例えば、decal層(decal layer))なども考えられる。
【0058】
次に、この実施形態では、それぞれのビューに対するオーバーレイ層イメージを保存する(ステップ350)。様々な例では、これらのオーバーレイ層イメージを、この二次元ビューとは別で、かつ識別可能なファイルに保存する。他の実施形態では、このオーバーレイ層イメージを、この二次元ビューのレイヤ、もしくは、それらに類するものに保存する。様々な実施形態において、このオーバーレイ層イメージを含むファイルはまた、ステップ310において定義されるポーズ、および、ステップ320、ステップ360において決定される奥行きマップにも関連づけられる。
【0059】
この実施形態では、ユーザは、第2のポーズにある三次元オブジェクトに再びポーズを取らせることに決める(ステップ370)。次に、上述のプロセスを繰り返す。様々な実施形態において、この三次元オブジェクトに再びポーズを取らせ、1つまたは複数のビューと、そのビューの上にペイントする奥行きマップなどを生成する処理を、ユーザが必要とみなすだけの数のポーズに対して、繰り返すことができる。一例として、キャラクタのオブジェクトでは、或るポーズは、口を開け、かつ腕を上げたキャラクタであり、また、別のポーズは、口を閉じて、かつ腕を下ろしたキャラクタであることもある。別の例として、折畳み式テーブルでは、或るポーズは、広げられた折畳み式テーブルであり、また、別のポーズは、脚を、テーブル上面板から「分解」すなわち分離した折畳み式テーブルであることもある。
【0060】
本発明のいくつかの実施形態では、ユーザは、スクリーン上に、この三次元オブジェクトの異なるポーズから得られたビューを同時に見ることがある。よって、上述の見て、ペイントする処理は、一度に、このオブジェクトの1つのポーズに基づいてのみ、実行する必要はない。さらに、ユーザは、同一セッションにおいて、異なるポーズから、このオブジェクトのビューの上にペイントすることがある。例えば、キャラクタが口を開けたポーズを取る場合には、ユーザは、キャラクタの口を示すビュー上のレイヤに白色をペイントし、次に、ユーザは、キャラクタの髪を示すビューのレイヤに黒色をペイントし、次に、ユーザは、キャラクタの口を示すビュー上のレイヤに白色の別のシェード(陰影)を再びペイントすることがある。
【0061】
この実施形態では、次のステップは、第1のポーズにある三次元オブジェクトのそれぞれのビュー上にペイントされた値を、この三次元オブジェクトに戻して関連づけることである(ステップ380)。さらに具体的に言えば、三次元オブジェクトのそれぞれのビューは、一般に、第1のポーズにある三次元オブジェクトの曲面を二次元に投影したものである。よって、このオーバーレイ・イメージにより「ペイントされる」ように思われる部分は、関連する奥行きマップを用いて、この三次元オブジェクトに戻して、投影される。このような機能が有効になる。なぜなら、このシステムは、三次元オブジェクトのオーバーレイ・イメージ、ビュー、ポーズの間で連係を維持するからである。レンダリングされたビューが複数ある場合には、このペイントは、レンダリングされたビューごとに、第1のポーズにある三次元オブジェクトに戻して、投影される。
【0062】
本発明の実施形態では、曲面垂線は、この三次元オブジェクトの曲面上への投影の効果を「フェザリングする(feather)」ために使用できる。例えば、曲面が、この投影ビューに平行である場合には、そのペイント効果は、〜100%であると算出されるが、しかるに、曲面が、この投影ビューに対して30度の角度をなしている場合には、そのペイント効果は、〜50%(sin(30))であると算出され、一方、曲面が、この投影ビューに対して60度の角度をなしている場合には、そのペイント効果は、〜13%(sin(60))であると算出されるといった具合である。フェザリングする大きさは、ユーザにより調整される。他の実施形態では、フェザリングは、このオブジェクトの縁または境界などのような推移部分でのペイント効果を変えるために使用できる。様々な実施形態において、この投影されたペイントのフェザリングにより、投影されたペイントのスミアリングが減らされる。
【0063】
図4は、一実施形態の一例を示している。この例では、三次元円筒体500は、円筒体500の二次元ビュー520内の長方形510として表示される。上記のプロセスにより、ユーザは、ビュー520の上にオーバーレイ・イメージ530をペイントする。この例では、ユーザは、円筒体500の下半分に、黒色でペイントする。
【0064】
次に、図4に示されるように、このオーバーレイ・イメージを、この三次元円筒体に投影する。よって、円筒体500の前部下側の曲面540のモデルを、そのプロパティ、すなわち黒色に関連づけ、また、この曲面垂線が可視平面から遠ざかる方に向かうにつれ、そのモデルをフェザリングする。円筒体500の後部下側の曲面550は、ビュー520内に露出しなかったので、黒色には関連づけられてない。
【0065】
この例では、円筒体500の後部ビュー560と下側ビュー570を指定して、円筒体500の残る下半分の曲面を露出させることもある。
【0066】
図3に戻って、次のステップは、第2のポーズにある三次元オブジェクトのそれぞれのビューにペイントされた値を、この三次元オブジェクトに戻して関連づけることである(ステップ390)。上の説明と同様に、このオブジェクトのそれぞれのビューは、一般に、第2のポーズにある三次元オブジェクトの曲面を二次元に投影したものである。よって、このオーバーレイ・イメージにより「ペイントされる」ように思われる部分は、関連する奥行きマップを用いて、この三次元オブジェクトに投影される。また、レンダリングされたビューが複数ある場合には、このペイントは、レンダリングされたビューごとに、第2のポーズにある三次元オブジェクトに戻して、投影される。
【0067】
この実施形態では、ステップ380とステップ390からの平面投影を組み合わせて、双方とも、この三次元オブジェクトの曲面に戻して投影する(ステップ400)。言い替えれば、ユーザは、異なるポーズにある三次元オブジェクトのレンダリングされたビューにペイントし、かつ、そのペイント・データを、中立のポーズにあるただ1つの三次元オブジェクトに戻して投影させる。
【0068】
本発明の発明者は、上記の機能が重要であると考えている。これは、上記の機能により、ユーザが、三次元オブジェクトに再びポーズを取らせることができ、かつ、その結果得られたレンダリングされたビューにユーザがペイントできるようにすることで、この三次元オブジェクトの到達困難な部分にユーザが「ペイント」できるからである。一例として、或るポーズは、口を閉じているキャラクタであり、また、別のポーズは、口を開けているキャラクタである。さらに、本発明の実施形態を利用する例を、以下に例示する。
【0069】
本発明の実施形態では、三次元オブジェクトの正式レンダリングの前に、このステップ400を実行することもある。他の実施形態では、ステップは、正式レンダリング処理の間に動的に行われる。例えば、ステップ380からのデータと、ステップ390からのデータは、別々のファイルに維持される。次に、このオブジェクトが、高品質にレンダリングされることになっているときには(例えば、PixarのRendermanを用いて)、このシステムは、第1のポーズにある三次元オブジェクトからの平面投影データを、第2のポーズにある三次元オブジェクトからの平面投影データに動的に組み合わせる。
【0070】
次に、この組み合わされた平面投影データを使用して、一般に第3のポーズにある三次元オブジェクトをレンダリングする(ステップ410)。一例として、第1のポーズは、両腕を下ろしたキャラクタであり、また、第2のポーズは、両腕を上げたキャラクタであり、さらに、第3のポーズは、片腕だけを上げたキャラクタである。
【0071】
本発明の実施形態では、このペイント・データは、このオブジェクトの曲面に、プロパティをいくつでも指定してもよい。このようなプロパティはまた、シェーディング・パス・データとも呼ばれる。代表的なオブジェクト曲面では、100よりも多いシェーディング・パスがあることもある。例えば、このペイント・データは、曲面の色、テクスチャ・マップの適用、変位マップの適用などを指定する。本発明の実施形態では、ステップ380からの平面投影と、ステップ390からの平面投影は、同一のプロパティまたは異なるプロパティを、このオブジェクトの曲面に施すことがある。例えば、ステップ380は、曲面「クラック」パスであり、また、ステップ390は、曲面カラー・パスである。
【0072】
様々な実施形態において、このオブジェクトは、シーン中の他のオブジェクトと同一の時間にレンダリングされる。このレンダリングされたシーンは、一般に、別の二次元イメージであり、次に、この二次元イメージを保存する(ステップ420)。本発明の実施形態では、このレンダリングされたシーンは、フィルム、光ディスク(例えば、CD−ROM、DVD)などのような光学形式、ハードディスク、ネットワーク・ドライブなどのような磁気形式、電子信号、データ・パケットなどのような電子形式で保存できる。この結果得られたレンダリングされたシーンの表現は、後で、検索されて、1つまたは複数のビューア(表示装置)に表示される(ステップ430)。
【0073】
図5A〜図5Cは、本発明の一実施形態の一例を示している。具体的に言えば、図5Aは、ボックス600の三次元モデルを、閉じたポーズで示している。図5Bには、正面ビュー610、上面ビュー620、側面ビュー630を含むボックス600のいくつかの二次元ビューが示されている。
【0074】
図5Cでは、ユーザは、ビュー610〜630の上に、それぞれオーバーレイ・イメージ640〜660を生成している。上に説明されるように、ユーザは、一般に、ビュー610〜630の上にペイントして、オーバーレイ・イメージ640〜660を生成している。図5Dは、オーバーレイ・イメージ640〜660を、閉じたポーズで、ボックス600の三次元モデルに戻して投影した後で、ボックス670の三次元モデルを、閉じたポーズで示している。
【0075】
図6A〜図6Dは、本発明の一実施形態の他の例を示している。具体的に言えば、図6Aは、ボックス700の三次元モデルを、開いたポーズで示している。図6Bには、上面ビュー710、第1の断面720、第2の断面730を含むボックス700の二次元ビューが示されている。
【0076】
図6Cでは、ユーザは、ビュー710〜730の上に、それぞれオーバーレイ・イメージ740〜760を生成している。この場合も、ユーザは、一般に、それぞれの図の上にペイントして、オーバーレイ・イメージを生成している。図6Dは、オーバーレイ・イメージ740〜760を、開いたポーズで、ボックス700の三次元モデルに戻して投影した後で、ボックス770の三次元モデルを、開いたポーズで示している。
【0077】
次に、この実施形態では、ボックス670の三次元モデルとボックス770の三次元モデルを組み合わせて、ただ1つの三次元モデルを形成している。図6Eに示されているものは、図5Cと図6Cからの、元に戻して投影されたデータを含むボックス780のただ1つの三次元モデルである。図6Eに示されるように、この三次元モデルは、図5Aまたは図6Aに示されるポーズとは異なるポーズを取ることがある。
【0078】
図7A〜図7Cは、本発明の一実施形態の別の例を示している。さらに具体的に言えば、図7Aは、デフォルト・ポーズ800にある腰掛けの三次元モデルを示している。図7Bでは、このデフォルト・ポーズにある腰掛けの800のいくつかのビュー810が示されている。この例では、ユーザは、上記のように、ビュー810にペイントすることができる。次に、7Cは、第2のポーズ820にある上記腰掛けの三次元モデルを示している。見てわかるように、この腰掛けの脚830は、その座る面から「分解」すなわち分離している。いくつかのビュー840が示されている。この例において、ビュー840では、ユーザは、座る面850の底面と、腰掛けの脚860に、さらに容易にペイントできることがわかる。
【0079】
多くの変更または変形が、容易に想定できる。上記の開示に照らして、通常の当業者であれば、上述の概念を適用する環境は、いくつあってもよいことが理解されよう。例えば、オブジェクト生成環境、別のシェーディング環境、サードパーティ・ペイントプログラム(例えば、Photoshop、Maya、SoftImage)などに不可欠なペインティング機能が提供されることがある。上述のいくつかの実施形態は、平面投影手法を使用して、オブジェクトのビューを形成し、また、このオーバーレイ層を、三次元オブジェクトに戻して投影する。他の実施形態はまた、非平面投影手法も使用して、オブジェクトの透視図を形成し、また、三次元オブジェクトに戻して投影することがある。
【0080】
本発明の他の実施形態では、オーバーレイ層にペイントし、かつ、三次元オブジェクトに戻して平面投影を行う処理は、三次元オブジェクトの複数のポーズに対して、リアルタイム、または、ほぼリアルタイムで行われることがある。例えば、ユーザには、第1のポーズにあるオブジェクトの第1のビューと、第2のポーズにあるオブジェクトの第1のビューを与えられる。次に、ユーザは、この第1のビューのオーバーレイ層にペイントする。この実施形態では、ユーザがペイントするときに、このペイントを、三次元オブジェクトに戻して投影する平面投影処理が行われる。次に、リアルタイム、または、ほぼリアルタイムで、このシステムは、第1のポーズにあるオブジェクトの第1のビューと、さらに、第2のポーズにあるオブジェクトの第2のビューも再びレンダリングする。このような実施形態では、この処理が非常に速く行われるために、ユーザは、他のあらゆるポーズのうち(他のポーズのビュー)、或るポーズにあるオブジェクトに及ぼすサーフェイス・パラメータの仕様の効果を知ることができる。
【0081】
本発明の実施形態では、この曲面上にペイントする様々な方法、例えば、ブラシ、テクスチャ、勾配、フィルタなどを用いる方法が考えられる。さらに、これらのペイントされたイメージ(例えば、レイヤ)を保存する様々な方法も考えられる。
【0082】
上述の実施形態は、コンピュータシステム用の方法、これらの開示された方法を実行できるコンピュータシステムを開示している。追加の実施形態は、このコンピュータシステムに、これらの開示された方法を実行させるソフトウェア・コードなどを含め、有形の媒体上のコンピュータ・プログラム製品を含む。
【0083】
当業者には、この開示を読んだ後で、さらなる実施形態が想定できる。他の実施形態では、上に開示された発明を、有利に、全部または一部組み合わせることができる。このアーキテクチャのブロック図と流れ図をまとめて、容易に理解できるようにする。しかしながら、ブロックの組合せ、新たなブロックの追加、ブロックの再配置などは、本発明の代替実施形態において考えられるものとする。
【0084】
よって、この明細書と図面は、限定的な意味ではなくて、例示的な意味で顧慮されるべきである。しかしながら、特許請求の範囲に記述される本発明のさらに広い精神および範囲から逸脱しなければ、このような明細書と図面に、様々な変形や変更をなせることは明らかであろう。
【図面の簡単な説明】
【0085】
【図1】本発明の一実施形態によるシステムのブロック図を示す。
【図2】本発明の一実施形態のブロック図を示す。
【図3A】本発明の一実施形態によるフロー・プロセスである。
【図3B】本発明の一実施形態によるフロー・プロセスである。
【図4】一実施形態の一例を示す。
【図5A】本発明の一実施形態の一例を示す。
【図5B】本発明の一実施形態の一例を示す。
【図5C】本発明の一実施形態の一例を示す。
【図5D】本発明の一実施形態の一例を示す。
【図6A】本発明の一実施形態の別の例を示す。
【図6B】本発明の一実施形態の別の例を示す。
【図6C】本発明の一実施形態の別の例を示す。
【図6D】本発明の一実施形態の別の例を示す。
【図6E】本発明の一実施形態の別の例を示す。
【図7A】本発明の一実施形態の別の例を示す。
【図7B】本発明の一実施形態の別の例を示す。
【図7C】本発明の一実施形態の別の例を示す。
【符号の説明】
【0086】
500 第1の形態にある三次元モデル、510 第1の二次元ビュー、550 第2の形態にある三次元モデル、570 第2の二次元ビュー
【技術分野】
【0001】
本発明は、コンピュータ・アニメーションに関する。さらに具体的に言えば、本発明は、アニメーション・オブジェクトのサーフェイス・プロパティ(surface property)を指定するための改良された方法および装置に関する。
【背景技術】
【0002】
数年間ずっと、映画製作者はしばしば、架空の生き物、夢見るような場所、空想的な事物にかかわる物語を語ろうとしてきた。そうするために、映画製作者は、この架空のものに「生気」を帯びさせるために、しばしばアニメーション手法を利用してきた。アニメーションにおける主要方針のうちの2つには、伝統的に、線描に基づくアニメーション手法と、ストップ・モーション・アニメーション手法があった。
【0003】
線描に基づくアニメーション手法は、ウォールトディズニーなどの映画製作者により、20世紀に改良されて、「白雪姫と7人の小人」や「Fantasia」(1940年)などの映画で利用された。このアニメーション手法は、一般に、アーティストに、アニメ・イメージを、透明媒体すなわちセル上に手書きする(または、ペイントする)ように求めた。次に、ペインティングの後で、それぞれのセルは、映画において、1つまたは複数のフレームとして、フィルム上に取り込まれるか、あるいは記録されることになる。
【0004】
ストップ・モーションに基づくアニメーション手法は、一般に、小型のセット、小道具、キャラクタの構築を要求した。これらの映画製作者は、これらのセットを組み立てて、小道具を追加し、小型のキャラクタを、或るポーズ(pose)に置くことになる。アニメ製作者が、手はずをすべて整えた方法に満足した後で、フィルムの1つまたは複数のフレームが、その特定の配置構成について撮られることになる。ストップ・モーションに基づくアニメーション手法は、「キングコング」(1932年)などの映画向けに、Willis O’Brienなどの映画製作者により開発されたものである。その後、これらの手法は、「Mighty Joe Young」(1948年)や「Clash Of The Titans」(1981年)を含む映画向けに、Ray Harryhausenなどのアニメ製作者により改良された。
【0005】
20世紀の末頃、コンピュータが広範に利用できるようになると、アニメ製作者は、アニメーション処理に役立てるように、コンピュータに頼り始めた。これは、コンピュータを使用して、例えば、イメージにペイントしたり、中間的なイメージを生成する(「トゥイーン(tweening)」)ことなどして、線描に基づくアニメーションを容易ならしめる処置を含んだ。これはまた、コンピュータを使用して、ストップ・モーション・アニメーション手法を増強する処置も含んだ。例えば、物理モデルが、コンピュータ・メモリ中のバーチャル・モデルで表現されて、操作されることもある。
【0006】
コンピュータ支援アニメーション(CAA)業界における先駆的な企業の1つは、Pixar、dba Pixar Animation Studiosであった。長年にわたって、Pixarは、CAA用に特別設計されたコンピューティング・プラットフォームと、RenderMan(登録商標)として知られているアカデミー賞獲得のレンダリング・ソフトウェアを両方とも開発して、提供した。
【0007】
長年にわたって、Pixarは、国内用にソフトウァア製品とソフトウェア環境も開発して、ユーザ(モデル製作者、モデラー)が、オブジェクトrig(object rig)を容易に定義できるようにし、また、ユーザ(アニメ製作者)が、これらのオブジェクトrigを容易にアニメートできるようにしてきた。このような現実の体験に基づいて、本発明の発明者は、オブジェクトの定義とアニメーション処理を容易ならしめるために、上記のソフトウァア製品とソフトウァア環境に追加的な機能が与えられるものと判断している。このような機能の1つには、オブジェクトのサーフェイス・プロパティの定義を容易ならしめる方法と装置がある。
【0008】
本発明の発明者は、サーフェイス・パラメータを1オブジェクトに指定するための改良された方法が必要となると判断している。
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、コンピュータ・アニメーションに関する。さらに具体的に言えば、本発明は、オブジェクト、あるいはオブジェクトのうち、異なるポーズにある部分のサーフェイス・パラメータをユーザが指定できるようにする方法と装置に関する。
【0010】
本発明の実施態様は、三次元「ペインティング」を生成するプロセスを管理するのに役立てるために用いられる。実施態様は、複数のポーズの定義を制御し、ビュー(view)のレンダリングを管理し、曲面材料にテクスチャ情報を送る機構を提供し、テクスチャや他のデータファイル用のカタログ化(cataloging)とソース・コントロールを実現する。
【0011】
本発明の実施態様では、ユーザは、事実上、従来の任意の二次元ペイント・プログラムを使用して、三次元オブジェクト上に「直接に」ペイントすることができる。一実施態様では、このペイント・プログラムは、「レイヤ(層)」を利用する。ある実施態様では、ユーザは、このオブジェクトの異なるビューに、いくつかの二次元ペインティング(例えば、オーバーレイ・イメージ)を行う。代表的なビューは、「前方」、「後方」などの向きのあるカメラである。本発明の実施態様では、このオブジェクト・モデルが、ただ1つの基準ポースで完全にペイントするのが難しすぎる場合に、ユーザは、複数の形態で、このオブジェクト・モデルに再びポーズを取らせることができる。さらに、ユーザは、この再びポーズを取らせたオブジェクトのビューのいくつかのオーバーレイ・イメージにもペイントすることができる。
【0012】
本発明の実施態様の代表的なワークフローは、オブジェクト・モデルを、このシステムにロードすることと、異なる形態で、このオブジェクト・モデルにポーズを取らせることを含む。例えば、テーブルにペイントするためには、ユーザは、テーブルを定義する1つのポーズと、このテーブルの底面から遠ざかる方向にテーブルの脚を移動させることで、このモデルを「分解する(explode)」別のポーズを持つことがある。次に、このワークフローは、1つまたは複数のビューを生成するか、または定義して、異なるポーズにあるモデルにペイントする処置を含むことがある。
【0013】
様々な実施態様において、異なるポーズで、かつ、定義されたビューで、オブジェクトにレンダリング・パス(rendering pass)が行われる。このレンダリング・パスの結果は、一般に、レンダリングされたオブジェクトのビットマップ・イメージ、ビュー、およびレンダリングされた曲面の関連する奥行きマップ(depth map)である。このワークフローはまた、ユーザに、これらのレンダリングされたビットマップを二次元ペイント・プログラムにロードさせて、色、変位などを表わす1つまたは複数のパスをペイントさせる処置も含むことがある。
【0014】
後で、このシステムは、それぞれのオブジェクトを、それぞれのポーズで、それぞれのビューに平面投影(逆マップ)した結果をレンダリング時に計算して、その結果得られた、目に見えるあらゆる曲面地点の2D座標を保存する。面シェーダは、これらの保存された2D座標を使用して、パスごとに、2Dテクスチャ・マップなどのサーフェイス・パラメータを評価する。次に、このパス計算により戻された値を使用して、ペイントに影響される曲面に彩色するか、あるいは、これらの曲面を変位させるように、面シェーダに様々な効果をもたらす。他の実施態様では、透視図法などの非平面投影法が使用される。
【0015】
実施態様では、この奥行きマップは、投影されたビューに対する最前の曲面だけが、確実に、このペイントを受け取れるように、平面投影段階処理の間に評価される。さらに、垂直であるか、あるいは、この投影ビューから遠い方に面している曲面上にペイントを投影しないようにするために、投影処理の間、曲面垂線を考慮に入れる。
【0016】
本発明の実施態様では、このオブジェクト・モデルのビューごとに、またポーズごとに、すべての投影パスを解明した後で、面シェーダは、その計算を終了する。その結果得られたレンダリングされたオブジェクト・モデルは、一般に、上述のポーズとは異なるポーズを取る。
【0017】
様々な実施態様において、このレンダリングされたオブジェクト・モデルは、一般に、シーンに関連してレンダリングされて、このレンダリングされたシーンがメモリに保存される。後で、このレンダリングされたシーンは、一般に、メモリで検索されて、ユーザに表示される。様々な実施態様において、このメモリは、ハードディスク・ドライブ、RAM、DVD−ROM、CD−ROM、フィルム(薄膜)媒体、印刷媒体などである。
【0018】
上の説明により、本発明の実施態様から、ユーザは、アーティキュレーションされた三次元オブジェクト・モデルに、複数の形態でポーズを取らせて、複数のビューから投影されたペイントを受け取ることができる。これらの実施態様は、複数のテクスチャ・マップ、色などのようなサーフェイス・パラメータを、複雑な変形可能な三次元オブジェクト・モデルの曲面上に施す効率と有効性(効力)を向上させる。
【0019】
本発明の実施態様の利点は、このオブジェクトの複数の観察位置と複数のポーズ形態から、どんな三次元オブジェクト・モデルにもユーザがペイントできるようにする機能を含む。複数のポーズ形態の概念により、ユーザは、このモデルを変形させるか、あるいは、さらに小さい部材に分解させる場合を除き、直接には近づけないかもしれないエリアにペイントできる。
【0020】
本発明の実施態様は、複数のビュー/ポーズを編成するため、また、その結果得られたテクスチャ・マップを、このオブジェクト上に戻して施すために、固有の手法を導入している。さらに具体的に言えば、これらの実施態様は、曲面の向き(垂線)と、この投影ビューからレンダリングされた奥行きマップを用いて、どの曲面がペイントを受け取るか選択的に制御する。
【0021】
本発明の一面により、コンピュータシステム用の方法が述べられる。一方法は、第1の形態で、三次元オブジェクト・モデルの少なくとも一部にポーズを取らせる処置、第1の形態にある間、三次元オブジェクト・モデルの上記少なくとも一部の第1の二次元ビューを決定する処置、第2の形態で、三次元オブジェクト・モデルの上記一部にポーズを取らせる処置、および、第2の形態にある間、三次元オブジェクト・モデルの上記一部の第2の二次元ビューを決定する処置を含む。様々な手法はまた、第1の二次元イメージを、三次元オブジェクト・モデルの上記少なくとも一部の第1の二次元ビューに関連づける処置と、第2の二次元イメージを、三次元オブジェクト・モデルの上記一部の第2の二次元ビューに関連づける処置も含む。このプロセスはまた、第1の二次元イメージに応じて、また、三次元オブジェクト・モデルの上記少なくとも一部用の第1の形態に応じて、第1の組のサーフェイス・パラメータを、第1の二次元ビューに見える三次元オブジェクト・モデルの上記少なくとも一部の曲面に関連づける処置と、第2の二次元イメージに応じて、また、三次元オブジェクト・モデルの上記一部用の第2の形態に応じて、第2の組のサーフェイス・パラメータを、第2の二次元ビューに見える三次元オブジェクト・モデルの上記一部の曲面に関連づける処置を含むことがある。
【0022】
本発明の別の面により、プロセッサを含むコンピュータシステム用のコンピュータプログラム製品が述べられる。このコンピュータプログラム製品は、三次元オブジェクトの少なくとも一部用の第1の形態を受け入れるように、上記プロセッサに指示するコード、第1の形態にある三次元オブジェクトの上記少なくとも一部の曲面を露出させる第1の二次元イメージを決定するように、上記プロセッサに指示するコード、三次元オブジェクトの少なくとも一部用の第2の形態を受け入れるように、上記プロセッサに指示するコード、および、第2の形態にある三次元オブジェクトの上記少なくとも一部の曲面を露出させる第2の二次元イメージを決定するように、上記プロセッサに指示するコードを含む。追加のコンピュータ・コードは、第1の二次元イメージに関連づけられる第1の二次元ペイント・イメージを受け取るように、上記プロセッサに指示するコードと、第2の二次元イメージに関連づけられる第2の二次元ペイント・イメージを受け取るように、上記プロセッサに指示するコードを含むことがある。このコードはまた、第1の形態にある三次元オブジェクトの上記少なくとも一部の曲面に関連づけられる第1のグループのパラメータを、第1の二次元ペイント・イメージに応じて決定するように、上記プロセッサに指示するコードと、第2の形態にある三次元オブジェクトの上記少なくとも一部の曲面に関連づけられる第2のグループのパラメータを、第2の二次元ペイント・イメージに応じて決定するように、上記プロセッサに指示するコードを含む。これらのコードは、有形の媒体上に、機械が読取り可能か、または人間が読取り可能なコードを含む。代表的な媒体には、磁気ディスク、光ディスクなどがある。
【0023】
本発明のさらに他の面にしたがって、コンピュータシステムが述べられる。このコンピュータシステムは、一般に、ディスプレイ、メモリ、プロセッサを含む。或るコンピュータシステムでは、メモリは、三次元オブジェクトのモデル、この三次元オブジェクト用の第1のポーズと第2のポーズ、第1の二次元イメージと第2の二次元イメージ、および、この三次元オブジェクトの曲面に関連づけられる面シェーディング・パラメータを保存するように構成されている。このコンピュータシステムでは、プロセッサは、一般に、第1のポーズにある三次元オブジェクトの第1のビューをディスプレイに出力するように構成され、また、第2のポーズにある三次元オブジェクトの第2のビューをディスプレイに出力するように構成され、さらに、第1の二次元イメージを受け取り、また第2の二次元イメージを受け取るように構成されている。このプロセッサはまた、三次元オブジェクトの第1のビューに応じて、また、第1の二次元イメージに応じて、三次元オブジェクトの曲面に関連づけられる第1の組のサーフェイス・パラメータを決定するように構成され、かつ、三次元オブジェクトの第2のビューに応じて、また、第2の二次元イメージに応じて、三次元オブジェクトの追加曲面に関連づけられる第2の組のサーフェイス・パラメータを決定するように構成されている。
【0024】
本発明をさらに充分に理解するために、添付図面を参照する。これらの図面は、本発明の範囲を制限するとは考えられないと理解した上で、現在述べられている実施態様や、現在了解されている本発明の最良の態様が、以下の添付図面を使用して、さらに詳しく述べられる。
【発明を実施するための最良の形態】
【0025】
以下の特許開示では、次の用語が用いられている。
【0026】
「Gprim(幾何学的プリミティブ)」。パラメトリック関数(Bspline)により、また、任意数の面(多角形)、もしくは、それらに類するものに編成された三次元点の集まりにより定義されたただ1つの三次元曲面。
【0027】
「モデル(オブジェクト・モデル)」。任意数の面(ポリゴン・メッシュと細分化曲面)、陰関数(implicit)曲面、もしくはそれらに類するものに編成されたGprimの集まり。このシステムは、その機能を果たすために、2D曲面をパラメータで表わす必要はない。
【0028】
「ビュー(view)」。特定の観察位置からモデルのイメージを生成できる正射影または透視画法のカメラ。
【0029】
「ポーズ(pose)」。モデルの階層内での特定の厳正な変形と、モデルのGprimの特定形態の点から、そのモデルの状態。ポーズはまた、1つまたは複数のビューの状態も表わす。
【0030】
ポーズは、一般に、モデルと、すべてのビュー・カメラの双方の位置と向きを含む。本発明の実施形態では、ポーズは、オブジェクト・モデル内の2つ以上のオブジェクトの特定の形態または向きを指定する。例えば、ポーズは、2つのオブジェクトが、互いに特定の間隔にあること、あるいは、2つのオブジェクトが、互いに特定の角度をなしていること、もしくは、それらに類することを指定するかもしれない。オブジェクトの異なるポーズの例は、以下に図示される。
【0031】
キャラクタが位置づけられるときはいつでも、その位置は、一般に、指定されたポーズとして保存され、したがって、後で、そのシステムとユーザが、その位置を参照することができる。ユーザは、このモデルの位置を変えて、新たなカメラ・ビューを確立した後で、新たなポーズを保存する。特定のビューにおいて生成されるペインティング(オーバーレイ・イメージ)は、カメラの位置と向きと密接に結び付けられている。
【0032】
「パス(pass)」。ペインティングのタイプ、例えば、パスに用いられることになっているカラー・チャネルの数とともに、「色」または「変位」。その名前は、シェーダ内で一組のペインティングを参照するのに利用するハンドルを与える。一般に、それらの名前は任意である。
【0033】
図1は、本発明の一実施形態による代表的なコンピュータシステム100のブロック図である。
【0034】
この実施形態では、コンピュータシステム100は、一般に、モニタ110、コンピュータ120、キーボード130、ユーザ入力装置140、ネットワーク・インターフェース150などを含む。
【0035】
この実施形態では、ユーザ入力装置140は、一般に、コンピュータ・マウス、トラックボール、トラックパッド、無線リモコン、描画タブレット、ディスプレイ・タブレット統合装置(例えば、WacomによるCintiq)、ボイス・コマンド・システム、アイ・トラッキング・システムなどとして具現される。ユーザ入力装置140は、一般に、ユーザに、モニタ110に表示されるオブジェクト、アイコン、テキストなどを選択できるようにする。
【0036】
ネットワーク・インターフェース150の実施形態は、一般に、イーサネット(登録商標)・カード、モデム(電話、衛星、ケーブル、ISDN)(非同期)ディジタル加入者線(DSL)ユニットなどを含む。ネットワーク・インターフェース150は、一般に、図示されるように、コンピュータ・ネットワークに結合されている。他の実施形態では、ネットワーク・インターフェース150は、コンピュータ120のマザーボード上に物理的に統合されるか、ソフトDSLなどのソフトウェア・プログラムであるか、あるいは、それらに類するものであるかもしれない。
【0037】
コンピュータ120は、一般に、プロセッサ160と、ランダム・アクセス・メモリ(RAM)170、ディスク・ドライブ180などのメモリ記憶装置のようなおなじみのコンピュータ構成要素と、これらのコンピュータ構成要素を相互接続するシステムバス190を含む。
【0038】
一実施形態では、コンピュータ120は、Intel CorporationからのPentiumIV(商標)マイクロプロセッサまたはXeon(商標)マイクロプロセッサなどの1つまたは複数のマイクロプロセッサを持つPC対応のコンピュータである。さらに、この実施形態では、コンピュータ120は、一般に、LINUXベースのオペレーティングシステムも含む。
【0039】
RAM170とディスクドライブ180は、データ、オーディオ/ビデオ・ファイル、コンピュータ・プログラム、シーン記述子(ディスクリプタ)ファイル、オブジェクト・データ・ファイル、オーバーレイ・イメージ、奥行きマップ、シェーダ記述子、レンダリング・エンジン、シェーディング・エンジン、出力イメージ・ファイル、テクスチャ・マップ、変位マップ、ペインティング環境、オブジェクト生成環境、アニメーション環境、面シェーディング環境、アセット管理システム、データベースとデータベース管理システムなどを格納するための有形の媒体の例である。他のタイプの有形の媒体には、フロッピー(登録商標)ディスク、リムーバブル・ハードディスク、CD−ROM、DVD、バーコードなどの光記憶媒体、フラッシュ・メモリ、リード・オンリー・メモリ(ROM)、バッテリでバックアップされた揮発性メモリ、ネットワーク上記憶装置のような半導体メモリなどがある。
【0040】
この実施形態では、コンピュータシステム100はまた、HTTPプロトコル、TCP/IPプロトコル、RTP/RTSPプロトコルなどのように、ネットワーク上でやり取りできるようにするソフトウェアも含む。本発明の代替実施形態では、他の通信ソフトウェアとファイル転送プロトコル、例えば、IPX、UDPなども使用することがある。
【0041】
図1は、本発明を実施できるコンピュータ・レンダリング・システムを表わしている。通常の当業者であれば、他の多くのハードウェア構成やソフトウェア構成も、本発明への使用に適切であることがすぐに明らかになろう。例えば、このコンピュータは、デスクトップ構成、携帯構成、ラック・マウント構成、またはタブレット構成であってもよい。さらに、Pentium(商標)マイクロプロセッサまたはItanium(商標)マイクロプロセッサ、Advanced Micro Divices,Inc.からのOpteron(商標)マイクロプロセッサまたはAthlonXP(商標)マイクロプロセッサ、Motorola,Inc.からのPowerPC G4(商標)マイクロプロセッサ、G5(商標)マイクロプロセッサなどのような他のマイクロプロセッサの使用も考えられる。さらに、Microsoft CorporationからのWindowsXP(登録商標)、WindowsNT(登録商標)などのWindows(登録商標)オペレーティングシステム、Sun MicrosystemsからのSolaris、Apple Computer CorporationからのLINUX、UNIX(登録商標)、MAC OSなどのような他のタイプのオペレーティングシステムも考えられる。
【0042】
図2は、本発明の一実施形態のブロック図を示している。具体的に言えば、図2は、アニメーション環境200、オブジェクト生成環境210、記憶システム220を示している。
【0043】
この実施形態では、オブジェクト生成環境210は、アーマチュアとrigを含むオブジェクトのアーティキュレーション・モデルをユーザ(モデル製作者)が指定できるようにする環境である。この環境内では、ユーザは、オブジェクトのモデルを生成し(手操作で、手続きに従ってなど)、アニメーション変数(Avars)に対して、これらのオブジェクトが、どのようにアーティキュレーションするのか指定できる。特定の一実施形態では、オブジェクト生成環境210は、「Gepetto」として知られているPixar独自仕様のオブジェクト生成環境である。他の実施形態では、他のタイプのオブジェクト生成環境が使用できる。
【0044】
この実施形態では、ユーザ(シェーダ)が、オブジェクト生成環境210も使用して、これらのオブジェクト・モデルのサーフェイス・パラメータを指定する。以下に述べられるように、ユーザが、ペインティングを通じて、これらのオブジェクト・モデルの曲面にパラメータを割り当てられるようにする環境が、オブジェクト生成環境210内で、あるいは、別個に提供されることがある。様々な実施形態において、これらのサーフェイス・パラメータには、カラーデータ、テクスチャ・マッピング・データ、変位データなどがある。これらのサーフェイス・パラメータは、一般に、シーン内で、このオブジェクトをレンダリングするのに使用される。
【0045】
本発明の実施形態では、この環境により、ユーザは、このオブジェクト・モデルに対して、ポーズを定義することができる。さらに、この環境により、ユーザは、異なるポーズにあるオブジェクト・モデルのビューをレンダリングすることができる。この環境はまた、この機構を提供して、標準オブジェクト形態にて陰影を付けて、レンダリングしながら、「基準」ポーズ(Prefとしても知られている)への平面投影(奥行きマップと曲面垂線の使用が可能である)を実行し、また、以下に述べられるように、異なるビュー、異なるポーズ、異なるペイント・データ、異なるサーフェイス・パラメータ・データなどの間での関連づけを維持する。
【0046】
この実施形態では、オブジェクト生成環境210を用いて生成されるオブジェクト・モデルは、アニメーション環境20でも使用できる。一般に、オブジェクト・モデルは、階層的に構築される。オブジェクト・モデルを構築する階層性は、役に立つ。なぜなら、一般に、異なるユーザ(モデル製作者)には、異なるモデルを生成するタスクが割り当てられるからである。例えば、或るモデル製作者には、ハンド・モデル290を生成するタスクが割り当てられ、また、別のモデル製作者には、下方腕のモデル280を生成するタスクが割り当てられるといった具合である。
【0047】
この実施形態では、アニメーション環境200は、アニメーション変数(Avars)を通じて、オブジェクトのアーティキュレーション・モデルをユーザ(アニメ製作者)が操作できるようにする環境である。一実施形態では、アニメーション環境200は、Pixar独自仕様のアニメーション環境(「Men V」として知られている)である。ただし、他の実施形態では、他のアニメーション環境も適応させることもできる。この実施形態では、アニメーション環境200により、アニメ製作者は、これらのオブジェクト・モデル(包括的rig)中に与えられたAvarsを操作し、また、時間に関して、これらのオブジェクトを動かす(すなわち、オブジェクトをアニメートする)ことができる。
【0048】
本発明の他の実施形態では、アニメーション環境200とオブジェクト生成環境210を組み合わせて、1つの統合環境を形成することがある。
【0049】
図2では、記憶システム220は、オブジェクトのアーティキュレーション・モデルにアクセスする、編成された繰返し可能な任意のやり方を含む。例えば、一実施形態では、記憶システム220は、ローカル・ドライブまたはネットワーク・ドライブ上に単純なフラット・ディレクトリ(flat-directory)構造を含む。他の実施形態では、記憶システム220は、アセット管理システム、またはデータベースに結び付けられているデータベース・アクセス・システム、もしくは、それらに類するものである。一実施形態では、記憶システム220は、アニメーション環境200とオブジェクト生成環境210から、オブジェクト・モデルへの参照データを受け取る。返事として、記憶システム220は、ここに保存されているオブジェクト・モデルを提供する。記憶システム220はまた、一般に、本明細書に説明されているサーフェイス・シェーディング・パラメータ、オーバーレイ・イメージ、奥行きマップなども保存する。
【0050】
従来は、Pixarのオブジェクト生成環境により、ユーザは、特定の形態(ポーズ)にて、複数のビューから、1オブジェクト・モデル上にイメージ(テクスチャ)をペイントし、投影することができた。しかしながら、本発明の発明者は、このオブジェクト生成環境が、異なるポーズにあるオブジェクトのビューをサポートしないことと、ただ1つのポーズにある複雑な三次元モデル上にテクスチャを施すことが難しいことがわかった。
【0051】
図3A〜図3Bは、本発明の一実施形態によるフロー・プロセスを示している。最初に、三次元オブジェクト・モデルを提供する(ステップ300)。一般に、一人または複数人のユーザ(オブジェクト・モデル製作者)は、オブジェクト生成環境を通じて、1つまたは複数のオブジェクトの幾何学的表現を指定する。これらのオブジェクトをいっしょに組み合わせて、さらに大きいオブジェクトのモデルを形成する。この実施形態では、このモデル製作者は、Gepettoなどのようなオブジェクト生成環境を使用することがある。
【0052】
次に、この実施形態では、ほかのユーザが、これらのオブジェクトの曲面がどのように表示されるべきか指定する。例えば、このようなユーザ(シェーダ)は、基本色、スクラッチ、ほこり、変位マップ、ざらざらと明るさ(ハイライト)のマップ、透明度、材料制御(control over material)タイプなどの、オブジェクトの曲面効果をいくつでも指定する。そうするために、ユーザは、三次元オブジェクト・モデルを得て、初期ポーズを指定する(ステップ310)。他の実施形態では、オブジェクトがデフォルト・ポーズを持つときに、このステップを特定的に実行する必要はない。例えば、自動車などのキャラクタ用のオブジェクト・モデルは、そのドアを閉めた状態のデフォルト・ポーズを持つことがある。同時に、ユーザは、一般に、1つまたは複数のビュー・カメラ位置を指定する。他の実施形態では、オブジェクトごとに、いくつかのデフォルト・カメラを使用できる。例えば、様々な実施形態において、一般に指定される投影ビューは、上面ビュー、左側面ビュー、右側面ビュー、底面ビューなどを含む。さらに、カメラは、斜めビュー、もしくはそれに類するビューであってもよい。投影ビューは、平面であるだけでなく、非平面で、かつ射影的でもあってもよい。例として、曲線状プロジェクタ(curved projector)が、イメージを曲面上にマッピングする場合には、透視図法が考えられる。
【0053】
次に、この実施形態において、このコンピュータシステムは、第1のポーズにある三次元オブジェクトの二次元ビューをレンダリングする(ステップ320)。さらに具体的には、このシステムは、このオブジェクト・モデル、このポーズ、ビュー・カメラ・データを用いて、それぞれのビューをレンダリングする。様々な実施形態において、このレンダリング・パスは、PixarのRenderman製品などのレンダリング・プログラムによる高品質のレンダリングでよい。他の実施形態では、このレンダリング/シェーディング処理は、GLおよびGPUのハードウェアや、ソフトウェアのレンダラーなどの低品質のレンダリング処理を用いて実行できる。
【0054】
様々な実施形態において、それぞれのレンダリングされたビューは、個々のビュー・イメージ・ファイルとして保存するか、あるいは、組み合わせて、さらに大きいファイルを形成する。それぞれのレンダリングされたビューとともに、平面投影機能を利用できる奥行きマップも生成する。
【0055】
この実施形態において、このシステムは、このオブジェクトの1つまたは複数のレンダリングされたビューを表示する(ステップ330)。本発明の実施形態では、このステップは、ユーザが、ピクセル値を二次元イメージ上にグラフィカルに割り当てられるようにするユーザ環境において行われる。一般に、このような環境は、「ペイント(paint)」機能を含むと呼ばれる。一実施形態では、この1つまたは複数のビューは、同時に、ユーザに表示できる。
【0056】
次に、実施形態において、ユーザは、このオブジェクトのビューとともに、ピクセル値を割り当てる(ステップ340)。一実施形態では、ユーザは、このオブジェクトの「上」にグラフィカルにペイントすることで、この処置を実行する。このペインティングは、子供がお絵かきをするか、あるいは、塗り絵の本に描かれているイメージに色を着けることに似ている。例えば、ユーザは、オーバーレイ層、もしくはそれに類するものを用いて、オブジェクトのビュー上に、異なるブラシを施す。本明細書では、「層」に類似する機構の使用が考えられる。この実施形態では、これらの異なるブラシは、1つまたは複数のグレースケール値、1つまたは複数の色などを持つことがある。
【0057】
一例として、ユーザは、細い黒色ブラシを使用して、このビューのオーバーレイ層にクラック・タイプのパターンを描くことがある。別の例では、ユーザは、スプレーペイント・タイプのブラシを使用して、このビューのオーバーレイ層中の選択された部分を濃くすることがある。さらに他の例では、ユーザは、ペイントブラシを使用して、このビューのオーバーレイ層に着色することがある。さらに他の実施形態では、オーバーレイ層イメージを指定する他のやり方、例えば、このイメージへの1つまたは複数の勾配(gradient)の適用、オーバーレイ層イメージの指定部分に限定される操作(例えば、選択)の適用、オーバーレイ層イメージへの1つまたは複数のイメージの組込み(例えば、decal層(decal layer))なども考えられる。
【0058】
次に、この実施形態では、それぞれのビューに対するオーバーレイ層イメージを保存する(ステップ350)。様々な例では、これらのオーバーレイ層イメージを、この二次元ビューとは別で、かつ識別可能なファイルに保存する。他の実施形態では、このオーバーレイ層イメージを、この二次元ビューのレイヤ、もしくは、それらに類するものに保存する。様々な実施形態において、このオーバーレイ層イメージを含むファイルはまた、ステップ310において定義されるポーズ、および、ステップ320、ステップ360において決定される奥行きマップにも関連づけられる。
【0059】
この実施形態では、ユーザは、第2のポーズにある三次元オブジェクトに再びポーズを取らせることに決める(ステップ370)。次に、上述のプロセスを繰り返す。様々な実施形態において、この三次元オブジェクトに再びポーズを取らせ、1つまたは複数のビューと、そのビューの上にペイントする奥行きマップなどを生成する処理を、ユーザが必要とみなすだけの数のポーズに対して、繰り返すことができる。一例として、キャラクタのオブジェクトでは、或るポーズは、口を開け、かつ腕を上げたキャラクタであり、また、別のポーズは、口を閉じて、かつ腕を下ろしたキャラクタであることもある。別の例として、折畳み式テーブルでは、或るポーズは、広げられた折畳み式テーブルであり、また、別のポーズは、脚を、テーブル上面板から「分解」すなわち分離した折畳み式テーブルであることもある。
【0060】
本発明のいくつかの実施形態では、ユーザは、スクリーン上に、この三次元オブジェクトの異なるポーズから得られたビューを同時に見ることがある。よって、上述の見て、ペイントする処理は、一度に、このオブジェクトの1つのポーズに基づいてのみ、実行する必要はない。さらに、ユーザは、同一セッションにおいて、異なるポーズから、このオブジェクトのビューの上にペイントすることがある。例えば、キャラクタが口を開けたポーズを取る場合には、ユーザは、キャラクタの口を示すビュー上のレイヤに白色をペイントし、次に、ユーザは、キャラクタの髪を示すビューのレイヤに黒色をペイントし、次に、ユーザは、キャラクタの口を示すビュー上のレイヤに白色の別のシェード(陰影)を再びペイントすることがある。
【0061】
この実施形態では、次のステップは、第1のポーズにある三次元オブジェクトのそれぞれのビュー上にペイントされた値を、この三次元オブジェクトに戻して関連づけることである(ステップ380)。さらに具体的に言えば、三次元オブジェクトのそれぞれのビューは、一般に、第1のポーズにある三次元オブジェクトの曲面を二次元に投影したものである。よって、このオーバーレイ・イメージにより「ペイントされる」ように思われる部分は、関連する奥行きマップを用いて、この三次元オブジェクトに戻して、投影される。このような機能が有効になる。なぜなら、このシステムは、三次元オブジェクトのオーバーレイ・イメージ、ビュー、ポーズの間で連係を維持するからである。レンダリングされたビューが複数ある場合には、このペイントは、レンダリングされたビューごとに、第1のポーズにある三次元オブジェクトに戻して、投影される。
【0062】
本発明の実施形態では、曲面垂線は、この三次元オブジェクトの曲面上への投影の効果を「フェザリングする(feather)」ために使用できる。例えば、曲面が、この投影ビューに平行である場合には、そのペイント効果は、〜100%であると算出されるが、しかるに、曲面が、この投影ビューに対して30度の角度をなしている場合には、そのペイント効果は、〜50%(sin(30))であると算出され、一方、曲面が、この投影ビューに対して60度の角度をなしている場合には、そのペイント効果は、〜13%(sin(60))であると算出されるといった具合である。フェザリングする大きさは、ユーザにより調整される。他の実施形態では、フェザリングは、このオブジェクトの縁または境界などのような推移部分でのペイント効果を変えるために使用できる。様々な実施形態において、この投影されたペイントのフェザリングにより、投影されたペイントのスミアリングが減らされる。
【0063】
図4は、一実施形態の一例を示している。この例では、三次元円筒体500は、円筒体500の二次元ビュー520内の長方形510として表示される。上記のプロセスにより、ユーザは、ビュー520の上にオーバーレイ・イメージ530をペイントする。この例では、ユーザは、円筒体500の下半分に、黒色でペイントする。
【0064】
次に、図4に示されるように、このオーバーレイ・イメージを、この三次元円筒体に投影する。よって、円筒体500の前部下側の曲面540のモデルを、そのプロパティ、すなわち黒色に関連づけ、また、この曲面垂線が可視平面から遠ざかる方に向かうにつれ、そのモデルをフェザリングする。円筒体500の後部下側の曲面550は、ビュー520内に露出しなかったので、黒色には関連づけられてない。
【0065】
この例では、円筒体500の後部ビュー560と下側ビュー570を指定して、円筒体500の残る下半分の曲面を露出させることもある。
【0066】
図3に戻って、次のステップは、第2のポーズにある三次元オブジェクトのそれぞれのビューにペイントされた値を、この三次元オブジェクトに戻して関連づけることである(ステップ390)。上の説明と同様に、このオブジェクトのそれぞれのビューは、一般に、第2のポーズにある三次元オブジェクトの曲面を二次元に投影したものである。よって、このオーバーレイ・イメージにより「ペイントされる」ように思われる部分は、関連する奥行きマップを用いて、この三次元オブジェクトに投影される。また、レンダリングされたビューが複数ある場合には、このペイントは、レンダリングされたビューごとに、第2のポーズにある三次元オブジェクトに戻して、投影される。
【0067】
この実施形態では、ステップ380とステップ390からの平面投影を組み合わせて、双方とも、この三次元オブジェクトの曲面に戻して投影する(ステップ400)。言い替えれば、ユーザは、異なるポーズにある三次元オブジェクトのレンダリングされたビューにペイントし、かつ、そのペイント・データを、中立のポーズにあるただ1つの三次元オブジェクトに戻して投影させる。
【0068】
本発明の発明者は、上記の機能が重要であると考えている。これは、上記の機能により、ユーザが、三次元オブジェクトに再びポーズを取らせることができ、かつ、その結果得られたレンダリングされたビューにユーザがペイントできるようにすることで、この三次元オブジェクトの到達困難な部分にユーザが「ペイント」できるからである。一例として、或るポーズは、口を閉じているキャラクタであり、また、別のポーズは、口を開けているキャラクタである。さらに、本発明の実施形態を利用する例を、以下に例示する。
【0069】
本発明の実施形態では、三次元オブジェクトの正式レンダリングの前に、このステップ400を実行することもある。他の実施形態では、ステップは、正式レンダリング処理の間に動的に行われる。例えば、ステップ380からのデータと、ステップ390からのデータは、別々のファイルに維持される。次に、このオブジェクトが、高品質にレンダリングされることになっているときには(例えば、PixarのRendermanを用いて)、このシステムは、第1のポーズにある三次元オブジェクトからの平面投影データを、第2のポーズにある三次元オブジェクトからの平面投影データに動的に組み合わせる。
【0070】
次に、この組み合わされた平面投影データを使用して、一般に第3のポーズにある三次元オブジェクトをレンダリングする(ステップ410)。一例として、第1のポーズは、両腕を下ろしたキャラクタであり、また、第2のポーズは、両腕を上げたキャラクタであり、さらに、第3のポーズは、片腕だけを上げたキャラクタである。
【0071】
本発明の実施形態では、このペイント・データは、このオブジェクトの曲面に、プロパティをいくつでも指定してもよい。このようなプロパティはまた、シェーディング・パス・データとも呼ばれる。代表的なオブジェクト曲面では、100よりも多いシェーディング・パスがあることもある。例えば、このペイント・データは、曲面の色、テクスチャ・マップの適用、変位マップの適用などを指定する。本発明の実施形態では、ステップ380からの平面投影と、ステップ390からの平面投影は、同一のプロパティまたは異なるプロパティを、このオブジェクトの曲面に施すことがある。例えば、ステップ380は、曲面「クラック」パスであり、また、ステップ390は、曲面カラー・パスである。
【0072】
様々な実施形態において、このオブジェクトは、シーン中の他のオブジェクトと同一の時間にレンダリングされる。このレンダリングされたシーンは、一般に、別の二次元イメージであり、次に、この二次元イメージを保存する(ステップ420)。本発明の実施形態では、このレンダリングされたシーンは、フィルム、光ディスク(例えば、CD−ROM、DVD)などのような光学形式、ハードディスク、ネットワーク・ドライブなどのような磁気形式、電子信号、データ・パケットなどのような電子形式で保存できる。この結果得られたレンダリングされたシーンの表現は、後で、検索されて、1つまたは複数のビューア(表示装置)に表示される(ステップ430)。
【0073】
図5A〜図5Cは、本発明の一実施形態の一例を示している。具体的に言えば、図5Aは、ボックス600の三次元モデルを、閉じたポーズで示している。図5Bには、正面ビュー610、上面ビュー620、側面ビュー630を含むボックス600のいくつかの二次元ビューが示されている。
【0074】
図5Cでは、ユーザは、ビュー610〜630の上に、それぞれオーバーレイ・イメージ640〜660を生成している。上に説明されるように、ユーザは、一般に、ビュー610〜630の上にペイントして、オーバーレイ・イメージ640〜660を生成している。図5Dは、オーバーレイ・イメージ640〜660を、閉じたポーズで、ボックス600の三次元モデルに戻して投影した後で、ボックス670の三次元モデルを、閉じたポーズで示している。
【0075】
図6A〜図6Dは、本発明の一実施形態の他の例を示している。具体的に言えば、図6Aは、ボックス700の三次元モデルを、開いたポーズで示している。図6Bには、上面ビュー710、第1の断面720、第2の断面730を含むボックス700の二次元ビューが示されている。
【0076】
図6Cでは、ユーザは、ビュー710〜730の上に、それぞれオーバーレイ・イメージ740〜760を生成している。この場合も、ユーザは、一般に、それぞれの図の上にペイントして、オーバーレイ・イメージを生成している。図6Dは、オーバーレイ・イメージ740〜760を、開いたポーズで、ボックス700の三次元モデルに戻して投影した後で、ボックス770の三次元モデルを、開いたポーズで示している。
【0077】
次に、この実施形態では、ボックス670の三次元モデルとボックス770の三次元モデルを組み合わせて、ただ1つの三次元モデルを形成している。図6Eに示されているものは、図5Cと図6Cからの、元に戻して投影されたデータを含むボックス780のただ1つの三次元モデルである。図6Eに示されるように、この三次元モデルは、図5Aまたは図6Aに示されるポーズとは異なるポーズを取ることがある。
【0078】
図7A〜図7Cは、本発明の一実施形態の別の例を示している。さらに具体的に言えば、図7Aは、デフォルト・ポーズ800にある腰掛けの三次元モデルを示している。図7Bでは、このデフォルト・ポーズにある腰掛けの800のいくつかのビュー810が示されている。この例では、ユーザは、上記のように、ビュー810にペイントすることができる。次に、7Cは、第2のポーズ820にある上記腰掛けの三次元モデルを示している。見てわかるように、この腰掛けの脚830は、その座る面から「分解」すなわち分離している。いくつかのビュー840が示されている。この例において、ビュー840では、ユーザは、座る面850の底面と、腰掛けの脚860に、さらに容易にペイントできることがわかる。
【0079】
多くの変更または変形が、容易に想定できる。上記の開示に照らして、通常の当業者であれば、上述の概念を適用する環境は、いくつあってもよいことが理解されよう。例えば、オブジェクト生成環境、別のシェーディング環境、サードパーティ・ペイントプログラム(例えば、Photoshop、Maya、SoftImage)などに不可欠なペインティング機能が提供されることがある。上述のいくつかの実施形態は、平面投影手法を使用して、オブジェクトのビューを形成し、また、このオーバーレイ層を、三次元オブジェクトに戻して投影する。他の実施形態はまた、非平面投影手法も使用して、オブジェクトの透視図を形成し、また、三次元オブジェクトに戻して投影することがある。
【0080】
本発明の他の実施形態では、オーバーレイ層にペイントし、かつ、三次元オブジェクトに戻して平面投影を行う処理は、三次元オブジェクトの複数のポーズに対して、リアルタイム、または、ほぼリアルタイムで行われることがある。例えば、ユーザには、第1のポーズにあるオブジェクトの第1のビューと、第2のポーズにあるオブジェクトの第1のビューを与えられる。次に、ユーザは、この第1のビューのオーバーレイ層にペイントする。この実施形態では、ユーザがペイントするときに、このペイントを、三次元オブジェクトに戻して投影する平面投影処理が行われる。次に、リアルタイム、または、ほぼリアルタイムで、このシステムは、第1のポーズにあるオブジェクトの第1のビューと、さらに、第2のポーズにあるオブジェクトの第2のビューも再びレンダリングする。このような実施形態では、この処理が非常に速く行われるために、ユーザは、他のあらゆるポーズのうち(他のポーズのビュー)、或るポーズにあるオブジェクトに及ぼすサーフェイス・パラメータの仕様の効果を知ることができる。
【0081】
本発明の実施形態では、この曲面上にペイントする様々な方法、例えば、ブラシ、テクスチャ、勾配、フィルタなどを用いる方法が考えられる。さらに、これらのペイントされたイメージ(例えば、レイヤ)を保存する様々な方法も考えられる。
【0082】
上述の実施形態は、コンピュータシステム用の方法、これらの開示された方法を実行できるコンピュータシステムを開示している。追加の実施形態は、このコンピュータシステムに、これらの開示された方法を実行させるソフトウェア・コードなどを含め、有形の媒体上のコンピュータ・プログラム製品を含む。
【0083】
当業者には、この開示を読んだ後で、さらなる実施形態が想定できる。他の実施形態では、上に開示された発明を、有利に、全部または一部組み合わせることができる。このアーキテクチャのブロック図と流れ図をまとめて、容易に理解できるようにする。しかしながら、ブロックの組合せ、新たなブロックの追加、ブロックの再配置などは、本発明の代替実施形態において考えられるものとする。
【0084】
よって、この明細書と図面は、限定的な意味ではなくて、例示的な意味で顧慮されるべきである。しかしながら、特許請求の範囲に記述される本発明のさらに広い精神および範囲から逸脱しなければ、このような明細書と図面に、様々な変形や変更をなせることは明らかであろう。
【図面の簡単な説明】
【0085】
【図1】本発明の一実施形態によるシステムのブロック図を示す。
【図2】本発明の一実施形態のブロック図を示す。
【図3A】本発明の一実施形態によるフロー・プロセスである。
【図3B】本発明の一実施形態によるフロー・プロセスである。
【図4】一実施形態の一例を示す。
【図5A】本発明の一実施形態の一例を示す。
【図5B】本発明の一実施形態の一例を示す。
【図5C】本発明の一実施形態の一例を示す。
【図5D】本発明の一実施形態の一例を示す。
【図6A】本発明の一実施形態の別の例を示す。
【図6B】本発明の一実施形態の別の例を示す。
【図6C】本発明の一実施形態の別の例を示す。
【図6D】本発明の一実施形態の別の例を示す。
【図6E】本発明の一実施形態の別の例を示す。
【図7A】本発明の一実施形態の別の例を示す。
【図7B】本発明の一実施形態の別の例を示す。
【図7C】本発明の一実施形態の別の例を示す。
【符号の説明】
【0086】
500 第1の形態にある三次元モデル、510 第1の二次元ビュー、550 第2の形態にある三次元モデル、570 第2の二次元ビュー
【特許請求の範囲】
【請求項1】
第1の形態で、三次元オブジェクト・モデルの少なくとも一部にポーズを取らせるステップと、
前記第1の形態にある間、前記三次元オブジェクト・モデルの前記少なくとも一部の第1の二次元ビューを決定するステップと、
第2の形態で、前記三次元オブジェクト・モデルの前記一部にポーズを取らせるステップと、
前記第2の形態にある間、前記三次元オブジェクト・モデルの前記一部の第2の二次元ビューを決定するステップと、
第1の二次元イメージを、前記三次元オブジェクト・モデルの前記少なくとも一部の前記第1の二次元ビューに関連づけるステップと、
第2の二次元イメージを、前記三次元オブジェクト・モデルの前記一部の前記第2の二次元ビューに関連づけるステップと、
前記第1の二次元イメージに応じて、また、前記三次元オブジェクト・モデルの前記少なくとも一部用の前記第1の形態に応じて、第1の組のサーフェイス・パラメータを、前記第1の二次元ビューに見える前記三次元オブジェクト・モデルの上記少なくとも一部の曲面に関連づけるステップと、
前記第2の二次元イメージに応じて、また、前記三次元オブジェクト・モデルの前記一部用の前記第2の形態に応じて、第2の組のサーフェイス・パラメータを、前記第2の二次元ビューに見える前記三次元オブジェクト・モデルの前記一部の曲面に関連づけるステップと、
を含む方法。
【請求項2】
前記三次元オブジェクト・モデルの前記一部の第1の二次元ビューが、正面ビュー、側面ビュー、上面ビュー、底面ビューのグループから選択される請求項1に記載の方法。
【請求項3】
前記三次元オブジェクト・モデルの前記一部が、第1のオブジェクトと第2のオブジェクトを含み、
前記三次元オブジェクト・モデルの前記少なくとも一部のための前記第1の形態が、第1の関係を持つ前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記三次元オブジェクト・モデルの前記一部用の前記第1の形態が、第2の関係を持つ前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記第1の関係と前記第2の関係が異なる請求項1ないし2のいずれかに記載の方法。
【請求項4】
前記第1の関係と前記第2の関係が、直線関係、角度関係のグループから選択される請求項3に記載の方法。
【請求項5】
前記オブジェクト・モデルの前記少なくとも一部の前記第1の二次元ビューを、ディスプレイ上に表示するステップと、
前記ディスプレイ上で、前記オブジェクト・モデルの前記少なくとも一部の前記第1の二次元ビューの上にペイントすることで、第1の二次元イメージを生成するステップと、
をさらに含む請求項1ないし4のいずれかに記載の方法。
【請求項6】
前記第1の組のサーフェイス・パラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから選択される請求項1ないし5のいずれかに記載の方法。
【請求項7】
前記第1の組のサーフェイス・パラメータと前記第2の組のサーフェイス・パラメータに応じて、前記三次元オブジェクト・モデルの前記一部をレンダリングして、レンダリングされたオブジェクトを形成するステップと、
前記レンダリングされたオブジェクトの表現を、有形の媒体に保存するステップと、
をさらに含む請求項1ないし6のいずれかに記載の方法。
【請求項8】
請求項1ないし7のいずれかに述べられる方法により形成された前記レンダリングされたオブジェクトの前記表現を含む前記有形の媒体。
【請求項9】
三次元オブジェクトの少なくとも一部用の第1の形態を受け入れるように、プロセッサに指示するコードと、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の曲面を露出させる第1の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記三次元オブジェクトの前記少なくとも一部用の第2の形態を受け入れるように、前記プロセッサに指示するコードと、
前記第2の形態にある前記三次元オブジェクトの前記少なくとも一部の曲面を露出させる第2の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第1の二次元イメージに関連づけられる第1の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第2の二次元イメージに関連づけられる前記第2の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面に関連づけられる第1のグループのパラメータを、前記第1の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
前記第2の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面に関連づけられる第2のグループのパラメータを、前記第2の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
を含み、
前記コードがすべて有形の媒体上にある、前記プロセッサを含むコンピュータシステム用のコンピュータ・プログラム製品。
【請求項10】
前記第1の二次元イメージが、正面ビュー、側面ビュー、上面ビュー、底面ビュー、斜めビューのグループから選択された1ビューにおいて、前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部のイメージを含む請求項9に記載のコンピュータ・プログラム製品。
【請求項11】
前記第1のグループのパラメータの少なくとも一部と、前記第2のグループのパラメータの少なくとも一部を組み合わせるように、前記プロセッサに指示するコードをさらに含む請求項9ないし10のいずれかに記載のコンピュータ・プログラム製品。
【請求項12】
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の追加曲面を露出させる第3の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第3の二次元イメージに関連づけられる第3の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追記曲面に関連づけられる第3のグループのパラメータを、前記第3の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
をさらに含み、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面と、前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追記曲面とが重なる請求項9ないし11のいずれかに記載のコンピュータ・プログラム製品。
【請求項13】
前記三次元オブジェクト・モデルの前記一部が、第1のオブジェクトと第2のオブジェクトを含み、
前記第1の形態が、第1の角度を成す方向に向けられている前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記第2の形態が、第2の角度を成す方向に向けられている前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記第1の角度と前記第2の角度が異なる請求項9ないし12のいずれかに記載のコンピュータ・プログラム製品。
【請求項14】
前記第1の組のパラメータと前記第2の組のパラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから、取替えなしに選択される請求項9ないし13のいずれかに記載のコンピュータ・プログラム製品。
【請求項15】
前記第2の形態にある前記三次元オブジェクトの前記少なくとも一部の追加曲面を露出させる第4の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第4の二次元イメージに関連づけられる第4の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第4の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追加曲面に関連づけられる第4のグループのパラメータを、前記第4の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
前記第1のグループのパラメータと、前記第4のグループのパラメータを組み合わせるように、前記プロセッサに指示するコードと、
をさらに含む請求項9ないし14のいずれかに記載のコンピュータ・プログラム製品。
【請求項16】
ディスプレイと、
三次元オブジェクトのモデルを保存するように構成されているメモリであって、前記三次元オブジェクトに対して、第1のポーズと第2のポーズを保存するように構成され、第1の二次元イメージと第2の二次元イメージを保存するようにも構成され、さらに、前記三次元オブジェクトの曲面に関連づけられる曲面シェーディング・パラメータを保存するように構成されているメモリと、
前記メモリと前記ディスプレイに結合されているプロセッサであって、前記第1のポーズにある前記三次元オブジェクトの第1のビューを前記ディスプレイに出力するように構成され、前記第2のポーズにある前記三次元オブジェクトの第2のビューを前記ディスプレイに出力するように構成され、前記第1の二次元イメージを受け取るように、また、前記第2の二次元イメージを受け取るように構成され、前記三次元オブジェクトの前記第1のビューに応じて、また、前記第1の二次元イメージに応じて、前記三次元オブジェクトの曲面に関連づけられる第1の組のサーフェイス・パラメータを決定するように構成され、さらに、前記三次元オブジェクトの前記第2のビューに応じて、また、前記第2の二次元イメージに応じて、前記三次元オブジェクトの追加曲面に関連づけられる第2の組のサーフェイス・パラメータを決定するように構成されているプロセッサと、
を備えるコンピュータシステム。
【請求項17】
前記三次元オブジェクトの前記第1のビューが、正面ビュー、側面ビュー、上面ビュー、底面ビュー、斜視ビューのグループから選択される請求項16に記載のコンピュータシステム。
【請求項18】
前記三次元オブジェクトが、第1のオブジェクトと第2のオブジェクトを含み、
前記第1のポーズが、前記第2のオブジェクトに対して第1の向きに位置づけられた前記第1のオブジェクトを含み、
前記第2のポーズが、前記第2のオブジェクトに対して第2の向きに位置づけられた前記第1のオブジェクトを含み、
前記第1の向きと前記第2の向きが、距離、角度のグループから選択される請求項16ないし17のいずれかに記載のコンピュータシステム。
【請求項19】
前記三次元オブジェクトの前記追加曲面が、前記三次元オブジェクトの前記曲面内にはない、前記三次元オブジェクトの他の曲面を含む請求項16ないし18のいずれかに記載のコンピュータシステム。
【請求項20】
前記第1の組のサーフェイス・パラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから選択される請求項16ないし19のいずれかに記載のコンピュータシステム。
【請求項21】
前記プロセッサがまた、前記第1の組のサーフェイス・パラメータと前記第2の組のサーフェイス・パラメータに応じて、前記三次元オブジェクトに陰影を付けて、前記三次元オブジェクトの陰影付き表現を形成するように構成され、
前記メモリがまた、前記三次元オブジェクトの前記陰影付き表現を保存するように構成されている請求項16ないし20のいずれかに記載のコンピュータシステム。
【請求項22】
前記第1のポーズにある前記三次元オブジェクトの前記第1のビューが正面ビューを含み、
前記第2のポーズにある前記三次元オブジェクトの前記第2のビューも正面ビューを含む請求項16ないし21のいずれかに記載のコンピュータシステム。
【請求項1】
第1の形態で、三次元オブジェクト・モデルの少なくとも一部にポーズを取らせるステップと、
前記第1の形態にある間、前記三次元オブジェクト・モデルの前記少なくとも一部の第1の二次元ビューを決定するステップと、
第2の形態で、前記三次元オブジェクト・モデルの前記一部にポーズを取らせるステップと、
前記第2の形態にある間、前記三次元オブジェクト・モデルの前記一部の第2の二次元ビューを決定するステップと、
第1の二次元イメージを、前記三次元オブジェクト・モデルの前記少なくとも一部の前記第1の二次元ビューに関連づけるステップと、
第2の二次元イメージを、前記三次元オブジェクト・モデルの前記一部の前記第2の二次元ビューに関連づけるステップと、
前記第1の二次元イメージに応じて、また、前記三次元オブジェクト・モデルの前記少なくとも一部用の前記第1の形態に応じて、第1の組のサーフェイス・パラメータを、前記第1の二次元ビューに見える前記三次元オブジェクト・モデルの上記少なくとも一部の曲面に関連づけるステップと、
前記第2の二次元イメージに応じて、また、前記三次元オブジェクト・モデルの前記一部用の前記第2の形態に応じて、第2の組のサーフェイス・パラメータを、前記第2の二次元ビューに見える前記三次元オブジェクト・モデルの前記一部の曲面に関連づけるステップと、
を含む方法。
【請求項2】
前記三次元オブジェクト・モデルの前記一部の第1の二次元ビューが、正面ビュー、側面ビュー、上面ビュー、底面ビューのグループから選択される請求項1に記載の方法。
【請求項3】
前記三次元オブジェクト・モデルの前記一部が、第1のオブジェクトと第2のオブジェクトを含み、
前記三次元オブジェクト・モデルの前記少なくとも一部のための前記第1の形態が、第1の関係を持つ前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記三次元オブジェクト・モデルの前記一部用の前記第1の形態が、第2の関係を持つ前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記第1の関係と前記第2の関係が異なる請求項1ないし2のいずれかに記載の方法。
【請求項4】
前記第1の関係と前記第2の関係が、直線関係、角度関係のグループから選択される請求項3に記載の方法。
【請求項5】
前記オブジェクト・モデルの前記少なくとも一部の前記第1の二次元ビューを、ディスプレイ上に表示するステップと、
前記ディスプレイ上で、前記オブジェクト・モデルの前記少なくとも一部の前記第1の二次元ビューの上にペイントすることで、第1の二次元イメージを生成するステップと、
をさらに含む請求項1ないし4のいずれかに記載の方法。
【請求項6】
前記第1の組のサーフェイス・パラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから選択される請求項1ないし5のいずれかに記載の方法。
【請求項7】
前記第1の組のサーフェイス・パラメータと前記第2の組のサーフェイス・パラメータに応じて、前記三次元オブジェクト・モデルの前記一部をレンダリングして、レンダリングされたオブジェクトを形成するステップと、
前記レンダリングされたオブジェクトの表現を、有形の媒体に保存するステップと、
をさらに含む請求項1ないし6のいずれかに記載の方法。
【請求項8】
請求項1ないし7のいずれかに述べられる方法により形成された前記レンダリングされたオブジェクトの前記表現を含む前記有形の媒体。
【請求項9】
三次元オブジェクトの少なくとも一部用の第1の形態を受け入れるように、プロセッサに指示するコードと、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の曲面を露出させる第1の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記三次元オブジェクトの前記少なくとも一部用の第2の形態を受け入れるように、前記プロセッサに指示するコードと、
前記第2の形態にある前記三次元オブジェクトの前記少なくとも一部の曲面を露出させる第2の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第1の二次元イメージに関連づけられる第1の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第2の二次元イメージに関連づけられる前記第2の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面に関連づけられる第1のグループのパラメータを、前記第1の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
前記第2の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面に関連づけられる第2のグループのパラメータを、前記第2の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
を含み、
前記コードがすべて有形の媒体上にある、前記プロセッサを含むコンピュータシステム用のコンピュータ・プログラム製品。
【請求項10】
前記第1の二次元イメージが、正面ビュー、側面ビュー、上面ビュー、底面ビュー、斜めビューのグループから選択された1ビューにおいて、前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部のイメージを含む請求項9に記載のコンピュータ・プログラム製品。
【請求項11】
前記第1のグループのパラメータの少なくとも一部と、前記第2のグループのパラメータの少なくとも一部を組み合わせるように、前記プロセッサに指示するコードをさらに含む請求項9ないし10のいずれかに記載のコンピュータ・プログラム製品。
【請求項12】
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の追加曲面を露出させる第3の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第3の二次元イメージに関連づけられる第3の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追記曲面に関連づけられる第3のグループのパラメータを、前記第3の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
をさらに含み、
前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面と、前記第1の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追記曲面とが重なる請求項9ないし11のいずれかに記載のコンピュータ・プログラム製品。
【請求項13】
前記三次元オブジェクト・モデルの前記一部が、第1のオブジェクトと第2のオブジェクトを含み、
前記第1の形態が、第1の角度を成す方向に向けられている前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記第2の形態が、第2の角度を成す方向に向けられている前記第1のオブジェクトと前記第2のオブジェクトを含み、
前記第1の角度と前記第2の角度が異なる請求項9ないし12のいずれかに記載のコンピュータ・プログラム製品。
【請求項14】
前記第1の組のパラメータと前記第2の組のパラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから、取替えなしに選択される請求項9ないし13のいずれかに記載のコンピュータ・プログラム製品。
【請求項15】
前記第2の形態にある前記三次元オブジェクトの前記少なくとも一部の追加曲面を露出させる第4の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第4の二次元イメージに関連づけられる第4の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第4の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追加曲面に関連づけられる第4のグループのパラメータを、前記第4の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
前記第1のグループのパラメータと、前記第4のグループのパラメータを組み合わせるように、前記プロセッサに指示するコードと、
をさらに含む請求項9ないし14のいずれかに記載のコンピュータ・プログラム製品。
【請求項16】
ディスプレイと、
三次元オブジェクトのモデルを保存するように構成されているメモリであって、前記三次元オブジェクトに対して、第1のポーズと第2のポーズを保存するように構成され、第1の二次元イメージと第2の二次元イメージを保存するようにも構成され、さらに、前記三次元オブジェクトの曲面に関連づけられる曲面シェーディング・パラメータを保存するように構成されているメモリと、
前記メモリと前記ディスプレイに結合されているプロセッサであって、前記第1のポーズにある前記三次元オブジェクトの第1のビューを前記ディスプレイに出力するように構成され、前記第2のポーズにある前記三次元オブジェクトの第2のビューを前記ディスプレイに出力するように構成され、前記第1の二次元イメージを受け取るように、また、前記第2の二次元イメージを受け取るように構成され、前記三次元オブジェクトの前記第1のビューに応じて、また、前記第1の二次元イメージに応じて、前記三次元オブジェクトの曲面に関連づけられる第1の組のサーフェイス・パラメータを決定するように構成され、さらに、前記三次元オブジェクトの前記第2のビューに応じて、また、前記第2の二次元イメージに応じて、前記三次元オブジェクトの追加曲面に関連づけられる第2の組のサーフェイス・パラメータを決定するように構成されているプロセッサと、
を備えるコンピュータシステム。
【請求項17】
前記三次元オブジェクトの前記第1のビューが、正面ビュー、側面ビュー、上面ビュー、底面ビュー、斜視ビューのグループから選択される請求項16に記載のコンピュータシステム。
【請求項18】
前記三次元オブジェクトが、第1のオブジェクトと第2のオブジェクトを含み、
前記第1のポーズが、前記第2のオブジェクトに対して第1の向きに位置づけられた前記第1のオブジェクトを含み、
前記第2のポーズが、前記第2のオブジェクトに対して第2の向きに位置づけられた前記第1のオブジェクトを含み、
前記第1の向きと前記第2の向きが、距離、角度のグループから選択される請求項16ないし17のいずれかに記載のコンピュータシステム。
【請求項19】
前記三次元オブジェクトの前記追加曲面が、前記三次元オブジェクトの前記曲面内にはない、前記三次元オブジェクトの他の曲面を含む請求項16ないし18のいずれかに記載のコンピュータシステム。
【請求項20】
前記第1の組のサーフェイス・パラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから選択される請求項16ないし19のいずれかに記載のコンピュータシステム。
【請求項21】
前記プロセッサがまた、前記第1の組のサーフェイス・パラメータと前記第2の組のサーフェイス・パラメータに応じて、前記三次元オブジェクトに陰影を付けて、前記三次元オブジェクトの陰影付き表現を形成するように構成され、
前記メモリがまた、前記三次元オブジェクトの前記陰影付き表現を保存するように構成されている請求項16ないし20のいずれかに記載のコンピュータシステム。
【請求項22】
前記第1のポーズにある前記三次元オブジェクトの前記第1のビューが正面ビューを含み、
前記第2のポーズにある前記三次元オブジェクトの前記第2のビューも正面ビューを含む請求項16ないし21のいずれかに記載のコンピュータシステム。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図6A】
【図6B】
【図6C】
【図6D】
【図7A】
【図7B】
【図7C】
【図7D】
【図7E】
【図8A】
【図8B】
【図2】
【図3A】
【図3B】
【図4】
【図6A】
【図6B】
【図6C】
【図6D】
【図7A】
【図7B】
【図7C】
【図7D】
【図7E】
【図8A】
【図8B】
【公表番号】特表2007−500395(P2007−500395A)
【公表日】平成19年1月11日(2007.1.11)
【国際特許分類】
【出願番号】特願2006−521809(P2006−521809)
【出願日】平成16年3月23日(2004.3.23)
【国際出願番号】PCT/US2004/008993
【国際公開番号】WO2005/017871
【国際公開日】平成17年2月24日(2005.2.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(501310929)
【Fターム(参考)】
【公表日】平成19年1月11日(2007.1.11)
【国際特許分類】
【出願日】平成16年3月23日(2004.3.23)
【国際出願番号】PCT/US2004/008993
【国際公開番号】WO2005/017871
【国際公開日】平成17年2月24日(2005.2.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(501310929)
【Fターム(参考)】
[ Back to top ]