説明

ゲーム機器、ネットワークゲームシステム、画像生成方法および画像生成プログラム

【課題】ゲームに登場するプレイヤキャラクタの描画の高速化を図るための画像生成処理を提供する。
【解決手段】プレイヤが操作するプレイヤキャラクタPCと自動的に動作する複数のノンプレイヤキャラクタNPCとが登場するゲームを提供するゲーム機器100であって、複数のパーツモデルをモデルデータベース110aに記憶し、記憶された複数のパーツモデルの各パーツに対応付けて複数のテクスチャをテクスチャデータベース110bに記憶し、各データベースからプレイヤにより選択されたパーツ毎のテクスチャを合成して合成テクスチャGを生成し、ロビーシーンでは、選択されたパーツモデルに選択されたパーツ毎のテクスチャをそれぞれマッピングしてプレイヤキャラクタPCの画像を生成し、戦闘シーンでは、選択されたパーツモデルに合成テクスチャGをマッピングしてプレイヤキャラクタPCの画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータを用いて生成す画像処理技術に関し、特に、ゲームに登場するプレイヤキャラクタの画像生成の高速化を図る技術に関する。
【背景技術】
【0002】
プレイヤがコントローラを操作することにより、プレイヤキャラクタをプレイヤの意思通りに動作させ、これによりゲームを攻略していくアクションゲームやロールプレイングゲームが人気を集めている。こうしたゲームに登場するプレイヤキャラクタの形状、色、模様、質感などは、実質的なゲームが開始される前にプレイヤの思い通りにカスタマイズすることができるようになっている。これにより、プレイヤは、プレイヤの分身であるプレイヤキャラクタを個性的に表現することができる。このようにして生成される臨場感あふれる画像は、プレイヤの気分を高揚させプレイヤをゲームに没頭させるのに効果的である。
【0003】
カスタマイズされたプレイヤキャラクタは、3次元形状モデル(3Dポリゴン)の表面に色、模様、質感等、各パーツの外観を表す2次元画像のテクスチャをマッピングする3次元画像処理によって非常にリアルに表現される。テクスチャマッピングでは、3次元モデルの各パーツ(頭部や胴体など)にそれぞれ貼り付けるテクスチャを多数用意し、その中からプレイヤにより選択されたテクスチャを各パーツにマッピングする。多種多様なキャラクタを表現するためには、異なる質感や模様を有するテクスチャを予めデータベース化しておく必要があり、そのためにテクスチャを自動で生成する技術が考案されている(たとえば、特許文献1)。これにより、多数用意されたパーツモデルおよびテクスチャの組み合わせによってプレイヤキャラクタの表現の多様化を実現できる。
【0004】
【特許文献1】特開2003−168128号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、これによれば、モデルのパーツ毎に別々のテクスチャにアクセスして各テクスチャをマッピングしなければならず、画像生成処理の負荷が大きい。特に、アクションゲームでは、コントローラの操作に応じてプレイヤキャラクタがプレイヤの思い通りに瞬時に動作することが求められており、その前提としてアクションシーンでのキャラクタの描画の高速化は必須である。
【0006】
そこで、本発明は、ゲームのシーンに併せて登場するプレイヤキャラクタの描画方法を変えることにより画像処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、プレイヤの操作により入力された情報に応じて動作するプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するゲームをプレイヤに提供するゲーム機器であって、プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと、前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースと、プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する合成部と、を備えるゲーム機器が提供される。
【0008】
これによれば、テクスチャデータベースの任意のアドレスに分散して記憶された各パーツのテクスチャのソースデータにアクセスしてモデルの各パーツに各テクスチャをマッピングしなくても、ひとつにまとまった合成テクスチャのデータに一度だけアクセスして合成テクスチャをパーツモデルにマッピングすることによりプレイヤキャラクタの画像を瞬時に生成することができる。これにより、描画処理の効率化を図ることができる。
【0009】
前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成する処理は、画像生成部にて実行され、前記画像生成部は、ゲームが実質的に開始される前のイントロダクションの場面では、前記プレイヤキャラクタを描画するために前記選択されたパーツモデルに前記選択されたパーツ毎のテクスチャをそれぞれマッピングしてプレイヤキャラクタの画像を生成し、ゲームが実質的に開始された場面では、前記プレイヤキャラクタを描画するために前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成するように画像の生成方法を切り替えてもよい。
【0010】
ネットワークゲームの導入シーン(以下、ロビーシーンとも称呼する。)では、たとえば、のんびりとチャットしたり仲間が集まったり、売買をしたりするシーンとして多くのキャラクタが登場する。よって、プレイヤキャラクタ毎に合成テクスチャを生成してメモリに記憶しておくと、メモリの消費が著しい。特に、ゲーム分野では、3Dポリゴンモデルに2次元画像のパーツテクスチャを貼り付けることにより非常に繊細な三次元画像を作り出している。このため、ロビーシーンに登場する可能性のあるすべてのプレイヤキャラクタに対して合成テクスチャを生成すると大容量のメモリを消費してしまう。
【0011】
これに対して、実質的なアクションゲームが開始された後のシーン(以下、戦闘シーンとも称呼する。)では、ゲームの進行上登場するプレイヤキャラクタはロビーシーンよりも少なくなる。また、戦闘シーンでは、臨場感あふれるアクションゲームをユーザに提供するために特に描画速度が重視される。このような条件から、戦闘開始前に各パーツのデータを合成して複数枚のテクスチャのデータを一つにまとめる前処理を行い、戦闘シーンの描画処理時には、ひとつにまとまった合成テクスチャのデータに一度だけアクセスして合成テクスチャをパーツモデルにマッピングする。これにより、戦闘シーンでは分散された各パーツのテクスチャのソースデータにアクセスしてモデルの各パーツにマッピングする必要がなくなる。この結果、プレイヤキャラクタの画像生成処理の負担を軽減し、描画処理の効率化を図ることができる。
【0012】
前記テクスチャデータベースには、パーツ毎に割り当てられた特定のアドレスに各パーツのテクスチャが記憶され、前記合成部は、前記選択されたテクスチャのアドレスをパーツ毎に書き換えることなく、前記選択された複数のテクスチャを各パーツに対応させて合成してもよい。
【0013】
これによれば、テクスチャデータベースに保存する各テクスチャの配置(アドレス、座標)を、各テクスチャを合成したときに各パーツに割り当てられる位置に限定したことにより、テクスチャの合成時にテクスチャのリソースデータの配置の変更を不要とする。これにより、画像処理のより一層の効率化を図ることができる。
【0014】
ただし、前記テクスチャデータベースには、任意のアドレスに各パーツのテクスチャが記憶され、前記合成部は、前記選択されたテクスチャのアドレスをパーツ毎に割り当てられた特定のアドレスに書き換えることにより、前記特定のアドレスに基づき前記選択された複数のテクスチャを各パーツに対応させて合成することもできる。これによれば、各テクスチャの配置を、各テクスチャを合成したときに各パーツに割り当てられる位置に限定した場合に比べてメモリの有効活用を図ることができる。
【0015】
前記合成部は、前記選択された各パーツのテクスチャの一部を合成し、前記画像生成部は、前記選択されたパーツモデルの一部のパーツに前記生成された合成テクスチャを当てはめることにより、前記選択されたプレイヤキャラクタの画像の一部のみを変更するようにしてもよい。
【0016】
前記生成された合成テクスチャは、キャッシュメモリに記憶されていてもよい。また、前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャは、キャッシュメモリに記憶されていてもよい。これにより、さらに画像処理の高速化を図ることができる。
【0017】
また、上記課題を解決するために、本発明の他の観点によれば、サーバ機器を介してネットワークに接続された複数のゲーム機器を各ゲーム機器のプレイヤがそれぞれ操作することにより入力された情報に応じて動作する複数のプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するネットワークゲームに参加するゲーム機器であって、前記サーバ機器により管理された、プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースとを用いて、プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する合成部と、前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成する画像生成部と、を備えるゲーム機器が提供される。
【0018】
また、ネットワークを介してサーバ機器に接続された単一または複数のゲーム機器を各プレイヤが操作することにより入力された情報に応じて動作する複数のプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するネットワークゲームシステムであって、前記サーバ機器は、プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと、前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースと、を管理し、各ゲーム機器は、プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する合成部と、前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成する画像生成部と、を備えるネットワークゲームシステムが提供される。
【0019】
前記ネットワークゲームシステムは、前記複数のゲーム機器により管理される複数のプレイヤキャラクタと前記複数のプレイヤキャラクタを護衛するノンプレイヤキャラクタとからなる複数のキャラクタが敵味方の集団を形成して互いに戦闘するゲームを提供するシステムであってもよい。
【0020】
また、上記課題を解決するために、本発明の他の観点によれば、プレイヤの操作により入力された情報に応じて動作するプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するゲームで用いられる画像生成方法であって、プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースとを用いて、プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成し、ゲームが実質的に開始される前のイントロダクションの場面では、前記プレイヤキャラクタを描画するために前記選択されたパーツモデルに前記選択されたパーツ毎のテクスチャをそれぞれマッピングして前記プレイヤキャラクタの画像を生成するように画像の生成方法を切り替える画像生成方法が提供される。
【0021】
また、上記課題を解決するために、本発明の他の観点によれば、プレイヤの操作により入力された情報に応じて動作するプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するゲームをプレイヤに提供するためにゲーム機器のCPUにより実行させるための画像生成プログラムであって、プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースとを用いて、プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成するモジュールと、前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成するモジュールと、を有する画像生成プログラムが提供される。
【発明の効果】
【0022】
以上説明したように、本発明によれば、ゲームのシーンに併せて登場するプレイヤキャラクタの描画方法を変えることにより画像処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【0023】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、以下の説明及び添付図面において、同一の構成及び機能を有する構成要素については、同一符号を付することにより、重複説明を省略する。
【0024】
(第1実施形態)
第1実施形態では、スタンドアローン型のゲーム機器100を用いてアクションゲームを実行する場合について説明する。たとえば、図1に示したように、スタンドアローン型のゲーム機器100は、ゲーム機器本体100aとコントローラ100bとを有していて、テレビジョンTVに接続されている。テレビジョンTVは、ディスプレイ(テレビモニタ)Dとテレビジョンに内蔵されたスピーカSを有している。CD−ROM200は、アクションゲームを遂行するための各種プログラムや画像、音楽等の各種データを記憶している。プレイヤ(ユーザ)は、CD−ROM200をゲーム機器本体100aにセットすることによりゲームをスタートさせる。プレイヤは、より高精度な画像を楽しむためにグラフィックカード205をゲーム機器本体100aに装着させることもできる。
【0025】
ただし、ゲーム機器100は、上記構成の家庭用ゲーム機器に限定されず、業務用ゲーム機器、携帯用ゲーム機器、パーソナルコンピュータ、携帯情報端末、携帯電話機等であってもよい。また、プログラムは、CD−ROM200に限られず、DVD−ROMその他のコンピュータ読み取り可能な情報記憶媒体に格納されていてもよい。
【0026】
(ゲーム機器の内部構成)
つぎに、ゲーム機器100の内部構成について、図2を参照しながら説明する。ゲーム機器100は、ROM105、ハードディスク(HDD)110、CPU115、RAM120、バス125、画像生成回路130、音響再生回路135、内部インタフェース140およびリーダ145を有している。
【0027】
ROM105には、基本的なプログラム等が記録されている。ハードディスク110には各種プログラムや各種データが蓄積されている。各種データの一例としては、プレイヤキャラクタPC(Player Character)を描画するためのパーツモデルを複数記憶したモデルデータベース110aや、モデルデータベース110aに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャ(パーツテクスチャ)を複数記憶したテクスチャデータベース110bが挙げられる。なお、ハードディスク110は、記憶装置の一例であり、光ディスクや光磁気ディスクなどの記憶装置を用いてもよい。
【0028】
CPU115は、ゲーム機器100全体を制御する。CPU115は、ハードディスク110に記憶されたプログラム、または、リーダ145が読み込んだCD−ROM200内のプログラムをRAM220にロードし、ロードされたプログラムを実行することによりゲームをスタートさせる。アクションゲームを遂行するためのプログラムには後程説明する画像生成処理を実行するための手順が示された画像生成プログラムが含まれる。
【0029】
バス125は、ROM105、ハードディスク110、CPU115、RAM120、画像生成回路130、音響再生回路135、内部インタフェース140およびリーダ145の各デバイス間で情報をやりとりする経路である。
【0030】
画像生成回路130は、グラフィックチップとVRAMとから構成されていて、CPU115から画像の生成を指示されると、その指示に従って画像を生成する。なお、グラフィックチップとVRAMは、ゲーム機やパソコンに内蔵されていてもよいし、グラフィックチップとVRAMとからなるグラフィックカード205が外付けされていてもよい。は、音響再生回路135は、サウンドチップとサウンドRAMとから構成されていて、CPU115からサウンドの生成を指示されると、その指示に従ってバックミュージックや戦闘音等の音響処理を行う。
【0031】
内部インタフェース140は、プレイヤがコントローラ100bを操作することにより指示した情報を入力し、生成された映像や音響をディスプレイDやスピーカSにそれぞれ出力するようになっている。リーダ145は、CD−ROM200やグラフィックカード205からデータを読み込む。
【0032】
(ゲーム機器の機能構成)
つぎに、図3を参照しながら、ゲーム機器100の機能構成について説明する。ゲーム機器100は、媒体読取部150、入力部155、記憶部160、アクション処理部165、画像生成部170、音響再生部175、判定部180および合成部185の機能ブロックにて示される各機能を有している。
【0033】
媒体読取部150は、CD−ROM200等の記録媒体に記憶されたデータを読み込む。たとえば、プレイヤが、CD−ROM200をゲーム機器100にセットしてゲームをスタートすると、媒体読取部150は、自動的にそのプログラム等のデータを読み込み、RAM120に転送するようになっている。また、ゲーム進行中、必要なときに、媒体読取部150は、グラフィックカード205の画像を読み込んでもよい。
【0034】
入力部155は、ゲーム機器100のコントローラ100bをプレイヤが操作することにより入力された情報を取り込む。記憶部160は、ROM105,HDD110およびRAM120に各種データを記憶する。
【0035】
具体的には、記憶部160は、複数のプレイヤキャラクタPCを頭部、髪型、胴体、腕、足、冠(およびマント)の6つのパーツに分け、各パーツを示す3Dポリゴンから形成される3次元モデルをモデルデータベース110aに予め記憶する。また、記憶部160は、図6に示したように、予め、各パーツに貼り付ける色、模様、質感を表現した2次元画像であるテクスチャTをテクスチャデータベース110bに複数記憶する。なお、プレイヤキャラクタPCは6つのパーツに限らず、いくつのパーツに分けられていてもよい。
【0036】
アクション処理部165は、ゲーム上の戦闘によって発生する各キャラクタの位置の変化および動作の変化を演算することにより各キャラクタの動作(アクション処理)を制御し、ゲームを進行する。アクション処理部165は、また、ゲームの進行に会わせて必要なパラメータとコマンドとを生成し、これらを画像生成部170に出力することにより、画像生成部170に画像の生成を指示する。画像生成部170にて生成された画像はディスプレイDに表示される。
【0037】
アクション処理部165は、さらに、音響再生部175に各管理キャラクタの戦闘動作に対応したバックミュージックや戦闘音等の音響処理を指示する。音響再生部175にて生成された音響はスピーカSに出力される。このようにして表現される臨場感あふれる画像や音響を通じて、プレイヤは、自分のプレイヤキャラクタを自分の分身として仮想空間内で移動させたり、他のキャラクタと戦わせることができる。
【0038】
判定部180は、ロビーシーンと戦闘シーンのいずれのシーンであるかを判定する。ここで、各シーンについて説明する。ネットワークゲームのシーンは、パーツモデルであるプレイヤキャラクタPC(Player Character)がたくさん登場するロビーと呼ばれるシーンとパーツモデルの登場数は少ないが処理速度が求められる戦闘シーンとに分けられる。
【0039】
たとえば、ネットワークゲームの開始直後が自宅から始まる場合、プレイヤの操作によりプレイヤキャラクタPCが外へ出ると、他のノンプレイヤキャラクタNPC(None Player Character)が歩いている。後述するネットワークゲームの場合には、他の参加プレイヤが作成したプレイヤキャラクタ(他PC)が歩いている。
【0040】
これらのプレイヤキャラクタPCのモデルはユーザが任意のパーツを組み合わせて作成したモデルである。ロビーは、図4に示したように、このようなプレイヤキャラクタPCのモデルが何十体と登場する可能性のあるシーンであり、ゲームが実質的に開始される前のイントロダクションの場面である。
【0041】
ロビーシーンでは、ユーザが操作するプレイヤキャラクタPC以外にコンピュータが操作するノンプレイヤキャラクタNPCが立っている。このモデルはパーツの組み合わせでなく一体型モデルである。このようにロビーでは多種多様なモデルをたくさん表示する。ロビーシーンに登場する特定のノンプレイヤキャラクタNPCに話し掛けると戦闘シーンに移行する。
【0042】
合成部185は、プレイヤの操作によりモデルデータベース110aから選択されたパーツモデルの各パーツに対応して、プレイヤの操作によりテクスチャデータベース110bからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する。
【0043】
以上に説明したゲーム機器100の各機能は、実際には、CPU115がこれらの機能を実現する処理手順(モジュール)を記述したプログラムを実行することにより、または、いずれかの機能を実現するためのハードウエアやICを制御することにより達成される。たとえば、図3に示したゲーム機器100のアクション処理部165、判定部180および合成部185の機能は、これらの機能を実現する処理手順を記述したプログラムをCPU115が実行することにより達成され、画像生成部170および音響再生部175の機能は、グラフィックチップ(画像生成回路130またはグラフィックカード205)、サウンドチップ(音響再生回路135)を使用し、画像生成プログラムをCPU115が実行することにより達成される。
【0044】
(画像生成)
上記機能を有するゲーム機器100において、プレイヤキャラクタの画像処理が以下に示す手順に従い実行される。すなわち、ゲーム機器100の電源が「ON」され、プレイヤからゲームの開始が要求されると、図5のフローチャートに示した前処理が、図9のフローチャートに示した主処理の前に原則として一度だけ実行される。
【0045】
(前処理)
図5のステップ500から前処理が開始されると、入力部155は、プレイヤの操作に従い、ステップ505にてモデルデータベース110aから選択されたパーツモデルを読み込み、プレイヤの操作に従いステップ510にてテクスチャデータベース110bから選択されたパーツ毎のテクスチャを読み込む。
【0046】
具体的には、図6に示したように、テクスチャデータベース110bには、モデルのパーツ毎にn個のテクスチャが記憶されている。頭部のパーツのn個のテクスチャT11〜T1nをT群で示す。同様に、冠またはマントのパーツのn個のテクスチャT21〜T2nをT群、髪型のパーツのn個のテクスチャT31〜T3nをT群、胴体のパーツのn個のテクスチャT41〜T4nをT群、足のパーツのn個のテクスチャT51〜T5nをT群、腕のパーツのn個のテクスチャT61〜T6nをT群で示す。
【0047】
プレイヤがコントローラ100bを操作することにより、テクスチャデータベース110bのT群からT11、T群からT22、T群からT31、T群からT4n、T群からT53、T群からT64を選択したとすると、入力部155はこれらのテクスチャのデータを読み込み、ステップ515に進んで、画像生成部170は読み込まれたパーツモデルの各パーツに6枚のテクスチャをマッピングする。
【0048】
具体的には、図7の左側に示したように、読み込まれたパーツモデルの6箇所のパーツA(頭部)、B(冠)、C(髪型)、D(胴体)、E(足)、F(腕)に、先程選択された6枚のテクスチャT11、T22、T31、T4n、T53、T64をマッピング(貼り付け)する。
【0049】
このようにして、実際には3Dポリゴンから形成されたパーツモデルに2次元画像のテクスチャをマッピングすることにより、図4のロビーシーンに登場するプレイヤキャラクタPCの3D画像が生成される。
【0050】
前述したように、ロビーシーンは、実質的なゲームが開始される前のイントロダクション(導入)を描画するため、多種多様なモデルをたくさん表示する必要がある。そこで、異なるパーツモデルのプレイヤキャラクタが同じテクスチャを用いた場合には、そのテクスチャのデータを共有できるように各パーツに各テクスチャを直接マッピングする。これにより、各パーツの各テクスチャを複数のモデルが共有でき、この結果、メモリの節約を図ることができる。特に、細かいリアルな3次元画像の描画が求められる近年においては、画像処理のために必要なメモリ容量は非常に大きい。また、各プレイヤが自分の分身であるプレイヤキャラクタを個性的に表現したいと欲しており、これに答えるためにパーツモデルの数や各モデルの各パーツに対応するテクスチャを豊富に揃える必要がある。このため、画像処理のために必要なメモリ容量は増える一方である。このようなゲーム環境においてメモリの節約は大きな効果を奏する。
【0051】
再び図5に戻って、ステップ520から各処理を説明する。判定部180は、ステップ520にてプレイヤキャラクタPCが特定のノンプレイヤキャラクタNPCに話しかけたかどうかを判定する。特定のノンプレイヤキャラクタNPCに話しかける動作は、実質的なゲームの開始を示していて、話しかけられたらステップ525に進み、合成部185はテクスチャの座標を書き換える。
【0052】
具体的には、図6に示したように、合成テクスチャを生成するために、パーツ毎に予め特定された座標に各パーツに対応するテクスチャの座標を書き換える。たとえば、頭部、冠(およびマント)、髪型、胴体、足、腕の6つのパーツに予め割り当てられた座標がT(0,0)、T(50,0)、T(50,50)、T(0,100)、T(0,300)、T(30,300)とすると、図6のように各テクスチャの座標を各パーツに予め割り当てられた上記座標に書き換える。ついで、ステップ530にて各テクスチャを予め割り当てられた座標にて合成する。合成テクスチャGは、VRAM上に生成して保存してもよい。これにより、図6に示した1枚の合成テクスチャGが生成される。
【0053】
つぎに、合成部185は、ステップ535にてパーツモデルに1枚の合成テクスチャGをマッピングし、ステップ595にて本処理を終了する。これにより、実質的なアクションゲームに入る前の前処理(ゲームのイントロダクション部分)が終了する。
【0054】
これによれば、図8に示したように、モデルに1枚の合成テクスチャGをマッピングしただけでプレイヤキャラクタPCの3次元画像を生成することができる。すなわち、描画処理時には、分散された各パーツのデータ(テクスチャ)にアクセスしなくても、ひとつにまとまったデータ(合成テクスチャG)に一度だけアクセスすればプレイヤキャラクタPCの3次元画像を生成できるので、画像処理の高速化を図ることができる。アクションゲームにおいては、アクション処理の高速化が高く要求される。よって、アクション処理時には、このような合成テクスチャによるプレイヤキャラクタPCの画像生成によって画像処理の高速化を図る意義は大きい。実際には、前処理にて合成テクスチャを予め生成しておき、次に説明する主処理にて合成テクスチャを用いた画像生成処理が実行される。なお、図7及び図8によってもわかるように、パーツ毎のテクスチャをモデルに貼り付けても、合成テクスチャをモデルに貼り付けても生成されたプレイヤキャラクタPCの画像は全く同じである。
【0055】
(主処理)
前処理が終了すると、図9の主処理がステップ900から実行され、実質的なアクションゲームが開始される。すなわち、アクション処理部165は、ステップ905にてプレイヤのコントローラ操作に応じてプレイヤキャラクタPCの位置や動作を演算し、画面上のプレイヤキャラクタPCを制御する。主処理中、画像生成部170は、1枚の合成テクスチャGをパーツモデルにマッピングすることによりプレイヤキャラクタPCの画像を生成する。このため、パーツモデルの各パーツに6枚のテクスチャをそれぞれマッピングすることによりプレイヤキャラクタPCの画像を生成していたロビーシーンに比べて、戦闘シーンでは、プレイヤキャラクタPCを高速に描画することができる。
【0056】
つぎに、判定部180は、ステップ910に進んでゲームが終了したか否かを判定し、終了していないと判定された場合にはステップ905のアクション処理に戻り、終了したと判定された場合にはステップ995に進んで本処理を終了する。なお、判定部180は、デバイスロストが生じたと判定された場合、図5のステップ525〜535のテクスチャの合成処理を再度実行し、合成テクスチャを生成し直す処理を実行してもよい。
【0057】
(検証)
発明者は、解像度1280×10244、テクスチャ高品質の条件下で、6枚のテクスチャを合成した合成テクスチャをマッピングして画像を生成した場合(合成後)と6枚のテクスチャを各パーツにそれぞれマッピングして画像を生成した場合(合成前)との処理速度の違いを検証した。このとき、同じモデルを複数回描画してテクスチャ合成前と合成後の処理速度を比較した。その結果を表1に示す。
【0058】
【表1】

