(57)【要約】【課題】半透明オブジェクトを含む画像を効率的に描画する技術を提供する。【解決手段】電子ゲームのキャラクタ毎にオブジェクトが対応付けられており、当該オブジェクトに不透明オブジェクトが含まれている場合、オブジェクトの描画処理を行う際、当該不透明オブジェクトが対応付けられているキャラクタに対応付けられている半透明オブジェクトよりも当該不透明オブジェクトを前面のレイヤーに常に割り当てて描画処理を行い、当該不透明オブジェクトで隠された領域における当該半透明オブジェクトについての描画処理を行わない。【選択図】図４
2019003331.tif 000002
【特許請求の範囲】
【請求項１】
不透明オブジェクト及び半透明オブジェクトを含む複数のオブジェクトを重ね合わせて１フレームの画像の描画処理を行う画像処理装置であって、
電子ゲームのキャラクタ毎にオブジェクトが対応付けられており、
当該オブジェクトに不透明オブジェクトが含まれている場合、オブジェクトの描画処理を行う際、当該不透明オブジェクトが対応付けられているキャラクタに対応付けられている半透明オブジェクトよりも当該不透明オブジェクトを手前に配置する処理を行い、当該不透明オブジェクトで隠された領域における当該半透明オブジェクトの描画処理を行わないことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記不透明オブジェクト及び前記半透明オブジェクトは対応付けられているキャラクタに対するエフェクトを表現するためのオブジェクトであることを特徴とする画像処理装置。
【請求項３】
不透明オブジェクト及び半透明オブジェクトを含む複数のオブジェクトを重ね合わせて１フレームの画像の描画処理を行う画像処理プログラムであって、
コンピュータを、
電子ゲームのキャラクタ毎にオブジェクトが対応付ける手段と、
当該オブジェクトに不透明オブジェクトが含まれている場合、オブジェクトの描画処理を行う際、当該不透明オブジェクトが対応付けられているキャラクタに対応付けられている半透明オブジェクトよりも当該不透明オブジェクトを手前に配置する手段と、
として機能させ、
前記描画処理を行う手段において、当該不透明オブジェクトで隠された領域における当該半透明オブジェクトの描画処理を行わないことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
コンピュータ、スマートフォン、タブレット等に設けられたディスプレイ上に画像を表示させる際に、複数のレイヤーを重ね合わせて１つの画像を構成して表示させる方法が知られている。すなわち、各レイヤーは透明フィルムのような画像領域であり、各レイヤーにおいて不透明なオブジェクトの画像領域以外の透明な画像領域では重ね合わされた下のレイヤーが透けて見えるように画像合成される。また、各レイヤーは他のレイヤーに対して相対位置を変えて重ね合わせることができ、各レイヤーをスライドさせるように動かすことによって各レイヤーに描画されたオブジェクトの画像を希望の位置に配置することができる。また、レイヤーの不透明度を変更して描画されたオブジェクトの画像を部分的に透明にすることもできる。例えば、３次元空間の描画処理において、ゲームの進行に伴って発生する必殺技の光線や煙等のゲーム上の表示効果（エフェクト）に半透明オブジェクトが用いられる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、半透明オブジェクトの描画では、透過して表示される背景に対してアルファブレンディング処理を施す必要があり、描画処理の負担が大きくなる。例えば、複数のキャラクタが必殺技を発動するようなシーンを描画する場合等において、半透明オブジェクトで表示されるエフェクトが多用されると描画処理の負担が顕著となり、表示画面への描画が間に合わなくなる等の問題が生ずるおそれがある。
【課題を解決するための手段】
【０００４】
本発明の１つの態様は、不透明オブジェクト及び半透明オブジェクトを含む複数のオブジェクトを重ね合わせて１フレームの画像の描画処理を行う画像処理装置であって、電子ゲームのキャラクタ毎にオブジェクトが対応付けられており、当該オブジェクトに不透明オブジェクトが含まれている場合、オブジェクトの描画処理を行う際、当該不透明オブジェクトが対応付けられているキャラクタに対応付けられている半透明オブジェクトよりも当該不透明オブジェクトを手前に配置する処理を行い、当該不透明オブジェクトで隠された領域における当該半透明オブジェクトの描画処理を行わないことを特徴とする画像処理装置である。
【０００５】
本発明の別の態様は、不透明オブジェクト及び半透明オブジェクトを含む複数のオブジェクトを重ね合わせて１フレームの画像の描画処理を行う画像処理プログラムであって、コンピュータを、電子ゲームのキャラクタ毎にオブジェクトが対応付ける手段と、当該オブジェクトに不透明オブジェクトが含まれている場合、オブジェクトの描画処理を行う際、当該不透明オブジェクトが対応付けられているキャラクタに対応付けられている半透明オブジェクトよりも当該不透明オブジェクトを手前に配置する手段と、として機能させ、前記描画処理を行う手段において、当該不透明オブジェクトで隠された領域における当該半透明オブジェクトの描画処理を行わないことを特徴とする画像処理プログラムである。
【０００６】
ここで、前記不透明オブジェクト及び前記半透明オブジェクトは対応付けられているキャラクタに対するエフェクトを表現するためのオブジェクトであることが好適である。
【発明の効果】
【０００７】
本発明によれば、複数のオブジェクトを重ね合わせて画像を描画する処理において、描画処理の負担を軽減し、スムーズな画像表示を実現することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における画像処理装置の構成を示す図である。
【図２】本発明の実施の形態におけるオブジェクトデータベースの登録例を示す図である。
【図３】本発明の実施の形態における画像の構成を示す図である。
【図４】本発明の実施の形態における画像描画処理を示すフローチャートである。
【図５】本発明の実施の形態における不透明オブジェクトの配置位置の変更処理を説明する図である。
【図６】本発明の実施の形態における描画の結果の例を示す図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態における画像処理装置１００は、図１に示すように、処理部１０、記憶部１２、入力部１４及び出力部１６を含んで構成される。すなわち、画像処理装置１００は、コンピュータの基本構成を備えており、一般的なＰＣ、スマートフォン、タブレット、携帯電話機等とすることができる。また、画像処理装置１００は、その機能の一部をインターネット等の通信手段によって接続された外部サーバによって実現してもよい。
【００１０】
処理部１０は、ＣＰＵ等の演算処理を行う手段を含む。処理部１０は、記憶部１２に記憶されている画像処理プログラムを実行することによって、本実施の形態における画像処理を実現する。記憶部１２は、半導体メモリ、ハードディスク等の記憶装手段を含む。記憶部１２は、処理部１０とアクセス可能に接続され、画像処理プログラム、画像処理に供される各オブジェクトに関するデータ等を記憶する。入力部１４は、画像処理装置１００に情報を入力する手段を含む。入力部１４は、例えば、ユーザからの入力を受けるタッチパネルやキーボードを備える。また、入力部１４は、画像処理装置１００の外部から情報を受け取るネットワークインターフェース等を含み、画像処理プログラム、画像処理に供される各オブジェクトの画像データを受信する。出力部１６は、画像処理装置１００で処理された情報を出力する手段を含む。出力部１６は、例えば、ユーザに対して画像を呈示するディスプレイを備える。また、画像処理装置１００の外部へ情報を送信するネットワークインターフェース等を含み、外部サーバ等に情報を送信する。
【００１１】
本実施の形態では、画像処理装置１００によって、キャラクタ同士が対戦する電子ゲームにおけるゲーム上の表示効果（エフェクト）の描画処理について説明する。キャラクタ及びエフェクトは、オブジェクトとして描画対象とされる。なお、描画対象となるオブジェクトの種類や数は以下の説明の内容に限定されるものではない。
【００１２】
オブジェクトはそれぞれ３次元のデータを有する。例えば、キャラクタやエフェクト等のオブジェクトは、それぞれ頂点の座標データで特定されるポリゴンを複数組み合わせることによって３次元データとして扱われる。各オブジェクトを表すポリゴンは、各オブジェクトの原点に対する各頂点の相対座標によって表現される。
【００１３】
具体的には、ゲーム上のキャラクタに対して何らかの操作が行われると、操作に応じた効果（エフェクト）を表示するためのオブジェクトが当該キャラクタのオブジェクトに関連付けられる。エフェクトは、例えば、キャラクタから発射される技を表す光線やキャラクタから他のキャラクタに対する攻撃によって発生する煙を表すオブジェクト等とされる。このように、キャラクタに対してプレイヤがなんらかの操作を行ったときに、当該操作に伴って発生するゲーム上の効果を示すエフェクトのオブジェクトが当該キャラクタのオブジェクトに関連付けられる。
【００１４】
１つのエフェクトは１つ又は複数のオブジェクトを組み合わせて表示される。複数のオブジェクトは、不透明オブジェクトと半透明オブジェクトに分類される。不透明オブジェクトは、描画処理における所謂アルファブレンディングの対象とならず、当該オブジェクトの背後にあるオブジェクトからの影響を受けないオブジェクトである。半透明オブジェクトは、描画処理における所謂アルファブレンディングの対象となり、当該オブジェクトの背後にあるオブジェクトの色の影響を受けるオブジェクトである。
【００１５】
キャラクタとオブジェクトの関連付けは、図２に示すように、オブジェクトデータベースとして記憶部１２に記憶される。図２では、キャラクタＡに対して、半透明オブジェクトであるエフェクトＢ及び不透明オブジェクトであるエフェクトＣの２つが関連付けられている例を示している。オブジェクトデータベースには、オブジェクトＩＤ、関連オブジェクトＩＤ、配置座標、角度、３次元データ及び属性が登録される。オブジェクトＩＤは、キャラクタやエフェクト等の描画対象となるオブジェクトを特定するためのＩＤである。関連オブジェクトＩＤは、エフェクトのオブジェクトについて関連付けられるキャラクタのオブジェクトのＩＤである。配置座標は、後述する３次元空間におけるオブジェクトが配置される座標を示す。なお、キャラクタのオブジェクトに関連付けられているエフェクトのオブジェクトについては当該キャラクタの配置座標に対してエフェクトのオブジェクトの種類毎に予め定められた相対座標分だけ離れた配置位置が適用される。角度は、仮想空間２００におけるオブジェクトの向きを示す配置角度である。３次元データは、各オブジェクトのポリゴンデータである。属性は、各オブジェクトが半透明オブジェクトであるか、不透明オブジェクトであるかを示す。
【００１６】
キャラクタやオブジェクトは、ゲーム上の３次元の仮想空間に配置される。そして、３次元の仮想空間に配置されたキャラクタやオブジェクトを同じ空間に配置された仮想カメラから撮像したときの画像が生成されて出力部１６に表示される。例えば、図３に示すように、仮想空間２００において、仮想カメラ３０に対してキャラクタＡ、エフェクトＢ及びエフェクトＣのオブジェクトが配置される。図３は、仮想空間２００を上部から見た平面的な配置関係を示している。図３では、キャラクタＡから放射される光線を表すエフェクトＢ及びエフェクトＣのオブジェクトを例に示しており、エフェクトＢ及びエフェクトＣのオブジェクトは重なる位置に配置されている。
【００１７】
以下、図４のフローチャートを参照して、本発明の実施の形態における画像処理について説明する。
【００１８】
ステップＳ１０では、エフェクトのオブジェクトの位置調整処理が行われる。処理部１０は、記憶部１２に記憶されているオブジェクトデータベースを参照して、キャラクタ毎に関連付けて記憶されているエフェクトのオブジェクトを読み出す。処理部１０は、１つのキャラクタに関連付けられているエフェクトのオブジェクトのうち不透明オブジェクトを半透明オブジェクトより仮想カメラ３０に近い位置に配置する。すなわち、同一のキャラクタに複数のエフェクトオブジェクトが関連付けられている場合、当該複数のエフェクトオブジェクトに不透明オブジェクトが含まれているときには当該不透明オブジェクトが半透明オブジェクトより手前になるように重ねて描画される仮想空間２００内の位置に移動させる。
【００１９】
例えば、図２のオブジェクトデータベースの例では、キャラクタＡに対してエフェクトＢ及びエフェクトＣのオブジェクトが関連付けられている。そして、図５に示すように、不透明オブジェクトであるエフェクトＣのオブジェクトを半透明オブジェクトであるエフェクトＢのオブジェクトより仮想カメラ３０側の位置、すなわち画像としてエフェクトＣのオブジェクトがエフェクトＢのオブジェクトの上位レイヤーとして描画される位置に配置し直す。具体的には、キャラクタＡの配置座標（ｘ１，ｙ１，ｚ１）から仮想カメラ３０の配置座標（ｘ０，ｙ０，ｚ０とする）へ向かうベクトルに沿って、不透明オブジェクトであるエフェクトＣのオブジェクトの配置座標（ｘ２，ｙ２，ｚ２）を移動させて配置位置（ｘ３，ｙ３，ｚ３）とする。このとき、不透明オブジェクトを移動させる量（オフセット量）は、予め定められた量とすればよい。また、同一のキャラクタに関連付けられている半透明オブジェクトと当該キャラクタとの距離に基づいて設定してもよい。例えば、キャラクタのオブジェクトの配置座標と、当該キャラクタに関連付けられている半透明オブジェクトの配置座標と、の関係に基づいて、当該半透明オブジェクトよりも仮想カメラ３０側となるように不透明オブジェクトの配置座標を設定するようにすればよい。
【００２０】
ステップＳ１２では、頂点シェーディング処理が行われる。描画対象となる各オブジェクトはポリゴンの集合である３次元データで表現される。処理部１０は、記憶部１２に記憶されているオブジェクトデータベースを参照して、各オブジェクトの３次元データ及び配置位置を読み出す。処理部１０は、読み出したデータに基づいて、各オブジェクトを構成するポリゴンの頂点位置を仮想空間２００内に配置する。そして、処理部１０は、仮想カメラ３０の位置に応じてゲーム画像上の位置に変換する。
【００２１】
本実施の形態では、頂点シェーディング処理において、半透明オブジェクトが不透明オブジェクトに隠されているか否かに関わらず、すべての頂点について描画処理が行われる。ただし、頂点シェーディング処理は負担の高い処理ではないので問題とならない。
【００２２】
ステップＳ１４では、ラスタリング処理が行われる。処理部１０は、ステップＳ１２においてゲーム画像上に配置されたポリゴンの頂点の位置に基づいて画像のラスタライズを行う。ラスタリング処理は、ポリゴンを画面上のピクセルの並びに置き換える処理である。
【００２３】
ステップＳ１６では、ピクセルシェーディング処理が行われる。処理部１０は、ステップＳ１４においてラスタライズされた画像の各ピクセルにおいて実際に表示させる色を設定する。処理部１０は、不透明オブジェクトが配置された画像領域においては、当該不透明オブジェクトよりも後にある半透明オブジェクトによらず、当該不透明オブジェクトの３次元データに基づいて当該画像領域においてラスタライズされたピクセル毎の色を設定する。また、不透明オブジェクトが配置されていない画像領域については、半透明オブジェクトの透明度（アルファ度）に基づいて、重なり合った各半透明オブジェクトの色を混ぜ合わせるアルファブレンディング処理を適用して各ピクセルの色を設定する。アルファブレンディング処理は、既存の方法を適用すればよい。
【００２４】
ステップＳ１８では、描画処理が行われる。処理部１０は、ステップＳ１６までの処理によって得られたゲーム画像の画像データに基づいて出力部１６にゲーム画像を表示させる処理を行う。例えば、図５に示すように不透明オブジェクトの再配置が行われた場合、図６に示すようなゲーム画像が出力部１６に表示される。
【００２５】
本実施の形態によれば、画像描画処理において処理負荷を増大させる半透明オブジェクトに対する処理を低減させることができる。すなわち、不透明オブジェクトが描画対象とされている場合、半透明オブジェクトよりも不透明オブジェクトを手前に配置することによって当該不透明オブジェクトよりも後に配置された半透明オブジェクトに対する処理を省略することができる。特に、電子ゲーム等において複数のキャラクタが同時に必殺技を発動するようなシーンを描画する場合等において処理負荷の低減効果は顕著となる。
【００２６】
なお、エフェクトを表すオブジェクトを不透明オブジェクトから半透明オブジェクトに差し替える処理等を併用してもよい。例えば、煙が立ち消えるようなエフェクトを表現する場合、最初は不透明オブジェクトを用いて密度の濃い煙を描画し、時間経過に伴って不透明オブジェクトを半透明オブジェクトに差し替えて密度の薄い煙を描画するようにしてもよい。
【符号の説明】
【００２７】
１０  処理部、１２  記憶部、１４  入力部、１６  出力部、２０  レイヤー、２２  画像、３０  仮想カメラ、１００  画像処理装置、２００  仮想空間。
【図１】
2019003331.tif 000003
【図２】
2019003331.tif 000004
【図３】
2019003331.tif 000005
【図４】
2019003331.tif 000006
【図５】
2019003331.tif 000007
【図６】
2019003331.tif 000008