(57)【要約】  コンピュータシステム用の方法は、第１の形態で、３Ｄモデル（５００）にポーズを取らせる処置、第１の形態で、３Ｄモデルの第１の２Ｄ（５１０）ビューを決定する処置、第２の形態（５５０）において、３Ｄモデルにポーズを取らせる処置、第２の形態で、３Ｄモデルの第２の２Ｄ（５７０）ビューを決定する処置、第１の２Ｄイメージを、３Ｄモデルの第１の２Ｄビューに関連づける処置、第２の２Ｄ（５７０）イメージを、３Ｄモデルの第２の２Ｄビューに関連づける処置、第１の２Ｄイメージと、３Ｄモデル用の第１の形態に応じて、第１の組のサーフェイス・パラメータを、第１の２Ｄビューに見える３Ｄモデルの曲面に関連づける処置、および、第２の２Ｄイメージと、３Ｄモデル用の第２の形態に応じて、第２の組のサーフェイス・パラメータを、第２の２Ｄビューに見える３Ｄモデルの曲面に関連づける処置を含む。【選択図】図４
2007500395.tif 000002
【特許請求の範囲】
【請求項１】
第１の形態で、三次元オブジェクト・モデルの少なくとも一部にポーズを取らせるステップと、
前記第１の形態にある間、前記三次元オブジェクト・モデルの前記少なくとも一部の第１の二次元ビューを決定するステップと、
第２の形態で、前記三次元オブジェクト・モデルの前記一部にポーズを取らせるステップと、
前記第２の形態にある間、前記三次元オブジェクト・モデルの前記一部の第２の二次元ビューを決定するステップと、
第１の二次元イメージを、前記三次元オブジェクト・モデルの前記少なくとも一部の前記第１の二次元ビューに関連づけるステップと、
第２の二次元イメージを、前記三次元オブジェクト・モデルの前記一部の前記第２の二次元ビューに関連づけるステップと、
前記第１の二次元イメージに応じて、また、前記三次元オブジェクト・モデルの前記少なくとも一部用の前記第１の形態に応じて、第１の組のサーフェイス・パラメータを、前記第１の二次元ビューに見える前記三次元オブジェクト・モデルの上記少なくとも一部の曲面に関連づけるステップと、
前記第２の二次元イメージに応じて、また、前記三次元オブジェクト・モデルの前記一部用の前記第２の形態に応じて、第２の組のサーフェイス・パラメータを、前記第２の二次元ビューに見える前記三次元オブジェクト・モデルの前記一部の曲面に関連づけるステップと、
を含む方法。
【請求項２】
前記三次元オブジェクト・モデルの前記一部の第１の二次元ビューが、正面ビュー、側面ビュー、上面ビュー、底面ビューのグループから選択される請求項１に記載の方法。
【請求項３】
前記三次元オブジェクト・モデルの前記一部が、第１のオブジェクトと第２のオブジェクトを含み、
前記三次元オブジェクト・モデルの前記少なくとも一部のための前記第１の形態が、第１の関係を持つ前記第１のオブジェクトと前記第２のオブジェクトを含み、
前記三次元オブジェクト・モデルの前記一部用の前記第１の形態が、第２の関係を持つ前記第１のオブジェクトと前記第２のオブジェクトを含み、
前記第１の関係と前記第２の関係が異なる請求項１ないし２のいずれかに記載の方法。
【請求項４】
前記第１の関係と前記第２の関係が、直線関係、角度関係のグループから選択される請求項３に記載の方法。
【請求項５】
前記オブジェクト・モデルの前記少なくとも一部の前記第１の二次元ビューを、ディスプレイ上に表示するステップと、
前記ディスプレイ上で、前記オブジェクト・モデルの前記少なくとも一部の前記第１の二次元ビューの上にペイントすることで、第１の二次元イメージを生成するステップと、
をさらに含む請求項１ないし４のいずれかに記載の方法。
【請求項６】
前記第１の組のサーフェイス・パラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから選択される請求項１ないし５のいずれかに記載の方法。
【請求項７】
前記第１の組のサーフェイス・パラメータと前記第２の組のサーフェイス・パラメータに応じて、前記三次元オブジェクト・モデルの前記一部をレンダリングして、レンダリングされたオブジェクトを形成するステップと、
前記レンダリングされたオブジェクトの表現を、有形の媒体に保存するステップと、
をさらに含む請求項１ないし６のいずれかに記載の方法。
【請求項８】
請求項１ないし７のいずれかに述べられる方法により形成された前記レンダリングされたオブジェクトの前記表現を含む前記有形の媒体。
【請求項９】
三次元オブジェクトの少なくとも一部用の第１の形態を受け入れるように、プロセッサに指示するコードと、
前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部の曲面を露出させる第１の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記三次元オブジェクトの前記少なくとも一部用の第２の形態を受け入れるように、前記プロセッサに指示するコードと、
前記第２の形態にある前記三次元オブジェクトの前記少なくとも一部の曲面を露出させる第２の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第１の二次元イメージに関連づけられる第１の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第２の二次元イメージに関連づけられる前記第２の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面に関連づけられる第１のグループのパラメータを、前記第１の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
前記第２の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面に関連づけられる第２のグループのパラメータを、前記第２の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
を含み、
前記コードがすべて有形の媒体上にある、前記プロセッサを含むコンピュータシステム用のコンピュータ・プログラム製品。
【請求項１０】
前記第１の二次元イメージが、正面ビュー、側面ビュー、上面ビュー、底面ビュー、斜めビューのグループから選択された１ビューにおいて、前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部のイメージを含む請求項９に記載のコンピュータ・プログラム製品。
【請求項１１】
前記第１のグループのパラメータの少なくとも一部と、前記第２のグループのパラメータの少なくとも一部を組み合わせるように、前記プロセッサに指示するコードをさらに含む請求項９ないし１０のいずれかに記載のコンピュータ・プログラム製品。
【請求項１２】
前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部の追加曲面を露出させる第３の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第３の二次元イメージに関連づけられる第３の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追記曲面に関連づけられる第３のグループのパラメータを、前記第３の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
をさらに含み、
前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部の前記曲面と、前記第１の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追記曲面とが重なる請求項９ないし１１のいずれかに記載のコンピュータ・プログラム製品。
【請求項１３】
前記三次元オブジェクト・モデルの前記一部が、第１のオブジェクトと第２のオブジェクトを含み、
前記第１の形態が、第１の角度を成す方向に向けられている前記第１のオブジェクトと前記第２のオブジェクトを含み、
前記第２の形態が、第２の角度を成す方向に向けられている前記第１のオブジェクトと前記第２のオブジェクトを含み、
前記第１の角度と前記第２の角度が異なる請求項９ないし１２のいずれかに記載のコンピュータ・プログラム製品。
【請求項１４】
前記第１の組のパラメータと前記第２の組のパラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから、取替えなしに選択される請求項９ないし１３のいずれかに記載のコンピュータ・プログラム製品。
【請求項１５】
前記第２の形態にある前記三次元オブジェクトの前記少なくとも一部の追加曲面を露出させる第４の二次元イメージを決定するように、前記プロセッサに指示するコードと、
前記第４の二次元イメージに関連づけられる第４の二次元ペイント・イメージを受け取るように、前記プロセッサに指示するコードと、
前記第４の形態にある前記三次元オブジェクトの前記少なくとも一部の前記追加曲面に関連づけられる第４のグループのパラメータを、前記第４の二次元ペイント・イメージに応じて決定するように、前記プロセッサに指示するコードと、
前記第１のグループのパラメータと、前記第４のグループのパラメータを組み合わせるように、前記プロセッサに指示するコードと、
をさらに含む請求項９ないし１４のいずれかに記載のコンピュータ・プログラム製品。
【請求項１６】
ディスプレイと、
三次元オブジェクトのモデルを保存するように構成されているメモリであって、前記三次元オブジェクトに対して、第１のポーズと第２のポーズを保存するように構成され、第１の二次元イメージと第２の二次元イメージを保存するようにも構成され、さらに、前記三次元オブジェクトの曲面に関連づけられる曲面シェーディング・パラメータを保存するように構成されているメモリと、
前記メモリと前記ディスプレイに結合されているプロセッサであって、前記第１のポーズにある前記三次元オブジェクトの第１のビューを前記ディスプレイに出力するように構成され、前記第２のポーズにある前記三次元オブジェクトの第２のビューを前記ディスプレイに出力するように構成され、前記第１の二次元イメージを受け取るように、また、前記第２の二次元イメージを受け取るように構成され、前記三次元オブジェクトの前記第１のビューに応じて、また、前記第１の二次元イメージに応じて、前記三次元オブジェクトの曲面に関連づけられる第１の組のサーフェイス・パラメータを決定するように構成され、さらに、前記三次元オブジェクトの前記第２のビューに応じて、また、前記第２の二次元イメージに応じて、前記三次元オブジェクトの追加曲面に関連づけられる第２の組のサーフェイス・パラメータを決定するように構成されているプロセッサと、
を備えるコンピュータシステム。
【請求項１７】
前記三次元オブジェクトの前記第１のビューが、正面ビュー、側面ビュー、上面ビュー、底面ビュー、斜視ビューのグループから選択される請求項１６に記載のコンピュータシステム。
【請求項１８】
前記三次元オブジェクトが、第１のオブジェクトと第２のオブジェクトを含み、
前記第１のポーズが、前記第２のオブジェクトに対して第１の向きに位置づけられた前記第１のオブジェクトを含み、
前記第２のポーズが、前記第２のオブジェクトに対して第２の向きに位置づけられた前記第１のオブジェクトを含み、
前記第１の向きと前記第２の向きが、距離、角度のグループから選択される請求項１６ないし１７のいずれかに記載のコンピュータシステム。
【請求項１９】
前記三次元オブジェクトの前記追加曲面が、前記三次元オブジェクトの前記曲面内にはない、前記三次元オブジェクトの他の曲面を含む請求項１６ないし１８のいずれかに記載のコンピュータシステム。
【請求項２０】
前記第１の組のサーフェイス・パラメータが、曲面の色、曲面の外観、変位マップ、テクスチャ・マップを含むグループから選択される請求項１６ないし１９のいずれかに記載のコンピュータシステム。
【請求項２１】
前記プロセッサがまた、前記第１の組のサーフェイス・パラメータと前記第２の組のサーフェイス・パラメータに応じて、前記三次元オブジェクトに陰影を付けて、前記三次元オブジェクトの陰影付き表現を形成するように構成され、
前記メモリがまた、前記三次元オブジェクトの前記陰影付き表現を保存するように構成されている請求項１６ないし２０のいずれかに記載のコンピュータシステム。
【請求項２２】
前記第１のポーズにある前記三次元オブジェクトの前記第１のビューが正面ビューを含み、
前記第２のポーズにある前記三次元オブジェクトの前記第２のビューも正面ビューを含む請求項１６ないし２１のいずれかに記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・アニメーションに関する。さらに具体的に言えば、本発明は、アニメーション・オブジェクトのサーフェイス・プロパティ(surface property)を指定するための改良された方法および装置に関する。
【背景技術】
【０００２】
数年間ずっと、映画製作者はしばしば、架空の生き物、夢見るような場所、空想的な事物にかかわる物語を語ろうとしてきた。そうするために、映画製作者は、この架空のものに「生気」を帯びさせるために、しばしばアニメーション手法を利用してきた。アニメーションにおける主要方針のうちの２つには、伝統的に、線描に基づくアニメーション手法と、ストップ・モーション・アニメーション手法があった。
【０００３】
線描に基づくアニメーション手法は、ウォールトディズニーなどの映画製作者により、２０世紀に改良されて、「白雪姫と７人の小人」や「Ｆａｎｔａｓｉａ」（１９４０年）などの映画で利用された。このアニメーション手法は、一般に、アーティストに、アニメ・イメージを、透明媒体すなわちセル上に手書きする（または、ペイントする）ように求めた。次に、ペインティングの後で、それぞれのセルは、映画において、１つまたは複数のフレームとして、フィルム上に取り込まれるか、あるいは記録されることになる。
【０００４】
ストップ・モーションに基づくアニメーション手法は、一般に、小型のセット、小道具、キャラクタの構築を要求した。これらの映画製作者は、これらのセットを組み立てて、小道具を追加し、小型のキャラクタを、或るポーズ(pose)に置くことになる。アニメ製作者が、手はずをすべて整えた方法に満足した後で、フィルムの１つまたは複数のフレームが、その特定の配置構成について撮られることになる。ストップ・モーションに基づくアニメーション手法は、「キングコング」（１９３２年）などの映画向けに、Ｗｉｌｌｉｓ  Ｏ’Ｂｒｉｅｎなどの映画製作者により開発されたものである。その後、これらの手法は、「Ｍｉｇｈｔｙ  Ｊｏｅ  Ｙｏｕｎｇ」（１９４８年）や「Ｃｌａｓｈ  Ｏｆ  Ｔｈｅ  Ｔｉｔａｎｓ」（１９８１年）を含む映画向けに、Ｒａｙ  Ｈａｒｒｙｈａｕｓｅｎなどのアニメ製作者により改良された。
【０００５】
２０世紀の末頃、コンピュータが広範に利用できるようになると、アニメ製作者は、アニメーション処理に役立てるように、コンピュータに頼り始めた。これは、コンピュータを使用して、例えば、イメージにペイントしたり、中間的なイメージを生成する（「トゥイーン(tweening)」）ことなどして、線描に基づくアニメーションを容易ならしめる処置を含んだ。これはまた、コンピュータを使用して、ストップ・モーション・アニメーション手法を増強する処置も含んだ。例えば、物理モデルが、コンピュータ・メモリ中のバーチャル・モデルで表現されて、操作されることもある。
【０００６】
コンピュータ支援アニメーション（ＣＡＡ）業界における先駆的な企業の１つは、Ｐｉｘａｒ、ｄｂａ  Ｐｉｘａｒ  Ａｎｉｍａｔｉｏｎ  Ｓｔｕｄｉｏｓであった。長年にわたって、Ｐｉｘａｒは、ＣＡＡ用に特別設計されたコンピューティング・プラットフォームと、ＲｅｎｄｅｒＭａｎ（登録商標）として知られているアカデミー賞獲得のレンダリング・ソフトウェアを両方とも開発して、提供した。
【０００７】
長年にわたって、Ｐｉｘａｒは、国内用にソフトウァア製品とソフトウェア環境も開発して、ユーザ（モデル製作者、モデラー）が、オブジェクトｒｉｇ(object rig)を容易に定義できるようにし、また、ユーザ（アニメ製作者）が、これらのオブジェクトｒｉｇを容易にアニメートできるようにしてきた。このような現実の体験に基づいて、本発明の発明者は、オブジェクトの定義とアニメーション処理を容易ならしめるために、上記のソフトウァア製品とソフトウァア環境に追加的な機能が与えられるものと判断している。このような機能の１つには、オブジェクトのサーフェイス・プロパティの定義を容易ならしめる方法と装置がある。
【０００８】
本発明の発明者は、サーフェイス・パラメータを１オブジェクトに指定するための改良された方法が必要となると判断している。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、コンピュータ・アニメーションに関する。さらに具体的に言えば、本発明は、オブジェクト、あるいはオブジェクトのうち、異なるポーズにある部分のサーフェイス・パラメータをユーザが指定できるようにする方法と装置に関する。
【００１０】
本発明の実施態様は、三次元「ペインティング」を生成するプロセスを管理するのに役立てるために用いられる。実施態様は、複数のポーズの定義を制御し、ビュー(view)のレンダリングを管理し、曲面材料にテクスチャ情報を送る機構を提供し、テクスチャや他のデータファイル用のカタログ化(cataloging)とソース・コントロールを実現する。
【００１１】
本発明の実施態様では、ユーザは、事実上、従来の任意の二次元ペイント・プログラムを使用して、三次元オブジェクト上に「直接に」ペイントすることができる。一実施態様では、このペイント・プログラムは、「レイヤ（層）」を利用する。ある実施態様では、ユーザは、このオブジェクトの異なるビューに、いくつかの二次元ペインティング（例えば、オーバーレイ・イメージ）を行う。代表的なビューは、「前方」、「後方」などの向きのあるカメラである。本発明の実施態様では、このオブジェクト・モデルが、ただ１つの基準ポースで完全にペイントするのが難しすぎる場合に、ユーザは、複数の形態で、このオブジェクト・モデルに再びポーズを取らせることができる。さらに、ユーザは、この再びポーズを取らせたオブジェクトのビューのいくつかのオーバーレイ・イメージにもペイントすることができる。
【００１２】
本発明の実施態様の代表的なワークフローは、オブジェクト・モデルを、このシステムにロードすることと、異なる形態で、このオブジェクト・モデルにポーズを取らせることを含む。例えば、テーブルにペイントするためには、ユーザは、テーブルを定義する１つのポーズと、このテーブルの底面から遠ざかる方向にテーブルの脚を移動させることで、このモデルを「分解する(explode)」別のポーズを持つことがある。次に、このワークフローは、１つまたは複数のビューを生成するか、または定義して、異なるポーズにあるモデルにペイントする処置を含むことがある。
【００１３】
様々な実施態様において、異なるポーズで、かつ、定義されたビューで、オブジェクトにレンダリング・パス(rendering pass)が行われる。このレンダリング・パスの結果は、一般に、レンダリングされたオブジェクトのビットマップ・イメージ、ビュー、およびレンダリングされた曲面の関連する奥行きマップ(depth map)である。このワークフローはまた、ユーザに、これらのレンダリングされたビットマップを二次元ペイント・プログラムにロードさせて、色、変位などを表わす１つまたは複数のパスをペイントさせる処置も含むことがある。
【００１４】
後で、このシステムは、それぞれのオブジェクトを、それぞれのポーズで、それぞれのビューに平面投影（逆マップ）した結果をレンダリング時に計算して、その結果得られた、目に見えるあらゆる曲面地点の２Ｄ座標を保存する。面シェーダは、これらの保存された２Ｄ座標を使用して、パスごとに、２Ｄテクスチャ・マップなどのサーフェイス・パラメータを評価する。次に、このパス計算により戻された値を使用して、ペイントに影響される曲面に彩色するか、あるいは、これらの曲面を変位させるように、面シェーダに様々な効果をもたらす。他の実施態様では、透視図法などの非平面投影法が使用される。
【００１５】
実施態様では、この奥行きマップは、投影されたビューに対する最前の曲面だけが、確実に、このペイントを受け取れるように、平面投影段階処理の間に評価される。さらに、垂直であるか、あるいは、この投影ビューから遠い方に面している曲面上にペイントを投影しないようにするために、投影処理の間、曲面垂線を考慮に入れる。
【００１６】
本発明の実施態様では、このオブジェクト・モデルのビューごとに、またポーズごとに、すべての投影パスを解明した後で、面シェーダは、その計算を終了する。その結果得られたレンダリングされたオブジェクト・モデルは、一般に、上述のポーズとは異なるポーズを取る。
【００１７】
様々な実施態様において、このレンダリングされたオブジェクト・モデルは、一般に、シーンに関連してレンダリングされて、このレンダリングされたシーンがメモリに保存される。後で、このレンダリングされたシーンは、一般に、メモリで検索されて、ユーザに表示される。様々な実施態様において、このメモリは、ハードディスク・ドライブ、ＲＡＭ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、フィルム（薄膜）媒体、印刷媒体などである。
【００１８】
上の説明により、本発明の実施態様から、ユーザは、アーティキュレーションされた三次元オブジェクト・モデルに、複数の形態でポーズを取らせて、複数のビューから投影されたペイントを受け取ることができる。これらの実施態様は、複数のテクスチャ・マップ、色などのようなサーフェイス・パラメータを、複雑な変形可能な三次元オブジェクト・モデルの曲面上に施す効率と有効性（効力）を向上させる。
【００１９】
本発明の実施態様の利点は、このオブジェクトの複数の観察位置と複数のポーズ形態から、どんな三次元オブジェクト・モデルにもユーザがペイントできるようにする機能を含む。複数のポーズ形態の概念により、ユーザは、このモデルを変形させるか、あるいは、さらに小さい部材に分解させる場合を除き、直接には近づけないかもしれないエリアにペイントできる。
【００２０】
本発明の実施態様は、複数のビュー／ポーズを編成するため、また、その結果得られたテクスチャ・マップを、このオブジェクト上に戻して施すために、固有の手法を導入している。さらに具体的に言えば、これらの実施態様は、曲面の向き（垂線）と、この投影ビューからレンダリングされた奥行きマップを用いて、どの曲面がペイントを受け取るか選択的に制御する。
【００２１】
本発明の一面により、コンピュータシステム用の方法が述べられる。一方法は、第１の形態で、三次元オブジェクト・モデルの少なくとも一部にポーズを取らせる処置、第１の形態にある間、三次元オブジェクト・モデルの上記少なくとも一部の第１の二次元ビューを決定する処置、第２の形態で、三次元オブジェクト・モデルの上記一部にポーズを取らせる処置、および、第２の形態にある間、三次元オブジェクト・モデルの上記一部の第２の二次元ビューを決定する処置を含む。様々な手法はまた、第１の二次元イメージを、三次元オブジェクト・モデルの上記少なくとも一部の第１の二次元ビューに関連づける処置と、第２の二次元イメージを、三次元オブジェクト・モデルの上記一部の第２の二次元ビューに関連づける処置も含む。このプロセスはまた、第１の二次元イメージに応じて、また、三次元オブジェクト・モデルの上記少なくとも一部用の第１の形態に応じて、第１の組のサーフェイス・パラメータを、第１の二次元ビューに見える三次元オブジェクト・モデルの上記少なくとも一部の曲面に関連づける処置と、第２の二次元イメージに応じて、また、三次元オブジェクト・モデルの上記一部用の第２の形態に応じて、第２の組のサーフェイス・パラメータを、第２の二次元ビューに見える三次元オブジェクト・モデルの上記一部の曲面に関連づける処置を含むことがある。
【００２２】
本発明の別の面により、プロセッサを含むコンピュータシステム用のコンピュータプログラム製品が述べられる。このコンピュータプログラム製品は、三次元オブジェクトの少なくとも一部用の第１の形態を受け入れるように、上記プロセッサに指示するコード、第１の形態にある三次元オブジェクトの上記少なくとも一部の曲面を露出させる第１の二次元イメージを決定するように、上記プロセッサに指示するコード、三次元オブジェクトの少なくとも一部用の第２の形態を受け入れるように、上記プロセッサに指示するコード、および、第２の形態にある三次元オブジェクトの上記少なくとも一部の曲面を露出させる第２の二次元イメージを決定するように、上記プロセッサに指示するコードを含む。追加のコンピュータ・コードは、第１の二次元イメージに関連づけられる第１の二次元ペイント・イメージを受け取るように、上記プロセッサに指示するコードと、第２の二次元イメージに関連づけられる第２の二次元ペイント・イメージを受け取るように、上記プロセッサに指示するコードを含むことがある。このコードはまた、第１の形態にある三次元オブジェクトの上記少なくとも一部の曲面に関連づけられる第１のグループのパラメータを、第１の二次元ペイント・イメージに応じて決定するように、上記プロセッサに指示するコードと、第２の形態にある三次元オブジェクトの上記少なくとも一部の曲面に関連づけられる第２のグループのパラメータを、第２の二次元ペイント・イメージに応じて決定するように、上記プロセッサに指示するコードを含む。これらのコードは、有形の媒体上に、機械が読取り可能か、または人間が読取り可能なコードを含む。代表的な媒体には、磁気ディスク、光ディスクなどがある。
【００２３】
本発明のさらに他の面にしたがって、コンピュータシステムが述べられる。このコンピュータシステムは、一般に、ディスプレイ、メモリ、プロセッサを含む。或るコンピュータシステムでは、メモリは、三次元オブジェクトのモデル、この三次元オブジェクト用の第１のポーズと第２のポーズ、第１の二次元イメージと第２の二次元イメージ、および、この三次元オブジェクトの曲面に関連づけられる面シェーディング・パラメータを保存するように構成されている。このコンピュータシステムでは、プロセッサは、一般に、第１のポーズにある三次元オブジェクトの第１のビューをディスプレイに出力するように構成され、また、第２のポーズにある三次元オブジェクトの第２のビューをディスプレイに出力するように構成され、さらに、第１の二次元イメージを受け取り、また第２の二次元イメージを受け取るように構成されている。このプロセッサはまた、三次元オブジェクトの第１のビューに応じて、また、第１の二次元イメージに応じて、三次元オブジェクトの曲面に関連づけられる第１の組のサーフェイス・パラメータを決定するように構成され、かつ、三次元オブジェクトの第２のビューに応じて、また、第２の二次元イメージに応じて、三次元オブジェクトの追加曲面に関連づけられる第２の組のサーフェイス・パラメータを決定するように構成されている。
【００２４】
本発明をさらに充分に理解するために、添付図面を参照する。これらの図面は、本発明の範囲を制限するとは考えられないと理解した上で、現在述べられている実施態様や、現在了解されている本発明の最良の態様が、以下の添付図面を使用して、さらに詳しく述べられる。
【発明を実施するための最良の形態】
【００２５】
以下の特許開示では、次の用語が用いられている。
【００２６】
「Ｇｐｒｉｍ（幾何学的プリミティブ）」。パラメトリック関数（Ｂｓｐｌｉｎｅ）により、また、任意数の面（多角形）、もしくは、それらに類するものに編成された三次元点の集まりにより定義されたただ１つの三次元曲面。
【００２７】
「モデル（オブジェクト・モデル）」。任意数の面（ポリゴン・メッシュと細分化曲面）、陰関数(implicit)曲面、もしくはそれらに類するものに編成されたＧｐｒｉｍの集まり。このシステムは、その機能を果たすために、２Ｄ曲面をパラメータで表わす必要はない。
【００２８】
「ビュー(view)」。特定の観察位置からモデルのイメージを生成できる正射影または透視画法のカメラ。
【００２９】
「ポーズ(pose)」。モデルの階層内での特定の厳正な変形と、モデルのＧｐｒｉｍの特定形態の点から、そのモデルの状態。ポーズはまた、１つまたは複数のビューの状態も表わす。
【００３０】
ポーズは、一般に、モデルと、すべてのビュー・カメラの双方の位置と向きを含む。本発明の実施形態では、ポーズは、オブジェクト・モデル内の２つ以上のオブジェクトの特定の形態または向きを指定する。例えば、ポーズは、２つのオブジェクトが、互いに特定の間隔にあること、あるいは、２つのオブジェクトが、互いに特定の角度をなしていること、もしくは、それらに類することを指定するかもしれない。オブジェクトの異なるポーズの例は、以下に図示される。
【００３１】
キャラクタが位置づけられるときはいつでも、その位置は、一般に、指定されたポーズとして保存され、したがって、後で、そのシステムとユーザが、その位置を参照することができる。ユーザは、このモデルの位置を変えて、新たなカメラ・ビューを確立した後で、新たなポーズを保存する。特定のビューにおいて生成されるペインティング（オーバーレイ・イメージ）は、カメラの位置と向きと密接に結び付けられている。
【００３２】
「パス(pass)」。ペインティングのタイプ、例えば、パスに用いられることになっているカラー・チャネルの数とともに、「色」または「変位」。その名前は、シェーダ内で一組のペインティングを参照するのに利用するハンドルを与える。一般に、それらの名前は任意である。
【００３３】
図１は、本発明の一実施形態による代表的なコンピュータシステム１００のブロック図である。
【００３４】
この実施形態では、コンピュータシステム１００は、一般に、モニタ１１０、コンピュータ１２０、キーボード１３０、ユーザ入力装置１４０、ネットワーク・インターフェース１５０などを含む。
【００３５】
この実施形態では、ユーザ入力装置１４０は、一般に、コンピュータ・マウス、トラックボール、トラックパッド、無線リモコン、描画タブレット、ディスプレイ・タブレット統合装置（例えば、ＷａｃｏｍによるＣｉｎｔｉｑ）、ボイス・コマンド・システム、アイ・トラッキング・システムなどとして具現される。ユーザ入力装置１４０は、一般に、ユーザに、モニタ１１０に表示されるオブジェクト、アイコン、テキストなどを選択できるようにする。
【００３６】
ネットワーク・インターフェース１５０の実施形態は、一般に、イーサネット（登録商標）・カード、モデム（電話、衛星、ケーブル、ＩＳＤＮ）（非同期）ディジタル加入者線（ＤＳＬ）ユニットなどを含む。ネットワーク・インターフェース１５０は、一般に、図示されるように、コンピュータ・ネットワークに結合されている。他の実施形態では、ネットワーク・インターフェース１５０は、コンピュータ１２０のマザーボード上に物理的に統合されるか、ソフトＤＳＬなどのソフトウェア・プログラムであるか、あるいは、それらに類するものであるかもしれない。
【００３７】
コンピュータ１２０は、一般に、プロセッサ１６０と、ランダム・アクセス・メモリ（ＲＡＭ）１７０、ディスク・ドライブ１８０などのメモリ記憶装置のようなおなじみのコンピュータ構成要素と、これらのコンピュータ構成要素を相互接続するシステムバス１９０を含む。
【００３８】
一実施形態では、コンピュータ１２０は、Ｉｎｔｅｌ  ＣｏｒｐｏｒａｔｉｏｎからのＰｅｎｔｉｕｍＩＶ（商標）マイクロプロセッサまたはＸｅｏｎ（商標）マイクロプロセッサなどの１つまたは複数のマイクロプロセッサを持つＰＣ対応のコンピュータである。さらに、この実施形態では、コンピュータ１２０は、一般に、ＬＩＮＵＸベースのオペレーティングシステムも含む。
【００３９】
ＲＡＭ１７０とディスクドライブ１８０は、データ、オーディオ／ビデオ・ファイル、コンピュータ・プログラム、シーン記述子（ディスクリプタ）ファイル、オブジェクト・データ・ファイル、オーバーレイ・イメージ、奥行きマップ、シェーダ記述子、レンダリング・エンジン、シェーディング・エンジン、出力イメージ・ファイル、テクスチャ・マップ、変位マップ、ペインティング環境、オブジェクト生成環境、アニメーション環境、面シェーディング環境、アセット管理システム、データベースとデータベース管理システムなどを格納するための有形の媒体の例である。他のタイプの有形の媒体には、フロッピー（登録商標）ディスク、リムーバブル・ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、バーコードなどの光記憶媒体、フラッシュ・メモリ、リード・オンリー・メモリ（ＲＯＭ）、バッテリでバックアップされた揮発性メモリ、ネットワーク上記憶装置のような半導体メモリなどがある。
【００４０】
この実施形態では、コンピュータシステム１００はまた、ＨＴＴＰプロトコル、ＴＣＰ／ＩＰプロトコル、ＲＴＰ／ＲＴＳＰプロトコルなどのように、ネットワーク上でやり取りできるようにするソフトウェアも含む。本発明の代替実施形態では、他の通信ソフトウェアとファイル転送プロトコル、例えば、ＩＰＸ、ＵＤＰなども使用することがある。
【００４１】
図１は、本発明を実施できるコンピュータ・レンダリング・システムを表わしている。通常の当業者であれば、他の多くのハードウェア構成やソフトウェア構成も、本発明への使用に適切であることがすぐに明らかになろう。例えば、このコンピュータは、デスクトップ構成、携帯構成、ラック・マウント構成、またはタブレット構成であってもよい。さらに、Ｐｅｎｔｉｕｍ（商標）マイクロプロセッサまたはＩｔａｎｉｕｍ（商標）マイクロプロセッサ、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｉｖｉｃｅｓ，Ｉｎｃ．からのＯｐｔｅｒｏｎ（商標）マイクロプロセッサまたはＡｔｈｌｏｎＸＰ（商標）マイクロプロセッサ、Ｍｏｔｏｒｏｌａ，Ｉｎｃ．からのＰｏｗｅｒＰＣ  Ｇ４（商標）マイクロプロセッサ、Ｇ５（商標）マイクロプロセッサなどのような他のマイクロプロセッサの使用も考えられる。さらに、Ｍｉｃｒｏｓｏｆｔ    ＣｏｒｐｏｒａｔｉｏｎからのＷｉｎｄｏｗｓＸＰ（登録商標）、ＷｉｎｄｏｗｓＮＴ（登録商標）などのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、Ｓｕｎ  ＭｉｃｒｏｓｙｓｔｅｍｓからのＳｏｌａｒｉｓ、Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  ＣｏｒｐｏｒａｔｉｏｎからのＬＩＮＵＸ、ＵＮＩＸ（登録商標）、ＭＡＣ  ＯＳなどのような他のタイプのオペレーティングシステムも考えられる。
【００４２】
図２は、本発明の一実施形態のブロック図を示している。具体的に言えば、図２は、アニメーション環境２００、オブジェクト生成環境２１０、記憶システム２２０を示している。
【００４３】
この実施形態では、オブジェクト生成環境２１０は、アーマチュアとｒｉｇを含むオブジェクトのアーティキュレーション・モデルをユーザ（モデル製作者）が指定できるようにする環境である。この環境内では、ユーザは、オブジェクトのモデルを生成し（手操作で、手続きに従ってなど）、アニメーション変数（Ａｖａｒｓ）に対して、これらのオブジェクトが、どのようにアーティキュレーションするのか指定できる。特定の一実施形態では、オブジェクト生成環境２１０は、「Ｇｅｐｅｔｔｏ」として知られているＰｉｘａｒ独自仕様のオブジェクト生成環境である。他の実施形態では、他のタイプのオブジェクト生成環境が使用できる。
【００４４】
この実施形態では、ユーザ（シェーダ）が、オブジェクト生成環境２１０も使用して、これらのオブジェクト・モデルのサーフェイス・パラメータを指定する。以下に述べられるように、ユーザが、ペインティングを通じて、これらのオブジェクト・モデルの曲面にパラメータを割り当てられるようにする環境が、オブジェクト生成環境２１０内で、あるいは、別個に提供されることがある。様々な実施形態において、これらのサーフェイス・パラメータには、カラーデータ、テクスチャ・マッピング・データ、変位データなどがある。これらのサーフェイス・パラメータは、一般に、シーン内で、このオブジェクトをレンダリングするのに使用される。
【００４５】
本発明の実施形態では、この環境により、ユーザは、このオブジェクト・モデルに対して、ポーズを定義することができる。さらに、この環境により、ユーザは、異なるポーズにあるオブジェクト・モデルのビューをレンダリングすることができる。この環境はまた、この機構を提供して、標準オブジェクト形態にて陰影を付けて、レンダリングしながら、「基準」ポーズ（Ｐｒｅｆとしても知られている）への平面投影（奥行きマップと曲面垂線の使用が可能である）を実行し、また、以下に述べられるように、異なるビュー、異なるポーズ、異なるペイント・データ、異なるサーフェイス・パラメータ・データなどの間での関連づけを維持する。
【００４６】
この実施形態では、オブジェクト生成環境２１０を用いて生成されるオブジェクト・モデルは、アニメーション環境２０でも使用できる。一般に、オブジェクト・モデルは、階層的に構築される。オブジェクト・モデルを構築する階層性は、役に立つ。なぜなら、一般に、異なるユーザ（モデル製作者）には、異なるモデルを生成するタスクが割り当てられるからである。例えば、或るモデル製作者には、ハンド・モデル２９０を生成するタスクが割り当てられ、また、別のモデル製作者には、下方腕のモデル２８０を生成するタスクが割り当てられるといった具合である。
【００４７】
この実施形態では、アニメーション環境２００は、アニメーション変数（Ａｖａｒｓ）を通じて、オブジェクトのアーティキュレーション・モデルをユーザ（アニメ製作者）が操作できるようにする環境である。一実施形態では、アニメーション環境２００は、Ｐｉｘａｒ独自仕様のアニメーション環境（「Ｍｅｎ  Ｖ」として知られている）である。ただし、他の実施形態では、他のアニメーション環境も適応させることもできる。この実施形態では、アニメーション環境２００により、アニメ製作者は、これらのオブジェクト・モデル（包括的ｒｉｇ）中に与えられたＡｖａｒｓを操作し、また、時間に関して、これらのオブジェクトを動かす（すなわち、オブジェクトをアニメートする）ことができる。
【００４８】
本発明の他の実施形態では、アニメーション環境２００とオブジェクト生成環境２１０を組み合わせて、１つの統合環境を形成することがある。
【００４９】
図２では、記憶システム２２０は、オブジェクトのアーティキュレーション・モデルにアクセスする、編成された繰返し可能な任意のやり方を含む。例えば、一実施形態では、記憶システム２２０は、ローカル・ドライブまたはネットワーク・ドライブ上に単純なフラット・ディレクトリ(flat-directory)構造を含む。他の実施形態では、記憶システム２２０は、アセット管理システム、またはデータベースに結び付けられているデータベース・アクセス・システム、もしくは、それらに類するものである。一実施形態では、記憶システム２２０は、アニメーション環境２００とオブジェクト生成環境２１０から、オブジェクト・モデルへの参照データを受け取る。返事として、記憶システム２２０は、ここに保存されているオブジェクト・モデルを提供する。記憶システム２２０はまた、一般に、本明細書に説明されているサーフェイス・シェーディング・パラメータ、オーバーレイ・イメージ、奥行きマップなども保存する。
【００５０】
従来は、Ｐｉｘａｒのオブジェクト生成環境により、ユーザは、特定の形態（ポーズ）にて、複数のビューから、１オブジェクト・モデル上にイメージ（テクスチャ）をペイントし、投影することができた。しかしながら、本発明の発明者は、このオブジェクト生成環境が、異なるポーズにあるオブジェクトのビューをサポートしないことと、ただ１つのポーズにある複雑な三次元モデル上にテクスチャを施すことが難しいことがわかった。
【００５１】
図３Ａ〜図３Ｂは、本発明の一実施形態によるフロー・プロセスを示している。最初に、三次元オブジェクト・モデルを提供する（ステップ３００）。一般に、一人または複数人のユーザ（オブジェクト・モデル製作者）は、オブジェクト生成環境を通じて、１つまたは複数のオブジェクトの幾何学的表現を指定する。これらのオブジェクトをいっしょに組み合わせて、さらに大きいオブジェクトのモデルを形成する。この実施形態では、このモデル製作者は、Ｇｅｐｅｔｔｏなどのようなオブジェクト生成環境を使用することがある。
【００５２】
次に、この実施形態では、ほかのユーザが、これらのオブジェクトの曲面がどのように表示されるべきか指定する。例えば、このようなユーザ（シェーダ）は、基本色、スクラッチ、ほこり、変位マップ、ざらざらと明るさ（ハイライト）のマップ、透明度、材料制御(control over material)タイプなどの、オブジェクトの曲面効果をいくつでも指定する。そうするために、ユーザは、三次元オブジェクト・モデルを得て、初期ポーズを指定する（ステップ３１０）。他の実施形態では、オブジェクトがデフォルト・ポーズを持つときに、このステップを特定的に実行する必要はない。例えば、自動車などのキャラクタ用のオブジェクト・モデルは、そのドアを閉めた状態のデフォルト・ポーズを持つことがある。同時に、ユーザは、一般に、１つまたは複数のビュー・カメラ位置を指定する。他の実施形態では、オブジェクトごとに、いくつかのデフォルト・カメラを使用できる。例えば、様々な実施形態において、一般に指定される投影ビューは、上面ビュー、左側面ビュー、右側面ビュー、底面ビューなどを含む。さらに、カメラは、斜めビュー、もしくはそれに類するビューであってもよい。投影ビューは、平面であるだけでなく、非平面で、かつ射影的でもあってもよい。例として、曲線状プロジェクタ(curved projector)が、イメージを曲面上にマッピングする場合には、透視図法が考えられる。
【００５３】
次に、この実施形態において、このコンピュータシステムは、第１のポーズにある三次元オブジェクトの二次元ビューをレンダリングする（ステップ３２０）。さらに具体的には、このシステムは、このオブジェクト・モデル、このポーズ、ビュー・カメラ・データを用いて、それぞれのビューをレンダリングする。様々な実施形態において、このレンダリング・パスは、ＰｉｘａｒのＲｅｎｄｅｒｍａｎ製品などのレンダリング・プログラムによる高品質のレンダリングでよい。他の実施形態では、このレンダリング／シェーディング処理は、ＧＬおよびＧＰＵのハードウェアや、ソフトウェアのレンダラーなどの低品質のレンダリング処理を用いて実行できる。
【００５４】
様々な実施形態において、それぞれのレンダリングされたビューは、個々のビュー・イメージ・ファイルとして保存するか、あるいは、組み合わせて、さらに大きいファイルを形成する。それぞれのレンダリングされたビューとともに、平面投影機能を利用できる奥行きマップも生成する。
【００５５】
この実施形態において、このシステムは、このオブジェクトの１つまたは複数のレンダリングされたビューを表示する（ステップ３３０）。本発明の実施形態では、このステップは、ユーザが、ピクセル値を二次元イメージ上にグラフィカルに割り当てられるようにするユーザ環境において行われる。一般に、このような環境は、「ペイント(paint)」機能を含むと呼ばれる。一実施形態では、この１つまたは複数のビューは、同時に、ユーザに表示できる。
【００５６】
次に、実施形態において、ユーザは、このオブジェクトのビューとともに、ピクセル値を割り当てる（ステップ３４０）。一実施形態では、ユーザは、このオブジェクトの「上」にグラフィカルにペイントすることで、この処置を実行する。このペインティングは、子供がお絵かきをするか、あるいは、塗り絵の本に描かれているイメージに色を着けることに似ている。例えば、ユーザは、オーバーレイ層、もしくはそれに類するものを用いて、オブジェクトのビュー上に、異なるブラシを施す。本明細書では、「層」に類似する機構の使用が考えられる。この実施形態では、これらの異なるブラシは、１つまたは複数のグレースケール値、１つまたは複数の色などを持つことがある。
【００５７】
一例として、ユーザは、細い黒色ブラシを使用して、このビューのオーバーレイ層にクラック・タイプのパターンを描くことがある。別の例では、ユーザは、スプレーペイント・タイプのブラシを使用して、このビューのオーバーレイ層中の選択された部分を濃くすることがある。さらに他の例では、ユーザは、ペイントブラシを使用して、このビューのオーバーレイ層に着色することがある。さらに他の実施形態では、オーバーレイ層イメージを指定する他のやり方、例えば、このイメージへの１つまたは複数の勾配（ｇｒａｄｉｅｎｔ）の適用、オーバーレイ層イメージの指定部分に限定される操作（例えば、選択）の適用、オーバーレイ層イメージへの１つまたは複数のイメージの組込み（例えば、ｄｅｃａｌ層(decal layer)）なども考えられる。
【００５８】
次に、この実施形態では、それぞれのビューに対するオーバーレイ層イメージを保存する（ステップ３５０）。様々な例では、これらのオーバーレイ層イメージを、この二次元ビューとは別で、かつ識別可能なファイルに保存する。他の実施形態では、このオーバーレイ層イメージを、この二次元ビューのレイヤ、もしくは、それらに類するものに保存する。様々な実施形態において、このオーバーレイ層イメージを含むファイルはまた、ステップ３１０において定義されるポーズ、および、ステップ３２０、ステップ３６０において決定される奥行きマップにも関連づけられる。
【００５９】
この実施形態では、ユーザは、第２のポーズにある三次元オブジェクトに再びポーズを取らせることに決める（ステップ３７０）。次に、上述のプロセスを繰り返す。様々な実施形態において、この三次元オブジェクトに再びポーズを取らせ、１つまたは複数のビューと、そのビューの上にペイントする奥行きマップなどを生成する処理を、ユーザが必要とみなすだけの数のポーズに対して、繰り返すことができる。一例として、キャラクタのオブジェクトでは、或るポーズは、口を開け、かつ腕を上げたキャラクタであり、また、別のポーズは、口を閉じて、かつ腕を下ろしたキャラクタであることもある。別の例として、折畳み式テーブルでは、或るポーズは、広げられた折畳み式テーブルであり、また、別のポーズは、脚を、テーブル上面板から「分解」すなわち分離した折畳み式テーブルであることもある。
【００６０】
本発明のいくつかの実施形態では、ユーザは、スクリーン上に、この三次元オブジェクトの異なるポーズから得られたビューを同時に見ることがある。よって、上述の見て、ペイントする処理は、一度に、このオブジェクトの１つのポーズに基づいてのみ、実行する必要はない。さらに、ユーザは、同一セッションにおいて、異なるポーズから、このオブジェクトのビューの上にペイントすることがある。例えば、キャラクタが口を開けたポーズを取る場合には、ユーザは、キャラクタの口を示すビュー上のレイヤに白色をペイントし、次に、ユーザは、キャラクタの髪を示すビューのレイヤに黒色をペイントし、次に、ユーザは、キャラクタの口を示すビュー上のレイヤに白色の別のシェード（陰影）を再びペイントすることがある。
【００６１】
この実施形態では、次のステップは、第１のポーズにある三次元オブジェクトのそれぞれのビュー上にペイントされた値を、この三次元オブジェクトに戻して関連づけることである（ステップ３８０）。さらに具体的に言えば、三次元オブジェクトのそれぞれのビューは、一般に、第１のポーズにある三次元オブジェクトの曲面を二次元に投影したものである。よって、このオーバーレイ・イメージにより「ペイントされる」ように思われる部分は、関連する奥行きマップを用いて、この三次元オブジェクトに戻して、投影される。このような機能が有効になる。なぜなら、このシステムは、三次元オブジェクトのオーバーレイ・イメージ、ビュー、ポーズの間で連係を維持するからである。レンダリングされたビューが複数ある場合には、このペイントは、レンダリングされたビューごとに、第１のポーズにある三次元オブジェクトに戻して、投影される。
【００６２】
本発明の実施形態では、曲面垂線は、この三次元オブジェクトの曲面上への投影の効果を「フェザリングする(feather)」ために使用できる。例えば、曲面が、この投影ビューに平行である場合には、そのペイント効果は、〜１００％であると算出されるが、しかるに、曲面が、この投影ビューに対して３０度の角度をなしている場合には、そのペイント効果は、〜５０％（ｓｉｎ（３０））であると算出され、一方、曲面が、この投影ビューに対して６０度の角度をなしている場合には、そのペイント効果は、〜１３％（ｓｉｎ（６０））であると算出されるといった具合である。フェザリングする大きさは、ユーザにより調整される。他の実施形態では、フェザリングは、このオブジェクトの縁または境界などのような推移部分でのペイント効果を変えるために使用できる。様々な実施形態において、この投影されたペイントのフェザリングにより、投影されたペイントのスミアリングが減らされる。
【００６３】
図４は、一実施形態の一例を示している。この例では、三次元円筒体５００は、円筒体５００の二次元ビュー５２０内の長方形５１０として表示される。上記のプロセスにより、ユーザは、ビュー５２０の上にオーバーレイ・イメージ５３０をペイントする。この例では、ユーザは、円筒体５００の下半分に、黒色でペイントする。
【００６４】
次に、図４に示されるように、このオーバーレイ・イメージを、この三次元円筒体に投影する。よって、円筒体５００の前部下側の曲面５４０のモデルを、そのプロパティ、すなわち黒色に関連づけ、また、この曲面垂線が可視平面から遠ざかる方に向かうにつれ、そのモデルをフェザリングする。円筒体５００の後部下側の曲面５５０は、ビュー５２０内に露出しなかったので、黒色には関連づけられてない。
【００６５】
この例では、円筒体５００の後部ビュー５６０と下側ビュー５７０を指定して、円筒体５００の残る下半分の曲面を露出させることもある。
【００６６】
図３に戻って、次のステップは、第２のポーズにある三次元オブジェクトのそれぞれのビューにペイントされた値を、この三次元オブジェクトに戻して関連づけることである（ステップ３９０）。上の説明と同様に、このオブジェクトのそれぞれのビューは、一般に、第２のポーズにある三次元オブジェクトの曲面を二次元に投影したものである。よって、このオーバーレイ・イメージにより「ペイントされる」ように思われる部分は、関連する奥行きマップを用いて、この三次元オブジェクトに投影される。また、レンダリングされたビューが複数ある場合には、このペイントは、レンダリングされたビューごとに、第２のポーズにある三次元オブジェクトに戻して、投影される。
【００６７】
この実施形態では、ステップ３８０とステップ３９０からの平面投影を組み合わせて、双方とも、この三次元オブジェクトの曲面に戻して投影する（ステップ４００）。言い替えれば、ユーザは、異なるポーズにある三次元オブジェクトのレンダリングされたビューにペイントし、かつ、そのペイント・データを、中立のポーズにあるただ１つの三次元オブジェクトに戻して投影させる。
【００６８】
本発明の発明者は、上記の機能が重要であると考えている。これは、上記の機能により、ユーザが、三次元オブジェクトに再びポーズを取らせることができ、かつ、その結果得られたレンダリングされたビューにユーザがペイントできるようにすることで、この三次元オブジェクトの到達困難な部分にユーザが「ペイント」できるからである。一例として、或るポーズは、口を閉じているキャラクタであり、また、別のポーズは、口を開けているキャラクタである。さらに、本発明の実施形態を利用する例を、以下に例示する。
【００６９】
本発明の実施形態では、三次元オブジェクトの正式レンダリングの前に、このステップ４００を実行することもある。他の実施形態では、ステップは、正式レンダリング処理の間に動的に行われる。例えば、ステップ３８０からのデータと、ステップ３９０からのデータは、別々のファイルに維持される。次に、このオブジェクトが、高品質にレンダリングされることになっているときには（例えば、ＰｉｘａｒのＲｅｎｄｅｒｍａｎを用いて）、このシステムは、第１のポーズにある三次元オブジェクトからの平面投影データを、第２のポーズにある三次元オブジェクトからの平面投影データに動的に組み合わせる。
【００７０】
次に、この組み合わされた平面投影データを使用して、一般に第３のポーズにある三次元オブジェクトをレンダリングする（ステップ４１０）。一例として、第１のポーズは、両腕を下ろしたキャラクタであり、また、第２のポーズは、両腕を上げたキャラクタであり、さらに、第３のポーズは、片腕だけを上げたキャラクタである。
【００７１】
本発明の実施形態では、このペイント・データは、このオブジェクトの曲面に、プロパティをいくつでも指定してもよい。このようなプロパティはまた、シェーディング・パス・データとも呼ばれる。代表的なオブジェクト曲面では、１００よりも多いシェーディング・パスがあることもある。例えば、このペイント・データは、曲面の色、テクスチャ・マップの適用、変位マップの適用などを指定する。本発明の実施形態では、ステップ３８０からの平面投影と、ステップ３９０からの平面投影は、同一のプロパティまたは異なるプロパティを、このオブジェクトの曲面に施すことがある。例えば、ステップ３８０は、曲面「クラック」パスであり、また、ステップ３９０は、曲面カラー・パスである。
【００７２】
様々な実施形態において、このオブジェクトは、シーン中の他のオブジェクトと同一の時間にレンダリングされる。このレンダリングされたシーンは、一般に、別の二次元イメージであり、次に、この二次元イメージを保存する（ステップ４２０）。本発明の実施形態では、このレンダリングされたシーンは、フィルム、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ）などのような光学形式、ハードディスク、ネットワーク・ドライブなどのような磁気形式、電子信号、データ・パケットなどのような電子形式で保存できる。この結果得られたレンダリングされたシーンの表現は、後で、検索されて、１つまたは複数のビューア（表示装置）に表示される（ステップ４３０）。
【００７３】
図５Ａ〜図５Ｃは、本発明の一実施形態の一例を示している。具体的に言えば、図５Ａは、ボックス６００の三次元モデルを、閉じたポーズで示している。図５Ｂには、正面ビュー６１０、上面ビュー６２０、側面ビュー６３０を含むボックス６００のいくつかの二次元ビューが示されている。
【００７４】
図５Ｃでは、ユーザは、ビュー６１０〜６３０の上に、それぞれオーバーレイ・イメージ６４０〜６６０を生成している。上に説明されるように、ユーザは、一般に、ビュー６１０〜６３０の上にペイントして、オーバーレイ・イメージ６４０〜６６０を生成している。図５Ｄは、オーバーレイ・イメージ６４０〜６６０を、閉じたポーズで、ボックス６００の三次元モデルに戻して投影した後で、ボックス６７０の三次元モデルを、閉じたポーズで示している。
【００７５】
図６Ａ〜図６Ｄは、本発明の一実施形態の他の例を示している。具体的に言えば、図６Ａは、ボックス７００の三次元モデルを、開いたポーズで示している。図６Ｂには、上面ビュー７１０、第１の断面７２０、第２の断面７３０を含むボックス７００の二次元ビューが示されている。
【００７６】
図６Ｃでは、ユーザは、ビュー７１０〜７３０の上に、それぞれオーバーレイ・イメージ７４０〜７６０を生成している。この場合も、ユーザは、一般に、それぞれの図の上にペイントして、オーバーレイ・イメージを生成している。図６Ｄは、オーバーレイ・イメージ７４０〜７６０を、開いたポーズで、ボックス７００の三次元モデルに戻して投影した後で、ボックス７７０の三次元モデルを、開いたポーズで示している。
【００７７】
次に、この実施形態では、ボックス６７０の三次元モデルとボックス７７０の三次元モデルを組み合わせて、ただ１つの三次元モデルを形成している。図６Ｅに示されているものは、図５Ｃと図６Ｃからの、元に戻して投影されたデータを含むボックス７８０のただ１つの三次元モデルである。図６Ｅに示されるように、この三次元モデルは、図５Ａまたは図６Ａに示されるポーズとは異なるポーズを取ることがある。
【００７８】
図７Ａ〜図７Ｃは、本発明の一実施形態の別の例を示している。さらに具体的に言えば、図７Ａは、デフォルト・ポーズ８００にある腰掛けの三次元モデルを示している。図７Ｂでは、このデフォルト・ポーズにある腰掛けの８００のいくつかのビュー８１０が示されている。この例では、ユーザは、上記のように、ビュー８１０にペイントすることができる。次に、７Ｃは、第２のポーズ８２０にある上記腰掛けの三次元モデルを示している。見てわかるように、この腰掛けの脚８３０は、その座る面から「分解」すなわち分離している。いくつかのビュー８４０が示されている。この例において、ビュー８４０では、ユーザは、座る面８５０の底面と、腰掛けの脚８６０に、さらに容易にペイントできることがわかる。
【００７９】
多くの変更または変形が、容易に想定できる。上記の開示に照らして、通常の当業者であれば、上述の概念を適用する環境は、いくつあってもよいことが理解されよう。例えば、オブジェクト生成環境、別のシェーディング環境、サードパーティ・ペイントプログラム（例えば、Ｐｈｏｔｏｓｈｏｐ、Ｍａｙａ、ＳｏｆｔＩｍａｇｅ）などに不可欠なペインティング機能が提供されることがある。上述のいくつかの実施形態は、平面投影手法を使用して、オブジェクトのビューを形成し、また、このオーバーレイ層を、三次元オブジェクトに戻して投影する。他の実施形態はまた、非平面投影手法も使用して、オブジェクトの透視図を形成し、また、三次元オブジェクトに戻して投影することがある。
【００８０】
本発明の他の実施形態では、オーバーレイ層にペイントし、かつ、三次元オブジェクトに戻して平面投影を行う処理は、三次元オブジェクトの複数のポーズに対して、リアルタイム、または、ほぼリアルタイムで行われることがある。例えば、ユーザには、第１のポーズにあるオブジェクトの第１のビューと、第２のポーズにあるオブジェクトの第１のビューを与えられる。次に、ユーザは、この第１のビューのオーバーレイ層にペイントする。この実施形態では、ユーザがペイントするときに、このペイントを、三次元オブジェクトに戻して投影する平面投影処理が行われる。次に、リアルタイム、または、ほぼリアルタイムで、このシステムは、第１のポーズにあるオブジェクトの第１のビューと、さらに、第２のポーズにあるオブジェクトの第２のビューも再びレンダリングする。このような実施形態では、この処理が非常に速く行われるために、ユーザは、他のあらゆるポーズのうち（他のポーズのビュー）、或るポーズにあるオブジェクトに及ぼすサーフェイス・パラメータの仕様の効果を知ることができる。
【００８１】
本発明の実施形態では、この曲面上にペイントする様々な方法、例えば、ブラシ、テクスチャ、勾配、フィルタなどを用いる方法が考えられる。さらに、これらのペイントされたイメージ（例えば、レイヤ）を保存する様々な方法も考えられる。
【００８２】
上述の実施形態は、コンピュータシステム用の方法、これらの開示された方法を実行できるコンピュータシステムを開示している。追加の実施形態は、このコンピュータシステムに、これらの開示された方法を実行させるソフトウェア・コードなどを含め、有形の媒体上のコンピュータ・プログラム製品を含む。
【００８３】
当業者には、この開示を読んだ後で、さらなる実施形態が想定できる。他の実施形態では、上に開示された発明を、有利に、全部または一部組み合わせることができる。このアーキテクチャのブロック図と流れ図をまとめて、容易に理解できるようにする。しかしながら、ブロックの組合せ、新たなブロックの追加、ブロックの再配置などは、本発明の代替実施形態において考えられるものとする。
【００８４】
よって、この明細書と図面は、限定的な意味ではなくて、例示的な意味で顧慮されるべきである。しかしながら、特許請求の範囲に記述される本発明のさらに広い精神および範囲から逸脱しなければ、このような明細書と図面に、様々な変形や変更をなせることは明らかであろう。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施形態によるシステムのブロック図を示す。
【図２】本発明の一実施形態のブロック図を示す。
【図３Ａ】本発明の一実施形態によるフロー・プロセスである。
【図３Ｂ】本発明の一実施形態によるフロー・プロセスである。
【図４】一実施形態の一例を示す。
【図５Ａ】本発明の一実施形態の一例を示す。
【図５Ｂ】本発明の一実施形態の一例を示す。
【図５Ｃ】本発明の一実施形態の一例を示す。
【図５Ｄ】本発明の一実施形態の一例を示す。
【図６Ａ】本発明の一実施形態の別の例を示す。
【図６Ｂ】本発明の一実施形態の別の例を示す。
【図６Ｃ】本発明の一実施形態の別の例を示す。
【図６Ｄ】本発明の一実施形態の別の例を示す。
【図６Ｅ】本発明の一実施形態の別の例を示す。
【図７Ａ】本発明の一実施形態の別の例を示す。
【図７Ｂ】本発明の一実施形態の別の例を示す。
【図７Ｃ】本発明の一実施形態の別の例を示す。
【符号の説明】
【００８６】
５００  第１の形態にある三次元モデル、５１０  第１の二次元ビュー、５５０  第２の形態にある三次元モデル、５７０  第２の二次元ビュー
【図１】
2007500395.tif 000003
【図２】
2007500395.tif 000004
【図３Ａ】
2007500395.tif 000005
【図３Ｂ】
2007500395.tif 000006
【図４】
2007500395.tif 000007
【図６Ａ】
2007500395.tif 000008
【図６Ｂ】
2007500395.tif 000009
【図６Ｃ】
2007500395.tif 000010
【図６Ｄ】
2007500395.tif 000011
【図７Ａ】
2007500395.tif 000012
【図７Ｂ】
2007500395.tif 000013
【図７Ｃ】
2007500395.tif 000014
【図７Ｄ】
2007500395.tif 000015
【図７Ｅ】
2007500395.tif 000016
【図８Ａ】
2007500395.tif 000017
【図８Ｂ】
2007500395.tif 000018
【国際調査報告】
2007500395.tif 000019