【0059】
ここで、速度とは、1秒間にキャラクタ(モデル)を何回描画できたかを示す。たとえば、表示回数が0回は、該当モデルが全く表示されていない時、約1/61秒で処理が完了したことを示す。50回モデルを表示した場合について考察すると、合成前に6枚のテクスチャを参照した場合、画像生成処理から生成された画像の描画までに1/35秒かかっていたが、1枚の合成テクスチャを参照した場合、1/37秒に短縮されたことがわかる。
【0060】
100回、150回、200回モデルを表示した場合も同様に、合成前に6枚のテクスチャを参照した場合より1枚の合成テクスチャを参照した場合のほうがいずれも画像生成から描写までの処理時間が短縮されていたことを確認することができた。
【0061】
たとえば、ロビーシーンのプレイヤキャラクタPCを描いている途中の足モデルの描画について実際には処理にどの程度の負荷が生じているかについて説明する。足モデルを描画し始める際、まず、テクスチャT53(テクスチャのサイズを横20、縦100とする)をメモリからVRAMに転送する。足とは違うパーツの処理をする時は、別のテクスチャの転送が起きる可能性がある。
【0062】
ひとつの頂点には、テクスチャのどの部分をマッピングするかを指定する2次元座標(u,v)があり、足テクスチャの場合、uは0から20、vは0から100の範囲の数値が書かれている。
【0063】
一方、戦闘シーンの場合には、図5のステップ525の「テクスチャ座標の書き換え」で作成した合成テクスチャG(サイズを横100、縦400とする)を使用するが、この時、足テクスチャは合成テクスチャGのuv座標でいうとuが30から50、vが300から400の範囲に配置されているので、ステップ525の処理で、足パーツモデルデータが持つuv座標もずらしておく。具体的にはuの座標が0から20だったのを30から50に変更し、vの座標も0から100だったのを300から400に変更する。これにより描画処理の際、足モデルから胴体モデルの処理に切り替わっても、テクスチャを切り替える必要はなく、VRAMへの転送も起きない。
【0064】
以上に説明したように、本実施形態では、ロビーシーンにおけるプレイヤキャラクタPCの描画は、パーツモデルの各パーツに各テクスチャをそれぞれマッピングする方法を用いることにより、プレイヤキャラクタPCが大勢登場するロビーシーンにおいて各プレイヤキャラクタPCが多数のテクスチャのソースデータを共有できる仕組みとし、これにより、メモリを節約することができる。一方、戦闘シーンにおけるプレイヤキャラクタPCの描画は、予め作られたキャッシュメモリ115aの合成テクスチャを1枚だけマッピングする方法を用いる。これにより、プレイヤの操作に応じて即座にアクションが描画されることが求められる戦闘シーンにおいて各プレイヤキャラクタPCの描画の高速化を達成することができる。
【0065】
なお、ノンプレイヤキャラクタNPCは、一体化モデルに1枚のテクスチャをマッピングして描画する。
【0066】
(第2実施形態)
第2実施形態では、テクスチャのリソースデータおよびモデルのリソースデータに変更を加えることなく、データをそのままモデルにマッピングすることができる点で、テクスチャのリソースデータの座標を書き換えてからモデルにマッピングする第1実施形態と異なる。よって、この相異点を中心に、図10を参照しながら第2実施形態について説明する。
【0067】
本実施形態にかかるテクスチャデータベース110bには、パーツモデルの6パーツにそれぞれ対応したn個のテクスチャが、各テクスチャを合成したときに各テクスチャが置かれるパーツ毎に割り当てられた特定の座標に記憶されている。特定の座標とは、ここでは、頭部のn個のテクスチャの場合がT(0,0)、冠・マントのn個のテクスチャの場合がT(50,0)、髪型のn個のテクスチャの場合がT(50,50)、胴体のn個のテクスチャの場合がT(0,100)、足のn個のテクスチャの場合がT(0,300)、腕のn個のテクスチャの特定の場合がT(30,300)である。このように各テクスチャをパーツ毎に特定されたユニークな座標(アドレス)に予め記憶しておくことにより、選択された各パーツのテクスチャを合成するときに各テクスチャの座標の書き換えを不要とすることができる。
【0068】
具体的には、本実施形態では、図5のフローチャートのステップ525を不要とし、選択したテクスチャを直ちに合成して合成テクスチャGを生成することができる。その他の動作は第1実施形態と同じである。
【0069】
以上に説明したように、本実施形態によれば、テクスチャデータベース110bに保存する各テクスチャの配置(アドレス、座標)を、各テクスチャを合成したときに各パーツに割り当てられる位置に限定したことにより、テクスチャの合成時にもテクスチャのリソースデータおよびモデルのリソースデータの変更を不要とし、これにより、画像処理のより一層の効率化を図ることができる。
【0070】
(システムの変形例)
以上に説明した画像生成処理は、ネットワークオンラインゲームに利用すると一層の効果を得ることができる。ネットワークオンラインゲームが実行可能なネットワークゲームシステム10を図11に示す。
【0071】
ネットワークゲームシステム10では、複数のゲーム機器100とサーバ機器300とが、ネットワーク400を介して通信可能に接続されている。前述したように、ゲーム機器100には、パーソナルコンピュータ、家庭用ゲーム機器、携帯用ゲーム機器などが含まれる。
【0072】
サーバ機器300は、ネットワークゲームの進行を管理する。具体的には、サーバ機器300は、主にチート対策、すなわち、不正行為の有無の判定とその排除や送受信データの整合性チェックを行う。また、サーバ機器300は、各ゲーム機器100から種々のデータを受信したり、他のゲーム機器100に種々のデータを一斉に送信する。たとえば、サーバ機器300は、各ゲーム機器100にて選択されたパーツモデルの識別情報および各パーツに対応したテクスチャの識別情報を管理する。
【0073】
ゲーム機器100は、プレイヤが選択したプレイヤキャラクタPCを使ってゲームに参加する。すなわち、ゲーム機器100は、プレイヤがコントローラ100bを操作することによりゲーム機器100に入力された情報をサーバ機器300に送信し、サーバ機器300からの応答を得ることにより、ネットワークゲーム上で自分の分身であるプレイヤキャラクタPCを動作させる。
【0074】
集団戦闘ネットワークゲームでは、たとえば、8台のゲーム機器100が4台ずつ敵味方に分かれて参加する。参加する8人のプレイヤは、自分が操作するプレイヤキャラクタPCのモデルと各プレイヤキャラクタPCを護衛する副将のモデルを一人ずつ選択することができる。
【0075】
よって、集団戦闘ネットワークゲームでは、最大、8体のプレイヤキャラクタPCおよび8体のプレイヤキャラクタPCをそれぞれ護衛する副将のキャラクタの計16体が一度に描画される場合がある。このとき、モデルを構成するパーツ毎にテクスチャをマッピングして16体のキャラクタを描画した場合、最大、96(=6パーツ×16体)回のマッピングが必要になる。
【0076】
ネットワークゲームの場合に必要な通信時間も考慮すると、戦闘シーンでは、臨場感あふれるゲームをユーザに提供するために特に描画速度が重視される。このような条件から、戦闘開始前に各パーツのデータを合成してテクスチャのデータを一つにまとめる前処理を行い、戦闘シーンの描画処理時には、ひとつにまとまった合成テクスチャのデータにアクセスして合成テクスチャをパーツモデルにマッピングすることによってプレイヤキャラクタの画像を生成することができる。これにより、分散された各パーツのテクスチャのソースデータにアクセスしてモデルの各パーツにマッピングする必要がなくなるため、描画処理の効率化を図ることができる。
【0077】
なお、従来に比べて合成テクスチャを保存するメモリ領域が必要になるが、戦闘シーンは、一般的にロビーシーンよりも登場するパーツモデル数が少ないため、すべてのモデルに対して合成テクスチャを保存する必要がない。このこととから、メモリに配置するデータの冗長性を許容することができる。
【0078】
以上では、テクスチャの最適化のみを実行したが、パーツモデルを集めて一体型モデルと同じデータ構造に再構築する最適化を行うことにより、さらに画像処理の高速化を図ることができる。
【0079】
上記実施形態において、各部の動作はお互いに関連しており、互いの関連を考慮しながら、一連の動作として置き換えることができる。そして、このように置き換えることにより、画像生成方法の発明の実施形態を画像生成方法を実行するゲーム機器の実施形態とすることができる。
【0080】
また、上記各部の動作を、各部の処理と置き換えることにより、プログラムの実施形態とすることができる。また、プログラムを、プログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることにより、プログラムの実施形態をプログラムに記録したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。
【0081】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0082】
たとえば、上記各実施形態では、6枚のパーツ毎のテクスチャから1枚の合成テクスチャを生成した。しかしながら、テクスチャの枚数および合成テクスチャの枚数はこれに限られず、たとえば、6枚のパーツ毎のテクスチャから選択された3枚のテクスチャからなる合成テクスチャを生成してもよい。
【0083】
また、たとえば、上記各実施形態にかかる集団戦闘ゲームは、ネットワークゲームシステムの一例であり、ネットワークゲームの他の例としては、自分のプレイヤキャラクタを操作して仕事等をすることによりプレイヤキャラクタのレベルや能力等のパラメータを上昇させ、ネットワークを介して接続された他のゲーム機器を操作する他のプレイヤキャラクタと立身出世を競ったり、或いは、ネットワークを介して他のプレイヤキャラクタとチャットをしてコミュニケーションを楽しむゲームが挙げられる。
【図面の簡単な説明】
【0084】
【図1】本発明の第1および第2実施形態にかかるゲーム機器を示した図である。
【図2】各実施形態にかかるゲーム機器の内部構成図である。
【図3】各実施形態にかかるゲーム機器の機能構成図である。
【図4】ロビーシーンの一例を示した図である。
【図5】第1実施形態にかかる前処理を示したフローチャートである。
【図6】第1実施形態にかかるテクスチャの合成処理を説明するための図である。
【図7】パーツモデルに各テクスチャをマッピングしてキャラクタの画像を生成する図である。
【図8】パーツモデルに合成テクスチャをマッピングしてキャラクタの画像を生成する図である。
【図9】各実施形態にかかる主処理を示したフローチャートである。
【図10】第2実施形態にかかるテクスチャの合成処理を説明するための図である。
【図11】ネットワークゲームシステムの概略図である。
【符号の説明】
【0085】
10 ネットワークゲームシステム
100 ゲーム機器
100a ゲーム機器本体
100b コントローラ
110a モデルデータベース
110b テクスチャデータベース
115 CPU
115a キャッシュメモリ
150 媒体読取部
155 入力部
160 記憶部
165 アクション処理部
170 画像生成部
175 音響再生部
180 判定部
185 合成部
200 CD−ROM
205 グラフィックカード
300 サーバ機器
PC プレイヤキャラクタ
NPC ノンプレイヤキャラクタ
G 合成テクスチャ
D ディスプレイ
S スピーカ

