(57)【要約】【課題】  仮想３次元空間に複数の物体を含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができるようにすることを目的とする。【解決手段】  プレイヤによる入力部２１の操作によってプレイヤキャラクタＰを２次元ＮＰＣｍが位置している方向に移動させていくと、ビデオゲーム装置１００にてメイン処理が繰り返し実行されることにより、２次元ＮＰＣｍは、プレイヤキャラクタＰに近づきながら視界境界面のある方向に移動していき、最終的には２Ｄ禁止空間に入ることなく仮想カメラの視界から外れて行く。このように、２次元ＮＰＣｍを２Ｄ３Ｄ境界面からプレイヤキャラクタＰと反対側の空間内に維持させ、２次元ＮＰＣｍが２Ｄ３Ｄ境界面からプレイヤキャラクタＰ側の空間に入ることを防止しているので、臨場感を欠くことなくハードウェアの処理負荷を低減できる。【選択図】  図５
2006318241.tif 000002
【特許請求の範囲】
【請求項１】
３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成する画像生成方法であって、
仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離内に前記３次元キャラクタを描画するとともに、前記仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離外に前記２次元キャラクタを描画し、
前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記３次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離内を維持した位置に移動するように前記３次元キャラクタを描画し、
前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記２次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離外を維持した位置に移動するように前記２次元キャラクタを描画する
ことを特徴とする画像生成方法。
【請求項２】
仮想３次元空間には、仮想カメラの視点位置から所定距離外の一部に、２次元キャラクタを表示することが禁止された２次元キャラクタ表示禁止空間があらかじめ設けられ、
２次元キャラクタの位置を移動させるときに、当該移動によって前記２次元キャラクタ表示禁止空間に前記２次元キャラクタが進入することとなるか否か判定し、
前記移動によって前記２次元キャラクタが前記２次元キャラクタ表示禁止空間に進入することとなると判定したときには、あらかじめ定められた２次元キャラクタ移動条件に従って、前記２次元キャラクタを移動する位置を、前記２次元キャラクタ表示禁止空間外の位置に変更する
請求項１記載の画像生成方法。
【請求項３】
２次元キャラクタ表示禁止空間は、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、２次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められており、
２次元キャラクタ移動条件は、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記２次元キャラクタ表示禁止空間外となっている位置であるときに成立する
請求項２記載の画像生成方法。
【請求項４】
２次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離内に前記２次元キャラクタが進入することとなるか否か判定し、
前記移動によって前記２次元キャラクタが前記仮想カメラの所定距離内に進入することとなると判定したときには、前記２次元キャラクタを移動する位置を、前記仮想カメラの所定距離外に変更する
請求項１記載の画像生成方法。
【請求項５】
仮想３次元空間には、仮想カメラの視点位置から所定距離内の一部に、３次元キャラクタを表示することが禁止された３次元キャラクタ表示禁止空間があらかじめ設けられ、
３次元キャラクタの位置を移動させるときに、当該移動によって前記３次元キャラクタ表示禁止空間に前記３次元キャラクタが進入することとなるか否か判定し、
前記移動によって前記３次元キャラクタが前記３次元キャラクタ表示禁止空間に進入することとなると判定したときには、あらかじめ定められた３次元キャラクタ移動条件に従って、前記３次元キャラクタを移動する位置を、前記３次元キャラクタ表示禁止空間外の位置に変更する
請求項１から請求項４のうちいずれかに記載の画像生成方法。
【請求項６】
３次元キャラクタ表示禁止空間は、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、３次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められており、
３次元キャラクタ移動条件は、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記３次元キャラクタ表示禁止空間外となっている位置であるときに成立する
請求項５記載の画像生成方法。
【請求項７】
３次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離外に前記３次元キャラクタが進入することとなるか否か判定し、
前記移動によって前記３次元キャラクタが前記仮想カメラの所定距離外に進入することとなると判定したときには、前記３次元キャラクタを移動する位置を、前記仮想カメラの所定距離内に変更する
請求項１から請求項４のうちいずれかに記載の画像生成方法。
【請求項８】
仮想３次元空間に描画される３次元キャラクタの総数が所定数以下となることを条件に、新たな３次元キャラクタを描画する
請求項１から請求項７のうちいずれかに記載の画像生成方法。
【請求項９】
３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成する画像生成装置であって、
仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離内に前記３次元キャラクタを描画するとともに、前記仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離外に前記２次元キャラクタを描画するキャラクタ描画手段と、
前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記３次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離内を維持した位置に移動するように前記３次元キャラクタを描画する３次元キャラクタ移動描画手段と、
前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記２次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離外を維持した位置に移動するように前記２次元キャラクタを描画する２次元キャラクタ移動描画手段とを備えた
ことを特徴とする画像生成装置。
【請求項１０】
仮想３次元空間には、仮想カメラの視点位置から所定距離外の一部に、２次元キャラクタを表示することが禁止された２次元キャラクタ表示禁止空間があらかじめ設けられ、
２次元キャラクタ移動描画手段は、
２次元キャラクタの位置を移動させるときに、当該移動によって前記２次元キャラクタ表示禁止空間に前記２次元キャラクタが進入することとなるか否か判定する２次元キャラクタ移動禁止判定手段と、
前記２次元キャラクタ移動禁止判定手段により前記２次元キャラクタが前記２次元キャラクタ表示禁止空間に進入することとなると判定したときに、あらかじめ定められた２次元キャラクタ移動条件に従って、前記２次元キャラクタを移動する位置を、前記２次元キャラクタ表示禁止空間外の位置に変更する２次元キャラクタ移動位置変更手段とを有する
請求項９記載の画像生成装置。
【請求項１１】
２次元キャラクタ表示禁止空間は、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、２次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められており、
２次元キャラクタ移動条件は、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記２次元キャラクタ表示禁止空間外となっている位置であるときに成立する
請求項１０記載の画像生成装置。
【請求項１２】
２次元キャラクタ移動描画手段は、
２次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離内に前記２次元キャラクタが進入することとなるか否か判定する２次元キャラクタ移動禁止判定手段と、
前記２次元キャラクタ移動禁止判定手段により前記２次元キャラクタが前記仮想カメラの所定距離内に進入することとなると判定したときに、前記２次元キャラクタを移動する位置を、前記仮想カメラの所定距離外に変更する２次元キャラクタ移動位置変更手段とを有する
請求項９記載の画像生成装置。
【請求項１３】
仮想３次元空間には、仮想カメラの視点位置から所定距離内の一部に、３次元キャラクタを表示することが禁止された３次元キャラクタ表示禁止空間があらかじめ設けられ、
３次元キャラクタ移動描画手段は、
３次元キャラクタの位置を移動させるときに、当該移動によって前記３次元キャラクタ表示禁止空間に前記３次元キャラクタが進入することとなるか否か判定する３次元キャラクタ移動禁止判定手段と、
前記３次元キャラクタ移動禁止判定手段により前記３次元キャラクタが前記３次元キャラクタ表示禁止空間に進入することとなると判定したときに、あらかじめ定められた３次元キャラクタ移動条件に従って、前記３次元キャラクタを移動する位置を、前記３次元キャラクタ表示禁止空間外の位置に変更する３次元キャラクタ移動位置変更手段とを有する
請求項９から請求項１２のうちいずれかに記載の画像生成装置。
【請求項１４】
３次元キャラクタ表示禁止空間は、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、３次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められており、
３次元キャラクタ移動条件は、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記３次元キャラクタ表示禁止空間外となっている位置であるときに成立する
請求項１３記載の画像生成装置。
【請求項１５】
３次元キャラクタ移動描画手段は、
３次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離外に前記３次元キャラクタが進入することとなるか否か判定する３次元キャラクタ移動禁止判定手段と、
前記３次元キャラクタ移動禁止判定手段により前記３次元キャラクタが前記仮想カメラの所定距離外に進入することとなると判定したときに、前記３次元キャラクタを移動する位置を、前記仮想カメラの所定距離内に変更する３次元キャラクタ移動位置変更手段とを有する
請求項９から請求項１２のうちいずれかに記載の画像生成装置。
【請求項１６】
キャラクタ描画手段は、仮想３次元空間に描画される３次元キャラクタの総数が所定数以下となることを条件に、新たな３次元キャラクタを描画する
請求項９から請求項１５のうちいずれかに記載の画像生成装置。
【請求項１７】
３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成させるための画像生成プログラムであって、
コンピュータに、
仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離内に前記３次元キャラクタを描画するとともに、前記仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離外に前記２次元キャラクタを描画するステップと、
前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記３次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離内を維持した位置に移動するように前記３次元キャラクタを描画するステップと、
前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記２次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離外を維持した位置に移動するように前記２次元キャラクタを描画するステップとを
実行させるための画像生成プログラム。
【請求項１８】
仮想３次元空間には、仮想カメラの視点位置から所定距離外の一部に、２次元キャラクタを表示することが禁止された２次元キャラクタ表示禁止空間があらかじめ設けられ、
コンピュータに、
さらに、２次元キャラクタの位置を移動させるときに、当該移動によって前記２次元キャラクタ表示禁止空間に前記２次元キャラクタが進入することとなるか否か判定するステップと、
前記移動によって前記２次元キャラクタが前記２次元キャラクタ表示禁止空間に進入することとなると判定したときには、あらかじめ定められた２次元キャラクタ移動条件に従って、前記２次元キャラクタを移動する位置を、前記２次元キャラクタ表示禁止空間外の位置に変更するステップとを
実行させるための請求項１７記載の画像生成プログラム。
【請求項１９】
２次元キャラクタ表示禁止空間は、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、２次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められており、
２次元キャラクタ移動条件は、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記２次元キャラクタ表示禁止空間外となっている位置であるときに成立する
請求項１８記載の画像生成プログラム。
【請求項２０】
コンピュータに、
さらに、２次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離内に前記２次元キャラクタが進入することとなるか否か判定するステップと、
前記移動によって前記２次元キャラクタが前記仮想カメラの所定距離内に進入することとなると判定したときには、前記２次元キャラクタを移動する位置を、前記仮想カメラの所定距離外に変更するステップとを
実行させるための請求項１７記載の画像生成プログラム。
【請求項２１】
仮想３次元空間には、仮想カメラの視点位置から所定距離内の一部に、３次元キャラクタを表示することが禁止された３次元キャラクタ表示禁止空間があらかじめ設けられ、
コンピュータに、
さらに、３次元キャラクタの位置を移動させるときに、当該移動によって前記３次元キャラクタ表示禁止空間に前記３次元キャラクタが進入することとなるか否か判定するステップと、
前記移動によって前記３次元キャラクタが前記３次元キャラクタ表示禁止空間に進入することとなると判定したときには、あらかじめ定められた３次元キャラクタ移動条件に従って、前記３次元キャラクタを移動する位置を、前記３次元キャラクタ表示禁止空間外の位置に変更するステップとを
実行させるための請求項１７から請求項２０のうちいずれかに記載の画像生成プログラム。
【請求項２２】
３次元キャラクタ表示禁止空間は、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、３次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められており、
３次元キャラクタ移動条件は、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記３次元キャラクタ表示禁止空間外となっている位置であるときに成立する
請求項２１記載の画像生成プログラム。
【請求項２３】
コンピュータに、
さらに、３次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離外に前記３次元キャラクタが進入することとなるか否か判定するステップと、
前記移動によって前記３次元キャラクタが前記仮想カメラの所定距離外に進入することとなると判定したときには、前記３次元キャラクタを移動する位置を、前記仮想カメラの所定距離内に変更するステップとを
実行させるための請求項１７から請求項２０のうちいずれかに記載の画像生成プログラム。
【請求項２４】
コンピュータに、
さらに、仮想３次元空間に描画される３次元キャラクタの総数が所定数以下となることを条件に、新たな３次元キャラクタを描画するステップを
実行させるための請求項１７から請求項２３のうちいずれかに記載の画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成するための技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータやゲーム機などにおいて、仮想３次元空間に３次元物体を含むキャラクタを描画する際には、一般に、３次元物体が３次元ポリゴンデータにより描画される。３次元ポリゴンデータは、仮想カメラの視界内にある３次元物体ごとに、仮想カメラの視点位置やその視点位置からの距離に応じたポリゴン計算が行われることでそれぞれ生成される。
【０００３】
このため、仮想３次元空間に描画する３次元物体の数が多くなるに従ってポリゴン計算の計算量が増していくことになり、仮想３次元空間に描画される３次元物体の数が多いとパーソナルコンピュータやゲーム機などのハードウェアの演算能力を超えてしまう恐れがある。演算能力を超えてしまうと、表示速度の低下や画面のちらつきなどの弊害が発生することとなってしまう。
【０００４】
こうした問題を防ぐため、従来から、仮想カメラの視点位置から一定の距離以上離れている３次元物体の描画を省略し、描画する３次元物体の数を減らすようにしているものはある。しかし、距離は離れてはいるが実空間では見える物体が、仮想３次元空間として表示される画面においては省略されてしまうこととなるため、臨場感に欠けるものとなっていた。
【０００５】
なお、仮想３次元空間における表示物体を省略せずにハードウェアの処理負担を軽減させるために、多くの物体を表示する際に、全ての物体を３次元ポリゴンデータで描画せず、仮想カメラの視点位置から一定の距離以上離れている一部の物体を２次元スプライトデータで描画するようにしているものがある（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２００３−１４１５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１の技術では、表示する物体が仮想カメラの視点位置から一定の距離内であるか否かを判定し、一定距離内であれば３次元ポリゴンデータで描画し、一定距離外であれば２次元スプライトデータで描画するようにしているため、仮想カメラの視点位置から一定距離の前後を移動する物体については、２次元物体と３次元物体とを入れ替える必要が生じてしまう。このため、２次元スプライトデータと３次元ポリゴンデータとを入れ替える処理が必要となり、さらに、２次元スプライトデータで描画していた物体が３次元ポリゴンデータに入れ替えられた場合には仮想３次元空間における３次元物体が増えることとなるため、これによってハードウェアの制御負担が増大する可能性があり、ハードウェアの演算能力を超えてしまう恐れがあるという問題があった。
【０００８】
本発明は、上述した問題を解消し、仮想３次元空間に複数の物体を含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理方法は、３次元ポリゴンデータで描画された３次元キャラクタ（例えば３次元ノン・プレイヤ・キャラクタ）と２次元スプライトデータで描画された２次元キャラクタ（例えば２次元ノン・プレイヤ・キャラクタ）とを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成する画像生成方法であって、仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離（例えば５０［ｍ］）内に前記３次元キャラクタを描画するとともに、前記仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離外に前記２次元キャラクタを描画し（例えば、ステップＳ１０２で決定された初期画面を描画するためのステップＳ１０８の処理）、前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記３次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離内を維持した位置（例えば、２Ｄ３Ｄ境界面より仮想カメラの視点位置側の空間内の位置、あるいはさらに３Ｄ禁止空間外の位置）に移動するように前記３次元キャラクタを描画し（例えば、ステップＳ３０３またはステップＳ３０４で決定された位置に３次元ノン・プレイヤ・キャラクタを描画するためのステップＳ１０８の処理）、前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記２次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離外を維持した位置（例えば、２Ｄ３Ｄ境界面より仮想カメラの視点位置と反対側の空間内の位置、あるいはさらに２Ｄ禁止空間外の位置）に移動するように前記２次元キャラクタを描画する（例えば、ステップＳ２０３またはステップＳ２０４で決定された位置に２次元ノン・プレイヤ・キャラクタを描画するためのステップＳ１０８の処理）ことを特徴とする。
【００１０】
上記のように構成したことで、３次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離内に維持させることができるとともに、２次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離外に維持させることができる。よって、仮想カメラの視点位置から所定距離に形成される境界面を３次元キャラクタや２次元キャラクタが通過してしまうことを防止することができ、仮想３次元空間に複数のキャラクタを含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【００１１】
仮想３次元空間には、仮想カメラの視点位置から所定距離外の一部に、２次元キャラクタを表示することが禁止された２次元キャラクタ表示禁止空間（例えば２Ｄ禁止空間）があらかじめ設けられ、２次元キャラクタの位置を移動させるときに、当該移動によって前記２次元キャラクタ表示禁止空間に前記２次元キャラクタが進入することとなるか否か判定し（例えばステップＳ２０２）、前記移動によって前記２次元キャラクタが前記２次元キャラクタ表示禁止空間に進入することとなると判定したときには、あらかじめ定められた２次元キャラクタ移動条件（例えば２Ｄ位置選択条件）に従って、前記２次元キャラクタを移動する位置を、前記２次元キャラクタ表示禁止空間外の位置に変更する（例えばステップＳ２０３）ことが望ましい。このように構成したことで、２次元キャラクタが描画される位置を２次元キャラクタ表示禁止空間外に維持させることができる。
【００１２】
２次元キャラクタ表示禁止空間は、例えば、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、２次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められ、２次元キャラクタ移動条件は、例えば、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記２次元キャラクタ表示禁止空間外となっている位置であるときに成立すると定められる。このように構成すれば、仮想カメラの視点位置が２次元キャラクタに近づく方向に移動していった場合に、２次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離外に維持させたまま、２次元キャラクタを仮想カメラの視界境界方向に移動させていき、仮想カメラの視点位置から所定距離内に進入させることなく円滑に２次元キャラクタを仮想カメラの視界外に移動させることができる。
【００１３】
２次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離内に前記２次元キャラクタが進入することとなるか否か判定し、前記移動によって前記２次元キャラクタが前記仮想カメラの所定距離内に進入することとなると判定したときには、前記２次元キャラクタを移動する位置を、前記仮想カメラの所定距離外に変更するように構成されていてもよい。このように構成すれば、仮想カメラの視点位置が２次元キャラクタに近づく方向に移動していった場合であっても、２次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離外に維持させておくことができる。
【００１４】
仮想３次元空間には、仮想カメラの視点位置から所定距離内の一部に、３次元キャラクタを表示することが禁止された３次元キャラクタ表示禁止空間（例えば３Ｄ禁止空間）があらかじめ設けられ、３次元キャラクタの位置を移動させるときに、当該移動によって前記３次元キャラクタ表示禁止空間に前記３次元キャラクタが進入することとなるか否か判定し（例えばステップＳ３０２）、前記移動によって前記３次元キャラクタが前記３次元キャラクタ表示禁止空間に進入することとなると判定したときには、あらかじめ定められた３次元キャラクタ移動条件（例えば３Ｄ位置選択条件）に従って、前記３次元キャラクタを移動する位置を、前記３次元キャラクタ表示禁止空間外の位置に変更する（例えばステップＳ３０３）ことが望ましい。このように構成したことで、３次元キャラクタが描画される位置を３次元キャラクタ表示禁止空間外に維持させることができる。
【００１５】
３次元キャラクタ表示禁止空間は、例えば、仮想カメラの視点位置から所定距離に形成される境界面に隣接した空間であって、３次元キャラクタが前記仮想カメラの視界境界に近い位置に表示されるときは前記境界面に近い位置まで表示が許容され、２次元キャラクタが前記仮想カメラの視界境界から離れた位置に表示されるときは前記境界面に近い位置は表示が禁止されるようにあらかじめ定められ、３次元キャラクタ移動条件は、例えば、仮想３次元空間の中心軸から遠ざかり前記仮想カメラの視界境界に近づく方向にある位置であって、前記３次元キャラクタ表示禁止空間外となっている位置であるときに成立すると定められる。このように構成すれば、仮想カメラの視点位置が３次元キャラクタから離れる方向に移動していった場合に、３次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離内に維持させたまま、３次元キャラクタを仮想カメラの視界境界方向に移動させていき、仮想カメラの視点位置から所定距離外に進入させることなく円滑に３次元キャラクタを仮想カメラの視界外に移動させることができる。
【００１６】
３次元キャラクタの位置を移動させるときに、当該移動によって仮想カメラの所定距離外に前記３次元キャラクタが進入することとなるか否か判定し、前記移動によって前記３次元キャラクタが前記仮想カメラの所定距離外に進入することとなると判定したときには、前記３次元キャラクタを移動する位置を、前記仮想カメラの所定距離内に変更するように構成されていてもよい。このように構成すれば、仮想カメラの視点位置が３次元キャラクタから離れる方向に移動していった場合であっても、３次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離内に維持させておくことができる。
【００１７】
仮想３次元空間に描画される３次元キャラクタの総数が所定数（例えば３Ｄ上限数）以下となることを条件に、新たな３次元キャラクタを描画する（例えばステップＳ３０６〜Ｓ３０８）ことが望ましい。このように構成すれば、３次元キャラクタの総数が所定数を超えないようにすることができ、ハードウェアの処理負荷が処理能力を超えてしまうことを防止することができる。
【００１８】
また、本発明の画像生成装置は、３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成する画像生成装置（例えば、ビデオゲーム装置１００、ビデオゲーム装置本体１０）であって、仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離内に前記３次元キャラクタを描画するとともに、前記仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離外に前記２次元キャラクタを描画するキャラクタ描画手段（例えば、制御部１１、グラフィック処理部１５におけるステップＳ１０２で決定された初期画面を描画するためのステップＳ１０８の処理を実行する部分）と、前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記３次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離内を維持した位置に移動するように前記３次元キャラクタを描画する３次元キャラクタ移動描画手段（例えば、制御部１１、グラフィック処理部１５におけるステップＳ３０３またはステップＳ３０４で決定された位置に３次元ノン・プレイヤ・キャラクタを描画するためのステップＳ１０８の処理を実行する部分）と、前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記２次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離外を維持した位置に移動するように前記２次元キャラクタを描画する２次元キャラクタ移動描画手段（例えば、制御部１１、グラフィック処理部１５におけるステップＳ２０３またはステップＳ２０４で決定された位置に２次元ノン・プレイヤ・キャラクタを描画するためのステップＳ１０８の処理を実行する部分）とを備えたことを特徴とする。
【００１９】
上記のように構成したことで、３次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離内に維持させることができるとともに、２次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離外に維持させることができる。よって、仮想カメラの視点位置から所定距離に形成される境界面を３次元キャラクタや２次元キャラクタが通過してしまうことを防止することができ、仮想３次元空間に複数のキャラクタを含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【００２０】
さらに、本発明の画像生成プログラムは、３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成させるための画像生成プログラム（例えば記憶媒体７０に格納されている処理プログラム）であって、コンピュータ（例えば、ビデオゲーム装置１００、ビデオゲーム装置本体１０）に、仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離内に前記３次元キャラクタを描画するとともに、前記仮想カメラの視界内かつ前記仮想カメラの視点位置から所定距離外に前記２次元キャラクタを描画するステップ（例えば、ステップＳ１０２で決定された初期画面を描画するためのステップＳ１０８の処理）と、前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記３次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離内を維持した位置に移動するように前記３次元キャラクタを描画するステップ（例えば、ステップＳ３０３またはステップＳ３０４で決定された位置に３次元ノン・プレイヤ・キャラクタを描画するためのステップＳ１０８の処理）と、前記仮想カメラの視点位置が移動したときであっても、前記仮想カメラの視界内に描画されている前記２次元キャラクタの位置を移動するときは、前記仮想カメラの視点位置から前記所定距離外を維持した位置に移動するように前記２次元キャラクタを描画するステップ（例えば、ステップＳ２０３またはステップＳ２０４で決定された位置に２次元ノン・プレイヤ・キャラクタを描画するためのステップＳ１０８の処理）とを実行させるためのものである。
【００２１】
上記のように構成したことで、コンピュータに、３次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離内に維持させるように制御させることができるとともに、２次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離外に維持させるように制御させることができる。よって、仮想カメラの視点位置から所定距離に形成される境界面を３次元キャラクタや２次元キャラクタが通過してしまうことを防止させることができ、仮想３次元空間に複数のキャラクタを含む画像を描画させる際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【発明の効果】
【００２２】
本発明によれば、３次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離内に維持させることができるとともに、２次元キャラクタが描画される位置を仮想カメラの視点位置から所定距離外に維持させることができる。よって、仮想カメラの視点位置から所定距離に形成される境界面を３次元キャラクタや２次元キャラクタが通過してしまうことを防止することができ、仮想３次元空間に複数のキャラクタを含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の一実施の形態について図面を参照して説明する。
図１は、本発明の一実施の形態におけるビデオゲーム装置１００の構成の例を示すブロック図である。
【００２４】
図１に示すように、本例のビデオゲーム装置１００は、ビデオゲーム装置本体１０と、表示装置５０と、サウンド出力装置６０とを含む。ビデオゲーム装置本体１０は、例えば市販のビデオゲーム機によって構成される。また、表示装置５０は、例えばテレビジョン装置や液晶表示装置などによって構成され、画像表示部５１を有している。
【００２５】
ビデオゲーム装置本体１０は、制御部１１と、ＲＡＭ１２と、ハードディスクドライブ（ＨＤＤ）１３と、サウンド処理部１４と、グラフィック処理部１５と、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６と、通信インターフェイス１７と、インターフェイス部１８と、フレームメモリ１９と、メモリーカードスロット２０と、入力部（コントローラ）２１とを含む。
【００２６】
制御部１１、ＲＡＭ１２、ハードディスクドライブ（ＨＤＤ）１３、サウンド処理部１４、グラフィック処理部１５、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６、通信インターフェイス１７、及びインターフェイス部１８は、それぞれ内部バス２２に接続されている。
【００２７】
制御部１１は、ＣＰＵやＲＯＭなどを含み、ＨＤＤ１３や記憶媒体７０に格納された制御プログラムに従ってビデオゲーム装置１００全体の制御を行う。制御部１１は、タイマ割り込みを発生させるため等に用いられる内部タイマを備えている。ＲＡＭ１２は、制御部１１のワークエリアとして用いられる。ＨＤＤ１３は、制御プログラムや各種のデータを保存するための記憶領域である。
【００２８】
サウンド処理部１４は、例えばスピーカによって構成されるサウンド出力装置６０に接続される。サウンド処理部１４は、制御プログラムに従って処理を実行している制御部１１からのサウンド出力指示に従って、サウンド出力装置６０に対してサウンド信号を出力する。なお、サウンド出力装置６０は、表示装置５０あるいはビデオゲーム装置本体１０に内蔵されていてもよい。
【００２９】
グラフィック処理部１５は、画面表示がなされる画像表示部５１を有する表示装置５０に接続される。グラフィック処理部１５は、制御部１１からの描画命令に従って、フレームメモリ１９に画像を展開するとともに、画像表示部５１に画像を表示させるためのビデオ信号を表示装置５０に対して出力する。ビデオ信号によって表示される画像の切替時間は、例えば、１フレームあたり１／３０秒とされる。
【００３０】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１６には、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどのゲーム用の制御プログラムが格納された記憶媒体７０が装着される。ＤＶＤ／ＣＤ−ＲＯＭドライブ１６は、装着された記憶媒体７０から、制御プログラムなどの各種データを読み出す処理を行う。
【００３１】
通信インターフェイス１７は、インターネットなどの通信ネットワーク８０に無線あるいは有線によって接続される。ビデオゲーム装置本体１０は、通信インターフェイス１７における通信機能を用いて、通信ネットワーク８０を介して例えば他のコンピュータとの通信を行う。
【００３２】
インターフェイス部１８には、入力部２１と、メモリカードスロット２０とが接続される。インターフェイス部１８は、プレイヤによる入力部２１の操作にもとづく入力部２１からの指示データをＲＡＭ１２に格納する。すると、ＲＡＭ１２に格納された指示データに従って、制御部１１が各種の演算処理を実行する。
【００３３】
入力部２１は、例えばゲーム機用のコントローラによって構成され、例えば方向指示キーなどの複数の操作ボタンを備える。本例では、プレイヤは、方向指示キーを操作することによって、後述するプレイヤキャラクタを仮想的に移動させ、その他の各種の操作ボタンを操作することによって、場面に応じた所定の処理を制御部１１に実行させる。なお、方向指示キーは、カーソルの移動などのためにも用いられる。
【００３４】
また、インターフェイス部１８は、制御部１１からの指示に従って、ＲＡＭ１２に記憶されているゲームの進行状況を示すデータをメモリカードスロット２０に装着されているメモリーカード９０に格納する処理や、メモリーカード９０に保存されている中断時のゲームのデータを読み出してＲＡＭ１２に転送する処理などを行う。
【００３５】
ビデオゲーム装置１００でゲームを行うための制御プログラムなどの各種のデータは、例えば記憶媒体７０に記憶されている。記憶媒体７０に記憶されている制御プログラムなどの各種のデータは、記憶媒体７０が装着されているＤＶＤ／ＣＤ−ＲＯＭドライブ１６によって読み出され、ＲＡＭ１２にロードされる。制御部１１は、ＲＡＭ１２にロードされた制御プログラムに従って、グラフィック処理部１５に対して描画命令を出力する処理や、サウンド処理部１４に対してサウンド出力の指示を出力する処理などの各種の処理を実行する。なお、制御部１１が処理を実行している間は、ワークメモリとして用いられるＲＡＭ１２に、ゲームの進行状況によって中間的に発生するデータ（例えば、ゲームの得点、プレイヤキャラクタの状態を示すデータなど）が保存される。
【００３６】
この実施の形態に係る３次元ビデオゲームは、仮想３次元空間に設けられたフィールド上を、後述するプレイヤキャラクタ（プレイヤによる入力部２１の操作に従って動作するキャラクタ）などの複数のキャラクタが移動していくことによりゲームが進行する部分を含むゲームであるものとする。なお、フィールドが形成された仮想３次元空間は、ワールド座標系によって示されるものとする。フィールドは、複数の面で構成され、各構成面の頂点の座標を特徴点として表したものである。
【００３７】
図２は、この実施の形態に係る３次元ビデオゲームにおいて画像表示部５１に表示されるキャラクタ画像の例を示す説明図である。図２に示すキャラクタ画像には、プレイヤキャラクタＰと、複数のノン・プレイヤ・キャラクタ（ＮＰＣ：プレイヤの操作によって動作するものでなく、ゲーム機側の制御（具体的には制御部１１の制御）に従って動作するキャラクタ）とが表示されている。図２では、簡単のため、プレイヤキャラクタＰを立方体で示し、ＮＰＣを正四面体で示すものとする。プレイヤキャラクタＰや各ＮＰＣは、実際には、例えば人間や動物を模したキャラクタ、あるいは乗り物などの物体を形成したキャラクタとされる。
【００３８】
プレイヤキャラクタＰを形成する各部位は、複数のポリゴンによって構成され、その特徴点（ポリゴンの頂点）は、ローカル座標系によって示される。すなわち、プレイヤキャラクタＰは、３次元ポリゴンデータで描画される３次元キャラクタである。
【００３９】
プレイヤキャラクタＰは、図２に示すように、本例では表示画面における中央位置の下部に表示される。なお、プレイヤキャラクタＰは、表示画面の中央位置の下部周辺における所定範囲内を移動可能であるとしてもよい。本例では、プレイヤキャラクタＰは、表示画面における中央位置の下部の所定位置から画面上は移動しないものとする。本例では、プレイヤキャラクタＰが移動している様子は、背景が動くことによって表現されるものとする。プレイヤキャラクタＰを構成するポリゴンの各頂点の位置は、ローカル座標系によって各特徴点の位置関係を特定し、ワールド座標系の座標に変換することによって定められる。
【００４０】
図２に示す複数のＮＰＣのうち、Ｍ１〜Ｍ５の５個のＮＰＣは、プレイヤキャラクタＰと同様にして３次元ポリゴンデータで描画される３次元キャラクタである。一方、Ｍ１〜Ｍ５以外のＮＰＣは、２次元スプライトデータで描画される２次元キャラクタである。すなわち、図２に示すキャラクタ画像に表示されている複数のＮＰＣは、一部（ノン・プレイヤ・キャラクタＭ１〜Ｍ５）が３次元キャラクタとされ、他の一部（ノン・プレイヤ・キャラクタＭ１〜Ｍ５以外のＮＰＣ）が２次元キャラクタとされている。
【００４１】
各ＮＰＣは、それぞれ、制御プログラムに従って、ゲームの進行に応じて移動していくものとする。すなわち、プレイヤキャラクタＰが移動しなくても、制御プログラムに従って各ＮＰＣがキャラクタ画像上を移動していくものとする。
【００４２】
また、各ＮＰＣは、制御プログラムに従って、画像表示部５１における画像表示範囲外から新たに出現してきたり、キャラクタ画像上から消失したり、画像表示範囲外に移動していったりするものとする。また、各ＮＰＣは、同一形状とされていてもよく、一部または全部が異なる形状とされていてもよい。
【００４３】
本例では、仮想カメラの視点位置は、プレイヤキャラクタＰから所定の間隔（レンジ）をおいて追従するように制御される。すなわち、仮想カメラの視点位置は、「三人称視点」と呼ばれる視点位置に設定され、プレイヤキャラクタＰに追従して更新される。具体的には、プレイヤキャラクタＰから所定間隔（例えば、実空間上の１０［ｍ］）をおいたプレイヤキャラクタＰの背後に仮想カメラの視点位置が設定され、その視点位置は、プレイヤキャラクタＰが仮想３次元空間の奥側や手前側に移動していくと、プレイヤキャラクタＰとの間隔が所定間隔に維持されるようにプレイヤキャラクタＰに追従して仮想３次元空間の奥側や手前側に更新されていくように制御される。上記の所定間隔を維持するために、例えば、プレイヤキャラクタＰを中心とした同一半径の球体表面上を仮想カメラが移動していくように視点位置制御が行われる。なお、上記の視点位置制御は一例であり、例えば、「三人称視点」でプレイヤキャラクタＰを追従可能な範囲（視点位置の移動可能な範囲）があらかじめそれぞれ定められている複数の仮想カメラを用いることとし、プレイヤキャラクタＰが移動した位置に応じて画像表示部５１への画像表示のために使用する仮想カメラを切り替えていくようにしてもよい。また、「三人称視点」に限らず、「一人称視点」により視点位置制御を行うようにしてもよい。
【００４４】
プレイヤキャラクタＰや複数のＮＰＣが仮想３次元空間内のフィールド上を移動していく様子の画像は、仮想カメラにより仮想３次元空間を透視変換することで画像表示部５１上に表示され、プレイヤに認識される。仮想３次元空間内に置かれた仮想カメラから仮想スクリーン上に投影される画像が、画像表示部５１に表示される画像となる。仮想スクリーン上に画像を投影するために、視点座標系が用いられる。このため、制御部１１によって、ワールド座標系の座標が、視点座標系の座標に変換されることとなる。
【００４５】
透視変換により仮想スクリーン上に投影した画像を生成する場合には、前面に他の物体があって隠されてしまう面を消去する陰面消去を行う必要がある。陰面消去の方法としては、ここでは、Ｚバッファ法を用いるものとする。すなわち、制御部１１は、ワールド座標系の座標を視点座標系の座標へ変換すると、各特徴点の座標をグラフィック処理部１５に通知するとともに、描画命令を出力する。この描画命令にもとづいて、グラフィック処理部１５は、各特徴点について、前側にある点のデータが残るように、Ｚバッファの内容を更新し、更新する度に当該特徴点についての画像データをフレームメモリ１９に展開する。
【００４６】
次に、本例のビデオゲーム装置１００の動作について説明する。
ここでは、説明を簡単にするため、仮想３次元空間において動作するオブジェクトとして、プレイヤキャラクタＰと複数のＮＰＣのみが存在するものとし、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。
【００４７】
図３は、本例のビデオゲーム装置１００におけるメイン処理の例を示すフローチャートである。メイン処理は、１フレーム分の画像を生成するための処理であり、１／３０秒ごとのタイマ割り込みに応じて実行される。なお、「１／３０秒ごと」は一例であり、メイン処理は、例えば、１フィールド期間（１／６０秒）ごとのタイマ割り込みに応じて実行されるものとしても、処理量によっては２フレーム期間（１／１５秒）ごとのタイマ割り込みに応じて実行されるものとしてもよい。
【００４８】
メイン処理において、制御部１１は、ゲーム開始前であればプレイヤによる入力部２１の操作によりゲームの開始指示があったか否かを判定し、ゲームの実行中であれば場面変更を行うタイミングとなったか否かを判定する（ステップＳ１０１）。場面変更を行うタイミングは、例えば、これまで画像表示部５１に表示していた場面（例えば、仮想３次元空間によって表されている場面、ムービー画像による動画演出によって表されていた場面）を終了し、新たな場面に切り替えるために、画像表示部５１に新たな場面を示す仮想３次元空間を表示するタイミングを意味する。
【００４９】
ゲームの開始指示があったと判定したとき、あるいは場面変更を行うタイミングとなったと判定したときは（ステップＳ１０１のＹ）、制御部１１は、制御プログラムに従って、初期画面（ゲーム開始時の初期画面、場面変更時の初期画面）を決定する（ステップＳ１０２）。なお、ゲームに用いられる画面やキャラクタなどの各種のデータは、記憶媒体７０に格納されている。ステップＳ１０２では、プレイヤキャラクタの表示位置、２次元キャラクタとして表示するＮＰＣ（以下「２次元ＮＰＣ」あるいは「２次元ノン・プレイヤ・キャラクタ」という。）の種類や数、３次元キャラクタとして表示するＮＰＣ（以下「３次元ＮＰＣ」あるいは「３次元ノン・プレイヤ・キャラクタ」という。）の種類や数、各ＮＰＣの表示位置などが、制御プログラムに従って決定される。なお、３次元ＮＰＣの数は、あらかじめ定められている３Ｄ上限数（例えば、１０個、１５個、２０個など）以下となるように決定される。この例では、例えば、図２に示したような画面が初期画面として決定される。
【００５０】
次いで、制御部１１は、仮想カメラの視点の位置、視軸の方向、および視角の大きさを、制御プログラムに従って決定し、透視変換を行うための仮想カメラの初期設定を行う（ステップＳ１０３）。そして、ステップＳ１０８に移行する。
【００５１】
ゲームの実行中であり場面変更を行うタイミングでないと判定したときは（ステップＳ１０１のＮ）、制御部１１は、プレイヤによりプレイヤキャラクタを動作させるための指示データが入力部２１から入力されているか否かを判定する（ステップＳ１０４）。
【００５２】
プレイヤキャラクタを動作させるための指示が入力されていれば、制御部１１は、入力部２１からの指示データの内容に応じて、仮想カメラの視点の位置、視軸の方向、視角の大きさのうち、必要なデータを更新し、仮想カメラの設定内容の変更を行う（ステップＳ１０５）。
【００５３】
次いで、制御部１１は、各２次元ＮＰＣについての各種設定を行うための後述する２Ｄキャラ設定処理を実行するとともに（ステップＳ１０６）、各３次元ＮＰＣについての各種設定を行うための後述する３Ｄキャラ設定処理を実行する（ステップＳ１０７）。
【００５４】
そして、制御部１１は、仮想カメラの設定内容に応じて、仮想カメラから表示すべきプレイヤキャラクタやＮＰＣを含む仮想３次元空間を仮想スクリーン上に透視変換して、画像表示部５１に表示させる２次元画像を生成するための表示処理を行う（ステップＳ１０８）。表示処理を終了すると、今回のメイン処理を終了する。その後、次のフレーム期間の開始タイミングにおいてタイマ割り込みが発生すると、次回のメイン処理が実行されることとなる。そして、メイン処理が繰り返し実行されることで、キャラクタ画像がフレーム期間毎に切り替えられて、画像表示部５１にて動画が表示されることになる。
【００５５】
ここで、ステップＳ１０８の表示処理について簡単に説明する。ステップＳ１０８では、制御部１１は、先ず、プレイヤキャラクタや３次元ＮＰＣを含む仮想３次元空間を構成するポリゴンの頂点の座標のうち、少なくとも仮想スクリーン上に透視変換される範囲に含まれるポリゴンの頂点の座標を、ワールド座標系の座標から視点座標系の座標に変換する。また、制御部１１は、２Ｄキャラ設定処理の処理結果に応じて、仮想３次元空間内に２次元ＮＰＣを表示するために必要な２Ｄ表示指示情報（例えば、２次元ＮＰＣの種類、視点座標系における表示位置、スプライト画像の拡大縮小率、スプライト画像の回転角度を含む情報）を生成する。次いで、制御部１１は、プレイヤキャラクタや３次元ＮＰＣについての視点座標系におけるポリゴンの頂点の座標と、２次元ＮＰＣについての２Ｄ表示指示情報とをグラフィック処理部１５に送信し、グラフィック処理部１５に対して描画命令を出力する。
【００５６】
描画命令が入力すると、グラフィック処理部１５は、視点座標系の座標にもとづいて、各面を構成する各点について、前側にある点のデータが残るようにＺバッファの内容を更新する。Ｚバッファの内容を更新すると、グラフィック処理部１５は、前側にある残った点についての画像データをフレームメモリ１９に展開する。また、グラフィック処理部１５は、展開される画像データに対して、シェーディングやテクスチャマッピングなどの処理も行う。
【００５７】
そして、グラフィック処理部１５は、フレームメモリ１９に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、表示装置５０に出力する。表示装置５０は、グラフィック処理部１５から出力されたビデオ信号に対応した画像を画像表示部５１に表示する。１フレーム時間ごとに画像表示部５１の画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタやＮＰＣがフィールド上を移動する様子を含む画像を見ることができる。
【００５８】
図４は、２Ｄキャラ設定処理（ステップＳ１０６）の例を示すフローチャートである。
２Ｄキャラ設定処理において、制御部１１は、仮想カメラの視点位置の変化（ステップＳ１０５にて設定変更された場合には、変更前と変更後の視点位置の差）と、制御プログラムにもとづいて決定される移動方向及び移動量に従って、仮想３次元空間内に表示されている２次元ＮＰＣの移動位置を仮決定する（ステップＳ２０１）。次いで、制御部１１は、仮決定した移動位置が後述する２Ｄ禁止空間内であるか否か判定する（ステップＳ２０２）。
【００５９】
仮決定した移動位置が２Ｄ禁止空間内であれば（ステップＳ２０２のＹ）、制御部１１は、あらかじめ定められた２Ｄ位置選択条件に従って、後述する２Ｄ許容空間内の位置を選択し、選択した位置を移動位置として決定する（ステップＳ２０３）。
【００６０】
「２Ｄ位置選択条件」は、少なくとも、２Ｄ許容空間内の位置であって、前回の表示位置からの移動距離が所定距離（見た目上、２次元ＮＰＣの動作が不自然とならない程度の距離があらかじめ定められる）以内である位置となるように定められる。具体的には、例えば、ステップＳ２０１で仮決定した位置から最も近い２Ｄ許容空間内の位置であること、あるいは、仮想３次元空間内に仮想的に設けられた中心軸（仮想３次元空間の手前側から奥側に向かう軸であって、キャラクタ画像の中心を通る軸）から離れる方向（画像の中心部から視界境界面に向かう方向）にシフトしていったときに最初に到達した２Ｄ許容空間内の位置であることなどとされる。なお、上記の「中心軸」に替えて、仮想３次元空間の手前側から奥側に向かう軸であって、キャラクタ画像の中央付近の所定の点を通る軸としてもよい。
【００６１】
仮決定した移動位置が２Ｄ禁止空間内でなければ（ステップＳ２０２のＮ）、制御部１１は、ステップＳ２０１にて仮決定していた位置を移動位置として決定する（ステップＳ２０４）。
【００６２】
そして、制御部１１は、全ての２次元ＮＰＣについて移動位置を決定したか否か確認し（ステップＳ２０５）、未だ移動位置を決定していない２次元ＮＰＣが残っている場合には（ステップＳ２０５のＮ）、残りの２次元ＮＰＣの移動位置を決定するために、ステップＳ２０１に戻る。
【００６３】
全ての２次元ＮＰＣについて移動位置を決定すると、制御部１１は、制御プログラムに従って、新たに２次元ＮＰＣを表示する場合には、そのＮＰＣの表示位置（出現位置）を決定し（ステップＳ２０６）、２Ｄキャラ設定処理を終了する。
【００６４】
図５は、２次元キャラクタの表示が禁止された２Ｄ禁止空間等の例を示す説明図である。図５（Ａ）は、仮想３次元空間を上方から見た図である。図５（Ｂ）は、仮想３次元空間を左側の側面から見た図である。
【００６５】
図５（Ａ）には、仮想カメラにおける左側の視界の境界を示す左側視界境界面と、仮想カメラにおける右側の視界の境界を示す右側視界境界面と、２Ｄ３Ｄ境界面と、２Ｄ禁止空間境界面とが示されている。また、図５（Ｂ）には、仮想カメラにおける上側の視界の境界を示す上側視界境界面と、仮想カメラにおける下側の視界の境界を示す下側視界境界面と、２Ｄ３Ｄ境界面と、２Ｄ禁止空間境界面とが示されている。
【００６６】
２Ｄ３Ｄ境界面は、仮想カメラの視点位置から所定距離（例えば、実空間における４０［ｍ］に相当する距離、５０［ｍ］に相当する距離、６０［ｍ］に相当する距離など）に形成される面であって、３次元キャラクタが表示される空間と２次元キャラクタが表示される空間との絶対的な境界（キャラクタの移動が厳格に禁止された境界）を示す境界面である。２Ｄ３Ｄ境界面から見て仮想カメラの視点位置方向（プレイヤキャラクタＰの表示位置方向）側に位置する３次元キャラクタ表示空間は、３次元キャラクタが表示され得る空間であり、２次元キャラクタが表示されることがない空間である。一方、２Ｄ３Ｄ境界面から見て仮想カメラの視点位置方向（プレイヤキャラクタＰの表示位置方向）と反対側に位置する２次元キャラクタ表示空間は、２次元キャラクタが表示され得る空間であり、３次元キャラクタが表示されることはない空間である。
【００６７】
２Ｄ禁止空間境界面は、２次元キャラクタ表示空間内にあり、本例において２次元キャラクタの表示が禁止される領域と許容される領域との境界を示す境界面である。２Ｄ禁止空間境界面の外枠部分は、２Ｄ３Ｄ境界面の外枠部分とほぼ一致している。２Ｄ禁止空間境界面と２Ｄ３Ｄ境界面との間に位置する空間は、本例において２次元キャラクタの表示が禁止される２Ｄ禁止空間である。また、２Ｄ禁止空間境界面から見て２Ｄ禁止空間と反対側に位置する空間は、本例において２次元キャラクタの表示が許容される２Ｄ許容空間である。
【００６８】
本例では、図５（Ａ）に示すように、２次元ノン・プレイヤ・キャラクタｍは、例えば、プレイヤキャラクタＰが近づいてきたことにより２Ｄ禁止空間境界面まで到達し、さらにプレイヤキャラクタＰが近づいてきた場合には、右側視界境界面方向または左側視界境界面方向に移動していく。そして、その後さらにプレイヤキャラクタＰが近づいてきた場合には、右側視界境界面または左側視界境界面から視界外に移動していくことになる。
【００６９】
また、本例では、図５（Ｂ）に示すように、２次元ノン・プレイヤ・キャラクタｍは、例えば、プレイヤキャラクタＰが近づいてきたことにより２Ｄ禁止空間境界面まで到達し、さらにプレイヤキャラクタＰが近づいてきた場合には、上側視界境界面方向または下側視界境界面方向に移動していく。そして、その後さらにプレイヤキャラクタＰが近づいてきた場合には、上側視界境界面または下側視界境界面から視界外に移動していくことになる。
【００７０】
なお、例えば仮想３次元空間が宇宙空間、海中、空中などでありプレイヤキャラクタＰが宙に浮いているかのように表示される場合には、上記のように２次元ノン・プレイヤ・キャラクタｍを下側視界境界面方向に移動していき、下側視界境界面から視界外に移動していくようにしてもよい。しかし、プレイヤキャラクタＰが地に着いていたり、宙に浮いていたとしても地面に近い位置に表示されていて、下側の視界外に移動させることができない場合もある。このような場合には、２次元ノン・プレイヤ・キャラクタｍは、プレイヤキャラクタＰが近づいてきて２Ｄ禁止空間境界面まで到達したとしても、下側には移動させずに、左側、右側、または上側の何れかに移動させていくようにすればよい。
【００７１】
なお、２Ｄ禁止空間は、２次元キャラクタの中心部の進入が禁止されている空間とされていてもよいし、２次元キャラクタの一部であっても進入が禁止されている空間とされていてもよい。
【００７２】
また、図５に示す例では、簡単のため、２次元ノン・プレイヤ・キャラクタｍが上下左右の何れかに移動していく例について説明したが、右上や左上などの斜め方向に移動していくこともある。
【００７３】
図６は、３Ｄキャラ設定処理（ステップＳ１０７）の例を示すフローチャートである。
３Ｄキャラ設定処理において、制御部１１は、仮想カメラの視点位置の変化（ステップＳ１０５にて設定変更された場合には、変更前と変更後の視点位置の差）と、制御プログラムにもとづいて決定される移動方向及び移動量に従って、仮想３次元空間内に表示されている３次元ＮＰＣの移動位置を仮決定する（ステップＳ３０１）。次いで、制御部１１は、仮決定した移動位置が後述する３Ｄ禁止空間内であるか否か判定する（ステップＳ３０２）。
【００７４】
仮決定した移動位置が３Ｄ禁止空間内であれば（ステップＳ３０２のＹ）、制御部１１は、あらかじめ定められた３Ｄ位置選択条件に従って、後述する３Ｄ許容空間内の位置を選択し、選択した位置を移動位置として決定する（ステップＳ３０３）。
【００７５】
「３Ｄ位置選択条件」は、少なくとも、３Ｄ許容空間内の位置であって、前回の表示位置からの移動距離が所定距離（見た目上、３次元ＮＰＣの動作が不自然とならない程度の距離があらかじめ定められる）以内である位置となるように定められる。具体的には、例えば、ステップＳ３０１で仮決定した位置から最も近い３Ｄ許容空間内の位置であること、あるいは、仮想３次元空間内に仮想的に設けられた中心軸（仮想３次元空間の手前側から奥側に向かう軸であって、キャラクタ画像の中心を通る軸）から離れる方向（画像の中心部から視界境界面に向かう方向）にシフトしていったときに最初に到達した３Ｄ許容空間内の位置であることなどとされる。なお、上記の「中心軸」に替えて、仮想３次元空間の手前側から奥側に向かう軸であって、キャラクタ画像の中央付近の所定の点を通る軸としてもよい。
【００７６】
仮決定した移動位置が３Ｄ禁止空間内でなければ（ステップＳ３０２のＮ）、制御部１１は、ステップＳ３０１にて仮決定していた位置を移動位置として決定する（ステップＳ３０４）。
【００７７】
そして、制御部１１は、全ての３次元ＮＰＣについて移動位置を決定したか否か確認し（ステップＳ３０５）、未だ移動位置を決定していない３次元ＮＰＣが残っている場合には（ステップＳ３０５のＮ）、残りの３次元ＮＰＣの移動位置を決定するために、ステップＳ３０１に戻る。
【００７８】
全ての３次元ＮＰＣについて移動位置を決定すると、制御部１１は、制御プログラムに従って、新たに３次元ＮＰＣを表示するか否かを仮決定する（ステップＳ３０６）。３次元ＮＰＣを新たに表示しようとする場合には（ステップＳ３０６のＹ）、制御部１１は、３次元ＮＰＣを新たに表示したと仮定したときに、画像表示部５１に表示される３次元ＮＰＣの総数が３Ｄ上限数以下となっているか否か確認する（ステップＳ３０７）。
【００７９】
３Ｄ上限数以下であれば、制御部１１は、ステップＳ３０６で仮決定した３次元ＮＰＣを新たに表示することとし、その３次元ＮＰＣの表示位置（出現位置）を決定する（ステップＳ３０８）。
【００８０】
３Ｄ上限数以下でなければ、制御部１１は、ステップＳ３０６で仮決定した３次元ＮＰＣを新たに表示しないことととし、そのまま３Ｄキャラ設定処理を終了する。なお、３Ｄ上限数以下となる範囲であれば、ステップＳ３０６で新たに表示すると仮決定した３次元ＮＰＣの一部を表示することに決定するようにしてもよい。
【００８１】
図７は、３次元キャラクタの表示が禁止された３Ｄ禁止空間等の例を示す説明図である。図７（Ａ）は、仮想３次元空間を上方から見た図である。図７（Ｂ）は、仮想３次元空間を左側の側面から見た図である。
【００８２】
図７（Ａ）には、仮想カメラにおける左側の視界の境界を示す左側視界境界面と、仮想カメラにおける右側の視界の境界を示す右側視界境界面と、２Ｄ３Ｄ境界面と、３Ｄ禁止空間境界面とが示されている。また、図７（Ｂ）には、仮想カメラにおける上側の視界の境界を示す上側視界境界面と、仮想カメラにおける下側の視界の境界を示す下側視界境界面と、２Ｄ３Ｄ境界面と、３Ｄ禁止空間境界面とが示されている。
【００８３】
３Ｄ禁止空間境界面は、３次元キャラクタ表示空間内にあり、本例において３次元キャラクタの表示が禁止される領域と許容される領域との境界を示す境界面である。３Ｄ禁止空間境界面の外枠部分は、２Ｄ３Ｄ境界面の外枠部分とほぼ一致している。３Ｄ禁止空間境界面と２Ｄ３Ｄ境界面との間に位置する空間は、本例において３次元キャラクタの表示が禁止される３Ｄ禁止空間である。また、３Ｄ禁止空間境界面から見て３Ｄ禁止空間と反対側に位置する空間は、本例において３次元キャラクタの表示が許容される３Ｄ許容空間である。
【００８４】
本例では、図７（Ａ）に示すように、３次元ノン・プレイヤ・キャラクタＭは、例えば、プレイヤキャラクタＰが離れていったことにより３Ｄ禁止空間境界面まで到達し、さらにプレイヤキャラクタＰが離れていった場合には、右側視界境界面方向または左側視界境界面方向に移動していく。そして、その後さらにプレイヤキャラクタＰが離れていった場合には、右側視界境界面または左側視界境界面から視界外に移動していくことになる。
【００８５】
また、本例では、図７（Ｂ）に示すように、３次元ノン・プレイヤ・キャラクタＭは、例えば、プレイヤキャラクタＰが離れていったことにより３Ｄ禁止空間境界面まで到達し、さらにプレイヤキャラクタＰが離れていった場合には、上側視界境界面方向または下側視界境界面方向に移動していく。そして、その後さらにプレイヤキャラクタＰが離れていった場合には、上側視界境界面または下側視界境界面から視界外に移動していくことになる。
【００８６】
なお、例えば仮想３次元空間が宇宙空間、海中、空中などでありプレイヤキャラクタＰが宙に浮いているかのように表示される場合には、上記のようにノン・プレイヤ・キャラクタＭを下側視界境界面方向に移動していき、下側視界境界面から視界外に移動していくようにしてもよい。しかし、プレイヤキャラクタＰが地に着いていたり、宙に浮いていたとしても地面に近い位置に表示されていて、下側の視界外に移動させることができない場合もある。このような場合には、３次元ノン・プレイヤ・キャラクタＭは、プレイヤキャラクタＰが離れていき３Ｄ禁止空間境界面まで到達したとしても、下側には移動させずに、左側、右側、または上側の何れかに移動させていくようにすればよい。
【００８７】
なお、３Ｄ禁止空間は、３次元ＮＰＣの中心部の進入が禁止される空間とされていてもよいし、３次元キャラクタの一部であっても進入が禁止される空間とされていてもよい。
【００８８】
また、図７に示す例では、３次元ノン・プレイヤ・キャラクタＭが上下左右の何れかに移動していく例について説明したが、右上や左上などの斜め方向に移動していくこともある。
【００８９】
次に、本例のビデオゲーム装置１００にてメイン処理が繰り返し実行されることによる画像表示制御により画像表示部５１に表示される２次元ＮＰＣの様子について具体的に説明する。
【００９０】
ここでは、簡単のため、図８に示すように３つの２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３が表示されているときに、画像表示部５１に表示されている仮想３次元空間の後方側（２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３に近づく方向）に、プレイヤキャラクタＰが移動していった場合を例に説明する。
【００９１】
なお、図８に示す各２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３は、２Ｄ禁止空間境界面近傍に位置しているものとする。また、ここでは、「２Ｄ位置選択条件」は、「仮想３次元空間の中心軸から離れる方向（視界境界面に向かう方向）にシフトしていったときに最初に到達した２Ｄ許容空間内の位置であること」とされているものとする。
【００９２】
図８に示す画像が表示されているときに、プレイヤによる入力部２１の操作によってプレイヤキャラクタＰが仮想３次元空間の後方側に移動していくと、各２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３は、例えば図９に示すように、プレイヤキャラクタＰに近づいてくる方向であって、かつ、上述したステップＳ２０２，Ｓ２０３の処理によって仮想３次元空間における中心軸から遠ざかる方向に移動していくことになる。
【００９３】
図９に示す状態となったあと、プレイヤによる入力部２１の操作によってプレイヤキャラクタＰが仮想３次元空間の後方側にさらに移動していくと、各２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３は、例えば図１０に示すように、プレイヤキャラクタＰにさらに近づいてくる方向であって、かつ、上述したステップＳ２０２，Ｓ２０３の処理によって仮想３次元空間における中心軸からさらに遠ざかる方向に移動していく。
【００９４】
そして、その後もプレイヤによる入力部２１の操作によってプレイヤキャラクタＰが仮想３次元空間の後方側にさらに移動していくと、各２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３は、２Ｄ禁止空間に入ることなく仮想カメラの視界外に移動していき、画像表示部５１の表示画像において画像の端部から外に出て行き表示されなくなる。
【００９５】
上記のように、本例のビデオゲーム装置１００では、プレイヤによる入力部２１の操作によってプレイヤキャラクタＰを２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３が位置している方向（仮想３次元空間の後方側）に移動させていくと、２次元ノン・プレイヤ・キャラクタｍ１，ｍ２，ｍ３は、プレイヤキャラクタＰに近づきながら視界境界面のある方向に移動していき、最終的には２Ｄ禁止空間に入ることなく仮想カメラの視界から外れて行くことになる。
【００９６】
次に、本例のビデオゲーム装置１００にてメイン処理が繰り返し実行されることによって行われる画像表示制御により画像表示部５１に表示される３次元ＮＰＣの様子について具体的に説明する。
【００９７】
ここでは、簡単のため、図１１に示すように３つの３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３が表示されているときに、画像表示部５１に表示されている仮想３次元空間の手前側（３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３から離れて行く方向）に、プレイヤキャラクタＰが移動していった場合を例に説明する。
【００９８】
なお、図１１に示す各３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３は、３Ｄ禁止空間境界面近傍に位置しているものとする。また、ここでは、「３Ｄ位置選択条件」は、「仮想３次元空間の中心軸から離れる方向（視界境界面に向かう方向）にシフトしていったときに最初に到達した３Ｄ許容空間内の位置であること」とされているものとする。
【００９９】
図１１に示す画像が表示されているときに、プレイヤによる入力部２１の操作によってプレイヤキャラクタＰが仮想３次元空間の手前側に移動していくと、各３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３は、例えば図１２に示すように、プレイヤキャラクタＰから遠ざかっていく方向であって、かつ、上述したステップＳ３０２，Ｓ３０３の処理にもとづいて仮想３次元空間における中心軸から遠ざかる方向に移動していくことになる。
【０１００】
図１２に示す状態となったあと、プレイヤによる入力部２１の操作によってプレイヤキャラクタＰが仮想３次元空間の手前側にさらに移動していくと、各３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３は、例えば図１３に示すように、プレイヤキャラクタＰにさらに遠ざかっていく方向であって、かつ、上述したステップＳ３０２，Ｓ３０３の処理にもとづいて仮想３次元空間における中心軸からさらに遠ざかる方向に移動していく。
【０１０１】
そして、その後もプレイヤによる入力部２１の操作によってプレイヤキャラクタＰが仮想３次元空間の手前側にさらに移動していくと、各３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３は、３Ｄ禁止空間に入ることなく仮想カメラの視界外に移動していき、画像表示部５１の表示画像において画像の端部から外に出て行き表示されなくなる。
【０１０２】
上記のように、本例のビデオゲーム装置１００では、プレイヤによる入力部２１の操作によってプレイヤキャラクタＰを３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３の位置から離れる方向（仮想３次元空間の手前側）に移動させていくと、３次元ノン・プレイヤ・キャラクタＭ１，Ｍ２，Ｍ３は、プレイヤキャラクタＰから遠ざかりながら視界境界面のある方向に移動していき、最終的には３Ｄ禁止空間に入ることなく仮想カメラの視界から外れて行くことになる。
【０１０３】
以上に説明したように、上述した一実施の形態では、仮想カメラの視点位置の移動状態に関わらず、３次元キャラクタで一旦描画したキャラクタを、仮想カメラの視点位置から所定距離（２Ｄ３Ｄ境界面までの距離）内の位置を維持させて描画し、２次元キャラクタで一旦描画したキャラクタを所定距離（２Ｄ３Ｄ境界面までの距離）外の位置を維持させて描画するようにしているので、２次元キャラクタや３次元キャラクタが２Ｄ３Ｄ境界面を通過することを防止することができ、仮想３次元空間に複数の物体を含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【０１０４】
すなわち、２次元キャラクタや３次元キャラクタが２Ｄ３Ｄ境界面を通過することを防止することができるので、一旦描画したキャラクタが２次元キャラクタとされたり３次元キャラクタとされたりすることを回避することができ、既に描画されているキャラクタを２次元キャラクタで表示するか３次元キャラクタで表示するかの判断や、２次元キャラクタと３次元キャラクタとを相互に入れ替える処理などを行う必要がなく、キャラクタの表示制御を簡単にすることができ、ハードウェアの処理負荷を低減させることができる。
【０１０５】
また、２次元キャラクタや３次元キャラクタが２Ｄ３Ｄ境界面を通過することを防止することができるので、２次元キャラクタとして一旦描画したキャラクタが、２次元キャラクタのまま大きいサイズで表示されてしまうことを回避することができ、臨場感を欠くことなく画像表示を行うことができる。
【０１０６】
また、上述した一実施の形態では、３Ｄ上限数を超える３次元ＮＰＣを表示させないようにしているので、ハードウェアの処理負荷が増大しないように設定することができる。
【０１０７】
なお、上述した一実施の形態では、プレイヤキャラクタが仮想３次元空間の手前側に移動されていくと、３次元ＮＰＣがプレイヤキャラクタから遠ざかりながら視界境界面のある方向に移動していき、最終的には３Ｄ禁止空間に入ることなく仮想カメラの視界から外れて行くような画像が表示されるように制御することとしていたが、プレイヤキャラクタが仮想３次元空間の手前側に移動されていくと、３次元ＮＰＣが、プレイヤキャラクタから少なくとも所定距離（仮想カメラの視点位置から２Ｄ３Ｄ境界面までの距離）内の距離を維持するように、プレイヤキャラクタの進行方向についてくるような画像が表示されるように制御することとしてもよい。この場合、上述した３Ｄ禁止空間を設ける必要はない。具体的には、例えば図１４に示すように、２Ｄ３Ｄ境界面近傍に３次元ノン・プレイヤ・キャラクタＭが位置しているときに、プレイヤキャラクタＰが仮想３次元空間の手前側に距離ｘだけ移動されていったとすると、プレイヤキャラクタＰの移動により２Ｄ３Ｄ境界面が手前側に距離ｘだけ移動されていくこととなるが、その２Ｄ３Ｄ境界面の移動によって３次元ノン・プレイヤ・キャラクタＭが２Ｄ３Ｄ境界面の奥側に進入することがないように、３次元ノン・プレイヤ・キャラクタＭが、プレイヤキャラクタＰとの間隔を維持しながら、プレイヤキャラクタＰと同様に仮想３次元空間の手前側に距離ｘだけ移動されることになる。上記のように構成しても、仮想３次元空間に３次元キャラクタを含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【０１０８】
また、上述した一実施の形態では、プレイヤキャラクタが仮想３次元空間の後方側に移動されていくと、２次元ＮＰＣがプレイヤキャラクタに近づきながら視界境界面のある方向に移動していき、最終的には２Ｄ禁止空間に入ることなく仮想カメラの視界から外れて行くような画像が表示されるように制御することとしていたが、プレイヤキャラクタが仮想３次元空間の後方側に移動されていくと、２次元ＮＰＣが、プレイヤキャラクタから少なくとも所定距離（仮想カメラの視点位置から２Ｄ３Ｄ境界面までの距離）外の距離を維持するように、プレイヤキャラクタの進行方向に移動していきプレイヤキャラクタから逃げていくような画像が表示されるように制御することとしてもよい。この場合、上述した２Ｄ禁止空間を設ける必要はない。具体的には、例えば図１５に示すように、２Ｄ３Ｄ境界面近傍に２次元ノン・プレイヤ・キャラクタｍが位置しているときに、プレイヤキャラクタＰが仮想３次元空間の奥側（後方側）に距離ｙだけ移動されていったとすると、プレイヤキャラクタＰの移動により２Ｄ３Ｄ境界面が奥側に距離ｙだけ移動されていくこととなるが、その２Ｄ３Ｄ境界面の移動によって２次元ノン・プレイヤ・キャラクタｍが２Ｄ３Ｄ境界面の手前側に進入することがないように、２次元ノン・プレイヤ・キャラクタｍが、プレイヤキャラクタＰとの間隔を維持しながら、プレイヤキャラクタＰと同様に仮想３次元空間の奥側に距離ｙだけ移動されることになる。上記のように構成しても、仮想３次元空間に２次元キャラクタを含む画像を描画する際に、臨場感を欠くことなくハードウェアの処理負荷を低減させることができる。
【０１０９】
また、上述した実施の形態では、ビデオゲーム装置本体１０と表示装置５０とが別体として構成されていたが、ビデオゲーム装置本体１０に表示装置５０を備える構成としてもよい。
【０１１０】
また、上述した実施の形態ではビデオゲーム装置１００を例に説明したが、画像生成機能を備えた機器であれば、パーソナルコンピュータ、携帯電話端末、携帯用ゲーム機などの各種の機器に本発明を適用することができる。なお、携帯用ゲーム機などに適用する場合には、上述した記憶媒体７０として、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭの替わりに半導体メモリカードなどの小型の記憶媒体を用いるようにすればよい。
【０１１１】
また、上述した実施の形態では、ビデオゲーム装置本体１０に上述した各種の処理を実行させるためのゲーム用データ（ゲームに用いられる制御プログラムなどの各種のデータ）が記憶媒体７０に格納されているものとしていたが、ゲーム用データは、ＷＷＷサーバなどのサーバ装置によって配信されるものであってもよい。この場合、ビデオゲーム装置本体１０は、サーバ装置によって配信されるゲーム用データを通信ネットワーク８０を介して取得してＨＤＤ１３に格納し、ゲーム用データをＨＤＤ１３からＲＡＭ１２にロードして使用するようにすればよい。なお、上記の例ではゲーム用データとしていたが、少なくとも上述した実施の形態における画像生成処理をコンピュータに実行させるための制御プログラムを含むデータであればよい。
【産業上の利用可能性】
【０１１２】
本発明によれば、３次元ポリゴンデータで描画された３次元キャラクタと２次元スプライトデータで描画された２次元キャラクタとを含む複数のキャラクタを仮想３次元空間に描画したキャラクタ画像を生成するビデオゲーム装置、パーソナルコンピュータ、携帯電話端末、携帯用ゲーム機などに適用するのに有用である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施の形態におけるビデオゲーム装置の構成例を示すブロック図である。
【図２】画像表示部に表示されるキャラクタ画像の例を示す説明図である。
【図３】メイン処理の例を示すフローチャートである。
【図４】２Ｄキャラ設定処理の例を示すフローチャートである。
【図５】２次元キャラクタの表示が禁止された２Ｄ禁止空間等の例を示す説明図である。
【図６】３Ｄキャラ設定処理の例を示すフローチャートである。
【図７】３次元キャラクタの表示が禁止された３Ｄ禁止空間等の例を示す説明図である。
【図８】プレイヤキャラクタが仮想３次元空間の後方側に移動していったときの２次元ＮＰＣの移動態様の例を示す説明図である。
【図９】プレイヤキャラクタが仮想３次元空間の後方側に移動していったときの２次元ＮＰＣの移動態様の例を示す説明図である。
【図１０】プレイヤキャラクタが仮想３次元空間の後方側に移動していったときの２次元ＮＰＣの移動態様の例を示す説明図である。
【図１１】プレイヤキャラクタが仮想３次元空間の手前側に移動していったときの３次元ＮＰＣの移動態様の例を示す説明図である。
【図１２】プレイヤキャラクタが仮想３次元空間の手前側に移動していったときの３次元ＮＰＣの移動態様の例を示す説明図である。
【図１３】プレイヤキャラクタが仮想３次元空間の手前側に移動していったときの３次元ＮＰＣの移動態様の例を示す説明図である。
【図１４】プレイヤキャラクタが仮想３次元空間の手前側に移動していったときの３次元ＮＰＣの移動態様の他の例を示す説明図である。
【図１５】プレイヤキャラクタが仮想３次元空間の後方側に移動していったときの２次元ＮＰＣの移動態様の他の例を示す説明図である。
【符号の説明】
【０１１４】
１０    ビデオゲーム装置本体
１１    制御部
１２    ＲＡＭ
１３    ＨＤＤ
１４    サウンド処理部
１５    グラフィック処理部
１６    ＤＶＤ／ＣＤ−ＲＯＭ
１７    通信インターフェイス
１８    インターフェイス部
１９    フレームメモリ
２０    メモリーカードスロット
２１    入力部
２２    内部バス
５０    表示装置
５１    画像表示部
６０    サウンド出力装置
７０    記憶媒体
８０    通信ネットワーク
９０    メモリーカード
１００  ビデオゲーム装置
【図１】
2006318241.tif 000003
【図２】
2006318241.tif 000004
【図３】
2006318241.tif 000005
【図４】
2006318241.tif 000006
【図５】
2006318241.tif 000007
【図６】
2006318241.tif 000008
【図７】
2006318241.tif 000009
【図８】
2006318241.tif 000010
【図９】
2006318241.tif 000011
【図１０】
2006318241.tif 000012
【図１１】
2006318241.tif 000013
【図１２】
2006318241.tif 000014
【図１３】
2006318241.tif 000015
【図１４】
2006318241.tif 000016
【図１５】
2006318241.tif 000017