(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】プログラム及び仮想モデル生成制御装置
(51)【国際特許分類】
G06T 13/40 20110101AFI20240612BHJP
A63F 13/79 20140101ALI20240612BHJP
A63F 13/60 20140101ALI20240612BHJP
A63F 13/655 20140101ALI20240612BHJP
A63F 13/213 20140101ALI20240612BHJP
【FI】
G06T13/40
A63F13/79
A63F13/60
A63F13/655
A63F13/213
(21)【出願番号】P 2020061659
(22)【出願日】2020-03-30
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100124682
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100104710
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【氏名又は名称】井上 一
(72)【発明者】
【氏名】薄井 宏太郎
(72)【発明者】
【氏名】塚中 健介
(72)【発明者】
【氏名】江田 烈
(72)【発明者】
【氏名】安永 亮彦
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2008-033521(JP,A)
【文献】ITmedia,「ガンプラバトル」が現実に バンダイ、3Dスキャナでガンプラをゲームに取り込む,[online],2018年07月21日,[検索日:2021.04.23], https://www.itmedia.co.jp/news/articles/1807/21/news017.html
【文献】ファミ通.com,『ガンダムブレイカー』PS3用体験版“BETA版”配信決定! “BETA版”をもとにゲーム内容を紹介,[online],2013年03月11日,[検索日:2024.02.01], https://www.famitsu.com/news/201303/11030026.html
【文献】フリー百科事典『ウィキペディア(Wikipedia)』,ガンダムブレイカー,[online],2013年,[検索日:2024.02.01], https://ja.wikipedia.org/wiki/ガンダムブレイカー
【文献】ぷげら,[ガンブレ3]メイン武器攻撃モーション一覧まとめ/モーションの違いとは[ガンダムブレイカー3攻略],[online],2016年03月07日,[検索日:2024.02.01], https://pgr.hatenablog.com/entry/2016/03/07/084719
【文献】ガンプラ原人SD,[ガンプラバトルラボラトリー]ガンダムベース東京行ってきた GBFの世界は近いかもしれない [GUMPLA Battle Laboratory],YouTube[online][video],2018年07月21日,[検索日:2021.04.23], https://www.youtube.com/watch?v=aZtX7FdmktQ
【文献】ヒカリナチャンネルEX,主人公の腕が伸びるという新しすぎる発想のゲーム!![ゆっくり実況プレイ][任天堂スイッチ/ARMS],YouTube[online][video],2017年06月03日,[検索日:2021.04.23], https://www.youtube.com/watch?v=OA6q_XY3zQk
【文献】Naotin TV,[NEWガンブレ]一番おススメするバックパックはこれだ!NEWガンダムブレイカー[naotin],YouTube[online][video],2018年06月30日,[検索日:2024.02.01], https://www.youtube.com/watch?v=Rf9vlPxlRS8,特に9:00~10:30
【文献】enterbrain mook ARCADIA EXTRA Vol.40 機動戦士ガンダム 戦場の絆 VICTORY MANUAL 初版,日本,株式会社エンターブレイン 浜村 弘一,2007年03月12日,第1,4,7,36-87,89,165頁
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 13/40
A63F 13/79
A63F 13/60
A63F 13/655
A63F 13/213
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムを、
関節構造を有する被写体モデルを撮影した撮影データに基づいて
、前記被写体モデルの被写体カラーリングを品評するカラーリング品評手段、
前記撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段、
前記撮影データに基づく画像認識処理を行うことで、所与の基礎ゲームパラメータ値が設定された複数の候補モデルの中から前記被写体モデルに適合する適合候補モデルを選択する適合候補モデル選択手段、
前記適合候補モデルの関節構造を適用関節構造として前記仮想モデル
に適用する適用手段、
1)所与のゲームのゲーム空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータ
である前記モデルデータ
および前記適用関節構造のデータと
、2)前記仮想モデルのゲームパラメータ値と、を決定して仮想モデル管理データ
に含めて所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段、
前記ゲームに係るプレーヤのプレーヤ情報を取得するプレーヤ情報取得手段、
として機能させ、
前記仮想モデル管理データ記憶制御手段は、前記適合候補モデルに設定された前記基礎ゲームパラメータ値を前記カラーリング品評手段の品評結果に基づいてアレンジして前記ゲームパラメータ値を決定し、
前記モデルデータ生成手段は、
前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づいて、
前記被写体カラーリングを少なくとも含むカラーリングの選択肢を前記プレーヤに提示し、前記プレーヤの選択操作に基づいて前記仮想モデルに適用する適用カラーリングを決定するカラーアレンジ手段、
を有する、
プログラム。
【請求項2】
コンピュータシステムを、
関節構造を有する被写体モデルを撮影した撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段、
前記仮想モデルに所与の適用関節構造を適用する適用手段、
所与のゲームのゲーム空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、前記モデルデータと前記適用関節構造のデータとを含む仮想モデル管理データを、所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段、
前記ゲームに係るプレーヤの
レベル又は所属チームの情報を取得する
情報取得手段、
として機能させ、
前記モデルデータ生成手段は、前記
情報取得手段により取得された
前記情報に基づいて、前記適用関節構造に従った動作別のモーションをアレンジして前記仮想モデルに適用するモーションを設定する動作アレンジ手段、
を有する、
プログラム。
【請求項3】
前記仮想モデル管理データに基づき、前記ゲーム空間に前記仮想モデルを配置して動作させる仮想モデル制御手段、
として前記コンピュータシステムを更に機能させ、
前記仮想モデル制御手段は、前記適用関節構造に係る関節を前記動作アレンジ手段により設定されたモーションに基づいて動作させることで前記仮想モデルを制御するモーション制御手段、を有する、
請求項2に記載のプログラム。
【請求項4】
前記モーション制御手段は、前記動作アレンジ手段により設定されたモーションに基づく前記仮想モデルの動作制御によって、前記適用関節構造に係る関節の可動および当該関節の変形を制御する、
請求項3に記載のプログラム。
【請求項5】
前記仮想モデル制御手段は、前記適用関節構造に係る関節の動作限界を設定する動作限界設定手段、を有し、
前記モーション制御手段は、前記動作限界設定手段により設定された動作限界の範囲で関節の動作制御を行う、
請求項3又は4に記載のプログラム。
【請求項6】
前記仮想モデル制御手段は、前記仮想モデルを部分的に伸縮させる伸縮制御手段、を有する、
請求項3~5の何れか一項に記載のプログラム。
【請求項7】
前記仮想モデルは、分離可能パーツを有し、
前記仮想モデル制御手段は、前記仮想モデルから前記分離可能パーツを分離させる分離制御手段、を有する、
請求項3~6の何れか一項に記載のプログラム。
【請求項8】
前記仮想モデル制御手段は、前記分離可能パーツと交換可能な所与の別パーツを、前記分離制御手段により分離された前記分離可能パーツの代わりに前記仮想モデルに接続させる交換接続制御手段、を有する、
請求項7に記載のプログラム。
【請求項9】
コンピュータシステムを、
関節構造を有する被写体モデルを撮影した撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段、
前記撮影データに基づく画像認識処理を行うことで、複数の候補モデルの中から前記被写体モデルに適合する適合候補モデルを選択する適合候補モデル選択手段、
前記適合候補モデルの関節構造を適用関節構造として前記仮想モデル
に適用する適用手段、
所与のゲームのゲーム空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、前記モデルデータと前記適用関節構造のデータとを含む仮想モデル管理データを、所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段、
前記ゲームに係るプレーヤのプレーヤ情報を取得するプレーヤ情報取得手段、
として機能させ、
前記候補モデルには、当該候補モデルに付加可能な複数の付加可能付属オブジェクトが設定されており、
前記モデルデータ生成手段は、
前記適合候補モデルに設定された複数の付加可能付属オブジェクトの中から、前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づい
て付属オブジェクトを
選択して前記仮想モデルに付加することでアレンジした前記モデルデータを生成する、
プログラム。
【請求項10】
前記被写体モデルは、所与の著作物に登場するキャラクタを模した組立玩具であり、
前記撮影データに基づいて前記組立玩具たる前記被写体モデルを品評する品評手段、
として前記コンピュータシステムを機能させ、
前記モデルデータ生成手段は、
前記適合候補モデルに設定された複数の付加可能付属オブジェクトの中から、前記プレーヤ情報および前記品評手段による品評結果に基づいて
前記付属オブジェクトを
選択する、
請求項9に記載のプログラム。
【請求項11】
前記品評手段による品評結果に基づいて前記仮想モデルの前記ゲームに係るゲームパラメータ値を設定するゲームパラメータ値設定手段、
として前記コンピュータシステムを機能させ、
前記仮想モデル管理データ記憶制御手段は、前記ゲームパラメータ値を前記仮想モデル管理データに更に含める、
請求項10に記載のプログラム。
【請求項12】
前記モデルデータ生成手段は、前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づいて、
選択可能な前記
付加可能付属オブジェクトの選択肢を前記プレーヤに提示し、当該プレーヤの選択操作に基づいて
前記付属オブジェクトを
選択する、
請求項9~11の何れか一項に記載のプログラム。
【請求項13】
前記撮影データは、前記被写体モデルを多方向から撮影した全周撮影のデータであり、
前記モデルデータ生成手段は、前記撮影データに基づいて、3次元の前記仮想モデルを構成するためのモデルデータを生成する、
請求項1~12の何れか一項に記載のプログラム。
【請求項14】
複数の候補モデルの中から、撮影した前記被写体モデルに適合する前記候補モデルを選択する候補モデル選択手段、
として前記コンピュータシステムを更に機能させ、
前記適用手段は、前記候補モデル選択手段により選択された前記候補モデルに対応する適用関節構造候補を選択して、前記適用関節構造として適用する、
請求項
2~
8の何れか一項に記載のプログラム。
【請求項15】
前記候補モデル選択手段は、前記撮影データに基づく画像認識処理を行うことで、前記複数の候補モデルの中から、撮影した前記被写体モデルに適合する前記候補モデルを選択する、
請求項14に記載のプログラム。
【請求項16】
前記適用手段は、前記仮想モデルの関節部位に基づいて前記適用関節構造を適用する、
請求項1~15の何れか一項に記載のプログラム。
【請求項17】
関節構造を有する被写体モデルを撮影した撮影データに基づいて
、前記被写体モデルの被写体カラーリングを品評するカラーリング品評手段と、
前記撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段と、
前記撮影データに基づく画像認識処理を行うことで、所与の基礎ゲームパラメータ値が設定された複数の候補モデルの中から前記被写体モデルに適合する適合候補モデルを選択する適合候補モデル選択手段、
前記適合候補モデルの関節構造を適用関節構造として前記仮想モデル
に適用する適用手段と、
1)所与のゲームのゲーム空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータ
である前記モデルデータ
および前記適用関節構造のデータと
、2)前記仮想モデルのゲームパラメータ値と、を決定して仮想モデル管理データ
に含めて所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段と、
前記ゲームに係るプレーヤのプレーヤ情報を取得するプレーヤ情報取得手段と、
を備え、
前記仮想モデル管理データ記憶制御手段は、前記適合候補モデルに設定された前記基礎ゲームパラメータ値を前記カラーリング品評手段の品評結果に基づいてアレンジして前記ゲームパラメータ値を決定し、
前記モデルデータ生成手段は、
前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づいて、
前記被写体カラーリングを少なくとも含むカラーリングの選択肢を前記プレーヤに提示し、前記プレーヤの選択操作に基づいて前記仮想モデルに適用する適用カラーリングを決定するカラーアレンジ手段、
を有する、
仮想モデル生成制御装置。
【請求項18】
関節構造を有する被写体モデルを撮影した撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段と、
前記仮想モデルに所与の適用関節構造を適用する適用手段と、
所与のゲームのゲーム空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、前記モデルデータと前記適用関節構造のデータとを含む仮想モデル管理データを、所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段と、
前記ゲームに係るプレーヤの
レベル又は所属チームの情報を取得する
情報取得手段と、
を備え、
前記モデルデータ生成手段は、前記
情報取得手段により取得された
前記情報に基づいて、前記適用関節構造に従った動作別のモーションをアレンジして前記仮想モデルに適用するモーションを設定する動作アレンジ手段、
を有する、
仮想モデル生成制御装置。
【請求項19】
関節構造を有する被写体モデルを撮影した撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段と、
前記撮影データに基づく画像認識処理を行うことで、複数の候補モデルの中から前記被写体モデルに適合する適合候補モデルを選択する適合候補モデル選択手段と、
前記適合候補モデルの関節構造を適用関節構造として前記仮想モデル
に適用する適用手段と、
所与のゲームのゲーム空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、前記モデルデータと前記適用関節構造のデータとを含む仮想モデル管理データを、所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段と、
前記ゲームに係るプレーヤのプレーヤ情報を取得するプレーヤ情報取得手段と、
を備え、
前記候補モデルには、当該候補モデルに付加可能な複数の付加可能付属オブジェクトが設定されており、
前記モデルデータ生成手段は、
前記適合候補モデルに設定された複数の付加可能付属オブジェクトの中から、前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づい
て付属オブジェクトを
選択して前記仮想モデルに付加することでアレンジした前記モデルデータを生成する、
る仮想モデル生成制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムに仮想モデルを生成・制御させるためのプログラム等に関する。
【背景技術】
【0002】
撮影した画像のデータから被写体のデジタルデータを生成する技術が知られている。例えば、被写体を撮影した画像を用いてコンピュータグラフィックス用の3D仮想モデルを生成し、撮影した画像から当該3D仮想モデルに用いるテクスチャを生成する技術がある(例えば、特許文献1、特許文献2を参照)。また、建物を含む風景を撮影した画像を用いて、景観モデルを生成する技術も知られるところである(例えば、特許文献3を参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2001-108421号公報
【文献】特開2003-065736号公報
【文献】特開平11-339074号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンピュータグラフィックス用の3D仮想モデルの代表的な利用形態はビデオゲームである。ビデオゲームの中には、マンガやアニメといった著作物を原作とし、その登場キャラクタ(人間、ロボット、兵器、仮想生物、乗り物、などを含む意)をプレーヤキャラクタとして使用できるものがある。そうしたゲームでは、プレーヤは、原作に登場する様々なキャラクタの中から、好みのキャラクタを選択してゲームをプレイする。
【0005】
一方で、玩具の世界では、ゲームと同じ原作に基づく組立玩具(例えば、組み立てプラスチックモデルなど)が販売されており、当該原作のファンは、組立玩具を組み立て、眺め、そして人形ごっこのようにして遊ぶ。そうしたファンの中には、組立玩具のカラーリング(着色)に、原作中のカラーリングとは異なるオリジナルの配色をして楽しむ者もいる。
【0006】
しかし、従来のビデオゲームにおけるキャラクタのカラーリングは、原作通りのそれに限定されるか、幾つかのバリエーションが提供されるに過ぎず、ユーザオリジナルのカラーリングでゲームプレイすることはできなかった。
【0007】
こうした要望は、ビデオゲームの分野に限らず、ジオラマや都市計画、博物資料、住宅建築シミュレーション、などその他の分野においても同様である。
【0008】
本発明が解決しようとする課題は、ユーザが独自に用意したモノを、コンピュータグラフィックス用の仮想空間中に仮想的に配置して、当該モノをコンピュータグラフィックス内に登場させ得る技術を提供すること、である。
【課題を解決するための手段】
【0009】
上記した課題を解決するための第1の発明は、コンピュータシステムを、関節構造を有する被写体モデルを撮影した撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段(例えば、
図17のサーバ処理部200s、モデルデータ生成部210、
図20の撮影データ661、
図16の仮想モデル管理データ610の統合仮想モデルデータ611、
図23のステップS10)、
前記仮想モデルに所与の適用関節構造を適用する適用手段(例えば、
図17のサーバ処理部200s、モデルデータ生成部210、
図18の適用部216、
図16の統合ボーンデータ612、
図23のステップS12)、
所与の仮想空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、前記モデルデータと前記適用関節構造のデータとを含む仮想モデル管理データを、所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段(例えば、
図17のサーバ処理部200s、モデルデータ生成部210、
図18の仮想モデル管理データ記憶制御部246、
図23のステップS40)、として機能させるためのプログラムである。
【0010】
ここで言う「コンピュータシステム」は、単数のコンピュータは勿論、複数のコンピュータが連携して実現されるものでもよい。また、「被写体モデルを模倣」とは、撮影された外観と全く同じ或いは原作デザインと全く同じ外観を有するという意味に限らず、デフォルメや一部デザインの変更も含む意味である。
【0011】
第1の発明によれば、コンピュータシステムは、被写体モデルを撮影し、撮影した画像から仮想モデルを生成して、それを記憶又は外部出力することができる。よって、仮想モデル管理データを用いて、ユーザが独自にカラーリングしたモノを、コンピュータグラフィックス用の仮想空間中に仮想的に配置して、当該モノをコンピュータグラフィックス内に登場させることが可能になる。
【0012】
第2の発明は、前記撮影データが、前記被写体モデルを多方向から撮影した全周撮影のデータであり、前記モデルデータ生成手段は、前記撮影データに基づいて、3次元の前記仮想モデルを構成するためのモデルデータを生成する、第1の発明のプログラムである。
【0013】
第2の発明によれば、ユーザが用意したモノの全周を撮影し、どの方向から見ても当該モノであるとわかる立体の仮想モデルのモデルデータを生成できる。
【0014】
第3の発明は、複数の候補モデルの中から、撮影した前記被写体モデルに適合する前記候補モデルを選択する候補モデル選択手段(例えば、
図18の候補モデル選択部214、
図8の候補モデル定義データ521、
図23のステップS8)、として前記コンピュータシステムを更に機能させ、前記適用手段は、前記候補モデル選択手段により選択された前記候補モデルに対応する前記適用関節構造候補を選択して、前記適用関節構造として適用する、第1又は第2の発明のプログラムである。
【0015】
第3の発明によれば、コンピュータシステムは、予め用意されている複数の候補モデルのなかから、撮影された被写体モデルに適合する候補モデルを選択できる。そして、適合した候補モデルそれぞれに用意されている適用関節構造候補を、撮影された被写体モデルの仮想モデルに適用する適用関節構造とすることができる。よって、コンピュータシステムは、被写体モデルの種類や、外観的特徴が予め想定される場合に、適切な仮想モデルを速やかに生成・設定することができる。
【0016】
第4の発明は、前記候補モデル選択手段が、前記撮影データに基づく画像認識処理を行うことで、前記複数の候補モデルの中から、撮影した前記被写体モデルに適合する前記候補モデルを選択する、第3の発明のプログラムである。
【0017】
第4の発明によれば、コンピュータシステムは、画像認識処理により候補モデルの選択をして仮想モデルを生成できる。そのため、短時間で仮想モデルを生成することができる。
【0018】
第5の発明は、前記適用手段が、前記仮想モデルの関節部位に基づいて前記適用関節構造を適用する、第1~第4の何れかの発明のプログラムである。
【0019】
第5の発明によれば、コンピュータシステムは、仮想モデルの立体構造に適切に適用関節構造を設定できる。
【0020】
第6の発明は、前記仮想空間が所与のゲーム空間であり、前記ゲームに係るプレーヤのプレーヤ情報を取得するプレーヤ情報取得手段(例えば、
図18のプレーヤ情報取得制御部220、
図16のプレーヤ情報602、
図23のステップS18)、として前記コンピュータシステムを更に機能させ、前記モデルデータ生成手段は、前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づいて前記仮想モデルをアレンジした前記モデルデータを生成する(例えば、
図23のステップS30~S38)、第1~第5の何れかの発明のプログラムである。
【0021】
「プレーヤ情報」とは、プレーヤ別に管理される情報である。例えば、ユーザアカウント、プレイ成績に応じてプレーヤの技量を示す指標として付与されるプレーヤレベル、ゲームの進行状況を記述する各種データ、などをプレーヤ情報とすることができる。
【0022】
第6の発明によれば、コンピュータシステムは、ユーザが用意した被写体オブジェクトの仮想モデルをゲーム空間内に配置して制御できる。つまり、被写体オブジェクトの仮想モデルを使ったビデオゲームを提供できる。加えて、コンピュータシステムは、ユーザのプレーヤ情報に基づいて仮想モデルをアレンジできる。よって、ユーザにとってみれば、自分が用意した被写体がゲーム内に登場することに加えて、更にゲームの楽しさが増えることになる。
【0023】
第7の発明は、前記モデルデータ生成手段が、前記プレーヤ情報取得手段により取得されたプレーヤ情報に基づく前記仮想モデルのアレンジの選択肢を前記プレーヤに提示し、当該プレーヤの選択操作に基づいて前記仮想モデルをアレンジした前記モデルデータを生成する(例えば、プレーヤ情報条件533を含む使用許可要件532が満たされたプリセットカラーリング定義データ530の使用可能プリセットカラーリングリスト665への登録、
図23のステップS30)、第6の発明のプログラムである。
【0024】
第7の発明によれば、コンピュータシステムは、プレーヤにアレンジの選択の自由を与えることができる。
【0025】
アレンジの対象は、ゲーム内容等に応じて適宜設定可能である。
例えば、第8の発明として、前記アレンジが、前記仮想モデルのカラーリングを少なくとも含む(例えば、
図16の適用カラーリングデータ615、
図23のステップS30)、第6又は第7の発明のプログラム、を構成してもよい。
【0026】
また、第9の発明として、前記アレンジが、前記ゲーム空間における前記仮想モデルの動作制御の基準となるパラメータ値(例えば、
図16の動作区分別統合モーションデータ616)を少なくとも含む、第6~第8の何れかの発明のプログラム、を構成してもよい。
【0027】
「動作制御の基準となるパラメータ値」は、例えば、仮想モデルのモーションデータや、モーションデータの実行に際して参照され再現される動作内容に影響を与える値(例えば、モーションの再生速度、動作限界、など)、を含む。
【0028】
また、第10の発明として、前記アレンジが、前記仮想モデルの前記ゲームに係るゲームパラメータ値(例えば、
図16の部位別適用パラメータ値設定データ617、
図23のステップS38)を少なくとも含む、第6~第9の何れかの発明のプログラムを構成してもよい。
【0029】
「仮想モデルのゲームに係るゲームパラメータ値」とは、仮想モデルに適用され、ゲーム進行に影響するパラメータ値である。例えば、仮想モデルのキャラクタの能力を定めるパラメータ値、モーションデータの実行に際して参照され再現される動作内容に影響を与える値(例えば、モーションの再生速度、動作限界、など)などがこれに該当する。
【0030】
第11の発明は、前記被写体モデルが、所与の著作物に登場するキャラクタを模した組立玩具であり、前記撮影データに基づいて前記組立玩具たる前記被写体モデルを品評する品評手段(例えば、
図18の品評部222、
図23のステップS20)、前記品評手段による品評結果に基づいて前記仮想モデルの前記ゲームに係るゲームパラメータ値を設定するゲームパラメータ値設定手段(例えば、
図18のゲームパラメータ値アレンジ部245、
図16の部位別適用パラメータ値設定データ617、
図23のステップS38)、として前記コンピュータシステムを機能させ、前記仮想モデル管理データ記憶制御手段は、前記ゲームパラメータ値を前記仮想モデル管理データに更に含める、第6~第10の何れかの発明のプログラムである。
【0031】
第11の発明によれば、コンピュータシステムは、被写体モデルの組立玩具としての出来栄えを評価し、品評結果に応じて、仮想モデルを使ったゲームプレイに適用されるゲームパラメータ値を設定することができる。
【0032】
第12の発明は、前記仮想モデル管理データに基づき、前記仮想空間に前記仮想モデルを配置して動作させる仮想モデル制御手段(例えば、
図17の仮想モデル制御部251、
図24のステップS62)、として前記コンピュータシステムを更に機能させ、前記仮想モデル制御手段は、前記適用関節構造に係る関節を所与のモーションデータに基づいて動作させることで前記仮想モデルを制御するモーション制御手段(例えば、
図17のモーション制御部252)、を有する、第1~第11の何れかの発明のプログラムである。
【0033】
第12の発明によれば、コンピュータシステムは、仮想モデル管理データに基づいて、当該仮想モデルの動作を制御できる。
【0034】
第13の発明は、前記モーション制御手段が、前記モーションデータに基づく前記仮想モデルの動作制御によって、前記適用関節構造に係る関節の可動および当該関節の変形を制御する、第12の発明のプログラムである。
【0035】
第13の発明によれば、例えば、そもそも関節構造としてモデル化されていない場合(例えば、手袋のような構造)であっても、コンピュータシステムは、仮想モデルの動作を適用関節構造に係る関節に相当する部位の可動および当該関節の変形の制御をすることで、仮想モデルにモーションデータの示す動作を実現できる。例えば、仮想モデルが手袋(ビニール手袋や手編みの手袋など)の様な構造では、そもそも何処を関節にするかは決まっていない。しかし、使用者(手指の長さつまり関節感距離は個性がある。)が手袋を装着して手を動かせば、手の関節に対応する部位が使用者に応じて変化し、手袋を構成している布等が当該関節箇所で可動や変形をして、手の動きに追従する。第13の発明によれば。それと同じような事が実現できる。
【0036】
第14の発明は、前記仮想モデル制御手段が、前記適用関節構造に係る関節の動作限界を設定する動作限界設定手段(例えば、
図17の動作限界制御部253)、を有し、前記モーション制御手段は、前記動作限界設定手段により設定された動作限界の範囲で前記モーションデータに基づく関節の動作制御を行う、第12又は第13の発明のプログラムである。
【0037】
第14の発明によれば、コンピュータシステムは、仮想モデルのモーション制御を動作限界の範囲内で行うことができる。
【0038】
第15の発明は、前記仮想モデル制御手段が、前記仮想モデルを部分的に伸縮させる伸縮制御手段(例えば、
図17の伸縮制御部254)、を有する、第12~第14の何れかの発明のプログラムである。
【0039】
第15の発明によれば、コンピュータシステムは、仮想モデルを動作制御する際に、仮想モデルを部分的に伸縮させるように制御できる。
【0040】
第16の発明は、前記仮想モデルが、分離可能パーツを有し、前記仮想モデル制御手段は、前記仮想モデルから前記分離可能パーツを分離させる分離制御手段(例えば、
図17の分離制御部255)、を有する、第12~第15の何れかの発明のプログラムである。
【0041】
第16の発明によれば、コンピュータシステムは、仮想モデルを動作制御する際に、その一部を分離させた状態で制御できる。
【0042】
第17の発明は、前記仮想モデル制御手段が、前記分離可能パーツと交換可能な所与の別パーツを、前記分離制御手段により分離された前記分離可能パーツの代わりに前記仮想モデルに接続させる交換接続制御手段(例えば、
図17の交換接続制御部256)、を有する、第16の発明のプログラムである。
【0043】
第17の発明によれば、コンピュータシステムは、分離可能パーツに代えて別パーツを仮想モデルに接続させることができる。
【0044】
第18の発明は、関節構造を有する被写体モデルを撮影した撮影データに基づいて、前記被写体モデルを模倣した仮想モデルのモデルデータを生成するモデルデータ生成手段と、前記仮想モデルに所与の適用関節構造を適用する適用手段と、所与の仮想空間に前記モデルデータに基づく前記仮想モデルを配置し、前記適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、前記モデルデータと前記適用関節構造のデータとを含む仮想モデル管理データを、所定の記憶部に記憶させる或いは外部出力する仮想モデル管理データ記憶制御手段と、を備える仮想モデル生成制御装置(例えば、
図1のサーバシステム1100)である。
【0045】
第18の発明によれば、第1の発明と同様の効果を奏する仮想モデル生成制御装置を実現できる。
【図面の簡単な説明】
【0046】
【
図4】組立玩具のパッケージについて説明するための図。
【
図5】プレーヤ別の組立玩具の例について説明する図。
【
図6】撮影データに基づく組立玩具の部位の認識について説明するための図。
【
図7】組立玩具の部位の認識結果に基づく候補モデルの選択と、仮想モデルのモデルデータの生成と適用関節構造の選択について説明するための図。
【
図8】候補モデル定義データのデータ構成例を示す図。
【
図9】プリセットカラーリング定義データのデータ構成例と、仮想モデルのカラーリングのアレンジについて説明するための図。
【
図11】被写体カラーリングデータの生成について説明するための図。
【
図12】部位モーション定義データのデータ構成例と、モーションのアレンジについて説明するための図。
【
図13】分離可能パーツや伸縮パーツの設定について説明するための図。
【
図14】パラメータ値アレンジ定義データのデータ構成例と、パラメータ値のアレンジについて説明する図。
【
図15】装備品候補データのデータ構成例と、付属品を示す図。
【
図16】ユーザ管理データのデータ構成例を示す図。
【
図17】第1実施形態におけるサーバシステムの機能構成例を示す機能ブロック図。
【
図18】モデルデータ生成部の機能構成例を示す機能ブロック図。
【
図19】第1実施形態におけるサーバ記憶部が記憶するプログラムやデータの例を示す図。
【
図20】仮想モデル生成制御データのデータ構成例を示す図。
【
図22】第1実施形態におけるプレーヤ端末の機能構成例を示す機能ブロック図。
【
図23】仮想モデル管理データ生成処理の流れを説明するためのフローチャート。
【
図24】ゲーム管理処理の流れを説明するためのフローチャート。
【
図25】第2実施形態におけるサーバシステムの機能構成例を示す図。
【
図26】第2実施形態のサーバ記憶部に記憶されるプログラムやデータの例を示す図。
【
図27】第2実施形態におけるプレーヤ端末の機能構成例を示す機能ブロック図
【
図28】自由モデル定義データのデータ構成例を示す図。
【
図29】フォトグラメトリによる仮想モデルの生成について説明するための図。
【発明を実施するための形態】
【0047】
以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
【0048】
〔第1実施形態〕
図1は、ゲームシステムの構成例を示す図である。
ゲームシステム1000は、ネットワーク9を介して相互にデータ通信が可能に接続されたサーバシステム1100と、プレーヤ端末1500(1500a,1500b,…)とを含む。
図1中、プレーヤ端末1500(1500a,1500b,…)を2台のみ描いているが、実際のシステム運用においては、更に多くのプレーヤ端末1500がサーバシステム1100にアクセス可能である。
【0049】
ゲームシステム1000は、プレーヤ端末1500を使用するユーザであるプレーヤ2(2a,2b,…)に向けて、オンラインゲームを提供するコンピュータシステムである。勿論、ゲームシステム1000は、その他のサービスの提供を行ってもよい。
【0050】
ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0051】
サーバシステム1100は、例えば本体装置1101と、キーボード1106と、タッチパネル1108と、全周撮影装置1130と、ストレージ1140と、を有し、本体装置1101に制御基板1150を搭載するコンピュータシステムである。そして、サーバシステム1100は、プレーヤ2が集まり得る場所、例えば、おもちゃ屋などの店舗、ゲームセンター、イベント会場などに設置される。
【0052】
図2は、全周撮影装置1130の構成例を示す図である。
全周撮影装置1130は、プレーヤ2(2a,2b,…)が組み立ててカラーリング(ペイント、デカールの貼り付け、などの表面着色や表面装飾)した組立玩具3(3a,3b,…)を被写体モデルとして全周撮影する装置である。全周撮影装置1130は、ターンテーブル1131と、カメラ1132と、カメラ支持装置1133と、を有し、制御基板1150により動作制御される。
【0053】
ターンテーブル1131は、上下方向の回転軸で枢支された被写体を固定するための可動台座であり、制御基板1150により回転制御される。
【0054】
カメラ1132は、カラーによるデジタル撮影を行う装置である。撮影されたデータ(撮影データ:画像データ)は、サーバシステム1100にて記憶される。
【0055】
カメラ支持装置1133は、カメラ1132を支持するとともに撮影位置と撮影姿勢を変更するための装置であって、制御基板1150により動作制御される。カメラ支持装置1133は、例えば昇降器1134にリモコン雲台1135を搭載して実現される。
【0056】
なお、全周撮影装置1130の構成はこれに限らず、適宜設定可能である。例えば、複数の固定カメラで被写体の全周を撮影可能に構成するならば、ターンテーブル1131やカメラ支持装置1133は省略できる。
【0057】
図1に戻って、制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。
【0058】
そして、サーバシステム1100は、制御基板1150が所定のプログラム及びデータに基づいて演算処理することにより、(1)ユーザ登録等に係る情報を管理するユーザ管理機能と、(2)プレーヤ2が持参した組立玩具3を撮影した撮影データに基づいて、コンピュータグラフィックス用の3D(3-Dimensions:3次元)仮想モデルを生成する仮想モデル生成機能と、(3)ゲーム進行制御するゲーム管理機能と、を実現する。つまり、サーバシステム1100は、仮想モデル生成制御装置として機能し、生成した仮想モデルを用いた一種のクライアント・サーバ型のオンラインゲームを提供するゲームサーバとして機能する。
【0059】
なお、サーバシステム1100を、1台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、サーバシステム1100は、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であっても良い。また、サーバシステム1100を構成するハードウェアの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であっても良い。
【0060】
図3は、プレーヤ端末1500の構成例を示す正面図である。プレーヤ端末1500は、登録手続を経たユーザが、本実施形態のゲームシステム1000を利用するために使用するコンピュータシステムであって、ネットワーク9を介してサーバシステム1100にアクセスできる電子装置(電子機器)である。プレーヤ端末1500は、ユーザがゲームプレイするための装置である。
【0061】
なお、
図3で示すプレーヤ端末1500は、いわゆるスマートフォンと呼ばれる装置であるが、コンピュータであれば、スマートウォッチ、スマートグラスなどのウェアラブルコンピュータや、携帯型ゲーム装置、タブレット型コンピュータ、パソコン、などでもよい。スマートフォンと、当該スマートフォンに通信接続されたスマートウォッチとの組み合わせといった複数の電子機器が通信可能に接続することで1つの機能を果たす場合にはこれらの複数の電子機器を1つのプレーヤ端末1500とみなすことができる。
【0062】
プレーヤ端末1500は、方向入力キー1502と、ボタンスイッチ1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、内蔵バッテリー1509と、スピーカ1510と、マイク1512と、カメラ1520と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、ゲームシステム1000の利用対価等の支払いが可能なICカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きが行えるICカード読取装置などを設けるとしてもよい。
【0063】
制御基板1550は、(1)CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、(2)VRAMやRAM,ROM等の各種ICメモリ1552、(3)ネットワーク9に接続する携帯電話基地局や無線LAN基地局などと無線通信するための無線通信モジュール1553、(4)インターフェース回路1557、などを搭載する。
【0064】
インターフェース回路1557には、(1)タッチパネル1506のドライバ回路、(2)方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、(3)スピーカ1510へ音声信号を出力する出力アンプ回路、(4)マイク1512で集音した音声の信号を生成する入力信号生成回路、(5)カメラ1520で撮影された画像の画像データを入力する回路、(6)メモリカード読取装置1542への信号入出力回路、などが含まれている。
【0065】
制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、プレーヤ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。
【0066】
なお、本実施形態では、プレーヤ端末1500はプログラムや各種の設定データをサーバシステム1100からダウンロードする構成としているが、別途入手したメモリカード1540などの記憶媒体から読み出す構成としても良い。
【0067】
次に、ゲームについて説明する。
本実施形態のゲームは、原作の世界観をモチーフとした内容であって、原作に登場するキャラクタをプレーヤキャラクタとしてプレイするゲームである。以降では、本実施形態のゲームを、プレーヤキャラクタとして選択可能なキャラクタがロボット兵器である対戦ゲームとして説明する。
【0068】
先ず、
図1に示すように、各プレーヤ2(2a,2b,…)は、各々が組み立てたキャラクタの組立玩具3(3a,3b,…)を用意する。組立玩具3は、マンガやアニメ、小説などの原作(所与の著作物)に登場するキャラクタ(原作付きキャラクタ)を模したプラスチックモデルである。
【0069】
図4に示すように、組立玩具3のキットは、キャラクタ別にパッケージ4として販売されている。各パッケージ4(4a,4b,…)には、それぞれ組立玩具3(3a,3b,…)の本体を組み立てるためのパーツと、組立玩具3の本体に着脱可能にデザインされた武器や防具などの装備品5(5a,5b,…)を組み立てるためのパーツとが、入っている。
【0070】
組立玩具3の本体の形状や部位構成は、原作のキャラクタをできるだけ忠実に再現するようにデザインされている。本実施形態の組立玩具3は、概ね人型を有し、頭部及び胴体部からなる本体部31と、右腕部32と、左腕部33と、右脚部34と、左脚部35と、の部位構成とされる。
【0071】
図5に示すように、プレーヤ2(2a,2b,…)は、予めキャラクタのパッケージ4を購入し、プラモデルを組み立ててカラーリングする。
図5(1)のプレーヤ2aの組立玩具3aと、
図5(2)のプレーヤ2bの組立玩具3bとは、同じキャラクタであるがカラーリングが違っている例を示している。なお、必ずしも1つのパッケージ4に入っているパーツから1体の組立玩具3を組み立てなくてもよい。
図5(3)のプレーヤ2cのように、複数のパッケージ4(4a,4b,4c)を購入して、それらに入っているパーツを任意に組み合わせて1体の組立玩具3cを作ることもできる。
【0072】
そして、プレーヤ2は、ゲームをプレイする前に、自分で組み立ててカラーリングした組立玩具3を持ってサーバシステム1100のある店舗等に出向き、全周撮影装置1130で組立玩具3を撮影してもらい、組立玩具3の3D仮想モデル(コンピュータグラフィックス用の仮想モデル)を用意する。
【0073】
図6に示すように、サーバシステム1100は、全周撮影装置1130を制御して、組立玩具3を被写体モデルとして全周撮影し、撮影で得られる単数又は複数の撮影データ661をユーザアカウントと紐付けて記憶する。
【0074】
次に、サーバシステム1100は、撮影データ661から被写体モデルの各部位(本実施形態では、本体部31,右腕部32,左腕部33,右脚部34,左脚部35)が、予め用意されている候補モデルのうち、どれに適合するか(或いは該当するか)を推定する。
【0075】
具体的には、サーバシステム1100は、候補モデル画像認識用辞書ライブラリ510を予め記憶している。当該ライブラリには、本体部用辞書データ511と、左腕用辞書データ512と、右腕用辞書データ513と、左脚用辞書データ514と、右脚用辞書データ515と、が含まれている。サーバシステム1100は、当該ライブラリの辞書データに基づく画像認識によって、組立玩具3の各部位がどの種類の候補モデルに適合するかを判定する。そして、画像認識の結果を、画像認識結果663として記憶する。
【0076】
次に、
図7に示すように、サーバシステム1100は、画像認識結果663が示す被写体モデルの各部位の候補モデル(部分3D仮想モデル)を、候補モデルデータベース520から選択する。つまり、複数の候補モデルの中から、撮影した被写体モデルに適合する候補モデルを選択する。
【0077】
候補モデルデータベース520は、ゲームにてプレーヤキャラクタとして使用可能なキャラクタの各部位をモデリングした3D仮想モデルに係る情報を格納している。具体的には、候補モデルデータベース520は、本体部用・左腕用・右腕用・左脚用・右脚用それぞれの候補モデル定義データ521(521a、521b、…)を含んでいる。仮想モデルの部位の分け方によっては、候補モデル定義データ521の種類分けは適宜設定可能である。
【0078】
1つの候補モデル定義データ521は、例えば
図8に示すように、
(1)固有の候補モデルID522と、
(2)当該候補モデルがゲーム内のどのキャラクタの部位であるかを示すキャラクタ種類523と、
(3)当該候補モデルの部位種類524と、
(4)候補モデルデータ525と、
(5)当該候補モデル用に用意された適用関節構造を定義するボーンデータ526と、
(6)ボーンデータ526によって定義される各ボーンに係る表面を定義し、関節角度に応じてその表面を円滑に変形させるためのスキニングデータ527と、
(7)当該候補モデルに適用可能なカラーリングを定義するプリセットカラーリング定義データ530と、
(8)当該候補モデルに適用される動作制御の基準となる部位モーションを定義する部位モーション定義データ540と、
(9)当該候補モデルに係るパラメータ値の設定について定義するパラメータ値アレンジ定義データ560と、
を含む。勿論、これら以外のデータも適宜含めることができる。
【0079】
候補モデルデータ525は、キャラクタの3D仮想モデルの部位種類524が示す部位のパーツモデルであって、単数又は複数のオブジェクトで構成されている。そして、候補モデルデータ525には、他の部位の候補モデルと連結するためのモデル連結点7が予め定義されている。本実施形態では、プレーヤキャラクタとなり得るキャラクタは人型であり、本体部31に対して右腕部32・左腕部33・右脚部34・左脚部35それぞれが連結される合計4つのモデル連結点7が定義されている。
【0080】
ボーンデータ526は、候補モデルデータ525を構成する各オブジェクトが、候補モデルを動作制御する際に、どのような相対位置関係になるか、その連結関係(相対的な自由度)を定義するデータである。ボーンデータ526には、他の部位のボーンデータと連結するためのボーン連結点8が定義されている。ボーン連結点8は、モデル連結点7に対応している。
【0081】
図7に戻って、サーバシステム1100は、画像認識結果663が示す被写体モデルの各部位の候補モデル(3D仮想モデル)を選択したならば、選択された候補モデルの候補モデルデータ525をモデル連結点7で連結して統合仮想モデルデータ611を作成する。当該データが、撮影された被写体モデルの形状を摸した仮想モデルの1体分の3D仮想モデルデータと言うことになる。
【0082】
また、サーバシステム1100は、画像認識結果663が示す被写体モデルの各部位の候補モデル(3D仮想モデル)を選択したならば、選択された候補モデルのボーンデータ526をボーン連結点8で連結して統合ボーンデータ612を生成する。当該データが、撮影された被写体モデルの形状を摸した仮想モデルの1体分のボーンデータと言うことになる。
【0083】
また、サーバシステム1100は、画像認識結果663が示す被写体モデルの各部位の候補モデル(3D仮想モデル)を選択したならば、選択された候補モデルのスキニングデータ527を、統合仮想モデルデータ611及び統合ボーンデータ612に合わせて統合して統合スキニングデータ613を生成する。当該データが、撮影された被写体モデルの形状を摸した仮想モデルの1体分のスキニングデータと言うことになる。
【0084】
統合仮想モデルデータ611と、統合ボーンデータ612と、統合スキニングデータ613とが生成されることで、被写体モデルの仮想モデルに係る構造的な情報が揃ったことになる。
【0085】
次に、被写体モデルの仮想モデルに係る色について説明する。
図9は、候補モデル定義データ521のプリセットカラーリング定義データ530のデータ構成例を示す図である。プリセットカラーリング定義データ530は、当該候補モデルの部位を有する原作中のキャラクタのカラーリングや、ゲームシステム1000の運営者が許可したカラーリング毎に作成される。
【0086】
1つのプリセットカラーリング定義データ530は、固有のカラーリングID531と、使用許可要件532と、プリセットカラーリングデータ536と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0087】
使用許可要件532は、当該プリセットカラーリングをプレーヤに使用許可するための要件を定義している。使用許可要件532は、プレーヤ情報条件533と、品評得点条件534と、候補モデル組み合わせ条件535と、のAND又はORで記述される。
【0088】
プレーヤ情報条件533は、プレーヤ2に関する情報について満たすべき条件を定義している。例えば、プレーヤレベルの閾値や範囲を設定することができる。その他、所有しているアイテム、プレイ成績、プレイ回数などの情報を条件の項目に用いることができる。
【0089】
品評得点条件534は、撮影データ661に基づいて組立玩具3たる被写体モデルを品評した得点が満たすべき条件を定義している。品評得点は、例えば、
図10に示すように、カラーリングに関する品評得点であるカラーリング得点と、候補モデルの組み合わせに関する品評得点である組み合わせ得点と、の合計で定義される。勿論、品評得点には、これら以外の評価基準に基づく得点や減点を算出要素に含めることができる。カラーリング得点と組み合わせ得点のどちらかのみでもよい。
【0090】
カラーリング得点は、予め用意されているカラーリング得点判定基準データ580に基づいて決定される。カラーリング得点判定基準データ580は、適用要件581別に用意され、当該要件を満たすときに付与される付与カラーリング得点582を対応づけて格納する。
【0091】
カラーリング得点判定基準データ580の適用要件581は、例えばカラーリングに使用されている色リスト、色別面積比率、色別相対位置関係、などを用いて記述される。画像認識用の辞書データを用いてカラーリングを判定し、その判定結果を用いて要件を記述することもできる。例えば、ゲーム内容がロボット兵器を用いた対戦ゲームなどであれば、マルチカム(迷彩)パターンの辞書データに基づいて判定したマルチカムパターンの種類を用いて要件を設定することができる。
【0092】
付与カラーリング得点582は、適宜設定可能であるが、色彩学的に好適とされる配色ほど高得点とすることができる。
【0093】
組み合わせ得点は、組み合わせ得点判定基準データ585に基づいて決定される。組み合わせ得点判定基準データ585は、適用要件586別に予め用意されており、当該要件を満たすときに付与される付与組み合わせ得点587を対応づけて格納する。
【0094】
組み合わせ得点判定基準データ585の適用要件586は、画像認識された被写体モデル各部の候補モデルの種類に付いて満たすべき条件を定義している。よって、当該データは、例えば、本体部種類・左腕種類・右腕種類・左脚種類・右脚種類のリストとして記述される。
【0095】
付与組み合わせ得点587は、適宜設定可能である。
【0096】
図9に戻って、候補モデル組み合わせ条件535は、組立玩具3の仮想モデルが、どの種類の候補モデルで構成されるかについて満たすべき条件、すなわち画像認識結果663(
図7参照)について満たすべき条件を定義している。よって、当該データは、例えば、本体部種類・左腕種類・右腕種類・左脚種類・右脚種類のリストとして記述される。
【0097】
なお、使用許可要件532に含まれるサブ条件(
図9の例では、プレーヤ情報条件533と、品評得点条件534と、候補モデル組み合わせ条件535)の何れも「設定なし」又は「実質的に無制限」とすることもできる。
【0098】
プリセットカラーリングデータ536は、当該候補モデルの外表面の配色パターンを定義するデータである。例えば、テクスチャデータとすることができる。
【0099】
使用許可要件532を満たしたプリセットカラーリング定義データ530のカラーリングID531はリスト化されて、使用可能プリセットカラーリングリスト665としてサーバシステム1100にて記憶される。
【0100】
そして、使用可能プリセットカラーリングリスト665が示すプリセットカラーリングデータ536は、被写体カラーリングデータ614とともに、プレーヤ2に仮想モデルのカラーアレンジの選択肢として提示される。
【0101】
被写体カラーリングデータ614は、撮影データ661から読み取った組立玩具3(被写体モデル)の実際の色そのままのテクスチャデータである。
図11に示すように、サーバシステム1100は、選出された候補モデルの各位置に対応する組立玩具3(被写体モデル)の位置の色情報を、撮影データ661から読み取り、暫定の被写体カラーリングデータを作成する。そして、サーバシステム1100は、暫定の被写体カラーリングデータのうち、撮影不良部分の色を決定して、被写体カラーリングデータ614とする。
【0102】
なお、撮影不良部分の色の決定方法は、適宜設定可能である。例えば、隣接する位置の色をコピーするとしてもよいし、周囲の色から適宜補完した色としてもよい。また、原作中のキャラクタのカラーリングにおいて、撮影不良部分に対応する原作キャラクタの部位を検索し、当該部位の色情報をコピーする、としてもよい。
【0103】
図9に戻って、被写体カラーリングデータ614と、使用可能プリセットカラーリングリスト665にリスト化されたカラーリングと、のなかからプレーヤ2により選択されたカラーリングが、仮想モデルを仮想空間に配置する際に適用される適用カラーリングデータ615としてサーバシステム1100にて記憶される。
【0104】
すなわち、プレーヤ情報に基づく仮想モデルに適用されるカラーリングのアレンジの選択肢をプレーヤ2に提示し、当該プレーヤの選択操作に基づいて仮想モデルをアレンジした当該仮想モデルのデータを生成することができる。
【0105】
次に、被写体モデルの仮想モデルの動作制御の設定について説明する。
図12に示すように、候補モデルそれぞれに部位モーション定義データ540が予め用意されている。部位モーション定義データ540は、固有のモーションID541と、当該モーションがキャラクタの基本動作(例えば、移動、攻撃、防御、…)のどれに区分されるかを示す動作区分542と、当該定義データの使用許可要件543と、部位モーションデータ549と、を格納する。勿論、これら以外のデータも適宜含めることができる。
【0106】
使用許可要件543は、プレーヤ情報条件544と、品評得点条件545と、候補モデル組み合わせ条件546と、被写体モデルに基づく仮想モデルのキャラクタに装備させる装備品5(
図4参照)についての条件である装備品条件548とを、ANDやORで組み合わせて記述される。使用許可要件543は、プリセットカラーリング定義データ530(
図9参照)の使用許可要件532と同様にして記述される。
【0107】
部位モーションデータ549には、当該部位のモーションデータである。
【0108】
サーバシステム1100は、各部位の種類について、使用許可要件543を満たす部位モーション定義データ540の部位モーションデータ549を選出し、部位を横断して同じ動作区分542の部位モーションデータ549を検索し、それらを当該部位のボーン連結点8で連結して統合することで、動作区分別統合モーションデータ616を生成する。
【0109】
なお、
図13に示すように、部位によっては候補モデルでは、候補モデルデータ525(
図8参照)に分離可能パーツや、伸縮パーツを設定することができる。
【0110】
具体的には、「分離可能パーツ」は、当該候補モデルの部位の使用法の1つとして、候補モデルの基部から分離されて、見かけ上は独立的に動作制御される部分である。
【0111】
図13(1)の例では、右腕部32が、肘から肩までの基部パーツ37と、肘から手までの分離可能パーツ38に設定されており、分離可能パーツ38を飛翔制御することで、いわゆる「ロケットパンチ」とすることができる。すなわち、分離可能パーツ38は、攻撃相手に向かって飛翔して体当たりする攻撃媒体となり、攻撃相手に向かって飛翔して、帰還して元の位置に再結合されるようなモーションが部位モーションデータ549で定義されている。なお、複数の分離可能パーツが設定されていて、それらが同形状である場合、又はそれらの連結位置が分離前後で異なっていても何ら問題が生じないのであれば、分離後の再結合時に、結合位置を分離可能パーツ間で交換するようにモーション制御してもよい。
【0112】
「伸縮パーツ」は、弾性体のように伸縮変形可能に取り扱われるパーツである。
図13(2)の例では、右腕部32が伸縮パーツ39として設定されている。ボーンデータ526上は、伸縮パーツ部分に多数の関節で多数のボーンを割り当てておき、部位モーションデータ549では、蛇腹状に折り畳み処理と展開処理をすることで伸縮するモーションが定義されている。或いは、該当する一部のボーンの長さ設定を、一時的に変更することで伸縮させるとしてもよい。
【0113】
次に、被写体モデルの仮想モデルのゲームに係るゲームパラメータ値の設定について説明する。仮想モデルは、プレーヤキャラクタとしてゲームで使用される。よって、仮想モデルには、ゲームに係るゲームパラメータ値が設定される。
【0114】
「ゲームパラメータ値」とは、ゲーム進行制御の際に、当該仮想モデルに係り設定される各種パラメータ値である。例えば、対戦ゲームであれば、耐久力(いわゆるHP)、攻撃力、防御力、移動速度、などがこれに該当する。また、本実施形態では、仮想モデルはプレーヤキャラクタとして使用されるので、そのモーション制御に係るパラメータ値も、ゲームパラメータ値に含まれる。
【0115】
そもそも組立玩具3は、原作に登場するキャラクタの玩具であるから、ゲームパラメータ値の初期値は、当該原作に登場するキャラクタの原作世界における位置付け(相対的にどれだけ強いかなど)に応じて予めゲーム製作者が設定する。
サーバシステム1100は、本体部31(
図4参照)の候補モデルのキャラクタ種類523(
図8参照)をもって、当該組立玩具3が、どの原作に登場するキャラクタであるかを判定し、当該キャラクタの初期値を先ずは採用する。そして、組立玩具3が、他のパッケージ4のパーツを組み合わせて製作可能であることを鑑みて、サーバシステム1100は、初期値に、候補モデルの組み合わせや、プレーヤ情報、組立玩具3の品評結果等に応じたアレンジ(変更)を施して、実際に仮想モデルに適用される部位別適用パラメータ値とする。
【0116】
具体的には、
図14に示すように、候補モデル(仮想モデルの部位別の既存モデルであって被写体モデルを画像認識して仮想モデルの構成用に選択されるモデル)毎に、パラメータ値アレンジ定義データ560が用意されている。1つのパラメータ値アレンジ定義データ560は、適用要件561と、アレンジ内容データ566とを含む。勿論、これら以外のデータも適宜含めることができる。
【0117】
適用要件561は、当該定義データを適用するために満たすべき条件を定義している。適用要件561は、プレーヤ情報条件562と、品評得点条件563と、候補モデル組み合わせ条件564と、装備品条件565とを、ANDやORで組み合わせて記述される。適用要件561は、プリセットカラーリング定義データ530(
図9参照)の使用許可要件532と同様にして記述される。
【0118】
アレンジ内容データ566は、当該パラメータ値アレンジ定義データ560が設定されている候補オブジェクトが選択され、且つ適用要件561が満たされる場合に、どのゲームパラメータ値をどのようにアレンジするかの内容を定義している。例えば、アレンジ内容データ566は、動作速度変更データ567と、動作限界変更データ568と、能力種類別の能力パラメータ値変更データ569と、を含む。
【0119】
動作速度変更データ567は、当該候補オブジェクトのモーションの再生速度の変更を定義している。動作限界変更データ568は、当該候補オブジェクトのボーンデータ526(
図8参照)の関節部の動作限界(例えば、関節の自由度、関節の可動範囲など)の変更を定義している。つまり、これらの変更データは、ゲーム空間における仮想モデルの動作制御の基準となるパラメータ値のアレンジを定義している。
【0120】
能力パラメータ値変更データ569は、仮想モデルのキャラクタのゲーム内での能力を示す能力パラメータ(ゲームパラメータ)毎に用意される。
図14では1つだけ示しているが、複数設定される場合も有る。1つの能力パラメータ値変更データ569は、変更対象とされる能力種類と、変更内容と、を対応付けて格納している。
【0121】
サーバシステム1100は、部位毎に部位別適用パラメータ値設定データ617を作成して、本体部31の候補モデルのキャラクタ種類523の示すキャラクタの初期パラメータ値に初期化する。そして、部位別に、適用要件561が満たされているパラメータ値アレンジ定義データ560のアレンジ内容データ566に従って、部位別適用パラメータ値設定データ617を初期値から変更する。
【0122】
次に、仮想モデルに付属するオブジェクトについて説明する。
プレーヤキャラクタである仮想モデルは、ロボット兵器と言う設定なので、付属するオブジェクトは、ロボット兵器の攻撃や防御等の装備品5である(
図4参照)。
【0123】
図15に示すように、予め装備品5の種類毎に、装備品候補データ570が用意されている。1つの装備品候補データ570は、固有の装備品種類571と、使用許可要件572と、装備品モデルデータ576と、装備品能力設定データ577と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0124】
使用許可要件572は、当該定義データを適用するために満たすべき条件を定義している。使用許可要件572は、プレーヤ情報条件573と、品評得点条件574と、候補モデル組み合わせ条件575と、ANDやORで組み合わせて記述される。使用許可要件572は、プリセットカラーリング定義データ530(
図9参照)の使用許可要件532と同様にして記述される。
【0125】
サーバシステム1100は、使用許可要件572が満たされたる装備品候補データ570の装備品5(
図4参照)を選択し、それらを組立玩具3の仮想モデルの使用可能装備品リスト666として登録する。そして、サーバシステム1100は、使用可能装備品リスト666に登録されている装備品5を選択肢としてプレーヤ2に提示し、選択された装備品5を組立玩具3の仮想モデルに付加し装備させる。
【0126】
サーバシステム1100は、こうして設定した仮想モデルに関する様々なデータを、
図16に示すように、プレーヤ2のユーザ管理データ600に格納して管理する。具体的には、1人のプレーヤ2のユーザ管理データ600は、固有のユーザアカウント601と、プレーヤ情報602と、仮想モデル管理データ610とを含む。勿論、これら以外のデータも適宜含めることができる。
【0127】
プレーヤ情報602は、プレーヤレベル603と、所有アイテム別の所有アイテム管理データ604と、所属チーム名606と、を含む。所属チーム名606は、ゲーム内容が、チームプレイ形式のゲームや、ゲーム世界における何れかの勢力にプレーヤが所属するゲームであれば適宜設けることができる。
【0128】
仮想モデル管理データ610は、当該プレーヤの組立玩具3を撮影して作成した仮想モデルに関する各種データを格納する。本実施形態では、仮想モデルはプレーヤキャラクタとして使用されるので、仮想モデル管理データ610は、プレーヤキャラクタ管理データに相当する。そして具体的には、仮想モデル管理データ610は、統合仮想モデルデータ611・統合ボーンデータ612・統合スキニングデータ613(
図7参照)と、被写体カラーリングデータ614(
図11参照)と、適用カラーリングデータ615(
図9参照)と、動作区分別統合モーションデータ616(
図12参照)と、部位別適用パラメータ値設定データ617と、当該仮想モデルに適用可能な装備品5(
図4参照)などを定義する付属品設定データ618と、を含む。
【0129】
次に、機能構成について説明する。
図17は、サーバシステム1100の機能構成例を示す機能ブロック図である。サーバシステム1100は、操作入力部100sと、被写体モデル撮影部130sと、サーバ処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、サーバ記憶部500sとを備える。
【0130】
操作入力部100sは、サーバの管理のための各種操作を入力するための手段である。
図1のキーボード1106がこれに該当する。
【0131】
被写体モデル撮影部130sは、仮想モデル生成の元データとしての被写体モデル(組立玩具3)を全周撮影し、撮影画像のデータをサーバ処理部200sへ出力する。
図1の全周撮影装置1130がこれに該当する。
【0132】
サーバ処理部200sは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100sやサーバ記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、プレーヤ端末1500などから受信したデータ、等に基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。
【0133】
そして、サーバ処理部200sは、ユーザ管理部202と、モデルデータ生成部210と、ゲーム管理部250と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
【0134】
ユーザ管理部202は、ユーザ登録手続きに係る処理及びユーザアカウントに紐付けられる各種情報の記憶管理を行う。具体的には、ユーザ管理部202は、(1)登録ユーザへの固有のユーザアカウントの付与、(2)ユーザアカウント別に個人情報を登録管理する登録情報管理、などを行う。そして、ユーザ管理部202は、プレーヤ情報管理部204を有する。
【0135】
プレーヤ情報管理部204は、登録ユーザとしてのプレーヤ2に係る情報、すなわちプレーヤ情報602(
図16参照)を記憶管理する。例えば、プレイ成績に応じてプレーヤレベル603を設定し、アイテムの入手や消費に応じて所有アイテム管理データ604を管理する。
【0136】
モデルデータ生成部210は、関節構造を有する被写体モデルを撮影した撮影データに基づいて、被写体モデルを模倣した仮想モデルのモデルデータを生成する。具体的には
図18に示すように、モデルデータ生成部210は、撮影データに基づいて、3次元の仮想モデルを構成するためのモデルデータを生成するための機能部を有する。具体的には、モデルデータ生成部210は、撮影制御部212と、候補モデル選択部214と、適用部216と、プレーヤ情報取得制御部220と、品評部222と、モデルアレンジ部230と、動作アレンジ部240と、ゲームパラメータ値アレンジ部245と、仮想モデル管理データ記憶制御部246と、を有する。
【0137】
撮影制御部212は、被写体モデル(プレーヤ2が用意した組立玩具3)の全周の撮影データ661(単数の撮影データに限らず、複数の撮影データで構成されていてもよい。)を取得するための制御として、全周撮影装置1130(
図2参照)の動作を制御する。そして、撮影制御部212は、撮影された単数又は複数の撮影データ661を記憶制御する。
【0138】
候補モデル選択部214は、複数の候補モデルの中から、撮影した被写体モデルに適合する候補モデルを選択する。具体的には、候補モデル選択部214は、候補モデル画像認識用辞書ライブラリ510を参照して、撮影データ661に基づく画像認識処理を行うことで、複数の候補モデルの中から、撮影した被写体モデルに適合する候補モデルを選択する(
図6参照)。そして、画像認識処理により画像認識結果663を得る。よって、候補モデル選択部214は、画像認識部であるとも言える。
【0139】
適用部216は、仮想モデルに所与の適用関節構造を適用する。
具体的には、候補モデルそれぞれには、候補モデル定義データ521(
図8参照)が設定されており、そこに適用間接構造の定義データとしてのボーンデータ526が含まれている。一方で、画像認識によって、組立玩具3の各部位が、何れの候補モデルに該当するかを判定するので、候補モデルの選択が実質的な適用間接構造の適用に該当する。すなわち、適用部216は、候補モデル選択部214により選択された候補モデルに対応する適用関節構造候補を選択して、適用関節構造として適用する。
【0140】
プレーヤ情報取得制御部220は、ゲームに係るプレーヤ2のプレーヤ情報602を取得する。
【0141】
品評部222は、撮影データ661に基づいて組立玩具3である被写体モデルを品評する。
【0142】
モデルアレンジ部230は、プレーヤ情報602(
図16参照)等に基づいて仮想モデルの外観に関してアレンジする。具体的には、モデルアレンジ部230は、プレーヤ情報602に基づく仮想モデルのアレンジの選択肢をプレーヤに提示し、当該プレーヤの選択操作に基づいて仮想モデルをアレンジする。
【0143】
より具体的には、モデルアレンジ部230は、カラーアレンジ部232と、付属品アレンジ部234と、を有する。
カラーアレンジ部232は、仮想モデルのカラーリングをアレンジするために、使用可能プリセットカラーリングリスト665と、被写体カラーリングデータ614とを選択肢としてプレーヤ2に提示し、適用カラーリングデータ615を決定することでアレンジの仕方を決定する(
図9参照)。
【0144】
付属品アレンジ部234は、仮想モデルの付属品をアレンジするために、使用可能装備品リスト666(
図15参照)を作成し、当該リストの装備品5をプレーヤ情報602に基づいて選択肢として提示し、選択された装備品5の装備品モデルデータ576を、組立玩具3の仮想モデルに付加・装備させることも、これにアレンジの選択肢提示の例に該当する。
【0145】
動作アレンジ部240は、プレーヤ情報602(
図16参照)等に基づいて仮想モデルの動作に関してアレンジする。具体的には、動作アレンジ部240は、モーション種類アレンジ部241と、動作速度アレンジ部242と、動作限界アレンジ部243と、を有し、仮想モデルの動作制御の基準となるパラメータ値を設定・変更する。
【0146】
モーション種類アレンジ部241は、モーションの種類そのものをアレンジする。具体的には、モーション種類アレンジ部241は、動作区分別統合モーションデータ616を生成する(
図12参照)。
【0147】
動作速度アレンジ部242は、モーションを再現する際の動作速度をアレンジする。
動作限界アレンジ部243は、適用関節構造に係る関節の動作限界を設定する動作限界設定部である。
これらのアレンジ部の機能の結果が、部位別適用パラメータ値設定データ617(
図14参照)となる。
【0148】
ゲームパラメータ値アレンジ部245は、プレーヤ情報602(
図16参照)や品評部222の品評結果等に基づいて仮想モデルの前記ゲームに係るゲームパラメータ値に関してアレンジする。具体的には、ゲームパラメータ値アレンジ部245は、部位別適用パラメータ値設定データ617を生成する。よって、ゲームパラメータ値アレンジ部245は、ゲームパラメータ値設定部でもある。
【0149】
仮想モデル管理データ記憶制御部246は、所与の仮想空間にモデルデータに基づく仮想モデルを配置し、適用関節構造に従って当該仮想モデルの関節を動作させるためのデータとして、モデルデータと適用関節構造のデータとを含む仮想モデル管理データ610(
図16参照)を、サーバ記憶部500sに記憶させる制御を行う。
【0150】
図17に戻って、ゲーム管理部250は、ゲームの進行制御などを行う。そして、ゲーム管理部250は、仮想モデル制御部251を有する。
【0151】
仮想モデル制御部251は、ゲーム空間を構成する3次元仮想空間内に、仮想モデル管理データ610(
図16参照)に基づき、仮想モデルを配置して動作させる。具体的には、仮想モデル制御部251は、モーション制御部252と、動作限界制御部253と、伸縮制御部254と、分離制御部255と、交換接続制御部256と、を有する。
【0152】
モーション制御部252は、適用関節構造に係る関節を所与のモーションデータに基づいて動作させることで仮想モデルを制御する。
【0153】
動作限界制御部253は、設定された動作限界の範囲でモーションデータに基づく関節の動作制御を行う。
【0154】
伸縮制御部254は、仮想モデルを部分的に伸縮させる制御を行う(
図13(2)参照)。
【0155】
分離制御部255は、仮想モデルから分離可能パーツ38を分離させ、再結合させる制御を行う(
図13(1)参照)。
【0156】
交換接続制御部256は、分離可能パーツ38と交換可能な所与の別パーツを、分離制御部255により分離された分離可能パーツ38の代わりに仮想モデルに接続させる制御を行う(
図13(1)参照)。
【0157】
計時部280sは、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0158】
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、サーバシステム1100のシステム管理や、ゲーム等に係る操作音や効果音、BGM、音声通話、などの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390sへ出力する。
【0159】
音出力部390sは、音声信号を放音する。
図1の例では本体装置やタッチパネル1108が備えるスピーカ(不図示)がこれに該当する。
【0160】
画像生成部292sは、画像表示部392sに表示させる画像を生成し、その画像信号の出力を行う。サーバシステム1100のシステム管理に関する画面やゲームに係る各種画面(又はそれらをプレーヤ端末1500で表示させるためのデータ)などを生成する機能の一部がこれに該当する。
【0161】
画像表示部392sは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
図1の例では、タッチパネル1108がこれに該当する。
【0162】
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。
【0163】
通信部394sは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信装置1153が該当する。
【0164】
サーバ記憶部500sは、サーバ処理部200sにサーバシステム1100を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、サーバ処理部200sの作業領域として用いられ、サーバ処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。
図1の例では本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体、及びストレージ1140がこれに該当する。
【0165】
図19は、サーバ記憶部500sが記憶するプログラムやデータの例を示す図である。本実施形態におけるサーバ記憶部500sは、サーバプログラム501と、配信用クライアントプログラム503と、ゲーム初期設定データ508と、候補モデル画像認識用辞書ライブラリ510と、候補モデルデータベース520と、装備品候補データ570と、カラーリング得点判定基準データ580と、組み合わせ得点判定基準データ585と、を記憶する。
【0166】
また、サーバ記憶部500sは、逐次生成・管理されるデータとして、ユーザ管理データ600と、チーム管理データ650と、仮想モデル生成制御データ660と、プレイデータ700と、現在日時800と、を記憶する。サーバ記憶部500sは、その他のプログラムやデータ(例えばタイマーや、カウンタ、各種フラグなど)も適宜記憶する。
【0167】
サーバプログラム501は、サーバ処理部200sが読み出して実行することで、ユーザ管理部202、モデルデータ生成部210、ゲーム管理部250としての機能を実現させるためのプログラムである。
配信用クライアントプログラム503は、プレーヤ端末1500へ提供されるクライアントプログラムのオリジナルである。
【0168】
ゲーム初期設定データ508は、ゲームの実行制御に必要な各種初期設定データを含む。
具体的には、ゲーム初期設定データ508は、キャラクタ種別初期パラメータ値設定データ509を含む。勿論、これら以外のデータ、例えばゲーム空間を定義するゲーム空間定義データなども適宜含まれる。
【0169】
チーム管理データ650は、プレーヤ2が何れかのチームや勢力に所属してプレイするスタイルのゲームである場合に、チーム別に設定される。1つのチーム管理データ650は、固有のチーム名651と、チームメンバーアカウント653と、チームマーク画像データ655と、を含む。
【0170】
仮想モデル生成制御データ660は、組立玩具3の仮想モデルを生成するために必要な各種データを格納する。具体的には、
図20に示すように、撮影データ661と、画像認識結果663と、使用可能プリセットカラーリングリスト665と、使用可能装備品リスト666と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0171】
図19に戻って、プレイデータ700は、ゲームプレイ別に作成され、当該ゲームプレイを実現するための各種データを格納する。具体的には、
図21に示すように、1つのプレイデータ700は、プレーヤカウント701と、3次元仮想空間制御データ703と、プレイ成績データ709と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0172】
3次元仮想空間制御データ703は、ゲーム空間を構成する各種オブジェクトが配置される仮想空間である。3次元仮想空間制御データ703には、プレーヤキャラクタ制御データ705が含まれている。
【0173】
図22は、プレーヤ端末1500の機能構成例を示す機能ブロック図である。プレーヤ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
【0174】
操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、CCDモジュール、などによって実現できる。
図3の方向入力キー1502や、ボタンスイッチ1504、タッチパネル1506、などがこれに該当する。
【0175】
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信した各種データに基づいて各種の演算処理を実行して、プレーヤ端末1500の動作を制御する。
図3の制御基板1550がこれに該当する。
【0176】
そして、本実施形態における端末処理部200は、プレーヤ端末制御部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
【0177】
プレーヤ端末制御部260は、プレーヤ端末1500をサーバシステム1100と通信するクライアント装置として機能させる制御を行う。具体的には、プレーヤ端末制御部260は、操作信号送信制御部261と、画像表示制御部262と、を含む。
【0178】
操作信号送信制御部261は、操作入力部100へなされた操作に応じて、各種データやリクエストをサーバシステム1100へ送信するための処理を実行する。
【0179】
画像表示制御部262は、サーバシステム1100から受信した各種データ等に基づいてゲーム画面や各種の操作画面等を表示するための制御を行う。
【0180】
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0181】
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。
【0182】
音出力部390は、音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
図3のスピーカ1510がこれに該当する。
【0183】
画像生成部292は、画像表示制御部262の処理結果に基づいて、画像の生成・画像の合成、画像表示部392にそれらを表示させる画像信号の出力、などを行う。
図3の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)、グラフィックコントローラがこれに該当する。
【0184】
画像表示部392は、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
図3の例では、タッチパネル1506がこれに該当する。
【0185】
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
【0186】
通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図3の例では無線通信モジュール1553がこれに該当する。
【0187】
なお、本実施形態では、ゲーム画面や各種の画面の画像をサーバシステム1100にて生成する構成とするが、プレーヤ端末1500で生成する構成も可能である。その場合、画像表示制御部262は、例えば3DCGを生成するための仮想3次元空間に配置されたオブジェクトの制御などを行い、画像生成部292が3DCGをレンダリングし、ゲーム画面を生成するための各種制御を実行することになる。
【0188】
端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。
図3の例では、制御基板1550が搭載するICメモリ1552やメモリカード1540がこれに該当する。オンラインストレージを利用する構成も可能である。
【0189】
具体的には、端末記憶部500は、端末処理部200をプレーヤ端末制御部260として機能させるためのクライアントプログラム502と、操作入力データ690と、現在日時800と、を記録する。勿論、これら以外のデータも適宜記憶できる。
【0190】
次に、ゲームシステム1000の動作について説明する。
図23は、サーバシステム1100で実行される仮想モデル管理データ生成処理の流れを説明するためのフローチャートである。当該処理は、プレーヤキャラクタ用の仮想モデルを用意するために、例えば、プレーヤ2が初めてゲームプレイする前などのタイミングで実行される。なお、ユーザ登録と、ログインは既に済まされているものとする。
【0191】
サーバシステム1100は、先ず撮影セットアップの案内をする(ステップS4)。例えば、サーバシステム1100のタッチパネル1108やプレーヤ端末1500にて、全周撮影装置1130のどこにどのような姿勢で組立玩具3を設置するかの案内を表示させる。
【0192】
次に、サーバシステム1100は、撮影制御処理を実行する(ステップS6)。すなわち、サーバシステム1100は、全周撮影装置1130を動作制御して組立玩具3を全周撮影して、仮想モデル生成制御データ660(
図20参照)に、撮影データ661を記憶する。
【0193】
次に、サーバシステム1100は、候補モデルの選択と適用関節構造の決定に係る処理を行う(ステップS8)。すなわち、サーバシステム1100は、撮影データ661を画像認識して、組立玩具3の各部位についての画像認識結果663を得る。そして、撮影した組立玩具3(被写体モデル)の仮想モデルを構成する候補モデルを選出する。候補モデルの選出は、ボーンデータ526の適用が選出された候補モデルへの適用関節構造の決定となる(
図7参照)。
【0194】
次に、サーバシステム1100は、モデルデータ生成処理を実行して、選出した候補モデルの候補モデルデータ525を統合して統合仮想モデルデータ611を作成(ステップS10)する。また、選出した候補モデルデータのボーンデータ526を統合して統合ボーンデータ612を作成する(ステップS12)。そして、統合仮想モデルデータ611とボーンデータ526との統合スキニングデータ613を作成する(ステップS14;
図7参照)。
【0195】
次に、サーバシステム1100は、各種アレンジのために必要な情報を収集する。
具体的には、サーバシステム1100は、撮影データ661から被写体カラーリングデータ614を作成する(ステップS16;
図9、
図11参照)。
また、サーバシステム1100は、プレーヤ情報602(
図16参照)を読み出し・取得して(ステップS18)、撮影データ661に基づいて品評得点を決定する(ステップS20;
図10参照)。
【0196】
次に、サーバシステム1100は、各種アレンジの内容を決定してゆく。
具体的には、サーバシステム1100は、カラーリングのアレンジとして、被写体カラーリングと、使用可能プリセットカラーリングとを選択肢としてユーザに提示して、選択操作を受け付け、適用カラーリングデータ615を作成する(ステップS30;
図9参照)。
【0197】
更に、サーバシステム1100は、プレーヤ情報602が所与の追加許可条件を満たすユーザ(例えば、プレーヤレベルが基準レベルに達しているユーザ、など)については、チームマーク画像の追加操作を受け付け、適用カラーリングデータ615にチームマーク画像データ655の示す画像を追加するように変更する(ステップS32)。追加操作では、仮想モデルのどこに、どのサイズでチームマーク画像を追加するかの操作入力を受け付け、当該操作入力に応じて追加位置と、追加サイズとを決定すると好適である。
【0198】
次いで、サーバシステム1100は、仮想モデルのアレンジの1つとして付属品をアレンジする(ステップS34)。具体的には、サーバシステム1100は、使用可能装備品リスト666を作成し、プレーヤキャラクタに装備させる装備品5を、使用可能装備品リスト666のなかから選択させる(
図15参照)。
【0199】
次いで、サーバシステム1100は、動作区分別統合モーションデータ616を作成して、仮想モデルのモーションのアレンジ処理を行い(ステップS36)、部位別適用パラメータ値設定データ617(
図14参照)を作成して、パラメータ値のアレンジ処理を行う(ステップS38)。そして、サーバシステム1100は、仮想モデルに係る各種データを、仮想モデル管理データ610(
図16参照)として記憶する(ステップS40)。
【0200】
図24は、サーバシステム1100が実行するゲーム管理処理の流れを説明するためのフローチャートである。当該処理は、仮想モデル管理データ610を有するユーザをプレーヤとして実行されるゲームプレイに係る処理である。
【0201】
サーバシステム1100は、先ず3次元仮想空間にゲーム空間を構成する各種オブジェクトを配置し(ステップS60)、当該ゲーム空間内に、プレーヤ2の仮想モデル管理データ610(
図16参照)に基づくプレーヤキャラクタのオブジェクトを配置する(ステップS62)。プレーヤキャラクタのオブジェクトは、統合仮想モデルデータ611に統合ボーンデータ612及び適用カラーリングデータ615が適用される。ゲーム画面は、3次元仮想空間内に配置された仮想カメラでゲーム空間の様子を撮影したゲーム空間画像に、各種情報表示を加えて生成される。
【0202】
次に、サーバシステム1100は、ゲームパラメータ値を初期化して(ステップS64)、ゲーム進行制御を開始する(ステップS66)。プレーヤキャラクタに係る初期化では、部位別適用パラメータ値設定データ617(
図16参照)が参照される。
【0203】
ゲーム進行制御を開始したならば、サーバシステム1100は、プレーヤキャラクタを含む各種オブジェクトを動作制御して、プレイ成績を記憶する(ステップS68)。プレーヤキャラクタは、プレーヤ2による操作入力に基づいて、動作区分別統合モーションデータ616と部位別適用パラメータ値設定データ617とが適用されて動作制御される。
【0204】
所与のゲーム終了条件が満たされたならば(ステップS70のYES)、ゲーム管理処理を終了する。
【0205】
以上、本実施形態によれば、ユーザが独自に配色して用意したモノを、コンピュータグラフィックス用の仮想空間中に配置して、当該モノをコンピュータグラフィックス内に登場させることができる。具体的には、既に形状が分かっている所与の著作物に登場するキャラクタの組立玩具3を被写体モデルとして全周撮影し、撮影した画像から3D仮想モデル(仮想モデル)を生成し、プレーヤキャラクタとしてゲームに登場させることができる。
【0206】
〔第2実施形態〕
次に、第2実施形態について説明する。第2実施形態は、基本的には第1実施形態と同様に実現されるが、第2実施形態と第1実施形態とを比較すると、第1実施形態ではゲーム管理の各機能をサーバシステム1100にて実現しているが、第2実施形態ではゲーム管理をプレーヤ端末1500にて実現している点が異なる。なお、以降では、主に第1実施形態との差異について述べることとし、第1実施形態と同様の構成要素については、第1実施形態と同じ符号を付与して重複する説明は省略する。
【0207】
図25は、本実施形態におけるサーバシステム1100Bの機能構成例を示す図である。第1実施形態のサーバシステム1100と比較すると、サーバシステム1100Bからはゲーム管理部250が省略されている。またモデルデータ生成部210には、仮想モデル管理データ出力制御部247が追加されている。
【0208】
仮想モデル管理データ出力制御部247は、本実施形態のプレーヤ端末1500へ、仮想モデル管理データ610を提供する出力制御、例えばデータ通信制御を行う。
【0209】
図26は、本実施形態のサーバ記憶部500sに記憶されるプログラムやデータの例を示す図である。サーバシステム1100Bのサーバ記憶部500sが記憶するプログラムやデータは、第1実施形態のそれと比較すると、サーバプログラム501に代えて、モデルデータ生成部210としての機能を実現させるモデルデータ生成プログラム505を有し、配信用クライアントプログラム503に代えて配信用ゲームプログラム507を有する。また、プレイデータ700が省略される。
【0210】
図27は、本実施形態のプレーヤ端末1500Bの機能構成例を示す図である。第1実施形態のプレーヤ端末1500と比較すると、プレーヤ端末1500Bは、プレーヤ端末制御部260に代えて、ゲーム管理部250を有する。そして、ゲーム管理部250は、仮想モデル管理データ取得制御部258を有する。
【0211】
仮想モデル管理データ取得制御部258は、サーバシステム1100Bから仮想モデル管理データ610を取得する制御を行う。
【0212】
本実施形態の端末記憶部500は、クライアントプログラム502に代えてゲームプログラム504を記憶する。また、サーバシステム1100Bから取得した仮想モデル管理データ610と、ゲーム初期設定データ508と、を記憶する。その他、ゲーム進行制御に必要な情報を、サーバシステム1100Bから取得して記憶する。
【0213】
サーバシステム1100Bは、仮想モデル管理データ610を生成・記憶する。
プレーヤ端末1500Bのゲーム管理部250は、第1実施形態と同様にゲーム管理処理(
図24参照)を実行するが、ステップS60の前に、自機に仮想モデル管理データ610が記憶されているかを確認するステップと、記憶されていない場合に、サーバシステム1100Bへプレーヤ2の仮想モデル管理データ610の出力リクエストを送信して、サーバシステム1100Bから仮想モデル管理データ610を取得するステップと、を追加実行する。
【0214】
本実施形態によれば、第1実施形態と同様の効果が得られる。
【0215】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【0216】
(変形例その1)
例えば、上記実施形態のサーバシステム1100、1100Bは、パソコンなどで実現するとしてもよい。また、ゲームシステム1000をサーバシステム1100とプレーヤ端末1500との複数のコンピュータシステムではなく、家庭用ゲーム装置のように単独のコンピュータシステムとして構成することもできる。
【0217】
(変形例その2)
また、上記実施形態に、仮想モデルのカラーリングに、プレーヤ2がペイントを施すステップを加えることもできる。例えば、プレーヤ情報が所与の基準に達しているプレーヤであるかを判定し、肯定の場合に、適用カラーリングデータ615に基づくカラーリングデモをプレーヤ端末1500のタッチパネル1506に表示させるとともに、色パレットを表示させる。そして、指を絵筆のようにタッチ操作を受け付け、適用カラーリングデータ615に、プレーヤ2が望む色を追加するように変更すればよい。
【0218】
(変形例その3)
また、上記実施形態では、撮影データ661を画像認識して組立玩具3の各部位に適合する既存の候補モデルを選択して、仮想モデル管理データ610を生成したが、フォトグラメトリ(Photogrammetry)により撮影データ661から仮想モデル管理データ610を生成する機能も適宜追加できる。
【0219】
具体的には、被写体モデルが、予め形状が分かっていないもの(例えば、手作りのぬいぐるみなど、ユーザによるオリジナルデザインのもの)である場合、適合する候補モデルを予め用意することはできない。そこで、適合する候補モデルが存在しない場合に参照される、例えば
図28に示すような自由モデル定義データ590を予め用意しておく。
【0220】
自由モデル定義データ590は、全体形状分類591と、全体形状分類画像認識用辞書データ592と、基準ボーンデータ593と、モーション定義データ594と、プリセットカラーリング定義データ530と、パラメータ値アレンジ定義データ560と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0221】
全体形状分類591は、全体形状分類の何れかを示す。「全体形状分類」は、例えば、二足歩行無翼型・二足歩行有翼型・四足歩行型・蛇型などであって、予めユーザにより持ち込まれると想定される分類を用意しておく。
【0222】
全体形状分類画像認識用辞書データ592は、撮影データ661から被写体モデルの形状が、全体形状分類591の示す分類であると画像認識で判定するための辞書データである。
【0223】
基準ボーンデータ593は、全体形状分類591が示す形状に適当と思われるボーンと関節との相対配置を示している。
図28の例では、全体形状分類591が「二足歩行無翼型」の場合の基準ボーンデータ593を示しているので、人間の骨格のようなボーンデータとなっている。全体形状分類591が「四足歩行型」であれば、基準ボーンデータ593は、四つ足動物の骨格のようなデータとなる。
【0224】
モーション定義データ594は、全体形状分類591が示す形状のオブジェクトとして、適当と思われる動作を定義する。モーション定義データ594は、第1実施形態における部位モーション定義データ540に該当するが、部位ではなく全身のモーションを定義しているところが異なる。
【0225】
プリセットカラーリング定義データ530(
図9参照)と、パラメータ値アレンジ定義データ560(
図14参照)と、は使用許可要件532や適用要件561を適切に設定することで第1実施形態におけるそれらと同様に設定できる。
【0226】
図29に示すように、サーバシステム1100は、先ず、撮影データ661を解析してフォトグラメトリ(Photogrammetry)により被写体モデル3uの3D仮想モデルデータを生成する。この3D仮想モデルデータを統合仮想モデルデータ611として扱う(
図7参照)。実体としては、風船人形のような外表面の形状データに過ぎない。
【0227】
次に、サーバシステム1100は、撮影データ661から被写体モデルの輪郭40を抽出して、全体形状分類画像認識用辞書データ592と照合して、全体形状分類を判定する。
そして、判定した全体形状分類用に用意されている基準ボーンデータ593が被写体モデルの輪郭40の内に収まるように各ボーンの長さや関節位置を調整処理し、調整後のボーンデータを統合ボーンデータ612とする(
図7参照)。
【0228】
具体的には、サーバシステム1100は、被写体モデル3uの各部位の相対的な位置関係と輪郭40の凹凸とから、各部位を連結する関節部位を認識して、輪郭40から各部位を切り分け(
図29中、切り分け例を輪郭40内に細い破線で例示)、基準ボーンデータ593の各部位のボーンの連結位置(関節位置)を輪郭40の切り分け位置に合わせ、各部位のボーン長さを輪郭から切り分けた各部位の長さに合わせて、統合ボーンデータ612とする。
【0229】
言い換えると、サーバシステム1100が、モーションデータに基づく仮想モデルの動作制御によって、仮想モデルの適用関節構造に係る関節の可動および当該関節の変形を制御する。被写体モデル3uの仮想モデルは、例えるならば手袋(ビニール手袋や手編みの手袋など)の様な構造である。そもそも何処を関節にするかは決まっていない手袋では、使用者(手指の長さ、つまり関節感距離は個性がある。)が手袋を装着して手を動かせば、手の関節に対応する部位が使用者に応じて決まり、手袋を構成している布等が変形して、手の動きに追従するのと同様である。
【0230】
なお、当該変形例は、第1実施形態と第2実施形態の何れにも適用できる。
また、フォトグラメトリによる仮想モデルの生成要素を追加する場合、当該変形例の構成のように、仮想モデルの全体をフォトグラメトリにて生成するに限らず、一部のみを生成するとしてもよい。例えば、上記実施形態の組立玩具3で、ユーザが外観的特徴を付加しやすい部位(例えば、頭部の飾りつけ)に限定してフォトグラメトリを適用することとし、組立玩具3の撮影データ661からフォトグラメトリで該当部分の3D仮想モデルを作成して、選択された候補モデルに付加するとしてもよい。
【0231】
(変形例その4)
また、上記実施形態では、被写体モデルの撮影データ661から生成した仮想モデルの用途例としてビデオゲームを例示したが、用途はゲーム以外でもよい。例えば、都市計画や建築計画等に係る景観シミュレーション、VR(Virtual Reality)に登場する仮想のキャラクタや環境オブジェクト、デジタルサイネージ、などで使用してもよい。
【0232】
(変形例その5)
また、上記実施形態では、撮影データ661から被写体モデルの種類を判定する過程を、画像認識を用いた自動処理で実現したが、プレーヤ2に選択肢(例えば、原作中のキャラクタ名の一覧)を提示し、プレーヤ2に選択させて被写体モデルの種類を決定する構成としてもよい。
【符号の説明】
【0233】
2…プレーヤ
3…組立玩具
38…分離可能パーツ
39…伸縮パーツ
130s…被写体モデル撮影部
200s…サーバ処理部
204…プレーヤ情報管理部
210…モデルデータ生成部
212…撮影制御部
214…候補モデル選択部
216…適用部
220…プレーヤ情報取得制御部
222…品評部
230…モデルアレンジ部
240…動作アレンジ部
245…ゲームパラメータ値アレンジ部
246…仮想モデル管理データ記憶制御部
247…仮想モデル管理データ出力制御部
250…ゲーム管理部
251…仮想モデル制御部
252…モーション制御部
253…動作限界制御部
254…伸縮制御部
255…分離制御部
256…交換接続制御部
258…仮想モデル管理データ取得制御部
500s…サーバ記憶部
501…サーバプログラム
508…ゲーム初期設定データ
509…キャラクタ種別初期パラメータ値設定データ
510…候補モデル画像認識用辞書ライブラリ
520…候補モデルデータベース
521…候補モデル定義データ
525…候補モデルデータ
526…ボーンデータ
527…スキニングデータ
530…プリセットカラーリング定義データ
540…部位モーション定義データ
560…パラメータ値アレンジ定義データ
600…ユーザ管理データ
610…仮想モデル管理データ
661…撮影データ
663…画像認識結果
700…プレイデータ
703…3次元仮想空間制御データ
705…プレーヤキャラクタ制御データ
1000…ゲームシステム
1100…サーバシステム
1130…全周撮影装置
1500…プレーヤ端末