(57)【特許請求の範囲】
【請求項１】
仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成する機能をコンピュータに実現させるための画像処理プログラムであって、
操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御機能、
前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御機能、
を実現させ、
前記仮想カメラ制御機能では、
前記プレイヤオブジェクトの位置に基づいて、該プレイオブジェクトと前記仮想カメラとの距離が一定となるように該仮想カメラの位置を決定する機能、
前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する機能であって、該プレイヤオブジェクトの位置が高いほど、該視線方向が仮想三次元空間の上方を向く値に該角度を決定する機能、
を実現させるための画像処理プログラム。
【請求項２】
前記仮想カメラ制御機能では、前記プレイヤオブジェクトの位置に基づいて注視点を設定し、該注視点を中心とする半径が所定値の球面上で前記仮想カメラの位置及び視線方向を制御する機能を
実現させるための請求項１に記載の画像処理プログラム。
【請求項３】
前記仮想カメラ制御機能は、前記プレイヤオブジェクトが前記仮想空間において高さ位置が変化し得る状態にある場合、前記プレイヤオブジェクトの高さ位置に基づいて前記角度を決定する機能を
実現させるための請求項１又は請求項２に記載の画像処理プログラム。
【請求項４】
前記仮想空間において高さ位置が変化し得る状態は、前記プレイヤオブジェクトが壁面オブジェクト上を上方又は下方へ移動している状態である請求項３に記載の画像処理プログラム。
【請求項５】
仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成する画像処理装置であって、
操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御手段と、
前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御手段とを含み、
前記仮想カメラ制御手段は、
前記プレイヤオブジェクトの位置に基づいて、該プレイオブジェクトと前記仮想カメラとの距離が一定となるように該仮想カメラの位置を決定する手段と、
前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する手段であって、該プレイヤオブジェクトの位置が高いほど、該視線方向が仮想三次元空間の上方を向く値に該角度を決定する手段と、
を含むことを特徴とする画像処理装置。
【請求項６】
仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成するする画像処理方法であって、
操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御処理と、
前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御処理とを含み、
前記仮想カメラ制御処理では、
前記プレイヤオブジェクトの位置に基づいて、該プレイオブジェクトと前記仮想カメラとの距離が一定となるように該仮想カメラの位置を決定する処理と、
前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する処理であって、該プレイヤオブジェクトの位置が高いほど、該視線方向が仮想三次元空間の上方を向く値に該角度を決定する処理と、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態の少なくとも１つは、仮想カメラを用いて仮想三次元空間の二次元画像を生成する画像処理プログラム等に関する。
【背景技術】
【０００２】
従来のゲーム装置は、仮想三次元空間が構築されるビデオゲームを実行し、また仮想カメラで撮像した仮想三次元空間の様子（ゲーム画像）をモニタ等の表示装置に表示する。ユーザは、表示装置に表示されるゲーム画像（ゲーム状況）を視認しつつ、ゲームパッド等を用いてプレイヤオブジェクトなどを操作してゲームを進める。多くのビデオゲームでは、プレイヤオブジェクトがゲーム画像に含まれるように、プレイヤオブジェクトの移動に仮想カメラが追従する。例えば、仮想カメラはプレイヤオブジェクトの後方に設定される。そして、プレイヤオブジェクトの背面の画像を含むゲーム画像が生成される。
【０００３】
また、従来のゲーム装置では、プレイヤオブジェクトが存在する仮想三次元空間の地形（例えば、平面地形、上り坂地形）の変化に合わせて仮想カメラの移動・回転を制御するものもある（例えば、特許文献1参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１３２０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このようなゲーム装置では、角度が一定の上り坂が続く等の地形に変化がない場合には、プレイヤオブジェクトと仮想カメラとの相対的な位置等についても変化がないため、ゲーム画像は所定の位置からプレイヤオブジェクトを撮像した状態が維持される。そのため、このような地形に変化がない場合であっても、ゲーム状況（仮想三次元空間の状況）に応じてユーザがより視認し易いゲーム画像を生成することが課題である。
【０００６】
本発明の少なくとも１つの実施形態の目的は、上記課題を解決し、ユーザの画像の視認性を向上させることにある。
【課題を解決するための手段】
【０００７】
非限定的な観点によると、本発明に係る画像処理プログラムは、仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成する機能をコンピュータに実現させるための画像処理プログラムであって、操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御機能、前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御機能、を実現させ、前記仮想カメラ制御機能では、前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する機能を実現させるためのものである。
【０００８】
非限定的な観点によると、本発明に係る画像処理装置は、仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成する画像処理装置であって、操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御手段と、前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御手段とを含み、前記仮想カメラ制御手段は、前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定することを特徴とする。
【０００９】
非限定的な観点によると、本発明に係る画像処理方法は、仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成するする画像処理方法であって、操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御処理と、前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御処理とを含み、前記仮想カメラ制御処理では、前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定することを特徴とする。
【発明の効果】
【００１０】
本願の各実施形態により１または２以上の不足が解決される。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施形態の少なくとも一つに対応するゲーム装置の構成を示すブロック図である。
【図２】図２は、本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
【図３】図３は、本発明の実施形態のゲーム空間のプレイヤオブジェクトの動作の一例を示す図である。
【図４】図４は、本発明の実施形態の少なくとも一つに対応するゲーム装置の構成を示すブロック図である。
【図５】図５は、本発明の実施形態のゲーム空間のプレイヤオブジェクトの動作の一例を示す図である。
【図６】図６は、本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
【図７】図７は、本発明の実施形態の少なくとも一つに対応するゲーム装置の構成を示すブロック図である。
【図８】図８は、本発明の実施形態のゲーム空間のプレイヤオブジェクトの動作の一例を示す図である。
【図９】図９は、本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
【図１０】図１０は、本発明の実施形態のゲーム空間のプレイヤオブジェクトの動作の一例を示す図である。
【図１１】図１１は、本発明の実施形態の少なくとも一つに対応するゲーム装置の構成を示すブロック図である。
【図１２】図１２は、本発明の実施形態のゲーム空間のプレイヤオブジェクトの動作の一例を示す図である。
【図１３】図１３は、本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
【図１４】図１４は、本発明の実施形態の少なくとも一つに対応するゲームサーバ装置及びゲーム装置の構成の例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【００１３】
［第１の実施形態］
この実施形態では、画像処理装置（コンピュータ）であるゲーム装置１が、ユーザによって操作されるプレイヤオブジェクトを仮想三次元空間（ゲーム空間）に生成し、このプレイヤオブジェクトを含む仮想三次元空間を仮想カメラで撮像して二次元画像（ゲーム画像）を生成するビデオゲーム（ゲーム）を実行する。ゲーム装置１は、例えば、据置型ゲーム装置、パーソナルコンピュータ、携帯電話端末やＰＤＡ（Personal Digital Assistants）、携帯型ゲーム装置である。また、ゲーム装置１は、ハードディスク等の記憶部（不図示）、ＣＰＵ等から構成される制御部（不図示）等の上記ビデオゲームを実行するための一般的な構成を備えるが、ここでの説明は省略する。
【００１４】
図１は、本発明の一の実施形態におけるゲーム装置１の構成の例を示すゲーム装置１Ａの構成を示すブロック図である。ゲーム装置１Ａは、記憶部に記憶されたゲームプログラム（画像処理プログラム）が制御部等によって実行されることで、オブジェクト制御部１１、仮想カメラ制御部１２の機能を少なくとも備える。
【００１５】
オブジェクト制御部１１は、ゲーム装置１Ａに接続された操作部（不図示）から受信した操作情報に基づいて、プレイヤオブジェクトの動作を制御する。操作部は、ユーザによって操作されるゲームパッド等である。仮想カメラ制御部１２は、プレイヤオブジェクトが含まれるゲーム画像を生成するべく、プレイヤオブジェクトの位置情報に基づいて仮想カメラの位置及び視線方向（向き）を制御する。すなわち、プレイヤオブジェクトの移動に仮想カメラが追従するように制御される。また、仮想カメラ制御部１２は、プレイヤオブジェクトの高さ位置に基づいて、ゲーム空間の水平面に対する仮想カメラの視線方向の角度を決定する。すなわち、プレイヤオブジェクトの高さ位置に応じて仮想カメラのピッチが決定される。
【００１６】
次に、この実施形態のゲーム装置１の動作について説明する。
【００１７】
図２は、ゲーム装置１Ａが実行するゲーム処理（画像処理）の例を示すフローチャートである。本例におけるゲーム処理では、仮想カメラの位置及び視線方向を決定するための処理が行われる。このゲーム処理は、ゲーム装置１Ａ（仮想カメラ制御部１２）によって実行される。ゲーム処理は、例えば、１フレーム（１／６０秒）毎に繰り返し実行される。
【００１８】
仮想カメラ制御部１２は、最初に、プレイヤオブジェクトの位置情報を取得し（ステップＳ１０）、プレイヤオブジェクトの高さ位置に基づいて、ゲーム空間の水平面に対する仮想カメラの視線方向の角度を決定する（ステップＳ１１）。そして、仮想カメラ制御部１２は、プレイヤオブジェクトの位置情報及び視線方向の角度に基づいて、仮想カメラ６０の新たな位置を決定する（ステップＳ１２）。
【００１９】
以上のように、第１の実施形態の一側面として、ゲーム装置１Ａが、オブジェクト制御部１１及び仮想カメラ制御部１２とを備える構成としているので、プレイヤオブジェクト５０の高さ位置が変化するゲーム状況（仮想三次元空間の状況）に応じてユーザがより視認し易い画像（ゲーム画像）を生成することができる。
【００２０】
なお、この実施形態において、ゲーム空間は、例えば、図３に示すような、ＸＹＺ軸で構成されるワールド座標系で定義される。図３は、ゲーム空間４０でのプレイヤオブジェクト５０の動作の一例を示す図である。図３は、ゲーム空間４０を水平方向から見た図である。プレイヤオブジェクト５０は、走行動作等の移動動作を行って地面Ｌを移動することができる。また、プレイヤオブジェクト５０は、プレイヤオブジェクト５０′で示すように壁面Ｗなどでも移動動作を行って移動することができる。すなわち、プレイヤオブジェクト５０の位置は、高さ方向（Ｙ軸方向）にも変化する。そして、仮想カメラ６０は、プレイヤオブジェクト５０の移動に追従する。また、ゲーム空間４０の水平面（ＸＹ平面）に対する仮想カメラ６０の視線方向Ｅの角度αが、プレイヤオブジェクト５０の高さ位置（Ｙ軸座標）に基づいて決定される。視線方向Ｅは、仮想カメラ６０の位置（視点６２）から注視点（不図示）に向かう方向となる。
【００２１】
また、この実施形態において、プレイヤオブジェクト５０とは、上述したようにビデオゲームの仮想三次元空間に登場するオブジェクトのうちユーザが操作可能なオブジェクトを意味する。なお、プレイヤオブジェクト５０の概念には、キャラクタ、アバター、戦闘機など、ユーザの操作対象となり得る各種オブジェクトが含まれる。また、あるプレイヤオブジェクト５０の対戦相手（敵）、味方となるいずれのプレイヤオブジェクトもこの実施形態のプレイヤオブジェクト５０に含まれる。また、この実施形態において、ゲームプログラムには、プレイヤオブジェクト５０を生成するための画像データなどのゲームデータも含まれる。
【００２２】
さらに、この実施形態では、画像処理装置としてビデオゲームを実行するゲーム装置について説明したが、特にこれに限定されるものではない。例えば、バーチャルワールドのような、ユーザが所有するアバター等が活動して他のアバターと交流を図ったり、仮想の店舗などで仮想のアイテムを購入したりするビデオゲームとは異なる仮想三次元空間を生成して、仮想カメラを通じて画像を生成する画像処理装置であってもよい。
【００２３】
［第２の実施形態］
図４は、ゲーム装置１の例であるゲーム装置１Ｂの構成を示すブロック図である。本例において、ゲーム装置１Ｂは、オブジェクト制御部１１及び仮想カメラ制御部１２Ｂを少なくとも備える。
【００２４】
仮想カメラ制御部１２Ｂは、プレイヤオブジェクト５０が含まれるゲーム画像を生成するべく、プレイヤオブジェクト５０の位置情報に基づいて仮想カメラ６０の位置及び視線方向Ｅを制御する。また、仮想カメラ制御部１２Ｂは、プレイヤオブジェクト５０の高さ位置に基づいて、ゲーム空間４０の水平面に対する仮想カメラ６０の視線方向Ｅの角度αを決定する。具体的には、仮想カメラ制御部１２は、図５に示すようにプレイヤオブジェクト５０の位置が高いほど、視線方向Ｅがゲーム空間４０の上方を向く値に角度αを決定する。
【００２５】
図５は、ゲーム空間４０でのプレイヤオブジェクト５０の動作の一例を示す図である。図５は、ゲーム空間４０を水平方向から見た図である。図５は、プレイヤオブジェクト５０が、壁面Ｗを移動してプレイヤオブジェクト５０′の位置に移動する状態を示す図である。図５に示すように、プレイヤオブジェクト５０の高さ位置の変化に応じて、視線方向の角度αも角度α′に変化する。したがって、地形の変化に関わらず、プレイヤオブジェクト５０の位置が高いほど、ゲーム空間４０の上方の様子がゲーム画像に多く含まれることとなる。
【００２６】
図６は、ゲーム装置１Ｂが実行するゲーム処理（画像処理）の例を示すフローチャートである。本例におけるゲーム処理では、仮想カメラ６０の位置及び視線方向Ｅを決定するための処理が行われる。このゲーム処理は、ゲーム装置１Ｂ（仮想カメラ制御部１２Ｂ）によって実行される。ゲーム処理は、例えば、１フレーム（１／６０秒）毎に繰り返し実行される。
【００２７】
仮想カメラ制御部１２Ｂは、プレイヤオブジェクト５０の位置情報を取得し（ステップＳ１０）、プレイヤオブジェクト５０の高さ位置に基づいて、ゲーム空間４０の水平面に対する仮想カメラ６０の視線方向Ｅの角度αを決定する（ステップＳ２-１１）。例えば、プレイヤオブジェクト５０の高さ位置及び設定値Ａ，Ｂを参照して線形補完により角度αの値を決定する。設定値Ａは仮想カメラ６０の最低高度での角度αの値であり，設定値Ｂは仮想カメラ６０の最高高度での角度αの値である。設定値Ｂには、設定値Ａに比べて視線方向Ｅがゲーム空間４０の上方を向く値が設定される。なお、設定値Ａ，Ｂは、予めゲームデータに含めておけばよい。次に、仮想カメラ制御部１２は、プレイヤオブジェクト５０の位置情報及び視線方向Ｅの角度αに基づいて、仮想カメラ６０の新たな位置を決定する（ステップＳ１２）。
【００２８】
以上のように、第２の実施形態の一側面として、ゲーム装置１Ｂが、オブジェクト制御部１１及び仮想カメラ制御部１２Ｂとを備える構成としているので、プレイヤオブジェクト５０の高さ位置が変化するゲーム状況（仮想三次元空間の状況）に応じてユーザがより視認し易い画像（ゲーム画像）を生成することができる。特に、プレイヤオブジェクト５０の位置が高いほど、ゲーム空間４０の上方の様子がゲーム画像に多く含まれることになるので、プレイヤオブジェクト５０が上方に向かって移動する場合等においては、ユーザは、ゲーム空間４０上方の様子を視認し易くなる。
【００２９】
［第３の実施形態］
図７は、ゲーム装置１の例であるゲーム装置１Ｃの構成を示すブロック図である。本例において、ゲーム装置１Ｃは、オブジェクト制御部１１及び仮想カメラ制御部１２Ｃを少なくとも備える。
【００３０】
仮想カメラ制御部１２Ｃは、プレイヤオブジェクト５０が含まれるゲーム画像を生成するべく、プレイヤオブジェクト５０の位置情報に基づいて仮想カメラ６０の位置及び視線方向Ｅを制御する。また、仮想カメラ制御部１２Ｃは、プレイヤオブジェクト５０の高さ位置に基づいて、ゲーム空間４０の水平面に対する仮想カメラ６０の視線方向Ｅの角度αを決定する。
【００３１】
図８は、ゲーム空間４０でのプレイヤオブジェクト５０の動作の一例を示す図である。図８は、ゲーム空間４０を水平方向から見た図である。この実施形態では、仮想カメラ６０（視点６２）は、注視点Ｐから所定距離の位置に配置される。すなわち、仮想カメラ６０は、注視点Ｐを中心とした半径が所定距離の球面８０上が移動可能範囲となる。注視点Ｐは、例えば、プレイヤオブジェクト５０の腰付近に設定され、プレイヤオブジェクト５０の移動に追従する。仮想カメラ６０は、基本的にプレイヤオブジェクト５０の後方に配置される。周知の技術であるので詳細は省略するが、プレイヤオブジェクト５０の向き等からプレイヤオブジェクト５０の前後左右の方向を特定可能である。なお、例えば、胴体の向きがプレイヤオブジェクト５０の向きに設定される。
【００３２】
また、この実施形態では、仮想カメラ６０の最低高度での角度αの設定値Ａ及び最高高度での角度αの設定値Ｂが、設定値Ｂが設定値Ａの場合よりも視線方向Ｅがゲーム空間の上方を向く値で設定されている。これら設定値Ａ，Ｂは、予めゲームデータに含まれている。プレイヤオブジェクト５０の高さ位置及び設定値Ａ，Ｂが参照されて線形補完により角度αの値が決定される。そして、プレイヤオブジェクト５０の位置情報及び視線方向Ｅの角度αに基づいて、上述した移動可能範囲（球面８０）において仮想カメラ６０の位置が決定される。
【００３３】
例えば、図８に示すように、プレイヤオブジェクト５０が、壁面Ｗ上を移動してプレイヤオブジェクト５０′の位置に移動する場合、プレイヤオブジェクト５０の高さ位置の変化に応じて、視線方向の角度αも角度α′に変化する。そして、仮想カメラ６０の位置も、球面８０′上で角度α′となる仮想カメラ６０′の位置に決定される。したがって、地形の変化に関わらず、プレイヤオブジェクト５０の位置が高いほど、ゲーム空間４０の上方の様子がゲーム画像に多く含まれることとなる。なお、プレイヤオブジェクト５０が地面Ｌにいる場合の仮想カメラ６０の位置についても上述と同様である。
【００３４】
図９は、ゲーム装置１Ｃが実行するゲーム処理（画像処理）の例を示すフローチャートである。本例におけるゲーム処理では、仮想カメラ６０の位置及び視線方向Ｅを決定するための処理が行われる。このゲーム処理は、ゲーム装置１Ｃ（仮想カメラ制御部１２Ｃ）によって実行される。ゲーム処理は、例えば、１フレーム（１／６０秒）毎に繰り返し実行される。
【００３５】
仮想カメラ制御部１２Ｃは、プレイヤオブジェクト５０の位置情報を取得し（ステップＳ１０）、プレイヤオブジェクト５０の高さ位置に基づいて、ゲーム空間４０の水平面に対する仮想カメラ６０の視線方向Ｅの角度αを決定する（ステップＳ３-１１）。具体的には、上述したようにプレイヤオブジェクト５０の高さ位置及び設定値Ａ，Ｂを参照して線形補完により角度αの値を決定する。
【００３６】
そして、仮想カメラ制御部１２Ｃは、プレイヤオブジェクト５０の位置情報及び視線方向Ｅの角度αに基づいて、仮想カメラ６０の新たな位置を決定する（ステップＳ３−１２）。具体的には、プレイヤオブジェクト５０の位置情報から特定される球面８０上で角度αとなるプレイヤオブジェクト５０の後方に仮想カメラ６０の位置が決定される。
【００３７】
以上のように、第３の実施形態の一側面として、ゲーム装置１Ｃが、オブジェクト制御部１１及び仮想カメラ制御部１２Ｃとを備える構成としているので、プレイヤオブジェクト５０の高さ位置が変化するゲーム状況（仮想三次元空間の状況）に応じてユーザがより視認し易い画像（ゲーム画像）を生成することができる。特に、プレイヤオブジェクト５０の位置が高いほど、ゲーム空間４０の上方の様子がゲーム画像に多く含まれることになるので、プレイヤオブジェクト５０が上方に向かって移動する場合等においては、ユーザは、ゲーム空間４０上方の様子を視認し易くなる。
【００３８】
なお、この実施形態では、注視点Ｐと仮想カメラ（視点６２）の位置との距離が所定距離に固定されているが、固定されていなくてもよい。例えば、プレイヤオブジェクト５０のいる位置に応じて変化させてもよい。具体的には、プレイヤオブジェクト５０のいる位置が地面Ｌと壁面Ｗとで異なる距離としてもよい。
【００３９】
また、この実施形態では、プレイヤオブジェクト５０が壁面Ｗを上方に移動動作する場合について説明しているが、例えば、図１０に示すように、壁面Ｗを下方に移動動作する場合においても同様にしてもよい。
【００４０】
図１０は、ゲーム空間４０でのプレイヤオブジェクト５０の動作の一例を示す図である。図１０は、ゲーム空間４０を水平方向から見た図である。図１０では、壁面Ｗ上のプレイヤオブジェクト５０が下方に移動動作してプレイオブジェクト５０′の位置に移動する。そして、仮想カメラ６０も角度αから角度α′に変化する。すなわち、プレイヤオブジェクト５０の位置が低いほど、視線方向Ｅがゲーム空間４０の下方を向く。この場合、プレイヤオブジェクト５０の位置が低いほど視線方向Ｅが下方を向くように、仮想カメラ６０の最高高度及び最低高度での角度αの設定値を設定しておけばよい。そして、プレイヤオブジェクト５０の上方への移動及び下方への移動に応じて参照する設定値を変更すればよい。
【００４１】
［第４の実施形態］
図１１は、ゲーム装置１の例であるゲーム装置１Ｄの構成を示すブロック図である。本例において、ゲーム装置１Ｄは、オブジェクト制御部１１Ｄ及び仮想カメラ制御部１２Ｄを少なくとも備える。
【００４２】
オブジェクト制御部１１Ｄは、ゲーム装置１Ｄに接続された操作部（不図示）から受信した操作情報に基づいて、プレイヤオブジェクト５０の動作を制御する。この実施形態のプレイヤオブジェクト５０は、地面Ｌ及び壁面Ｗを移動する動作を行うことができる。具体的には、地面Ｌでは、プレイヤオブジェクト５０は、走る等の移動動作、立ち止まった状態の直立動作及び攻撃動作等を行うことができる。
【００４３】
また、壁面Ｗでは、移動動作及び移動動作を行いながら攻撃動作等を行うことができる。地面Ｌから壁面Ｗへの移動の切り換えは、例えば、地面Ｌを移動動作しているプレイヤオブジェクト５０が壁面Ｗに触れたことを条件として実行される。壁面Ｗ及びプレイヤオブジェクトは、ポリゴンで形成されたオブジェクトである。また、この壁面Ｗのポリゴンに壁面であること特定する属性情報を関連づけてゲームデータに含めておく。そして、プレイヤオブジェクト５０と壁面Ｗとの接触したポリンゴンに壁面の属性情報がある場合には、プレイヤオブジェクト５０が壁面Ｗに移動するモーションを実行する。その後、壁面Ｗ上での移動動作が実行可能となる。オブジェクト制御部１１Ｄは、壁面Ｗ上での移動動作に切り換わった場合、壁面Ｗ上での移動状態であることを示すフラグ情報をゲーム装置１Ｄの記憶部に記憶する。
【００４４】
なお、プレイヤオブジェクト５０は、壁面Ｗ上では停止することができない。そのため、移動動作をやめてしまった場合、プレイヤオブジェクト５０は、地面Ｌ向かって落下する落下動作を開始する。例えば、図１２に示すように、プレイヤオブジェクト５０が、壁面Ｗ上をプレイヤオブジェクト５０′の位置まで移動して停止した（移動をやめた）場合、プレイヤオブジェクト５０′′に示すように地面Ｌに向かって落下動作が開始される。そして、オブジェクト制御部１１Ｄは、壁面Ｗ上での移動状態であることを示す上記フラグ情報をクリアする。
【００４５】
仮想カメラ制御部１２Ｄは、プレイヤオブジェクト５０が含まれるゲーム画像を生成するべく、プレイヤオブジェクト５０の位置情報に基づいて仮想カメラ６０の位置及び視線方向Ｅを制御する。また、仮想カメラ制御部１２Ｄは、プレイヤオブジェクト５０が壁面Ｗ上で移動動作を行っている状態（所定状態）の場合に、上述した第３実施形態と同様にプレイヤオブジェクト５０の高さ位置に基づいて、仮想カメラ６０の視線方向Ｅの角度αを決定する。
【００４６】
図１３は、ゲーム装置１Ｄが実行するゲーム処理（画像処理）の例を示すフローチャートである。本例におけるゲーム処理では、仮想カメラ６０の位置及び視線方向Ｅを決定するための処理が行われる。このゲーム処理は、ゲーム装置１Ｄ（仮想カメラ制御部１２Ｄ）によって実行される。ゲーム処理は、例えば、１フレーム（１／６０秒）毎に繰り返し実行される。
【００４７】
仮想カメラ制御部１２Ｄは、プレイヤオブジェクト５０の位置情報を取得し（ステップＳ１０）、プレイヤオブジェクト５０が所定状態であるかを判断する（ステップＳ４−１０）。所定状態は、プレイヤオブジェクト５０が壁面Ｗ上で移動動作を行っている状態である。仮想カメラ制御部１２Ｄは、上述のフラグ情報から上記所定状態であるかを判断する。
【００４８】
プレイヤオブジェクト５０が所定状態であると判断した場合（ステップＳ４−１０：ＹＥＳ）、仮想カメラ制御部１２Ｄは、上述の第３実施形態と同様に、角度αを決定し（ステップＳ４−１１）、角度α等に基づいて仮想カメラの新たな位置を決定する位置決定Ａの処理を実行する（ステップＳ４−１２）。
【００４９】
一方、プレイヤオブジェクト５０が所定状態ではないと判断した場合（ステップＳ４−１０：ＮＯ）、仮想カメラ制御部１２Ｄは、プレイヤオブジェクト５０の位置情報等に基づいて仮想カメラ６０の新たな位置を決定する位置決定Ｂの処理を実行する（ステップＳ４−１３）。すなわち、プレイヤオブジェクト５０の高さ位置に基づいて各度αを決定せずに仮想カメラ６０の位置が決定される。例えば、仮想カメラ制御部１２Ｄは、予め設定された値を角度αに用いて仮想カメラ６０の新たな位置を決定する。プレイヤオブジェクト５０が地面Ｌにいる状態ではステップＳ４−１３の処理が実行されるので、角度αは一定の状態となる。
【００５０】
以上のように、第４の実施形態の一側面として、ゲーム装置１ＤＣが、オブジェクト制御部１１Ｄ及び仮想カメラ制御部１２Ｄとを備える構成としているので、プレイヤオブジェクト５０の高さ位置が変化するゲーム状況（仮想三次元空間の状況）に応じてユーザがより視認し易い画像（ゲーム画像）を生成することができる。特に、プレイヤオブジェクト５０の高さ位置の変化が大きい壁面Ｗ上での移動においては、プレイヤオブジェクト５０の高さ位置に応じて角度αを変化させ、プレイヤオブジェクト５０の高さ位置の変化が少ない地面Ｌ上での移動の場合には、上述した角度αの変化をさせないので、ゲーム状況に応じてユーザがより視認し易いゲーム画像を生成することができる。
【００５１】
なお、この実施形態では、プレイヤオブジェクト５０が壁面Ｗ上を移動動作している状態を所定の状態としているが、特にこれに限定されるものではない。例えば、プレイヤオブジェクト５０が梯子を上る動作を行っている状態であってもよい。プレイヤオブジェクト５０が立ち止まっている状態であっても壁面Ｗ上に留まっていられる場合には、この状態も所定の状態に含めてもよい。
【００５２】
上述した実施形態では、ゲーム装置１が上述したゲーム処理を実行する構成について説明したが、図１４に示すように、ネットワーク１５０で通信可能に接続されたゲームサーバ装置１００及びゲーム装置１Ｅの構成において、ゲームサーバ装置１００が画像処理装置として上述したゲーム処理を実行してもよい。具体的には、ゲームサーバ装置１００が、ゲーム装置１Ｅから受信したユーザの操作部の操作情報を受信して、上述したゲーム処理を実行する。そして、仮想カメラを使用して生成されたゲーム画像をゲーム装置１Ｅに送信する。ゲーム装置１Ｅは、モニタ等の表示部にゲーム画像を表示する。図１４は、ゲームサーバ装置１００及びゲーム装置１Ｅの構成の例を示すブロック図である。
【００５３】
あるいは、ゲームサーバ装置１００及びゲーム装置１Ｅをネットワーク１５０で接続した全体の構成を画像処理装置としてもよい。具体的には、ゲームサーバ装置１００が、上述したゲーム処理の一部を実行し、ゲーム装置１Ｅが残りのゲーム処理を実行する。そして、ゲーム装置１Ｅが表示部にゲーム画像を表示する。
【００５４】
さらに、上述した実施形態では、単一のユーザのプレイヤオブジェクトがゲーム空間に生成されるゲームについて説明したが、特にこれに限定されるものではない。ネットワークを介して複数のユーザのゲーム装置が接続され、各ユーザのプレイヤオブジェクトが共通のゲーム空間に生成されるゲーム（オンラインゲーム）等であってもよい。
【００５５】
［付記］
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
【００５６】
［１］
仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成する機能をコンピュータに実現させるための画像処理プログラムであって、
操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御機能、
前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御機能、
を実現させ、
前記仮想カメラ制御機能では、前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する機能を
実現させるための画像処理プログラム。
【００５７】
［２］
前記仮想カメラ制御機能では、前記プレイヤオブジェクトの位置が高いほど、前記視線方向が前記仮想空間の上方を向く値に前記角度を決定する機能を
実現させるための［１］に記載の画像処理プログラム。
【００５８】
［３］
前記仮想カメラ制御機能では、前記プレイヤオブジェクトの位置に基づいて注視点を設定し、該注視点を中心とする半径が所定値の球面上で前記仮想カメラの位置及び視線方向を制御する機能を
実現させるための［１］又は［２］に記載の画像処理プログラム。
【００５９】
［４］
前記仮想カメラ制御機能は、前記プレイヤオブジェクトが所定状態にある場合、前記プレイヤオブジェクトの高さ位置に基づいて前記角度を決定する機能を
実現させるための［１］〜［３］の何れかに記載の画像処理プログラム。
【００６０】
［５］
前記所定の状態は、前記プレイヤオブジェクトが壁面オブジェクト上を上方へ移動している状態である［４］に記載の画像処理プログラム。
【００６１】
［６］
［１］から［５］のうち何れかに記載の画像処理プログラムがインストールされた画像処理装置。
【００６２】
［７］
仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成する画像処理装置であって、
操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御手段と、
前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御手段とを含み、
前記仮想カメラ制御手段は、前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する
ことを特徴とする画像処理装置。
【００６３】
［８］
仮想三次元空間のプレイヤオブジェクトを仮想カメラで撮像して二次元画像を生成するする画像処理方法であって、
操作部から受信したユーザの操作情報に基づいて、前記プレイヤオブジェクトの動作を制御するオブジェクト制御処理と、
前記プレイヤオブジェクトの位置情報に基づいて前記仮想カメラの位置及び視線方向を制御する仮想カメラ制御処理とを含み、
前記仮想カメラ制御処理では、前記プレイヤオブジェクトの高さ位置に基づいて、前記仮想三次元空間の水平面に対する前記視線方向の角度を決定する
ことを特徴とする画像処理方法。
【産業上の利用可能性】
【００６４】
本発明の実施形態の一つによれば、仮想三次元空間の状況に応じてユーザがより視認し易い画像を生成することができるようにするのに有用である。
【符号の説明】
【００６５】
１    ゲーム装置（画像処理装置）
１１    オブジェクト制御部
１２    仮想カメラ制御部
５０    プレイヤオブジェクト
６０    仮想カメラ
【図１】
0005969531.tif 000002
【図２】
0005969531.tif 000003
【図３】
0005969531.tif 000004
【図４】
0005969531.tif 000005
【図５】
0005969531.tif 000006
【図６】
0005969531.tif 000007
【図７】
0005969531.tif 000008
【図８】
0005969531.tif 000009
【図９】
0005969531.tif 000010
【図１０】
0005969531.tif 000011
【図１１】
0005969531.tif 000012
【図１２】
0005969531.tif 000013
【図１３】
0005969531.tif 000014
【図１４】
0005969531.tif 000015