JP6340313B2 - モデリングシステム、モデリングプログラム、及びモデリング方法 - Google Patents

モデリングシステム、モデリングプログラム、及びモデリング方法 Download PDF

Info

Publication number
JP6340313B2
JP6340313B2 JP2014261192A JP2014261192A JP6340313B2 JP 6340313 B2 JP6340313 B2 JP 6340313B2 JP 2014261192 A JP2014261192 A JP 2014261192A JP 2014261192 A JP2014261192 A JP 2014261192A JP 6340313 B2 JP6340313 B2 JP 6340313B2
Authority
JP
Japan
Prior art keywords
data
modeling
editing
generating
operation control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014261192A
Other languages
English (en)
Other versions
JP2016122297A (ja
Inventor
裕子 石若
裕子 石若
良恵 河野
良恵 河野
ジャーマン マーセル
ジャーマン マーセル
アンバーグ ブライアン
アンバーグ ブライアン
ウェイス チボ
ウェイス チボ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SoftBank Corp
Original Assignee
SoftBank Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SoftBank Corp filed Critical SoftBank Corp
Priority to JP2014261192A priority Critical patent/JP6340313B2/ja
Publication of JP2016122297A publication Critical patent/JP2016122297A/ja
Application granted granted Critical
Publication of JP6340313B2 publication Critical patent/JP6340313B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングシステム及びモデリングプログラムに関する。
従来、コンピュータグラフィックスの分野において、仮想空間上の3Dモデルを作成する場合、ボーンをジョイントにより連結して構成されたスケルトンと呼ばれる骨構造を用いる手法が採用されている。詳述すると、先ず、ポリゴンで構成される3次元モデルの内部に多数の骨となるボーンと、関節となるジョイントとから成るスケルトンデータを構築する。次いで、人体等の3Dモデルの皮膚や筋肉、頭髪、顔の各部等を、スケルトンデータに関連づけられたポリゴンで作り込んでいく。具体的には、皮膚としては、一般にウェイトと呼ばれる骨構造に連動して変形するポリゴンの制御情報を作成する必要がある。
近年では、テレビゲームやインターネットゲームなどの分野で、ユーザーが自分の分身となる3Dモデル、所謂「アバター」を作成し、このアバターを介して、ゲームやサービスに参加する形態が普及しつつある。このアバターについては、顔の形や、目・鼻などのパーツの色や形をユーザーが変更して自由に顔やスタイルをデザインすることが求められる(例えば、特許文献1参照。)。
特開2002−92641号公報
しかしながら、厳密な3Dモデルとしてパーツを編集するためには、例えば、人物のモデルや部分的なパーツが変更されると、そのパーツに関連する骨構造のみならず、そのパーツを動かすための筋肉や動作制御などの付随情報を変更する必要が生じ、場合によってはウェイトを再編集する必要も生じる。このような作業は複雑であるため、手間がかかるばかりでなく作業者には豊富な経験が求められる。
このため従来では、ユーザーが自由にアバターを編集させる場合には、顔のパーツなどを二次元的なデータとしておき、顔部の3Dパーツの表面に貼り付けるようにして、擬似的に3D化することで対応しているが、近年では、3D映像の精細化が進んでおり、よりリアルなアバターを、より簡単な操作で作成できるシステムの要請が高まっている。
そこで、本発明は、上記のような問題を解決するものであり、より精細でリアリティーのある3Dモデルを、高度な技能や経験を要することなく、簡単な操作で自由に作成・編集できるモデリングシステム、モデリングプログラム、及びモデリング方法を提供することを目的とする。
上記課題を解決するために、本発明は、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングシステムであって、
前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成部と、
各パーツデータの動作に関する情報を動作制御データとして生成する動作管理部と、
パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、モデリングデータを生成するデータセット生成部と
を備えることを特徴とする。
他の発明は、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリング方法であって、
(1)前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、
(2)前記各ボーンデータの前記スキンデータに対する影響度を定義するウェイトデータと、前記パーツデータの動作に関する情報とを、動作制御データとして生成する動作管理ステップと、
(3)前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと
を備えることを特徴とする。
これらの発明によれば、仮想空間上における立体的形状であるアバターを構成する各部位(身体、頭部、目、鼻、口等)を、その位置関係に従ってグループ化し、グループ毎にパーツデータとすることにより、交換用のパーツデータを選択して読み込むという簡単な操作で、ユーザーが任意のパーツを選択して好みのデザインのアバターを自由に作成することができる。このとき、アバターの骨格となるスケルトンデータや、皮膚や衣装となるポリゴンであるスキンデータとの整合性や、アニメーションに必要となる動作制御データなどの必要な情報は、相互の位置関係に基づいた階層構造をなすデータセットに格納されているため、複雑な作業を要することなく、所望のアバターを作成することができる。
上記発明において、任意のパーツデータ及びこのパーツデータに対応する動作制御データを交換用データとして取得するとともに、取得された交換用データに対応するパーツデータ及び動作制御データを、交換の対象となるモデリングデータから選択し、選択されたパーツデータをそのデータセットから切り出すパーツ選択部と、交換用データに含まれるパーツデータのデータ構成に関する情報である交換用トポロジーデータを取得するとともに、交換の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得部と、交換用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択部により切り出されたパーツデータに関連する動作制御データ、又は、交換用データ内の動作制御データを選択して読み込むパーツ交換処理部とをさらに設けることができる。
この場合には、例えば、パーツを切り出す基となるベースモデルの中に含まれる情報を交換用データとして取得するか、或いは予め用意された交換用データを取得し、交換の対象となるモデリングデータであるベースモデルの中から交換用データに対応する部位のパーツデータを切り出し、切り出したパーツデータと交換用データとを比較し、ベースモデル又は交換用データのいずれかから、必要な情報を選択して抽出し、組み合わせることで、任意のパーツが交換された新たなアバターを作成することができる。
詳しくは、スケルトンデータに対する相対位置関係や、ポリゴンの構成、アニメーションに必要となる動作制御データなど、モデリングデータのデータ構成に関する情報をトポロジーデータとして読み込むが、その際、新たに読み込まれた交換用トポロジーデータと、ベースモデルの基礎トポロジーデータとを比較し、双方で一致している情報についてはベースモデルのトポロジーを用い、異なる情報については新たに読み込まれたパーツのトポロジーを用いることで、ベースモデルと新たなパーツとの整合性を維持しつつ、新たなパーツの特徴を反映させたアバターを作成することができる。
上記発明において、ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとしてデータセットから切り出すパーツ選択部と、編集用データに含まれるパーツデータ又は動作制御データに変更を加えるパーツ編集部と、編集用データに含まれるパーツデータのデータ構成に関する情報である編集用トポロジーデータを生成するとともに、編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得部と、編集用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択部により切り出されたパーツデータに関連する動作制御データ、又は、編集用データ内の動作制御データを選択して読み込むパーツ交換処理部とをさらに設けることができる。
この場合には、例えば、パーツを切り出す基となるベースモデルの中に含まれる情報を編集用データとして取得するか、或いは予め用意された編集用データを取得し、編集の対象となるモデリングデータであるベースモデルの中から編集用データに対応する部位のパーツデータを切り出し、切り出したパーツデータに変更を加える。切り出したパーツデータと、変更を加えられた新たな編集用データとを比較し、ベースモデル又は編集用データのいずれかから、必要な情報を選択して抽出し、組み合わせることで、任意のパーツが編集された新たなアバターを作成することができる。
上記発明において、データセット内の任意のパーツに含まれるポリゴンデータを、階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する縫合部をさらに設けることができる。
この場合には、ベースモデルに交換用のパーツを組み付ける際に、接合する部分に含まれるポリゴンの頂点のうち、座標が一致するものを同一化することにより、グラフィックを表示する際の無駄なレンダリングを省略することができ、処理の高速化を図ることができるとともに、不必要な頂点についての動作制御も省略することができ、パーツを入れ替えた際の、ポリゴンの不整合が発生する確率を低減することができる。
なお、上記モデリングプログラムを使用することで、特別な処理装置を必要とせず、上述したモデリングシステムを、様々な情報処理装置において実現することができる。すなわち、このモデリングプログラムを、汎用的なコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するモデリングシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このようなモデリングプログラムは、コンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したシステムや方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
以上述べたように、この発明によれば、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するにあたり、より精細でリアリティーのある3Dモデルを、高度な技能や経験を要することなく、簡単な操作で自由に作成・編集できる。
実施形態に係るモデリングプログラムの起動画面を示す説明図である。 実施形態に係るモデリングプログラムにおけるモデリングデータの階層構造を示す説明図である。 実施形態に係るモデリング方法の手順を示すフロー図である。 (a)実施形態に係るスケルトンデータを示す説明図であり、(b)は、身体パーツを示す説明図である。 (a)実施形態に係る装飾パーツを示す説明図であり、(b)は、装飾パーツを身体パーツと組み合わせた状態を示す説明図である。 (a)実施形態に係る身体パーツを示す説明図であり、(b)は、頭部パーツを示す説明図である。 (a)実施形態に係る頭部パーツに付随する説明図であり、(b)は、頭部パーツに目パーツを組み込んだ状態を示す説明図である。 実施形態に係るモデリング方法において、頭部パーツから目や口のパーツを切り出す手順を示す説明図である。 実施形態に係るモデリング方法におけるSkin_Weightデータを可視化した状態を示す説明図である。 実施形態に係るモデリングシステムの全体構成を示す概念図である。 実施形態に係るモデリング生成サーバーの内部構成を示すブロック図である。 実施形態に係るモデリング配信サーバーの内部構成を示すブロック図である。 実施形態に係るユーザー端末の内部構成を示すブロック図である。
以下に添付図面を参照して、本発明に係るモデリングシステム、モデリング方法及びモデリングプログラムの実施形態を詳細に説明する。本実施形態において、モデリングシステムは、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するシステムであり、本発明のモデリングプログラムを実行することにより構築される。
(モデリングシステム及びモデリングプログラムの概要)
本実施形態に係るモデリングシステムは、パーソナルコンピューターやサーバー装置などの汎用コンピューターに、本実施形態に係るモデリングプログラムをインストールし、実行することにより実現される。図1は、本実施形態に係るモデリングプログラムの起動画面を示す説明図である。
このモデリングプログラムは、人間や動物、ロボットなど、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するプログラムであり、図1に示すように、画面10の右側にアバターA1が表示され、このアバターA1に対する操作を行うためのGUI101〜103が配置されている。
アバターA1は、頭部パーツP1と、身体パーツP2に大きく分けられ、頭部パーツP1には、頭髪パーツP11や目パーツP13などが付随し、身体パーツP2には、服や靴等の装飾パーツP3が付随している。そして、GUI101〜103を操作することにより、上述した各パーツの入れ替え、髪の毛などの身体パーツの入れ替え、アバターの全身や、胸、顔などアバターの部位のサイズ又は形状の変更(モーフィング)、目の色などの変更(テクスチャの入れ替え)を施すことができる。
本実施形態において、アバターに関するモデリングデータは、パーツデータ及び動作制御データを、図2に示すような、身体上における相互の位置関係に基づいた階層構造100に従ってデータセットに格納することで構成されている。このデータセットは、所定のファイル形式(例えば、FBX形式)で保存され、各パーツの表面に貼り付けられるテクスチャは、画像ファイル形式で保存される。このテクスチャについては、1パーツにつき1つの画像ファイルが関連づけられる。なお、複数のテクスチャを使用している場合は、1つの画像ファイルに統合される。
(1)パーツデータ
パーツデータは、人体の身体各部(本実施形態では頭部を除く。)のボーンデータ周囲の外表面を形作るスキンデータの他、人体やキャラクターの頭部や目などのボーンデータとの直接的な関係を有しないポリゴンデータなどが、相対位置関係に従ってグループ化され、グループ毎にアバターの部位としてまとめられたデータセットの1要素であり、仮想空間上において一塊のオブジェクトとして扱われる。なお、本実施形態のモデリングデータは、頭部や目などのパーツの他、上記身体のスキンデータも、すべてポリゴンデータで構成されており、ポリゴンデータは三角ポリゴンまたは四角ポリゴンとし、1パーツにつき全ポリゴンの頂点数は、42,000頂点数以下に設定される。
本実施形態では、図4(b)に示すように、頭部パーツと身体パーツとに大きく分けられており、頭部パーツは、ボーンデータとの直接的な関係を有しないポリゴンデータを主なデータ要素とし、身体パーツは、ボーンデータ周囲の外表面を形作るスキンデータを主なデータ要素としている。各パーツでは、変形可能な範囲を予め規定するように、最小状態、中央値の状態及び最大状態のパーツの形がセットになって作成され、保存される。
(2)スケルトンデータ
ボーンデータは、仮想空間上における所定の2点により定義され所定の長さを有し、アバターの骨となるデータであり、図4(a)に示すように、複数のボーンデータB1〜242が複数連結されてアバターの骨格となるスケルトンデータが構成される。ボーンデータにはその両端における関節に相当するジョイントデータが含まれ、このジョイントデータにより、連結されたボーンの主従関係が決められ、従属するボーンの、親のボーンに対する相対移動範囲が規定される。
各パーツのスキンデータ(ポリゴンデータ)は、スケルトンデータとの相対位置に従って各頂点の座標が、直接的に又は他のパーツを介して間接的に定められ、スケルトンデータ内のボーンの動きに応じて、スキンデータ(ポリゴンデータ)の各頂点も移動するようになっている。例えば、アバターの首から下の身体パーツにはスケルトンデータが含まれ、首から上の頭部や、頭部に付随する目、鼻、口などのパーツは、首のボーンデータに対する相対位置だけが含まれるなど、パーツの特性によってスケルトンデータとの関連づけが異なる。
(3)スキンデータ
スキンデータは、本実施形態では、主に身体パーツのように、一つ又は複数のボーンデータに対して関連づけられて、オブジェクト(パーツ、アバター自身が含まれる)の外表面を定義するポリゴンデータである。具体的には、多数の頂点座標により定義された多面形状をなすポリゴンデータであり、各頂点座標は、所定のボーンデータに対する相対的位置関係や、相対移動範囲が規定されている。
また、各パーツやアバターを形成するポリゴンデータは、トポロジーデータにより、その組み方(頂点の数や、配置順序、頂点を結ぶエッジの構造などを含むメッシュ構造)が定義されている。
(4)動作制御データ(Skin_Weightデータ及びBlend_Shapeデータ)
動作制御データには、各ボーンデータに関連づけられたスキンデータに対する影響度を定義するウェイトデータ(Skin_Weightデータ)と、又は頭部や目などのようにボーンデータに直接的には関連づけられていないが、間接的に動作が規定されるパーツデータの動作に関する情報(Blend_Shapeデータ)とが含まれる。Skin_Weightデータは、主にアバターの身体の動きを制御するためのデータであり、Blend_Shapeデータは、顔部分や顔に付随する各パーツの動きを制御するためのデータである。このような動作制御データは、パーツデータとともに、相互の位置関係に基づいた階層構造に従ってデータセットに格納又は関連づけされ、モデリングデータを構成する。
(モデリング方法の概要)
次いで、本実施形態におけるモデリング方法について詳述する。図3は、本実施形態に係るモデリング方法の手順を示すフロー図である。
(1)初期化プロセス
アバターの作成・変種作業の開始時に、各種データの初期化を行う。先ず、 すべてのパーツが格納されたFBXファイルとテクスチャファイルを読み込む(S101)。この読み込まれたファイルに含まれるデータセットから、各パーツの階層レベルを取得する(S102)とともに、各パーツの親IDを取得する。この親IDとは、上記階層レベルに従って、上位に位置するパーツを特定するIDであり、この親IDによって各パーツの主従関係、位置関係が定められる。
次いで、各パーツのスキンデータ(ポリゴンデータ)の頂点の数を取得するとともに、ベースモデルの対応する部位のポリゴンデータについて、頂点同士を比較し、各頂点について、同じ座標を計算する(S105)。すなわち、ベースモデルの身体パーツの頂点と同じ座標をもつ、パーツの頂点の座標を検索し、その数をカウントする。このとき、座標が一致すれば同一の頂点としてカウントし、不一致であれば異なる超点数としてカウントする。
次いで、差し替え可能なパーツ、及び重なっている部分のあるパーツの登録を行う(S106及びS107)。具体的には、ステップS105で行った一致・不一致のカウント数に応じて、異なる頂点数が閾値以下であれば、ベースモデルのパーツと同一であるとみなし、そのパーツに対して、“同じ”旨のマークを付与し、ベースモデルの身体パーツの各頂点に対して、階層上位(親)の身体パーツと”同じ”頂点が存在していたら、” 入れ替え(Replacement)”として登録される。一方、身体パーツのいくつかの頂点が”同じ頂点”として存在していたら、その頂点は”縫い合わせ”として登録される。階層下位(子)の身体パーツが親の身体パーツに対して、空白が存在していたら、後述する接続(Connect)処理のために、”接続(Connect)”と登録される。
(2)アニメーションの各フレームの入力計算
パーツモデルについては、モーフィングサイズパラメータ、選択されたパーツのトポロジー、アニメーションファイル(ジョイントデータ、Blend_Shapeデータ)が読み込まれる。なお、アニメーションデータは、ファイル形式で取得されなくてもよく、例えばデータがストリーミング配信により順次取得される方式であってもよい。
そして、パーツやトポロジーに変更があったか判断が行われ(S108)、変更があれば、ステップS109に進み、変更がなければ変形をすることなく、パーツの入れ替え(S112)に進む。
(3)パーツの連結
上記ステップS109では、Blend_Shapeデータの計算をし、すべてのトポロジーと変異に適用する。具体的には、Blend_Shapeデータは、各トポロジーのすべての頂点に対して、移動量を定義しており、新しい頂点の位置は下記式で計算される。
次いで、モーフィングによる変形、及びサイズ変更による変更を実行する(S110及びS111)。具体的には、ユーザーがインプットした値によって変形量、サイズが決定される。このとき、サイズが変更されたパーツに付随するパーツのサイズも変更される。例えば、頭部のサイズを大きくした場合には、その頭部に付随する眉毛などのパーツのサイズも大きくなる。
特に、このモーフィングでは、各パーツの頂点、線、顔や身体の動作制御データ(Blend_Shapeデータ、Skin_Weightデータ)について、最大モデルと最小モデルとの間を補間して、滑らかに拡大・縮小するようにする。具体的には、Blend_Shapeデータの演算処理を実行した後に、モデルをmp,t,kとすると、変形グループ(variant group)は、Gp,t,g={mp,t,k0, ..., mp,t,kn}で定義される。ここで、pはパーツ番号であり、 tはトポロジーであり、kは変形量(userが入力)であり、gはグループ番号である。
そして、各変形グループに対して、ユーザーがスライダーを操作するなどして、変形量が入力されると、Sp,t,g がスライダー値として取得される。ここで、スライダー値はSp,t,g∈[0,n] とする。ここで、nはvariant グループ番号である。
上記補間は、線形補間を用い、座標間を直線的に補間する。この補間処理の下式により求められる。
ここで、r∈{0,...,n}とし、r≦ Sp,t,g<r+1.すべての頂点に対して、下記式によって新しい頂点を計算する。

また、上述したように、サイズが変更されたパーツに付随するパーツのサイズも変更するときの処理は、以下の通りである。
例えば、頭を大きくした時の眉毛も一緒に大きくする際、Blend_Shapeデータの演算やモーフィングで頂点座標を移動すると、元々の形と異なる形になっている。そのため、3D空間内でねじれが起きる場合がある。本実施形態では、このサイズ変更の際に生じるねじれを下記の方法によって修正する。
先ず、δva,iをbody part pの頂点vpiの元の座標からモーフィング後の座標までの移動とする。Aをすべてのbody part pの親の集合とすると、新しい頂点は、下記の式で計算される。
なお、オリジナルのポジションでは、Blend_Shapeデータに基づく移動もモーフィングによる移動もないものとする。
次いで、パーツの入れ替え(Replacement)を実行し(S112)、その後、上位(親)のパーツと同じ座標に頂点座標をコピーし、Stitching(縫い合わせ) を実行し(S113)、子パーツを縫い合わせる。その後、最適化処理(Global optimization)を実行し、メッシュの変更をスムーズにする。
上記パーツの入れ替え(Replacement)では、ユーザーがパーツの入れ替えを実行すると、自動的に縫い合わせ処理(Stitching)が実行される。この入れ替え(Replacement)では、ベースモデル及び交換用パーツのスキンデータ内における、同じ頂点同士を入れ替える。
また、上記縫い合わせ処理(Stitching)では、ユーザーがパーツの入れ替えを実行すると、切り出されたスキンデータの外縁であるOutlineと、ベースモデル側の外縁に対応するOutlineを重ね合わせて、比較し、縫い合わせを行う。この時、無駄なレンダリングを省くため、交換用パーツに含まれる頂点のみを採用する。
上述した、入れ替えるパーツのOutlineとOutlineの座標が異なる場合は、その間に頂点とedgeを発生させてつなぐConnect処理を実行する。具体的には、下位のパーツの外縁上(Outline)の各頂点vcoiに対して、上位のパーツの外縁(Outline)上の各頂点vaojの最も近い頂点を計算する。このとき、KNNを用いて、k個の最も近い頂点vaojに対して、ある閾値より距離が近い場合に、それらの中間に頂点を発生させる。この新しく発生した頂点の間隔が閾値よりも小さくなるまで、新たに頂点を発生させ、発生した頂点の間は、三角形になるように線で結合する。
その後、動作制御データのパラメータを複製する(S114)。詳述すると、顔部分を動かすためのパラメータであるBlend_Shapeデータの値をベースモデルの対応するパーツから複製する。このとき、ベースとなるパーツとトポロジーが同じ場合には、ベースモデルのBlend_Shapeデータをそのまま使用し、トポロジーが異なる場合には、そのパーツのBlend_Shapeデータを使用する。このBlend_Shapeデータの複製と併せて、身体を動かすためのパラメータであるSkin_Weightデータを、ベースモデルの対応パーツから複製する。このとき、ベースとなるパーツとトポロジーが同じ場合には、ベースモデルのSkin_Weightデータをそのまま使用し、トポロジーが異なる場合には、そのパーツのSkin_Weightデータを使用する。
そして、完成したアバターに対してアニメーションのための動作操作があれば(S115に置ける「Y」)、アバターを動かし(S116)、最後に、縫い合わせたパーツ、パラメータ等を一つのフルモデルとしてFBXファイルに出力する(S117)。
(交換用パーツの作成方法)
以上説明したモデリング方法に用いられる交換用パーツの作成方法について、以下に詳述する。
先ず、パーツを準備するために、ベースモデルを作成する。このベースモデルとは、作成される交換用パーツの基となるアバターのフルモデルであり、このベースモデルから切り出されたパーツに変形を加えて、交換用パーツが作成される。フルモデルとは、スケルトンデータ、動作制御データ(Skin_Weightデータ、Blend_Shapeデータ)、メッシュ構造等のトポロジーデータといった形と動かすために必要な要素がすべて含まれている基本データである。
なお、このベースモデルは複数種作成することができ、すべてのベースモデルには必ず共通のスケルトンデータが導入され、その共通スケルトンには、必要なボーンの主従関係を規定するジョイントデータや円滑化接続処理によりSmooth Bindデータが設定され、共通スケルトンに対するスキンデータの調整も完了されている。
次いで、上記フルモデルから、変更したいパーツを切り出し、切り出したパーツをベースに、新しい形を作成する。このとき、トポロジーは同じであっても同じでなくてもよい。切り出したパーツについては、どこに付随するパーツであるか示すために階層構造におく(目は顔に付随するパーツである等)。
アバターの各部位に関するパーツの切り出しについて、以下にパーツ毎に説明する。
(1)ベースモデルからのパーツの切り出し
○スケルトンの切り出し(マスタースケルトンの作成)
上記ベースモデルから、図4(a)に示すような、必要な部位のスケルトンデータを切り出し、パーツを作成する際に用いる各パーツに共通のマスタースケルトンを作成する。
○スキンデータの切り出し
上記ベースモデルから、所定の部位をパーツとして選択して切り出し、交換用のパーツデータを作成する。なお、作成された各パーツのデータ名は、所定のルールに従って付けられる。
ここで作成される各パーツについては、変形可能な範囲を予め規定するように、最小状態、中央値の状態及び最大状態のパーツの形がセットになって作成され、各データ名も、最小、最大などの変形量の状態が分かる名前とし、その他の特徴や、関連づけられるトポロジーデータが変更された場合には、それが分かるように名前が付けられる。
この切り出されたパーツに対応するトポロジーデータを作成する。このトポロジーの生成に関し、ベースモデルのトポロジーと、切り出された変形パーツのトポロジーとが一致する必要があるため、切り出されたパーツのスキンデータに対しては、頂点の追加、エッジの追加は行わず、ベースモデルをコピーして頂点移動を行い、ベースモデルのトポロジーのうち必要箇所を複製して変形パーツのトポロジーを作成する。
○身体部分(Body)の切り出し
図4(b)に示すように、頭部を除く身体部分(Body)は一塊の「身体パーツ」として取り扱う。このとき、Bodyは、衣類などの他のパーツの取り除いた、裸の状態で処理を行う。衣類の切り出しは、別途行う。
図5及び図6(a)に示すような衣類パーツについては、Body以外のポリゴンを切り出して、Clothとして作成する。このとき、衣類の形状のポリゴン(トポロジー共通)を別途用意し、Bodyのウェイトデータとともに読み込み、Bodyのウェイトデータを、衣類のポリゴンに適用する。その後、Bodyのポリゴンを削除して、Clothのみを衣類パーツとして保存する。なお、トポロジーが異なる衣類については、異なるトポロジーの名前が含まれたファイル名を、当該衣類パーツに付けて、トポロジーと衣類パーツとを関連づけておく。
○顔部の切り出し
図6(b)に示すような顔部については、Blend_Shapeデータが関連づけられているスキンデータ内のポリゴングループを、全て顔部のアウトライン用パーツとして、ベースモデルから切り出して顔部パーツとして使用する。具体的には、上記ポリゴングループを、Blend_Shapeデータを含んだ状態で、共通スケルトンの首関節(Neck joint)配下に主従関係を定義する「Parent化」を行う。このとき、Neck jointに対するParent化のみ行う。
○顔部からの各パーツの切り出し
次いで、図7に示すように、顔部から目や口といった各パーツを切り出す。
FBXの必要なポリゴングループから分離処理(Separate)を行い、目のエリアを切り出す。ここでは、パーツを構成するポリゴンのグループ情報と、変形(Transform)情報を維持する。切り出されたパーツについては、ベースモデルに使用されているポリゴンと同じ名前が有る場合、適宜ポリゴン名の変更を行う。
この目のエリアの切り出しは、具体的には、顔のBlend_Shapeデータに関連づけられているグループポリゴンと、切り出すエリアに含まれるポリゴンを抽出することで行う。この抽出処理は、Blend_Shapeデータを設定しているFaceグループを選択し、分離処理(Separate)を行う。
目に関するスキンデータ(フェース)を抽出するためには、先ず、図8に示すように、顔部分において、切り出すエリアの外縁にある頂点をエッジ(Outline)として、その周辺にある不必要なフェースポリゴンを削除する。さらに分離処理(Separate)を行い、目のフェースを抽出し、抽出したFaceポリゴン部分の名前を、固有のポリゴン名(例えばEyeLeftFace等)に変更する。ここで、固有のポリゴン名とは、複数のFBXファイルを読み込む際に、他のファイルにおけるポリゴン名と重複しない名称である。
そして、抽出されたEyeLeft,EyeRightの中央値モデル(Baseモデル)、最大モデル、最小モデルを作成する。具体的には、先ず、作成したEyeLeft.mbを読み込み、拡大・縮小したいポリゴンを選択し、拡大・縮小する方向に移動させる。このとき、Blend_Shapeデータに基づく処理に使用していたFaceポリゴン(グループ)を分離(Separate)した時の変形(transform)情報は維持しておく。 なお、この最大モデル、最小モデルについては、ポリゴン構成を変えずに作成する。また、切り口となった外縁に位置するポリゴン(Outline)は変形させない。
次いで、目に使用しているテクスチャを1枚に統合する。
その後、UV展開を行う。具体的異は、マスタースケルトンを読み込み、首部分(Neck joint)又は首に追随するボーン(EyeLeft joint)に対するジョイントデータ(主従関係や可動範囲)を作成し、必要に応じて結合(Combine)処理を実行する。
○顔部からの口・鼻部分の切り出し
形状を変形させて違うパーツを作る場合は、Outlineは変更せず、エッジ内のポリゴンだけ変形を行う。トポロジーを変える場合は(頂点数)、アウトラインの形は変えてはいけない。
このようにして準備されたパーツを組み合わせる処理は、以下の手順で行われる。先ず、顔と身体のパーツを、それぞれ独自にモーフィング(最大と最小の間をなめらかにつなぐ)処理を行う。次いで、顔を動かすためのパラメータ(Blend_Shapeデータの値)を、ベースとなったフルモデルの対応するパーツからコピーするとともに、身体を動かすためのパラメータ(Skin_Weightデータ)をパーツのベースとなったフルモデルからコピーする。このとき、トポロジーが異なる状態であってもよい。
そして、ユーザー操作に基づいて、ユーザーが選択したパーツを入れ替える。このとき、入れ替えられたパーツについて、自動的に縫い合わせ処理が実行される。また、必要に応じて、身体全体に最適化を行う。
(モデリングシステムの構造)
次いで、図3は、本実施形態に係るモデリングシステムの全体構成を示す概念図である。本実施形態において、モデリングシステムは、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するシステムである。通信ネットワーク5には、ユーザーが所持するユーザー端末1と、モデリングデータを生成するモデリング生成サーバー3と、モデリング生成サーバー3によって生成されたモデリングデータを保存・配信するデータ配信サーバー2とが接続されている。
通信ネットワーク5は、通信プロトコルTCP/IPを用いたIP網であって、種々の通信回線(電話回線やISDN回線、ADSL回線、光回線などの公衆回線、専用回線、無線通信網)を相互に接続して構築される分散型の通信ネットワークである。この通信ネットワーク5には、10BASE−Tや100BASE−TX等によるイントラネット(企業内ネットワーク)や家庭内ネットワークなどのLANなども含まれる。
ユーザー端末1及び管理者用端末3は、CPUを備えた演算処理装置であり、通信機能によりインターネット5等の通信ネットワークに接続可能となっており、ブラウザソフトなどにより、表示情報を受信して表示するとともに、ユーザーの操作信号を送信する機能を備えている。この情報端末としては、パーソナルコンピューター等の汎用コンピューターや、機能を特化させた専用装置により実現することができ、モバイルコンピュータやPDA(Personal Digital Assistance)、携帯電話機が含まれる。
モデリング生成サーバー3は、本システムの管理者の操作に応じてモデリングデータを生成して管理するサーバー装置であり、本システムの管理者が所持する情報処理端末と接続可能となっている。そして、モデリング生成サーバー3において生成されたモデリングデータは、データ配信サーバー2に送信される。
データ配信サーバー2は、ユーザー管理、モデリングデータの配信などを制御するサーバー装置である。また、データ配信サーバー2には、Webサーバーが含まれ、WWW(World Wide Web)等のドキュメントシステムにおいて、HTML(HyperText Markup Language)ファイルや画像ファイル、音楽ファイルなどの情報送信を行うサーバーコンピューター或いはその機能を持ったソフトウェアであり、モデリングデータベース2a内にモデリングデータなどの情報を蓄積しておき、ユーザー端末1上で実行されるアプリケーションの要求に応じて、モデリングの編集操作を受け付け、編集後のモデリングデータをユーザー端末1に配信する。
(各装置の内部構造)
次いで、上述したモデリングシステムを構成する各装置の内部構造について説明する。図11は、本実施形態に係るモデリング生成サーバー3の内部構成を示すブロック図であり、図12は、本実施形態に係るモデリング配信サーバー2の内部構成を示すブロック図であり、図13は、本実施形態に係るユーザー端末1の内部構成を示すブロック図である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
(1)モデリング生成サーバー3の内部構成
先ず、モデリング生成サーバー3の内部構成について説明する。モデリング生成サーバー3は、単一のサーバー装置の他、Webサーバーやデータベースサーバーなど複数のサーバー群から構成することができ、本実施形態では、図11に示すように、通信インターフェース31と、制御部32と、記憶部33と、入出力インターフェース34とを備えている。
記憶部33は、本システムに関する各種の情報を蓄積するデータベース群であり、ここでは、モデリングデータベース331を備えている。なお、各データベースは、単体のデータベースとして構成してもよいし、複数のデータベース間でリレーションシップを設定するようにしてもよい。
モデリングデータベース331は、モデリング生成モジュール郡310によって生成されたモデリングデータを蓄積するデータベースである。
通信インターフェース31は、データ通信を行うための通信インターフェースであり、通信ネットワーク5を介してモデリング配信サーバー2や管理者が所持する情報処理端末と接続可能となっている。入出力インターフェース34は、管理者が所持する情報処理端末と接続されたインターフェースであり、管理者が所持する情報処理端末のマウスやキーボードなどの操作デバイスからの操作信号が、ユーザー操作として入力され、管理者が所持する情報処理端末のモニタ等にモデリングデータを表示させる。
制御部32は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、構築された各機能モジュールによって、各部の動作制御、管理者操作に対する種々の処理を行っている。そして、本実施形態において、制御部32には、モデリング生成制御部310と、モデリング編集制御部320と、モデリングデータ配信部330とを備えている。
モデリング生成制御部310は、モデリングデータを生成するモジュール群であり、パーツ生成部311と、動作管理部312と、データセット生成部313とを備えている。
パーツ生成部311は、仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するモジュールである。
動作管理部312は、各ボーンデータのスキンデータに対する影響度を定義するウェイトデータと、パーツデータの動作に関する情報とを、動作制御データとして生成するモジュールである。
データセット生成部313は、パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、モデリングデータを生成するモジュールである。
モデリング編集制御部320は、生成されたモデリングデータを交換・編集するモジュール群であり、本実施形態では、生成されたモデリングデータのパーツを交換する交換機能と、生成されたモデリングデータのパーツを編集する編集機能とを有している。
先ず、モデリング編集制御部320のパーツ交換機能について説明する。パーツ交換機能としてモデリング編集制御部320には、パーツ選択部321と、基礎データ取得部322と、パーツ交換処理部323と、縫合部324とを備えている。
パーツ選択部321は、 任意のパーツデータ及びこのパーツデータに対応する動作制御データを交換用データとして取得するとともに、取得された交換用データに対応するパーツデータ及び動作制御データを、交換の対象となるモデリングデータから選択し、選択されたパーツデータをそのデータセットから切り出すモジュールである。
基礎データ取得部322は、交換用データに含まれるパーツデータのデータ構成に関する情報である交換用トポロジーデータを取得するとともに、交換の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得するモジュールである。
パーツ交換処理部323は、交換用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択部321により切り出されたパーツデータに関連する動作制御データ、又は、交換用データ内の動作制御データを選択して読み込むモジュールである。
縫合部324は、データセット内の任意のパーツに含まれるポリゴンデータを、階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化するモジュールである。
一方、パーツ編集機能としてモデリング編集制御部320には、パーツ選択部321と、基礎データ取得部322と、パーツ交換処理部323と、縫合部324とを有している。
パーツ選択部321は、ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとしてデータセットから切り出すモジュールである。ここで、パーツ選択部321には、パーツ編集部322aを備えている。パーツ編集部322aは、編集用データに含まれるパーツデータ又は動作制御データに変更を加えるモジュールである。
基礎データ取得部322は、編集用データに含まれるパーツデータのデータ構成に関する情報である編集用トポロジーデータを生成するとともに、編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得するモジュールである。
パーツ交換処理部323は、編集用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択部321により切り出されたパーツデータに関連する動作制御データ、又は、編集用データ内の動作制御データを選択して読み込むモジュールである。
また、縫合部324は、データセット内の任意のパーツに含まれるポリゴンデータを、階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する。
モデリングデータ配信部330は、コンテンツ生成制御部310で生成されたモデリングデータを、通信インターフェース31を通じてコンテンツ配信サーバー2に配信するモジュールである
(2)モデリング配信サーバー2の内部構成
次いで、モデリング配信サーバー2の内部構成について説明する。モデリング配信サーバー2は、単一のサーバー装置の他、Webサーバーやデータベースサーバーなど複数のサーバー群から構成することができ、本実施形態では、図12に示すように、通信インターフェース21と、制御部22と、データベース2aとを備えている。
データベース2aは、本システムに関する各種の情報を蓄積するデータベース群であり、ここでは、モデリングデータベース201と、会員データベース202とを備えている。なお、各データベースは、単体のデータベースとして構成してもよいし、複数のデータベース間でリレーションシップを設定するようにしてもよい。
モデリングデータベース201は、モデリング生成サーバー3によって生成されたモデリングデータを蓄積するデータベースであり、モデリングデータベース331と同様なデータ構成となっている。
会員データベース202は、ユーザー端末1を所持する顧客に関する情報を蓄積するデータベースであり、本実施形態では、ユーザー端末1を識別するユーザーID(ユーザー端末1のIPアドレス等)及びパスワードに、電話番号、メールアドレス、ユーザーの氏名、年齢、性別、住所などの個人情報の他、作成したモデリングデータを識別するモデリングID、決済情報などが関連付けて記録することができる。
通信インターフェース21は、データ通信を行うための通信インターフェースであり、通信ネットワーク5を介してユーザー端末1に接続可能となっている。
制御部22は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、構築された各機能モジュールによって、各部の動作制御、管理者操作に対する種々の処理を行っている。そして、本実施形態において、制御部22には、認証部26と、操作信号取得部25と、編集制御部23と、モデリングデータ配信部24とを備えている。
認証部26は、アクセス者の正当性を検証するコンピューター或いはその機能を持ったソフトウェアであり、各ユーザーを特定するユーザーIDに基づいて認証処理を実行する。また、任所部26は、本システムを利用するユーザーの会員登録を処理する機能も有しており、ユーザー端末1からのアクセスを受け付けて会員登録を行う。具体的に、会員登録部221は、先ず、ユーザー端末1を特定するためのユーザーID等を取得して会員データベース231に記録するとともに、その後、ユーザーからの個人情報入力があった場合には、そのユーザーIDに、ユーザーが所持するユーザー端末1に関する情報(ユーザー端末1のメールアドレス、電話番号、ユーザーの氏名、年齢、住所、性別、決済情報などの個人情報など)を会員データベース231に関連付けて記録することができる。また、認証部26は、ユーザーが編集等したモデリングデータを識別するモデリングIDを会員データベース202に関連付けて記録する。
操作信号取得部25は、ユーザー端末1からの操作信号を受信し、操作信号に対応する制御信号を各部に出力するモジュールである。この操作信号取得部25からの制御信号に基づいて、モデリングデータベース201内のモデリングデータを配信したり、モデリングデータの編集処理を編集制御部23で実行させたりする。
モデリングデータ配信部24は、ユーザー操作に応じてモデリングデータをユーザー端末1に配信するモジュールであり、ユーザー操作によって選択されたモデリングデータ全体やパーツデータをユーザー端末1の画面上に表示可能に配信する。
編集制御部23は、ユーザー操作に応じてモデリングデータの編集を受け付けるモジュール群であり、本実施形態では、パーツ選択部231と、パーツ編集部232と、基礎データ取得部233と、パーツ交換処理部234と、縫合部235とを備えている。
パーツ選択部231は、ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとしてデータセットから切り出すモジュールである。
パーツ編集部232は、編集用データに含まれるパーツデータ又は動作制御データに変更を加えるモジュールである。
基礎データ取得部233は、 編集用データに含まれるパーツデータのデータ構成に関する情報である編集用トポロジーデータを生成するとともに、編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得するモジュールである。
パーツ交換処理部234は、 編集用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択部231により切り出されたパーツデータに関連する動作制御データ、又は、編集用データ内の動作制御データを選択して読み込むモジュールである。
縫合部235は、データセット内の任意のパーツに含まれるポリゴンデータを、階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化するモジュールである。
(3)ユーザー端末1の内部構成
次いで、ユーザー端末1の内部構成について説明する。ユーザー端末1の内部構成について説明する。図に示すように、ユーザー端末1は、通信インターフェース11と、入力インターフェース12と、出力インターフェース13と、アプリケーション実行部14と、メモリ15とを備えている。
通信インターフェース11は、データ通信を行うための通信インターフェースであり、無線等による非接触通信や、ケーブル、アダプタ手段等により接触(有線)通信をする機能を備えている。入力インターフェース12は、マウス、キーボード、操作ボタンやタッチパネルなどユーザー操作を入力するデバイスである。また、出力インターフェース13は、ディスプレイやスピーカーなど、映像や音響を出力するデバイスである。特に、この出力インターフェース13には、液晶ディスプレイなどの表示部13aが含まれている。
メモリ15は、OS(Operating System)や各種のアプリケーション用のプログラム、その他のデータ等などを記憶する記憶装置であり、このメモリ15内には、モデリング配信サーバー2から取得したモデリングデータを蓄積する。
アプリケーション実行部14は、一般のOSやブラウザソフトなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。このアプリケーション実行部14では、本発明に係るモデリングプログラムが実行されることで、モデリング配信サーバー2と通信を行い、例えば、編集対象となるモデリングデータ、及びパーツデータの選択、パーツデータの編集処理が行われ、各操作に応じた表示情報が表示部13a上に表示される。
(モデリングプログラム)
また、上述した本実施形態に係るモデリングシステム法は、所定の言語で記述されたモデリングプログラムをコンピューター上で実行することにより実現することができる。すなわち、本実施形態に係るプログラムは、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングプログラムであって、コンピューターに、
(1)仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、
(2)各ボーンデータのスキンデータに対する影響度を定義するウェイトデータと、パーツデータの動作に関する情報とを、動作制御データとして生成する動作管理ステップと、
(3)パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、モデリングデータを生成するデータセット生成ステップと
を備える処理を実行させる。
また、このモデリングプログラムは、モデリングデータのパーツを交換する機能として、コンピューターに、
(1)任意のパーツデータ及びこのパーツデータに対応する動作制御データを交換用データとして取得するとともに、取得された交換用データに対応するパーツデータ及び動作制御データを、交換の対象となるモデリングデータから選択し、選択されたパーツデータをそのデータセットから切り出すパーツ選択ステップと、
(2)交換用データに含まれるパーツデータのデータ構成に関する情報である交換用トポロジーデータを取得するとともに、交換の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得ステップと、
(3)交換用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択ステップで切り出されたパーツデータに関連する動作制御データ、又は、交換用データ内の動作制御データを選択して読み込むパーツ交換処理ステップと
をさらに実行させる。
また、このモデリングプログラムは、モデリングデータのパーツを編集する機能として、コンピューターに、
(1)ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとしてデータセットから切り出すパーツ選択ステップと、
(2)編集用データに含まれるパーツデータ又は動作制御データに変更を加えるパーツ編集ステップと、
(3)編集用データに含まれるパーツデータのデータ構成に関する情報である編集用トポロジーデータを生成するとともに、編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得ステップと、
(4)編集用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択ステップで切り出されたパーツデータに関連する動作制御データ、又は、編集用データ内の動作制御データを選択して読み込むパーツ交換処理ステップと
をさらに実行させる。
また、上記の処理において、モデリングプログラムは、コンピューターに、
データセット内の任意のパーツに含まれるポリゴンデータを、階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する縫合ステップを実行させる。
そして、このモデリングプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このモデリングプログラムは、例えば、通信回線を通じて配布することが可能であり、またパッケージアプリケーションとして譲渡することができる。そして、このようなモデリングプログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、装置、サーバーを実施することが可能となるとともに、モデリングプログラムの保存、運搬及びインストールを容易に行うことができる。
A1…アバター
B1〜242…ボーンデータ
P1…頭部パーツ
P11…頭髪パーツ
P13…目パーツ
P2…身体パーツ
P3…装飾パーツ
2…コンテンツ配信サーバー
2a…モデリングデータベース
3…管理者用端末
5…インターネット
10…画面
11…通信インターフェース
12…入力インターフェース
13…出力インターフェース
13a…表示部
14…アプリケーション実行部
15…メモリ
21…通信インターフェース
22…制御部
23…編集制御部
24…モデリングデータ配信部
25…操作信号取得部
26…認証部
31…通信インターフェース
32…制御部
33…記憶部
34…入出力インターフェース
100…階層構造
101〜103…GUI
201…モデリングデータベース
202…会員データベース
221…会員登録部
231…パーツ選択部
232…パーツ編集部
233…基礎データ取得部
234…パーツ交換処理部
235…縫合部
310…モデリング生成モジュール郡
311…パーツ生成部
312…動作管理部
313…データセット生成部
320…モデリング編集制御部
321…パーツ選択部
322…基礎データ取得部
322a…パーツ編集部
323…パーツ交換処理部
324…縫合部
330…モデリングデータ配信部
331…モデリングデータベース

Claims (9)

  1. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングシステムであって、
    前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成部と、
    前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理部と、
    前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成部と
    任意のパーツデータ及びこのパーツデータに対応する動作制御データを交換用データとして取得するとともに、取得された交換用データに対応するパーツデータ及び動作制御データを、交換の対象となるモデリングデータから選択し、選択されたパーツデータをそのデータセットから切り出すパーツ選択部と、
    前記交換用データに含まれるパーツデータのデータ構成に関する情報である交換用トポロジーデータを取得するとともに、前記交換の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得部と、
    前記交換用トポロジーデータと前記基礎トポロジーデータとを比較し、比較結果に基づいて、前記パーツ選択部により切り出されたパーツデータに関連する動作制御データ、又は、前記交換用データ内の動作制御データを選択して読み込むパーツ交換処理部と
    を備えることを特徴とするモデリングシステム。
  2. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングシステムであって、
    前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成部と、
    前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理部と、
    前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成部と、
    ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとして前記データセットから切り出すパーツ選択部と、
    前記編集用データに含まれるパーツデータ又は動作制御データに変更を加えるパーツ編集部と、
    前記編集用データに含まれるパーツデータのデータ構成に関する情報である編集用トポロジーデータを生成するとともに、前記編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得部と、
    前記編集用トポロジーデータと前記基礎トポロジーデータとを比較し、比較結果に基づいて、前記パーツ選択部により切り出されたパーツデータに関連する動作制御データ、又は、前記編集用データ内の動作制御データを選択して読み込むパーツ交換処理部と
    を備えることを特徴とするモデリングシステム。
  3. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングシステムであって、
    前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成部と、
    前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理部と、
    前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成部と、
    前記データセット内の任意のパーツに含まれるポリゴンデータを、前記階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する縫合部
    を備えることを特徴とするモデリングシステム。
  4. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングプログラムであって、コンピューターに、
    前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、 前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理ステップと、
    前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと
    任意のパーツデータ及びこのパーツデータに対応する動作制御データを交換用データとして取得するとともに、取得された交換用データに対応するパーツデータ及び動作制御データを、ユーザー操作に基づいて、交換の対象となるモデリングデータから選択し、選択されたパーツデータをそのデータセットから切り出すパーツ選択ステップと、
    前記交換用データに含まれるパーツデータのデータ構成に関する情報である交換用トポロジーデータを取得するとともに、前記交換の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得ステップと、
    前記交換用トポロジーデータと前記基礎トポロジーデータとを比較し、比較結果に基づいて、前記パーツ選択ステップで切り出されたパーツデータに関連する動作制御データ、又は、前記交換用データ内の動作制御データを選択して読み込むパーツ交換処理ステップと
    を備える処理を実行させることを特徴とするモデリングプログラム。
  5. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングプログラムであって、コンピューターに、
    前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、 前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理ステップと、
    前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと、
    ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとして前記データセットから切り出すパーツ選択ステップと、
    前記編集用データに含まれるパーツデータ又は動作制御データに変更を加えるパーツ編集ステップと、
    前記編集用データに含まれるパーツデータデータのデータ構成に関する情報である編集用トポロジーデータを生成するとともに、前記編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得ステップと、
    前記編集用トポロジーデータと前記基礎トポロジーデータとを比較し、比較結果に基づいて、前記パーツ選択ステップで切り出されたパーツデータに関連する動作制御データ、又は、前記編集用データ内の動作制御データを選択して読み込むパーツ交換処理ステップと
    を備える処理を実行させることを特徴とするモデリングプログラム。
  6. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリングプログラムであって、コンピューターに、
    前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、 前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理ステップと、
    前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと、
    前記データセット内の任意のパーツに含まれるポリゴンデータを、前記階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する縫合ステップ
    を備える処理を実行させることを特徴とするモデリングプログラム。
  7. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリング方法であって、
    パーツ生成部が、前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、
    動作管理部が、前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理ステップと、
    データセット生成部が、前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと
    パーツ選択部が、任意のパーツデータ及びこのパーツデータに対応する動作制御データを交換用データとして取得するとともに、取得された交換用データに対応するパーツデータ及び動作制御データを、交換の対象となるモデリングデータから選択し、選択されたパーツデータをそのデータセットから切り出すパーツ選択ステップと、
    基礎データ取得部が、前記交換用データに含まれるパーツデータのデータ構成に関する情報である交換用トポロジーデータを取得するとともに、前記交換の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得ステップと、
    パーツ交換処理部が、前記交換用トポロジーデータと前記基礎トポロジーデータとを比較し、比較結果に基づいて、前記パーツ選択ステップで切り出されたパーツデータに関連する動作制御データ、又は、前記交換用データ内の動作制御データを選択して読み込むパーツ交換処理ステップと
    備えることを特徴とするモデリング方法。
  8. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリング方法であって、
    パーツ生成部が、前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、
    動作管理部が、前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理ステップと、
    データセット生成部が、前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと、
    パーツ選択部が、ユーザー操作に基づいて、編集の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する動作制御データを、編集用データとして前記データセットから切り出すパーツ選択ステップと、
    パーツ編集部が、前記編集用データに含まれるパーツデータ又は動作制御データに変更を加えるパーツ編集ステップと、
    基礎データ取得部が、前記編集用データに含まれるパーツデータの、データ構成に関する情報である編集用トポロジーデータを生成するとともに、前記編集の対象となるモデリングデータのデータ構成に関する情報である基礎トポロジーデータを取得する基礎データ取得ステップと、
    パーツ交換処理部が、前記編集用トポロジーデータと前記基礎トポロジーデータとを比較し、比較結果に基づいて、前記パーツ選択ステップで切り出されたパーツデータに関連する動作制御データ、又は、前記編集用データ内の動作制御データを選択して読み込むパーツ交換処理ステップと
    を備えることを特徴とするモデリング方法。
  9. 仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを生成及び編集するモデリング方法であって、
    パーツ生成部が、前記仮想空間上における所定の2点により定義されるボーンデータを複数連結してスケルトンデータを構成し、前記スケルトンデータに対して関連づけられオブジェクトの外表面をポリゴンによって定義するスキンデータを、位置関係に従ってグループ化し、グループ毎にパーツデータを生成するパーツ生成ステップと、
    動作管理部が、前記各パーツデータの動作に関する情報を動作制御データとして生成する動作管理ステップと、
    データセット生成部が、前記パーツデータ及び動作制御データを、相互の位置関係に基づいた階層構造に従ってデータセットに格納し、前記モデリングデータを生成するデータセット生成ステップと、
    縫合部が、前記データセット内の任意のパーツに含まれるポリゴンデータを、前記階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する縫合ステップ
    を備えることを特徴とするモデリング方法。
JP2014261192A 2014-12-24 2014-12-24 モデリングシステム、モデリングプログラム、及びモデリング方法 Active JP6340313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014261192A JP6340313B2 (ja) 2014-12-24 2014-12-24 モデリングシステム、モデリングプログラム、及びモデリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014261192A JP6340313B2 (ja) 2014-12-24 2014-12-24 モデリングシステム、モデリングプログラム、及びモデリング方法

Publications (2)

Publication Number Publication Date
JP2016122297A JP2016122297A (ja) 2016-07-07
JP6340313B2 true JP6340313B2 (ja) 2018-06-06

Family

ID=56329062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014261192A Active JP6340313B2 (ja) 2014-12-24 2014-12-24 モデリングシステム、モデリングプログラム、及びモデリング方法

Country Status (1)

Country Link
JP (1) JP6340313B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106075909B (zh) * 2016-07-15 2020-12-08 珠海金山网络游戏科技有限公司 一种游戏换装系统和方法
KR102005492B1 (ko) * 2017-10-31 2019-07-30 에스케이텔레콤 주식회사 3차원 메쉬 데이터 간소화 방법 및 장치
JP7137462B2 (ja) * 2018-12-25 2022-09-14 ピクシブ株式会社 画像処理装置、画像処理方法及び画像処理プログラム
CN112237739A (zh) * 2019-07-17 2021-01-19 厦门雅基软件有限公司 游戏角色渲染方法、装置、电子设备及计算机可读介质
CN111223171A (zh) * 2020-01-14 2020-06-02 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质
JP6818219B1 (ja) * 2020-05-29 2021-01-20 株式会社PocketRD 3次元アバター生成装置、3次元アバター生成方法及び3次元アバター生成プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5232129B2 (ja) * 2009-11-24 2013-07-10 日本放送協会 仮想キャラクタ生成装置及び仮想キャラクタ生成プログラム

Also Published As

Publication number Publication date
JP2016122297A (ja) 2016-07-07

Similar Documents

Publication Publication Date Title
JP6340313B2 (ja) モデリングシステム、モデリングプログラム、及びモデリング方法
KR102173900B1 (ko) 의복 디자인 생성 방법 및 시스템과 이를 위한 통합 애플리케이션 프로그램
US7663648B1 (en) System and method for displaying selected garments on a computer-simulated mannequin
JP6574401B2 (ja) モデリング制御システム、モデリング制御方法、及びモデリング制御プログラム
WO2015129353A1 (ja) 仮想試着システム、仮想試着プログラム、仮想試着方法および仮想試着プログラムを記憶した記憶媒体
US11631229B2 (en) Comparative virtual asset adjustment systems and methods
US20090079743A1 (en) Displaying animation of graphic object in environments lacking 3d redndering capability
US20110166682A1 (en) Automated generation of garment construction specification
US9235320B2 (en) Phantom image data bank (3D)
JP2011209887A (ja) アバター作成方法、アバター作成プログラム、およびネットワークサービスシステム
US20190026397A1 (en) Highly Custom and Scalable Design System and Method for Articles of Manufacture
US20190026810A1 (en) Highly Custom and Scalable Design System and Method for Articles of Manufacture
US20190026809A1 (en) Highly Custom and Scalable Design System and Method for Articles of Manufacture
CN104933697A (zh) 图像处理设备、图像处理系统以及图像处理方法
JP6791530B1 (ja) 3dデータシステム、サーバ及び3dデータ処理方法
Liu Computer 5G virtual reality environment 3D clothing design
US9607441B2 (en) Morphological attractor for creating custom ancestors in inheritance-based character generation
JP2001222568A (ja) 服飾デザインのための三次元検証と衣服試作可能なシステム
WO2018081732A1 (en) Portable and persistent virtual identity systems and methods
Brownridge et al. Body scanning for avatar production and animation
US10769860B2 (en) Transferrable between styles virtual identity systems and methods
CN114912574A (zh) 角色面部表情拆分方法、装置、计算机设备及存储介质
CN116982088A (zh) 贴合底层身体和/或服装层的分层服装
JP2021043987A (ja) 3dデータシステム、サーバ及び3dデータ処理方法
WO2024069944A1 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161219

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20171124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180514

R150 Certificate of patent or registration of utility model

Ref document number: 6340313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250