(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-06-16
(45)【発行日】2023-06-26
(54)【発明の名称】情報処理装置、及び、コンピュータプログラム
(51)【国際特許分類】
G06T 19/20 20110101AFI20230619BHJP
G06T 19/00 20110101ALI20230619BHJP
G06T 15/04 20110101ALI20230619BHJP
【FI】
G06T19/20
G06T19/00 A
G06T15/04
(21)【出願番号】P 2022033155
(22)【出願日】2022-03-04
【審査請求日】2022-09-21
【早期審査対象出願】
(73)【特許権者】
【識別番号】000135748
【氏名又は名称】株式会社バンダイ
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】清宮 僚太
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2003-067778(JP,A)
【文献】特表2009-536859(JP,A)
【文献】特開2005-339127(JP,A)
【文献】特開2000-348199(JP,A)
【文献】特開2021-162966(JP,A)
【文献】特開2004-110383(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/04
G06T 15/20
G06T 17/00
G06T 19/00 - 19/20
G01B 11/00 - 11/30
(57)【特許請求の範囲】
【請求項1】
物品の三次元形状及び色情報を取得可能に構成された三次元スキャナ装置で取得された前記物品の外観のスキャン情報から、仮想空間上で利用可能な仮想空間用データを生成する情報処理装置であって、
前記物品の種別を判定する判定手段と、
前記判定された種別の物品に対応するフレームデータであって、前記スキャン情報から得られるテクスチャ情報をマッピング可能に構成されたフレームデータを取得する取得手段と、
前記物品を前記三次元スキャナ装置によりスキャンすることで生成された第1スキャン情報について設定された座標系を、前記フレームデータについて設定されている座標系に合わせて調整するための第1の画面であって、前記第1スキャン情報の表示を含む第1の画面を表示部に表示させる表示制御手段と、
前記第1の画面に表示された前記第1スキャン情報に対する、移動及び回転の少なくともいずれかの第1の操作指示を含む指示を受け付け可能な受付手段と、
前記指示に応じて前記第1の画面の表示を終了した後に得られる第2スキャン情報と、前記フレームデータとから、前記フレームデータ上にマッピングするためのテクスチャ情報を含む前記仮想空間用データを生成する第1の生成手段と、
を備える情報処理装置。
【請求項2】
前記第1の画面は、前記物品のいずれかの部位に対応する前記第1スキャン情報の表示と、前記フレームデータにおける前記部位の位置を示す表示とを含み、
前記受付手段は、前記部位の前記第1スキャン情報の表示位置と、前記部位の位置の表示位置とを一致させるための操作指示を受け付ける、請求項1に記載の情報処理装置。
【請求項3】
前記第1の画面は、前記第1スキャン情報の表示方向を切り替える切替操作部を含み、
選択された前記切替操作部に応じた表示方向における、前記物品のいずれかの部位の前記第1スキャン情報と、前記フレームデータにおける前記部位の位置とを表示する、請求項2に記載の情報処理装置。
【請求項4】
前記第1の生成手段は、前記物品の所定箇所に対応する前記第2スキャン情報に重畳表示される画像の位置情報を含むように前記仮想空間用データを生成する、請求項1ないし3のいずれか一項に記載の情報処理装置。
【請求項5】
前記表示制御手段は、前記物品の所定箇所に対応する前記第1スキャン情報に重畳表示される画像の位置を調整するための第2の画面を前記表示部に更に表示させ、
前記受付手段は、前記第2の画面に表示された前記画像に対する、移動及び回転の少なくともいずれかの第2の操作指示を更に受け付け可能であり、
前記第1の生成手段は、前記第2の操作指示に応じた前記画像の位置情報を更に含むように、前記仮想空間用データを生成する、請求項1ないし3のいずれか一項に記載の情報処理装置。
【請求項6】
前記所定箇所は、前記物品の可動部分である、請求項4または5に記載の情報処理装置。
【請求項7】
前記物品が人型の玩具体である場合に、前記可動部分は関節部分である、請求項6に記載の情報処理装置。
【請求項8】
判定された前記物品の種別に基づき、前記三次元スキャナ装置によりスキャンする際の前記物品の姿勢を規定する固定具を選択する選択手段を更に備える、請求項1から7のいずれか1項に記載の情報処理装置。
【請求項9】
前記第1スキャン情報は、前記固定具により定められた姿勢において前記物品が前記三次元スキャナ装置によりスキャンされることで生成された、請求項8に記載の情報処理装置。
【請求項10】
前記三次元スキャナ装置が設置され、前記三次元スキャナ装置の位置及び姿勢を制御する位置姿勢制御装置を更に備え、
前記第1スキャン情報は、前記物品が、前記位置姿勢制御装置により設置された所定の位置及び姿勢において前記三次元スキャナ装置によりスキャンされることで生成された、請求項1から9のいずれか1項に記載の情報処理装置。
【請求項11】
前記物品が載置され回転可能に構成された回転装置を更に備え、
前記第1スキャン情報は、前記回転装置に載置された前記物品が前記三次元スキャナ装置によりスキャンされることで生成された、請求項1から10のいずれか1項に記載の情報処理装置。
【請求項12】
前記判定手段は、前記物品の所定の部位の情報に基づいて、前記物品の種別を判定する、請求項1から11のいずれか1項に記載の情報処理装置。
【請求項13】
前記物品が人型の玩具体である場合に、前記所定の部位は足裏である、請求項12に記載の情報処理装置。
【請求項14】
コンピュータを、請求項1から12のいずれか1項に記載の情報処理装置
の各手段として動作させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び、コンピュータプログラムに関する。
【背景技術】
【0002】
特許文献1には、ネットワークを介して接続される2以上の端末によって操作される仮想空間内の機体同士を対戦させるオンラインゲームにおいて、各端末においてプラモデルの情報を読み込んで機体情報を生成し、利用する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、ゲームを実施する端末においてプラモデルの情報を読み込むことにしており、読み込みの精度を上げることが期待される。
【0005】
本発明は、物品の外観に関する情報を精度高く取得し、仮想空間内において利用可能とすることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、物品の三次元形状及び色情報を取得可能に構成された三次元スキャナ装置で取得された前記物品の外観のスキャン情報から、仮想空間上で利用可能な仮想空間用データを生成する情報処理装置であって、前記物品の種別を判定する判定手段と、前記判定された種別の物品に対応するフレームデータであって、前記スキャン情報から得られるテクスチャ情報をマッピング可能に構成されたフレームデータを取得する取得手段と、前記物品を前記三次元スキャナ装置によりスキャンすることで生成された第1スキャン情報について設定された座標系を、前記フレームデータについて設定されている座標系に合わせて調整するための第1の画面であって、前記第1スキャン情報の表示を含む第1の画面を表示部に表示させる表示制御手段と、前記第1の画面に表示された前記第1スキャン情報に対する、移動及び回転の少なくともいずれかの第1の操作指示を含む指示を受け付け可能な受付手段と、前記指示に応じて前記第1の画面の表示を終了した後に得られる第2スキャン情報と、前記フレームデータとから、前記フレームデータ上にマッピングするためのテクスチャ情報を含む前記仮想空間用データを生成する第1の生成手段とを備える。
【発明の効果】
【0007】
本発明によれば、物品の外観に関する情報を精度高く取得し、仮想空間内において利用可能とすることができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に対応するゲームシステムの構成例を示す図、及び、情報処理装置100のハードウェア構成の一例を示す図。
【
図2】実施形態に対応する玩具体の外観の一例を示す図。
【
図3】実施形態に対応する玩具体を固定する固定具の外観の一例を示す図。
【
図4】実施形態に対応するデータテーブルのデータ構成の一例を示す図。
【
図5】実施形態に対応するゲーム用データを生成するための処理の一例に対応するフローチャート。
【
図6】実施形態に対応するスキャン処理の一例に対応するフローチャート。
【
図7】実施形態に対応するゲーム用データ生成処理の一例を示すフローチャート。
【
図8】実施形態に対応するゲーム用データ生成処理時に表示される操作画面の表示例を示す図。
【
図9】実施形態に対応するゲーム用データ生成処理時に表示される操作画面の他の表示例を示す図。
【
図10】実施形態に対応するゲーム処理の一例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴うち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。また、各図において、紙面に対する上下左右表裏方向を、本実施形態における部品(またはパーツ)の上下左右表裏方向として、本文中の説明の際に用いることとする。
【0010】
まず、本実施形態に対応するゲームシステムの構成を説明する。
図1(A)は、本実施形態に対応するゲームシステム10の構成の一例を示す図である。ゲームシステム10は、情報処理装置100に、スキャナ110、ロボットアーム120、ターンテーブル130及び表示装置140が接続されて構成されている。
【0011】
情報処理装置100は、スキャナ110、ロボットアーム120及びターンテーブル130の動作を制御し、スキャン対象の物品を任意の角度からスキャンして物品の三次元データを生成すると共に、得られた三次元データを、テクスチャとして玩具体に対応するフレームデータに適用することでゲームにおいて利用可能なゲーム用データを生成する。また、情報処理装置100は、生成したゲーム用データを用いたゲーム処理を実行するゲーム装置、或いは、ゲーム用データを仮想空間用データとして用いることで、仮想空間上に表示される画像の生成を行う画像処理装置としても機能することができる。ゲーム装置や画像処理装置を情報処理装置100とは別に用意してもよい。本実施形態においては、スキャン対象の物品をプラスチックモデルや人形等の玩具体とする。
【0012】
次にスキャナ110は、情報処理装置100の制御に従って、撮像対象の玩具体の3次元形状を撮像(スキャン)して、撮像対象の三次元形状及び色情報を出力する三次元スキャナ装置である。本実施形態においては、スキャナ110から出力されるスキャン信号を総称して「スキャン画像」と呼ぶ。スキャナ110には、例えばArtec社製のSpace Spiderを使用することができる。本実施形態においては、例えば、スキャン画像を500フレームから800フレーム程度を取得することで、玩具体全体の3Dスキャンデータを取得することができる。
【0013】
ロボットアーム120は、情報処理装置100の制御に従ってスキャナ110を所定のスキャン位置及び姿勢に移動させる位置姿勢制御装置である。ロボットアーム120は、例えばUFACTORY社製のxArm 7を使用することができる。xArm7は7つのジョイントからなり、人間の腕と同様の動きができる。
【0014】
ターンテーブル130は、情報処理装置100の制御に従って、玩具体が載置された状態において回転可能に構成された回転装置である。本実施形態では、ロボットアーム120により任意の撮像位置・撮像角度にスキャナ110を位置させた後、ターンテーブル130を1周回転させてスキャンを行う。これを複数の撮像位置・撮像角度において行うことにより、玩具体全体の3Dスキャンデータを取得する。なお、ここでターンテーブル130とロボットアーム120を同期して駆動させることで、スキャン処理をより簡便に精度高く行うことができ好ましい。
【0015】
表示装置140は、液晶ディスプレイ(LCD)等のディスプレイ装置であって、スキャナ110で取得した3Dスキャンデータを表示したり、
図8、
図9に示すような操作画面を表示したり、生成したゲーム用データを使ったゲーム画面を表示したりする。
【0016】
図1(B)は、情報処理装置100のハードウェア構成の一例を示す。CPU101は、情報処理装置100の全体的な制御やデータの計算・加工・管理を行う装置である。具体的に、スキャナ110におけるスキャン画像の撮像タイミング、撮像枚数を制御すると共に、ロボットアーム120のアームのジョイントを制御して、スキャナ110を任意の撮像位置・撮像角度に配置することができる。また、スキャナ110の撮像位置・撮像角度が決定された後、ターンテーブル130を回転させて、スキャナ110によりスキャン動作を実施する。また、CPU101は、スキャナ110から出力されたデジタル画像信号を圧縮・符号化して画像データを生成する画像処理部としても機能しうる。
【0017】
RAM102は、揮発性のメモリであり、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。ROM103は、不揮発性のメモリであり、画像データやその他のデータ、CPU101が動作するための各種プログラム等が、それぞれ所定の領域に格納されている。CPU101は、例えばROM103に格納されるプログラムに従い、RAM102をワークメモリとして用いて、情報処理装置100の各部を制御する。尚、CPU101が動作するためのプログラムは、ROM103に格納されるものに限られず、記憶装置104に記憶されていてもよい。
【0018】
記憶装置104は、例えばHDDやフラッシュメモリなどの磁気ディスクにより構成される。記憶装置104には、アプリケーションプログラム、OS、制御プログラム、関連プログラム、ゲームプログラム等が格納される。記憶装置104は、CPU101の制御に基づき、データを読み出したり、書き込みしたりすることができる。記憶装置104をRAM102やROM103の代わりに使用してもよい。
【0019】
通信装置105は、CPU101の制御に基づき、スキャナ110、ロボットアーム120、ターンテーブル130と通信するための通信インタフェースである。通信装置105は、無線通信モジュールを含むことができ、当該モジュールはアンテナシステム、RF送受信器、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュールカード、メモリなどを含む、周知の回路機構を含むことができる。ここで、情報処理装置100と、スキャナ110、ロボットアーム120、ターンテーブル130との通信は無線通信により行われてもよい。
【0020】
また、通信装置105は、有線接続のための有線通信モジュールを含むこともできる。有線通信モジュールは1つ以上の外部ポートを介して表示装置140を含む他のデバイスとの通信を可能とする。また、データを処理する様々なソフトウェアコンポーネントを含むことができる。外部ポートは、イーサーネット、USBやIEEE1394等を介して、直接的に、又はネットワークを介して間接的に他のデバイスと結合する。尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【0021】
操作部106は、例えばボタン、キーボード、タッチパネル等で構成され、ユーザからの操作入力を受け付ける。表示制御部107は、情報処理装置100と接続された表示装置140に情報を表示するためのインタフェースとして機能し、表示装置140の動作を制御する。
【0022】
ゲーム装置が情報処理装置100とは独立して設けられる場合、当該ゲーム装置のハードウェア構成も
図1(B)と同様とすることができる。
【0023】
次に、
図2を参照して、本実施形態においてスキャン対象となる玩具体の一例を説明する。玩具体200は、人形型(ロボット、又は、人間)の外観を有する玩具体である。当該玩具体は、例えばプラスチックモデルとして組み立てられ、塗装されたものとすることができる。
図2の玩具体はあくまで説明のための一例にすぎず、玩具体の形状は人形型の外観を有するものだけではなく、一般車両、レース車両、軍用車両、航空機、船舶、動物、仮想生命体等、任意の形状の玩具体とすることができる。なお、スキャン対象となる物品は、スキャナ110でスキャン可能な物品であれば玩具体に限定されないことはもちろんである。
【0024】
玩具体200は、頭部201、胸部202、右腕部203、左腕部204、右胴体部205、左胴体部206、右脚部207、左脚部208、右足部209、左足部210の各部品を有し、これらが結合されて構成されている。個々の部位201~210の少なくとも一部は、隣接する部位に対して回動(或いは揺動)可能に支持される。例えば、頭部201は胸部202に対して回動可能に支持され、右腕部203、左腕部204は胸部202に対して回動可能に支持される。このようにして玩具体200の各部位には関節構造が設けられているため、玩具体200は任意の姿勢を取ることができる。その一方で、玩具体200をスキャナ110でスキャンして外表面の3次元形状や色情報を取得するためには、三次元形状を取り込むのに適した姿勢を取る必要がある。
【0025】
そこで、
図3に示すような固定具300を利用して、玩具体200のスキャンを行う際の姿勢を決定する。固定具300は、玩具体200の、頭部201、胸部202、右腕部203、左腕部204、右胴体部205、左胴体部206、右脚部207、左脚部208、右足部209、左足部210の各部位に対応した部位を有する。頭固定部301は、頭部201を固定するための部材である。胸固定部302は、胸部202を固定するための部材である。右腕固定部303と、左腕固定部304とは、右腕部203、左腕部204とが胸部202から離れて延びるようにそれぞれを固定する。また、右胴体固定部305、左胴体固定部306は、胸部202に対する右胴体部205、左胴体部206の位置を固定する。右脚固定部307、左脚固定部208は、それぞれ右脚部207、左脚部208を歩幅を開いて固定するための部材であり、右足固定部309、左脚固定部310は、右足部209、左脚部210をそれぞれ固定するための部材である。
【0026】
固定具300は、玩具体200の正面側から被せるようにして固定して、玩具体200を固定具300の形状に対応する姿勢とした後、玩具体をターンテーブル130に配置する。その際、ターンテーブル130には玩具を固定する部材を設置して、当該部材に玩具体を取り付けた後、固定具300を玩具体200から取り外す。これにより、ターンテーブル130上の玩具体をスキャン画像の取得に適した所定の姿勢で配置することができる。
【0027】
図3では、玩具体200の本体に使用する固定具300のみを示したが、玩具体200が付属品を有する場合であって、当該付属品を取り付けた状態において取り付け角度や形が変更可能な場合、当該付属品の姿勢を固定するための固定具も併せて利用することができる。
【0028】
次に、
図4を参照して、情報処理装置100の記憶装置104に記憶される各種テーブルのデータ構造について説明する。
図4(A)のテーブル400には、玩具体のモデル名401と関連付けて、玩具体の外観に基づいてモデル名を特定するための情報であるモデル識別情報402、使用する固定具を特定する固定具情報403、スキャン撮像時の撮像系制御情報404、玩具体のモデルに対応したフレームデータ(スキャン画像をテクスチャとしてマッピングするための骨組み情報)405が登録されている。
【0029】
まず、モデル名401には、本実施形態においてゲーム用データを作成可能な玩具体を一意に特定するための識別情報が登録される。モデル識別情報402は、玩具体の外観から、当該玩具体のモデル名或いは種別を特定するための情報であって、例えば玩具体の特定部位の形状に関する情報が登録されていてもよい。具体的には、玩具体の足裏の形状・模様・穴の数などの情報が登録され、玩具体200の足裏の画像を当該モデル識別情報402に基づき処理することにより、モデルを特定することが可能である。
【0030】
固定具情報403には、その種別がモデル名401に登録されたモデルであると判明した玩具体に取り付ける固定具を識別するための情報が登録される。固定具情報には、固定具の色、素材、形状、固定具番号等が含まれる。撮像系制御情報404は、CPU101が、スキャン撮像時にスキャナ110、ロボットアーム120、ターンテーブル130の動作をモデル毎に制御するための制御情報である。
【0031】
フレームデータ405は、スキャナ110で取り込んだスキャナ画像から生成したテクスチャがマッピングされるテンプレートデータである。フレームデータには、モデルの各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)と、可動関節の情報とが含まれる。フレームデータは個別に座標系が設定されている。フレームデータは、(テクスチャがマッピングされていないことを除けば)ゲーム上で利用可能なデータであって、種々の玩具体に対応する外観を有し、玩具体の構造と同様にゲーム上で稼働させることができる。フレームデータの表面に、実物の玩具体から取得したテクスチャデータをマッピングすることで、ゲームにおいて玩具体をあたかも実際に操作しているかのような表現が可能となる。
【0032】
本実施形態では、モデル毎に、外形、及び、可動する関節が異なっている。例えば、モデルAの玩具体では、足首が稼働するが股関節は固定されているのに対し、モデルBの玩具体では足首が稼働しないが、その代わりに股関節が稼働する、という場合がある。この場合、モデルAに対応するフレームデータ405は、足首は稼働するが股関節は固定されており、モデルBに対応するフレームデータ405は、足首は固定されている一方で股関節は稼働する。このように実際の玩具体の構造上の特性をフレームデータに含めることで、玩具体の外観情報を取り込んで行うゲームにおいて、玩具体の構造上の特性が反映されることとなる。
【0033】
次に、
図4(B)は、スキャン処理により取り込んだ情報等をユーザ毎の登録情報として登録するテーブル410の構成例を示す。テーブル410は、ユーザ情報411、モデル名412、スキャン情報413、ゲーム用データ414を登録する。ユーザ情報411は、スキャンにより取り込まれた玩具体の所有者であるユーザ(或いは、プレイヤ)を一意に識別するための情報である。ユーザ情報411は、ゲームを実行する際のログイン情報として利用してもよい。モデル名412は、当該ユーザの所有する玩具体の種別を示す情報が登録される。モデル名412は、テーブル400においてモデル名401として登録されている情報のいずれか1つに対応する。
【0034】
スキャン情報413は、ユーザ名411に登録されているユーザが所有する玩具体をスキャンして得られたスキャン画像の情報が登録される。ゲーム用データ414には、スキャン情報413に基づいて生成された、ゲーム用データが登録される。ゲーム用データの生成方法については
図7のフローチャートを参照して後述する。
【0035】
次に
図5を参照して、本実施形態に対応する、情報処理装置100が実行する処理の一例を説明する。当該フローチャートに対応する処理の少なくとも一部は、情報処理装置100のCPU101が、ROM103や記憶装置104に記憶されたプログラムを実行することにより実現される。
【0036】
まずS501において、CPU101は、玩具体200の種別を判定する。種別の判定においては、例えば玩具体200の足裏の撮像画像を情報処理装置100に入力し、CPU101が撮像画像をモデル識別情報402に基づき画像処理することで、玩具の種別、即ちモデル名401を特定することができる。
【0037】
続くS502では、CPU101は特定されたモデル名401の情報に従い、テーブル400において対応する固定具情報403を特定する。このとき、CPU101は、表示制御部107を介して表示装置140に特定した固定具情報403の内容を表示してもよい。具体的には、固定具を特定するために必要な情報、例えば、固定具の色、素材、形状、固定具番号等、固定具を特定するために有意な情報を表示することができる。
【0038】
続くS503では、情報処理装置100のユーザが表示された固定具に関する情報に従い固定具300を選択し、玩具体200に取り付ける。固定具300により玩具体200の姿勢を固定することができる。その後、S504において、ユーザは玩具体200をターンテーブル上の固定部材に取り付けた後、固定具300を玩具体200から取り外す。なお、S503及びS504の工程は人的な手段に依らず、ロボットアーム等を用いてCPU101の制御により行ってもよい。
【0039】
続くS505では、CPU101はS501で判定した玩具体200の種別に応じた撮像系制御情報404をテーブル400から取得し、S506においてスキャン処理を実行してスキャン情報413を生成する。続くS507では、CPU101はスキャン情報413に基づきゲーム用データ414を生成する。
【0040】
次に、
図6を参照して、S506におけるスキャン処理の詳細を説明する。本実施形態においては、撮像制御情報404にはスキャン位置を特定するためのロボットアーム120の駆動情報、当該スキャン位置におけるスキャナ110の撮像回数がスキャン位置毎に登録されている。そして、各スキャン位置において撮像を行う際に、ターンテーブル130を回転させることでスキャンが行われる。
【0041】
まず、S601では、CPU101はロボットアーム120を制御して、スキャナ110を撮像制御情報404に登録されたいずれかのスキャン位置に移動させる。続くS602では、CPU101は、当該スキャン位置においてターンテーブル130を回転させながらスキャナ110で3Dデータの撮像を行うことで、玩具体200のスキャン情報413を取得する。またこのとき、ターンテーブル130を特定の回転位置で停止し、ロボットアーム120を制御して縦方向にスキャナ110に移動させながら玩具体のスキャンを行ってもよい。
【0042】
続くS603では、CPU101は撮像制御情報404において未選択のスキャン位置があるかどうかを判定し、未選択のスキャン位置がある場合は、S601に戻って処理を継続する。一方、未選択のスキャン位置が無い場合、S604に移行する。S604では、CPU101は、以上により得られたスキャン情報をテーブル410のスキャン情報413として記憶装置104に記憶させ、スキャン処理を終了する。
【0043】
次に、
図7を参照して、S506において得られたスキャン情報に基づき、ゲーム用データ414を生成するS507の処理の詳細を説明する。まず、S701において、CPU101は、特定された玩具体の種別に対応するフレームデータ405をテーブル400から読み出す。続くS702では、表示制御部107により、スキャン情報とフレームデータ405とを表示装置140に表示しつつ、フレームデータ405上にスキャン情報が重畳されるよう、スキャン情報の位置や角度を修正する。このとき、CPU101は、フレームデータ405に基づきスキャン情報の位置合わせのためのガイド画面を表示し、スキャン情報をガイド画面に合わせて位置決めするようにしてもよい。
【0044】
S702の処理は、スキャン情報について設定されている座標系(スキャン処理時に設定されるものであり、同一の種別の玩具体であっても個々のスキャン情報によりばらつきがある。)を、フレームデータ405の座標系に合わせて調整するための処理である。スキャン情報とフレームデータ405とは、本来同じ種別の玩具体の情報であるので共通の座標系で表示した際にはそのまま重畳表示されるはずである。しかし、スキャン処理により生成されたスキャン情報の座標系には、若干のズレが生じていることがあり、そのズレの影響により共通の座標系で表示した際にもフレームデータ405に対してズレが生ずる。S702では、この座標系のズレを調整するために、スキャン情報自体を移動或いは回転させるものである。
【0045】
図8は、S702における処理時に表示装置140に表示されるガイド画面の一例を示す。
図8(A)は、ガイド画面における操作パネル800の一例を示す。操作パネル800には、スキャン情報をどの方向から見るか(表示方向)を設定するための、表示方向について「上面」、「側面」、「正面」が表示されており、このうち「上面」を選択すると
図8(B)に示すような表示画面810が表示される。表示画面810には、玩具体200のスキャン情報811を上側から、即ち、玩具体200の頭部201を上側から見たような画像が表示される。このとき、スキャン情報811に対して、フレームデータ405の対応する輪郭位置をガイド情報812で示している。このガイド情報812とスキャン情報811の胸部の輪郭線とが一致するようにスキャン情報811の位置を移動及び回転することにより、スキャン情報811をフレームデータ405に重畳することができる。
【0046】
図8の例では、スキャン情報811が
図8(B)において上側にずれていると共に、反時計回りの方向に回転しているので、スキャン情報811を十字キーボタンで下側に移動させると共に、時計回りの方向の回転ボタンで回転させることで、
図8(C)に示すように、スキャン情報811の胸部の輪郭がガイド情報812と一致する。
【0047】
上面以外の「側面」や「正面」についても同様に位置合わせをすることで、スキャン情報811をフレームデータに重畳することが可能となる。例えば、「側面」が選択された場合、腰部の側面のガイド情報を表示して、スキャン情報811を位置合わせすることができる。また、「正面」が選択された場合、胸部と腰部の正面のガイド情報を表示してスキャン情報811を位置合わせすることができる。上記において、位置合わせはスキャン情報811とガイド情報との間にズレがある場合に行えばよい。スキャンの仕方によってはズレが生じない場合も当然にあり得るので、その場合にはズレを補正するための操作指示は不要となる。以上の位置合わせ処理が完了した後(操作指示なしで完了する場合もある)、「完了」ボタンを操作すると
図8のガイド画面の表示が終了し、S702における処理も終了する。
【0048】
図7の説明に戻り、S702においてスキャン情報の位置・角度の調整が完了すると、処理はS703に進み、CPU101は、玩具体の変形部分に対応する箇所に予め用意した画像を重畳する。S703はゲーム用のデータ(画像)をスキャン情報に重畳する位置を決定するための処理である。当該重畳位置は、玩具体の種別に対応するフレームデータ405において、予め設定された位置としてもよいし、
図9のガイド画面を利用して、スキャン情報上で受け付けた指定に基づいて決定してもよい。
玩具体の変形部分とは、玩具体の膝や肘といった折れ曲がる関節部分等の可動可能な部分である。本実施形態では、玩具体の腕や足を延ばした状態でスキャン情報を取得するため、そのようにして得られた関節部分をその後のゲーム中に曲げ伸ばし等の表示を行うと、関節部分の見え方が不自然になってしまう。そこで、関節部分等の変形する(可動する)箇所については、玩具体の種別ごとに予め用意した変形に対応する関節データを重畳して用いることとする。本実施形態では、玩具体の構造中、変形部分については、スキャン情報から得られるテクスチャデータの上に、予め用意した変形に対応する画像を重ねて表示することとしている。ただし、これに限られることはなく、スキャン情報から得られるテクスチャデータを用いない場合であっても良い。
【0049】
図9は、関節データをスキャン情報に重畳する際のガイド画面の一例を示す。
図9(A)の画面900はガイド画面における操作パネル900の一例を示す。操作パネル900には、関節データを玩具体のスキャン情報のどの関節位置に重畳するかを指定するための選択ボタンが表示されており、
図9(A)では、左上の選択ボタン901が選択された状態を示している。即ち、玩具体の右腕部分が選択されたものであり、このときのスキャン情報の表示画面910を
図9(B)に示す。スキャン情報911の右腕関節部分に関節データ912が重畳表示されている。しかし
図9(B)では、右腕部と関節データ912の角度が一致していないので、操作パネル900の反時計回りの回転方向のボタンを操作して、
図9(C)に示すように、スキャン情報911の右腕部上において関節データ912の位置を決めることができる。なお、関節データ912は、玩具体のモデルごとに用意いてもよいし、1つの関節データ912を複数のモデルについて共通に使用してもよい。上記において、スキャン情報911と関節データ912との位置合わせは両者の間にズレがある場合に行えばよい。スキャンの仕方によってはズレが生じない場合も当然にあり得るので、その場合にはズレを補正するための操作指示は不要となる。以上の位置合わせ処理が完了した後(操作指示なしで完了する場合もある)、「完了」ボタンを操作すると
図9のガイド画面の表示が終了し、S703における処理も終了する。
【0050】
続くS704では、CPU101はゲーム用データを生成する。具体的には、CPU101は、上述の処理により生成されたスキャン情報に基づきフレームデータにマッピングするためのテクスチャ情報を生成すると共に、当該テクスチャ情報をフレームデータ上にマッピングする際のテクスチャ座標と関連付け、テーブル410のゲーム用データ414として記憶装置104に記憶させる。CPU101は、S703において決定した関節データをマッピングする位置の情報もゲーム用データに含める。マッピング位置の情報は、玩具体の種別に対応するフレームデータ405において予め設定された位置、或いは、
図9のガイド画面を利用してスキャン情報上で受け付けた指定に基づいて決定された位置となる。以上により、ゲーム用データ414を生成することができる。
【0051】
なお、上記においてはロボットアーム120を利用して、スキャナ110の位置・姿勢を制御していたが、ロボットアーム120の代わりに手動で位置決めを行ってもよい。
【0052】
次に
図10は、上述の処理により生成されたゲーム用データを用いてゲームを実行する際の処理の一例を説明する。当該フローチャートに対応する処理の少なくとも一部は、情報処理装置100のCPU101が、ROM103や記憶装置104に記憶されたプログラムを実行することにより実現される。
【0053】
まず、S1001において、CPU101はユーザ選択を受け付ける。例えば、表示装置140に入力画面を表示し、ユーザ情報の入力を受け付ける。ユーザ情報は、ログイン名とパスワードのセットであってもよい。これらの情報はユーザ情報411としてテーブル410に登録されている。
【0054】
S1001において入力された情報によりユーザが特定されると、続くS1002においてCPU101は、当該ユーザと関連付けて登録されているゲーム用データ414の情報をテーブル410から読み出し、表示装置140に表示する。本実施形態においては、1人のユーザについて複数のゲーム用データを登録することが可能であり、複数のゲーム用データ414が登録されている場合は、それらのアイコン画像等を表示装置140に表示してユーザからの選択を受け付ける。ゲーム用データ414が選択されると、処理はS1003に移行し、ゲーム処理を開始する。当該ゲームは、例えば、仮想空間内の所定のフィールド上でゲーム用データから生成されたキャラクタ(ロボット、人物、車両、航空機等)を対戦させるオンライン、又はオフラインの対戦型のゲームとすることができる。対戦相手は、ゲーム装置等のCPUでもよいし、他のユーザであってもよい。なお、ゲームの種類は対戦ゲームに限らず、シミュレーションゲーム、ロールプレイングゲーム、アドベンチャーゲーム等、様々なゲームに適用可能である。なお、複数人がゲームに参加する場合は、S1001とS1002の処理を人数分繰り返した後にS1003を実行する。
【0055】
S1003においては、選択されたゲーム用データ414に対応するフレームデータ405に、ゲーム用データ414に含まれるテクスチャ情報をマッピングすることにより、ゲームキャラクタを生成する。その際、
図7のS703で指定された可動部分については、ゲーム用データ414に含まれるテクスチャ情報の上に重ねて表示された予め用意した関節モデルのデータに基づいて、ゲームキャラクタの姿勢に応じた重畳画像を生成し、使用する。これにより、関節部分が折れ曲がる際に、より自然な表現が可能となる。
なお、上述の実施形態の説明においては、仮想空間内で実施されるゲームで使用するために、玩具体の外観の情報に基づいてゲーム用データを生成する場合を説明した。しかし、本実施形態において生成されるゲーム用データの用途はゲームに限定されるものではなく、仮想空間用データとして用いることで仮想空間上に表示される画像の生成を行うことができ、仮想空間内でキャラクタを動作させる処理に広く適用が可能である。例えば、仮想空間内で行われるイベント、コンサート、スポーツ、オンライン会議等に、当該キャラクタを登場させることも可能である。更には、クロスリアリティ(XR)のような現実世界と仮想世界とを融合し、現実空間には存在しないものを知覚可能とする映像技術において、本実施形態の技術を適用することもできる。
【0056】
このようにして本実施形態では、玩具体の外観の情報を取得し、当該外観情報からテクスチャ情報を生成してフレームデータにマッピングしてゲーム用のキャラクタとしてゲーム、或いは、任意の仮想空間内で使用することができる。玩具体は、例えばプラスチックモデルのように、ユーザが塗装等を行って独自の作品として仕上げているものがあり、それらの個性をゲームや仮想空間内のキャラクタ表現に反映することができるので嗜好性を格段に向上させることができる。
【0057】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【要約】
【課題】物品の外観に関する情報を精度高く取得し、仮想空間において利用可能とする。
【解決手段】三次元スキャナ装置で取得された物品の外観のスキャン情報から、仮想空間用データを生成する情報処理装置であって、物品をスキャンして得られた第1スキャン情報の座標系を物品のフレームデータの座標系に合わせて調整するための第1の画面に表示された第1スキャン情報に対する操作指示を受け付け、該操作指示の後に得られた第2スキャン情報とフレームデータとから仮想空間用データを生成する。
【選択図】
図1