特許第6762709号(P6762709)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズの特許一覧

特許6762709少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法
<>
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000002
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000003
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000004
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000005
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000006
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000007
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000008
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000009
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000010
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000011
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000012
  • 特許6762709-少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6762709
(24)【登録日】2020年9月11日
(45)【発行日】2020年9月30日
(54)【発明の名称】少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法
(51)【国際特許分類】
   G06T 19/20 20110101AFI20200917BHJP
   G06F 30/10 20200101ALI20200917BHJP
   G06T 13/40 20110101ALI20200917BHJP
【FI】
   G06T19/20
   G06F17/50 622C
   G06F17/50 680J
   G06T13/40
【請求項の数】14
【外国語出願】
【全頁数】16
(21)【出願番号】特願2015-238158(P2015-238158)
(22)【出願日】2015年12月7日
(65)【公開番号】特開2016-110652(P2016-110652A)
(43)【公開日】2016年6月20日
【審査請求日】2018年11月8日
(31)【優先権主張番号】14306954.0
(32)【優先日】2014年12月5日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ポール デ テメルマン
(72)【発明者】
【氏名】ピンハン チェン
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特開2003−103047(JP,A)
【文献】 特開2006−249618(JP,A)
【文献】 Remi BROUET et al.,Design Preserving Garment Transfer,ACM Transactions on Graphics,米国,ACM,2012年 7月,vol.31, no.4,pages 1-11
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/20
G06F 30/10
G06T 13/40
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの衣類を伴ったアバタを設計するためのコンピュータ実施方法であって、
S1)スケルトン(SN)と該スケルトンを覆うスキン(SK)とを含むアバタのデジタルモデルを提供するステップであって、前記スケルトンはそれぞれの線分によって表わされる複数のボーン(B1,B2)を含み、前記スキンは面を定義する辺によって接続された複数の頂点(vs1−vs7)を有するメッシュを含み、前記メッシュの各頂点は前記スケルトンの少なくとも1つのボーンに関連付けられ、前記メッシュは前記スケルトンを含む内側容積を定義する、該提供するステップと、
S2)面を定義する辺によって接続された複数の頂点(vs1−vs7)を有するメッシュを含む衣類(GT)のデジタルモデルを提供するステップであって、各頂点はそれぞれの加重係数を通じて前記アバタの前記デジタルモデルの前記スケルトンの少なくとも1つのボーンに関連付けられた、該提供するステップ、および、衣類の前記デジタルモデルを、
変形すること無くアバタの前記デジタルモデルに付加するステップと、
S3)変位方向(dd1−dd7)を、前記衣類の変形前のデジタルモデルの前記メッシュの各頂点に関連付けるステップであって、前記変位方向は、前記スケルトンおよび前記加重係数に依存する、該関連付けるステップと、
S4)前記アバタの前記デジタルモデルの前記スキンと前記衣類の前記変形前のデジタルモデルの前記メッシュとの間の衝突を検出するステップ、および、衝突が検出されたときは常に、前記衣類の前記デジタルモデルの前記メッシュの頂点を、前記変位方向に沿って前記アバタの前記デジタルモデルの前記スケルトンから遠ざけるように変位させるステップと
を具えたことを特徴とするコンピュータ実施方法。
【請求項2】
前記ステップS4)は、前記頂点に関連付けられている各ボーンの最も近い点を頂点自体に接続するベクトルの加重平均として、前記変位方向を決定するステップであって、前記加重平均は、前記頂点を前記ボーンに関連付けている加重係数を用いて計算されている、該決定するステップを含むことを特徴とする請求項1記載のコンピュータ実施方法。
【請求項3】
前記ステップS4)は、下記のサブステップ:
S41)前記内側容積内に存在する前記衣類の前記デジタルモデルの前記メッシュの頂点を識別するステップと、および、それらを外側空間に置くのに十分な変位量(D3)だけ変位方向に沿ってそれらを変位させるステップと
を含むことを特徴とする請求項1又は2記載のコンピュータ実施方法。
【請求項4】
前記頂点自体に始点を有し、および前記アバタの前記デジタルモデルの前記スケルトンから遠ざかるように方向付けられた、前記頂点の変位領域に沿って横たわる光線が、前記アバタの前記デジタルモデルの前記スキンの面と交差するかどうかを決定し、交差する場合、前記面の前記頂点の少なくとも1つが、前記衣類の前記デジタルモデルの前記メッシュの前記頂点がやはり関連付けられているボーンに関連付けられているかどうかを決定することによって、前記内側容積内に存在する前記衣類の前記モデルの前記メッシュの頂点が識別されることを特徴とする請求項3記載のコンピュータ実施方法。
【請求項5】
下記のサブステップ:
S42)前記衣類の前記デジタルモデルの前記メッシュの辺が、前記アバタの前記デジタルモデルの前記スキンの面と交差することに起因する、前記アバタと前記衣類との間の衝突を識別するステップと、および、前記変位方向に沿って前記スケルトンから遠ざかるように、前記衣類の前記デジタルモデルの前記メッシュの前記各辺の頂点を反復的に変位させることによって前記衝突を解決するステップと
をさらに具え、
該サブステップS42)は前記サブステップS41)の後に実行されることを特徴とする請求項3又は4記載のコンピュータ実施方法。
【請求項6】
前記サブステップS42)は、前記アバタの前記デジタルモデルの前記スキンの面と交差する前記衣類の前記デジタルモデルの前記メッシュの前記各辺の頂点の中で、最も低い累積変位だけ変位されている1つを変位させるステップを含むことを特徴とする請求項5記載のコンピュータ実施方法。
【請求項7】
下記のサブステップ:
S43)前記衣類の前記デジタルモデルの前記メッシュの面が、前記アバタの前記デジタルモデルの前記スキンの辺と交差することに起因する、前記アバタと前記衣類との間の衝突を識別するステップと、および、前記変位方向に沿って前記スケルトンから遠ざかるように前記デジタルモデルの前記メッシュの前記各面の頂点を反復的に変位させることによって前記衝突を解決するステップと
をさらに具え、
該サブステップS43)は、前記サブステップS42)の後に実行されることを特徴とする請求項3ないし6のいずれか1つに記載のコンピュータ実施方法。
【請求項8】
前記サブステップS43)は、前記アバタの前記デジタルモデルの前記スキンの辺と交差する前記衣類の前記デジタルモデルの前記メッシュの前記各面の頂点の中で、最も低い累積変位だけ変位されている1つを変位させるステップを含むことを特徴とする請求項7記載のコンピュータ実施方法。
【請求項9】
前記サブステップS43)は、前記サブステップS42)の後に実行されることを特徴とする請求項7又は8記載のコンピュータ実施方法。
【請求項10】
下記のステップ:
S5)前記衣類の前記デジタルモデルの各頂点(vg6)について、該累積変位が隣接する頂点(vg5,vg7)の平均累積変位(Dcum7)よりも低いかどうかを決定するステップと、低い場合に、該累積変位(D6)が前記平均累積変位に等しくなるように前記頂点をさらに変位させるステップと
をさらに具え、
該ステップS5)は、交互に実行されることを特徴とする請求項1ないし9のいずれか1つに記載のコンピュータ実施方法。
【請求項11】
下記のステップ:
S6)前記衣類のデジタルモデルの前記メッシュを前記スキンの一部として含むことによって、前記アバタのデジタルモデルを更新するステップ
をさらに具え、
これによって、該方法は一連の衣類を前記アバタに追加することを反復的に実行されることを特徴とする請求項1ないし10のいずれか1つに記載のコンピュータ実施方法。
【請求項12】
コンピュータに請求項1ないし11のいずれか1つに記載のコンピュータ実施方法を実行させることを特徴とするコンピュータプログラム。
【請求項13】
請求項12記載のコンピュータプログラムを記録したことを特徴とするコンピュータ可読記憶媒体。
【請求項14】
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えたコンピュータ支援設計システムであって、前記メモリは、請求項1ないし11のいずれか1つに記載のコンピュータ実施方法を当該コンピュータ支援設計システムに実行させるためのコンピュータ実行可能命令を記憶したことを特徴とするコンピュータ支援設計システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法に関する。
【背景技術】
【0002】
以下において、単語「アバタ(avatar)」とは、人間若しくは動物の体、人間型(ヒューマノイド(humanoid))若しくは動物型の生物、或いは植物若しくは無生物までもコンピュータで生成される2次元又は(しばしば)3次元表現を示すように幅広く用いられる。しかし、しばしば、アバタとは、人間若しくはヒューマノイドの体を表現する。好ましくは、必ずしもそうとは言えないが、アニメ化することができる。
【0003】
単語「衣類(garment)」とは、例えば帽子等のアクセサリーを含む衣服等を示し、アバタに着用されるのに適している。
【0004】
以下、3次元(又は、3D)オブジェクトは、3次元(3D)表現が可能な、オブジェクト又はデジタルモデルのことである。3D表現は、あらゆる角度から部位を観察できる。例えば、3Dアバタ又は衣類は、3D表現がされたとき、その表現が表示されているスクリーン内の軸のうちのいずれかの軸の回りで又はある軸の周りで処理されおよび調整される。
【0005】
逆に、2次元(又は、2D)オブジェクトは、平面などの2次元(2D)表現のみが可能な、オブジェクト又はデジタルモデルのことである。例えば、2Dアバタ又は衣類は、表現が表示されているスクリーンの平面内で移動又はスクリーンに垂直な軸の周りで回転のみをする。
【0006】
アバタは多くのアプリケーションで使用される。それらの1つが、コンピュータ支援設計(CAD)であり、設計者は、例えば飛行機の座席の人間工学を研究するために、人間に対する、建物、オブジェクト、備品の一部、機械などの相互作用をシミュレートすることをCADに要求する。他のアプリケーションには、ビデオゲームおよび映画アニメーションがある。従って、グラフィック・ソフトウェアは、しばしば、例えばアバタのモフォロジー(morphology)を変化させることによって、予め定義されたアバタのライブラリ(library)およびアバタを設計するツールを提供する。
【0007】
多くの場合、アバタは、衣服を着用し、およびしばしば帽子又は宝石などのアクセサリーを身に付ける。これは、現実的な表現、および時には機能的な理由も獲得することが要求される(例えば、座席の人間工学は、ユーザが着ている衣服に依存として非常に異なるものとすることができる)。
【0008】
アバタと衣類の両方は、コンピュータ・グラフィックス・システムのライブラリに記憶されたデジタルモデルによって常に表わされる。
【0009】
そのため、衣類のデジタルモデルをアバタのモフォロジーおよびサイズに適合させることが可能なツールが必要となる。例えば、ドレスのモデルは、サイズおよびモフォロジーの異なる着用者に適合させなければならない。理想的には、アバタのモフォロジーおよびサイズが変化した場合、衣類は、それ自身素早くかつユーザの介入を最小限若しくは介入させること無く適合させるべきである。特に、そのようなソフトウェアのツールは、「衝突」又は「激突」、すなわち、衣類のいくつかのパーツがアバタの体内に置かれている状況を、識別および解決できるようにすべきである。
【0010】
このような要求を満たすために、先行技術からいくつかのアプローチが知られている。
【0011】
論文(例えば、非特許文献1参照)は、「リファレンス」ボディに適合するように設計された衣類を異なる「ターゲット」ボディに移転することを可能にする方法を説明している。この方法の主な難点は、リファレンスボディが知られている必要があることであり、方法は、衣類をライブラリから抽出して、それをアバタに適合させることを可能にしない。さらに、それは、複雑であり、したがって、遅い(かなり複雑な衣類を適合させるには、数分のプロセッサ時間が、必要とされる。
【0012】
論文(例えば、非特許文献2参照)において説明されているDRAPEシステムは、異なる形状およびポーズの合成ボディ上で衣服を動かすための完全なシステムである。それは、物理学ベースのシミュレーションのデータベースから学習された、衣服のモデルを使用する。衣類は限りない数の異なるアバタに適合されなければならないという、ここで考察されている問題にこの方法を適用することは、あまりにも複雑である。さらに、DRAPEは、場合によっては、非現実的な結果をもたらすことがあることが、見出された。衣類のフィットを改善するために使用される、DRAPEのサブセットは、そのような物理学ベースのシミュレーションのデータベースを必要とせず、衣類を表す任意のメッシュに直接的に適用されることができる。しかしながら、それは、アバタの僅かな変更に適合されるにすぎず、例えば、ドレスを妊婦に適合させるために使用されることができない。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】R.Brouet他、「Design Preserving Garment Transfer」、ACM Transaction of Graphics(TOG) Proceedings of ACM、SIGGRAPH 2012 Volume 31 Issue 4、2012年7月
【非特許文献2】Peng Guan他、「DRAPE:DRessing Any PErson」;ACM Trans. on Graphics(Proc. SIGGRAPH)、31(4):35:1−35:10、2012年7月
【非特許文献3】Ming C.Lin、「Efficient Collision Detection for Animation and Robotics」、PhD Thesis、University of California、Berkeley (1993)
【発明の概要】
【発明が解決しようとする課題】
【0014】
そこで、本発明では、少なくとも1つの衣類を装着したアバタを設計するための改善されたコンピュータ実施方法を提供する。
【課題を解決するための手段】
【0015】
本発明は、先行技術の上で言及された難点を克服することを目的とする。より詳細には、それは、実施が簡単で高速であり、完全に自動的であり、ほとんどの場合に視覚的に妥当な結果をもたらす、衣類をアバタに適合させる方法を提供することを目的とする。
【0016】
本発明によれば、この目的は、多くのアプリケーションでキャラクタアニメーションの背景技術である、スキニングおよびスケルタルアニメーションに基づいた方法によって達成される。この技術によれば、アバタは、スケルトンと、表面を定義するメッシュであるスキンとによって構成される。メッシュの各頂点は、スケルトンの1または複数のボーンにアタッチされ、各アタッチは、異なる加重係数(「スキン重み」)を有する頂点に影響を及ぼす。スケルトンが、動かされた場合、スキンの頂点は、ボーンの動きに追随し、各頂点は、それがアタッチされたすべてのボーンの動きの加重平均によって変換された初期位置に対応する変更された位置を取り、加重は、「スキン重み」によって提供される。
【0017】
本発明の目的は、その場合、少なくとも1つの衣類を着たアバタを設計するためのコンピュータ実施方法であり、方法は、
S1)スケルトンおよびスケルトンを覆うスキンを含むアバタのデジタルモデルを提供するステップであって、スケルトンは、それぞれの線分によって表される複数のボーンを含み、スキンは、面を定義する辺によって接続される複数の頂点を含むメッシュを含み、メッシュの各頂点は、スケルトンの少なくとも1つのボーンに関連付けられ、メッシュは、スケルトンを包含する内側容積を定義する、ステップと、
S2)面を定義する辺によって接続される複数の頂点を有するメッシュを含む衣類のデジタルモデルを提供するステップであって、各頂点は、それぞれの加重係数を通して、アバタのモデルのスケルトンの少なくとも1つのボーンに関連付けられる、ステップと、
S3)変位方向を衣類のモデルのメッシュの各頂点に関連付けるステップであって、前記変位方向は、スケルトンおよび前記加重係数に依存する、ステップと、
S4)アバタのモデルのスキンと衣類のモデルのメッシュとの間の衝突を検出するステップであって、衝突が検出された場合は常に、衣類のモデルのメッシュの頂点を、前記変位方向に沿ってアバタのモデルのスケルトンから遠ざかるように変位させる、ステップと、
を含む。
【0018】
そのような方法の具体的な実施形態によれば、
− 前記ステップS3)は、前記頂点が関連付けられる各ボーンの最も近い点を頂点自体に接続する方向またはベクトルの加重平均として、前記変位方向を決定するステップを含み、加重平均は、頂点をボーンに関連付ける加重係数を使用して計算される。
− 前記ステップS4)は、以下のサブステップ、すなわち、
S41)前記内側容積内にある衣類のモデルのメッシュの頂点を識別し、それらを外側空間内に置くのに十分な変位量だけ、前記変位方向に沿って、それらを変位させるサブステップ
を含む。
【0019】
この場合、頂点自体の上に始点を有し、アバタのモデルのスケルトンから遠ざかるように方向付けられた、前記頂点の変位領域に沿って横たわる光線が、アバタのモデルのスキンの面と交差するかどうかを決定し、交差する場合、前記面の頂点の少なくとも1つが、衣類のモデルのメッシュの前記頂点がやはり関連付けられるボーンに関連付けられるかどうかを決定することによって、前記内側容積内に存在する衣類のモデルのメッシュの頂点が識別される。
− 方法は、前記サブステップS41)の後で実施される、以下のサブステップ、すなわち、
S42)衣類のモデルのメッシュの辺が、アバタのモデルのスキンの面と交差することに起因する、アバタと衣類との間の衝突を識別し、前記変位方向に沿って、スケルトンから遠ざかるように、衣類のモデルのメッシュの各前記辺の頂点を反復的に変位させることによって、前記衝突を解決するサブステップ
も含む。
【0020】
さらに、前記サブステップS42)は、アバタのモデルのスキンの面と交差する衣類のモデルのメッシュの各辺の頂点の中で、最短累積距離だけ変位させられた1つを変位させるサブステップを含む。
− 方法は、前記サブステップS42)の後で実施される、以下のサブステップ、すなわち、
S43)衣類のモデルのメッシュの面が、アバタのモデルのスキンの辺と交差することに起因する、アバタと衣類との間の衝突を識別し、前記変位方向に沿って、スケルトンから遠ざかるように、モデルのメッシュの各前記面の頂点を反復的に変位させることによって、前記衝突を解決するサブステップ
をさらに含む。
【0021】
さらに、前記サブステップS43)は、アバタのモデルのスキンの辺と交差する衣類のモデルのメッシュの各面の頂点の中で、最短累積距離だけ変位させられた1つを変位させるサブステップを含む。
− 前記サブステップS43)は、前記サブステップS42)の後で実施される。
− 方法は、反復的に実施される以下のステップ、すなわち、
S5)衣類のモデルの各頂点について、その累積変位が、近隣頂点の平均累積変位よりも低いかどうかを決定し、低い場合、その累積変位が前記平均累積変位に等しくなるように、前記頂点をさらに変位させるステップ
をさらに含む。
− 方法は、以下のステップ、すなわち、
S6)衣類の前記デジタルモデルのメッシュをそのスキンの一部として含むことによって、アバタの前記デジタルモデルを更新するステップ
をさらに含み、
それによって、方法は、一連の衣類を前記アバタに追加するために、反復的に実施される。
【0022】
本発明の別の目的は、そのような方法をコンピュータシステムに実施させるコンピュータ実行可能命令を含む、コンピュータ可読データ記憶媒体上に記憶される、コンピュータプログラム製品である。
【0023】
本発明の別の目的は、そのような方法をコンピュータシステムに実施させるコンピュータ実行可能命令を含む、コンピュータ可読データ記憶媒体である。
【0024】
本発明の別の目的は、メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備える、コンピュータ支援設計システムであって、メモリが、そのような方法をコンピュータ支援設計システムに実施させるコンピュータ実行可能命令を記憶する、コンピュータ支援設計システムである。
【0025】
本発明の別の目的は、そのような方法によって設計されるのに適した、少なくとも1つの衣類を着たアバタである。
【図面の簡単な説明】
【0026】
本発明の追加の特徴および利点は、添付の図面を併せて読まれる、以降の説明から明らかになる。
図1】本発明の実施形態による、アバタおよび衣類のデジタルモデルの非常に概略的な図である。
図2A図1のデジタルモデルに適用される、本発明の実施形態による方法の異なるステップを示す図である。
図2B図1のデジタルモデルに適用される、本発明の実施形態による方法の異なるステップを示す図である。
図2C図1のデジタルモデルに適用される、本発明の実施形態による方法の異なるステップを示す図である。
図2D図1のデジタルモデルに適用される、本発明の実施形態による方法の異なるステップを示す図である。
図3A】本発明の技術的結果を示す図である。
図3B】本発明の技術的結果を示す図である。
図3C】本発明の技術的結果を示す図である。
図4】本発明の実施形態による方法のフローチャートである。
図5】複数の重ね着される衣類を同じアバタに適合させることに対する、本発明の実施形態による方法の適用を示すフローチャートである。
図6】本発明の実施形態による方法を実施するのに適するコンピュータシステムのブロック図である。
図7】本発明の実施形態による方法を実施するのに適するコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0027】
図1は、単純な幾何学的形状を有する、例示的な2DアバタAVおよび衣類GTのデジタルモデルを示している。
【0028】
アバタのモデルは、スケルトンSNと、スケルトンを覆うスキンSKとを含む。スケルトンは、連結された直線分によって表されるボーンのセットを含む(例示的な実施形態では、スケルトンは、2つのボーンB1、B2からなる)。スキンは、辺によって接続された頂点のセット(vs1ないしvs7)を含むメッシュによってモデル化され、または表される。3次元表現では、辺は、多角形面を画定するが、2次元では、辺と面の間に区別はない。スキンは、必ずしも閉じていないが、いかなる場合も、それは、スケルトンを包含するアバタの内側容積を定める。スキンの各頂点は、それぞれの加重係数を通して、スケルトンの1または複数のボーンに関連付けられる。これは、図1では明らかでないが、頂点vs1、vs2、vs7は、ボーンB1だけに関連付けられ(すなわち、1に等しい加重係数を有し)、頂点vs4、vs5、vs6は、ボーンB2だけに関連付けられ、頂点vs3は、ボーンB1およびボーンB2の両方に関連付けられ、それぞれ、0.3および0.7に等しい加重係数を有する(頂点のすべての加重係数の和は、通常は1に等しく取られる)。
【0029】
一般に、アバタは、ライブラリから選択され、場合によっては、それは、衣類の追加による「着衣」の前に、形態を変えることによって変更される。これは、ボーンの長さおよび向きを変えることによって達成される。上述したように、スキンの頂点は、加重係数に応じて、スケルトンの変化に「追随」する。アバタの提供は、図4および図5のフローチャートでは、ステップS1)として示されている。
【0030】
衣類GTも、辺によって接続された頂点のセット(vg1ないしvg7)を含むメッシュによって表される。3次元表現では、辺は、多角形面を画定するが、2次元では、辺と面の間に区別はない。スキンSKの場合のように、衣類の頂点は、それぞれの加重係数を通して、スケルトンのボーンに関連付けられ、有利には、加重係数は、衣類の設計者によって自由に選択され、衣類モデルの一部である。これは、図1では明らかでないが、頂点vg1、vg2、vg7は、ボーンB1だけに関連付けられ(すなわち、1に等しい加重係数を有し)、頂点vg3、vg4、vg5は、ボーンB2だけに関連付けられ、頂点vg6は、ボーンB1およびボーンB2の両方に関連付けられ、等しい加重係数(0.5)を有する。図1では、衣類GTは、閉じられた多角形曲線として表されているが、たいていは、衣類は、(2Dでは)開いた曲線、または(3Dでは)面を定め、スキンのような閉じられたものではない。
【0031】
一般に、衣類は、ライブラリから選択され、アバタに適合させられなければならず、それが、本発明の目的である。衣類の提供は、図4および図5のフローチャートでは、ステップS2)として示されている。
【0032】
アバタのスキンと衣類が、「衝突」すること、すなわち、衣類のいくつかの頂点、辺、および/または面が、少なくとも一部には、内側容積内にあることが、図1において見られることができる。言い換えると、衣類のいくつかの辺は、スキンの面と交差し、および/またはスキンのいくつかの辺は、衣類の面と交差する(これらのケースは、2Dでは区別可能ではない)。図3Bは、より現実的なケースでの衝突の影響を示している。
【0033】
ここで説明される実施形態は、アバタがそれを着るには大きすぎる衣類を「縮小する」ことを許可しないことに留意されたい。そのような状況では、(自ずと知られる)追加の縮小ステップは、好ましくは、衝突を検出して解決するステップの前に実施されるべきである。本発明によれば、衣類をアバタに適合させることは、衝突を検出して解決することによって、排他的に、または少なくとも本質的に実行される。対照的に、上で言及された論文(例えば、非特許文献1参照)によって開示された方法では、はるかに複雑な「比例スケーリング」方法が、実施され、衝突の解決だけで、後処理を構成する。
【0034】
図3Aは、(「スキン」の一部と見なされる)ズボン、ベルト、および下着を着た女性を表すアバタを示している。図3Bでは、衣類が、より正確には、ドレスが、アバタに追加されている。ベルトが衣類と「衝突」していることが、すなわち、それはドレスによって覆われ、したがって、隠されるべきであるのに見えていることが、見られることができる。図3Cは、本発明による方法を適用した後の着衣のアバタを示しており、ドレスは、自然で現実的な外観を保ちながら、今ではベルトを覆うように、拡大されている。本発明によれば、これは、完全に自動的な方法で達成される。図3Cの結果を達成することを可能にする、本発明の方法によって実施されるアルゴリズムが、図2Aないし図2D図4、および図5を参照して、今から詳細に説明される。
【0035】
上述したように、図2Aないし図2D図4、および図5の実施形態による方法の最初の2つのステップは、アバタおよび衣類(またはより正確には、それらのデジタルモデル)を提供することにあり、これらのステップは、図4および図5のフローチャートでは、ステップS1)およびS2)として示されている。
【0036】
続くステップ(フローチャートでは「S3」)は、衣類のモデルの頂点の各々についての変位方向を決定することにある。与えられた頂点について、その変位方向は、以下のように計算される。
− 0よりも高いスキン重みを有する各ボーンについて、アルゴリズムは、ボーンの最も近い点から頂点自体に対して延びるベクトルを計算する。
− このベクトルは、次に、正規化され、次に、スキン重み係数によって乗算される。
− 頂点について計算されたすべてのベクトルが、合算されて、単一のベクトルを作成し、それが、次に、(通常は1である)すべてのスキン重みの和によって除算される。
【0037】
図2Aでは、衣類の第iの頂点に関連付けられた変位方向は、「ddi」でラベル付けされている。頂点vg1、vg2、vg3、vg4、vg5、vg7は、単一のボーンに関連付けられているので、対応する変位方向dd1、dd2、dd3、dd4、dd5、dd7は、関連付けられたボーン(vg1、vg2、vg7についてはB1、vg3、vg4、vg5についてはB2)の最も近い頂点から単に延びる。頂点vg6は、等しい重みで両方のボーンに関連付けられ、したがって、変位方向dd6は、B1およびB2の最も近い点からそれぞれ頂点自体に対して延びるベクトルdd6a、dd6bの間の中間である。変位方向は、常にスケルトンから外側に方向付けられることに留意することが大切である。
【0038】
方法の続くステップ(サブステップ「S41」、「S42」、「S43」を含む、「S4」)では、衣類の現実的な外観を維持しながら、アバタのスキンとの衝突を解決するために、衣類の頂点が、変位させられる。これらの変位のすべては、ステップS3)において識別されたそれぞれの変位方向に沿って、より正確には、頂点の初期位置に始点を有し、アバタから遠ざかるように方向付けられた、変位方向に沿って横たわる「光線」に沿って実行される。衣類の変更中および変更後の頂点の位置が、次に、光線に沿った累積変位(すなわち、すべての個々の変位の和)を表す浮動小数点数によって定められることができる。図面への書き込み過ぎを避けるために、図2Aないし図2Dでは、「変位方向」と「光線」の間の区別は、行われていない。
【0039】
図2Bで説明されるサブステップS41)は、スキンによって画定される内側容積内にある衣類の頂点を識別し、それらを外側空間内に置くのに十分な変位量だけ、変位方向に沿って、それらを変位させることにある。
【0040】
衣類の頂点が、内側容積内にあるかどうかを決定することは、頂点に関連付けられた光線が、アバタのスキンの面と交差するかどうかを決定することを必要とする。交差する場合、面の頂点の少なくとも1つが、衣類の頂点がやはり関連付けられるボーンに関連付けられるかどうかを決定することも必要である。それ以外の場合、光線が、衣類によって覆われたものとは異なるアバタスキンの一部と交差するとき、「誤検出」が、発生する(すなわち、頂点が、内部空間内にあると誤って見なされることがある)。例えば、ズボンの上部に配置された頂点を発した光線は、アバタの手のスキンを捕える。ズボンは、手のスキンと同じボーンに関連付けられていないので、そのような状況は、容易に検出されることができる。
【0041】
サブステップS42)は、衣類の辺とアバタのスキンの面との間の衝突を識別して解決することを目的とする。衝突検出は、知られたアルゴリズムによって実行されることができ、文献(例えば、非特許文献3参照)を参照されたい。
【0042】
交差が、検出されるたびに、衝突する辺の頂点が、対応する光線に沿って、与えられたオフセットだけ動かされる(その累積変位が、増やされる)。好ましくは、衝突する辺の頂点のうち、最も低い累積変位を有する1つが、動かされ、いくつかの辺が、同じ累積変位を有する場合、選択は、疑似ランダムである。このサブステップは、衝突が検出されなくなるまで、繰り返される。このステップが、予め決定された回数(例えば、30回)よりも多く繰り返される場合、アルゴリズムは、失敗を返す。
【0043】
サブステップS43)は、アバタのスキンの辺と衣類の面との間の衝突を識別して解決することを目的とする。それは、先行サブステップと基本的に同じであるが、今度は、それは、動かされる衣類の面の頂点である(やはり、好ましくは、衝突する面の頂点のうち、動かされるのは、最も低い累積変位を有する1つである)。このサブステップも、ボディの辺と衣類の面との間のすべての衝突が解決されるまで、または予め決定された最大数の反復が実行されるまで、繰り返される。
【0044】
サブステップ≪S42≫と≪S43≫の順序は、逆転されることができるが、しかしながら、≪S43≫の前に≪S42≫を実行することが、必要とされる反復の回数を減らし、したがって、計算コストを引き下げることが、見出されている。
【0045】
図2Cは、サブステップ≪S42≫および≪S43≫を示している(2Dでは、「辺」と「面」の間に違いはなく、したがって、2種類の衝突の間の区別は、無意味である)。衣類の衝突する辺は、vg1とvg7の間、およびvg4とvg5の間に構成されるそれらである。これらの衝突を解決するために、頂点vg7は、累積変位D7だけ、頂点vg4は、累積変位D4だけ、変位させられる。
【0046】
変形された衣類は、衝突はないけれども、頂点vg4、vg7が尖った形状を形成するので、いくぶん不自然な外観を有することが、図2Cで見られることができる。したがって、スムージングステップS5)が、好ましくは、実行される。これは、各頂点に、近隣頂点のそれらの平均である累積変位を、その平均累積変位が頂点の「元の」累積変位よりも大きいならば、設定することによって行われる。これは、先行ステップにおけるように、頂点が外側にだけ動き、したがって、新しい衝突を生み出すことを回避することを保証する。このスムージングは、予め決定された回数(例えば、100回)反復される。
【0047】
図2Dは、衣類GTの一部において実施された、スムージングステップS5)を示している。ステップS4)の終了時では、頂点vg6の累積変位は、頂点vg5のそれと同様に、ゼロであり、代わりに、頂点vg7の累積変位は、ゼロとは異なり(図2Cを参照)、その値は、Dcum7によって示される。S5)の最初の反復中に、頂点vg6は、それ自体の累積変位がゼロであり、近隣頂点vg5の累積変位とvg7の累積変位の平均、すなわち、(Dcum7+0)/2=Dcum7/2だけ変位させられる。結論として、vg6は、D6=Dcum7/2だけ変位させられる。次の反復では、vg5は、D6とD4の平均だけ変位させられ、以降も同様である。
【0048】
上で定められたアルゴリズムは、アバタと1つの衣類との間の衝突を解決するために、使用されることができる。これが行われる場合、適合された衣類は、アバタのモデルに、より正確には、そのスキンに組み込まれることができ(図5のフローチャートのステップ「S6」)、それは、別の衣類の導入を可能にし、以降も同様である。
【0049】
結論として、本発明の方法は、マルチレベルの衣類適合を、いかなるユーザ介入も必要とせず、また加重係数以外にいかなる追加情報も用いずに、非常に効率的に実行することを可能にする。さらに、衣類が、スキン重み情報を有するので、着衣のアバタは、直接的に動かされることができ、衣類は、スケルトンの動きに追随する。
【0050】
本発明の方法は、ハードディスク、ソリッドステートディスク、またはCD−ROMなどのコンピュータ可読媒体上に不揮発形態で適切なプログラムを記憶し、マイクロプロセッサおよびメモリを使用してプログラムを実行する、適切にプログラムされた汎用コンピュータによって、または場合によっては、コンピュータネットワークを含む、コンピュータシステムによって、実行されることができる。
【0051】
本発明の例示的な実施形態による方法を実施するのに適したコンピュータ、より正確には、コンピュータ支援設計ステーションが、図6を参照して説明される。図6では、コンピュータは、上で説明されたプロセスを実行する中央処理装置(CPU)Pを含む。プロセスは、実行可能プログラムとして、すなわち、コンピュータ可読命令のセットとして、RAM M1もしくはROM M2などのメモリ内に、もしくはハードディスクドライブ(HDD)M3、DVD/CDドライブM4上に記憶されることができ、またはリモートに記憶されることができる。アバタデータベースおよび衣類データベースは、すなわち、本発明の方法に従って実行可能プログラムによって処理されるのに適した形式のアバタおよび衣類のデジタルモデルの編成されたセットも、メモリデバイスM1ないしM4の1もしくは複数上に、またはリモートに記憶される。
【0052】
特許請求される本発明は、本発明のプロセスのコンピュータ可読命令ならびに/またはアバタおよび衣類データベースが記憶される、コンピュータ可読媒体の形態によって制限されない。例えば、命令およびデータベースは、CD、DVD上に、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、またはコンピュータ支援設計ステーションが通信するサーバもしくはコンピュータなどの他の任意の情報処理デバイス内に記憶されることができる。プログラムおよびデータベースは、同じメモリデバイス上に、または異なるメモリデバイス上に記憶されることができる。
【0053】
さらに、本発明の方法を実施するのに適したコンピュータプログラムは、CPU800、ならびにMicrosoft VISTA、Microsoft Windows 7、UNIX(登録商標)、Solaris、LINUX(登録商標)、Apple MAC−OS、および当業者に知られた他のシステムなどのオペレーティングシステムと連携して動作する、ユーティリティアプリケーション、バックグラウンドデーモン、もしくはオペレーティングシステムのコンポーネント、またはそれらの組合せとして提供されることができる。
【0054】
CPU Pは、米国のIntelが販売するXenonプロセッサ、もしくは米国のAMDが販売するOpteronプロセッサであることができ、または米国のFreescale Corporationが販売するFreescale ColdFire、IMX、もしくはARMなどの、他のプロセッサ種類であることができる。あるいは、CPUは、米国のIntel Corporationが販売するCore2 Duoなどのプロセッサであることができ、または当業者であれば理解するように、FPGA、ASIC、PLD上で、もしくは個別論理回路を使用して実施されることができる。さらに、CPUは、上で説明された本発明のプロセスのコンピュータ可読命令を実行するために協力して働く、複数のプロセッサとして実施されることができる。
【0055】
図6のコンピュータ支援設計ステーションは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、およびインターネットなどのネットワークとインターフェースを取るための、米国のIntel Corporationが販売するIntel Ethernet PROネットワークインターフェースカードなどの、ネットワークインターフェースNIも含む。コンピュータ支援設計ステーションは、Hewlett Packard HPL2445w LCDモニタなどのディスプレイDYとインターフェースを取るための、米国のNVIDIA Corporationが販売するNVIDIA GeForce GTXグラフィックスアダプタなどの、ディスプレイコントローラDCをさらに含む。汎用I/OインターフェースIFは、キーボードKB、ならびにローラボール、マウス、およびタッチパッドなどのポインティングデバイスPDとインターフェースを取る。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラおよびI/Oインターフェースと一緒に、グラフィカルユーザインターフェースを形成する。
【0056】
ディスクコントローラDKCは、HDD M3およびDVD/CD M4を、コンピュータ支援設計ステーションのコンポーネントのすべてを相互接続するための、ISA、EISA、VESA、またはPCIなどであることができる、通信バスCBSと接続する。
【0057】
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェース、およびI/Oインターフェースの一般的な特徴および機能についての説明は、これらの特徴は知られているので、簡潔さのために本明細書では省かれる。
【0058】
図7は、本発明の異なる例示的な実施形態による方法を実施するのに適したコンピュータシステムのブロック図である。
【0059】
図7では、実行可能プログラムEXP、アバタデータベースADB、および衣類データベースGDBは、サーバSCに接続されたメモリデバイス上に記憶される。メモリデバイス、およびサーバの全体的アーキテクチャは、ディスプレイコントローラ、ディスプレイ、キーボード、および/またはポインティングデバイスが、サーバでは欠落していることを除いて、図6を参照して上で説明されたものと同じである。
【0060】
サーバSCは、次に、ネットワークNWを介して、管理システムADSおよびエンドユーザコンピュータEUCに接続される。
【0061】
管理システムの、およびエンドユーザコンピュータの全体的アーキテクチャは、管理システムおよびエンドユーザコンピュータのメモリデバイスが、実行可能プログラムEXP、アバタデータベースADB、および衣類データベースGDBを記憶しないことを除いて、図6を参照して上で説明されたものと同じである。しかしながら、エンドユーザコンピュータは、以下で説明されるように、サーバの実行可能プログラムと協力するように設計されたクライアントプログラムを記憶する。
【0062】
理解されることができるように、ネットワークNWは、インターネットなどの公衆ネットワーク、もしくはLANもしくはWANなどの私設ネットワーク、またはそれらの任意の組合せであることができ、PSTNまたはISDNサブネットワークも含むことができる。ネットワークNWは、イーサネット(登録商標)ネットワークのように、有線接続されることもでき、またはEDGE、3G、および4G無線セルラシステムを含むセルラネットワークのように、無線であることができる。無線ネットワークは、WiFi、Bluetooth(登録商標)、または知られた他の任意の無線形態の通信であることもできる。したがって、ネットワークNWは、例示的なものにすぎず、本発明の範囲を決して限定しない。
【0063】
エンドユーザコンピュータのメモリデバイス内に記憶され、そのCPUによって実行されるクライアントプログラムは、ネットワークNWを介して、サーバ上のアバタデータベースおよび衣類データベースにアクセスする。これは、エンドユーザが、アバタと、そのアバタに適合させられた1または複数の衣類とを選択することを可能にする。それは、エンドユーザが、アバタの形態を変更し、特定の順序で並べられた選択された衣類をそれに着せるための命令を、サーバに送信することも可能にする。サーバは、図4および図5を参照して上で説明された処理を実行し、変更されて衣服を着せられたアバタのデジタルモデルを、再びネットワークNWを用いて、エンドユーザコンピュータに送信する。
【0064】
ただ1つの管理システムADSおよび1つのエンドユーザシステムEUXが、示されているが、システムは、制限なしに、任意の数の管理システムおよび/またはエンドユーザシステムをサポートすることができる。同様に、複数のサーバ、アバタデータベース、および衣類データベースも、本発明の範囲から逸脱することなく、システムにおいて実施されることができる。
【0065】
本明細書で説明されたいずれのプロセス、説明、またはフローチャート内のブロックも、プロセス内の特定の論理機能またはステップを実施するための1または複数の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表していると理解されるべきであり、代替的な実施は、本発明の例示的な実施形態の範囲内に含まれる。
図1
図2A
図2B
図2C
図2D
図3A
図3B
図3C
図4
図5
図6
図7