【特許請求の範囲】
【請求項1】
プレイヤの操作により入力された情報に応じて動作するプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するゲームをプレイヤに提供するゲーム機器であって、
前記プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと、
前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースと、
プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する合成部と、を備えるゲーム機器。
【請求項2】
前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングして前記プレイヤキャラクタの画像を生成する画像生成部をさらに備える請求項1に記載されたゲーム機器。
【請求項3】
前記画像生成部は、
ゲームが実質的に開始される前のイントロダクションの場面で前記プレイヤキャラクタを描画するために、前記選択されたパーツモデルに前記選択されたパーツ毎のテクスチャをそれぞれマッピングして前記プレイヤキャラクタの画像を生成し、ゲームが実質的に開始される場面で前記プレイヤキャラクタを描画するために、前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングして同プレイヤキャラクタの画像を生成するように画像の生成方法を切り替える請求項2に記載されたゲーム機器。
【請求項4】
前記テクスチャデータベースには、パーツ毎に割り当てられた特定のアドレスに各パーツのテクスチャが記憶され、
前記合成部は、前記選択されたテクスチャのアドレスをパーツ毎に書き換えることなく、前記選択された複数のテクスチャを各パーツに対応させて合成する請求項3に記載されたゲーム機器。
【請求項5】
前記テクスチャデータベースには、任意のアドレスに各パーツのテクスチャが記憶され、
前記合成部は、前記選択されたテクスチャのアドレスをパーツ毎に割り当てられた特定のアドレスに書き換えることにより、前記特定のアドレスに基づき前記選択された複数のテクスチャを各パーツに対応させて合成する請求項3に記載されたゲーム機器。
【請求項6】
前記合成部は、
前記選択された各パーツのテクスチャの一部を合成し、
前記画像生成部は、
前記選択されたパーツモデルの一部のパーツに前記生成された合成テクスチャを当てはめることにより、前記選択されたプレイヤキャラクタの画像の一部を変更する請求項2〜5のいずれかに記載されたゲーム機器。
【請求項7】
前記生成された合成テクスチャは、キャッシュメモリに記憶される請求項1〜6のいずれかに記載されたゲーム機器。
【請求項8】
前記選択されたパーツ毎のテクスチャは、キャッシュメモリに記憶される請求項1〜7のいずれかに記載されたゲーム機器。
【請求項9】
前記モデルデータベースに記憶されているパーツモデルは3Dポリゴンモデルである請求項1〜8のいずれかに記載されたゲーム機器。
【請求項10】
サーバ機器を介してネットワークに接続された複数のゲーム機器を各ゲーム機器のプレイヤがそれぞれ操作することにより入力された情報に応じて動作する複数のプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するネットワークゲームをプレイヤに提供するゲーム機器であって、
前記サーバ機器により管理された、プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースとを用いて、
プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する合成部と、
前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成する画像生成部と、を備えるゲーム機器。
【請求項11】
ネットワークを介してサーバ機器に接続された単一または複数のゲーム機器を各プレイヤが操作することにより入力された情報に応じて動作する複数のプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するネットワークゲームシステムであって、
前記サーバ機器は、
プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと、前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースと、を管理し、
各ゲーム機器は、
プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成する合成部と、
前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成する画像生成部と、を備えるネットワークゲームシステム。
【請求項12】
前記ネットワークゲームシステムは、
前記複数のゲーム機器により管理される複数のプレイヤキャラクタと前記複数のプレイヤキャラクタを護衛するノンプレイヤキャラクタとからなる複数のキャラクタが敵味方の集団を形成して互いに戦闘するゲームを提供するシステムである請求項11に記載されたネットワークゲームシステム。
【請求項13】
プレイヤの操作により入力された情報に応じて動作するプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するゲームに用いられる画像生成方法であって、
プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースとを用いて、
プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成し、
ゲームが実質的に開始される前のイントロダクションの場面では、前記プレイヤキャラクタを描画するために前記選択されたパーツモデルに前記選択されたパーツ毎のテクスチャをそれぞれマッピングして前記プレイヤキャラクタの画像を生成するように画像の生成方法を切り替える画像生成方法。
【請求項14】
プレイヤの操作により入力された情報に応じて動作するプレイヤキャラクタと、自動的に動作する複数のノンプレイヤキャラクタと、を含んだ複数のキャラクタが登場するゲームをプレイヤに提供するためにゲーム機器のCPUにより実行される画像生成プログラムであって、
プレイヤキャラクタを描画するためのパーツモデルを複数記憶したモデルデータベースと前記モデルデータベースに記憶された複数のパーツモデルの各パーツに対応付けて各パーツの外観を表すテクスチャを複数記憶したテクスチャデータベースとを用いて、
プレイヤの操作により前記モデルデータベースから選択されたパーツモデルの各パーツに対応して、プレイヤの操作により前記テクスチャデータベースからそれぞれ選択されたパーツ毎のテクスチャを合成して合成テクスチャを生成するモジュールと、
前記選択されたパーツモデルに前記生成された合成テクスチャをマッピングしてプレイヤキャラクタの画像を生成するモジュールと、を有する画像生成プログラム。

【図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


【公開番号】特開2009−45091(P2009−45091A)
【公開日】平成21年3月5日(2009.3.5)
【国際特許分類】
【出願番号】特願2007−211055(P2007−211055)
【出願日】平成19年8月13日(2007.8.13)
【出願人】(595000427)株式会社光栄 (12)
【Fターム(参考)】