(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-11
(45)【発行日】2023-07-20
(54)【発明の名称】テクスチャマッピング装置およびテクスチャマッピング用プログラム
(51)【国際特許分類】
G06T 15/04 20110101AFI20230712BHJP
【FI】
G06T15/04
(21)【出願番号】P 2019121079
(22)【出願日】2019-06-28
【審査請求日】2022-05-09
(73)【特許権者】
【識別番号】591030237
【氏名又は名称】BIPROGY株式会社
(74)【代理人】
【識別番号】100105784
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】守屋 怜
(72)【発明者】
【氏名】谷本 茂樹
【審査官】粕谷 満成
(56)【参考文献】
【文献】特開2001-143102(JP,A)
【文献】特開2012-079338(JP,A)
【文献】国際公開第2016/151790(WO,A1)
【文献】特開平07-160898(JP,A)
【文献】特開2005-275646(JP,A)
【文献】特開2014-170388(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/04
(57)【特許請求の範囲】
【請求項1】
3Dモデルのポリゴンメッシュが有する複数のフェイスを構成する各頂点の3D座標値を有する3Dモデルデータと、上記複数のフェイスに貼り付けられる複数のテクスチャを有する全体テクスチャのテクスチャデータと、上記複数のフェイスに貼り付けられる複数のテクスチャを構成する各頂点のテクスチャ座標値および上記全体テクスチャの識別情報を有する紐付けデータとを含むCGデータを記憶したCGデータ記憶部から、上記3Dモデルデータが取得され、フェイスの隣接関係が変わることのある編集処理が行われたポリゴンメッシュに関して、当該編集処理により生成された編集後フェイスに貼り付けるテクスチャを生成するテクスチャマッピング装置であって、
上記編集処理により生成された上記編集後フェイスの中に離散的な画素点を設定する画素点設定部と、
上記CGデータ記憶部から取得された上記3Dモデルデータにより現わされるポリゴンメッシュが有する複数のフェイスの中から、上記画素点設定部により設定された複数の画素点から最も近い点である最近点をそれぞれ求める最近点取得部と、
上記CGデータ記憶部に記憶されている上記テクスチャデータおよび上記紐付けデータに基づいて、上記紐付けデータに従って上記複数のフェイスに貼り付けられる複数のテクスチャが有する色情報のうち、上記最近点に対応する位置の色情報を取得する色情報取得部と、
上記編集後フェイスの中に設定された複数の離散的な画素点に対して上記色情報取得部により取得された色情報を付与し、当該色情報をテクスチャ座標の複数の画素にマッピングすることにより、上記編集後フェイスに対応する再構成テクスチャを生成し、複数の再構成テクスチャを有する再構成全体テクスチャのテクスチャデータを生成する再構成テクスチャ生成部と、
上記編集処理により生成された複数の編集後フェイスに貼り付けられる複数の再構成テクスチャを構成する各頂点の再構成テクスチャ座標値および上記再構成全体テクスチャの識別情報を有する再構成紐付けデータを生成する再構成紐付けデータ生成部と、
上記再構成テクスチャ生成部により生成された上記再構成全体テクスチャのテクスチャデータ、および、上記再構成紐付けデータ生成部により生成された上記再構成紐付けデータを、上記CGデータ記憶部に記憶されている上記テクスチャデータおよび上記紐付けデータに代えて利用するように更新処理を行う更新処理部と、
を備えたことを特徴とするテクスチャマッピング装置。
【請求項2】
上記画素点設定部は、上記複数の編集後フェイスをその大きさに応じて複数の種類に分類し、当該分類に応じて上記画素点の設定数を変えることを特徴とする請求項1に記載のテクスチャマッピング装置。
【請求項3】
上記再構成テクスチャ生成部は、上記複数の編集後フェイスに対応して生成された上記複数の再構成テクスチャのうち、同じ分類に属する複数の再構成テクスチャどうしをテクスチャ座標の近接領域に配置することによって上記再構成全体テクスチャのテクスチャデータを生成することを特徴とする請求項2に記載のテクスチャマッピング装置。
【請求項4】
上記再構成テクスチャ生成部は、上記最近点取得部により取得された上記最近点を含むフェイスが、色情報を有するテクスチャが貼り付けられないフェイスであり、上記最近点に対応する位置の色情報が上記色情報取得部により取得されない場合は、当該最近点に対応する画素点に対して所定の色情報を付与することを特徴とする請求項1~3の何れか1項に記載のテクスチャマッピング装置。
【請求項5】
上記最近点取得部は、上記CGデータ記憶部から取得された上記3Dモデルデータにより現わされるポリゴンメッシュが有する複数のフェイスのうち、色情報を有するテクスチャが貼り付けられるフェイスの中から上記最近点を求めることを特徴とする請求項1~3の何れか1項に記載のテクスチャマッピング装置。
【請求項6】
上記再構成テクスチャ生成部は、上記編集後フェイスの上記複数の画素点に対して付与された色情報をテクスチャ座標の複数の画素にマッピングした後、マッピングされた画素領域の境界部分の色情報を、当該境界部分の外側の隣接領域にもマッピングすることにより、上記編集後フェイスに対応する再構成テクスチャを生成することを特徴とする請求項1~5の何れか1項に記載のテクスチャマッピング装置。
【請求項7】
上記再構成テクスチャ生成部は、上記複数の編集後フェイスに対応して生成された上記複数の再構成テクスチャを、上記複数の編集後フェイスの並び方に近い並び方に従ってテクスチャ座標に配置することにより、上記再構成全体テクスチャのテクスチャデータを生成することを特徴とする請求項1に記載のテクスチャマッピング装置。
【請求項8】
3Dモデルのポリゴンメッシュが有する複数のフェイスを構成する各頂点の3D座標値を有する3Dモデルデータと、上記複数のフェイスに貼り付けられる複数のテクスチャを有する全体テクスチャのテクスチャデータと、上記複数のフェイスに貼り付けられる複数のテクスチャを構成する各頂点のテクスチャ座標値および上記全体テクスチャの識別情報を有する紐付けデータとを含むCGデータを記憶したCGデータ記憶部から、上記3Dモデルデータが取得され、フェイスの隣接関係が変わることのある編集処理が行われたポリゴンメッシュに関して、当該編集処理により生成された編集後フェイスに貼り付けるテクスチャを生成する処理をコンピュータに実行させるためのテクスチャマッピング用プログラムであって、
上記編集処理により生成された上記編集後フェイスの中に離散的な画素点を設定する画素点設定手段、
上記CGデータ記憶部から取得された上記3Dモデルデータにより現わされるポリゴンメッシュが有する複数のフェイスの中から、上記画素点設定手段により設定された複数の画素点から最も近い点である最近点をそれぞれ求める最近点取得手段、
上記CGデータ記憶部に記憶されている上記テクスチャデータおよび上記紐付けデータに基づいて、上記紐付けデータに従って上記複数のフェイスに貼り付けられる複数のテクスチャが有する色情報のうち、上記最近点に対応する位置の色情報を取得する色情報取得手段、
上記編集後フェイスの中に設定された複数の離散的な画素点に対して上記色情報取得手段により取得された色情報を付与し、当該色情報をテクスチャ座標の複数の画素にマッピングすることにより、上記編集後フェイスに対応する再構成テクスチャを生成し、複数の再構成テクスチャを有する再構成全体テクスチャのテクスチャデータを生成する再構成テクスチャ生成手段、
上記編集処理により生成された複数の編集後フェイスに貼り付けられる複数の再構成テクスチャを構成する各頂点の再構成テクスチャ座標値および上記再構成全体テクスチャの識別情報を有する再構成紐付けデータを生成する再構成紐付けデータ生成手段、および
上記再構成テクスチャ生成手段により生成された上記再構成全体テクスチャのテクスチャデータ、および、上記再構成紐付けデータ生成手段により生成された上記再構成紐付けデータを、上記CGデータ記憶部に記憶されている上記テクスチャデータおよび上記紐付けデータに代えて利用するように更新処理を行う更新処理手段
として上記コンピュータを機能させるためのテクスチャマッピング用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テクスチャマッピング装置およびテクスチャマッピング用プログラムに関し、特に、ポリゴンメッシュから成る3Dモデルが有する複数のフェイスにテクスチャを貼り付けるテクスチャマッピングを行う装置およびプログラムに用いて好適なものである。
【背景技術】
【0002】
従来、3次元コンピュータグラフィックス(CG)で作成されたポリゴンメッシュ等の3Dモデルの表面にテクスチャ(画像データ)を貼付することにより、3Dモデルに対して所望の色や模様、質感などを付与するようにしたテクスチャマッピングと呼ばれる技術が知られている。
【0003】
ポリゴンメッシュから成る3Dモデルは、三角形状をした複数のフェイスの集合から構成される。テクスチャは、ポリゴンメッシュの表面を構成する各フェイスに対応するように複数の三角形領域に形成され、各三角形領域のテクスチャ画像が各フェイスに対して壁紙のように貼り付けられる。テクスチャの画像データは、格子状に配された画素群で構成され、各画素はRGBα(Rは赤、Gは緑、Bは青、αは色の透明度)の色情報を持つ。以下では、2Dのテクスチャ画像全体を「全体テクスチャ」と記述し、それを分割して成る個々の三角形領域(ピース領域)の画像を「テクスチャ」と記述して区別することとする。
【0004】
多くの場合、3Dモデル上の位置が3次元のxyz座標(3D座標)で表されるのに対し、全体テクスチャ上の位置は2次元のuv座標(テクスチャ座標)で表される。複数のテクスチャを3Dモデルの各フェイスに貼り付けるためには、3Dモデルの各フェイスが全体テクスチャのどの部分をテクスチャとして使用するかという情報が必要であるが、これはテクスチャ座標で示される。このテクスチャ座標は、正確には画素毎に必要となるが、実際には処理速度確保のためにフェイスの頂点毎に計算され、画素毎の座標は線形補間されることが多い。
【0005】
ところで、3Dモデルで隣接するフェイスに共通する2頂点に対応するテクスチャのテクスチャ座標値は、常に同一であるとは限らない。このことを、
図9を用いて説明する。
図9は、隣接する2つのフェイスと、各フェイスに貼られる各テクスチャとの対応関係を模式的に示した図である。このうち、
図9(a)は、各フェイスの共通2頂点に対応する各テクスチャのテクスチャ座標値が同一である場合を示している。一方、
図9(b)は、各フェイスの共通2頂点に対応する各テクスチャのテクスチャ座標値が異なる場合を示している。
【0006】
図9(a1)および(b1)は、3Dモデルで隣接する2つのフェイスFC1,FC2を示している。これら2つのフェイスFC1,FC2に共通する2頂点の3D座標値(x
1,y
1,z
1),(x
2,y
2,z
2)は、何れも2つのフェイスFC1,FC2において共通する値である。
【0007】
図9(a2)および(b2)は、2つのフェイスFC1,FC2に貼り付けられる2つのテクスチャTX1,TX2を示している。
図9(a2)の場合は、フェイスFC1の2頂点に対応するテクスチャTX1の2頂点のテクスチャ座標値と、フェイスFC2の2頂点(フェイスFC1の2頂点と共通)に対応するテクスチャTX2の2頂点のテクスチャ座標値とが何れも(u
1,v
1),(u
2,v
2)であり、3D座標値だけでなくテクスチャ座標値も共通となっている。すなわち、2つの隣接するフェイスFC1,FC2に貼り付けられる2つのテクスチャTX1,TX2も隣接した状態となっており、フェイスFC1,FC2の境界(エッジ)におけるテクスチャTX1,TX2の参照状態が連続となっている。以下、この状態を「テクスチャが連続」または「連続テクスチャ」という。
【0008】
これに対し、
図9(b2)の場合は、フェイスFC1の2頂点に対応するテクスチャTX1の2頂点のテクスチャ座標値が(u
11,v
11),(u
21,v
21)であり、フェイスFC2の2頂点(フェイスFC1の2頂点と共通)に対応するテクスチャTX2の2頂点のテクスチャ座標値が(u
12,v
12),(u
22,v
22)であり、各テクスチャTX1,TX2のテクスチャ座標値が異なっている。すなわち、2つの隣接するフェイスFC1,FC2に貼り付けられる2つのテクスチャTX1,TX2は、隣接した状態となっておらず、フェイスFC1,FC2の境界におけるテクスチャTX1,TX2の参照状態が非連続となっている。以下、この状態を「テクスチャが非連続」または「非連続テクスチャ」という。例えば、様々な方向に設置されたカメラで撮影した写真を合成して3Dポリゴンメッシュを作成する場合に、全てのテクスチャが非連続となることがある。また、1つの3D形状のポリゴンメッシュに対して多数の写真データ(全体テクスチャ)が使われる場合には、使われる写真データが異なるフェイス間ではテクスチャが非連続になるため、全体では非連続テクスチャが多くなることがある。
【0009】
なお、特許文献1には、複数の立体形状構成要素の集合として表現された3次元立体モデルに対してテクスチャ情報(色彩情報)を付与する場合に、各立体形状構成要素間でのテクスチャ情報の不連続性を抑制しつつ、同時に現実の物体の有するテクスチャ情報により近いテクスチャ情報を各立体形状構成要素に選択的に付与することが開示されている。
【0010】
また、特許文献2には、複数のポリゴンで構成された形状データに基づいて、物体形状を構成するポリゴンを全て展開した展開図を作成し、当該展開図にテクスチャ画像を重ね、移動・回転・スケーリングして所望の状態に合わせ込んだ後、その際に展開図として頂点座標に与えられたテクスチャ座標値をもとに、テクスチャマッピングを施して2次元投影画像を生成することが開示されている。
【0011】
一般に、3Dモデルにおけるフェイスの数が多いと、その立体形状を3Dプリンタで造形できないことや、操作性が悪化するなど問題が多い。そのため、3Dモデルの立体形状をできるだけ変えずに、フェイスの数を削減する必要がある。このフェイス削減機能は「簡略化」と呼ばれる。簡略化の処理として、フェイスのエッジを「縮約」する処理を繰り返す方法がよく利用される。縮約とは、削除するエッジの両端の頂点を近づけて1つの頂点にすることにより、フェイスを削減する処理のことである。
【0012】
図10は、この縮約を説明するための模式図である。
図10(a)は縮約実行前のフェイス群を示し、
図10(b)は縮約実行後のフェイス群を示している。ここでは、
図10(a)に示すエッジEGを削除することを考える。この場合、例えばエッジEGの両端の頂点P1,P2を、
図10(b)のようにその中点P3に置き換えることにより、フェイスの数を2つ減らしている。
【0013】
フェイスにテクスチャが貼られている場合、テクスチャの模様をできるだけ変えないように縮約する必要がある。そのためには、3Dモデル上で新たに作られるフェイスの頂点(
図10の場合は頂点P3)の3D座標値に対応するテクスチャ座標値を適切に決める必要がある。ここで、
図9(a)のようにテクスチャが連続なら、新たに作られる頂点P3の3D座標値をもとに、テクスチャ座標値を推定できる。例えば、新たに作られる頂点P3が、縮約前の頂点P1,P2の中点であるなら、頂点P3に対応するテクスチャ座標値も、頂点P1,P2に対応するテクスチャ座標値の中点であると推定することが可能である。
【0014】
しかしながら、
図9(b)のようにテクスチャが非連続だと、3Dモデル上で新たに作られる頂点P3に対応するテクスチャ座標値を推定することができない。そのため、縮約によって削除されるフェイスに貼られていたテクスチャを再現することができない。
図11は、そのことを模式的に示す図である。
【0015】
例えば、
図11(a)に示すように、削除されるフェイスFC1,FC2に貼られるテクスチャに“●”の模様があり、その他のフェイスに貼られるテクスチャに“■”の模様がある場合において、
図11(b)のようにそれらのテクスチャが非連続であるとする。この場合、縮約を行ってフェイスFC1,FC2を削除すると、“●”の模様がなくなり、このテクスチャ模様を保持できない。このため、
図11に示す10個のフェイスに貼り付けられるテクスチャの中に1つでも非連続なテクスチャがあると、フェイスFC1,FC2の境界のエッジは縮約によって削除することができないという問題があった。全てのフェイスに貼られるテクスチャが非連続だと、縮約を全く行うことができない。上記特許文献1,2には、この縮約に伴う問題の解決手法は示されていない。
【0016】
なお、ここで説明した縮約は、フェイスの隣接関係が変わることのある編集処理の一例である。縮約以外のポリゴンメッシュの編集処理においても、フェイスの隣接関係が変わることがある。そのような編集処理に関しても、各フェイスに貼り付けられるテクスチャが非連続な場合には上記と同様の問題が生じる。
【先行技術文献】
【特許文献】
【0017】
【文献】特許3625624号公報
【文献】特開平6-176129号公報
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明は、このような問題を解決するために成されたものであり、ポリゴンメッシュのフェイスに貼られる個々のテクスチャが非連続な場合であっても、ポリゴンメッシュの編集処理によって新たに作られるフェイスに貼られるテクスチャにより形成される模様が編集前からできるだけ変わらないようにした状態で、ポリゴンメッシュの編集処理を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0019】
上記した課題を解決するために、本発明では、複数のフェイスに対して、フェイスの隣接関係が変わることのある編集処理が行われたポリゴンメッシュについて、編集後フェイスの中に離散的な画素点を設定し、複数の画素点から最も近い点である最近点を編集前のフェイスの中からそれぞれ求めた後、各フェイスに貼り付けられる複数のテクスチャを有する全体テクスチャのテクスチャデータと、複数のテクスチャを構成する各頂点のテクスチャ座標値および全体テクスチャの識別情報を有する紐付けデータとに基づいて、各フェイスに貼り付けられるテクスチャから最近点に対応する位置の色情報を取得する。そして、編集後フェイスの中に設定された複数の離散的な画素点に対して色情報を付与し、当該色情報をテクスチャ座標の複数の画素にマッピングすることにより、編集後フェイスに対応する再構成テクスチャを生成し、複数の再構成テクスチャを有する再構成全体テクスチャのテクスチャデータを生成する。また、複数の編集後フェイスに貼り付けられる複数の再構成テクスチャを構成する各頂点の再構成テクスチャ座標値および再構成全体テクスチャの識別情報を有する再構成紐付けデータを生成するようにしている。
【発明の効果】
【0020】
上記のように構成した本発明によれば、ポリゴンメッシュの各フェイスに貼られる複数のテクスチャが非連続な場合であっても、テクスチャとは無関係にフェイスの編集処理が行われ、編集後フェイスに対応する再構成テクスチャが新たに生成されて、両者が紐付けられる。このとき、再構成テクスチャは、編集後フェイスに設定された画素点に対応する編集前フェイス上の最近点の色情報が付与されたものとなるので、編集前フェイス上の最近点に貼り付けられていたテクスチャの色情報が、編集後フェイスにおいて上記最近点に対応する画素点の位置に転写されたようなものとなり、全体テクスチャにより形成される模様は編集前後で殆ど変らないものとなる。これにより、本発明によれば、ポリゴンメッシュの各フェイスに貼られる個々のテクスチャが非連続な場合であっても、ポリゴンメッシュの編集処理によって新たに作られる編集後フェイスに貼られる再構成テクスチャにより形成される模様を編集前からできるだけ変えないようにした状態で、ポリゴンメッシュの編集処理を行うことができる。
【図面の簡単な説明】
【0021】
【
図1】本実施形態によるテクスチャマッピング装置の機能構成例を示すブロック図である。
【
図2】本実施形態のフェイス編集部により実行される編集処理の一例を示す模式図である。
【
図3】本実施形態による画素点設定部の処理内容を説明するための模式図である。
【
図4】本実施形態による最近点取得部の処理内容を説明するための模式図である。
【
図5】本実施形態による再構成テクスチャ生成部の処理内容を説明するための模式図であり、1つの再構成テクスチャを生成する処理の一例を示す図である。
【
図6】本実施形態による再構成テクスチャ生成部の処理内容を説明するための模式図であり、複数の再構成テクスチャから再構成全体テクスチャを生成する処理の一例を示す図である。
【
図7】本実施形態によるテクスチャマッピング装置の動作の概略を示す図である。
【
図8】本実施形態の変形例を説明するための模式図である。
【
図9】隣接する2つのフェイスと、各フェイスに貼られる各テクスチャとの対応関係を模式的に示した図である。
【
図10】フェイスの縮約を説明するための模式図である。
【
図11】従来の問題点を説明するための模式図である。
【発明を実施するための形態】
【0022】
以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本実施形態によるテクスチャマッピング装置の機能構成例を示すブロック図である。
図1に示すように、本実施形態のテクスチャマッピング装置10は、機能構成として、画素点設定部11、最近点取得部12、色情報取得部13、再構成テクスチャ生成部14、再構成紐付けデータ生成部15および更新処理部16を備えている。テクスチャマッピング装置10には、フェイス編集部20が接続されている。なお、ここではフェイス編集部20がテクスチャマッピング装置10に接続された構成を示しているが、必ずしも接続関係になくてもよい。フェイス編集部20により生成されたデータがテクスチャマッピング装置10に入力されて利用可能な形態であればよい。
【0023】
上記各機能ブロック11~16は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック11~16は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたテクスチャマッピング用プログラムが動作することによって実現される。フェイス編集部20についても同様に、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、フェイス編集部20は、記録媒体に記憶されたフェイス編集用プログラムが動作することによって実現される。
【0024】
また、本実施形態のテクスチャマッピング装置10には、記憶媒体としてのCGデータ記憶部100が接続されている。CGデータ記憶部100は、テクスチャマッピング装置10およびフェイス編集部20を含むパーソナルコンピュータと有線ケーブルまたは無線LANを介して接続される。あるいは、CGデータ記憶部100は、パーソナルコンピュータから通信ネットワークを介して接続可能なサーバに備えられ、パーソナルコンピュータからサーバにアクセスしてCGデータ記憶部100と接続する構成としてもよい。
【0025】
なお、本実施形態のテクスチャマッピング装置10、フェイス編集部20およびCGデータ記憶部100をサーバが備え、通信ネットワークを介してサーバに接続されたクライアント端末からの要求に応じて、以下に説明するテクスチャマッピング装置10およびフェイス編集部20の処理をサーバが実行し、その実行結果をサーバからクライアント端末に提供するように構成してもよい。
【0026】
CGデータ記憶部100は、ポリゴンメッシュから成る3Dモデルに関する3Dモデルデータ100Aと、当該ポリゴンメッシュが有する複数のフェイスに対し貼り付けるテクスチャ画像に関するテクスチャデータ100Bと、紐付けデータ100Cとを含むCGデータを記憶している。
【0027】
3Dモデルデータ100Aは、1つ1つが三角形状をした複数のフェイスを有する一般的なポリゴンメッシュのデータである。3Dモデルデータ100Aは、フェイスごとに、3次元空間上のxyz座標(3D座標)における3頂点の座標値(x,y,z)と、3つのエッジ(三角形の辺)を介して隣接する3つのフェイスの情報とを有している。なお、隣接するフェイスの情報は、頂点の周りに存在する複数のフェイスの情報を有する構成など、他の構成でもよい。
【0028】
テクスチャデータ100Bは、ポリゴンメッシュの各フェイスに貼り付けられる複数のテクスチャを有する2次元の画像データである。複数のテクスチャは、1枚のテクスチャ画像の全体を三角形状の複数のピース領域に分割して構成されるものである。複数枚のテクスチャ画像から各テクスチャが構成される場合もある。以下では、テクスチャ画像の全体を「全体テクスチャ」と言い、その中の複数のピース領域を「テクスチャ」と言って両者を区別する。
【0029】
本実施形態のテクスチャマッピング装置10は、3Dモデルデータ100Aのポリゴンメッシュが有する複数のフェイスに対し、テクスチャデータ100Bが有する全体テクスチャの中のピース領域である複数のテクスチャを貼り付けるテクスチャマッピングを行うものである。このテクスチャマッピングを行うに当たり、3Dモデルの各フェイスが全体テクスチャの中のどのピース領域をテクスチャとして使用するかという情報が必要である。そして、その情報を記録したのが紐付けデータ100Cである。紐付けデータ100Cは、フェイスごとに、貼り付けられる全体テクスチャの識別情報と、貼り付けられるテクスチャに関する2次元空間上のuv座標(テクスチャ座標)における3頂点のテクスチャ座標値(u,v)とを有している。
【0030】
フェイス編集部20は、CGデータ記憶部100から3Dモデルデータを取得し、フェイスの隣接関係が変わることのある編集処理を行う。フェイスの隣接関係が変わることのある編集処理の一例は、フェイスの数を削減するための簡略化である。簡略化の一例は、削除するエッジの両端の頂点を近づけて1つの頂点にする縮約(
図2(a)参照)である。また、フェイスの隣接関係が変わることのある編集処理の別例は、2つのフェイスに共通するエッジを入れ替えるエッジ交換(
図2(b)参照)である。
【0031】
CGデータ記憶部100から取得する3Dモデルデータは、各フェイスに対してテクスチャが貼り付けられていないデータである。したがって、フェイス編集部20は、各フェイスに対して貼り付けられるテクスチャが連続であるか非連続であるかによらず、テクスチャの貼り付けによる制限を受けることなく編集処理を行うことが可能である。なお、以下では、フェイス編集部20により編集される前の元のフェイス(
図2において、矢印より左側のフェイス)を編集前フェイスという。また、フェイス編集部20により編集された後のフェイス(
図2において、矢印より右側のフェイス)を編集後フェイスという。フェイス編集部20により編集された3Dモデルデータも編集前の3Dモデルデータ100Aと同様、編集後フェイスごとに、3次元空間上のxyz座標(3D座標)における3頂点の座標値(x,y,z)と、3つのエッジを介して隣接する3つの編集後フェイスの情報とを有している。
【0032】
テクスチャマッピング装置10は、編集前フェイスおよび編集後フェイスの両方を使用して、以下に説明する処理を行う。従って、フェイス編集部20は、編集前フェイスによるポリゴンメッシュをCGデータ記憶部100に保存したまま、編集後フェイスによるポリゴンメッシュをCGデータ記憶部100に追加して記憶する。なお、編集前フェイスをデータ処理用のバッファメモリに一時的に保存するようにして、一連の処理が終わった後に破棄するようにしてもよい。
【0033】
画素点設定部11は、フェイス編集部20により生成された編集後フェイスの中に離散的な画素点を設定する。例えば、画素点設定部11は、編集後フェイス内に等パラメータの点(3つのエッジにそれぞれ平行な線の交点)を作り、これらの点を画素点とする。
図3は、画素点設定部11の処理内容を説明するための模式図である。
図3(a)は、画素点を設定する対象の1つの編集後フェイスを示す。
図3(b)は、この1つの編集後フェイスの中に、当該編集後フェイスが有する3つのエッジにそれぞれ平行な複数の線を等間隔に設定した状態を示す。
図3(c)は、編集後フェイス内に設定された複数の平行な線どうしの交点、平行な線とエッジとの交点、および編集後フェイスの3頂点をそれぞれ画素点として設定した状態を示す。
【0034】
画素点設定部11が設定する画素点は、後述するように新たに生成されるテクスチャ(再構成テクスチャという)が色情報を持つ画素に対応するものであり、1つの編集後フェイスに設定される画素点の数は、新たに生成される再構成テクスチャが色情報を持つ画素の数に対応する。したがって、設定する画素点の数(平行な線による分割数)が多くなるほど、再構成テクスチャの画像としての解像度が高くなる。ひいては、再構成テクスチャの各画素の色情報が編集後フェイスの各画素点に貼り付けられて成る画像の解像度は、画素点の数が多くなるほど高くなる。なお、離散的に設定された画素点の間の色情報は、各画素点の色情報を用いた補間処理によって算出される。
【0035】
ここで、ポリゴンメッシュを構成する全ての編集後フェイスに対してそれぞれ同数の画素点を設定すると、編集後フェイスの大きさによって画素点の間隔に粗密が生じる。例えば、小さな編集後フェイスに比べ、大きな編集後フェイスは画素点の間隔が大きくなるため、再構成テクスチャが貼り付けられた場合の画像の解像度が低くなって、見ためが粗くなる。そこで、画素点設定部11は、フェイス編集部20により生成された複数の編集後フェイスをその大きさに応じて複数の種類に分類し、当該分類に応じて画素点の設定数を変えるようにしてもよい。編集後フェイスの大きさは、例えば、編集後フェイスの面積、または、編集後フェイスを構成する3つのエッジの中で最も長いエッジの長さに基づいて判定する。
【0036】
最近点取得部12は、CGデータ記憶部100から取得された3Dモデルデータ100Aにより現わされるポリゴンメッシュが有する複数の編集前フェイスの中から、画素点設定部11により設定された複数の画素点から最も近い点である最近点をそれぞれ求める。すなわち、フェイス編集部20の編集処理により、3D座標空間において編集前フェイス群が編集後フェイス群に変形している。最近点取得部12は、編集後フェイスに設定された各画素点から最も近い位置にある編集前フェイス上の点を最近点として求めるものである。
【0037】
図4は、最近点取得部12の処理内容を説明するための模式図である。
図4(a)に示すように、1つの画素点41から編集前フェイス42の平面に垂線43の足を求め、編集前フェイス42の内部に垂線43の足がある場合は、その点を画素点41に対する最近点44として設定する。一方、編集前フェイス42の内部に垂線の足がない場合は、
図4(b)または(c)に示すように、編集前フェイス42のエッジ上または頂点上に接続線45を設定し、最も短い接続線45の足を画素点41に対する最近点44として設定する。
【0038】
色情報取得部13は、CGデータ記憶部100に記憶されているテクスチャデータ100Bおよび紐付けデータ100Cに基づいて、当該紐付けデータ100Cに従って複数の編集前フェイスに貼り付けられる複数のテクスチャが有する色情報(RGBα)のうち、最近点に対応する位置の色情報を取得する。編集前フェイスに関しては、どの全体テクスチャの中のどのテクスチャが貼り付けられるのかが紐付けデータ100Cにより特定されており、貼り付けられるテクスチャの各画素位置における色情報はテクスチャデータ100Bに記録されている。よって、色情報取得部13は、編集前フェイスに貼り付けられるテクスチャから最近点に対応する画素位置の色情報を取得することが可能である。
【0039】
再構成テクスチャ生成部14は、編集後フェイスの中に設定された複数の離散的な画素点に対して色情報取得部13により取得された色情報を付与し、当該色情報をテクスチャ座標の複数の画素にマッピングすることにより、編集後フェイスに対応する再構成テクスチャを生成する。再構成テクスチャ生成部14は、この処理を各編集後フェイスについて行うことにより、複数の再構成テクスチャを有する再構成全体テクスチャのテクスチャデータを生成する。
【0040】
なお、最近点取得部12により取得された最近点を含むフェイスが、色情報を有するテクスチャが貼り付けられないフェイスであり、最近点に対応する位置の色情報が色情報取得部13により取得されない場合がある。このような場合、再構成テクスチャ生成部14は、当該最近点に対応する画素点に対して所定の色情報(例えば、白色の色情報)を付与するようにしてよい。
【0041】
あるいは、最近点に対応する位置の色情報が色情報取得部13により取得されない場合が生じないように、最近点取得部12による処理を以下のようにしてもよい。すなわち、最近点取得部12は、CGデータ記憶部100から取得された3Dモデルデータ100Aにより現わされるポリゴンメッシュが有する複数の編集前フェイスのうち、色情報を有するテクスチャが貼り付けられない編集前フェイスを除外して、色情報を有するテクスチャが貼り付けられる編集前フェイスの中から最近点をそれぞれ求めるようにしてもよい。
【0042】
図5および
図6は、再構成テクスチャ生成部14の処理内容を説明するための模式図である。このうち、
図5は、1つの再構成テクスチャを生成する処理の一例を示す。
図6は、複数の再構成テクスチャから再構成全体テクスチャを生成する処理の一例を示す。
【0043】
図5(a)は、3D座標空間上に存在する1つの編集後フェイスおよびそれに設定された複数の画素点の例を示している。ここでは説明を簡単にするため、画素点設定部11により10個の画素点が設定されているものとする。すなわち、
図5(a)において最も下側のエッジを第1列、当該エッジに対向する頂点を第4列とした場合、第1列に4個、第2列に3個、第3列に2個、第4列に1個の画素点が設定され、合計で10個の画素点が設定されている。
【0044】
再構成テクスチャ生成部14は、これら10個の画素点に対して、色情報取得部13により取得された色情報を付与した上で、当該10個の画素点の色情報を
図5(b)のようにテクスチャ座標の10個の画素位置にマッピングする。テクスチャ座標は、複数の画素が縦横(u方向およびv方向)にマトリクス状に整然と配置された2次元座標である。再構成テクスチャ生成部14は、編集後フェイス上の第1列の4個の画素点の色情報をテクスチャ座標の第1列にマッピングし、編集後フェイス上の第2列の3個の画素点の色情報をテクスチャ座標の第2列にマッピングし、編集後フェイス上の第3列の2個の画素点の色情報をテクスチャ座標の第3列にマッピングし、編集後フェイス上の第4列の1個の画素点の色情報をテクスチャ座標の第4列にマッピングする。これにより、テクスチャ座標上に形成される再構成テクスチャは、直角三角形の形状を成す。
【0045】
図6には、以上のようにして生成された複数の再構成テクスチャが示されている。上述したように、画素点設定部11が編集後フェイスをその大きさに応じて複数の種類に分類し、分類に応じて画素点の設定数を変えるようにしている場合、再構成テクスチャの直角三角形の大きさは、分類ごとに異なったものとなる。
図6の例では、3種類の大きさの再構成テクスチャ61,62,63が示されている。再構成テクスチャ生成部14は、複数の編集後フェイスに対応して生成された複数の再構成テクスチャのうち、同じ分類に属する複数の再構成テクスチャ(同じ大きさの再構成テクスチャ)どうしをテクスチャ座標の近接領域に配置することにより、再構成全体テクスチャ60のテクスチャデータを生成する。例えば、
図6に示すように、同じ分類に属する直角三角形の再構成テクスチャを2つずつ組み合わせて長方形を作り、同じ大きさの長方形どうしをテクスチャ座標の近接領域に並べて配置する。このようにして生成される再構成全体テクスチャ60の中に含まれる複数の再構成テクスチャは、非連続である。
【0046】
再構成紐付けデータ生成部15は、フェイス編集部20により生成された複数の編集後フェイスに貼り付けられる複数の再構成テクスチャを構成する各頂点の再構成テクスチャ座標値と、再構成全体テクスチャの識別情報とを有する再構成紐付けデータを生成する。この再構成紐付けデータは、フェイス編集部20により生成された複数の編集後フェイスに対して、再構成全体テクスチャ60の中のどの再構成テクスチャ61~63を貼り付けるかの情報を記録したものである。すなわち、再構成紐付けデータは、編集後フェイスごとに、貼り付けられる再構成全体テクスチャ60の識別情報と、貼り付けられる再構成テクスチャ61~63に関する2次元空間上のテクスチャ座標における3頂点のテクスチャ座標値とを有している。
【0047】
ここで、再構成全体テクスチャ60の識別情報は、再構成紐付けデータ生成部15が適宜設定する。編集後フェイスに対応する再構成テクスチャ61~63の3頂点のテクスチャ座標値は、
図5を用いて説明したマッピングの関係性から得ることが可能である。すなわち、
図5(a)に示す編集後フェイスにおける1番、4番および10番の画素点(3頂点)の3D座標値と、
図5(b)に示す再構成テクスチャにおける1番、4番および10番の画素点(3頂点)のテクスチャ座標値とを紐付けて記録したものを再構成紐付けデータとすればよい。
【0048】
更新処理部16は、再構成テクスチャ生成部14により生成された再構成全体テクスチャのテクスチャデータ、および、再構成紐付けデータ生成部15により生成された再構成紐付けデータを、CGデータ記憶部100に記憶されている元のテクスチャデータ100Bおよび紐付けデータ100Cに代えて利用するように更新処理を行う。
【0049】
すなわち、更新処理部16は、再構成テクスチャ生成部14により生成された再構成全体テクスチャを、CGデータ記憶部100にテクスチャデータ100Bとして記憶されている全体テクスチャに代えて利用するようにする。また、更新処理部16は、再構成紐付けデータ生成部15により生成された再構成紐付けデータを、CGデータ記憶部100に記憶されている紐付けデータ100Cに代えて利用するようにする。
【0050】
更新処理部16が行うCGデータ記憶部100の更新処理は、例えば、CGデータ記憶部100に元々記憶されている各データの上に、生成された各データを上書きすることによって行う。あるいは、CGデータ記憶部100に元々記憶されている各データの他に、生成された各データを追加して記憶し、元のデータを非アクティブ状態とし、追加したデータをアクティブ状態とするようにしてもよい。
【0051】
図7は、以上説明した本実施形態によるテクスチャマッピング装置10の動作の概略を示す図である。
図7(a)は、CGデータ記憶部100に記憶されている各データに基づいて、3Dモデルのポリゴンメッシュが有する複数の編集前フェイス73,74(
図7(b))に対してそれぞれテクスチャ71,72(
図7(c))が貼り付けられた状態を示したものである。
【0052】
図7(b)は、CGデータ記憶部100に記憶されている3Dモデルデータ100Aにより示されるポリゴンメッシュを模式的に示している。ここでは説明を簡単にするため、互いに隣接する2つの編集前フェイス73,74のみを示している。
図7(c)は、当該複数の編集前フェイス73,74に対して貼り付ける複数のテクスチャ71,72を有する全体テクスチャ70に関するテクスチャデータ100Bを模式的に示している。
図7(c)に示す通り、
図7(b)の各編集前フェイス73,74に貼り付ける複数のテクスチャ71,72は非連続となっている。
【0053】
フェイス編集部20は、
図7(b)に示すポリゴンメッシュの編集前フェイス73,74に対して、フェイスの隣接関係が変わることのある編集処理を行う。ここでは一例として、
図7(d)のようにエッジを入れ替えるエッジ交換を行っている。エッジ交換を行うことにより、編集前フェイス73,74が編集後フェイス75,76に変わる。
【0054】
次いで、画素点設定部11は、
図7(e)に示すように、フェイス編集部20により生成された編集後フェイス75,76の中に離散的な画素点77を設定する。ここでは、一方の編集後フェイス75の中に画素点77を設定した状態を示している。さらに、最近点取得部12は、
図7(f)に示すように、3Dモデルデータ100Aにより現わされる複数の編集前フェイス73,74の中から、複数の画素点77に対応する複数の最近点78をそれぞれ求める。
【0055】
次いで、色情報取得部13は、
図7(g)に示すように、ポリゴンメッシュの編集前フェイス73,74に貼り付けられるテクスチャ71,72が有する色情報のうち、複数の最近点78に対応する位置の色情報をそれぞれ取得する。そして、再構成テクスチャ生成部14は、
図7(h)に示すように、編集後フェイス75,76の複数の画素点77に対して色情報取得部13により取得された色情報を付与し、当該色情報をテクスチャ座標の複数の画素にマッピングすることにより、編集後フェイス75,76に対応する再構成テクスチャ79,80を生成し、当該複数の再構成テクスチャ79,80を有する再構成全体テクスチャ81のテクスチャデータを生成する。
【0056】
また、再構成紐付けデータ生成部15は、
図7(d)に示す複数の編集後フェイス75,76を構成する各頂点の編集後3D座標値(フェイス編集部20により生成されたもの)と、
図7(h)に示す複数の再構成テクスチャ79,80を構成する各頂点の再構成テクスチャ座標値と、再構成全体テクスチャ81の識別情報とを紐付けた再構成紐付けデータを生成する。更新処理部16は、
図7(h)に示す再構成全体テクスチャ81のテクスチャデータ、および、再構成紐付けデータ生成部15により生成された再構成紐付けデータ(図示せず)を、CGデータ記憶部100に記憶されている元のテクスチャデータおよび紐付けデータに代えて利用するように更新処理を行う。
【0057】
図7(i)は、更新処理部16により更新された各データに基づいて、編集後フェイス75,76に対してそれぞれ再構成テクスチャ79,80が貼り付けられた状態を示したものである。この
図7(i)と元の
図7(a)とを比較すれば分かる通り、フェイスの隣接関係が変わるエッジ交換の編集処理を行ったとしても、編集前後でポリゴンメッシュ全体のテクスチャ画像の模様は殆ど変っていない。
【0058】
以上詳しく説明したように、本実施形態によれば、3Dモデルのポリゴンメッシュに貼られるテクスチャが非連続な場合であっても、テクスチャとは無関係にフェイスの編集処理が行われ、編集後フェイスに対応する再構成テクスチャが新たに生成されて、両者が紐付けられる。このとき、再構成テクスチャは、編集後フェイスに設定された画素点に対応する編集前フェイス上の最近点の色情報が付与されたものとなるので、編集前フェイス上の最近点に貼り付けられていたテクスチャの色情報が、編集後フェイスにおいて上記最近点に対応する画素点の位置に転写されたようなものとなり、全体テクスチャにより形成される模様は編集前後で殆ど変らないものとなる。
【0059】
これにより、本実施形態によれば、ポリゴンメッシュの各フェイスに貼られる個々のテクスチャが非連続な場合であっても、ポリゴンメッシュの編集処理によって新たに作られる編集後フェイスに貼られる再構成テクスチャにより形成される模様を編集前からできるだけ変えないようにした状態で、ポリゴンメッシュの編集処理を行うことができる。その結果、各フェイスに貼り付けられるテクスチャが非連続であっても、テクスチャの非連続性による制限を受けることなく編集処理を行うことでき、フェイスの数を効果的に削除することができるようになる。
【0060】
<変形例>
次に、本実施形態の変形例について説明する。
図8は、当該変形例を説明するための模式図である。上述したように、離散的に設定された複数の画素点の間の色情報は、各画素点の色情報を用いた補間処理によって算出される。このため、再構成テクスチャの直角三角形の境界において補間処理によって算出される色情報は、隣に配置された他の再構成テクスチャに含まれる画素の色情報の影響を受ける。
図8(a)は、このことを示す図である。
【0061】
図8(a)の例では、互いに隣接する4つの画素の色情報を補間することによって、当該4つの画素の間の位置における色情報を算出する例を示している。特に、
図8(a)では、隣接して配置されている2つの再構成テクスチャ85,86の頂点付近における4つの画素(枠87で囲んだもの)の色情報を用いて補間処理を行う例について示している。頂点付近は、2つの再構成テクスチャ85,86の境界に相当し、枠87の中に含まれる4つの画素のうち3つは一方の再構成テクスチャ85に属するものであり、残り1つは他方の再構成テクスチャ86に属するものである。
【0062】
この場合、再構成テクスチャ85の境界において補間処理によって算出される色情報は、これの隣に配置された他の再構成テクスチャ86に含まれる画素の色情報の影響を受ける。ここで、2つの再構成テクスチャ85,86は非連続であり、それぞれの再構成テクスチャ85,86の色情報は類似しないものである可能性もある。このため、再構成テクスチャ85の境界において補間処理によって算出される色情報は、再構成テクスチャ85の色情報とは類似しない色情報が反映されたものとなる。その結果、境界に沿って筋状のノイズ線が生じてしまう。
【0063】
そこで、このようなノイズ線の発生を抑制するために、再構成テクスチャ生成部14は、
図8(b)に示すように、編集後フェイスの複数の画素点に対して付与された色情報をテクスチャ座標の複数の画素にマッピングした後(
図8(a)の状態)、マッピングされた画素領域の境界部分の色情報を、当該境界部分の外側の隣接領域にもマッピングすることにより、編集後フェイスに対応する再構成テクスチャを生成するようにしてもよい。
【0064】
このようにすれば、
図8(a)の枠87と同じ領域に相当する枠88の範囲において補間処理を行う際に、他の再構成テクスチャ86に含まれる画素の色情報は入らず、補間処理しようとする再構成テクスチャ85に含まれる画素の色情報だけを使って補間処理を行うことができる。これにより、再構成テクスチャ85の境界に沿って筋状のノイズ線が生じてしまうことを抑止することができる。
【0065】
なお、このようにすると、再構成テクスチャの3つのエッジの外周にそれぞれ1列分の画素を余分に持つ必要があり、データ量が増える。そこで、データ量が増えないやり方として、次のような処理を行うようにしてもよい。すなわち、再構成テクスチャ生成部14は、複数の編集後フェイスに対応して生成された複数の再構成テクスチャを、複数の編集後フェイスの並び方に近い並び方に従ってテクスチャ座標に配置することにより、再構成全体テクスチャのテクスチャデータを生成するようにしてもよい。ただし、この処理は、編集後フェイスの大きさに応じた分類は行わず、再構成テクスチャの直角三角形の大きさが均一である場合に有効である。
【0066】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0067】
例えば、上記実施形態では、テクスチャ(再構成テクスチャも含む)をフェイスに貼り付ける例について説明したが、本発明はこれに限定されない。例えば、フェイス色または頂点色をフェイスに貼り付ける場合にも、上記実施形態を同様に適用することが可能である。なお、フェイス色とは、フェイスごとに特定の一色の色情報を持ち、フェイス内を塗り潰す色のことをいう。また、頂点色とは、フェイスの頂点ごとに特定の色情報を持ち、各頂点の色をブレンドして色が徐々に変わるようにフェイス内を塗る場合の色のことをいう。
【0068】
また、上記実施形態では、編集後フェイスをその大きさに応じて分類し、分類に応じた数の画素点を設定する例について説明したが、分類ごとの画素数をユーザが任意に指定できるようにしてもよい。あるいは、生成する再構成テクスチャの精度をユーザが任意に指定できるようにし、指定された精度に応じた画素数を分類ごとに設定するようにしてもよい。
【0069】
別の例として、生成される複数の再構成テクスチャの総画素数が、元の複数のテクスチャの総画素数と同程度となるように、各分類の編集後フェイスの画素数を算出するようにしてもよい。この場合において、算出した画素数を、ユーザにより指定されたテクスチャの精度に従って調節し、調整後の画素数を各分類の画素数として設定するようにしてもよい。
【符号の説明】
【0070】
10 テクスチャマッピング装置
11 画素点設定部
12 最近点取得部
13 色情報取得部
14 再構成テクスチャ生成部
15 再構成紐付けデータ生成部
16 更新処理部
20 フェイス編集部
100 CGデータ記憶部
100A 3Dモデルデータ
100B テクスチャデータ
100C 紐付けデータ