(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、図面を参照しながら実施形態の説明が述べられる。
【0011】
実施形態に係る画像処理プログラムは、典型的には3Dゲームを対象とするゲームプログラムに包含される。ゲームプログラムは、例えば
図1に示されるゲーム機100によって実行される。ゲーム機100は、ゲームプログラムを実行可能なコンピュータである。具体的には、ゲーム機100は、コンソールゲーム機であってもよいし、PC(Personal Computer)であってもよいし、アーケードゲーム機であってもよい。ゲームプログラムおよび当該ゲームプログラムの実行に必要とされるゲームデータは、ディスクメディア10などの記録媒体に記録されていてもよいし、ゲーム機100にインストールされていてもよい。
【0012】
ゲームデータは、オブジェクトデータ(例えば、キャラクタデータ、アイテムデータ、背景データおよびビジュアルエフェクトデータ)、音声データ(例えば、BGM(Background Music)データ、SE(Sound Effect)データおよびボイスデータ)、ならびに、ゲームプログラムの実行時に参照される各種テーブルを含む。
【0013】
ビジュアルエフェクトデータは、オブジェクトデータの一部であって、例えば、炎、煙、光、水飛沫、降雨、降雪、雷、草地、毛髪、攻撃などのビジュアルエフェクトを仮想3次元空間に発生させることでゲーム画面を視覚的に盛り上げるために用いられる。
【0014】
なお、実施形態において、オブジェクトは、予め定められた第1の種別のオブジェクトとそれ以外の第2の種別のオブジェクトとに便宜的に区別される。第1の種別のオブジェクトは、ゲームの進行に影響を及ぼすオブジェクト(例えばキャラクタまたはアイテムに付随するオブジェクト)として定義されてもよい。第2の種別のオブジェクトは、パーティクルエフェクトに相当するものとそうでないものとでさらに便宜的に区別される。
【0015】
ディスクメディア10は、例えばBD(Blu−ray(登録商標) Disc)−ROM(Read Only Memory)、DVD(Digital Versatile Disc)−ROM、CD(Compact Disc)−ROMなどの光学ディスクメディアであるが、これらに限定されない。
【0016】
ゲーム機100が上記ゲームプログラムを実行し、プレイヤがコントローラ30を操作することによって、ゲームは進行する。コントローラ30は、プレイヤがゲーム機100に様々な指示を与えることができるように、様々な入力手段(例えば、ボタンキー、ジョイスティック、センサ)を備える。例えば、プレイヤは、コントローラ30を操作することによって、プレイヤキャラクタに所望の行動をとらせたり、仮想カメラによる撮影位置または撮影方向を移動させたり、種々のメニュー項目の選択、決定またはキャンセルなどを行ったり、当該コントローラ30の電源のON/OFFを切り替えたりすることができる。さらに、コントローラ30は、触覚フィードバックのためにバイブレータを備えることもある。ゲーム機100およびコントローラ30は、例えば専用ケーブルなどの有線インターフェースで接続されていてもよいし、短距離無線通信(例えば、Bluetooth(登録商標))などを用いて無線接続されてもよい。なお、ゲーム機100がポータブルタイプである場合には、コントローラ30がゲーム機100に組み込まれていることもある。
【0017】
ゲーム機100は、プレイヤからの操作に従って、または、自動的に、プレイヤデータ(例えば、ゲームの進行データおよび環境設定データ)を記録/再生できる。プレイヤデータは、メモリカード20などのリムーバブルメディアに保存されていてもよいし、ゲーム機100内部の補助記憶装置(例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive))に保存されていてもよい。メモリカード20は、例えばフラッシュメモリなどの不揮発性記録媒体である。
【0018】
ゲーム機100は、ゲームの進行に応じたゲーム画面を所定のフレームレート(例えば60fps)で作成し、当該ゲーム画面を表すビデオ信号をディスプレイ装置40へと出力する。ディスプレイ装置40は、外部入力端子を介してゲーム機100からビデオ信号を受け取り、ゲーム画面を表示する。ディスプレイ装置40は、典型的にはテレビジョン受像機であるが、これに限定されない。ゲーム機100およびディスプレイ装置40は、専用ケーブルまたはHDMI(登録商標)(High Definition Multimedia Interface)などの有線インターフェースで接続されてもよいし、無線接続されてもよい。ディスプレイ装置40は、音声出力のためのスピーカ装置と一体化されていてもよい。なお、ゲーム機100がポータブルタイプである場合には、ディスプレイ装置40がゲーム機100に組み込まれていることもある。
【0019】
さらに、ゲーム機100は、ネットワークアダプタ50を介してネットワーク接続してもよい。ゲーム機100がネットワーク接続すると、プレイヤは、上記ネットワークに接続するゲームサーバからデータまたはプログラムをダウンロードしたり、上記ネットワークに接続する他のゲーム機のプレイヤとメッセージをやり取りしたりオンラインプレイを楽しんだりすることができる。ゲーム機100およびネットワークアダプタ50は、イーサネット(登録商標)などの有線インターフェースで接続されてもよいし、無線LAN(Local Area Network)を用いて接続されてもよい。
【0020】
ゲーム機100は、
図2に例示されるように、制御部110と、描画処理部120と、音声処理部130と、通信処理部140と、I/O(input/output)インターフェース150と、ディスクドライブ160と、メモリカードリーダライタ170と、コントローラインターフェース180とを備える。ゲーム機100に含まれる要素は、バスを介して互いに接続されている。
【0021】
制御部110は、ゲーム機100の動作を制御するマイクロコンピュータを備える。具体的には、制御部110は、CPU(Central Processing Unit)111、ROM112およびRAM(Random Access Memory)113を含む。
【0022】
CPU111は、前述のゲームプログラムを含む種々のプログラムを実行することによってゲーム機100に所望の動作を行わせる。具体的には、コントローラ(
図2には示されない)がプレイヤの操作に応じた操作信号を生成し、CPU111はバス、I/Oインターフェース150およびコントローラインターフェース180を介して操作信号を受け取る。CPU111は、ゲームプログラムおよび操作信号に従ってゲームを進行させ、ゲームの進行状態に応じたゲーム画面をディスプレイ装置に表示させたり音声をスピーカ装置から出力させたりする。
【0023】
ROM112には、ゲーム機100のブートプログラムおよびOS(Operating System)プログラムなどの基本プログラムが保存されている。例えば、ROM112にはディスクメディアからゲームプログラムおよびゲームデータを読み出すための基本プログラムが保存されており、CPU111はゲームを開始する時には当該基本プログラムに従ってゲームプログラムおよびゲームデータをディスクドライブ160に装着されたディスクメディアから読み出してRAM112へと転送する。
【0024】
RAM113は、CPU111がプログラムを実行する時の主記憶装置およびワークエリアとして機能する。具体的には、RAM113には、CPU111によって実行されるプログラム(例えば、ゲームプログラム)および当該プログラムの実行に必要とされるデータ(例えば、ゲームデータ)が一時的に保存される。
【0025】
CPU111は、所定のフレームレートに従って、描画指示を描画処理部120に与えるとともに、後述される描画処理に必要とされる種々のデータ(RAM112に記憶されているオブジェクトデータ、ならびに、各オブジェクトの位置データおよびコントローラからの操作信号)を描画処理部120へと供給する。描画処理部120は、描画指示を与えられると、仮想カメラから見える画像の描画処理を供給されたデータに基づいて行うことによって画像データを生成する。描画処理部120は、図示されないVRAM(Video RAM)を備えており、生成した画像データを当該VRAMへと書き込む。この画像データは、1コマ(1フレーム)分のゲーム画面に相当する。描画処理部120は、画像データに所定の同期信号を付加することによってビデオ信号を生成する。描画処理部120は、バスおよびI/Oインターフェース150を介してディスプレイ装置(
図2には示されない)へとビデオ信号を出力する。
【0026】
音声処理部130は、CPU111からの音声出力指示に従って、適切な音声データをRAM112から読み出して、当該音声データに所定の加工処理およびD/A変換を施すことにより音声信号を生成する。音声処理部130は、バスおよびI/Oインターフェース150を介してスピーカ装置(
図2には示されない)へと音声信号を出力する。
【0027】
通信処理部140は、バス、I/Oインターフェース150およびネットワークアダプタ(
図2には示されない)を介してネットワークに接続可能である。通信処理部140は、ネットワークとゲーム機100との間の情報のやり取りを制御する。例えば、通信処理部140は、ネットワークからのデータまたはプログラムのダウンロードを制御する。さらに、通信処理部140は、オンラインプレイ中に、コントローラからの操作信号をネットワークへ送信することもあるし、他のゲーム機に接続するコントローラからの操作信号をネットワークを介して受信することもある。
【0028】
I/Oインターフェース150は、ゲーム機100と外部デバイスとの間のデータの入出力を制御する。外部デバイスは、例えば、ディスプレイ装置、スピーカ装置、ネットワークアダプタ、ディスクメディア、メモリカード、コントローラなどである。具体的には、I/Oインターフェース150は、ディスクドライブ160からのゲームプログラムおよびゲームデータ、メモリカードリーダライタ170からのプレイヤデータ、コントローラインターフェース180からの操作信号を制御部110へと伝送したり、ネットワークアダプタからの受信データを通信処理部140に伝送したりする。他方、I/Oインターフェース150は、描画処理部120からのビデオ信号をディスプレイ装置へと伝送したり、音声処理部130からの音声信号をスピーカ装置へと伝送したり、通信処理部140からの送信データをネットワークアダプタに伝送したりする。
【0029】
ディスクドライブ160は、ディスクメディアの装着時に、CPU111からのローディング指示(例えば、ローディングされるゲームプログラムおよびゲームデータを指定した読み出し指示)に従ってディスクメディア駆動し、当該ディスクメディアに保存されているプログラムおよびデータを読み出す。読み出されたプログラムおよびデータは、バスおよびI/Oインターフェース150を介してRAM112へと転送される。
【0030】
メモリカードリーダライタ170は、メモリカードの装着時に、CPU111からのセーブ指示に従って、RAM112から読み出されたプレイヤデータをメモリカードに書き込む。他方、メモリカードリーダライタ170は、メモリカードの装着時に、CPU111からのロード指示に従って、当該メモリカードから指定されたプレイヤデータを読み出す。読み出されたプレイヤデータはRAM112へと転送される。CPU111は、ロードされたプレイヤデータを利用することによって、前回セーブ時のゲームの進行状態を再現できる。
【0031】
コントローラインターフェース180は、コントローラからの操作信号を受信し、当該操作信号をバスおよびI/Oインターフェース150を介して制御部110へと転送する。他方、コントローラインターフェース180は、CPU111からの指示に従って、コントローラに備えられるバイブレータを振動させるためのコントローラ制御信号を当該コントローラに送信する。
【0032】
実施形態において、描画処理部120は、描画対象のオブジェクトに対して
図3に例示される画像処理を行うことによって、ゲーム画面の視覚的印象を損なうことなく描画処理の負荷を軽減したり、ゲームの進行に影響を及ぼさないオブジェクトによってプレイヤの集中が妨げられる事態を防止したりする。なお、描画処理部120は、仮想3次元空間に配置されるオブジェクト数が規定値以上の場合(すなわち、描画処理の負荷が高い場合)に限って
図3の画像処理を行ってもよい。
【0033】
描画処理部120は、描画対象のオブジェクトが、予め定められた第1の種別のオブジェクトに相当するか否かを判定する(ステップS201)。描画対象のオブジェクトが第1の種別のオブジェクトに相当するならばステップS208に進み、そうでなければ
図3の画像処理はステップS202に進む。
【0034】
仮に、第1の種別のオブジェクトに対して後述される処理を行うとすると、アイテムを見落とす、敵キャラクタからの攻撃に気づかない、などのプレイヤにとって不利な事態を招くおそれがある。故に、第1の種別のオブジェクトは、通常の描画処理を施されることが好ましい。なお、描画対象のオブジェクトが第1の種別のオブジェクトに相当しないことが明らかである場合には、ステップS201の判定処理は省略されてもよい。
【0035】
画面端領域は、一般化すれば、ゲーム画面全体のうち画面中心を囲む所定の閉曲線の外側にある領域と定義することができる。この閉曲線は、固定であってもよいし、プレイヤからの操作に従って変更されてもよいし、例えばゲーム画面の明暗に応じて自動的に変更されてもよい。この閉曲線は、
図4に示されるように矩形を形成してもよいし、
図5に示されるように円形を形成してもよいし、
図6に示されるように楕円形を形成してもよいし、他の任意の図形を形成してもよい。但し、閉曲線が形成する図形が、多角形、楕円形または円形である場合には、そうでない場合に比べて容易にステップS202の判定処理を行うことができる。閉曲線が複雑な図形を形成する場合には、描画処理部120は描画対象のオブジェクトの表示位置(x,y)が判定結果と関連付けられる判定テーブルを利用してもよい。
【0036】
図4に例示される画面端領域は画面端からの距離が一定値(w)以下である画面内位置の集合である。故に、描画処理部120は、例えば、描画対象のオブジェクトの表示位置(x,y)のx座標およびy座標をx方向の上下限値(x
max−wおよびx
min(=0)+w)およびy方向の上下限値(y
max−wおよびy
min(=0)+w)とそれぞれ比較することによって、当該オブジェクトが画面端領域に配置されるか否かを判定できる。
【0037】
図5に例示される画面端領域は画面中心からの距離が一定値(r)以上である画面内位置の集合である。故に、描画処理部120は、例えば、描画対象のオブジェクトの表示位置(x,y)の画面中心(x
0,y
0)に対するx方向オフセット(x−x
0)およびy方向オフセット(y−y
0)の二乗和((x−x
0)
2+(y−y
0)
2)を上記一定値の二乗値(r
2)と比較することによって、当該オブジェクトが画面端領域に配置されるか否かを判定できる。
【0038】
ステップS203において、描画処理部120は、描画対象のオブジェクトが他のオブジェクトによって遮蔽されているか否かを判定する。オブジェクトが他のオブジェクトに遮蔽されているならば
図3の画像処理はステップS204へと進み、そうでなければ(すなわち、オブジェクトが完全に露出しているならば)
図3の画像処理はステップS208へと進む。描画処理部120は、オブジェクトの遮蔽率(カバレッジ率)を取得できる場合には、描画対象のオブジェクトの遮蔽率を用いて当該オブジェクトが他のオブジェクトに遮蔽されているか否かを判定できる。
【0039】
なお、ステップS202およびステップS203のうちいずれか一方が省略されてもよい。また、ステップS201、ステップS202およびステップS203は、
図3に例示される順序と異なる順序で実行されてもよい。
【0040】
ステップS204において、描画処理部120は、描画対象のオブジェクトがパーティクルエフェクトに相当するか否かを判定する。オブジェクトがパーティクルエフェクトに相当するならば
図3の画像処理はステップS205へと進み、そうでなければ
図3の画像処理はステップS206へと進む。パーティクルエフェクトとは、多数のパーティクルと呼ばれる微小な粒子オブジェクトをパーティクルエミッタより発生させることで、ある種の曖昧さを持つ事物を再現するオブジェクトである。なお、描画対象のオブジェクトがパーティクルエフェクトに相当すること、または、しないことが明らかである場合には、ステップS204の判定処理は省略されてもよい。同様に、ステップS205の処理が省略される場合にもステップS204の判定処理は省略されてもよい。
【0041】
ステップS205において、描画処理部120は、描画対象のオブジェクト(これは、パーティクルエフェクトに相当する)のパーティクル数を削減する。すなわち、ゲームの進行に影響を及ぼさない第2の種別のオブジェクトが画面端または物陰に配置される場合には、描画処理部120は、パーティクル数を削減することで当該オブジェクトに対する描画処理の負荷を軽減することが可能である。ステップS205の後に、
図3の画像処理はステップS206へと進む。
【0042】
ステップS206において、描画処理部120は、描画対象のオブジェクトの透過度を向上させる。すなわち、ゲームの進行に影響を及ぼさない第2の種別のオブジェクトが画面端または物陰に配置される場合には、描画処理部120は、当該オブジェクトを半透明にして目立たなくさせることで、プレイヤはゲーム進行に集中することができる。なお、オブジェクトが他のオブジェクトに遮蔽される場合には、描画処理部120は当該他のオブジェクトによる当該オブジェクトの遮蔽率が高いほど透過度を大きく向上させてもよい。このように透過度を段階的に変更することで、例えば仮想カメラの移動に伴ってオブジェクトの僅かな部分が他のオブジェクトに遮蔽された場合に当該オブジェクトが突然半透明になるなどの極端な視覚的変化がプレイヤに違和感を与える事態を防止することができる。
【0043】
さらに、描画処理部120は、描画対象のオブジェクトの解像度を低減させる(ステップS207)。すなわち、ゲームの進行に影響を及ぼさない第2の種別のオブジェクトが画面端または物陰に配置される場合には、描画処理部120は、当該オブジェクトの解像度を低減させることで当該オブジェクトに対する描画処理の負荷を軽減することが可能である。具体的には、描画処理部120は、描画対象のオブジェクトの所定の倍率(1倍未満)の縮小画像を一旦描画し、当該縮小画像を上記所定の倍率の逆数倍に拡大することによって、通常よりも低い解像度で描画されたオブジェクトを得られる。ステップS207の後に
図3の画像処理はステップS208へと進む。
【0044】
なお、ステップS205、ステップS206およびステップS207の処理のうち一部が省略されてもよい。さらに、ステップS205、ステップS206およびステップS207は、
図3に例示される順序と異なる順序で実行されてもよい。
【0045】
ステップS208において、描画処理部120は描画対象のオブジェクトを描画し、
図3の画像処理は終了する。
【0046】
以上説明したように、実施形態に係る画像処理プログラムは、ゲームの進行に影響を及ぼさないオブジェクトが画面端または物陰に配置される場合には、当該オブジェクトに対して、解像度を低下させる処理、透過度を向上させる処理およびパーティクル数を削減する処理のうち少なくとも1つをコンピュータに行わせる。故に、この画像処理プログラムによれば、ゲームの進行に影響を及ぼさないオブジェクトが画面端または物陰に配置される場合には、当該オブジェクトが適切に描画されるので、当該オブジェクトの描画処理の負荷の軽減または当該オブジェクトによるプレイヤの集中の妨げの防止が可能となる。
【0047】
上記各実施形態の処理の少なくとも一部は、汎用のコンピュータを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD、BD等)、光磁気ディスク(MO等)、半導体メモリなどである。記憶媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
【0048】
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。