説明

プログラム、情報記憶媒体及びゲーム装置

【課題】プレーヤがプレーヤキャラクタに抱く親近感を得やすいゲームを実現すること。
【解決手段】イメージセンサモジュール1227でゲームプレイ中のプレーヤ2の全身像を常時撮影し、プレーヤ画像から人体シルエット30を抽出し、そこから更にプレーヤ2の頭部位置に相当する頭部特徴点40と、右手位置に相当する左特徴点42と、左手位置に相当する右特徴点44の座標を取得する。左特徴点42や右特徴点44が判定領域50内に存在する場合には、プレーヤキャラクタ6が銃8をゲームコントローラ1230で指し示したポインターの位置を向くように自動制御し、判定領域50を出てプレーヤ2が手を広げて何らかのポーズをとる状態と判断されるならば、プレーヤキャラクタ6の腕関節の姿勢パラメータ値を左特徴点42や右特徴点44の位置座標に基づいて算出し、プレーヤ2の腕の動きを真似するように動作制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに所定のキャラクタを表示制御させてゲームを進行制御させるためのプログラム等に関する。
【背景技術】
【0002】
現在、市販される多くのビデオゲームでは、プレーヤはレバーやボタンスイッチなどを操作することでプレーヤキャラクタを操作する。レバーやボタンスイッチが一纏めとなったゲームコントローラを付属する家庭用ゲーム装置であっても、業務用ゲーム装置であっても同様である。
その一方で、ゲームコントローラに備えられた加速度センサ等でプレーヤの動作を検知して、プレーヤキャラクタを制御する技術や(例えば、非特許文献1参照)、プレーヤの手を撮影してハンドジェスチャーを判定することによってゲーム操作の入力をする技術など(例えば、特許文献1参照)、レバーやボタンスイッチによらない操作形態が知られるところである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−246161号公報
【非特許文献】
【0004】
【非特許文献1】任天堂社製ゲーム装置「Wii」向けソフト「Wiiスポーツ」解説書、2006年
【発明の概要】
【発明が解決しようとする課題】
【0005】
さて、ビデオゲームではプレーヤがプレーヤキャラクタにどれだけ親近感を抱けるかがゲームへの没入感を楽しむための重要な要素となっている。そのために、プレーヤキャラクタを親しみやすいデザインとしたり、あこがれるヒーロー像となるようなデザインとしたりといった工夫がなされる。
【0006】
しかし、いくらプレーヤキャラクタのデザインに工夫を凝らしたとしても操作方法に変わりはなかった。すなわち、従来の技術では、加速度センサによるプレーヤの動作検知を利用したり、ハンドジェスチャーの検知を利用したとしても、レバーやボタンスイッチなどで操作すると同様に予め操作入力に対応づけて用意されたモーションに従ってプレーヤキャラクタが動作制御されるのには変わりがなかった。このため、プレーヤは、プレーヤキャラクタに抱く親近感にはある種の限界感を持っていた。
【0007】
本発明は、こうした事情を鑑みてなされたものであり、プレーヤがプレーヤキャラクタに抱く親近感をより得やすいゲームを実現することである。
【課題を解決するための手段】
【0008】
以上の課題を解決するための第1の発明は、プレーヤを撮影するためのデジタル式の撮影装置(例えば、図1のイメージセンサモジュール1227)を備えたコンピュータ(例えば、図1の家庭用ゲーム装置1200)に、キャラクタモデルが配置されたゲーム空間の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記キャラクタモデルを移動制御するキャラクタ移動制御手段(例えば、図8の処理部200、ゲーム演算部210、プレーヤキャラクタ移動制御部214、図14のステップS18)、
仮想カメラを前記キャラクタモデルから所定距離離れた位置に配置し、前記キャラクタモデルの移動に従って移動制御する仮想カメラ制御手段(例えば、図8の処理部200、ゲーム演算部210、仮想カメラ制御部216、図14のステップS18)、
前記仮想カメラに基づき前記キャラクタモデルを含む前記ゲーム空間の画像を生成する画像生成手段(例えば、図8の処理部200、画像生成部260、図14のステップS14)、
前記撮影装置により撮影されたプレーヤ画像に基づいて前記キャラクタモデルの挙動を制御するモデル挙動制御手段(例えば、図8の処理部200、ゲーム演算部210、プレーヤキャラクタ挙動制御部224、図14のステップS24)、として前記コンピュータを機能させるためのプログラムである。
【0009】
また、別形態として、プレーヤを撮影するためのデジタル式の撮影装置を備え、キャラクタモデルが配置されたゲーム空間の画像を生成して所定のゲームを実行するゲーム装置であって、前記キャラクタモデルを移動制御するキャラクタ移動制御手段と、仮想カメラを前記キャラクタモデルから所定距離離れた位置に配置し、前記キャラクタモデルの移動に従って移動制御する仮想カメラ制御手段と、前記仮想カメラに基づき前記キャラクタモデルを含む前記ゲーム空間の画像を生成する画像生成手段と、前記撮影装置により撮影されたプレーヤ画像に基づいて前記キャラクタモデルの挙動を制御するモデル挙動制御手段と、を備えたゲーム装置を構成することができる。
【0010】
第1の発明によれば、ゲーム操作するプレーヤを撮影装置で撮影し、撮影したプレーヤ画像に基づいてゲームに登場するキャラクタモデルの挙動を制御することができる。従来のゲームコントローラからのレバーやボタン操作によるキャラクタ制御や、ゲームコントローラに内蔵された加速度センサによるプレーヤの動作検知を利用したキャラクタ制御、或いはハンドジェスチャーの検知を利用したキャラクタ制御に比べて、プレーヤが操作するキャラクタへ抱く親近感を高め、ゲームにおけるなりきり感を高めることができる。
【0011】
特に、例えば、撮影されるプレーヤ画像にプレーヤの少なくとも半身を写すように構成することによって、プレーヤの体の極一部ではなくプレーヤのより全体的な動作やポーズに基づいてキャラクタを操作することができるので、格段にプレーヤとプレーヤが操作するキャラクタとの親近感をより一層高めることができる。
【0012】
第2の発明は、前記キャラクタモデルが左右の腕を有しており、プレーヤが表示装置に正対した場合のプレーヤの右の腕が前記仮想カメラから見た前記キャラクタモデルの右側の腕に、左の腕が前記仮想カメラから見た前記キャラクタモデルの左側の腕に対応するように、前記プレーヤ画像の左右と前記キャラクタモデルの左右との対応関係を設定する左右関係設定手段(例えば、図8の処理部200、ゲーム演算部210、図14のステップS10)、
前記撮影装置により撮影されたプレーヤ画像における左側の腕部分及び右側の腕部分を判定する腕部分判定手段(例えば、図8の処理部200、ゲーム演算部210、特徴点情報取得部220、図14のステップS6)として前記コンピュータを更に機能させ、
前記モデル挙動制御手段が、前記対応関係に従って、前記キャラクタモデルの左腕及び右腕を、それぞれ対応する前記プレーヤ画像の左側又は右側の腕部分の位置変化に基づいて制御する腕制御手段を有するように前記コンピュータを機能させるための第1の発明のプログラムである。
【0013】
第2の発明によれば、第1の発明と同様の効果を奏するとともに、プレーヤの右腕・左腕にプレーヤが操作できるキャラクタの右腕・左腕を正しく対応づけて動作制御できる。
【0014】
第3の発明は、前記ゲームが、前記キャラクタモデルが敵キャラクタと戦闘するゲームであり、前記キャラクタモデルは、腕の部分的な部位破壊攻撃を受けた場合に当該部分を消失し、前記腕制御手段が、前記対応関係に従って、前記キャラクタモデルの現存する左腕及び右腕を、それぞれ対応する前記プレーヤ画像の左側又は右側の腕部分の位置変化に基づいて制御するように前記コンピュータを機能させるための第2に発明のプログラムである。
【0015】
第3の発明によれば、第2の発明と同様の効果を奏するとともに、キャラクタモデルの腕が部分的に破壊されたものとして非表示状態になったとしても、一部が残った場合にはプレーヤ画像の左側又は右側の腕部分の位置変化に基づいて制御することができる。
【0016】
第4の発明は、前記撮影装置により撮影されたプレーヤ画像中のプレーヤ像が左方及び右方の何れかに移動したことを検出するプレーヤ左右移動検出手段(例えば、図8の処理部200、ゲーム演算部210、ジェスチャー判定部222、図14のステップS22)として前記コンピュータを機能させ、
前記モデル挙動制御手段が、前記対応関係に従って、前記キャラクタモデルを前記プレーヤ左右移動検出手段による検出方向に対応する方向に傾けるように姿勢制御する傾斜姿勢制御手段(例えば、図8の処理部200、ゲーム演算部210、プレーヤキャラクタ挙動制御部224、図14のステップS24)を有するように前記コンピュータを機能させる、ための第2又は第3の発明のプログラムである。
【0017】
第4の発明によれば、第2又は第3の発明と同様の効果を奏するとともに、プレーヤ画像中のプレーヤの像が左方及び右方の何れかへの移動を検出した場合には、キャラクタモデルを検出された方向に対応する方向へ傾けるように姿勢制御できる。
【0018】
第5の発明は、前記左右関係設定手段が、前記仮想カメラの向きが前記キャラクタモデルの正面側に対向する向きか背面側に対向する向きかによって左右の対応関係を反転させる対応関係反転手段(例えば、図8の処理部200、ゲーム演算部210、図14のステップS10)を有するように前記コンピュータを機能させるための第2〜第4の何れかの発明のプログラムである。
【0019】
第5の発明によれば、第2〜第4の発明の何れかと同様の効果を奏するとともに、仮想カメラの向きが前記キャラクタモデルの正面側に対向する向きか背面側に対向する向きかによって左右の対応関係を反転させ、プレーヤ画像における左右とキャラクタモデルにおける左右とを正しく対応づけることができる。
【0020】
第6の発明は、前記モデル挙動制御手段が、前記撮影装置により撮影されたプレーヤ画像中のプレーヤ像の上下方向の長さの変化に基づいて、前記キャラクタモデルに屈み動作を行わせる屈み動作制御手段(例えば、図8の処理部200、ゲーム演算部210、プレーヤキャラクタ挙動制御部224、図14のステップS24)を有するように前記コンピュータを機能させるための第1〜第5の何れかの発明のプログラムである。
【0021】
第6の発明によれば、第1〜第5の発明の何れかと同様の効果を奏するとともに、プレーヤがしゃがむ動作を検出して、キャラクタモデルに屈み動作を行わせることができる。
【0022】
第7の発明は、前記モデル挙動制御手段が、前記撮影装置により撮影されたプレーヤ画像に基づいて前記キャラクタモデルの上半身の挙動を制御する上半身挙動制御手段(例えば、図8の処理部200、ゲーム演算部210、プレーヤキャラクタ挙動制御部224、図14のステップS24)と、
前記キャラクタ移動制御手段による移動制御に基づいて前記キャラクタモデルの下半身の挙動を制御する下半身挙動制御手段(例えば、図8の処理部200、ゲーム演算部210、プレーヤキャラクタ移動制御部214、図14のステップS18)と、を有するように前記コンピュータを機能させるための第1〜第6の何れかの発明のプログラムである。
【0023】
第7の発明によれば、第1〜第6の発明の何れかと同様の効果を奏するとともに、キャラクタモデルを上半身と下半身とに分けて制御することができる。よって、予め定められた位置にキャラクタモデルを移動させるように自動制御しつつ、上半身はプレーヤ像に基づく動作制御をするといった構成が可能になる。例えば、いわゆるレールシューティングゲームにおいてプレーヤ像に基づくキャラクタモデルの動作制御を実現する上では好適な技術要素となる。
【0024】
第8の発明は、前記プレーヤ画像中の前記プレーヤ像に基づいて、前記キャラクタモデルを、複数種類のキャラクタモデルの中から選択或いは生成して設定するキャラクタモデル設定手段として前記コンピュータを機能させるための第1〜第7の何れかの発明のプログラムである。
【0025】
第8の発明によれば、プレーヤ画像中の前記プレーヤ像に基づいて複数種類のキャラクタモデルの中から選択或いは生成して設定することができる。よって、プレーヤキャラクタに多様性を持たせることができる。
【0026】
第9の発明は、前記キャラクタモデル設定手段が、前記プレーヤ画像中の前記プレーヤ像の色彩に基づいて前記キャラクタモデルの色を設定する着色手段(例えば、図8の処理部200、ゲーム演算部210、図15のステップS60〜S62)を有するように前記コンピュータを機能させるための第8の発明のプログラムである。
【0027】
第9の発明によれば、第8の発明と同様の効果を奏するとともに、プレーヤの着衣の色彩に基づいてキャラクタモデルの色を設定することができる。特にプレーヤ像の色彩と同系色でキャラクタモデルの色を設定する構成とするならば、プレーヤがキャラクタモデルに抱く親近感をより一層高めることができる。
【0028】
第10の発明は、前記キャラクタモデル設定手段が、前記プレーヤ画像中の前記プレーヤ像の輪郭形状に基づいて前記キャラクタモデルの体形を設定する体形設定手段(例えば、図8の処理部200、ゲーム演算部210、図15のステップS54〜S58)を有するように前記コンピュータを機能させるための第8又は第9の発明のプログラムである。
【0029】
第10の発明によれば、第8又は第9の発明と同様の効果を奏するとともに、キャラクタモデルの体形をプレーヤの姿の形状に対応させるといったことができる。特に、プレーヤ像からプレーヤの体形を推定し、推定された体形に応じてキャラクタモデルの体形を変更すると、プレーヤがキャラクタモデルに抱く親近感をより一層高めることができる。
【0030】
第11の発明は、第1〜第10の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第11の発明によれば、第1〜第10の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第10の何れか一つの発明と同様の効果を発揮させることができる。
【図面の簡単な説明】
【0031】
【図1】家庭用ゲーム装置のシステム構成例を示す図。
【図2】ゲームコントローラの構成例を示す正面図及び側面図。
【図3】プレイスタイル例を示す図。
【図4】ゲーム画面例を示す図。
【図5】プレーヤキャラクタの設定原理を説明する概念図。
【図6】プレーヤキャラクタの動作制御の原理を説明する概念図。
【図7】ジェスチャー及びポーズ入力の例を示す図。
【図8】機能構成例を示す機能ブロック図。
【図9】ゲーム空間設定データのデータ構成例を示す図。
【図10】プレーヤキャラクタ初期設定データのデータ構成例を示す図。
【図11】ジェスチャー辞書データのデータ構成例を示す図。
【図12】プレーヤキャラクタステータスデータのデータ構成例を示す図。
【図13】左右対応設定データのデータ構成例を示す図。
【図14】主たる処理の流れを説明するためのフローチャート。
【図15】モデルマッチング処理の流れを説明するためのフローチャート。
【図16】プレーヤキャラ挙動制御処理の流れを説明するためのフローチャート。
【図17】図16より続くフローチャート。
【図18】第2実施形態におけるプレーヤキャラクタの代替としての反転シルエット表示の概念を説明する図。
【図19】反転シルエット表示状態においてプレーヤがダメージを受けた時のダメージ表現時の制御例を説明する図。
【図20】変身操作によってプレーヤキャラクタを登場させる制御例を説明する図。
【図21】第2実施形態におけるプレーヤキャラクタ挙動制御処理(プレーヤキャラクタ挙動制御処理B)の流れを説明するためのフローチャート。
【図22】図21より続くフローチャート。
【図23】ゲーム画面生成表示処理の流れを説明するためのフローチャート。
【図24】ゲーム装置の変形例であるガンシューティングゲーム装置の構成例を示す図。
【発明を実施するための形態】
【0032】
〔第1実施形態〕
本発明を適用した第1実施形態として、イメージセンサを備える家庭用ゲーム装置において、TPSゲーム(Third Person Shooting Game)を実行する例を説明する。
【0033】
図1は、本実施形態における家庭用ゲーム装置の構成例を説明するための図である。同図に示すように、家庭用ゲーム装置1200は、ゲーム装置本体1201と、ビデオモニタ1220と、ゲームコントローラ1230と、光信号出力装置1226と、イメージセンサモジュール1227と、を備える。
【0034】
ゲーム装置本体1201は、例えばCPUや画像処理用LSI、ICメモリ等が実装された制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208とを備える。そして、家庭用ゲーム装置1200は、光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230に為される操作入力等に基づいて制御ユニット1210が各種のゲーム演算を実行してビデオゲームを実行する。
【0035】
制御ユニット1210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子機器を備え家庭用ゲーム装置1200の各部を制御する。
また、制御ユニット1210は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と有線又は無線接続し、外部装置との間でデータ通信を実現する通信装置1212を備える。また、近距離無線通信モジュール1214を備え、近距離無線を介して複数のゲームコントローラ1230との間でデータの送受信を実現する。近距離無線の形式としては、例えばBluetooth(登録商標)やUWB(超広帯域無線)、無線LANなどが適宜適用可能である。
【0036】
そして、制御ユニット1210は、ゲームコントローラ1230から受信した操作入力信号に基づいてゲーム画面やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画面やゲーム音に基づく映像信号や音信号がケーブル1209で接続されたビデオモニタ1220(ディスプレイモニタ、音声信号やビデオ信号などの外部入力が可能なテレビを含む意)に出力される。ビデオモニタ1220には、ビデオ画像を表示する画像表示装置1222と、音声を出力するスピーカ1224とが備えられており、プレーヤは画像表示装置1222に映し出されるゲーム画面を見ながら、スピーカ1224から放音されるゲーム音を聞きつつゲームをプレイする。
【0037】
図2は、本実施形態において用いられるゲームコントローラ1230の一例を示す外観図であって、(1)正面図(=上面図)、(2)正面向かって右から見た右側面図である。ゲームコントローラ1230は面取りされた略四角断面を有する棒状を成しており、プレーヤは棒を握る要領で片手把持して操作する。
【0038】
ゲームコントローラ1230は、内蔵するコントローラ制御ユニット1260を中心に、各種入力デバイス及び出力デバイスを、例えばIIC(Inter-Integrated Circuit)バスなどによって実現されるローカルバス回路によって接続しており、コントローラ制御ユニット1260によって各デバイス間の入出力を制御する。
【0039】
具体的には、例えばスイッチ類の入力デバイスとしては、正面側(上面側)の下端部から中央部に掛けて操作ボタン1240a,1240b,1240cを備える。また、正面側の前部には、十字状の四隅を押下することで上下左右の方向を個別に入力することのできる方向入力キー1242を備え、背面側の中央部にはトリガー1246を備える。
【0040】
また、その他の入力デバイスとしては、ゲームコントローラ1230の動きや傾きを検出するための加速度センサ1248と、イメージセンサ1256とを備える。
【0041】
加速度センサ1248はゲームコントローラ1230の長手先端方向(図2(1)で言うところの図面上方向)をZ軸のプラス方向、正面向かって右方向(図2(1)で言うところの図面右方向)をX軸のプラス方向、正面向かって手前方向(図2(2)で言うところの図面左方向)をY軸のプラス方向とする直交3軸方向の各加速度を検出し、検出した加速度に応じた情報を含む操作入力信号をコントローラ制御ユニット1260に出力する。
【0042】
イメージセンサ1256は、CCDセンサやCMOSセンサなどの撮像素子の前方に赤外光のみを透過するフィルタを装着して実現され、ゲームコントローラ1230の先端に設けられて長手方向前方の様子を撮影し、画像信号をコントローラ制御ユニット1260に出力する。
【0043】
また、本実施形態におけるゲームコントローラ1230は、スピーカ1252を備える。スピーカ1252は、コントローラ制御ユニット1260から出力された音出力信号に従って音を発生させ、正面側に向けて放音する。
【0044】
コントローラ制御ユニット1260は、例えば、CPUやローカルバス回路におけるデータ通信を制御するバスコントローラICなどの各種マイクロチップやICメモリなどの電子部品、ゲーム装置本体1201の近距離無線通信モジュール1214と無線通信を実現する近距離無線通信モジュール1262などを搭載する。
【0045】
そして、コントローラ制御ユニット1260は、ローカルバス回路を介して各種入力デバイスから送信された信号に基づいて操作入力信号を生成し、生成した操作入力信号を近距離無線通信モジュール1262でゲーム装置本体1201へ送信する。また、近距離無線通信モジュール1262によって、ゲーム装置本体1201から送出された出力信号を受信した場合には、受信した出力信号に対応づけられている出力デバイスへ制御信号を生成・送出する。尚、コントローラ制御ユニット1260及び各部が必要とする電力は、ゲームコントローラ1230の背面側に凹設されたバッテリー室内に内蔵されたバッテリー1270から供給される。
【0046】
光信号出力装置1226は、赤外光を発する複数の点光源を内蔵する。光信号出力装置1226は、ビデオモニタ1220付近の所定位置(例えば上部)に設置され、ビデオモニタ1220の前方へ赤外光を投光することができる。
【0047】
イメージセンサモジュール1227は、例えば、レンズ、メカシャッター、シャッタードライバ、CCDイメージセンサモジュールやCMOSイメージセンサモジュールといった光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ(DSP)、ICメモリなどで実現される。
【0048】
図3は、本実施形態におけるゲームプレイスタイルを示す図である。
プレーヤ2は、ゲームコントローラ1230を持ってビデオモニタ1220の前方に立ち、ゲームコントローラ1230の先端をビデオモニタ1220に向けて構える。
【0049】
ゲームコントローラ1230の先端をビデオモニタ1220に向けると、ゲームコントローラ1230のイメージセンサ1256で光信号出力装置1226を撮影することができる。制御ユニット1210は、イメージセンサ1256で撮影した画像データをゲームコントローラ1230から受信し、同画像内の赤外光の各点光源の位置に基づいて画像表示装置1222にポインター4を移動表示させて、ポインティングデバイスとしての機能を実現する。
【0050】
また、イメージセンサモジュール1227は、ビデオモニタ1220の前に居るプレーヤ2の全身を前方より撮影できるように例えばビデオモニタ1220の上部に設置され、撮影したプレーヤ画像W2の画像データを生成して制御ユニット1210へ出力することができる。
【0051】
図4は、ビデオモニタ1220に表示されるゲーム画面例を示す図である。
本実施形態のビデオゲームは、所謂TPSである。
すなわち、制御ユニット1210は、3次元仮想空間内に壁や階段、通路などの背景オブジェクトを配置してゲーム空間内を形成するとともに、ゲーム空間内にプレーヤが操作するプレーヤキャラクタ6のモデルやNPC(Non Playable Character)である敵キャラクタ10のモデルを配置し、プレーヤキャラクタ6の周囲を3人称視点の仮想カメラで撮影したゲーム空間画像をレンダリングする。そして、レンダリングされたゲーム空間画像に、更にプレーヤキャラクタ6のヒットポイント値を示すヒットポイントゲージ20や、ゲーム空間におけるプレーヤキャラクタ6の正面方向を示す方位表示22、プレーヤキャラクタ6の周囲の状況をシンボル表示するいわゆるレーダー表示24などの情報表示が合成表示してゲーム画像W4を生成し、ビデオモニタ1220で表示させる。
【0052】
プレーヤキャラクタ6は銃8を所持しており、プレーヤがゲームコントローラ1230のトリガー1246を操作して攻撃操作を入力すると、プレーヤキャラクタ6はポインター4の表示位置へ向けて射撃するように動作制御される。
敵キャラクタ10を攻撃して敵キャラクタ10のヒットポイントを「0」にすれば倒すことができる。反対に、プレーヤキャラクタ6が敵キャラクタ10からの攻撃を受けると、プレーヤキャラクタ6のヒットポイントは減算され、ヒットポイントが「0」になってしまうとプレーヤキャラクタ6は戦闘不能となり、ゲームオーバーとなる。
【0053】
本実施形態のゲームは、プレーヤキャラクタ6が、自動的にゲーム空間内に複数用意されている所定の戦闘位置に移動制御され、そこで登場する敵キャラクタ10を全て倒すと次の戦闘位置へ自動的に移動制御されるようにしてゲームが進行する、所謂レールシューティングタイプのゲームである。プレーヤキャラクタ6を上手く操作して各戦闘位置での戦闘に生き残ることができればゲームクリアとなる。
【0054】
[プレーヤキャラクタモデルの設定方法の説明]
図5は本実施形態におけるプレーヤキャラクタ6の表示用モデルの設定について説明するための概念図である。
本実施形態では、ゲーム開始に先立ってプレーヤの体形と着衣の色の要素をプレーヤキャラクタ6のモデルに反映させることができる。その為に、ゲーム開始に先立って、ビデオモニタ1220に所定のプレイ準備ガイドを画面表示して、プレーヤ2に指示を与えつつ、イメージセンサモジュール1227でキャリブレーション用の画像を取得する。
【0055】
より具体的には、プレイ準備ガイドでは先ず、ビデオモニタ1220の前にはプレーヤが一定時間立たないように指示し、その間に背景のみの第1キャリブレーション画像C1をイメージセンサモジュール1227で撮影する。次いで、プレーヤにイメージセンサモジュール1227に対して正面向いて両手を広げるように指示して、第2キャリブレーション画像C2を撮影する。
【0056】
第1キャリブレーション画像C1と第2キャリブレーション画像C2を取得したならば、制御ユニット1210は、両画像の差分からプレーヤ2の人体シルエット30を抽出する。そして、この人体シルエット30はプレーヤ2の立位正面像から求められているので、高さ中間位置の横幅Lbをプレーヤ2の体形推定パラメータ値と見なし、横幅Lbに応じてプレーヤキャラクタ6の体形を変更する。例えば、横幅Lbを所定基準と比較してやせ形・標準・太目の3タイプに分類し、分類結果に応じてプレーヤキャラクタ6の胴回りの寸法を可変し、それをゲームで使用する適用プレーヤキャラクタモデルとする。
【0057】
図5の左側の例では、人体シルエット30aの横幅Lbは標準と判定されたので、標準体形のプレーヤキャラクタ6aとなる。一方、図5の右側の例では、人体シルエット30bの横幅Lbは太目と判定されたので、胴回りが太くなるように調整されたプレーヤキャラクタ6bとなっている。胴回りのみならず、頭部や腕、脚なども調整対象とすることができる。また、伸長と横幅LBとの比率に基づいてプレーヤキャラクタ6の体形を変更してもよい。
【0058】
また、制御ユニット1210は、人体シルエット30を抽出したならば、人体シルエット30の領域内の画素の色情報を統計処理し、人体シルエット30の代表色を所定の選択肢内から決定する。代表色は、例えば赤・橙・黄・青・緑・紫の6色相に白・黒を加えたものの中から、人体シルエット30内で最も占める画素の色相に合致するものが選択される。そして、予め用意されている複数のテクスチャデータから、代表色と同系色のテクスチャデータを選択して、それをゲームで使用する適用テクスチャデータとする。
【0059】
このように、プレーヤ2の体形と着衣の色の特徴を備えるようにプレーヤキャラクタ6を設定することで、プレーヤがプレーヤキャラクタ6へ抱く親近感を高めるように工夫されている。
【0060】
[プレーヤキャラクタの動作制御方法の説明]
図6は、本実施形態におけるプレーヤキャラクタ6の動作制御方法を説明するための概念図である。従来のTPSにおけるプレーヤキャラクタは、ゲームコントローラからの操作入力に基づいて、そのゲームコントローラからの操作入力に対応づけて予め用意されたモーションデータに従って攻撃動作したり回避動作をしたりと言った具合に動作制御(挙動制御)されている。しかし、本実施形態では一部では従来通りにゲームコントローラ1230からの操作入力に基づいてプレーヤキャラクタ6を動作制御するが、一部ではイメージセンサモジュール1227で撮影されるプレーヤ2の動作(挙動)をプレーヤキャラクタ6が真似るように動作制御する。
【0061】
具体的には、制御ユニット1210は、第2キャリブレーション画像C2から人体シルエット30を抽出し、抽出された人体シルエット30から中央上向き凸部と、左右端部の凸部を抽出する。そして、抽出された中央上向き凸部をプレーヤ2の頭部に相当する頭部特徴点40として認識し、その代表点(例えば先端位置や該当部分の中心位置)の画面座標系の座標を取得する。同じように、人体シルエット30の画面向かって左方向への凸部を左特徴点42として識別し、画面向かって右方向への凸部を右特徴点44として識別する。
【0062】
ゲームプレイ中は、常時イメージセンサモジュール1227によってプレーヤ2の様子が撮影され、撮影されたフレーム毎(例えば、プレーヤ画像W2,W3,・・・)に頭部特徴点40、左特徴点42、右特徴点44の座標が取得され続ける。これら頭部特徴点40、左特徴点42、右特徴点44の座標が、イメージセンサモジュール1227で撮影されるプレーヤ2の動作をプレーヤキャラクタ6が真似るように動作制御する基本情報となる。
【0063】
さて、ここで注意すべきはプレーヤ画像W2,W3,・・・から得られる各特徴点の情報は、画面座標系における2次元位置情報であり、1台のイメージセンサモジュール1227により撮影された画像からだけでは各特徴点の前後方向の位置情報が求められないために立体的に動作させることができない点である。ただし、手を左右に広げたポーズにおいては、身体の前後方向における手の位置は大体同じ範囲内に収まるとも言える。つまり、手を左右に広げたポーズにおいては、左特徴点42、右特徴点44の前後方向位置として規定値(例えば、プレーヤキャラクタ6の胸前程度の前後位置)を適用し、そこからインバースキネマティクス処理によって腕の各関節の姿勢パラメータを求めてプレーヤキャラクタ6を制御したとしても、プレーヤ2の腕の動作を真似するには十分と言える。
【0064】
また一方で、シューティングゲームにおける整合性の観点からすると、プレーヤキャラクタ6は基本的に銃8を体の前方又は斜め前方に構え、ポインター4の方向に向ける必要がある。仮に、ゲーム画面という狭い範囲内をゲームコントローラ1230で差し示すプレーヤ2の実際の腕の動作を、そのままプレーヤキャラクタ6に常時真似させるように動作制御すると、銃8の銃口の向きがポインター4の方向に向かなくなり、標的の方向を向いていない銃口から弾が斜めに飛んで当ると言った不都合が生じる。
【0065】
そこで本実施形態では、左特徴点42、右特徴点44が頭部特徴点40から左右方向にどれだけ離れているかによって、今現在プレーヤ2がしているポーズが、腕を広げるポーズであるか、銃を構えて狙っているポーズであるかを判定する。図6の例では、頭部特徴点40を左右中心とする矩形の判定領域50を設定し、左特徴点42や右特徴点44が判定領域50内ならば銃を構えているポーズ、判定領域50外ならば腕を広げるポーズであると判定することを示している。
【0066】
そして、「銃を構えているポーズ」と判定したならば、銃8をポインター4の表示位置へ向けるようにプレーヤキャラクタ6の上半身6uを自動動作制御する。「腕を広げるポーズ」と判定したならば、左特徴点42や右特徴点44の上下・左右の2次元座標値と、前後方向を決定する規定値とから、左特徴点42や右特徴点44の3次元情報を擬似的に設定し、インバースキネマティクス処理によって腕関節の姿勢パラメータ値を算出する。そして、プレーヤキャラクタ6の上半身6uに、プレーヤ2の動作を真似させる。
この際、仮想カメラがプレーヤキャラクタ6を後方から撮影しているか前方から撮影しているかによって、どちらの特徴点の位置座標に基づいて算出した姿勢パラメータをどちらの腕に適用するかが変わる。勿論、前者の場合は左右反対となり、後者の場合には左右同側となる。
【0067】
尚、本実施形態のTPSでは、プレーヤキャラクタ6は所定の戦闘位置に自動移動制御されそこで戦闘をする所謂レールトレーリングタイプを前提としているので、プレーヤキャラクタ6の下半身モデル6dは自動制御される。また、レールトレーリングタイプで無い場合でも、公知のFPSやTPSと同様にゲームコントローラ1230からの移動操作入力に応じてプレーヤキャラクタ6を移動させる場合には、同様に下半身モデル6dについてはプレーヤ2の動作を真似するのでなく、ゲームコントローラ1230からの移動操作に応じて下半身モデル6dの動作(挙動)を自動制御する方が好適である。
【0068】
また、本実施形態では、プレーヤ画像W2,W3,・・・から、人体シルエット30や特徴点40,42,44の座標を取得できる点を利用して、ジェスチャー入力を可能にしている。
例えば図7のプレーヤ画像W2→W4に示すように、頭部特徴点40の下方への基準値を超えた移動を検知した場合、或いは人体シルエット30の縦長さが所定の判定基準値に達した場合には、屈みジェスチャーが入力されたと判定し、プレーヤキャラクタ6に屈んで敵の攻撃を回避する屈み回避モーションをさせることができる。
【0069】
同様にして、図7のプレーヤ画像W2→W6に示すように、頭部特徴点40の左右方向への基準値を超えた移動を検知した場合、或いは人体シルエット30が基準値を超えて左/右へ傾斜しているのを検知した場合には、左右方向への横回避ジェスチャーが入力されたと判定し、プレーヤキャラクタ6の体を対応する横方向へ傾けて攻撃を避ける回避モーションを実行させることができる。尚、横方向への回避の場合には、仮想カメラがプレーヤキャラクタ6を後方から撮影する条件では、プレーヤ画像上での移動方向とは逆方向へプレーヤキャラクタ6を傾けて回避させる。つまり、撮影されたプレーヤ画像上、プレーヤ2が右へ体を傾けたら、プレーヤキャラクタ6は左へ傾けて回避運動するように制御される。
【0070】
更に、図7のプレーヤ画像W2→W8に示すように、ジェスチャーによる入力は、プレーヤキャラクタ6の移動動作に限らず、例えば頭部特徴点40,左特徴点42,右特徴点44の相対位置関係が所定ポーズにおける相対位置関係に該当すると判定される場合、或いは人体シルエットの形状を所定の辞書パターンに類似するとパターンマッチング判定された場合には、特殊攻撃(SP攻撃)を発動するように制御することもできる。
【0071】
本実施形態では、ジェスチャーやポーズによる操作入力をこれら3種のみとして説明するが、判定されるジェスチャーの種類を複数設定することで、攻撃技に限らず適宜、防御技や回復技、弾薬の補充などの発動を割り当てることができるのは勿論である。
【0072】
[機能ブロックの説明]
次に、上述のようなゲームを実行するための機能構成例について説明する。
図8は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部100と、プレーヤ撮影部110と、処理部200と、光信号発生部330と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0073】
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。本実施形態では、光信号受光部102と、通信部104とを含む。
【0074】
操作入力部100は、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボール、2軸以上の検出軸を有する多軸検出型加速度センサ又は検出軸方向を違えて組み合わされた単軸検出型加速度センサユニット、少なくとも2方向以上の検出方向を可能にする多方向検出型傾斜センサまたは検出方向を違えて組み合わされた単方向検出型傾斜センサユニット、などによって実現できる。本実施形態では、図2のゲームコントローラ1230が、操作入力部100に相当する。
【0075】
光信号受光部102は、光信号発生部330から投光される光信号を受光し電気信号に変換することで画像データに変換するデバイスであって、例えばCCDセンサやCMOSセンサ、レンズ、光学フィルタ、信号変換処理をするDSP(デジタルシグナルプロセッサ)などによって実現される。図2のイメージセンサ1256や信号処理を行うコントローラ制御ユニット1260がこれに該当する。
尚、光信号発生部330は、LED等の発光素子、特定周波数の光のみを透過するフィルタなどにより実現され、ゲームコントローラ1230をポインティングデバイスとして利用するための基準位置を示す光信号を特定方向へ投光する。図1の光信号出力装置1226がこれに該当する。
【0076】
通信部104は、ゲームコントローラ1230とゲーム装置本体1201との間のデータ通信を実現する。本実施形態では図2の短距離無線通信モジュール1262がこれに該当する。
【0077】
プレーヤ撮影部110は、プレーヤ2の様子を撮影して電気信号に変換し、デジタル画像データを生成し処理部200へ出力する。例えば、レンズ、メカシャッター、シャッタードライバ、CCDイメージセンサやCMOSイメージセンサといった光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ(DSP)、ICメモリなどで実現される。図1ではイメージセンサモジュール1227がこれに該当する。
【0078】
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む携帯型ゲーム装置1400の各機能部との間でデータの入出力を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号に基づいて各種の演算処理を実行してゲーム装置の動作を制御する。図1では制御ユニット1210がこれに該当する。そして本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0079】
ゲーム演算部210は、ゲームの進行に関する各種処理を実行する。例えば、(1)3次元仮想空間に背景モデルを配置してゲーム空間を形成する処理、(2)プレーヤ画像に基づいてプレーヤの体形や着衣の色を似せたプレーヤキャラクタ6のゲームで使用するモデルを生成する処理、(3)ゲーム空間内にプレーヤキャラクタ6及び敵キャラクタ10のモデルを配置する処理、(4)敵キャラクタ10の自動動作制御処理、(5)モデル間の衝突判定処理、(6)攻撃のヒット判定、(7)ダメージの算出処理、(8)ダメージの反映処理が含まれる。
【0080】
そして、本実施形態のゲーム演算部210は、ポインター制御部212と、プレーヤキャラクタ移動制御部214と、仮想カメラ制御部216と、人体シルエット抽出部218と、特徴点情報取得部220と、ジェスチャー判定部222と、プレーヤキャラクタ挙動制御部224とを含む。
【0081】
ポインター制御部212は、光信号受光部102で受光した光信号発生部330から発せられた光信号を撮影した画像を元に、ゲーム画面内へポインター4を表示制御する。
【0082】
プレーヤキャラクタ移動制御部214は、プレーヤキャラクタ6の移動を自動制御する。本実施形態のTPSはレールトレーリングタイプなので、プレーヤキャラクタ6の下半身モデル6d(図6参照)に所定の歩行/走りモーションで動作制御しつつ、ゲーム空間内に予め定められている複数の戦闘位置へ決められた順番に従って段階的に移動制御する。
【0083】
仮想カメラ制御部216は、3人称視点として仮想カメラの移動を制御する。具体的には、ゲームステージ毎にプレーヤキャラクタ6に対する相対位置と撮影方向を定義する情報に従って仮想カメラの位置と姿勢を制御する。
【0084】
人体シルエット抽出部218は、プレーヤ撮影部110で撮影したプレーヤ画像から人体シルエット30を抽出する。抽出技術は、公知のシルエット抽出技術や、輪郭線抽出技術等を利用することで実現できる。
【0085】
特徴点情報取得部220は、プレーヤ撮影部110で撮影したプレーヤ画像からプレーヤ2の頭部や左右の手、関節位置などの特徴点を抽出し、ゲームプレイ中に常時撮影されるプレーヤ画像内から各特徴点の座標値を常時算出する。例えば、画像処理によって人体の顔や手の撮影されている部分を検知する技術や、ジェスチャー検出技術の前処理における人体の部分検知に関する技術を適宜利用することができる。
【0086】
ジェスチャー判定部222は、プレーヤ撮影部110で撮影したプレーヤ画像から、所定のジェスチャーを検出する。例えば、人体シルエットの全体形状を所定の辞書データと照合するパターン認識技術などの公知のジェスチャー入力に関する技術を適宜利用できる。また、人体シルエットの大きさ変化や傾斜変化の検出によっても実現できる。
【0087】
プレーヤキャラクタ挙動制御部224は、プレーヤキャラクタ6の上半身モデル6aの挙動を制御する。すなわち、ジェスチャー判定部222によって所定のジェスチャーが検知された場合には、検知されたジェスチャーに予め対応づけられたモーションで動作制御する。また、特徴点情報取得部220で取得した左特徴点42及び右特徴点44の位置が所定の判定領域50より外の場合に、プレーヤ画像を画像処理して得られる上下・左右の2次元位置座標と、所定の前後座標値とから各特徴点の擬似的な3次元座標値を形成する。そして、インバースキネマティクス処理によって腕関節の姿勢パラメータ値を逆算し、得られた姿勢パラメータ値に基づいてプレーヤキャラクタ6を動作制御して、プレーヤ2の上半身の動作を真似させる制御をする。
【0088】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)、音声合成ICなどのプロセッサや、音声ファイル再生可能なオーディオコーデックによって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0089】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1ではスピーカ1224がこれに該当する。
【0090】
画像生成部260は、例えば、GPU(Graphics Processing Unit)、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部360に出力する。
【0091】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1では画像表示装置1222がこれに該当する。
【0092】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
【0093】
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1の通信装置1212、近距離無線通信モジュール1214がこれに該当する。
【0094】
記憶部500は、処理部200に家庭用ゲーム装置1200を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVD、BD(Blueray Disc(登録商標))などの光学ディスクなどによって実現される。図1では制御ユニット1210が搭載するICメモリや光ディスク1402、メモリカード1404がこれに該当する。
【0095】
本実施形態では、記憶部500はシステムプログラム501と、ゲームプログラム502とを記憶している。システムプログラム501は、家庭用ゲーム装置1200の基本機能を実現するためのプログラムであり、各機能部をアプリケーションソフト側で呼び出して利用可能な各種ファームウェアを含む。ゲームプログラム502は、処理部200が読み出して実行することによってゲーム演算部210としての機能を実現させるためのソフトウェアである。
【0096】
また、記憶部500には、予め用意されるデータとして、ゲーム空間設定データ504と、プレーヤキャラクタ初期設定データ510と、ジェスチャー辞書データ530とが記憶されている。更に、ゲームの準備や進行に伴って随時生成や更新が行われるデータとして、プレーヤキャラクタステータスデータ540と、特徴点データ550と、左右対応設定データ552と、プレーヤ画像一時記憶データ560とを記憶する。
また、ゲームの進行に係る処理を実行するにあたり必要となるデータ(例えば、タイマー値やカウンタ)、仮想カメラの位置や姿勢と言った制御情報、各敵キャラクタ10の位置情報やヒットポイント情報などの制御情報なども公知のTPSと同様に適宜記憶されるものとする。
【0097】
ゲーム空間設定データ504は、3次元仮想空間にゲーム空間を形成し、敵キャラクタ10を配置してゲームステージとするための情報が格納されている。
例えば、図9に示すように、ゲームステージ毎に纏められたステージデータセット504aを複数格納する。1つのステージデータセット504aには、(1)壁や階段、通路等を配置するための背景オブジェクトの配置位置、姿勢などを定義する背景オブジェクトデータ504bと、(2)登場する敵キャラクタ10のポリゴンモデルやテクスチャ、モーションデータ、ヒットポイント初期値などを格納する敵キャラクタ設定データ504cと、(3)敵キャラクタ毎の配置位置座標を格納する敵キャラクタ配置データ504dと、(4)当該ゲームステージにおける複数の戦闘位置及びそれらの経由順番などを対応づけて格納する戦闘位置設定データ504eと、(5)当該ゲームステージにおける仮想カメラとプレーヤキャラクタ6との相対位置及び撮影方向、撮影画角等の情報を格納する仮想カメラ撮影条件データ504fとを含む。
【0098】
仮想カメラ撮影条件データ504fは、本実施形態では、プレーヤキャラクタ6の後方斜め上から撮影する3人称視点を基本に設定されているが、ゲームステージによってはプレーヤキャラクタ6の前方からその正面を写し、プレーヤキャラクタ6の背後から敵が迫るシチュエーションを実現するように設定されても良い。
【0099】
プレーヤキャラクタ初期設定データ510は、プレーヤキャラクタ6の表示用モデルを形成するためのポリゴンモデルデータや、テクスチャデータ、モーションデータ、及びヒットポイント初期値、所持する銃8などのアイテムの表示用モデルに関するデータを格納する。本実施形態では例えば図10に示すように、骨格モデルデータ511と、ポリゴンモデルデータ512と、テクスチャデータライブラリ514と、モーションデータライブラリ516とを含む。
【0100】
ポリゴンモデルデータ512には、上半身ポリゴンモデル512aと下半身ポリゴンモデル512bとが含まれる。表示する際には、これら両ポリゴンモデルは所定位置(例えば腰のベルト位置)で連結されてプレーヤキャラクタ6の全身のポリゴンモデルとして扱われる。
【0101】
テクスチャデータライブラリ514は、プレーヤキャラクタ6のポリゴンモデルに適用される複数のテクスチャデータ514bを、選択条件514a別に格納する。選択条件514aは、本実施形態ではゲーム開始前に第2キャリブレーション画像C2から抽出された人体シルエット30に含まれる画素の色情報から求められる統計的色情報(例えば、含有率の高い色相、及びそれらの組み合わせなど)が適宜設定できる。本実施形態では、得られた統計的色情報と同系色で配色されたテクスチャデータが対応づけられている。
【0102】
モーションデータライブラリ516は、操作コマンド516aと対応づけてプレーヤキャラクタ6の各種モーションデータ516bと、モーション発動時に付属して行われるエフェクト表示等を実現するための付属演出データ516cとを格納する。
【0103】
ジェスチャー辞書データ530は、例えば図11に示すように、プレーヤ画像から特定のジェスチャーを検出するための辞書データとなる複数のジェスチャーパターンデータ530aを、操作コマンド530bと対応づけて格納する。ジェスチャーパターンデータ530aは、ジェスチャー判定の方法に応じて適宜設定することができる。例えば、ジェスチャーを人体シルエット30の形状で判定する場合には、パターンマッチングの辞書データとすればよい。
【0104】
プレーヤキャラクタステータスデータ540は、ゲーム進行中にプレーヤキャラクタ6を制御するために必要な各種パラメータの情報を格納する。例えば図12に示すように、適用プレーヤキャラクタモデルデータ542と、関節の角度によって姿勢を示す姿勢パラメータデータ544と、ヒットポイント546と、モーション制御データ548とを含む。勿論、これら以外にも適宜格納できる。
【0105】
適用プレーヤキャラクタモデルデータ542は、プレーヤキャラクタ初期設定データ510のポリゴンモデルデータ512の複製を元にプレーヤ2の体形を反映するべく変更されたポリゴンモデルデータを格納する適用ポリゴンモデルデータ542aと、プレーヤキャラクタ初期設定データ510のテクスチャデータライブラリ514から選択されたテクスチャデータ514bを格納する適用テクスチャデータ542bとを含む。
【0106】
姿勢パラメータデータ544は、プレーヤキャラクタ6の骨格モデル511の各関節の姿勢パラメータを格納する。
モーション制御データ548は、現在実行中のモーション制御を管理するための情報を格納する。
【0107】
特徴点データ550は、プレーヤ画像から得られた各特徴点の情報を格納する。例えば、プレーヤ画像の画像座標系における座標値、頭部特徴点40を基準点とする相対位置座標値と言った情報を格納する。
【0108】
左右対応設定データ552は、その時のプレーヤ画像における左右とプレーヤキャラクタ6における左右との対応関係を設定する情報である。仮想カメラがプレーヤキャラクタ6の後方から撮影するステージでは、プレーヤ画像方向552aの「左」「右」にそれぞれ対応するプレーヤキャラクタ方向552bには「右」「左」が設定され、仮想カメラがプレーヤキャラクタ6の前方から撮影するステージでは、プレーヤ画像方向552aの「左」「右」にそれぞれ対応するプレーヤキャラクタ方向552bには「左」「右」が設定される。
【0109】
プレーヤ画像一時記憶データ560は、複数フレーム分のプレーヤ画像の画像データを所定数一時的に格納できる。格納されている画像データは古い順から順次消去され新たな画像データが格納される。
【0110】
[処理の流れの説明]
次に、本実施形態における処理の流れについて説明する。ここで説明する一連の処理は、処理部200がゲームプログラム502を読み出して実行することによって実現される。
【0111】
図14は、本実施形態における主たる処理の流れを説明するためのフローチャートである。先ず処理部200は、イメージセンサモジュール1227によるプレーヤ画像の撮影を開始し(ステップS2)、モデルマッチング処理を実行する(ステップS4)。
【0112】
図15は、モデルマッチング処理の流れを説明するためのフローチャートである。処理部200は、画像表示装置1222でプレーヤへ向けて撮影範囲に入らないように指示する操作ガイド表示をするとともにイメージセンサモジュール1227によって撮影されている画像のライブビュー表示をし、第1キャリブレーション画像C1を撮影する(ステップS50;図5参照)。同様に、プレーヤへ今度は撮影範囲の中央に入ってイメージセンサモジュール1227に向けて立位正面で両手を左右に広げた所定ポーズをとるように指示し、第2キャリブレーション画像C2を撮影する(ステップS52)。
【0113】
次に、第1キャリブーション画像C1と第2キャリブレーション画像C2との差分から第2キャリブレーション画像C2における人体シルエット30を抽出し(ステップS54)、抽出した人体シルエット30からプレーヤ2の体形を推定するためのパラメータ値として横幅Lb(図5参照)を算出する(ステップS56)。
【0114】
そして、横幅Lbを所定の基準値と比較してプレーヤ2の体形分類を判定し、判定された体形分類に応じてプレーヤキャラクタ6の胴回りの寸法を変更し、変更されたポリゴンモデルを適用ポリゴンモデルデータ542aとする(ステップS58)。尚、適用プレーヤキャラクタモデルの生成は、プレーヤキャラクタ6のポリゴンモデルを変形するのではなく、予め体形分類毎にポリゴンモデルを用意しておいて、何れかを選択使用する構成としても良い。
【0115】
次に処理部200は、抽出された人体シルエット30に含まれる画素の色情報を統計処理して、プレーヤ2の着衣をイメージさせる統計的色情報を求め(ステップS60)、統計的色情報に該当するテクスチャデータライブラリ514の選択条件514aに対応づけられたテクスチャデータ514bを、適用テクスチャデータ542bとし(ステップS62)、モデルマッチング処理を終了する。
【0116】
図14のフローチャートに戻って、処理部200は次に第2キャリブレーション画像C2を元にプレーヤ2の像から頭部特徴点40と左特徴点42と右特徴点44とを認識し(ステップS6)、イメージセンサモジュール1227にて撮影されるフレーム毎について各特徴点の情報を常時算出し特徴点データ550に格納するトレース処理を開始する(ステップS8)。
【0117】
次いで、処理部200は、ゲーム空間設定データ504から今回使用するゲームステージのゲームステージデータセット504aをランダムに選択し、選択したステージにおける仮想カメラ撮影条件データ504fを参照して、仮想カメラがプレーヤキャラクタ6を後方から撮影するか前方から撮影するかに応じて、左右対応設定データ552を設定する(ステップS10)。つまり、プレーヤ2が画像表示装置1222に正対した場合のプレーヤの右の腕が仮想カメラから見たプレーヤキャラクタ6の右側の腕に、左の腕が仮想カメラから見たプレーヤキャラクタ6の左側の腕に対応するように、仮想カメラのプレーヤキャラクタ6に対する相対撮影位置に応じて、プレーヤ画像の左右とプレーヤキャラクタ6の左右との対応関係を設定する。
【0118】
そして、選択したゲームステージのステージデータセット504aに従って3次元仮想空間にゲーム空間を形成し、敵キャラクタ10と、プレーヤキャラクタ6と仮想カメラとを配置する(ステップS12)。
次いで、ゲーム画像の生成を開始して(ステップS14)、ゲームをスタートさせる(ステップS16)。
【0119】
ゲームをスタートさせたならば、処理部200はステップS18〜S34の処理を、所定のゲーム終了条件を満たすまで画像表示装置1222のリフレッシュレートに対応する制御サイクルで繰り返し実行する。
具体的には、先ずゲーム空間設定データ504の現在プレイ中のゲームステージのステージデータセット504aを参照し、戦闘位置設定データ504eの設定に従ってプレーヤキャラクタ6と仮想カメラの移動制御を、今回の制御サイクル分だけ実行する(ステップS18)。プレーヤキャラクタ6を移動させる際には、処理部200はプレーヤキャラクタ6が歩いたり走ったりするように下半身モデル6dのモーションを制御する。
【0120】
次に、処理部200はNPCである敵キャラクタ10の動作を自動制御し(ステップS20)、ジェスチャー辞書データ530を参照して、プレーヤ画像から操作コマンドに対応づけられた特定のジェスチャーを検出する(ステップS22)。そして、プレーヤキャラクタ6の上半身の挙動を制御するプレーヤキャラクタ挙動制御処理を実行する(ステップS24)。
【0121】
図16〜図17は、本実施形態におけるプレーヤキャラクタ挙動制御処理の流れを説明するためのフローチャートである。
同処理では先ず、処理部200は現在実行中のモーションが有るか否かを判定する(ステップS80)。もし、実行中のモーションが無く(ステップS80のNO)、且つステップS22のジェスチャー検出処理によって、SP(スペシャル)攻撃の操作コマンドに対応するジェスチャーが検知された場合(ステップS84のYES)、処理部200はプレーヤキャラクタ初期設定データ510のモーションデータライブラリ516を参照して、SP攻撃の操作コマンド516aに対応づけられた付属演出データ516cに従って演出表示を実行する(ステップS86)。そして、対応するモーションデータ516bに従ったプレーヤキャラクタ6の動作制御を開始し(ステップS88)、プレーヤキャラクタ挙動制御処理を終了する。尚、この時のモーション制御ではプレーヤキャラクタ6の下半身モデル6dを一緒に制御する構成としても良いし、上半身モデル6uのみを制御する構成としても良い。
【0122】
実行中のモーションが無く、且つステップS22のジェスチャー検出処理によって、右回避又は左回避の操作コマンドに対応するジェスチャーが検知された場合(ステップS90のYES)、処理部200は、左右対応設定データ552を参照して、その時プレイしているゲームステージにおいて仮想カメラがプレーヤキャラクタ6を前方から撮影しているか後方から撮影しているかその撮影方向に応じて、検出された横回避ジェスチャーのプレーヤ画面における左右方向と同方向又は逆方向への回避行動をするようにプレーヤキャラクタ6の横回避動作制御を開始し(ステップS92)、プレーヤキャラクタ挙動制御処理を終了する。
【0123】
また、実行中のモーションが無く、且つ屈み回避の操作コマンドに対応するジェスチャーが検知された場合(ステップS94のYES)、処理部200はプレーヤキャラクタ6の屈み回避動作制御を開始し(ステップS96)、プレーヤキャラクタ挙動制御処理を終了する。
【0124】
尚、ここではジェスチャー入力可能な種類をSP攻撃と、横回避と、屈み回避に限定して説明したが、その他のジェスチャー入力を可能な構成とした場合には、その他のジェスチャー入力についても同様の処理を実行するものとする。
【0125】
さて、何れのジェスチャーによる入力も検知されなかった場合には(ステップS94のNO)、処理部200はプレーヤキャラクタへのダメージ判定処理を実行する(ステップS98)。すなわち、敵キャラクタ10の攻撃のヒット判定と、ヒットした敵の攻撃によるダメージ値の算出を行う。
【0126】
そして、判定されたダメージが敵キャラクタ10による特別攻撃による大ダメージであって(ステップS100のYES)、更に今回受けたダメージ量が所定の部位破損条件を満たす場合(ステップS102のYES)、処理部200は手、前腕、上腕、肩といった腕の部分や、耳などの所定の選択候補部位の中から何れかの部位をランダムに選択して、選択された部位から先を非表示に設定する(ステップS104)。更に、部位が破損する演出を実行して(ステップS106)、プレーヤキャラクタ6が所定のダメージを受けて倒れるダメージ動作をするように動作制御を開始し(ステップS108)、プレーヤキャラクタ挙動制御処理を終了する。勿論、今回受けたダメージ量が所定の部位破損条件を満たさなければ、部位の選択と非表示設定の処理及び部位破損に係る演出表示処理はスキップされる。また、破損部位として選択されずに表示状態のまま残った他の部位については今まで通り動作制御される。
【0127】
一方、判定されたダメージが敵キャラクタ10による特別攻撃による大ダメージでなければ(ステップS100のNO)、処理部200は左特徴点42及び右特徴点44の判定領域50の外に出ているか内に存在するかを判定する(ステップS120)。
【0128】
左特徴点42及び/又は右特徴点44が判定領域50(図6参照)の外に出ている場合(図17;ステップS120のYES)、処理部200はプレーヤが手を広げる動作をしていると判断する。そして、左右対応設定データ552を参照して、判定領域50を出た左特徴点42及び/又は右特徴点44に対応する側の腕の関節姿勢パラメータをインバースキネマティクスによって算出し(ステップS122)、算出した姿勢パラメータに従って当該腕の動作制御を実行して(ステップS124)、プレーヤキャラクタ挙動制御処理を終了する。この結果、プレーヤ2が腕を広げるとプレーヤキャラクタ6はそれを真似するように動作することとなる。
【0129】
ここで、部位が破損している場合には、破損部分が非表示とされているだけであるため、従前通りに動作制御される。尚、破損部分があることによって、その部位の動きが小さく感じられる場合には、次のように動作制御を変更してもよい。すなわち、例えば、腕の肘より先の腕部分が破損し、上腕部分が残存している場合には、その残存している上腕部分の先端と、その腕に対応する左特徴点42/右特徴点44とを対応付けるように再設定して動作制御する。この場合、左特徴点42/右特徴点44のプレーヤ画像中の大きな動きに対応して、残存している上腕部が大きく動くこととなる。
【0130】
一方、左特徴点42及び/又は右特徴点44が判定領域50内に存在する場合には(ステップS120のNO)、処理部200は、プレーヤ2は「銃を構えているポーズ」をしていると判断して、プレーヤキャラクタ6が、マーカ4の指し示すゲーム空間中の位置に向けて銃8の銃口を向けるように銃8を構える制御をして(ステップS126)、プレーヤキャラクタ挙動制御処理を終了する。
【0131】
また、プレーヤキャラクタ挙動制御処理を実行したときに、既に実行中のモーションが有った場合には(ステップS80のYES)、処理部200はその実行中のモーションを今回の制御サイクル分だけ(1フレーム分だけ)実行して、プレーヤキャラクタ挙動制御処理を終了する。
【0132】
プレーヤキャラクタ挙動制御処理を終了したならば、図14のフローチャートに戻る。
処理部200は次に、プレーヤキャラクタ6の攻撃操作(ゲームコントローラ1230からの攻撃操作と、ジェスチャーによる攻撃操作の何れか)の入力が有った場合には(ステップS26のYES)、敵キャラクタ10へのダメージ判定処理を実行し(ステップS28)、判定したダメージを被弾した敵キャラクタ10へ反映させる(ステップS30)。
【0133】
次いで、処理部200は現在のゲーム状況が所定のゲーム終了条件を満たしているか否かを判定する(ステップS34)。例えば、本実施形態ではプレーヤキャラクタ6の現在のヒットポイントが「0」の場合、或いは、敵キャラクタ10を全て倒した場合にはゲーム終了と判定するが、詳細な条件は適宜設定可能である。
【0134】
そして、ゲーム終了条件を満たしていなければ(ステップS34のNO)、ステップS18に移行する。ゲーム終了条件を満たしていれば(ステップS34のYES)、ゲーム終了処理を実行して(ステップS36)、プレーヤキャラクタ6の現在のヒットポイントが「0」の場合にはゲームオーバー演出の表示をし、敵キャラクタ10を全て倒した場合にはゲームクリアの演出表示を行って、一連の処理を終了する。
【0135】
以上、本実施形態によれば、プレーヤ2の体形や着衣の色に似せたプレーヤキャラクタ6を登場させるとともに、ゲームコントローラ1230をポインティングデバイスとして、マーカ4の位置へ向けてプレーヤキャラクタ6が射撃するTPSを実現することができる。
【0136】
しかも、このプレーヤキャラクタ6は、プレーヤ2がゲームコントローラ1230を胸前で構えるポーズをしている場合にはマーカ4の位置へ向けて銃8を構えるように自動動作制御されるが、プレーヤ2が腕を広げるポーズをするとプレーヤキャラクタ6はプレーヤ2の腕の動作を真似るように動作制御される。公知のTPSのように、単にゲームコントローラ1230からの操作入力によってプレーヤキャラクタ6の動作を制御するだけでなく、プレーヤキャラクタ6がプレーヤ2の動作を真似することで、プレーヤ2がプレーヤキャラクタ6へ抱く親近感が高まり、ゲームでのなりきり感や没入感を高めることができる。
【0137】
また、プレーヤ2のポーズの検出を利用して、ジェスチャーによる操作入力も可能にしている。本実施形態におけるジェスチャー操作入力は、プレーヤ画像内におけるプレーヤ2の体が写っている位置を検出する以外にも、手先など特徴点の位置や動きを利用することができるので、上述した回避動作に限らず、特別な攻撃(例えば、魔法の発動)や、ヒットポイントの回復、弾丸の補充など様々な操作コマンドを割り当てることができる。
【0138】
そして、その操作コマンドに対応するジェスチャーに手を広げる要素を含めることで、特撮ヒーロー番組における技の発動に伴うアクションのようにプレーヤ2がジェスチャーをすれば、ゲーム画面内のプレーヤキャラクタ6もそれを真似て、対応するアクションを発動するといった、従来に無い操作感が実現される。
【0139】
尚、本実施形態ではプレーヤキャラクタ6をプレーヤの体形に似せるために、プレーヤキャラクタ初期設定データ510の上半身ポリゴンモデル512aを変形処理しているが、これに限らない。例えば、体形推定パラメータ値である横幅Lb(図5参照)の条件に応じてポリゴンモデルデータ512を複数用意しておいて、ゲーム演算部210がモデルマッチング処理のステップS58(図15参照)において、用意された複数のポリゴンモデルデータ512から何れかを選択する構成とすることができる。
【0140】
同様に、複数のポリゴンモデルデータ512を用意しておいて、プレーヤ画像から得られるパラメータに応じて何れかを選択する構成は、人体シルエット範囲名の統計的色情報に適用することもできる。この場合、赤系の着衣のプレーヤの場合は、うさぎのデザイン、青系の着衣のプレーヤは馬のデザインのプレーヤキャラクタと言った具合に変更することができる。
【0141】
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は基本的には第1実施形態と同様の技術によって実現されるが、ゲーム画面内に常時プレーヤキャラクタ6を表示させるのではなく、基本はプレーヤ2の人体シルエットを左右反転させた反転シルエットを表示させ、所定の変身操作入力によってプレーヤキャラクタ6に変身するとプレーヤキャラクタ6を表示させることができる構成となっている点が異なる。
以下では、第1実施形態と同様の構成要素については同じ符合を付与して説明は省略し、第1実施形態との差異についてのみ説明することとする。
【0142】
図18は、本実施形態におけるプレーヤキャラクタ6の代替としての反転シルエット表示の概念を説明する図である。本実施形態では、ゲームを実行している間、イメージセンサモジュール1227で常時プレーヤ2の全身(或いは、少なくとも上半身)を含むプレーヤ画像W12を撮影し、撮影したフレーム毎に人体シルエット30を抽出する。そして、抽出した人体シルエット30から上半身部分に相当する部位32を切り出し、仮想カメラがプレーヤキャラクタを背後から撮影するゲームステージの設定ならば、切り出した部位を左右反転処理して判定シルエット60を生成し、ゲーム画面の下端中央位置に表示させる。また、仮想カメラがプレーヤキャラクタを前方から撮影するゲームステージの設定ならば、切り出した部位を左右反転せずにそのままを反転シルエット60としてゲーム画面の下端中央位置に表示させる。
尚、反転シルエット60の色は、プレーヤキャラクタ6に適用されるテクスチャデータの選択と同様に、人体シルエット30の統計的色情報と同系色に設定する。
【0143】
反転シルエット60は左右反転されたシルエット像であるため、ゲーム画面の見かけ上、あたかもプレーヤのバックビューがそこにあるかのように見せることができる。プレーヤにとってみれば、自身がゲーム世界の中にいるかのような錯覚を感じる。
【0144】
また、ゲーム画面上はプレーヤキャラクタ6は表示されていないが、非表示状態でゲーム空間内には配置されており、敵キャラクタ10からの攻撃のヒット判定などはこの非表示状態のプレーヤキャラクタ6に基づいて判定される。
【0145】
もし、非表示のプレーヤキャラクタ6が敵キャラクタ10から特殊な攻撃を受けたと判定された場合には、図19に示すように、反転シルエット60を予め用意してある人体に似せたダメージ用モデル(勿論、仮想カメラに対して上半身だけ写るように相対位置が予め決定されている)に表示を差し替え、このダメージ用モデル62に所定のやられモーションをさせる。それによって、実際にイメージセンサモジュール1227で撮影されたプレーヤ画像W18では何事も起きていないが、あたかもゲーム画面W16内では反転シルエット60のプレーヤが派手にやられたかのように演出することができる。勿論、ダメージ用モデル62によるやられモーションが終了したら、元の反転シルエット60による表示に戻される。
【0146】
尚、反転シルエット60の表示/非表示の設定は、記憶部500にシルエット表示フラグを設けてフラグ操作で管理する。また、同様にダメージ用モデル62の表示/非表示の設定も記憶部500にダメージ用モデル表示フラグを設けてフラグ操作で管理することとする。
【0147】
そして、図20に示すように、本実施形態ではゲームプレイ時間の進行に応じて変身可能ゲージ26が貯まるように制御され、ゲーム画面W20のように規定値まで貯まるとプレーヤキャラクタ6に変身可能になる。変身操作は、プレーヤ2が所定の変身ジェスチャーをするか変身ポーズをとることによって入力される。
【0148】
変身操作入力が検知されると、ゲーム画面W24のように、反転シルエット60やダメージ用モデル62に代えてプレーヤキャラクタ6が表示される。そして、プレーヤキャラクタ6に変身すると、第1実施形態におけるジェスチャー入力による回避操作入力や特殊攻撃操作入力などが可能になり、変身前より高い操作性と有利な戦闘が可能になる。但し、変身は一定時間で自動的に解除される設定であり、変身開始から変身可能時間がカウントダウン処理され、変身可能時間が「0」になれば、自動的にプレーヤキャラクタ6に代えて反転シルエット60が表示されるように制御され、変身が解かれることとなる。
【0149】
尚、変身状態か否かは、記憶部500にて変身フラグで管理する。また、変身可能ゲージ26でゲージ表示されるポイントは、記憶部500に変身可能ポイントとして記憶・管理することとする。
【0150】
図21は、本実施形態におけるプレーヤキャラ挙動制御処理(プレーヤキャラ挙動制御処理B)の流れを説明するためのフローチャートである。
同処理において、実行中のモーションが無い場合(ステップS80のNO)、処理部200は現在変身中であるか否かを判定する(ステップS150)。
【0151】
変身中でない状態で(ステップS150のNO)、変身操作入力が有れば(ステップS152のYES)、処理部200は変身可能ゲージ26が規定値まで貯まったかを判定する。そして、規定値まで貯まっている場合には(ステップS154のYES)、変身可能ゲージ26を消費して(ステップS156)、記憶部500に設けたシルエット表示フラグを操作して反転シルエット60の表示設定を表示OFFに設定するとともに、変身フラグを「1(変身状態)」に設定し、プレーヤキャラクタ6のモデルを表示状態に設定する(ステップS158)。更に所定の変身演出表示(例えば、まばゆい虹色の光で反転シルエット60の表示位置が包まれるといった演出表示)を開始する(ステップS160)。
勿論、変身中でない状態でも変身操作入力が無い場合や(ステップS152のNO)、変身操作入力が有っても変身可能ゲージ26が規定値まで貯まっていなければ、ステップS156〜S160はスキップされる。
【0152】
一方、変身中の状態では(ステップS150のYES)、処理部200は変身可能時間を今回の制御サイクル分だけカウントダウンし(ステップS162)、その結果変身可能時間が「0」になったならば(ステップS164のYES)、記憶部500に設けたシルエット表示フラグを操作して反転シルエット60の表示設定を表示ONに設定するとともに、変身フラグを「0(未変身状態)」に設定し、プレーヤキャラクタ6のモデルを非表示状態に設定し、変身を解く(ステップS166)。
【0153】
変身可能時間が「0」でなくまだ変身状態が継続されている場合には(ステップS164のNO)、処理部200は変身以外のジェスチャーやポーズによる操作入力の有無を判定する(ステップS180)。そして、変身以外のジェスチャーやポーズによる操作入力が有れば(ステップS180のYES)、入力されたジェスチャーに応じたモーションでプレーヤキャラクタ6の上半身モデル6uの動作制御を開始する(ステップS182)。すなわち、ステップS180〜S182は、第1実施形態のステップS84〜S96(図16参照)に相当する。
【0154】
一方、変身状態で且つジェスチャーやポーズによる操作入力がなければ(ステップS180のNO)、処理部200はマーカ4が指し示すゲーム空間中の場所へ銃8の銃口をむけるようにプレーヤキャラクタ6の上半身の動作を制御する(ステップS184)。
【0155】
変身に関する処理(ステップS154〜S160)や、変身解除に関する処理(ステップS166)、ジェスチャー入力に応じたプレーヤキャラクタ6の動作制御(ステップS182)、銃8の構え制御(ステップS184)の何れかを実行したならば、処理部200は次に、プレーヤキャラクタへのダメージ判定処理を実行する(図22;ステップS200)。そして、敵キャラクタ10から特殊攻撃によって大ダメージを受けたと判定される場合で(ステップS202のYES)、且つ現在変身中で無ければ(ステップS204のNO)、処理部200は反転シルエット60の表示設定をOFFに設定するとともに、ダメージ用モデル62の表示をONに設定し(ステップS206)、ダメージ用モデル62を反転シルエット60の表示位置に配置して(ステップS208)、所定のやられモーションでダメージ用モデル62の動作制御を開始し(ステップS210)、プレーヤキャラ挙動制御処理Bを終了する。
【0156】
一方、敵キャラクタ10から特殊攻撃によって大ダメージを受けたと判定される場合で(ステップS202のYES)、且つ現在変身中であれば(ステップS204のYES)、プレーヤキャラクタ6のやられモーションによる動作制御を開始し、プレーヤキャラ挙動制御処理Bを終了する。
【0157】
尚、プレーヤキャラ挙動制御処理Bを実行じ、既に実行中のモーションがある場合には(ステップS80のYES)、処理部200は現在実行中のモーションを今回の制御サイクル分だけ継続実行する(ステップS126)。そして、現在変身中でなく(ステップS220のNO)、且つやられモーションを終了したならば(ステップS222のYES)、反転シルエット60の表示をON、ダメージ用モデル62の表示をOFFに設定し(ステップS224)、プレーヤキャラ挙動制御処理Bを終了する。
【0158】
図23は、本実施形態におけるゲーム画面生成表示処理の流れを説明するためのフローチャートである。同処理は、第1実施形態のステップS14に代えて実行される処理である。具体的には、反転シルエット60の表示設定がONの場合(ステップS250のON)、処理部200はプレーヤキャラクタ6が非表示状態のゲーム空間画像をレンダリングし(ステップS252)、これに各種情報表示を合成する(ステップS254)。
【0159】
そして、現在実行中のゲームステージにおける仮想カメラの撮影ポジションが、プレーヤキャラクタ6を後方から撮影する設定の場合には(ステップS256の「後方から」)、人体シルエット30の上半身部分を切り出し、左右反転処理してこれを反転シルエット60とする(ステップS258)。反対に、仮想カメラがプレーヤキャラクタ6を前方から撮影する設定であれば(ステップS256の「前方から」)、処理部200は人体シルエット30の上半身部分を切り出し、左右反転はせずにそのままで反転シルエット60とする(ステップS260)。
【0160】
反転シルエット60を生成したならば、処理部200は次いで人体シルエット30の統計的色情報に基づいて同系色となるように反転シルエット60の色を設定する(ステップS262)。そして、先に生成されたゲーム空間画像に反転シルエット60を所定位置に合成して、今回の制御サイクルにおける1フレーム分のゲーム画像を生成し(ステップS264)、これを画像表示装置1222に表示させ(ステップS290)、ゲーム画面生成表示処理を終了する。
【0161】
一方、反転シルエット60の表示設定がOFFで、且つプレーヤキャラクタ6の表示設定がONの場合には(ステップS250のOFF→S280のON)、プレーヤキャラクタ6を表示したゲーム空間画像をレンダリングし(ステップS282)、これに各種情報表示を合成して今回の制御サイクルにおけるゲーム画像を生成し(ステップS288)、画像表示装置1222に表示させ(ステップS290)、ゲーム画面生成表示処理を終了する。
【0162】
また、プレーヤキャラクタ6の表示設定がOFFで、且つダメージ用モデル62の表示設定がONの場合には(ステップS284のON)、ダメージ用モデル62を表示したゲーム空間画像をレンダリングし(ステップS286)、これに各種情報表示を合成して今回の制御サイクルにおけるゲーム画像を生成し(ステップS288)、画像表示装置1222に表示させ(ステップS290)、ゲーム画面生成表示処理を終了する。
【0163】
以上、本実施形態によれば第1実施形態と同様の効果を奏するとともに、プレーヤ2を正面から撮影した画像から左右反転した反転シルエット60を表示させたTPSを実現できる。
【0164】
〔変形例〕
以上、本発明を適用した第1〜第2実施形態について説明したが、本発明の実施形態はこれらの構成に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【0165】
例えば、ゲーム装置は家庭用ゲーム装置1200に限らず、図24に示すような業務用のガンシューティングゲーム装置1100としても良い。ガンシューティングゲーム装置1100は、例えばバンダイナムコゲームス社製の作品名「タイムクライシス4」等で使用される公知のゲーム装置にイメージセンサモジュール1227を追加して実現され得る。具体的には、ガンシューティングゲーム装置1100は、銃を模したガン型コントローラ1130と、画像表示装置1122と、スピーカ1124と、硬貨投入口1142から投入された硬貨を検知する硬貨検知センサ1144と、制御ユニット1150とを、装置本体1101に備えている。
【0166】
制御ユニット1150は、ゲーム装置の制御基板に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM,フラッシュメモリ1152等の各種ICメモリを搭載する。また、通信装置1154や、スピーカ1124へ音声信号を出力するためのアンプ回路、ガン型コントローラ1130や硬貨検知センサ1144との信号入出力回路といった所謂I/F回路(インターフェース回路)を搭載する。これら制御ユニット1150に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0167】
フラッシュメモリ1152には、ゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。制御ユニット1150は、硬貨検知センサ1144で所定額の硬貨の投入を検知したら、フラッシュメモリ1152からプログラムやデータを読み出して、搭載するICメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して、ゲーム画像を生成して画像表示装置1122に表示させるとともに、ゲーム音を生成してスピーカ1124から放音させる。
【0168】
プレーヤは、画像表示装置1122の画面前方に立ち、画面を狙うようにしてガン型コントローラ1130を構える。ゲーム画面内には、標的とガン型コントローラ1130で狙っている位置を示す照準6が表示されるので、ゲーム画面内の任意の標的に照準6を合わせるようにしてガン型コントローラ1130を構え、トリガーを引いて射撃操作してシューティングゲームを楽しむことができる。
尚、ガンシューティングゲーム装置1100でゲームを実行するために必要なプログラムや各種設定データをフラッシュメモリ1152から読み出す構成としているが、通信装置1154で通信回線1に接続して外部の装置からダウンロードする構成としても良い。
【0169】
また、上記実施形態ではTPSを実行する例を挙げたが、3人称視点によるゲームであれば、ガンシューティングゲームに限らずRPGなどその他のジャンルのゲームでも良い。
【符号の説明】
【0170】
2 プレーヤ
4 ポインター
6 プレーヤキャラクタ
8 銃
30 人体シルエット
40 頭部特徴点
42 左特徴点
44 右特徴点
50 判定領域
60 反転シルエット
62 ダメージ用モデル
100 操作入力部
102 光信号受光部
110 プレーヤ撮影部
200 処理部
210 ゲーム演算部
212 ポインター制御部
214 プレーヤキャラクタ移動制御部
216 仮想カメラ制御部
218 人体シルエット抽出部
220 特徴点情報取得部
222 ジェスチャー判定部
224 プレーヤキャラクタ挙動制御部
500 記憶部
502 ゲームプログラム
504 ゲーム空間設定データ
510 キャラクタ初期設定データ
530 ジェスチャー辞書データ
550 特徴点データ
552 左右対応設定データ
1200 家庭用ゲーム装置
1201 装置本体
1210 制御ユニット
1220 ビデオモニタ
1222 画像表示装置
1226 光信号出力装置
1227 イメージセンサモジュール
1230 ゲームコントローラ

