(57)【要約】三次元ペイントシステムにおいて、従来固定的であったマッピングを描画時に適応的に生成することによってマッピングの自動化及び最適化を図る。マッピング用のＵＶマップ及び着色用のビットマップを用意し、描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付け、前記ビットマップを所定の色で塗りつぶす。三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更する。このとき、前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得る。前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移す。そして、三次元画面で描画された線を対応するビットマップへ写す。描画のストロークごとに前記ビットマップ上の新しい領域を割り当てる。
2002021453.tif 000002
【特許請求の範囲】
【請求項１】
三次元画面で描画された物体の一部の領域を切り出す第１ステップと、
切り出された前記領域を画面に対して投影することにより部分的なマッピングを生成する第２ステップと、
前記物体に関して次の描画が起きたときに前記第１及び第２ステップを繰り返して新しい部分的なマッピングを生成する第３ステップとを備える、動的なマッピングによる三次元モデルの着色方法。
【請求項２】
マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、
描画された領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、
前記ビットマップを所定の色で塗りつぶすステップと、を備える初期設定ステップをさらに備えることを特徴とする請求項１記載の三次元モデルの着色方法。
【請求項３】
前記頂点は前記ＵＶマップの座標（０，０）にセットされることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項４】
前記ＵＶマップ及び前記ビットマップはユーザー視点から見た状態で定義されることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項５】
前記第１ステップは、三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップを備えることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項６】
前記ＵＶ座標は、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得られることを特徴とする請求項５記載の三次元モデルの着色方法。
【請求項７】
前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップをさらに備えることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項８】
前記第２ステップは、三次元画面で描画された線を対応するビットマップへ写すステップを備えることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項９】
前記第１及び第２ステップは、描画のストロークごとに前記ビットマップ上の新しい領域を割り当てるステップを備えることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項１０】
前記第１及び第２ステップは、カメラの回転操作ごとに前記ビットマップ上の新しい領域を割り当てることを特徴とする請求項２記載の三次元モデルの着色方法。
【請求項１１】
コンピュータに、
三次元画面で描画された物体の一部の領域を切り出す第１ステップと、
切り出された前記領域を画面に対して投影することにより部分的なマッピングを生成する第２ステップと、
前記物体に関して次の描画が起きたときに前記第１及び第２ステップを繰り返して新しい部分的なマッピングを生成する第３ステップとを実行させるためのプログラムを記憶した記録媒体。
【請求項１２】
コンピュータに、
マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、
描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、
前記ビットマップを所定の色で塗りつぶすステップと、
三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップと、
前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得るステップと、
前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップと、
三次元画面で描画された線を対応するビットマップへ写すステップと、
描画のストロークごとに前記ビットマップ上の新しい領城を割り当てるステップと、を実行させるためのプログラムを記憶した記録媒体。
【請求項１３】
コンピュータに、
マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、
描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、
前記ビットマップを所定の色で塗りつぶすステップと、
三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップと、
前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得るステップと、
前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップと、
三次元画面で描画された線を対応するビットマップへ写すステップと、
カメラの回転操作ごとに前記ビットマップ上の新しい領域を割り当てるステップと、を実行させるためのプログラムを記憶した記録媒体。
【請求項１４】
コンピュータに、
三次元画面で描画された物体の一部の領域を切り出す第１ステップと、
切り出された前記領城を画面に対して投影することにより部分的なマッピングを生成する第２ステップと、
前記物体に関して次の描画が起きたときに前記第１及び第２ステップを繰り返して新しい部分的なマッピングを生成する第３ステップとを実行させるためのプログラム。
【請求項１５】
コンピュータに、
マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、
描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、
前記ビットマップを所定の色で塗りつぶすステップと、
三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップと、
前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得るステップと、
前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップと、
三次元画面で描画された線を対応するビットマップへ写すステップと、
描画のストロークごとに前記ビットマップ上の新しい領域を割り当てるステップと、を実行させるためのプログラム。
【請求項１６】
コンピュータに、
マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、
描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、
前記ビットマップを所定の色で塗りつぶすステップと、
三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップと、
前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得るステップと、
前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップと、
三次元画面で描画された線を対応するビットマップへ写すステップと、
カメラの回転操作ごとに前記ビットマップ上の新しい領域を割り当てるステップと、を実行させるためのプログラム。
【発明の詳細な説明】
技術分野
この発明は、コンピュータグラフィックスにおける三次元モデルの着色方法及びこの方法をコンピュータに実行させるためのプログラムを記憶した記録媒体に関する。
背景技術
コンピュータグラフィックスにおいて、三次元モデルに色や模様をつけて表示する手法としてテクスチャマッピングという手法が主に用いられている。これは三次元形状をあらわすジオメトリとは別に、そこへ貼りつける二次元のビットマップを用意しておき、表示時にジオメトリとビットマップの対応表を参照しながら、着色された三次元画像を生成するものである。この対応表の例としてＵＶマッピングがある。
テクスチャマップとしては、写真などの素材を利用するものがあるが、デザイナが新たに生成する場合には、直接三次元モデルに描画ツールを使って着色する手法が用いられる。
デザイナが新たに生成する場合において、ＵＶマッピングは手作業あるいは自動的に予め用意されている。ユーザが三次元画面の絵を描くたびに、そのＵＶマッピングを参照して、対応するビットマップ上の位置が特定され、ビットマップ上に線が描かれる。
ここで、ＵＶマッピングについて簡単に説明する。ＵＶマッピングとは、ジオメトリとビットマップの位置の対応関係を示すいわば対応表である。一般的には、三次元モデルは複数のポリゴンから構成される。これら複数のポリゴンの各頂点が、それぞれテクスチャ画像上のどの点に対応しているのか、という値（これがテクスチャ画像上の座標（Ｕ，Ｖ）に値する）をあらかじめ持っている。ポリゴンを描画するときに、そのＵＶ値をもとにポリゴン上の１点１点がテクスチャ上のどの位置（どの色）を参照しているのか、というのを求めてその色で点を生成することでテクスチャの描画を実現できる。ＵＶ値はテクスチャ画像における座標をあらわす。Ｕ，Ｖともにテクスチャ画像上では、一般的には、０〜１の範囲の値をとる。
ところで、ＵＶマップを手作業で作成するのは大変な手間と技術が必要になる。一方、ＵＶマップの自動作成手法も存在するが、デザイナの意図に沿う結果に必ずしもならない。
さらに、従来のＵＶマッピングにおいては次のような問題点もある。
・三次元を二次元にマッピングするので、どこかに歪が生じる。
・メッシュの境界でゆがみが生じる。
・ペイントされない領域もビットマップを消費するので計算機の資源に無駄が生じる。
この発明は、係る課題を解決するためになされたもので、三次元モデルに直接描画することによってテクスチャを生成する三次元ペイントシステムにおいて、従来固定的であったマッピングを描画時に適応的に生成することによって、マッピングの自動化及び最適化を図ることができる三次元モデルの着色方法及び記録媒体を提供することを目的とする。
発明の開示
係る課題を解決するために、本発明に係る三次元モデルの着色方法は、三次元画面で描画された物体の一部の領域を切り出す第１ステップと、切り出された前記領域を画面に対して投影することにより部分的なマッピングを生成する第２ステップと、前記物体に関して次の描画が起きたときに前記第１及び第２ステップを繰り返して新しい部分的なマッピングを生成する第３ステップとを備える。
この発明に係るプログラムは、コンピュータに、三次元画面で描画された物体の一部の領域を切り出す第１ステップと、切り出された前記領域を画面に対して投影することにより部分的なマッピングを生成する第２ステップと、前記物体に関して次の描画が起きたときに前記第１及び第２ステップを繰り返して新しい部分的なマッピングを生成する第３ステップとを実行させるものである。
この発明に係るプログラムは、コンピュータに、マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、前記ビットマップを所定の色で塗りつぶすステップと、三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップと、前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得るステップと、前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップと、三次元画面で描画された線を対応するビットマップへ写すステップと、描画のストロークごとに前記ビットマップ上の新しい領域を割り当てるステップと、を実行させるものである。
この発明に係るプログラムは、コンピュータに、マッピング用のＵＶマップ及び着色用のビットマップを用意するステップと、描画された前記領域の頂点を前記ＵＶマップの所定の座標に対応付けるステップと、前記ビットマップを所定の色で塗りつぶすステップと、三次元画面において線が描画されたときに、前記線に重なる物体のメッシュのＵＶ座標を変更するステップと、前記ＵＶ座標を、前記物体のメッシュの頂点を画面へ投影したスクリーン座標から得るステップと、前記物体のメッシュがすでに着色処理されていた場合には、そのビットマップの情報を別の位置へ再計算して移すステップと、三次元画面で描画された線を対応するビットマップへ写すステップと、カメラの回転操作ごとに前記ビットマップ上の新しい領域を割り当てるステップと、を実行させるものである。
発明を実施するための最良の形態
この発明の実施の形態について説明する。
本発明の実施の形態は、従来固定的であったＵＶマッピングを、描画時に動的に変化させて最適な結果を得るものである。具体的には、三次元画面で描画された領域を切り出して、画面に対して投影する形で部分的なＵＶマッピングを生成する、物体を回転して次の描画がおきるとまた新しい部分的ＵＶマッピングを生成する、というものである。
図２はこの発明の実施の形態の概念図である。符号１００は生成された物体（例えば立方体）、符号１０１はこの物体のＵＶマッピング、符号１０２はこの物体のビットマップである。従来のＵＶマッピングは固定的であったが、この発明の実施の形態においてはビットマップ１０２とともにＵＶマッピング１０１も編集される。例えば、立方体１００のある面に円１００ａが描画されたとき、ビットマップ１０２に円１００ａが描画（色づけ）されるとともに、ＵＶマップ１０１に円１００ａが描画された面が定義され、その中に円１００ａが定義される。立方体１００の他の面に描画がなされると、ＵＶマップ１０１の別の領域にその面が定義される。この処理によれば、描画されない面のＵＶマップ１０１及びビットマップ１０２は生成されない。したがって、メモリを節約することができる。
次に、図１のフローチャート及び図３並びに図４の説明図に基づき、本発明の実施の形態に係る処理方法について詳しく説明する。
Ｓ１：初期状態では、頂点のＵＶ座標は（０，０）にセットされる。ビットマップは基本色で塗りつぶされている。この状態を図３（ａ）に示す。三次元座標において物体１００が構成されている。これに対応してＵＶマップ１０１及びビットマップ１０２が用意される。なお、図３及び図４において、説明の便宜上、ＵＶマップ及びビットマップ１０２を共通の図で表す。
Ｓ２：ユーザーが三次元画面に線を引くと、その線に重なる三次元メッシュのＵＶ座標を変更する。その際、ＵＶ座標は、各頂点を画面へ投影したスクリーン座標から得る。
Ｓ３：該当する三次元メッシュがすでにペイントされていた場合には、そのビットマップ情報を新しい位置へ再計算して移してくる（Ｓ４）。
Ｓ５：その後、ユーザーが三次元画面を描いた線を、対応するビットマップへ写すことで、描画の１ステップが完了する。
図３（ｂ）のように、物体１００に対して眼１０３及び口１０４を描画を行うと、これに応じてＵＶマップ１０１の座標が設定される（Ｓ２）とともに、描かれた線がビットマップ１０２に写される（Ｓ５）。これにより、眼１０３及び口１０４に対応するＵＶマップ及びビットマップ１０５が得られる。
なお、ＵＶ座標はスクリーン座標から得られるので、ＵＶマップ及びビットマップ１０５はユーザー視点から見た状態で定義される。新たなストロークやカメラの回転に対しては、別の領域に新たにＵＶマップ及びビットマップが生成される（Ｓ６、Ｓ７）。
例えば、図４（ｃ）のように物体１００を回転させてその左側面を表示させ、それに模様１０６を描く場合、ＵＶマップ１０１及びビットマップ１０２上の別の領域に、模様１０６に対応するＵＶマップ及びビットマップ１０７が得られる。同様に、図４（ｄ）のように物体１００を回転させてその左側面を表示させ、それに模様１０８を描く場合、符号１０５，１０７と別の領域に、模様１０８に対応するＵＶマップ及びビットマップ１０９が得られる。
本発明の実施の形態に係る発明によれば、次のような利点を備える。
（１）ＵＶマップを手作業で作成する必要がない。
図１のフローチャートに従いコンピュータは自動的にＵＶマップを生成することができる。
（２）デザイナの操作状況に応じてＵＶマップを生成するのでデザイナの意図が反映される。
従来は予めＵＶマップを用意しておく必要があったが、本発明の実施の形態の方法によれば、描画に伴い逐次ＵＶマップを生成していく。そしてその結果を直ちに知ることができる。したがって意図した表現と異なるＵＶマップが作成されたとしても、これを直ちに修正できる。
（３）歪はペイントされていない領域に集約されるので目立たない。
ＵＶマッピングにスクリーン座標を用い、さらに、ストロークやカメラ位置が変わるごとにＵＶマップの領域を別にとるので、歪はペイントされていない領域に生じる。
（４）同様に、メッシュの境界もペイントされていない領域にのみ生じる。
（５）ペイントされない領域にはビットマップが割り当てられないので資源の無駄がない。
（６）ストロークやカメラ位置が変わるごとにＵＶマップの領域を別にとるので、特定部分を拡大して細かいペイントを施すことが可能となる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
産業上の利用可能性
この発明は、コンピュータグラフィックスにおいて三次元モデルに色や模様をつけて表示する手法であるテクスチャマッピングに適用できる。
【図面の簡単な説明】
図１は、この発明の実施の形態に係る処理のフローチャートである。
図２は、この発明の実施の形態に係る処理の概念の説明図である。
図３は、この発明の実施の形態に係る処理の説明図である。
図４は、この発明の実施の形態に係る処理の説明図である。（続き）
【図１】
2002021453.tif 000003
【図２】
2002021453.tif 000004
【図３】
2002021453.tif 000005
【図４】
2002021453.tif 000006
【国際調査報告】
2002021453.tif 000007
2002021453.tif 000008
2002021453.tif 000009