以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲の記載内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、必須構成要件であるとは限らない。
1.画像生成システム
図1は、本実施形態の画像生成システム(画像生成装置、ゲーム装置、端末装置)の構成例を示すブロック図である。なお、本実施形態の画像生成システムは図1の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
操作部160は、プレーヤ(ユーザ)が種々の操作入力情報(入力情報)を入力するためのものである。操作部160は、例えば操作ボタン、方向指示キー、ジョイスティック、レバー又はタッチパネル型ディスプレイ等により実現できる。
撮影部162は、対象物の撮影を行うものであり、CCDやCMOSセンサなどの画像センサと、フォーカスレンズ等により構成される光学系などにより実現される。撮影部162としては、例えばデジタルカメラやビデオカメラなどのカメラを用いることができる。対象物(physical object)は、例えば現実世界の物体であり、撮影部162の被写体である。
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。プログラムや、プログラムの実行に必要なデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(hard disk drive)、SSD(Solid State Drive)、又は光ディスク装置などにより実現できる。記憶部170は、撮影画像情報記憶部176、仮想空間情報記憶部177、描画バッファ178を含む。撮影画像情報記憶部176は、撮影部162により撮影された撮影画像の情報を記憶する。例えば撮影画像群の情報を記憶する。仮想空間情報記憶部177は、3次元のオブジェクト空間である仮想空間についての情報を記憶する。例えば仮想空間に配置されるオブジェクトの情報などを記憶する。描画バッファ178は、フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファである。
情報記憶媒体180は、コンピュータにより読み取り可能な媒体であり、プログラムやデータなどを格納するものである。情報記憶媒体180は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(Head Mounted Display)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ又はヘッドホン等により実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、プレーヤが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(或いは記憶部170)に配信してもよい。このようなサーバによる情報記憶媒体の使用も本実施形態の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作入力情報やプログラムなどに基づいて、ゲーム処理、編集処理、取得処理、分析処理、移動処理、テクスチャ生成処理、画像生成処理、或いは音生成処理などを行う。
処理部100の各部が行う本実施形態の各処理はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することもできる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部100は、ゲーム処理部106、編集処理部108、取得部110、分析部111、移動処理部112、テクスチャ生成部114、画像生成部120、音生成部130を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
ゲーム処理部106はプレーヤがゲームをプレイするための種々のゲーム処理を行う。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
編集処理部108は撮影画像をプレーヤが編集するための編集処理を行う。取得部110は、撮影部162により撮影された撮影画像の取得処理を行う。例えば撮影部162から撮影画像の情報を受信したり読み出したりする処理を行う。分析部111は、対象物に対する分析処理を行う。例えば対象物の撮影画像に基づいて対象物のシルエット分析などの分析処理を行う。
移動処理部112は、仮想空間においてプリミティブ等のオブジェクトを移動させる処理を行う。例えば本実施形態では、複数のオブジェクトが配置される仮想空間(オブジェクト空間)の設定処理が行われる。例えば、移動体(人、ロボット、車、電車、飛行機、船、モンスター又は動物等)、マップ(地形)、建物、観客席、コース(道路)、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブで構成されるオブジェクト)を仮想空間に配置設定する処理が行われる。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)が決定され、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトが配置される。具体的には、記憶部170の仮想空間情報記憶部177には、仮想空間情報として、仮想空間でのオブジェクトの位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報が、オブジェクト番号に対応づけて記憶される。この仮想空間情報であるオブジェクト情報を、例えば各フレーム毎に更新する処理などが行われる。そして移動処理部112は、このように設定された仮想空間において、プリミティブ等のオブジェクトを移動させる処理を行う。例えばプリミティブ等のオブジェクトの情報を更新する処理を行う。またオブジェクトを動作させるモーション処理など行う。
テクスチャ生成部114は、プリミティブにマッピングするテクスチャの生成処理を行う。例えば取得部110により取得された撮影画像に基づいてテクスチャを生成する処理を行う。
画像生成部120は、画像の生成処理を行う。例えば処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178に描画する。これにより、仮想空間において仮想カメラから見える仮想空間画像が生成される。なお画像生成部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音の生成処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などを生成し、音出力部192に出力させる。
そして本実施形態の画像生成システムは、図1に示すように、取得部110と記憶部170と移動処理部112とテクスチャ生成部114と画像生成部120を含む。
取得部110は、撮影部162により対象物を複数の撮影方向から撮影することで得られる撮影画像群を取得する。撮影画像群は、例えばデジタルカメラにより撮影された複数の静止画であってもよいし、デジタルカメラやビデオカメラにより撮影された動画を構成する複数の画像であってもよい。この場合には撮影画像群は例えばMPEG等により符号化された動画を構成する画像群になる。即ち撮影画像群はMPEG等のムービー映像であってもよい。なお本実施形態の画像生成システムは撮影部162を有していなくてもよく、この場合には、取得部110は、I/F部194や通信部196を介して撮影画像を取得する。
記憶部170は、取得された撮影画像群を記憶する。例えば取得部110が撮影画像群を取得すると、取得された撮影画像群の情報が記憶部170に保存されて記憶される。具体的には記憶部170の撮影画像情報記憶部176が撮影画像群の情報を記憶する。
移動処理部112は、移動制御情報に基づいて、仮想空間においてプリミティブを移動させる処理を行う。例えば移動制御情報に基づいて、仮想空間においてプリミティブを並進移動させたり回転移動させる処理を行う。移動制御情報は、プリミティブの移動制御を行うための情報である。移動制御情報としては、例えば操作部160などを用いてプレーヤにより入力される操作入力情報を用いることができる。或いはプリミティブの一連の移動を制御する移動制御情報を記憶部170に記憶しておき、記憶された移動制御情報を記憶部170から読み出すことで、プリミティブの移動制御を行うようにしてもよい。このようにすれば、移動制御情報に応じてプリミティブが自動的に移動するような移動制御を実現できる。これにより、例えば対象物に対応する表示物(例えば魚や動物等)の観賞を可能にするような画像生成システムなどを実現できる。
テクスチャ生成部114は、プリミティブの移動制御情報に応じて撮影画像群(第1、第2の撮影画像群の一方の撮影画像群)から選択された撮影画像に基づいて、プリミティブにマッピングするテクスチャを生成する処理を行う。例えばプリミティブの移動制御情報に基づいて、撮影画像群(第1、第2の撮影画像群の一方の撮影画像群)から当該移動制御情報に対応する撮影画像を記憶部170から読み出す。そしてテクスチャ生成部114は、読み出された撮影画像に基づいてテクスチャを生成する。例えば対象物を撮影した撮影画像のうち、対象物の映る部分をテクスチャの画像として生成する。具体的には、撮影画像のうちの背景の画像の部分を透明にし、対象物の画像の部分を切り抜いて、テクスチャを生成する。当該テクスチャをプリミティブにマッピングすることで、対象物に対応する表示物の画像を表示できるようになる。ここでプリミティブは、例えばプリミティブ面であり、例えばポリゴンである。具体的にはプリミティブは、仮想カメラに対して正対して配置されるビルボードポリゴンである。なおプリミティブは、自由曲面やサブディビジョンサーフェイスなどであってもよい。
画像生成部120は、移動制御情報に応じて変化するテクスチャを、プリミティブにマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成する。例えば移動制御情報に応じて撮影画像群から選択された撮影画像に基づくテクスチャを、プリミティブにマッピングすることで、プリミティブにマッピングされるテクスチャが、プリミティブの移動制御情報に応じて変化するようになる。即ち対象物を複数の撮影方向から撮影することで得られた撮影画像群の中から、プリミティブの移動制御状態に適合した撮影画像を選択し、選択された撮影画像に基づき生成されたテクスチャを、プリミティブにマッピングする。このようにすることで、プリミティブの移動制御の状態に応じたテクスチャの画像がプリミティブにマッピングされて、対象物に対応する表示物が表示された仮想空間画像を生成できるようになる。
また移動処理部112は、プリミティブと仮想カメラの位置関係が固定された状態で、プリミティブ及び仮想カメラを移動制御情報に応じて移動させる処理を行う。例えばプリミティブと仮想カメラとの距離が一定距離になるようにプリミティブと仮想カメラの位置関係を固定する。一例としては、プリミティブが仮想カメラと正対し、且つ、プリミティブと仮想カメラとの距離が一定距離になるようにプリミティブと仮想カメラの位置関係を固定する。プリミティブが仮想カメラに正対する状態は、例えば仮想カメラの視線方向がプリミティブの面に直交する状態である。そして移動処理部112は、このようにプリミティブと仮想カメラの位置関係が固定された状態で、プリミティブ及び仮想カメラを一体にして移動させる処理を行う。例えば仮想空間において上、下、左又は右に並進移動させる移動制御情報である場合には、移動処理部112は、プリミティブ及び仮想カメラを上、下、左又は右に並進移動させる処理を行う。或いは、仮想空間においてX軸、Y軸又はZ軸回りに回転移動させる移動制御情報である場合には、移動処理部112は、プリミティブ及び仮想カメラをX軸、Y軸又はZ軸回りに回転移動させる処理を行う。
また撮影部162は、対象物と、対象物の背景を撮影する。撮影部162は画像生成システムが有するものであってもよいし、画像生成システムとは別個に設けられるものであってもよい。テクスチャ生成部114は、撮影画像の各ピクセルの色が、背景の色に対応する色か否かを判断する。そして背景の色に対応する色のピクセルであると判断された場合には、背景の色に対応する色のピクセルを透明にする処理を行うことで、テクスチャを生成する。例えばテクスチャ生成部114は、撮影画像の各ピクセル毎に、各ピクセルの色が背景に対応する色か否かを判断する。例えば撮影部162により対象物を撮影する際に、背景の色が緑又は青等の所定色に設定される。例えば対象物の色とは異なる所定色に、背景の色が設定される。例えば対象物が複数の色を有する場合には、これらの複数の色のいずれとも異なる所定色に、背景の色が設定される。例えば撮影時において対象物の周囲に配置される背景物が所定色に設定される。背景の色は、対象物の色と補色の関係の色に設定されていることが望ましい。そしてテクスチャ生成部114は、処理対象となるピクセルが、背景に対応する色(例えば緑又は青等)のピクセルであると判断された場合には、当該ピクセルを透明にする処理を行う。例えば半透明処理であるα合成において、当該ピクセルのα値を0に設定することで、当該ピクセルを透明なピクセルにする。なお以上のようなピクセル毎の処理はピクセルシェーダなどにより実現できる。
またテクスチャ生成部114は、撮影画像群により構成される動画のシーク制御を移動制御情報に基づいて行うことで、撮影画像群から撮影画像を選択し、選択された撮影画像に基づいてテクスチャを生成する。例えば撮影画像群の動画(ムービー)の早送りや巻き戻しのシーク制御を行い、移動制御情報に対応する撮影画像をシークして選択する。そして選択された撮影画像に基づいてテクスチャを生成する。このようにして生成されたテクスチャが、移動制御情報に応じて並進移動や回転移動するプリミティブにマッピングされる。
また撮影画像群(第1、第2の撮影画像群)は、対象物に対する撮影部162の撮影方向の変化が180度以上の撮影方向範囲となる画像群である。望ましくは後述の図9に示すように、撮影画像群は、対象物に対する撮影部162の撮影方向の変化が360度の撮影方向範囲となる画像群である。例えば撮影部162の撮影方向は対象物の方に向いており、対象物を注視する方向に撮影方向が設定されている。撮影方向範囲は、対象物を注視した状態で撮影方向の角度が0度〜βと変化する範囲である。そして本実施形態ではβが180度以上に設定されており、望ましくは図9に示すようにβ=360度になっている。
また移動処理部112は、移動制御情報に応じてプリミティブに対する相対的位置関係が変化する第2のプリミティブの移動処理を行う。例えばプリミティブを基準にして第2のプリミティブを回転移動するなどの移動処理を行う。そして画像生成部120は、テクスチャがマッピングされたプリミティブの画像と、第2のプリミティブの画像とを含む画像を、仮想空間画像として生成する。例えばプリミティブは、対象物に対応する表示物の画像を表示するためのものであり、当該プリミティブには、対象物の撮影画像に基づくテクスチャがマッピングされる。一方、第2のプリミティブは、例えば対象物に対応する表示物の付随物の画像を表示するためのものである。付随物は、例えば表示物のエフェクト、所持品、装飾品、装備品、武器又は防具などの表示物であり、第2のプリミティブの画像は、表示物のエフェクト、所持品、装飾品、装備品、武器又は防具などの画像になる。第2のプリミティブは、例えばビルボードポリゴン等のポリゴンであってもよいし、自由曲面やサブディビジョンサーフェイスなどであってもよい。或いは第2のプリミティブは、表示物の付随物を表す3次元オブジェクトを構成するものであってもよい。このような第2のプリミティブを用いれば、現実世界の対象物には無いエフェクト、所持品、装飾品、装備品、武器又は防具等の画像を、対象物に対応する表示物に付加して表示できるようになる。
また移動処理部112は、対象物の分析結果に基づき設定される第2のプリミティブの初期配置位置から、プリミティブを基準に第2のプリミティブを移動させる処理を行う。例えば初期配置位置からプリミティブを基準に第2のプリミティブを移動させる処理を、移動制御情報に基づいて行う。例えば分析部111が、現実世界の物体である対象物の分析処理を行う。例えば分析部111は、対象物のシルエット分析等の分析処理を行って、対象物の種類や形状等を特定する。そして移動処理部112は、対象物の種類や形状等に応じた初期配置位置に、第2のプリミティブを配置し、当該初期配置位置から、プリミティブを基準に第2のプリミティブを回転移動したり並進移動させる処理を行う。例えば対象物が第1の種類や第1の形状である場合には、第1の初期配置位置に第2のプリミティブを配置して移動処理を行い、対象物が第2の種類や第2の形状である場合には、第2の初期配置位置に第2のプリミティブを配置して移動処理を行う。
また画像生成部120は、第2のプリミティブの隠面消去処理を、移動制御情報に応じて行う。即ち第2のプリミティブは、移動制御情報に応じてプリミティブに対する相対的位置関係が変化するように回転移動したり、並進移動する。そしてプリミティブにより表される表示物に対して、第2のプリミティブにより表される付随物が、仮想カメラから見て隠れる位置に来たと移動制御情報に基づき判断された場合に、第2のプリミティブの隠面消去処理を行う。そしてあたかも、プリミティブにより表される表示物によって、第2のプリミティブにより表される付随物が隠れて見えるようにする隠面消去処理を行う。このようにすることで表示物とその付随物の画像を矛盾なく表示することが可能になる。
また第2のプリミティブの画像は、例えばエフェクト画像である。例えば第2のプリミティブの画像は、光、炎、煙、噴射、点滅、爆発、武器攻撃又は魔法攻撃などを表す特殊なグラフィックであるエフェクト(ゲームエフェクト)の画像である。このように第2のプリミティブの画像としてエフェクトの画像を用いれば、現実世界の対象物では発生できないエフェクトを、ゲーム空間である仮想空間内において発生できるようになる。
また画像生成部120は、仮想空間画像として、プリミティブの画像と、仮想空間に設定される複数のオブジェクトの画像とを含む画像を生成する。そして生成された仮想空間画像に対してポストエフェクト処理を行う。例えばぼかし処理、明るさの調整処理又は色相の調整処理などのポストエフェクト処理を行う。具体的には画像生成部120は、他のオブジェクトが表示される仮想空間画像に対して、プリミティブにより表される表示物が違和感なく表示されるようにするポストエフェクト処理を行う。例えばプリミティブにより表される表示物の輪郭をぼかすようなポストエフェクト処理を行って、表示物と仮想空間画像の境界である輪郭が目立たなくなるようにする。また表示物の明るさと、周囲の仮想空間画像の明るさに差があった場合に、画像生成部120は、この差を小さくするようなポストエフェクト処理を行う。例えばプリミティブにマッピングされるテクスチャは、現実世界において対象物を撮影することで得られる撮影画像に基づき生成されている。このため、撮影環境に応じてテクスチャの画像の明るさも変動し、表示物の画像の明るさと、表示物の周囲の仮想空間画像の明るさとの間に差が生じてしまうが、この明るさの差を低減するようなポストエフェクト処理を画像生成部120が行う。
また取得部110は、他の表示物に対応する他の対象物を複数の撮影方向から撮影することで得られる他の表示物用の撮影画像群を取得する。即ち、プリミティブに対応する表示物とは異なる他の表示物に対応する他の対象物を撮影した他の表示物用の撮影画像群を取得する。例えばプリミティブにより表される表示物がキャラクタであった場合に、他の表示物は、例えば当該キャラクタと戦う敵キャラクタなどである。そしてテクスチャ生成部114は、他の表示物用の移動制御情報に応じて他の表示物用の撮影画像群から選択された撮影画像に基づいて、他の表示物用のテクスチャを生成する。そして画像生成部120は、他の表示物用の移動制御情報に応じて変化する他の表示物用のテクスチャを、他の表示物用のプリミティブにマッピングして、仮想空間画像を生成する。例えば移動処理部112は、他の表示物用の移動制御情報に応じて、他の表示物用のプリミティブを仮想空間において移動させる処理を行う。そして、このように移動する他の表示物用のプリミティブに対して、他の表示物用の移動制御情報に応じて変化する他の表示物用のテクスチャをマッピングする。これにより、例えば敵キャラクタなどの他の表示物のリアルな画像を、少ない処理負荷で生成することが可能になる。
また画像生成部120は、プリミティブの周囲にパーティクルが表示される画像を、仮想空間画像として生成する。例えば仮想空間において、プリミティブの周囲にパーティクルが配置されるようにパーティクルを発生して、仮想空間画像を生成する。例えば画像生成部120は、パーティクルを発生させるエフェクト処理(ポストエフェクト処理)を行う。このようにプリミティブの周囲にパーティクルが存在することで、プリミティブに対応する表示物が、仮想空間内において違和感なく移動する仮想空間画像を生成できるようになる。
また本実施形態の画像生成システムは、後述の図18に示すように、カメラ等の撮影部162と、対象物POBが配置される配置部10(載置部)と、回転移動機構12を含むことができる。回転移動機構12は、配置部10に配置された対象物POBに対する撮影部162の撮影方向を変化させるための回転移動を行う機構である。図18では、モーターなどの駆動部により実現される回転移動機構12により、ターンテーブルのように配置部10を回転させることにより、対象物POBに対する撮影部162の撮影方向を変化させている。このような配置部10と回転移動機構12を設けることで、対象物POBに対する撮影部162の撮影方向が所定角度以上の撮影方向範囲となる撮影画像群を取得できるようになる。
また本実施形態の画像生成システムは、対象物を空中に浮遊させた状態で支持する支持部を含んでもよい。例えば後述の図19に示すように、支持部16により対象物POBを支持することで、対象物POBを空中に浮遊させた状態で撮影部162により撮影できるようにする。例えば対象物POBの脚部等が配置部10から離れた状態で、対象物POBを支持部16により支持して、撮影部162により対象物POBを複数の撮影方向から撮影して撮影画像群を取得するようにする。このようにすることで、例えばアニメなどにおいて飛行可能なキャラクタとして登場するロボットなどのプラモデルを対象物POBとして撮影して、仮想空間に登場させることが可能になる。
また取得部110は、第1の撮影画像群と第2の撮影画像群を取得する。なお取得する撮影画像群は2つに限定されず、3つ以上の撮影画像群を取得してもよい。即ち取得部110は、第1〜第Kの撮影画像群(Kは2以上の整数)を取得できる。第1の撮影画像群は、撮影部162により対象物を複数の撮影方向から撮影することで得られる撮影画像群である。一方、第2の撮影画像群は、ポーズを変化させた対象物、付随物を付加した対象物又は形状変形させた対象物を複数の撮影方向から撮影することで得られる画像群である。例えば第1の撮影画像群における対象物のポーズ(姿勢)を変化させた対象物(第2の対象物)を、撮影部162により複数の撮影方向から撮影することで第2の撮影画像群を取得する。或いは、第1の撮影画像群における対象物に対して、武器、防具、装備品、装飾品又は所持品などの付随物を付加(装備、所持)した対象物(第2の対象物)を、撮影部162により複数の撮影方向から撮影することで第2の撮影画像群を取得する。或いは、第1の撮影画像群における対象物を形状変形させた対象物(第2の対象物)を、撮影部162により複数の撮影方向から撮影することで第2の撮影画像群を取得する。例えば異なる形状に対象物が変形する変身状態に設定して、複数の撮影方向から撮影して、第2の撮影画像群を取得する。或いは、第1の撮影画像群を加工した画像群を第2の撮影画像群として取得してもよい。例えば第1の撮影画像群の縮小拡大などのサイズ変更の加工処理を行ったり、第1の撮影画像群に対してぼかし処理などの画像エフェクト処理の加工処理を行ったり、第1の撮影画像群の色、明るさ又はコントラストを変更する加工処理を行ったり、或いは第1の撮影画像群の左右反転、上下反転又は回転などの加工処理を行ったりすることで、第2の撮影画像群を取得する。そして記憶部170(撮影画像情報記憶部176)は、このようにして取得された第1、第2の撮影画像群を記憶し、移動処理部112は、仮想空間においてプリミティブを移動させる処理を行う。そしてテクスチャ生成部114は、第1、第2の撮影画像群から、プリミティブにマッピングするテクスチャを生成し、画像生成部120は、生成されたテクスチャを、プリミティブにマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成する。例えばテクスチャ生成部114は、第1、第2の撮影画像群から、所定手順の処理により得られた撮影画像に基づいて、テクスチャを生成する。そして画像生成部120は、所定手順の処理により得られた撮影画像に基づくテクスチャを、仮想空間内で移動するプリミティブにマッピングすることで、対象物に対応する表示物が表示された仮想空間画像を生成する。
またテクスチャ生成部114は、プレーヤの操作入力情報に応じて、第1、第2の撮影画像群の一方の撮影画像群を選択する。そして選択された一方の撮影画像群の撮影画像に基づいて、テクスチャを生成する。例えばプレーヤが操作部160を用いて入力した操作入力情報を取得し、この操作入力情報に基づいて、第1、第2の撮影画像群の一方の撮影画像群を選択する。例えば操作入力情報に基づいてプレーヤが第1の操作を行ったと判断された場合には、第1の撮影画像群を選択し、第1の撮影画像群の撮影画像に基づいて、プリミティブにマッピングされるテクスチャを生成する。一方、プレーヤが第2の操作を行ったと判断された場合には、第2の撮影画像群を選択し、第2の撮影画像群の撮影画像に基づいて、プリミティブにマッピングされるテクスチャを生成する。このようにすれば、第1、第2の撮影画像群のうち、プレーヤの操作入力情報に対応した撮影画像群から撮影画像を選択して、テクスチャを生成し、対象物に対応する表示物を表示するためのプリミティブにマッピングできるようになる。従って、プレーヤの操作入力情報に応じた適切な撮影画像がマッピングされた表示物を、仮想空間に登場させることが可能になる。
またテクスチャ生成部114は、対象物の分析結果と、プレーヤの操作入力情報に応じて、第1、第2の撮影画像群の一方の撮影画像群を選択し、選択された一方の撮影画像群の撮影画像に基づいて、テクスチャを生成する。例えば分析部111は、対象物のシルエット分析等の分析処理を行って、対象物の種類や形状等を特定する。そしてテクスチャ生成部114は、対象物の分析結果である対象物の種類や形状等と、プレーヤの操作入力情報とに基づいて、第1、第2の撮影画像群の一方の撮影画像群を選択する。例えば、分析処理により、対象物が第1の種類又は第1の形状であることが分析され、操作入力情報に基づいてプレーヤが第1の操作を行ったと判断された場合には、第1の撮影画像群を選択し、第1の撮影画像群の撮影画像に基づいて、プリミティブにマッピングされるテクスチャを生成する。一方、分析処理により、対象物が第2の種類又は第2の形状であることが分析され、操作入力情報に基づいてプレーヤが第2の操作を行ったと判断された場合には、第2の撮影画像群を選択し、第2の撮影画像群の撮影画像に基づいて、プリミティブにマッピングされるテクスチャを生成する。このようにすることで、対象物の分析結果とプレーヤの操作入力情報の両方に応じた適切な撮影画像がマッピングされた表示物を、仮想空間に登場させることが可能になる。
またテクスチャ生成部114は、第1の撮影画像群の撮影画像と第2の撮影画像群の撮影画像を合成することで、テクスチャを生成する。例えば第1、第2の撮影画像群の撮影画像のα合成などの合成処理を行うことで、合成画像を生成し、合成画像に基づいてテクスチャを生成し、表示物に対応するプリミティブにマッピングする。例えば第1の撮影画像群の撮影画像に基づくテクスチャをプリミティブにマッピングした後、第1、第2の撮影画像群の撮影画像の合成画像に基づくテクスチャをプリミティブにマッピングする。そして、その後に、第2の撮影画像群の撮影画像に基づくテクスチャをプリミティブにマッピングする。このようにすれば、第1の撮影画像群の撮影画像に基づく表示物の画像から、第2の撮影画像群の撮影画像に基づく表示物の画像へとスムーズに切り替えることができ、擬似的なモーション補間処理などを実現することが可能になる。
またゲーム処理部106は、対象物の分析結果に基づいて、プレーヤがプレイするゲームのゲームパラメータを設定し、設定されたゲームパラメータに基づいてゲーム処理を行う。例えば対象物の分析結果に基づいて、対象物の種類や形状等が特定される。そして対象物の種類や形状等に基づいて、対象物に対応するキャラクタ等の表示物のゲームパラメータが設定される。例えば攻撃力、守備力、耐久力、移動能力、走行能力、特殊能力、特殊スキル、ヒットポイント、マジックポイント又はレベル等のゲームパラメータが設定される。そして設定されたゲームパラメータに基づいて、キャラクタ等の表示物が登場するゲームの処理が行われる。例えばゲームの開始処理、ゲームの進行処理、ゲームの終了処理又はゲーム成績の演算処理などが行われる。
また取得部110は、第1の撮影画像群を受け付けた後、第2の撮影画像群を受け付けた場合に、第2の撮影画像群が第1の撮影画像群と異なる撮影画像群か否かを判断する。そして異なる撮影画像群と判断された場合に、第2の撮影画像群を記憶部170に記憶する。即ち、第2の撮影画像群を受け付けた場合に、第2の撮影画像群が、過去に撮影した第1の撮影画像群と異なる撮影群か否かを判断する。そして取得部110は、第2の撮影画像群が、第1の撮影画像群とは異なる撮影画像群である場合に、当該第2の撮影画像群を記憶部170に記憶して保存する。例えば第2の撮影画像群に映る対象物が、ポーズを変化させた対象物、付随物を付加した対象物、或いは形状変形した対象物である場合には、第2の撮影像群が第1の撮影画像群とは異なる撮影画像群であると判断されるようになる。第3の撮影画像群を受け付けた場合にも、第3の撮影画像群が第1の撮影画像群や第2の撮影画像群と異なる撮影画像群か否かを判断し、異なる撮影画像群である場合に、第3の撮影画像群を記憶部170に記憶して保存する。異なる撮影画像群か否かは、例えば撮影画像に映る対象物の形状又は色などに基づいて判断できる。
また編集処理部108は、第1、第2の撮影画像群からテクスチャを生成する際に撮影画像に対するプレーヤの編集を受け付ける編集処理を行う。例えば本実施形態では第1、第2の撮影画像群の撮影画像に基づいてテクスチャが生成されるが、当該テクスチャを生成する際に、撮影画像に対するプレーヤの編集を可能にする。例えば撮影画像を修正する編集や、撮影画像にマーク、アイコンなどの付加表示物を付加する編集や、撮影画像を変形するなどの編集を、プレーヤが行えるようにする。そして編集後の撮影画像に基づくテクスチャを生成して、仮想空間を移動するプリミティブにマッピングする。
2.本実施形態の手法
次に本実施形態の手法について詳細に説明する。
2.1 概要
まず、本実施形態の手法の概要について説明する。従来より、フォトグラメトリと呼ばれる手法が知られており、このフォトグラメトリでは、現実世界の対象物を複数の撮影方向から撮影した撮影画像に基づいて3Dスキャンを行って、仮想空間に配置可能な3次元モデルを生成する。しかしながら、3Dスキャンでは、撮影画像の解像度に限界があるため、対象物が精細な形状を有していた場合に、この精細な形状を忠実に再現した3次元モデルを生成することは困難である。また3Dスキャンにより3次元モデルを生成する処理は、コンピュータの処理負荷が非常に重いため、対象物を撮影した後、短時間で、対象物に対応する3次元モデルの表示物を仮想空間に出現させることが難しいという問題もある。
そこで本実施形態では、対象物の撮影画像に基づき3Dスキャンの解析処理を行うのではなく、対象物の撮影画像を用いてテクスチャを生成する。そして撮影画像に基づき生成されたテクスチャを仮想空間のプリミティブにマッピングすることで、対象物に対応する表示物が表示される仮想空間画像を生成する。具体的には移動制御情報に基づいて、ポリゴン等で実現されるプリミティブを仮想空間内で移動させる。移動制御情報としては、例えばプレーヤの操作入力情報を用いることができる。或いは予め決められた軌道に沿ってプリミティブを移動させるような移動制御情報であってもよい。そして、プリミティブの移動制御に用いる移動制御情報を用いて、対象物を撮影した複数の撮影画像の中から適切な撮影画像を選択する。そして選択された撮影画像に基づき生成されたテクスチャを、移動制御情報に基づき移動するプリミティブに対してマッピングして、仮想空間において仮想カメラから見える画像である仮想空間画像を生成する。即ち、プリミティブにテクスチャをマッピングすることで、対象物に対応するキャラクタ等の表示物の画像を生成し、この表示物の画像を含む仮想空間画像を生成する。このようにすることで、3Dスキャンのような負荷の重い処理を行うことなく、対象物の形状が忠実に再現された表示物の画像を含む仮想空間画像を生成できるようになる。
具体的には図2(A)に示すように本実施形態では、撮影部162により対象物POBを複数の撮影方向から撮影する。図2(A)では、対象物POBは、ロボットのプラモデルである。この対象物POBを、ターンテーブルである配置部10に配置し、モーター等により実現される回転移動機構12を用いて配置部10を回転させる。例えば30〜60秒程度の撮影時間において、配置部10を360度、回転させる。また対象物POBの背景として、グリーンバックやブルーバック等の単色の背景部20が配置されている。このようにすることで、例えば後述の図9のように360度の撮影方向範囲で撮影部162により対象物POBを撮影できるようになり、対象物POBを360度の撮影方向範囲で撮影した画像を得ることができる。具体的には撮影部162によりムービー撮影を行うことで、360度の撮影方向範囲で撮影した動画(ムービー)である撮影画像群を得ることができる。
そして本実施形態では、このような撮影の終了後、図2(B)に示すようにワンアクションの短い時間で、対象物POBに対応するキャラクタCH(広義には表示物)を、仮想空間に登場させて、このキャラクタCHを用いたゲームをプレーヤがプレイできるようにする。例えば図2(B)では、3次元のオブジェクト空間である仮想空間に、岩等の3次元のオブジェクトOB1、OB2、OB3が配置され、敵ロボットである敵キャラクタCHEも出現している。プレーヤはゲームコントローラー等の操作部160を操作することで、キャラクタCHをA1、A2に示すように動かすことができる。またロボットであるキャラクタCHの画像には、補助装置であるバーニアの噴射炎VNの画像も表示されている。
なお以下では対象物がロボットのプラモデルである場合を主に例にとり説明するが、本実施形態はこれに限定されない。対象物は例えば戦艦等の艦船、戦闘機等の飛行機、戦車、車又は怪獣等のプラモデル、模型であってもよい。また対象物は、プラモデル、模型には限定されず、現実世界に実在する物体であればよい。例えば対象物としては、人形、フィギュアや、車、バイク又は自動車などの現実世界の乗り物や、家電、文房具、時計などの日常品や、彫刻、絵などの美術品や、ビル、橋などの建造物などの種々の物体(被写体)を想定できる。
次に本実施形態の画像生成手法について図3(A)〜図7を用いて詳細に説明する。まず図3(A)に示すように、ターンテーブルである配置部10に対象物POBを配置する。そして30〜60秒の撮影時間で、B1、B2に示すように配置部10を360度だけ回転させながら、グリーンバック等の背景部20を背景として、撮影部162により対象物POBを撮影する。そして撮影部162の例えばムービー撮影により得られた動画のデータが処理装置200に取り込まれる。この動画が、撮影部162により対象物POBを複数の撮影方向から撮影することで得られる撮影画像群に対応する。
なお、図3(A)では、本実施形態の画像生成システムを実現する処理装置200がPC(パーソナルコンピュータ)である場合の例が示されているが、本実施形態はこれに限定されない。画像生成システムを実現する処理装置200は、後述の図18に示すような業務用のゲーム装置であってもよいし、家庭用のゲーム装置などの他の形態の装置であってもよい。例えば処理装置200は、スマートフォン、タブレットPCなどの携帯型通信端末であってもよい。この場合には撮影部162は携帯型通信端末の内蔵カメラなどにより実現できる。
撮影部162の撮影により取得された動画である撮影画像群は、処理装置200の記憶部170に記憶される。例えば記憶部170の指定フォルダーに、例えば360度の撮影方向範囲での撮影画像群となる動画のデータが自動保存される。図3(B)は、撮影画像群(動画)に含まれる撮影画像IMの例である。この撮影画像IMは、図3(A)において対象物POBの背中側である後方側を、撮影部162より撮影した際の撮影画像である。撮影画像IMには、対象物POBの画像が映っていると共に、図3(A)の背景部20による背景BGの画像が映っている。背景BGは、例えばグリーンバックやブルーバックなどの単色背景である。なお図3(A)では撮影部162により対象物POBのムービー撮影を行うことで、撮影画像群を取得しているが、例えば撮影部162の撮影方向を変えながら、対象物POBのコマ撮り撮影を行うことで、撮影画像群を取得してもよい。
そして本実施形態では図4(A)に示すように、図3(B)の撮影画像IMに基づき生成されたテクスチャTEXが、プリミティブPMにマッピングされる。この場合に図4(B)に示すように、図3(B)の背景BGがリアルタイムで透過処理されて、対象物POBに対応するキャラクタCHだけが表示されるテクスチャTEXが、プリミティブPMにマッピングされる。即ち図4(B)に模式的に示されるように、テクスチャTEXのピクセルのうち、背景BGに対応するピクセルについては透明に設定され、キャラクタCHに対応するピクセルだけが切り抜かれたテクスチャTEXが生成される。キャラクタCHは、対象物POBに対応してゲームに登場する表示物である。キャラクタCHの画像は、図3(A)、図3(B)で説明した撮影画像IMに基づく画像であるため、3Dスキャンを用いる場合に比べて、対象物POBの精細な形状が忠実に再現された画像になる。
またプリミティブPMは、3次元のオブジェクト空間である仮想空間に配置設定されており、この仮想空間には、岩を表すオブジェクトOB1、OB2、OB3などの種々のオブジェクトが配置設定されている。そして本実施形態では、このプリミティブPMが、移動制御情報に応じて仮想空間において移動する。具体的にはプレーヤが操作部160を用いて入力した操作入力情報を、移動制御情報として、プリミティブPMが仮想空間において回転移動したり、並進移動する。或いはプリミティブPMを自動移動させる移動制御情報に基づいて、プリミティブPMが仮想空間において回転移動したり、並進移動してもよい。そして後述するように、図3(A)、図3(B)で撮影された動画の撮影画像群の中から、移動制御情報に応じて選択された撮影画像に基づいてテクスチャTEXが生成され、生成されたテクスチャTEXがプリミティブPMにマッピングされる。これにより、移動制御情報に応じて変化するテクスチャTEXを、プリミティブPMにマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成できるようになる。そして本実施形態によれば、ロボットのプラモデルなどの対象物POBが、ゲーム空間である仮想空間に、そのままの形で出現するようになる。従って、プレーヤは、自身が所有するプラモデルなどの対象物POBが、あたかも仮想空間に本当に出現したかのような仮想現実を感じることが可能になり、これまでにないタイプの画像生成システムの実現が可能になる。
図5は、仮想空間でのプリミティブPMと仮想カメラVCの関係を示す図である。仮想空間には、岩を表すオブジェクトOB1〜OB3や、敵ロボットである敵キャラクタCHEなどが配置されている。VMは、仮想カメラVCのビューボリュームであり、仮想カメラVCの表示範囲(描画範囲)に相当する。
図5に示すように本実施形態では、プリミティブPMと仮想カメラVCの位置関係が固定されている。例えばプリミティブPMと仮想カメラVCの位置関係が固定され状態で、プリミティブPM及び仮想カメラVCを移動制御情報に応じて移動させる。例えばプリミティブPMと仮想カメラVCとを結ぶレールRLを移動制御情報に応じて移動させる。具体的には図5では、プリミティブPMとしてビルボードのポリゴンを用いている。例えばプリミティブPMと仮想カメラVCとの間の距離は一定であり、プリミティブPMは仮想カメラVCに正対するように配置される。例えば、プリミティブPMと仮想カメラVCとの間の距離が一定となり、且つ、仮想カメラVCの視線方向VLとプリミティブPMの面が直交するようにプリミティブPMが配置される。このようにすれば、プリミティブPMを3次元の仮想空間に配置した場合にも、プレーヤから見てプリミティブPMが平面に見えないようにする演出が可能になり、あたかも3次元の表示物であるキャラクタCHが仮想空間で存在しているかのように見える仮想現実感をプレーヤに与えることが可能になる。
また本実施形態では図6に示すように、プリミティブPMにマッピングするテクスチャTEXの画像をプリミティブPMの移動制御情報に応じて変化させている。具体的には操作部160へのプレーヤの操作入力に合わせて、仮想カメラVCとプリミティブPMの位置関係を固定しながら、仮想カメラVCの位置を支点(回転中心)として、C1、C2、C3、C4に示すようにプリミティブPMを回転移動する。即ち仮想カメラVCとプリミティブPMを結ぶレールRLを、仮想カメラVCの位置を支点として回転させる。また並進移動の場合には、仮想カメラVCとプリミティブPMを一体として並進移動させる。即ち仮想カメラVCとプリミティブPMを結ぶレールRLを並進移動させる。例えば左方向を指示する操作入力が行われた場合には、仮想カメラVCの位置を支点としてC1に示す方向にプリミティブPMを回転移動させる。右方向を指示する操作入力が行われた場合には、仮想カメラVCの位置を支点としてC2に示す方向にプリミティブPMを回転移動させる。同様に、下方向、上方向を指示する操作入力が行われた場合には、仮想カメラVCの位置を支点として、各々、C3、C4に示す方向にプリミティブPMを回転移動させる。このようにすることで、移動制御情報である操作入力情報に応じたプリミティブPMの移動処理が実現される。
そしてこのようなプリミティブPMの移動に連動して、プリミティブPMにマッピングされるテクスチャTEXを変化させる。具体的には、図3(A)、図3(B)のようにムービー撮影された360度の撮影方向範囲での対象物POBの動画を、プリミティブPMの移動に連動して再生することで、プリミティブPMの移動に連動して、プリミティブPMにマッピングされるテクスチャTEXを変化させる。例えばプレーヤが左方向を指示する操作入力を行うことで、図6のC1に示すように仮想カメラVCの位置を支点としてプリミティブPMを回転移動させる場合には、この回転移動に合わせて、図6の再生方向DRに示すように動画再生を行う。例えば図6のD1に示すような後方側からの対象物POB(キャラクタCH)の撮影画像から、D2に示すような左後方側からの対象物POBの撮影画像に変化するというような動画再生を行う。更にD3に示すような左前方側からの対象物POBの撮影画像に変化させ、D4に示すような前方側からの対象物POBの撮影画像に変化するというような動画再生を行う。D1、D2、D3、D4に示す撮影画像が本実施形態の撮影画像群になる。このようにすれば、2次元の撮影画像によるテクスチャTEXを用いながらも、あたかも3次元の表示物であるキャラクタCHが仮想空間で回転移動しているかのように見える仮想空間画像を生成できるようになる。
また本実施形態では図7に示すように、例えばバーニアの噴射炎VNやビーム砲が発射するビームBMなどの3Dのエフェクト表現を実現するエフェクト処理も行っている。本実施形態では、このようなエフェクト処理を実現するために、後述の図13(A)〜図13(C)で説明するように、移動制御情報に応じてプリミティブPMに対する相対的位置関係が変化するプリミティブPMV、PMBを用意する。プリミティブPMV、PMBは第2のプリミティブであり、例えばポリゴンである。プリミティブPMVには噴射炎VNを表す画像(テクスチャ)が描かれ、プリミティブPMBにはビームBMを表す画像(テクスチャ)が描かれている。そしてプリミティブPMを移動させる移動制御情報(操作入力情報)に応じて、図7のE1、E2に示すようにプリミティブPMに対するプリミティブPMV、PMBの相対的位置関係を変化させる。そしてテクスチャTEXがマッピングされたプリミティブPMの画像と、プリミティブPMV、PMB(第2のプリミティブ)の画像とを含む画像を、仮想空間画像として生成する。
例えばプリミティブPMが回転移動した場合に、それに連動させて噴射炎VN用のプリミティブPMVを図7のE1に示すように回転移動させる。即ち図7のF1に示すように、テクスチャTEXに描かれるキャラクタCHのバーニアの補助装置から、噴射炎VNが噴射して見えるように、噴射炎VNが描かれるプリミティブPMVを回転移動させる。またプリミティブPMが回転移動した場合に、それに連動させてビームBM用のプリミティブPMBを図7のE2に示すように回転移動させる。即ち図7のF2に示すように、テクスチャTEXに描かれるキャラクタCHのビーム砲からビームBMが発射して見えるように、ビームBMが描かれるプリミティブPMBを回転移動させる。
このように本実施形態では、噴射炎VNの噴射やビームBMの発射などを表現するプリミティブPMV、PMBを、図6のD1〜D4に示すような動画の再生に連動して移動させている。これにより噴射炎VNやビームBMなどのエフェクト表現をリアルに実現できる。また後述するように、仮想カメラVCの位置からのプリミティブPMV、PMBの描画順番についてもコントロールすることで、2次元のモデルでありながら、3次元のモデルのような見た目と、ゲームプレイを実現している。即ち本実施形態では図3(A)、図3(B)に示すように、プラモデルなどの対象物POBの撮影画像に基づいて、対象物POBに対応するキャラクタCHの画像を含む仮想空間画像を生成しているが、噴射炎VNやビームBMについては、現実世界の対象物POBでは表現できない。そこで噴射炎VNやビームBMについては、プリミティブPMに対する相対的位置関係が変化するプリミティブPMV、PMB(第2のプリミティブ)を用いて表現する。そして図6のD1〜D4に示すようなキャラクタCHの動画再生に矛盾しないように、プリミティブPMに対するプリミティブPMV、PMBの相対的位置関係を変化させる。これにより現実世界の対象物POBでは表現できない噴射炎VNやビームBMのエフェクト表現を実現できるようになる。
2.2 移動制御情報に応じたテクスチャのマッピング
次に本実施形態の手法の詳細について説明する。図8は撮影画像群に基づく仮想空間画像の生成処理のフローチャートである。まず対象物POBを複数の撮影方向から撮影することで得られる撮影画像群を取得する(ステップS1)。例えば図3(A)のように撮影部162でムービー撮影することで、対象物POBを撮影した動画である撮影画像群を取得して、処理装置200に取り込む。そして取得した撮影画像群を記憶部170に記憶する(ステップS2)。即ち処理装置200のメモリに、動画である撮影画像群のデータを記憶して保存する。次にプリミティブPMの移動制御情報に応じて選択された撮影画像に基づいて、テクスチャTEXを生成する(ステップS3)。例えば移動制御情報(操作入力情報)に基づいて、図6のD1〜D4のような撮影画像群の中から対応する撮影画像を選択し、図4(A)、図4(B)で説明したようなテクスチャTEXを生成する。そして移動制御情報に応じて変化するテクスチャTEXを、移動制御情報に応じて移動するプリミティブPMにマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成する(ステップS4)。例えば図6のC1〜C4に示すように、移動制御情報(操作入力情報)に応じて、仮想カメラVCの位置を支点としてプリミティブPMが回転移動したり、仮想カメラVCとプリミティブPMが一体となって並進移動する。そして、このようなプリミティブPMの移動に連動して変化するテクスチャTEXをプリミティブPMにマッピングする。例えば図6のC1に示すようにプリミティブPMが仮想カメラVCの位置を支点(回転中心)として左方向に回転移動した場合には、図6のD1〜D4に示すような撮影画像群の中から、プリミティブPMの回転角度に応じた撮影画像が選択されて、選択された撮影画像に基づくテクスチャTEXがプリミティブPMにマッピングされる。これにより2次元の撮影画像を用いながらも、対象物POBに対応する3次元モデルのキャラクタCHが仮想空間内において移動しているように見えるリアルな仮想空間画像を生成できるようになる。
また本実施形態では、撮影画像群(第1、第2の撮影画像群)は、対象物POBに対する撮影部162の撮影方向の変化が180度以上の撮影方向範囲となる画像群になっている。例えば図9では、対象物POBに対する撮影方向DCMの変化が360度となる撮影方向範囲RDRで、撮影部162により対象物POBが撮影されている。例えば図9では、対象物POBの後方を撮影しているときの撮影部162の撮影方向DCMの角度が0度になっており、対象物POBの左側を撮影しているときの撮影方向DCMの角度が90度になっている。また対象物POBの前方を撮影しているときの撮影方向DCMの角度が180度になっており、対象物POBの右側を撮影しているときの撮影方向DCMの角度が270度になっている。図9の撮影方向範囲RDRは、撮影部162の撮影方向DCMが0度から360度まで変化する範囲となっている。但し、例えば撮影方向DCMの変化が0〜90度及び360度〜270度となるような180度の撮影方向範囲RDRに設定してもよいし、撮影方向範囲RDRを180度〜360度の撮影方向範囲に設定してもよい。
このように対象物POBに対する撮影部162の撮影方向の変化が180度以上の撮影方向範囲となる撮影画像群を用いることで、プリミティブPMが様々な方向に回転移動等した場合にも、これに対応した適切な撮影画像に基づくテクスチャを生成してプリミティブPMにマッピングできるようになる。
なお図3(A)、図9では、例えば対象物POBの主軸に沿った鉛直方向を回転軸として撮影方向DCMを回転させた場合について示しているが、本実施形態はこれに限定されない。例えば対象物POBの主軸に直交する方向である水平方向を回転軸として撮影方向DCMを回転させながら対象物POBを撮影することで、撮影画像群を取得してもよい。このようにすれば例えば図6のC3やC4の方向にプリミティブPMを回転移動させる場合にも、当該回転移動に応じた適切な撮影画像に基づくテクスチャTEXをプリミティブPMにマッピングできるようになる。また図3(A)では対象物POBの方を回転させることで、図9に示すような撮影方向範囲RDRでの撮影画像群を取得しているが、撮影部162の方を対象物POBを中心として回転させることで、撮影方向範囲RDRでの撮影画像群を取得してもよい。即ち対象物POBを注視するような撮影方向DCMで、対象物POBを中心とする円上で撮影部162を移動させる。
また図9のように複数の撮影方向で撮影する場合に、撮影方向の数、即ち撮影画像群の画像数はできる限り多いことが望ましい。例えば1秒間の画像のフレーム数をp(例えばp=30、60等)とした場合に、撮影方向の数に相当する撮影画像群の画像数は、p以上であることが望ましい。即ち、少なくともp個の撮影方向で対象物POBを撮影し、少なくともp個の撮影画像を含む撮影画像群を取得する。このようにすれば、少なくとも1秒間の間は、スムーズで適切なテクスチャの動画を再生して、プリミティブPMにマッピングできるようになる。
また本実施形態では、プリミティブPMの移動制御情報に応じて撮影画像群(第1、第2の撮影画像群)から選択された撮影画像に基づいて、プリミティブPMにマッピングするテクスチャを生成している。具体的には、例えば撮影画像群により構成される動画のシーク制御を移動制御情報に基づいて行うことで、撮影画像群から撮影画像を選択し、選択された撮影画像に基づいてテクスチャを生成する。
例えば図10では撮影画像IM1〜IMjが撮影画像群であり、この撮影画像群から、プリミティブPMの移動制御情報に応じて選択された撮影画像IMiに基づきテクスチャが生成されて、プリミティブPMにマッピングされる。ここでi、jは1≦i≦jとなる整数である。例えばjは撮影画像群の画像数であり、前述のように1秒間の画像のフレーム数をpとした場合に、j≧pであることが望ましい。
そして図10では、IM1〜IMjの撮影画像群により構成される動画のシーク制御が移動制御情報に基づいて行われる。例えば巻き戻しのシーク制御の場合には、図10の方向DS1へのシーク制御が行われて、IM1〜IMjの撮影画像群の中から移動制御情報に応じた撮影画像が選択される。一方、早送りのシーク制御の場合には、方向DS2へのシーク制御が行われて、IM1〜IMjの撮影画像群の中から移動制御情報に応じた撮影画像が選択される。例えば撮影画像IM1〜IMjに対してシーク番号SN1〜SNjが対応づけられていたとする。この場合に、例えばプリミティブPMの移動制御情報に応じて、シーク番号SN1〜SNjのいずれかが選択され、選択されたシーク番号に対応づけられた撮影画像が選択されて、テクスチャが生成され、プリミティブPMにマッピングされる。例えば移動制御情報によりシーク番号SNiが選択された場合には、シーク番号SNiに対応づけられた撮影画像IMiが選択されて、テクスチャが生成され、プリミティブPMにマッピングされるようになる。このようにすれば、撮影画像群により構成される動画のシーク制御を有効活用して、プリミティブPMの移動制御情報に対応した適切な撮影画像を選択してテクスチャを生成し、プリミティブPMにマッピングできるようになる。
また本実施形態では、プリミティブPMと仮想カメラVCの位置関係が固定された状態で、プリミティブPM及び仮想カメラVCを移動制御情報に応じて移動させる処理を行う。例えば図11(A)〜図11(C)では、プリミティブPMに対してキャラクタCHの画像が描かれたテクスチャがマッピングされている。
なおキャラクタCHの画像は実際には2次元の画像であるが、図11(A)〜図11(C)では、説明を理解しやすくするために、キャラクタCHの向く方向が分かるように模式的に記載している。以下の説明でも同様である。
図11(A)〜図11(C)では、仮想カメラVCとプリミティブPMの間の距離は一定となっており、固定されている。即ち仮想カメラVCの視点位置PSとプリミティブPMの面との間の距離は一定になっている。またプリミティブPMは仮想カメラVCに正対するように配置されており、仮想カメラVCの視線方向VLがプリミティブPMの面に直交するように、プリミティブPMが配置されている。このように本実施形態では、プリミティブPMと仮想カメラVCの位置関係が固定された状態で、プリミティブPM及び仮想カメラVCを仮想空間において移動させる。例えばプリミティブPMとしてビルボードポリゴンを用いる。このようにすることで、プリミティブPMにテクスチャがマッピングされることにより表示されるキャラクタCH等の表示物の画像として、擬似的に3次元画像に見える画像を生成できるようになる。
そして図6のC1に示すように、例えば左方向を指示するプレーヤの操作入力が行われた場合には、図11(A)から図11(B)に示すように、仮想カメラVCの視点位置PSを支点(回転中心)としてプリミティブPMが左回りに回転移動する。このときに仮想カメラVCとプリミティブPMの間の距離は一定になっており、仮想カメラVCの視線方向VLはプリミティブPMの面に直交した状態になっている。このようにプリミティブPMと仮想カメラVCの位置関係が固定された状態で、プリミティブPM及び仮想カメラVCが、図6のC1に示すような左方向を指示する移動制御情報に基づいて、回転移動している。このときにプリミティブPMにマッピングされるキャラクタCHの画像は、図6のD2に示すように、左回り(反時計回り)に向きが変わるようにキャラクタCHを回転した画像になる。例えばキャラクタCHの画像は、キャラクタCHに対応する対象物POBを左後方側から見た画像になる。このようにすれば、プレーヤが左方向の操作指示を行った場合には、左回りに向きを変えたキャラクタCHの画像が、仮想空間画像として表示されるようになり、左方向の操作指示による移動制御情報に応じた適切なキャラクタCHの画像を表示することが可能になる。
また図6のC2に示すように、例えば右方向を指示するプレーヤの操作入力が行われた場合には、図11(A)から図11(C)に示すように、仮想カメラVCの視点位置PSを支点としてプリミティブPMが右回りに回転移動する。このときに仮想カメラVCとプリミティブPMの間の距離は一定になっており、仮想カメラVCの視線方向VLはプリミティブPMの面に直交した状態になっている。このようにプリミティブPMと仮想カメラVCの位置関係が固定された状態で、プリミティブPM及び仮想カメラVCが、図6のC2に示すような右方向を指示する移動制御情報に基づいて、回転移動している。このときにプリミティブPMにマッピングされるキャラクタCHの画像は、右回り(時計回り)に向きが変わるようにキャラクタCHを回転した画像になる。例えばキャラクタCHの画像は、キャラクタCHに対応する対象物POBを右後方から見た画像になる。このようにすれば、プレーヤが右方向の操作指示を行った場合には、右回りに向きを変えたキャラクタCHの画像が、仮想空間画像として表示されるようになり、右方向の操作指示による移動制御情報に応じた適切なキャラクタCHの画像を表示することが可能になる。
また本実施形態では図3(A)、図3(B)に示すように、撮影部162は、対象物POBと、対象物POBの背景BGを撮影する。例えば図3(A)の背景部20を撮影することで、図3(B)に示すように単色の背景BGが撮影されるようになる。そして撮影画像の各ピクセルの色が、背景の色に対応する色か否かを判断する。そして背景の色に対応する色のピクセルであると判断された場合には、背景の色に対応する色のピクセルを透明にする処理を行うことで、テクスチャを生成する。
図12に、背景の色に対応する色のピクセルを透明にする処理のフローチャートを示す。図12の処理は例えばピクセルシェーダにより実現できる。まず処理対象ピクセルの色を判断する(ステップS11)。そして処理対象ピクセルの色は背景の色に対応する色か否かを判断する(ステップS12)。例えばグリーンバックの場合には、処理対象ピクセルの色が緑である場合に、背景の色に対応する色であると判断される。ブルーバックの場合には、処理対象ピクセルの色が青である場合に、背景の色に対応する色であると判断される。そして処理対象ピクセルの色が背景の色に対応する色であると判断された場合には、処理対象ピクセルが透明に設定される(ステップS13)。α合成処理を例にとれば、処理対象ピクセルの色が背景の色に対応する色であると判断された場合には、当該処理対象ピクセルのα値がゼロに設定される。そして撮影画像の全てのピクセルを処理したか否かを判断し(ステップS14)、全てのピクセルを処理していない場合には、処理対象ピクセルを次のピクセルに設定して(ステップS15)、ステップS11に戻る。一方、撮影画像の全てのピクセルを処理した場合には、処理を終了する。
図12に示すような処理を行うことで、図3(B)に示すような撮影画像IMから図4(B)に示すようなテクスチャTEXを生成できるようになる。これにより背景BGの部分に、仮想空間の他のオブジェクトが表示された適切な仮想空間画像を生成できるようになる。また図12に示す処理は、シェーダのプログラムによるピクセルシェーダにより実現でき、処理負荷が軽い簡素な処理で実現できる。従って図2(A)、図2(B)に示すように対象物POBを撮影してからワンアクションで、当該対象物POBに対応するキャラクタCH等の表示物を仮想空間に登場させる処理を、容易に実現することが可能になる。
なお背景色は固定色である必要はなく、背景色を可変に設定できるようにしてもよい。例えば対象物POBの色に応じて、背景色を可変に設定する。例えば対象物POBに存在しない色に、背景色を設定したり、対象物POBの色の補色を背景色に設定する。具体的には図2(A)、図2(B)において、色を可変に設定できる背景部20を用いる。例えばプロジェクターにより、背景色となる所定色の光を投影することで、背景部20の色を可変に設定する。或いは背景部20として、曲面表示装置などの表示装置を用い、背景色となる所定色の画面を表示することで、背景部20の色を可変に設定する。このようにすることで、種々の対象物POBに応じた適切な色に背景色を設定できるようになる。
また本実施形態では、移動制御情報に応じてプリミティブに対する相対的位置関係が変化する第2のプリミティブの移動処理を行う。そしてテクスチャがマッピングされたプリミティブの画像と、第2のプリミティブの画像とを含む画像を、仮想空間画像として生成する。
例えば図13(A)では、第2のプリミティブとしてプリミティブPMV、PMBが、プリミティブPMの位置を基準に配置されている。図7で説明したように、プリミティブPMVはバーニアの噴射炎VNの画像を表示するためのプリミティブであり、プリミティブPMBはビーム砲が発射するビームBMの画像を表示するためのプリミティブである。なお噴射炎VNやビームBMの画像を3次元のオブジェクトを用いて生成してもよく、この場合にはプリミティブPMV、PMBは当該オブジェクトを構成するポリゴン等になる。
そして図13(A)〜図13(C)では、図11(A)〜図11(C)で説明したように、移動制御情報に応じてプリミティブPMを移動する処理が行われている。またプリミティブPMにマッピングされるキャラクタCHの画像(テクスチャ)も、移動制御情報に応じた適切な撮影画像を用いて生成される。そして図13(A)〜図13(C)では、移動制御情報に応じてプリミティブPMに対する相対的位置関係が変化するように、プリミティブPMV、PMBの移動処理が行われる。
例えば図13(A)では、仮想カメラVCの視線方向VLの方向にキャラクタCHが向いている画像が、プリミティブPMにマッピングされている。具体的には、図9の撮影方向DCMが0度の場合のように、対象物POBを真後ろから撮影した撮影画像に基づき生成されたテクスチャが、キャラクタCHの画像としてプリミティブPMにマッピングされている。この場合には、キャラクタCHの真後ろの位置に、噴射炎VN用のプリミティブPMVが配置される。またキャラクタCHは例えば右手にビーム砲を持っているため、キャラクタCHの右前方向に、ビームBM用のプリミティブPMBが配置される。これにより図7に示すように、補助装置であるバーニアの位置から噴射炎VNが噴射されると共に、ビーム砲の位置からビームBMが発射される適切な仮想空間画像を生成できるようになる。
一方、図13(B)では、図6のC1に示すように、プレーヤにより左方向への操作指示が行われており、これにより、仮想カメラVCの位置を支点として、左回り(反時計回り)にプリミティブPMが回転移動している。このようなプリミティブPMの回転移動に伴い、プリミティブPMにマッピングされるキャラクタCHの画像も、図6のD2に示すように左回りに向きを変えた画像になる。そしてこのようにキャラクタCHの画像が左回りに向きを変えた画像になるのに連動するように、プリミティブPMに対するプリミティブPMV、PMBの相対的位置関係も変化する。即ち、左回りに向きを変えたキャラクタCHの後方にプリミティブPMVが位置するように、プリミティブPMに対するプリミティブPMVの相対的位置関係を変化させる。具体的には、プリミティブPMを基準として左回りに、プリミティブPMVを回転移動させる。また左回りに向きを変えたキャラクタCHの右前方向にプリミティブPMBが位置するように、プリミティブPMに対するプリミティブPMBの相対的位置関係を変化させる。具体的には、プリミティブPMを基準として左回りに、プリミティブPMBを回転移動させる。このようにすることで、バーニアの位置から噴射炎VNが噴射される共に、ビーム砲の位置からビームBMが発射される適切な仮想空間画像を生成できるようになる。
また図13(C)では、図6のC2に示すように、プレーヤにより右方向への操作指示が行われており、これにより、仮想カメラVCの位置を支点として、右回り(時計回り)にプリミティブPMが回転移動している。このようなプリミティブPMの回転移動に伴い、プリミティブPMにマッピングされるキャラクタCHの画像も、右回りに向きを変えた画像になる。そしてこのようにキャラクタCHの画像が右回りに向きを変えた画像になるのに連動するように、プリミティブPMに対するプリミティブPMV、PMBの相対的位置関係も変化する。即ち、右回りに向きを変えたキャラクタCHの後方にプリミティブPMVが位置するように、プリミティブPMを基準として右回りに、プリミティブPMVを回転移動させる。また右回りに向きを変えたキャラクタCHの右前方向にプリミティブPMBが位置するように、プリミティブPMを基準として右回りに、プリミティブPMBを回転移動させる。このようにすることで、バーニアの位置から噴射炎VNが噴射される共に、ビーム砲の位置からビームBMが発射される適切な仮想空間画像を生成できるようになる。
また本実施形態では、第2のプリミティブの隠面消去処理を、移動制御情報に応じて行う。例えば図13(B)では、ビームBMの画像は、仮想カメラVCから見てキャラクタCHに隠れて非表示になるべき画像になっている。例えば図13(A)のような位置関係においては、ビームBMの画像はキャラクタCHによって隠れずに表示されるべき画像になっている。しかしながら図13(B)のようなプリミティブPMの回転移動が行われて、プリミティブPMを基準にして左回りにプリミティブPMBが回転移動すると、プリミティブPMBのビームBMの画像は、キャラクタCHにより隠れて非表示になるべき画像になる。従って、この場合にはビームBM用のプリミティブPMBを隠面消去する処理を行う。このようにプリミティブPMBの隠面消去処理を行うことで、ビームBMの画像が仮想カメラVCから見て非表示になり、適切な仮想空間画像を生成できるようになる。即ち、通常ならば、仮想カメラVCから見たプリミティブPM、PMV、PMBの前後関係(奥行き値)を判断して隠面消去処理が行われる。この点、本実施形態では、プリミティブPMにマッピングされるキャラクタCHとビームBMや噴射炎VNとの前後関係を、移動制御情報に基づき判断して、隠面消去処理を行う。このようにすることで、適切な隠面消去が行われた仮想空間画像を生成できるようになる。
また本実施形態では対象物POBの分析結果に基づき設定される第2のプリミティブの初期配置位置から、プリミティブPMを基準に第2のプリミティブを移動させる処理を行う。例えば図14では、対象物POBのシルエット分析等の分析処理を行うことで、バーニアの噴射炎VNの噴射位置やビームBMの発射位置を特定する。即ち対象物POBの種類や形状に応じて、噴射炎VNの噴射位置やビームBMの発射位置は異なる。そこで、対象物POBの撮影画像に基づくシルエット分析等の分析処理を行うことで、対象物POBの種類や形状を特定して、噴射炎VNの噴射位置やビームBMの発射位置を特定する。そして図14に示すように、特定された噴射炎VNの噴射位置を、噴射炎VN用のプリミティブPMVの初期配置位置PI1に設定する。また、特定されたビームBMの発射位置を、ビームBM用のプリミティブPMBの初期配置位置PI2に設定する。そして、これらの初期配置位置PI1、PI2から、図13(A)〜図13(C)に示すように、プリミティブPMVを基準にプリミティブPMV、PMBを移動させる処理を行う。即ちPI1、PI2を初期配置位置として、プリミティブPMVを基準にプリミティブPMV、PMBを回転移動させる。このようにすれば、対象物POBの分析結果に応じた適切な初期配置位置PI1、PI2にプリミティブPMV、PMBを配置し、移動制御情報に応じてプリミティブPMが移動した場合に、その移動に連動した適切な位置に噴射炎VNの画像やビームBMの画像を表示できるようになる。
なお対象物POBにおいて、噴射炎VNの噴射位置やビームBMの発射位置にマーカを取り付けて、対象物POBの分析処理において、このマーカの認識処理を行うことで、第2のプリミティブの初期配置位置を決定してもよい。即ち、マーカの認識処理の結果に基づいて、噴射炎VN用のプリミティブPMVの初期配置位置PI1やビームBM用のプリミティブPMBの初期配置位置PI2に決定する。
また本実施形態では、プリミティブPMV、PMBの画像である噴射炎VN、ビームBMの画像は、エフェクト画像である。即ち本実施形態では対象物POBを撮影部162により実写することで、テクスチャを生成して、対象物POBに対応するキャラクタCHの画像を表示しているが、噴射炎VNやビームBMなどのエフェクトの画像は、撮影部162による実写によっては撮影できない。そこで本実施形態では、噴射炎VNやビームBMなどのエフェクトの画像については、プリミティブPMに対して相対的に配置されたプリミティブPMV、PMBを用いて生成するようにしている。このようにすれば、撮影部162による実写によっては撮影できないエフェクトの画像を、対象物POBに対応するキャラクタCHの画像に付随して表示できるようになる。
また本実施形態では、仮想空間画像として、プリミティブの画像と、仮想空間に設定される複数のオブジェクトの画像とを含む画像を生成し、生成された仮想空間画像に対してポストエフェクト処理を行う。例えば図15では、仮想空間画像として、プリミティブPMの画像であるキャラクタCHの画像と、仮想空間に設定される岩のオブジェクトOB1、OB2、OB3や敵キャラクタCHEのオブジェクトの画像を含む画像が生成されている。そして、このように生成された仮想空間画像に対してポストエフェクト処理を行う。例えば、ぼかし処理、明るさの調整処理又は色相の調整処理などのポストエフェクト処理を行う。例えば、他のオブジェクトOB1、OB2、OB3等が表示される仮想空間画像に対して、プリミティブPMにより表されるキャラクタCHの画像が違和感なく表示されるようにするポストエフェクト処理を行う。例えばプリミティブPMにより表されるキャラクタCHの輪郭をぼかすようなポストエフェクト処理を行って、キャラクタCHと仮想空間画像の境界である輪郭が目立たなくなるようにする。またキャラクタCHの画像の明るさと、周囲の仮想空間画像の明るさに差があった場合に、この差を小さくするようなポストエフェクト処理を行う。このようにすることで、撮影画像に基づき生成されるキャラクタCHの画像が、周囲の仮想空間に対して違和感なく溶け込んで見えるような高品質でリアルな仮想空間画像を生成できるようになる。
また本実施形態では、他の表示物に対応する他の対象物を複数の撮影方向から撮影することで得られる他の表示物用の撮影画像群を取得する。そして他の表示物用の移動制御情報に応じて、他の表示物用の撮影画像群から選択された撮影画像に基づいて、他の表示物用のテクスチャを生成する。そして他の表示物用の移動制御情報に応じて変化する他の表示物用のテクスチャを、他の表示物用のプリミティブにマッピングして、仮想空間画像を生成する。ここで他の表示物は、例えば敵キャラクタである。
例えば図16では、他の表示物である敵キャラクタCHE1、CHE2の画像を含む仮想空間画像を生成している。この場合には敵キャラクタCHE1、CHE2に対応する対象物を複数の撮影方向から撮影することで得られる撮影画像群を取得する。例えば図3(A)、図3(B)と同様の手法により、敵キャラクタCHE1、CHE2に対応する敵ロボットのプラモデルを複数の撮影方向から撮影することで、敵キャラクタCHE1、CHE2用(他の表示物用)の撮影画像群を取得する。そして敵キャラクタCHE1、CHE2用の移動制御情報に応じて、敵キャラクタCHE1、CHE2用の撮影画像群から選択された撮影画像に基づいて、敵キャラクタCHE1、CHE2用のテクスチャTEXE1、TEXE2を生成する。即ち、敵キャラクタCHE1、CHE2は、敵キャラクタCHE1、CHE2用の移動制御情報に基づいて仮想空間内を移動する。この敵キャラクタCHE1、CHE2用の移動制御情報に基づいて、敵キャラクタCHE1、CHE2用の撮影画像群から撮影画像を選択して、敵キャラクタCHE1、CHE2用のテクスチャTEXE1、TEXE2を生成する。このようにすることで、プレーヤのキャラクタCHの場合と同様に、移動制御情報を反映させたテクスチャTEXE1、TEXE2を生成できるようになる。そして図16に示すように、生成されたテクスチャTEXE1、TEXE2を、敵キャラクタCHE1、CHE2用のプリミティブPME1、PME2にマッピングすることで、仮想空間画像を生成する。
このようにすれば、敵キャラクタCHE1、CHE2についても、キャラクタCHの場合と同様に、敵キャラクタCHE1、CHE2に対応する対象物である敵ロボットのプラモデルを、仮想空間内に出現させるような演出が可能になる。これにより、プレーヤのロボットのプラモデルと敵ロボットのプラモデルとが仮想空間において対戦するというような、これまでにないゲームを実現できる。また敵キャラクタCHE1、CHE2の画像についても、敵キャラクタCHE1、CHE2用の移動制御情報を反映させた画像にすることができ、よりリアルな画像の生成が可能になる。例えば図16では、敵キャラクタCHE1については、プリミティブPME1を基準に右前方を向くような画像が生成され、キャラクタCHの方を向いている敵キャラクタCHE1の画像が、仮想空間画像として生成されるようになる。また敵キャラクタCHE2については、プリミティブPME2を基準に左前方を向くような画像が生成され、キャラクタCHの方を向いている敵キャラクタCHE2の画像が、仮想空間画像として生成されるようになる。これによりプレーヤの仮想現実感の向上等を図れる。
また本実施形態では、プリミティブPMの周囲にパーティクルが表示される画像を、仮想空間画像として生成する。例えば図17では、キャラクタCHの画像がマッピングされるプリミティブPMの周囲にパーティクルPTを発生させている。パーティクルPTの表示処理は、運動する粒子により構成される事象を表現するための処理であり、例えば物理シミュレーションによりパーティクルPTの移動等を制御する。例えばパーティクルPTの発生時の初速や重さ、重力や空気抵抗などの環境条件を設定することで、より精密なパーティクル制御を実現できる。一例としては、パーティクルPTの頂点座標を管理するバッファを記憶部170に設け、再帰的にシェーダ計算を行うことで、パーティクルPTの挙動を制御する。
即ち、本実施形態では対象物POBの2次元の撮影画像を用いて、擬似的に3次元画像に見えるキャラクタCHの画像を生成している。一方、仮想空間の他のオブジェクトについては3次元モデルにより表現されている。このため、何ら工夫を行わないと、擬似的な3次元画像であるキャラクタCHの画像と、3次元モデルである他のオブジェクトの画像との間に違和感が生じてしまい、プレーヤの仮想現実感を損ねるおそれがある。この点、図17に示すようにキャラクタCHの画像がマッピングされるプリミティブPMの周囲にパーティクルPTを発生すれば、プリミティブPMが仮想空間内を移動したときに、周囲に存在するパーティクルPTが要因となって、3次元の空間感を創出できる。これにより、あたかも3次元モデルのキャラクタCHが、3次元の仮想空間を移動しているかのような仮想現実感を、プレーヤに与えることが可能になる。
図18に本実施形態の画像生成システムの業務用のゲーム装置210への適用例を示す。図18の画像生成システムでは、本体装置である業務用のゲーム装置210に加えて、撮影部162と、対象物POBが配置される配置部10と、回転移動機構12とが設けられている。具体的には図18の画像生成システムでは、撮影用筐体220が設けられており、この撮影用筐体220に、撮影部162と配置部10と回転移動機構12が設けられている。また撮影用筐体220には背景部20も設けられている。回転移動機構12は、配置部10に配置された対象物POBに対する撮影部162の撮影方向を変化させるための回転移動を行う機構である。図18では回転移動機構12が配置部10を回転させることで、対象物POBに対する撮影部162の撮影方向を変化させている。ゲーム装置210(本体側筐体)と撮影用筐体220は、例えば有線又は無線により通信接続されており、例えば回転移動機構12による配置部10の回転を、ゲーム装置210により制御できるようになっている。
図18の画像生成システムでは、プレーヤは、まず撮影用筐体220の配置部10に、プレーヤが撮影を希望するロボットのプラモデルなどの対象物POBを配置する。そしてゲーム装置210においてプレーヤが例えば撮影を指示する操作を行うと、回転移動機構12が配置部10を回転させ、撮影部162が、図9に示すように360度の撮影方向範囲での対象物POBの撮影を行う。そして、撮影により得られた動画(撮影画像群)のデータは、ゲーム装置210に転送され、ゲーム装置210の記憶部170に保存される。そして図2(A)、図2(B)に示すように、プレーヤは、対象物POBの撮影からワンアクションで、対象物POBに対応するキャラクタCHが仮想空間に登場するゲームを、プレイできるようになる。これにより、プレーヤは、自身が所有するプラモデル等の対象物POBに対応するキャラクタCHを仮想空間に登場させて、キャラクタCHを用いたゲームを楽しむことが可能になり、これまでにないゲームの実現が可能になる。
また図19に示すように、対象物POBを空中に浮遊させた状態で支持する支持部16を設けることが望ましい。図19では、棒状の支持部16の一端が配置部10に取り付けられている。そしてロボットのプラモデルである対象物POBの臀部に穴部が設けられており、この穴部に対して、棒状の支持部16の他端を差し込むことで、対象物POBを空中に浮遊させた状態で支持できる。このようにすれば、対象物POBに対応するキャラクタCHとして、空中に浮遊した状態のポーズのキャラクタCHを出現させることが可能になり、プレーヤの多様な要望に応えることが可能になる。
なお図19では棒状の支持部16の他端を、対象物POBの臀部の穴部に差し込むことで、対象物POBを空中に浮遊させた状態で支持しているが、本実施形態の支持手法はこれには限定されない。例えばピアノ線などの細くて透明な線状部材により、対象物POBを宙づりにすることで、対象物POBを空中に浮遊させた状態で支持するようにしてもよい。或いは、対象物POBの頭部に穴部を設け、支持部16の他端を、この頭部の穴部に差し込むことで、逆さまの状態で対象物POBを空中に浮遊させて支持するようにしてもよい。この場合には、取得された撮影画像群の撮影画像の上下反転処理を行えばよい。
2.3 第1、第2の撮影画像群からのテクスチャの生成
以上では、撮影画像群が1つである場合について主に説明した。以下では、第1、第2の撮影画像群などの複数の撮影画像群の撮影画像に基づいて、テクスチャを生成して、プリミティブPMにマッピングし、仮想空間画像を生成する手法について説明する。図20は、第1、第2の撮影画像群に基づく仮想空間画像の生成処理のフローチャートである。
まず、撮影部162により対象物を複数の撮影方向から撮影することで得られる第1の撮影画像群を取得する(ステップS21)。即ち図3(A)、図3(B)で説明した撮影手法により、第1の撮影画像群(第1の動画)を取得する。次に、ポーズを変化させた対象物、付随物を付加した対象物又は形状変形させた対象物を複数の撮影方向から撮影することで得られる第2の撮影画像群を取得する(ステップS22)。例えば後述の図21(A)、図21(B)に示すように、第1の撮影画像群における対象物のポーズを変化させた対象物POBを、複数の撮影方向(360度の撮影方向範囲)から撮影することで、第2の撮影画像群(第2の動画)を取得する。或いは図22(A)に示すように、第1の撮影画像群における対象物に対してキャノン砲CNのような武器や、防具等の付随物を付加した対象物POBを、複数の撮影方向から撮影することで、第2の撮影画像群を取得する。或いは図22(B)に示すように、第1の撮影画像群における対象物を形状変形させた対象物POBを、複数の撮影方向から撮影することで、第2の撮影画像群を取得する。或いは図23に示すように、第1の撮影画像群を加工することで第2の撮影画像群を取得する。そして、このようにして取得した第1、第2の撮影画像群を記憶部170に記憶して保存する(ステップS23)。
次に第1、第2の撮影画像群から、プリミティブにマッピングするテクスチャを生成する(ステップS24)。例えば図4(A)、図4(B)、図12等で説明した手法により、第1、第2の撮影画像群の撮影画像に基づいてテクスチャを生成する。そして、生成されたテクスチャをプリミティブにマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成する(ステップS25)。例えば仮想空間においてプリミティブを移動させる処理を行い、第1、第2の撮影画像群から生成されたテクスチャを、仮想空間において移動するプリミティブにマッピングすることで、プリミティブにテクスチャがマッピングされた画像を含む仮想空間画像を生成する。
このようにすれば、第1の撮影画像群のみならず、第2の撮影画像群を用いて、テクスチャを生成し、生成されたテクスチャがマッピングされたプリミティブの画像を含む仮想空間画像を生成できるようになる。例えば対象物の撮影画像だけではなく、ポーズを変化させた対象物の撮影画像、付随物を付加した対象物の撮影画像、形状変形させた対象物の撮影画像、或いは対象物の撮影画像を加工した撮影画像に基づいて、テクスチャを生成し、当該テクスチャがマッピングされたプリミティブの画像を含む仮想空間画像を生成できるようになる。従って、対象物に対応する表示物を仮想空間に出現させることができると共に、様々な態様の対象物の撮影画像による仮想空間画像を生成することが可能になる。
例えば図21(A)は対象物POBの一例である。この対象物POBは、ロボットのプラモデルであり、配置部10に配置されている。そして回転移動機構12により配置部10を回転させることで、複数の撮影方向で撮影された対象物POBの撮影画像群を取得できる。図3(B)で説明したように、この撮影画像群の撮影画像は、対象物POBが映ると共に、背景部20による背景BGが映る画像になる。
そして図21(B)では、ポーズを変化させた対象物POBが配置部10に配置されている。即ち図21(B)の対象物POBは、図21(A)とは異なったポーズをとっている。図21(B)の対象物POBは、図21(A)の対象物POB自体の関節等を曲げてポーズを変えたものであってもよいし、図21(A)の対象物POBとは別個にプレーヤが用意した対象物(第2の対象物)であってもよい。例えば図21(A)に示すような基本ポーズの対象物POBを配置部10に配置して、複数の撮影方向から撮影することで、第1の撮影画像群が取得される。また図21(B)に示すような所定ポーズの対象物POBを配置部10に配置して、複数の撮影方向から撮影することで、第2の撮影画像群が取得される。更にポーズを変化させて異ならせた対象物POBを撮影することで、第3、第4の撮影画像群というように3つ以上の撮影画像群を取得してもよい。
また図22(A)では、付随物であるキャノン砲CNを付加した対象物POBが配置部10に配置されている。即ち図22(A)の対象物POBは、図21(A)にはないキャノン砲CNが付加されている。図22(A)の対象物POBは、図21(A)の対象物POB自体にキャノン砲CN等の付随物を付加したものであってもよいし、図21(A)の対象物POBとは別個にプレーヤが用意した付随物付きの対象物(第2の対象物)であってもよい。例えば図21(A)に示すようなキャノン砲CNを有しない対象物POBを配置部10に配置して、複数の撮影方向から撮影することで、第1の撮影画像群が取得される。また図22(A)に示すようなキャノン砲CNを装備した対象物POBを配置部10に配置して、複数の撮影方向から撮影することで、第2の撮影画像群が取得される。更に異なる付随物を付加した対象物POBを撮影することで、第3、第4の撮影画像群というように3つ以上の撮影画像群を取得してもよい。なお対象物POBに付加される付随物はキャノン砲CNには限定されず、キャノン砲CN以外の武器や、防具、装備品(武器、防具以外の装備品)、装飾品(アクセサリー、飾り等)、又は所持品(バッグ、時計等)などであってもよい。
また図22(B)では、変身等により形状変形した対象物POBが配置部10に配置されている。即ち図22(B)の対象物POBは、図21(A)とは異なる形状に形状変形したものになっている。例えば地上用のロボットから、飛行機形状のロボットに形状変形している。図22(B)の対象物POBは、図21(A)の対象物POB自体のパーツ等を変更して形状変形させたものであってもよいし、図21(A)の対象物POBとは別個にプレーヤが用意した対象物(第2の対象物)であってもよい。例えば図21(A)に示すような通常タイプの対象物POBを配置部10に配置して、複数の撮影方向から撮影することで、第1の撮影画像群が取得される。また図22(B)に示すような特殊な形状に形状変形した対象物POBを配置部10に配置して、複数の撮影方向から撮影することで、第2の撮影画像群が取得される。更に異なる第3、第4の形状に形状変形した対象物POBを撮影することで、第3、第4の撮影画像群というように3つ以上の撮影画像群を取得してもよい。
また図23では、第1の撮影画像群の加工を行うことで第2の撮影画像群を取得している。例えば第1の撮影画像群の撮影画像に映るキャラクタ等の表示物が水平方向に引き延ばされるようなサイズ変更の拡大処理を行うことで、第2の撮影画像群が取得されている。例えば第1の撮影画像群の撮影画像に映るキャラクタ等の表示物の表示態様と、第2の撮影画像群の撮影画像に映るキャラクタ等の表示物の表示態様とを、異ならせるような加工処理が行われている。或いは第1の撮影画像群に対してぼかし処理などの画像エフェクト処理の加工処理を行ったり、第1の撮影画像群の色、明るさ又はコントラストを変更する加工処理を行ったり、或いは第1の撮影画像群の左右反転、上下反転又は回転などの加工処理を行ったりすることで、第2の撮影画像群を取得してもよい。或いは、敵からの攻撃によりキャラクタ等の表示物が破壊されるように見える加工処理を行って、第2の撮影画像群を取得してもよい。
また本実施形態では、図24に示すように、プレーヤの操作入力情報に応じて、第1、第2の撮影画像群の一方の撮影画像群を選択する。例えばプレーヤが第1の操作入力を行ったと判断された場合には、第1、第2の撮影画像群のうちの第1の撮影画像群を選択する。一方、プレーヤが第2の操作入力を行ったと判断された場合には、第1、第2の撮影画像群のうちの第2の撮影画像群を選択する。そして選択された一方の撮影画像群の撮影画像に基づいて、テクスチャを生成し、生成されたテクスチャをプリミティブにマッピングすることで、仮想カメラから見える仮想空間画像を生成する。このようにすれば、プレーヤの操作入力情報に応じた適切な撮影画像群を選択し、選択された撮影画像群の撮影画像に基づくテクスチャがマッピングされた画像を、対象物に対応する表示物の画像として生成できるようになる。
例えばプレーヤが、キャラクタを移動させるなどの通常の操作入力(第1の操作入力)を行っている場合には、図21(A)に示すような通常ポーズの対象物POBを撮影することにより得られた第1の撮影画像群を選択する。一方、プレーヤが、武器により敵を攻撃する操作入力(第2の操作入力)を行った場合には、図21(B)に示すような武器により攻撃するポーズの対象物POBを撮影することにより得られた第2の撮影画像群を選択する。これにより、武器により攻撃するポーズのキャラクタの画像を含む仮想空間画像を生成できるようになる。或いは、プレーヤがキャノン砲CNを装着する操作入力(第2の操作入力)を行った場合には、図22(A)に示すようなキャノン砲CNを装着した対象物POBを撮影することにより得られた第2の撮影画像群を選択する。これにより、キャノン砲CNを装備したキャラクタの画像を含む仮想空間画像を生成できるようになる。或いは、プレーヤが特殊形状に形状変形(変身)する操作入力(第2の操作入力)を行った場合には、図22(B)に示すような特殊形状に形状変形した対象物POBを撮影することにより得られた第2の撮影画像群を選択する。これにより、特殊形状に変形したキャラクタの画像を含む仮想空間画像を生成できるようになる。
また本実施形態では、対象物の分析結果と、プレーヤの操作入力情報に応じて、第1、第2の撮影画像群の一方の撮影画像群を選択し、選択された一方の撮影画像群の撮影画像に基づいて、テクスチャを生成する。このようにすれば、プレーヤの操作入力情報のみならず、対象物の分析結果に応じた適切な撮影画像群を選択し、選択された撮影画像群の撮影画像に基づくテクスチャがマッピングされた画像を、対象物に対応する表示物の画像として生成できるようになる。図25はこのような手法による仮想空間画像の生成処理を説明するフローチャートである。
まず撮影画像等に基づく対象物の分析処理を行う(ステップS31)。例えば対象物のシルエット分析等を行って、対象物の種類や形状を特定する。またプレーヤの操作入力情報を判断する(ステップS32)。例えば操作部160を用いてプレーヤが入力した操作入力情報に基づいて、プレーヤがどのような操作入力を行ったかを判断する。そして対象物の分析結果と、プレーヤの操作入力情報に応じて、第1、第2の撮影画像群の一方の撮影画像群を選択する(ステップS33)。例えば対象物の分析結果に基づいて、対象物の種類を特定し、プレーヤが、その種類の対象物について用意された特定の操作入力を行ったかを判断する。そして、選択された一方の撮影画像群の撮影画像に基づいて、テクスチャを生成し、生成されたテクスチャをマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成する(ステップS34、S35)。
例えば対象物が、ロボットのプラモデルである場合には、複数種類のロボットのプラモデルが存在するため、シルエット分析等により、どの種類のロボットのプラモデルを撮影したのかを特定する。そして、第1の種類のロボットのプラモデルである場合には、プレーヤが第1の操作入力を行ったときに、対応するキャラクタが特殊技を繰り出すようなゲームの設定になっていたとする。この場合には、撮影画像に基づく分析処理により、対象物であるロボットのプラモデルが第1の種類であることが特定され、且つ、プレーヤが第1の操作入力を行った場合に、特殊技を繰り出すときに使用される第2の撮影画像群を選択する。そして第2の撮影画像群の撮影画像に基づき生成されたテクスチャを、プリミティブにマッピングして、仮想空間画像を生成する。このようにすることで、第1の種類のロボットのプラモデルに対応するキャラクタが特殊技を繰り出す画像が生成されるようになり、仮想現実感の向上等を図れるようになる。
また本実施形態では、移動制御情報に基づいて仮想空間においてプリミティブを移動させる処理を行う。そして図26に示すように、第1、第2の撮影画像群の一方の撮影画像群から移動制御情報に応じて選択された撮影画像に基づいて、テクスチャを生成する。そして移動制御情報に応じて変化するテクスチャを、プリミティブにマッピングして、仮想空間画像を生成する。このようにすれば、図3(A)〜図11(C)で説明した手法により仮想空間画像を生成することが可能になり、移動制御情報に応じたキャラクタ等の表示物の適切な画像を生成できるようになる。
また本実施形態では、第1の撮影画像群の撮影画像と第2の撮影画像群の撮影画像を合成することで、テクスチャを生成する。
例えば図27(A)では、第1の撮影画像群である撮影画像IMX1〜IMXjと、第2の撮影画像群である撮影画像IMY1〜IMYjが取得されている。そして第1の撮影画像群の撮影画像IMXiと、第2の撮影画像群の撮影画像IMYiの合成を行うことで、合成画像IMXYを生成する。例えばα合成などの合成処理を行って、合成画像IMXYを生成する。そして合成画像IMXYに基づいてテクスチャを生成して、プリミティブにマッピングする。これにより、プリミティブの画像を含む仮想空間画像が生成される。このようにすれば、第1の撮影画像群の撮影画像と第2の撮影画像群の撮影画像の両方が反映させたテクスチャを生成し、生成されたテクスチャがマッピングされた画像を、対象物に対応する表示物の画像として生成できるようになる。
例えば図27(B)において、第1の撮影画像群が、対象物が第1のポーズである場合の撮影画像群であり、第2の撮影画像群が、対象物が第2のポーズである場合の撮影画像群であったとする。第1のポーズは例えば図21(A)に示すようなポーズであり、第2のポーズは例えば図21(B)に示すようなポーズである。そして図24、図25で説明したように、プレーヤの操作入力情報などに基づいて、第1の撮影画像群に基づくテクスチャによるキャラクタの画像の生成から、第2の撮影画像群に基づくテクスチャによるキャラクタの画像の生成に切り替える処理を行ったとする。このようにすることで、第1のポーズのキャラクタの画像が表示される仮想空間画像から、第2のポーズのキャラクタの画像が表示される仮想空間画像に切り替える処理が可能になる。例えば図21(A)のポーズのキャラクタの画像が表示される仮想空間画像から、図21(B)のポーズのキャラクタの画像が表示される仮想空間画像に切り替える処理が可能になる。この場合に、当該切り替え処理の切り替え期間において、第1、第2の撮影画像群の撮影画像の合成画像IMXYに基づくテクスチャを生成して、プリミティブにマッピングする。このようにすれば、第1のポーズと第2のポーズを補間するようなポーズのキャラクタの画像を、切り替え期間において表示できるようになる。例えば図21(A)のポーズと図21(B)のポーズを補間するような中間ポーズのキャラクタの画像を、切り替え期間において表示できるようになる。これによりモーション補間のような処理が可能になり、キャラクタのポーズのスムーズな切り替え処理を実現できるようになる。
なお、図21(A)のような対象物POBを撮影することによる第1の撮影画像群の撮影画像と、図21(A)のような形状変形した対象物POBを撮影することによる第2の撮影画像群の撮影画像の合成画像を用いて、図27(B)のような切り替え処理を行ってもよい。このようにすれば、キャラクタがスムーズに形状変形するような仮想空間画像を生成できるようになる。
また本実施形態では、対象物の分析結果に基づいて、プレーヤがプレイするゲームのゲームパラメータを設定し、設定されたゲームパラメータに基づいてゲーム処理を行う。図28に、このような処理を行う場合のフローチャートを示す。
まず撮影画像等に基づく対象物の分析処理を行う(ステップS41)。例えば対象物のシルエット分析等を行って、対象物の種類や形状を特定する。そして対象物の分析結果に基づいて、プレーヤがプレイするゲームのゲームパラメータを設定する(ステップS42)。例えば対象物に対応するキャラクタ等の攻撃力、守備力、耐久力、移動能力、走行能力、特殊能力、特殊スキル、ヒットポイント、マジックポイント又はレベル等のゲームパラメータを設定する。例えばゲームパラメータの基本値である初期パラメータ値を設定する。そして設定されたゲームパラメータに基づいて、ゲーム処理を実行する(ステップS43)。例えば、設定されたゲームパラメータに基づいて、キャラクタ等が登場するゲームの処理が行われる。例えばゲームの開始処理、ゲームの進行処理、ゲームの終了処理又はゲーム成績の演算処理などが行われる。
このようにすれば、対象物の撮影画像に基づくキャラクタ等の表示物を表示できると共に、対象物の分析結果に基づいて、キャラクタ等の表示物が登場するゲームの処理に用いられるゲームパラメータを設定できるようになる。これにより対象物に対応する表示物が仮想空間に登場するゲームを実現できると共に、当該ゲームの処理のゲームパラメータについても、対象物の分析結果である対象物の種類等に基づき設定できるようになるため、これまでにない面白味のあるゲームを実現できるようになる。
なお、対象物のシルエット分析等の分析結果のみならず、プレーヤ情報に基づいて、ゲームパラメータを設定してもよい。例えばプレーヤの個人情報などに基づいて、初期値として設定されるゲームパラメータの値を変化させる。
また本実施形態では、第1の撮影画像群を受け付けた後、第2の撮影画像群を受け付けた場合に、第2の撮影画像群が第1の撮影画像群と異なる撮影画像群か否かを判断する。そして、異なる撮影画像群と判断された場合に、第2の撮影画像群を記憶部170に記憶する。例えば撮影部162により対象物を撮影した場合に、撮影された第2の撮影画像群(第2の動画)が、過去に撮影された第1の撮影画像群(第1の動画)と異なる撮影画像群(動画)か否かを判断する。そして異なる撮影画像群であることを条件に、撮影された第2の撮影画像群(第2の動画)を記憶部170に保存する。例えば第2の撮影画像群が、第1の撮影画像群と同じ対象物を撮影した撮影画像群である場合には、記憶部170に保存しないようにする。図29は、このような撮影画像群の保存処理を説明するフローチャートである。
まず第1の撮影画像群を受け付けて、記憶部170に記憶して保存する(ステップS51)。そして第2の撮影画像群が受け付けられたか否かを判断する(ステップS52)。例えば撮影部162による撮影により第2の撮影画像群が取得されて受け付けられたか否かを判断する。そして第2の撮影画像群が受け付けられた場合に、第2の撮影画像群は第1の撮影画像群と異なる撮影画像群か否かを判断する(ステップS53)。そして第2の撮影画像群が第1の撮影画像群と異なる撮影画像群であると判断された場合に、第2の撮影画像群を記憶部170に記憶して保存する(ステップS54)。
以上のような処理を行えば、同じような撮影画像群(動画)が記憶部170に対して無駄に保存されてしまう事態を防止できる。一方、第2の撮影画像群に映る対象物が、第1の撮影画像群の対象物のポーズを変化させた対象物、付随物を付加した対象物、或いは形状変形した対象物である場合には、第2の撮影像群が第1の撮影画像群とは異なる撮影画像群であると判断される。このようにすることで、図20に示すように、第1、第2の撮影画像群から適切なテクスチャを生成して、プリミティブにマッピングし、対象物に対応する表示物が表示された仮想空間画像を生成できるようになる。
また本実施形態では、第1、第2の撮影画像群からテクスチャを生成する際に、撮影画像に対するプレーヤの編集を受け付ける。即ちプレーヤによる撮影画像に対する編集を可能にする編集処理を行う。例えば図30に示すように第1、第2の撮影画像群から選択された撮影画像に対するプレーヤの編集を受け付ける。例えば撮影画像を修正する編集や、撮影画像にマーク、アイコンなどの付加表示物を付加する編集や、撮影画像を変形するなどの編集を、プレーヤが行われるようにする。そして編集後の撮影画像に基づいて、テクスチャを生成し、生成されたテクスチャをプリミティブにマッピングすることで、プリミティブの画像を含む仮想空間画像を生成する。
このようにすれば、対象物の撮影画像そのものを用いるのではなく、プレーヤが所望の編集を行った後の撮影画像を用いて、テクスチャを生成し、当該テクスチャがマッピングされたプリミティブの画像を表示できるようになる。これにより、プリミティブの画像により、対象物に対応するキャラクタ等の表示物の画像を表示する場合に、修正された撮影画像に基づいて表示物の画像を表示したり、マーク、アイコンなどの付加表示物が付加された表示物の画像を表示できるようになる。
また本実施形態では、撮影部162による対象物の撮影と、対象物に対応するキャラクタ等を用いたゲームのプレイに対して、共通のポイントを消費するようにしてもよい。即ち、対象物の撮影に必要なコストと、ゲームプレイに必要なコストを共通化する。例えば、プレーヤがゲームプレイにより獲得したポイントを消費することで、対象物の撮影を許可するようにする。例えばゲームプレイを有料にして、プレーヤは、実通貨や、ゲーム内通貨などの仮想通貨を支払ってゲームをプレイする。そして、ゲームにおいてプレーヤがポイントを獲得すると、獲得したポイントの消費を条件にして、撮影部162による対象物の撮影を許可するようにする。例えば、プレーヤが初めてゲームプレイを行う際には、プレーヤが所持するプラモデルなどの対象物についての1回の撮影を許可する。そしてプレーヤは、撮影した対象物に対応するキャラクタ等が登場するゲームをプレイする。そして、このゲームにおいてプレーヤがポイントを獲得し、ポイントが一定値以上に達すると、プレーヤによる次の撮影を許可する。これによりプレーヤは、例えば図21(B)に示すようなポーズを異ならせたプラモデル(広義には対象物)や、図22(A)に示すような武器を装備させたプラモデルや、図22(B)に示すような形状変形したプラモデルを撮影できるようになる。そしてこれらのプラモデルに対応するキャラクタをゲームに登場させて、ゲームをプレイできるようになるため、繰り返しゲームプレイしても飽きが来にくいゲームを実現できるようになる。
また本実施形態では、撮影画像からテクスチャを生成する際に種々の補正処理や修正処理を行ってもよい。例えばAI(Artificial Intelligence)などの機械学習を利用して、撮影画像からテクスチャを生成するようにしてもよい。例えばプレーヤが対象物を撮影することで取得された撮影画像を記憶部170に記憶して蓄積し、蓄積された撮影画像に基づいてAIなどの機械学習を行ってもよい。そして機械学習により生成された学習済みモデルを用いて、撮影画像に対する補正処理や修正処理などを行って、テクスチャを生成し、生成されたテクスチャをプリミティブにマッピングするようにしてもよい。
なお、上記のように本実施形態について詳細に説明したが、本開示の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(対象物、表示物等)と共に記載された用語(プラモデル、キャラクタ等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また撮影画像群の取得処理、プリミティブの移動処理、テクスチャの生成処理、仮想空間画像の生成処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本開示の範囲に含まれる。