【特許請求の範囲】
【請求項1】
プレーヤを撮影するためのデジタル式の撮影装置を備えたコンピュータに、キャラクタモデルが配置されたゲーム空間の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記キャラクタモデルを移動制御するキャラクタ移動制御手段、
仮想カメラを前記キャラクタモデルから所定距離離れた位置に配置し、前記キャラクタモデルの移動に従って移動制御する仮想カメラ制御手段、
前記仮想カメラに基づき前記キャラクタモデルを含む前記ゲーム空間の画像を生成する画像生成手段、
前記撮影装置により撮影されたプレーヤ画像に基づいて前記キャラクタモデルの挙動を制御するモデル挙動制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項2】
前記キャラクタモデルは、左右の腕を有しており、
プレーヤが表示装置に正対した場合のプレーヤの右の腕が前記仮想カメラから見た前記キャラクタモデルの右側の腕に、左の腕が前記仮想カメラから見た前記キャラクタモデルの左側の腕に対応するように、前記プレーヤ画像の左右と前記キャラクタモデルの左右との対応関係を設定する左右関係設定手段、
前記撮影装置により撮影されたプレーヤ画像における左側の腕部分及び右側の腕部分を判定する腕部分判定手段、
として前記コンピュータを更に機能させ、
前記モデル挙動制御手段が、前記対応関係に従って、前記キャラクタモデルの左腕及び右腕を、それぞれ対応する前記プレーヤ画像の左側又は右側の腕部分の位置変化に基づいて制御する腕制御手段を有するように前記コンピュータを機能させる、
ための請求項1に記載のプログラム。
【請求項3】
前記ゲームは、前記キャラクタモデルが敵キャラクタと戦闘するゲームであり、
前記キャラクタモデルは、腕の部分的な部位破壊攻撃を受けた場合に当該部分を消失し、
前記腕制御手段が、前記対応関係に従って、前記キャラクタモデルの現存する左腕及び右腕を、それぞれ対応する前記プレーヤ画像の左側又は右側の腕部分の位置変化に基づいて制御するように前記コンピュータを機能させる、
ための請求項2に記載のプログラム。
【請求項4】
前記撮影装置により撮影されたプレーヤ画像中のプレーヤ像が左方及び右方の何れかに移動したことを検出するプレーヤ左右移動検出手段として前記コンピュータを機能させ、
前記モデル挙動制御手段が、前記対応関係に従って、前記キャラクタモデルを前記プレーヤ左右移動検出手段による検出方向に対応する方向に傾けるように姿勢制御する傾斜姿勢制御手段を有するように前記コンピュータを機能させる、
ための請求項2又は3に記載のプログラム。
【請求項5】
前記左右関係設定手段が、前記仮想カメラの向きが前記キャラクタモデルの正面側に対向する向きか背面側に対向する向きかによって左右の対応関係を反転させる対応関係反転手段を有するように前記コンピュータを機能させるための請求項2〜4の何れか一項に記載のプログラム。
【請求項6】
前記モデル挙動制御手段が、前記撮影装置により撮影されたプレーヤ画像中のプレーヤ像の上下方向の長さの変化に基づいて、前記キャラクタモデルに屈み動作を行わせる屈み動作制御手段を有するように前記コンピュータを機能させるための請求項1〜5の何れか一項に記載のプログラム。
【請求項7】
前記モデル挙動制御手段が、
前記撮影装置により撮影されたプレーヤ画像に基づいて前記キャラクタモデルの上半身の挙動を制御する上半身挙動制御手段と、
前記キャラクタ移動制御手段による移動制御に基づいて前記キャラクタモデルの下半身の挙動を制御する下半身挙動制御手段と、
を有するように前記コンピュータを機能させるための請求項1〜6の何れか一項に記載のプログラム。
【請求項8】
前記プレーヤ画像中の前記プレーヤ像に基づいて、前記キャラクタモデルを、複数種類のキャラクタモデルの中から選択或いは生成して設定するキャラクタモデル設定手段として前記コンピュータを機能させるための請求項1〜7の何れか一項に記載のプログラム。
【請求項9】
前記キャラクタモデル設定手段が、前記プレーヤ画像中の前記プレーヤ像の色彩に基づいて前記キャラクタモデルの色を設定する着色手段を有するように前記コンピュータを機能させるための請求項8に記載のプログラム。
【請求項10】
前記キャラクタモデル設定手段が、前記プレーヤ画像中の前記プレーヤ像の輪郭形状に基づいて前記キャラクタモデルの体形を設定する体形設定手段を有するように前記コンピュータを機能させるための請求項8又は9に記載のプログラム。
【請求項11】
請求項1〜10の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項12】
プレーヤを撮影するためのデジタル式の撮影装置を備え、キャラクタモデルが配置されたゲーム空間の画像を生成して所定のゲームを実行するゲーム装置であって、
前記キャラクタモデルを移動制御するキャラクタ移動制御手段と、
仮想カメラを前記キャラクタモデルから所定距離離れた位置に配置し、前記キャラクタモデルの移動に従って移動制御する仮想カメラ制御手段と、
前記仮想カメラに基づき前記キャラクタモデルを含む前記ゲーム空間の画像を生成する画像生成手段と、
前記撮影装置により撮影されたプレーヤ画像に基づいて前記キャラクタモデルの挙動を制御するモデル挙動制御手段と、
を備えたゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2010−233671(P2010−233671A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−82954(P2009−82954)
【出願日】平成21年3月30日(2009.3.30)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】