(57)【要約】【課題】これまでにはない仮想カメラの視点設定手法を実現できるプログラム、情報記憶媒体、画像生成システム等の提供。【解決手段】画像生成システムは、画像センサからの画像情報を取得する画像情報取得部と、画像情報に基づいて、画像を表示する表示部又は画像センサに対するプレーヤの位置情報を取得する情報取得部と、取得されたプレーヤの位置情報に基づいて、プレーヤに対応するキャラクタと仮想カメラとの間の奥行き方向での距離、キャラクタと仮想カメラとの間の高さ方向での距離、キャラクタと仮想カメラとの間の横方向での距離、及び仮想カメラの画角の少なくとも１つを制御する仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部を含む。【選択図】図２４
2011215920.tif 000002
【特許請求の範囲】
【請求項１】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像情報に基づいて、画像を表示する表示部又は前記画像センサに対するプレーヤの位置情報を取得する情報取得部と、
取得された前記プレーヤの前記位置情報に基づいて、前記プレーヤに対応するキャラクタと仮想カメラとの間の奥行き方向での距離、前記キャラクタと前記仮想カメラとの間の高さ方向での距離、前記キャラクタと前記仮想カメラとの間の横方向での距離、及び前記仮想カメラの画角の少なくとも１つを制御する仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記仮想カメラ制御部は、
前記表示部又は前記画像センサと前記プレーヤとの間の距離が長くなるにつれて、前記キャラクタと前記仮想カメラとの間の前記奥行き方向での距離を長くする制御を行うことを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記仮想カメラ制御部は、
前記表示部又は前記画像センサと前記プレーヤとの間の距離が長くなるにつれて、前記キャラクタと前記仮想カメラとの間の前記高さ方向での距離を長くする制御を行うことを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記仮想カメラ制御部は、
前記表示部又は前記画像センサと前記プレーヤとの間の距離が長くなるにつれて、前記仮想カメラの前記画角を広くする制御を行うことを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記仮想カメラ制御部は、
前記表示部又は前記画像センサに対して前記プレーヤが左方向及び右方向の一方の方向に移動した場合に、前記キャラクタに対して前記仮想カメラを前記一方の方向とは異なる他方の方向に移動する制御を行うことを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記仮想カメラ制御部は、
前記表示部又は前記画像センサと前記プレーヤとの間の距離が短い場合には、前記仮想カメラを一人称視点の設定にし、前記表示部又は前記画像センサと前記プレーヤとの間の距離が長い場合には、前記仮想カメラを三人称視点の設定にすることを特徴とするプログラム。
【請求項７】
請求項６において、
前記画像生成部は、
前記仮想カメラの前記画角の制御により前記一人称視点の設定が行われた場合には、前記キャラクタの少なくとも一部を描画対象から除外するクリッピング処理を行うことを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記画像情報取得部は、
前記画像センサからの前記画像情報として、各画素位置にデプス値が設定されたデプス情報を取得し、
前記情報取得部は、
前記デプス情報に基づいて、前記プレーヤの前記位置情報を取得することを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを判定する判定部として、
コンピュータを機能させ、
前記画像生成部は、
前記プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っている場合とで、異なる画像を生成することを特徴とするプログラム。
【請求項１０】
請求項９において、
前記情報取得部は、
前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得し、
前記判定部は、
前記プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを、前記スケルトン情報に基づいて判定することを特徴とするプログラム。
【請求項１１】
請求項９又は１０において、
前記画像生成部は、
三人称視点において前記プレーヤが右手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の左側に前記キャラクタが表示される画像を生成し、前記三人称視点において前記プレーヤが左手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の右側に前記キャラクタが表示される画像を生成することを特徴とするプログラム。
【請求項１２】
請求項９乃至１１のいずれかにおいて、
前記画像生成部は、
一人称視点において前記プレーヤが右手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の右側に前記キャラクタの一部の部位が表示される画像を生成し、前記一人称視点において前記プレーヤが左手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の左側に前記キャラクタの一部の部位が表示される画像を生成することを特徴とするプログラム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記情報取得部は、
前記画像センサからの前記画像情報に基づく画像処理を行って、前記プレーヤの所持物又は部位についての方向情報、色情報及び形状情報の少なくとも１つを、レンダリング用情報として取得し、
前記画像生成部は、
前記方向情報、前記色情報及び前記形状情報の少なくとも１つである前記レンダリング用情報に基づくレンダリング処理を行って、画像を生成することを特徴とするプログラム。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
ヒット演算処理を行うヒット演算部として、
コンピュータを機能させ、
前記情報取得部は、
前記画像センサからの前記画像情報に基づく画像処理を行って、前記プレーヤの所持物又は部位についての方向情報及び形状情報の少なくとも１つを、ヒット演算用情報として取得し、
前記ヒット演算部は、
取得された前記ヒット演算用情報に基づいてヒット演算処理を行うことを特徴とするプログラム。
【請求項１５】
画像を表示する表示部とプレーヤとの距離情報を取得する情報取得部と、
仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記仮想カメラ制御部は、
前記表示部と前記プレーヤとの間の距離が長くなるにつれて、前記プレーヤに対応するキャラクタと前記仮想カメラとの間の奥行き方向での距離を長くする制御又は前記仮想カメラの画角を広くする制御を行うことを特徴とするプログラム。
【請求項１６】
画像を表示する表示部とプレーヤとの距離情報を取得する情報取得部と、
仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記仮想カメラ制御部は、
前記表示部と前記プレーヤとの間の距離が短い場合には、前記仮想カメラを一人称視点の設定にし、前記表示部と前記プレーヤとの間の距離が長い場合には、前記仮想カメラを三人称視点の設定にすることを特徴とするプログラム。
【請求項１７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１６のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１８】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像情報に基づいて、画像を表示する表示部又は前記画像センサに対するプレーヤの位置情報を取得する情報取得部と、
取得された前記プレーヤの前記位置情報に基づいて、前記プレーヤに対応するキャラクタと仮想カメラとの間の奥行き方向での距離、前記キャラクタと前記仮想カメラとの間の高さ方向での距離、前記キャラクタと前記仮想カメラとの間の横方向での距離、及び前記仮想カメラの画角の少なくとも１つを制御する仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項１９】
画像を表示する表示部からのプレーヤの距離情報を取得する情報取得部と、
仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、
前記仮想カメラ制御部は、
前記表示部と前記プレーヤとの間の距離が長くなるにつれて、前記プレーヤに対応するキャラクタと前記仮想カメラとの間の奥行き方向での距離を長くする制御又は前記仮想カメラの画角を広くする制御を行うことを特徴とする画像生成システム。
【請求項２０】
画像を表示する表示部からのプレーヤの距離情報を取得する情報取得部と、
仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、
前記仮想カメラ制御部は、
前記表示部と前記プレーヤとの間の距離が短い場合には、前記仮想カメラを一人称視点の設定にし、前記表示部と前記プレーヤとの間の距離が長い場合には、前記仮想カメラを三人称視点の設定にすることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【０００２】
近年、従来の操作ボタンや方向キーを備えたゲームコントローラに代わって、モーションセンサを内蔵するゲームコントローラを用いてゲーム操作が可能なゲーム装置が人気を博している。このような操作インターフェースを備えるゲーム装置によれば、プレーヤの直感的な操作入力が可能になり、ゲーム操作の簡素化等を図れる。このような直感的なインターフェースを可能にするゲーム装置の従来技術としては例えば特許文献１に開示される技術がある。
【０００３】
しかしながら、モーションセンサを内蔵するゲームコントローラでは、プレーヤの操作対象はゲームコントローラであり、プレーヤの任意の所持物や、プレーヤの手や体そのものを使ってゲーム操作を行うことはできない。このため、プレーヤの仮想現実感の向上が不十分であるという課題がある。
【０００４】
また３次元ゲームでは、プレーヤの視点に対応する仮想カメラの視点設定が重要になる。この仮想カメラの視点設定としては三人称視点や一人称視点などがある。そして三人称視点では、キャラクタの後方に仮想カメラが設定されるが、キャラクタと仮想カメラとの間の距離に応じて画像の見え方が異なったものになる。
【０００５】
しかしながら、例えばゲームコントローラを用いない操作インターフェースを実現しようとした場合に、上述のような仮想カメラの視点設定を如何にして実現するかが課題になる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−８９６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の幾つかの態様によれば、これまでにはない仮想カメラの視点設定手法を実現できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、画像センサからの画像情報を取得する画像情報取得部と、前記画像情報に基づいて、画像を表示する表示部又は前記画像センサに対するプレーヤの位置情報を取得する情報取得部と、取得された前記プレーヤの前記位置情報に基づいて、前記プレーヤに対応するキャラクタと仮想カメラとの間の奥行き方向での距離、前記キャラクタと前記仮想カメラとの間の高さ方向での距離、前記キャラクタと前記仮想カメラとの間の横方向での距離、及び前記仮想カメラの画角の少なくとも１つを制御する仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００９】
本発明の一態様によれば、画像センサからの画像情報に基づきプレーヤの位置情報が取得される。そしてプレーヤの位置情報に基づき、キャラクタと仮想カメラとの間の奥行き方向での距離、高さ方向での距離、横方向での距離、及び仮想カメラの画角の少なくとも１つが制御され、オブジェクト空間内において仮想カメラから見える画像が生成される。このようにすれば、画像情報に基づき取得されたプレーヤの位置情報を、キャラクタと仮想カメラとの間の奥行き方向、高さ方向又は横方向での距離や画角に反映させて、画像を生成することが可能になる。従って、プレーヤの動きなどに応じて、キャラクタと仮想カメラの相対的な位置関係等を変化させることが可能になり、これまでにはない仮想カメラの視点設定手法を実現できる。
【００１０】
また本発明の一態様では、前記仮想カメラ制御部は、前記表示部又は前記画像センサと前記プレーヤとの間の距離が長くなるにつれて、前記キャラクタと前記仮想カメラとの間の前記奥行き方向での距離を長くする制御を行ってもよい。
【００１１】
このようにすれば、プレーヤが表示部又は画像センサから遠ざかると、キャラクタに対して仮想カメラが奥行き方向に遠ざかるようになり、これまでにはない仮想カメラの視点設定手法を実現できる。
【００１２】
また本発明の一態様では、前記仮想カメラ制御部は、前記表示部又は前記画像センサと前記プレーヤとの間の距離が長くなるにつれて、前記キャラクタと前記仮想カメラとの間の前記高さ方向での距離を長くする制御を行ってもよい。
【００１３】
このようにすれば、プレーヤが表示部又は画像センサから遠ざかると、キャラクタに対して仮想カメラが上方向に移動するようになり、これまでにはない仮想カメラの視点設定手法を実現できる。
【００１４】
また本発明の一態様では、前記仮想カメラ制御部は、前記表示部又は前記画像センサと前記プレーヤとの間の距離が長くなるにつれて、前記仮想カメラの前記画角を広くする制御を行ってもよい。
【００１５】
このようにすれば、プレーヤが表示部又は画像センサから遠ざかると、仮想カメラの画角が広くなり、例えばズームアウトされたような画像が生成されるようになる。
【００１６】
また本発明の一態様では、前記仮想カメラ制御部は、前記表示部又は前記画像センサに対して前記プレーヤが左方向及び右方向の一方の方向に移動した場合に、前記キャラクタに対して前記仮想カメラを前記一方の方向とは異なる他方の方向に移動する制御を行ってもよい。
【００１７】
このようにすれば、表示部又は画像センサに対してプレーヤが横方向に移動すると、キャラクタに対して仮想カメラが異なる方向に移動するようになり、これまでにない視点制御で画像を生成できるようになる。
【００１８】
また本発明の一態様では、前記仮想カメラ制御部は、前記表示部又は前記画像センサと前記プレーヤとの間の距離が短い場合には、前記仮想カメラを一人称視点の設定にし、前記表示部又は前記画像センサと前記プレーヤとの間の距離が長い場合には、前記仮想カメラを三人称視点の設定にしてもよい。
【００１９】
このようにすれば、表示部又は画像センサとプレーヤとの距離に応じて一人称視点と三人称視点を切り替えることが可能になり、プレーヤにとって直感的に分かりやすい操作インターフェース環境を提供できる。
【００２０】
また本発明の一態様では、前記画像生成部は、前記仮想カメラの前記画角の制御により前記一人称視点の設定が行われた場合には、前記キャラクタの少なくとも一部を描画対象から除外するクリッピング処理を行ってもよい。
【００２１】
このようにすれば、仮想カメラの画角の制御により一人称視点の設定が行われる場合に、適正な一人称視点の画像を生成できる。
【００２２】
また本発明の一態様では、前記画像情報取得部は、前記画像センサからの前記画像情報として、各画素位置にデプス値が設定されたデプス情報を取得し、前記情報取得部は、前記デプス情報に基づいて、前記プレーヤの前記位置情報を取得してもよい。
【００２３】
このようにすれば、表示部側や画像センサ側から見たプレーヤの位置情報を簡素な処理で効率的に取得できるようになる。
【００２４】
また本発明の一態様では、前記プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを判定する判定部を含み（判断部としてコンピュータを機能させ）、前記画像生成部は、前記プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っている場合とで、異なる画像を生成してもよい。
【００２５】
このようにすれば、プレーヤが左右のいずれの手を用いてプレイ動作を行っているかに応じた適切な画像を生成できる。
【００２６】
また本発明の一態様では、前記情報取得部は、前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得し、前記判定部は、前記プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを、前記スケルトン情報に基づいて判定してもよい。
【００２７】
このようにすれば、スケルトン情報を有効活用して、プレーヤが左右のいずれの手を用いてプレイ動作を行っているかを検出できる。
【００２８】
また本発明の一態様では、前記画像生成部は、三人称視点において前記プレーヤが右手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の左側に前記キャラクタが表示される画像を生成し、前記三人称視点において前記プレーヤが左手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の右側に前記キャラクタが表示される画像を生成してもよい。
【００２９】
このようにすれば、プレーヤが左右のいずれの手を用いてプレイ動作を行っているかに応じた適切な三人称視点の画像を生成できるようになるため、プレーヤのゲームプレイの容易化等を図れる。
【００３０】
また本発明の一態様では、前記画像生成部は、一人称視点において前記プレーヤが右手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の右側に前記キャラクタの一部の部位が表示される画像を生成し、前記一人称視点において前記プレーヤが左手を用いてプレイ動作を行っていると判定された場合には、前記表示部の画面の左側に前記キャラクタの一部の部位が表示される画像を生成してもよい。
【００３１】
このようにすれば、プレーヤが左右のいずれの手を用いてプレイ動作を行っているかに応じた適切な一人称視点の画像を生成できるようになるため、プレーヤのゲームプレイの容易化等を図れる。
【００３２】
また本発明の一態様では、前記情報取得部は、前記画像センサからの前記画像情報に基づく画像処理を行って、前記プレーヤの所持物又は部位についての方向情報、色情報及び形状情報の少なくとも１つを、レンダリング用情報として取得し、前記画像生成部は、前記方向情報、前記色情報及び前記形状情報の少なくとも１つである前記レンダリング用情報に基づくレンダリング処理を行って、画像を生成してもよい。
【００３３】
このようにすれば、画像情報に基づく画像処理により取得されたプレーヤの所持物又は部位の方向情報、色情報又は形状情報を、レンダリング処理に反映させることが可能になり、プレーヤの所持物や部位の動きなどを反映させた画像を生成できるようになる。
【００３４】
また本発明の一態様では、ヒット演算処理を行うヒット演算部を含み（ヒット演算部としてコンピュータを機能させ）、前記情報取得部は、前記画像センサからの前記画像情報に基づく画像処理を行って、前記プレーヤの所持物又は部位についての方向情報及び形状情報の少なくとも１つを、ヒット演算用情報として取得し、前記ヒット演算部は、取得された前記ヒット演算用情報に基づいてヒット演算処理を行ってもよい。
【００３５】
このようにすれば、画像情報により取得されたプレーヤの所持物又は部位の方向情報、色情報又は形状情報をヒット演算処理に反映させることが可能になり、プレーヤの所持物や部位の動きなどを反映させた画像を生成できるようになる。
【００３６】
また本発明の他の態様は、画像を表示する表示部とプレーヤとの距離情報を取得する情報取得部と、仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、前記仮想カメラ制御部は、前記表示部と前記プレーヤとの間の距離が長くなるにつれて、前記プレーヤに対応するキャラクタと前記仮想カメラとの間の奥行き方向での距離を長くする制御又は前記仮想カメラの画角を広くする制御を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００３７】
本発明の他の態様によれば、表示部とプレーヤとの距離情報が取得される。そして表示部とプレーヤとの間の距離が長くなると、キャラクタと仮想カメラとの間の奥行き方向での距離が長くなったり、仮想カメラの画角が広くなる制御が行われて、オブジェクト空間内において仮想カメラから見える画像が生成される。このようにすれば、表示部とプレーヤとの距離情報を、キャラクタと仮想カメラとの間の奥行き方向での距離や画角に反映させて、画像を生成することが可能になる。従って、プレーヤの動きなどに応じて、仮想カメラの奥行き方向での距離や画角が変化するようになり、これまでにはない仮想カメラの視点設定手法を実現できる。
【００３８】
また本発明の他の態様は、画像を表示する表示部とプレーヤとの距離情報を取得する情報取得部と、仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、前記仮想カメラ制御部は、前記表示部と前記プレーヤとの間の距離が短い場合には、前記仮想カメラを一人称視点の設定にし、前記表示部と前記プレーヤとの間の距離が長い場合には、前記仮想カメラを三人称視点の設定にする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００３９】
本発明の他の態様によれば、表示部とプレーヤとの距離情報が取得される。そして、表示部とキャラクタとの距離が短い場合には、仮想カメラが一人称視点に設定され、距離が長い場合には三人称視点に設定されて、オブジェクト空間内において仮想カメラから見える画像が生成される。このようにすれば、表示部とプレーヤとの距離に応じて一人称視点と三人称視点が切り替わるようになり、これまでにはない仮想カメラの視点設定手法を実現できる。
【図面の簡単な説明】
【００４０】
【図１】本実施形態の画像生成システムの構成例。
【図２】図２（Ａ）、図２（Ｂ）は画像センサを用いたカラー画像情報、デプス情報の取得手法の説明図。
【図３】図３（Ａ）、図３（Ｂ）はプレーヤの位置情報に基づきキャラクタと仮想カメラの奥行き方向での距離を変化させる手法の説明図。
【図４】図４（Ａ）、図４（Ｂ）もプレーヤの位置情報に基づきキャラクタと仮想カメラの奥行き方向での距離を変化させる手法の説明図。
【図５】図５（Ａ）、図５（Ｂ）はプレーヤの位置情報に基づきキャラクタと仮想カメラの高さ方向での距離を変化させる手法の説明図。
【図６】図６（Ａ）〜図６（Ｄ）はプレーヤの位置情報に基づき仮想カメラの画角を変化させる手法の説明図。
【図７】本実施形態により実現される操作インターフェース環境の説明図。
【図８】図８（Ａ）〜図８（Ｄ）はプレーヤの位置情報に基づきキャラクタと仮想カメラの横方向での距離を変化させる手法の説明図。
【図９】本実施形態により生成される画像の例。
【図１０】図１０（Ａ）、図１０（Ｂ）はプレーヤの位置情報に基づき一人称視点と三人称視点を切り替える手法の説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は本実施形態により生成される画像の例。
【図１２】図１２（Ａ）〜図１２（Ｃ）は仮想カメラの画角の制御により一人称視点と三人称視点を切り替える手法の説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）は本実施形態により生成される画像の例。
【図１４】デプス情報に基づいてプレーヤのスケルトン情報を求める手法の説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）は本実施形態により生成される画像の例。
【図１６】図１６（Ａ）、図１６（Ｂ）は本実施形態により生成される画像の例。
【図１７】図１７（Ａ）、図１７（Ｂ）はプレーヤの所持物等の方向情報等をレンダリング用情報として取得する手法の説明図。
【図１８】図１８（Ａ）、図１８（Ｂ）は取得されたレンダリング用情報を用いたレンダリング処理の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）はプレーヤの所持物等の形状情報、色情報をレンダリング処理に反映させる手法の説明図。
【図２０】プレーヤのスケルトン情報に基づいて光源の配置位置等を特定する手法の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）はプレーヤのスケルトン情報を用いてプレーヤの所持物等の方向情報を取得する手法の説明図。
【図２２】図２２（Ａ）、図２２（Ｂ）はプレーヤのスケルトン情報を用いて画像処理の処理領域を設定する手法の説明図。
【図２３】図２３（Ａ）、図２３（Ｂ）はプレーヤの所持物等の方向情報等をヒット演算用情報として取得する手法の説明図。
【図２４】本実施形態の処理を説明するフローチャート。
【図２５】本実施形態の処理を説明するフローチャート。
【図２６】本実施形態の処理を説明するフローチャート。
【図２７】本実施形態の処理を説明するフローチャート。
【発明を実施するための形態】
【００４１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４２】
１．構成
図１に本実施形態の画像生成システム（ゲーム装置）のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図１に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４３】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００４４】
また操作部１６０は、例えばカラー画像センサやデプスセンサなどにより実現される画像センサを含む。なお操作部１６０の機能を画像センサだけで実現してもよい。
【００４５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００４６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４８】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００４９】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５０】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５２】
処理部１００は、画像情報取得部１０２、情報取得部１０４、ゲーム演算部１０８、ヒット演算部１１０、オブジェクト空間設定部１１２、キャラクタ制御部１１４、仮想カメラ制御部１１８、判定部１１９、画像生成部１２０、音生成部１３０を含む。また情報取得部１０４はスケルトン情報取得部１０５を含み、キャラクタ制御部１１４は移動処理部１１５、モーション処理部１１６を含む。画像生成部１２０は光源設定部１２２を含む。なおこれらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５３】
画像情報取得部１０２は、画像センサからの画像情報を取得する。例えば画像センサにより撮像された画像の情報は、記憶部１７０の画像情報記憶部１７１に保存される。具体的には、画像センサのカラー画像センサにより撮像されたカラー画像の情報はカラー画像情報記憶部１７２に保存され、画像センサのデプスセンサにより撮像されたデプス画像の情報はデプス情報記憶部１７３に保存される。画像情報取得部１０２は、これらの画像情報を画像情報記憶部１７１から読み出すことで画像情報を取得する。
【００５４】
情報取得部１０４は、画像情報取得部１０２が取得した画像情報に基づいて、プレーヤの位置情報を取得する。またレンダリング用情報やヒット演算用情報を取得する。
【００５５】
ゲーム演算部１０８はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００５６】
ヒット演算部１１０はヒット演算処理を行う。例えばヒットチェック処理やヒット演出処理などを行う。具体的には、弾等の軌道方向とターゲットオブジェクトのヒットチェックを行い、ヒットしたと判定された場合に、ヒットエフェクトを発生する処理などを行う。
【００５７】
オブジェクト空間設定部１１２は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ（人、動物、ロボット、車、船舶、飛行機等）、マップ（地形）、建物、コース（道路）、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７５には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１１２は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【００５８】
キャラクタ制御部１１４は、オブジェクト空間を移動（動作）するキャラクタの制御を行う。例えばキャラクタ制御部１１４が含む移動処理部１１５は、キャラクタ（モデルオブジェクト、移動オブジェクト）を移動させる処理を行う。例えば操作部１６０によりプレーヤが入力した操作情報や、プログラム（移動アルゴリズム）や、各種データなどに基づいて、キャラクタをオブジェクト空間内で移動させる。具体的には、キャラクタの移動情報（位置、回転角度、速度、或いは加速度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動処理やモーション処理や画像生成処理を行う時間の単位である。
【００５９】
キャラクタ制御部１１４が含むモーション処理部１１６は、キャラクタにモーション（アニメーション）を行わせるモーション処理（モーション再生、モーション生成）を行う。このモーション処理は、キャラクタのモーションを、モーションデータ記憶部１７６に記憶されているモーションデータに基づいて再生することなどで実現できる。
【００６０】
具体的にはモーションデータ記憶部１７６には、キャラクタ（モデルオブジェクト）のスケルトンを構成する各骨（キャラクタを構成する各パーツオブジェクト）の位置又は回転角度（親の骨に対する子の骨の３軸周りの回転角度）等を含むモーションデータが記憶されている。またモデルデータ記憶部１７７は、キャラクタを表すモデルオブジェクトのモデルデータを記憶する。モーション処理部１１６は、このモーションデータをモーションデータ記憶部１７６から読み出し、読み出されたモーションデータに基づいてスケルトンを構成する各骨（パーツオブジェクト）を動かすことで（スケルトン形状を変形させることで）、キャラクタのモーションを再生する。
【００６１】
仮想カメラ制御部１１８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００６２】
例えば仮想カメラによりキャラクタを後方から撮影する場合には、キャラクタの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動処理部１１５で得られたキャラクタの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００６３】
判定部１１９は、プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを判定する。即ち、右手、左手のいずれを用いて、攻撃動作、移動指示動作等のプレイ動作を行っているかを判定する。
【００６４】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７９（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、描画処理は頂点シェーダ処理やピクセルシェーダ処理により実現することができる。
【００６５】
画像生成部１２０が含む光源設定部１２２は、光源の設定処理を行う。例えば光源の光源方向や光源色や光源位置等の光源情報の設定処理を行う。この光源情報は光源情報記憶部１７８に保存される。
【００６６】
なお、画像生成部１２０が、いわゆる立体視用の画像を生成するようにしてもよい。この場合には、基準となる仮想カメラの位置とカメラ間距離を用いて、左目用仮想カメラと右目用仮想カメラを配置設定する。そして画像生成部１２０が、オブジェクト空間内において左目用仮想カメラから見える左目用画像と、オブジェクト空間内において右目用仮想カメラから見える右目用画像を生成する。そしてこれらの左目用画像、右目用画像を用いて、眼分離眼鏡方式や、レンティキュラーレンズなどを用いた裸眼方式などにより、立体視を実現すればよい。
【００６７】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６８】
そして本実施形態では画像情報取得部１０２が画像センサからの画像情報を取得すると、情報取得部１０４が、表示部１９０又は画像センサに対するプレーヤ（観者）の位置情報を取得する。この位置情報は、表示部１９０又は画像センサに対するプレーヤの相対的な位置関係を表す情報であり、表示部１９０又は画像センサに対するプレーヤの相対的な３次元位置座標の情報であってもよいし、表示部１９０又は画像センサとプレーヤの距離を表す距離情報などであってもよい。
【００６９】
このようにプレーヤの位置情報が取得されると、仮想カメラ制御部１１８は、取得された位置情報に基づいて、プレーヤに対応するキャラクタと仮想カメラとの間の奥行き方向での距離、キャラクタと仮想カメラとの間の高さ方向での距離、キャラクタと仮想カメラとの間の横方向での距離、及び仮想カメラの画角の少なくとも１つを制御する。そして画像生成部１２０は、オブジェクト空間内において仮想カメラから見える画像を生成する。なおキャラクタは、三人称視点の場合には実際に表示されるオブジェクトになるが、一人称視点の場合には、表示部１９０に表示されない仮想的なオブジェクトになる。
【００７０】
具体的には仮想カメラ制御部１１８は、表示部１９０又は画像センサとプレーヤとの間の距離が長くなるにつれて、キャラクタと仮想カメラとの間の奥行き方向（Ｚ方向）での距離を長くする制御を行う。例えばプレーヤが表示部１９０又は画像センサから離れると、後方からキャラクタを撮影している仮想カメラが奥行き方向で更に後方に移動し、プレーヤが表示部１９０又は画像センサに近づくと、仮想カメラが前方に移動する。この時、例えばキャラクタは移動せずに静止している。
【００７１】
また仮想カメラ制御部１１８は、表示部１９０又は画像センサとプレーヤとの間の距離が長くなるにつれて、キャラクタと仮想カメラとの間の高さ方向での距離を長くする制御を行ってもよい。例えばプレーヤが表示部１９０又は画像センサから離れると、キャラクタの後方の上方でキャラクタを撮影していた仮想カメラが更に上方に移動し、プレーヤが表示部１９０又は画像センサに近づくと、仮想カメラが下方に移動する。この時、例えばキャラクタは移動せずに静止している。なお表示部１９０又は画像センサとプレーヤとの距離に応じて、仮想カメラが上方に移動しながら後方に移動したり、下方に移動しながら前方に移動するようにしてもよい。
【００７２】
また仮想カメラ制御部１１８は、表示部１９０又は画像センサとプレーヤとの間の距離が長くなるにつれて、仮想カメラの画角を広くする制御を行ってもよい。例えばプレーヤが表示部１９０又は画像センサから離れると、仮想カメラの画角が広くなり、ズームアウト画像が生成され、プレーヤが表示部１９０又は画像センサに近づくと、仮想カメラの画角が狭くなり、ズームアップ画像が生成される。この時、例えばキャラクタは移動せずに静止している。
【００７３】
また仮想カメラ制御部１１８は、表示部１９０又は画像センサに対してプレーヤが左方向及び右方向の一方の方向に移動した場合に、キャラクタに対して仮想カメラを一方の方向とは異なる他方の方向に移動する制御を行う。具体的には仮想カメラ制御部１１８は、表示部１９０又は画像センサに対してプレーヤが左方向に移動した場合には、キャラクタに対して仮想カメラを右方向に移動する制御を行う。或いは、表示部１９０又は画像センサに対してプレーヤが右方向に移動した場合に、キャラクタに対して仮想カメラを左方向に移動する制御を行う。
【００７４】
なお、表示部１９０又は画像センサに対してプレーヤが「左方向」、「右方向」に移動とは、プレーヤから表示部１９０又は画像センサに向かう方向に対して「左方向」、「右方向」に移動することである。またキャラクタに対して仮想カメラを「右方向」、「左方向」に移動とは、仮想カメラからキャラクタに向かう方向に対して「右方向」、「左方向」に移動することである。
【００７５】
また仮想カメラ制御部１１８は、表示部１９０又は画像センサとプレーヤとの間の距離が短い場合（基準距離よりも短い場合）には、仮想カメラを一人称視点の設定にする。一方、表示部１９０又は画像センサとプレーヤとの間の距離が長い場合（基準距離よりも長い場合）には、仮想カメラを三人称視点の設定にする。例えば一人称視点の場合には、キャラクタは表示部１９０に表示されない仮想的なオブジェクトになる。なお一人称視点の場合に、キャラクタの手などの一部だけを表示してもよい。即ち一人称視点は、例えば少なくともキャラクタの頭部が表示されない視点設定である。一方、三人称視点の場合にはキャラクタが表示部１９０に表示される。具体的には、キャラクタの全身或いは頭部を含む体の一部が表示される。即ち三人称視点は、例えば少なくともキャラクタの頭部が表示される視点設定である。
【００７６】
なお、仮想カメラの画角の制御により一人称視点の設定が行われた場合には、画像生成部１２０は、キャラクタの少なくとも一部を描画対象から除外するクリッピング処理を行う。例えばキャラクタの全体を描画対象（ビューボリューム）から除外したり、キャラクタのうち、手などを除く部分を描画対象から除外する。
【００７７】
また画像情報取得部１０２は、画像センサからの画像情報としてデプス情報を取得する。このデプス情報は、例えば各画素位置にデプス値（奥行き値）が設定された画像情報である。すると情報取得部１０４は、取得されたデプス情報に基づいて、プレーヤの位置情報を取得する。例えばプレーヤの画像領域におけるデプス情報のデプス値により、表示部１９０又は画像センサとプレーヤとの間の距離情報を、プレーヤの位置情報として取得する。
【００７８】
また判定部１１９は、プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを判定する。この場合に画像生成部１２０は、プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っている場合とで、異なる画像を生成する。
【００７９】
具体的には情報取得部１０４は、画像センサからの画像情報に基づいて、画像センサから見えるプレーヤの動作を特定するスケルトン情報を取得する。この取得されたスケルトン情報はスケルトン情報記憶部１７４に保存される。
【００８０】
ここでスケルトン情報は、例えば画像センサから見えるプレーヤの動作を特定する情報である。具体的には、このスケルトン情報は、プレーヤの複数の関節に対応する複数の関節位置情報を有し、各関節位置情報は３次元座標情報により構成される。各関節を結合するものが骨（ボーン）となり、複数の骨の結合によりスケルトンが構成される。
【００８１】
このようにスケルトン情報が取得されると、判定部１１９は、プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを、スケルトン情報に基づいて判定する。即ちスケルトン情報での関節位置の動きを解析することで、プレーヤが右手、左手のいずれの手を主体的に用いてプレイ動作を行っているのかを判定する。
【００８２】
そして画像生成部１２０は、例えば三人称視点においてプレーヤが右手を用いてプレイ動作を行っていると判定された場合には、表示部１９０の画面の左側（例えば画面中心よりも左側の領域）にキャラクタが表示される画像を生成する。また、三人称視点においてプレーヤが左手を用いてプレイ動作を行っていると判定された場合には、表示部１９０の画面の右側（例えば画面中心よりも右側の領域）にキャラクタが表示される画像を生成する。
【００８３】
一方、画像生成部１２０は、一人称視点においてプレーヤが右手を用いてプレイ動作を行っていると判定された場合には、表示部１９０の画面の右側にキャラクタの一部の部位（例えば手）が表示される画像を生成する。また一人称視点においてプレーヤが左手を用いてプレイ動作を行っていると判定された場合には、表示部の画面の左側にキャラクタの一部の部位が表示される画像を生成する。
【００８４】
このように画像生成部１２０は、プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っている場合とで、異なる画像を生成する。
【００８５】
また本実施形態では画像情報取得部１０２が画像センサからの画像情報を取得すると、情報取得部１０４が、画像情報に基づく画像処理を行う。そしてプレーヤ（観者）の所持物又は部位についての方向情報、色情報及び形状情報の少なくとも１つを、レンダリング用情報として取得する。
【００８６】
ここで所持物はプレーヤが所持する現実世界の物体である。部位は、プレーヤの体の一部であり、手、足、腕、もも、頭部、胸等である。プレーヤの所持物又は部位の方向情報は、所持物又は部位の方向を表す情報であり、所持物又は部位の向く方向や所持物又は部位の面の法線方向などである。所持物又は部位の色情報は、所持物又は部位の色を表す情報である。所持物又は部位の形状情報は、所持物又は部位の形状を表す情報（形状を概略的に表す情報）であり、多角形、丸等の平面形状や、多面体、球、円柱、錐体等の立体形状などである。レンダリング用情報は、画像のレンダリング処理に使用する情報である。
【００８７】
そして画像生成部１２０は、これらの方向情報、色情報及び形状情報の少なくとも１つであるレンダリング用情報（シェーディング用情報）に基づくレンダリング処理（シェーディング処理）を行って、画像を生成する。例えば所持物又は部位の方向情報や色情報や形状情報をレンダリング処理のパラメータに設定してレンダリング処理を行い、例えばオブジェクト空間内において仮想カメラから見える画像を生成する。
【００８８】
具体的には画像生成部１２０は、レンダリング用情報に基づいて、オブジェクト空間に配置設定される光源の光源情報（光源属性情報）を設定する。例えば所持物又は部位の方向情報により光源方向を設定したり、色情報により光源色を設定したり、形状情報により光源形状を設定する。そして画像生成部１２０は、このようにして光源情報が設定された光源を用いたレンダリング処理を行って、オブジェクト空間内において仮想カメラから見える画像を生成する。例えば光源の光源情報とオブジェクトのポリゴン（プリミティブ面）の法線ベクトルに基づいてシェーディング処理を行い、画像を生成する。この場合に、ランバート（Lambert）、フォン（Phong）、ブリン（Blinn）などの種々の照明モデルを用いて、グーロー（Gouraud）シェーディング、フォン（Phong）シェーディングなどのシェーディング処理を行う。
【００８９】
また画像生成部１２０は、画像情報により取得されたプレーヤのスケルトン情報とキャラクタの位置情報に基づいて、オブジェクト空間内での光源の配置位置を特定する。例えばオブジェクト空間のワールド座標系でのキャラクタの位置情報（代表位置の情報）と、ローカル座標系でのスケルトンの関節位置情報（所持物又は部位に対応する関節の位置情報）に基づいて、光源の配置位置を特定する。
【００９０】
また画像情報取得部１０２は、画像センサからの画像情報としてデプス情報とカラー画像情報を取得する。そして情報取得部１０４は、取得されたデプス情報に基づいて、プレーヤの所持物又は部位の方向情報及び形状情報の少なくとも１つをレンダリング用情報として取得する。例えばデプス情報やカラー画像情報に基づいて、プレーヤの所持物や部位の方向や形状を判断して、レンダリング用情報として取得する。
【００９１】
また情報取得部１０４は、画像センサからの画像情報に基づいてスケルトン情報を取得し、取得されたスケルトン情報に基づいて、プレーヤの所持物又は部位についての方向情報を取得してもよい。例えばスケルトンの手に対応する第１、第２の関節を結ぶ方向を、プレーヤの所持物又は部位についての方向情報として設定する。
【００９２】
また情報取得部１０４は、取得されたスケルトン情報に基づいて、レンダリング用情報の取得のための画像処理の処理領域を設定してもよい。例えばスケルトン情報に基づいて、プレーヤの所持物又は部位の位置を特定し、特定された位置を含む所定サイズの領域（画面よりも小さな領域）を処理領域に設定する。そして情報取得部１０４は、設定された処理領域でのデプス情報やカラー画像情報を用いて画像処理を行って、プレーヤの所持物又は部位の方向情報や色情報や形状情報を取得する。
【００９３】
また情報取得部１０４は、画像センサからの画像情報に基づく画像処理を行って、プレーヤの所持物又は部位についての方向情報及び形状情報の少なくとも１つを、ヒット演算用情報として取得する。そしてヒット演算部１１０は、取得されたヒット演算用情報に基づいてヒット演算処理を行う。例えばプレーヤの所持物又は部位の方向や形状を反映させたヒット演算処理（ヒットチェック処理）を行う。具体的にはヒット演算用情報の方向情報により特定される軌道方向（ヒット方向）に基づいて、ターゲットオブジェクト（弾等の被ヒット物のヒットのターゲットになるオブジェクト）に対するヒット演算処理を行う。そして画像生成部１２０は、ヒット演算処理の結果に基づいて、画像を生成する。例えば弾等の被ヒット物の画像を生成したり、被ヒット物がターゲットオブジェクトにヒットした場合に、ヒットエフェクト演出用の画像を生成する。
【００９４】
また情報取得部１０４は、画像情報取得部１０２が画像情報としてデプス情報を取得した場合に、取得されたデプス情報に基づいて、プレーヤの所持物又は部位の方向情報及び形状情報の少なくとも１つをヒット演算用情報として取得してもよい。例えばデプス情報やカラー画像情報に基づいて、プレーヤの所持物や部位の方向や形状を判断して、ヒット演算用情報として取得する。
【００９５】
なお、情報取得部１０４は、このヒット演算処理の場合にも、レンダリング処理の場合と同様に、スケルトン情報に基づいて、プレーヤの所持物又は部位についての方向情報を取得する。またスケルトン情報に基づいて、ヒット演算用情報の取得のための画像処理の処理領域を設定する。
【００９６】
２．本実施形態の手法
次に本実施形態の手法について具体的に説明する。
【００９７】
２．１  プレーヤの位置情報に基づく仮想カメラの制御
一般的に、ゲーム装置では、ゲームコントローラのボタンやレバーを操作してゲーム操作を行う。またゲームコントローラにモーションセンサ（６軸センサ）を設け、プレーヤがゲームコントローラそのものを動かすことでゲーム操作を行うゲーム装置もある。
【００９８】
しかしながら、このような操作インターフェースのゲーム装置では、ゲーム操作にゲームコントローラが必要になり、プレーヤの手の動きなどのジェスチャをそのまま反映させるようなゲーム操作については実現できず、プレーヤの仮想現実感を今ひとつ向上できない。
【００９９】
そこで本実施形態では、画像センサで撮像された画像情報に基づきプレーヤの操作入力を可能にする操作インターフェースを採用している。
【０１００】
例えば図２（Ａ）では、表示部１９０に対応する位置に、デプスセンサ（赤外線センサ等）やカラー画像センサ（ＣＣＤやＣＭＯＳセンサなどのＲＧＢセンサ）により実現される画像センサＩＳＥが設置されている。この画像センサＩＳＥは、例えばその撮像方向（光軸方向）が表示部１９０からプレーヤＰＬの方に向く方向になるように設置されており、表示部１９０側から見たプレーヤＰＬのカラー画像情報やデプス情報を撮像する。なお画像センサＩＳＥは、表示部１９０に内蔵されるものであってもよいし、外付け部品として用意されるものであってもよい。
【０１０１】
そして図２（Ａ）の画像センサＩＳＥを用いて、図２（Ｂ）に示すようなカラー画像情報とデプス情報を取得する。例えばカラー画像情報では、プレーヤＰＬやその周りの風景の色情報が得られる。一方、デプス情報では、プレーヤＰＬやその周りの風景のデプス値（奥行き値）が、例えばグレースケール値として得られる。例えばカラー画像情報は、その各画素位置にカラー値（ＲＧＢ）が設定された画像情報であり、デプス情報は、その各画素位置にデプス値（奥行き値）が設定された画像情報である。なお、画像センサＩＳＥは、デプスセンサとカラー画像センサとが別々に設けられたセンサであってもよいし、デプスセンサとカラー画像センサとが複合的に組み合わせられたセンサであってもよい。
【０１０２】
デプス情報の取得手法としては、公知に種々の手法を想定できる。例えば画像センサＩＳＥ（デプスセンサ）から赤外線等の光を投射し、その投射光の反射強度や、投射光が戻ってくるまでの時間（Time Of Flight）を検出することで、デプス情報を取得し、画像センサＩＳＥの位置から見たプレーヤＰＬなどの物体のシェイプを検出する。具体的には、デプス情報は、例えば画像センサＩＳＥから近い物体では明るくなり、画像センサＩＳＥから遠い物体では暗くなるグレースケールデータとして表される。なおデプス情報の取得手法としては種々の変形実施が可能であり、例えばＣＭＯＳセンサなどの画像センサを用いて、カラー画像情報と同時にデプス情報（被写体までの距離情報）を取得するようにしてもよい。また超音波などを用いた測距センサなどによりデプス情報を取得してもよい。
【０１０３】
そして本実施形態では、画像センサＩＳＥからの画像情報に基づいて表示部１９０又は画像センサＩＳＥに対するプレーヤＰＬの位置情報（相対的な位置関係）を取得する。
【０１０４】
例えば図２（Ｂ）のデプス情報によれば、表示部１９０（画像センサ）から見た時のプレーヤ等の３次元形状を取得できる。従って、デプス情報の画素位置の２次元座標により、プレーヤＰＬのＸ、Ｙの位置座標（代表位置の座標）を求めることができ、画素位置でのデプス値に基づいて、プレーヤＰＬのＺの位置座標を求めることができる。
【０１０５】
なおプレーヤＰＬの位置情報（代表位置の座標）を、カラー画像情報により求めることもできる。即ち、カラー画像情報に基づいてプレーヤＰＬの画像認識（例えば顔画像認識）を行う。そしてカラー画像情報の画素位置の２次元座標により、プレーヤＰＬのＸ、Ｙの位置座標を求める。またカラー画像情報でのプレーヤＰＬの画像領域の大きさの変化を検出することで、プレーヤＰＬのＺの位置座標を求めることができる。またプレーヤＰＬの位置情報は、必ずしも３次元座標情報である必要はなく、例えば、表示部１９０又は画像センサＩＳＥとプレーヤＰＬとの距離情報（Ｚの位置座標）であってもよい。
【０１０６】
本実施形態では、このようにして取得されたプレーヤＰＬの位置情報に基づいて、プレーヤＰＬに対応するキャラクタと仮想カメラとの間の奥行き方向での距離を制御する。或いは、キャラクタと仮想カメラとの間の高さ方向での距離や、キャラクタと仮想カメラとの間の横方向での距離を制御する。或いは、仮想カメラの画角を制御してもよい。なお、
本実施形態では、プレーヤＰＬの位置情報（距離情報）は、画像センサＩＳＥに対する位置情報（画像センサからの距離情報）であってもよいが、以下では、説明の簡素化のために、プレーヤＰＬの位置情報（距離情報）が、表示部１９０に対する位置情報（表示部からの距離情報）である場合を主に例にとり説明する。
【０１０７】
例えば図３（Ａ）では、プレーヤＰＬが表示部１９０（画像センサ）の方に近づいている。すると、画像センサＩＳＥからの画像情報により取得されたプレーヤＰＬの位置情報により、表示部１９０（画像センサ）とプレーヤＰＬとの距離Ｌ１が短いと判断される。
【０１０８】
また図３（Ｂ）において、キャラクタＣＨはプレーヤＰＬに対応するものであり、プレーヤＰＬの操作によりオブジェクト空間内を移動するオブジェクトである。そして図３（Ａ）では、表示部１９０とプレーヤＰＬとの距離Ｌ１は短いと判断されているため、図３（Ｂ）に示すように、キャラクタＣＨに対する仮想カメラＶＣの奥行き方向（Ｚ方向）での距離は短い距離Ｚ１に設定される。
【０１０９】
一方、図４（Ａ）では、プレーヤＰＬが表示部１９０から遠くに離れている。すると、画像センサＩＳＥからの画像情報により取得されたプレーヤＰＬの位置情報により、表示部１９０（画像センサ）とプレーヤＰＬとの距離Ｌ２（Ｌ２＞Ｌ１）が長いと判断される。
【０１１０】
従って、この場合には図４（Ｂ）に示すように、キャラクタＣＨに対する仮想カメラＶＣの奥行き方向での距離は長い距離Ｚ２（Ｚ２＞Ｚ１）に設定される。
【０１１１】
このように図３（Ａ）〜図４（Ｂ）では、表示部１９０とプレーヤＰＬとの間の距離が長くなるにつれて、キャラクタＣＨと仮想カメラＶＣとの間の奥行き方向での距離を長くしている。従って、図３（Ａ）のようにプレーヤＰＬが表示部１９０に近づくと、図３（Ｂ）に示すように、オブジェクト空間（ゲーム空間）では、キャラクタＣＨに対して仮想カメラＶＣが近づくようになる。即ち、キャラクタＣＨは止まったままの状態で、仮想カメラＶＣだけがキャラクタＣＨに近づく方向に移動する。これにより、キャラクタＣＨやその周りの状況がズームアップされて詳細に見えるようになり、プレーヤＰＬは、自身に対応するキャラクタＣＨやその周囲の状況を、詳細に把握できるようになる。
【０１１２】
一方、図４（Ａ）に示すようにプレーヤＰＬが表示部１９０から遠ざかると、図４（Ｂ）に示すように、オブジェクト空間では、キャラクタＣＨに対して仮想カメラＶＣが遠ざかるようになる。即ち、キャラクタＣＨは止まったままの状態で、仮想カメラＶＣだけがキャラクタＣＨから遠ざかる方向に移動する。これにより、キャラクタＣＨやその周りの状況がズームアウトされて表示されるようになり、プレーヤＰＬは、キャラクタＣＨやその周囲の状況を、広い視野で概観して見渡すことが可能になる。
【０１１３】
また図３（Ａ）のようにプレーヤＰＬが表示部１９０の方に近づき、表示部１９０とプレーヤＰＬとの距離Ｌ１が短いと判断されると、図３（Ｂ）に示すように、キャラクタＣＨに対する仮想カメラＶＣの高さ方向（Ｙ方向）での距離は短い距離Ｈ１に設定される。
【０１１４】
一方、図５（Ａ）のように、プレーヤＰＬが表示部１９０から遠くに離れ、表示部１９０とプレーヤＰＬとの距離Ｌ２が長いと判断されると、図５（Ｂ）に示すように、キャラクタＣＨに対する仮想カメラＶＣの高さ方向での距離は長い距離Ｈ２（Ｈ２＞Ｈ１）に設定される。
【０１１５】
このように図３（Ａ）、図３（Ｂ）、図５（Ａ）、図５（Ｂ）では、表示部１９０とプレーヤＰＬとの間の距離が長くなるにつれて、キャラクタＣＨと仮想カメラＶＣとの間の高さ方向での距離を長くしている。
【０１１６】
即ち、図３（Ａ）に示すようにプレーヤＰＬが表示部１９０に近づくと、図３（Ｂ）に示すように仮想カメラＶＣは低い位置に設定される。これにより、キャラクタＣＨの周りの状況がズームアップされて詳細に見えるようになる。
【０１１７】
一方、図５（Ａ）に示すようにプレーヤＰＬが表示部１９０から遠ざかると、図５（Ｂ）に示すように仮想カメラＶＣは高い位置に設定される。これにより、キャラクタＣＨを含む周りの状況がズームアウトされて表示され、キャラクタＣＨやその周囲の状況を、上方から見渡して概観することが可能になる。
【０１１８】
なお、表示部１９０とプレーヤＰＬとの距離が長くなった場合に、図５（Ｂ）に示すように高い位置に仮想カメラＶＣを移動すると共に、図４（Ｂ）に示すようにキャラクタＣＨから後ろ方向に離れた位置に仮想カメラＶＣを移動してもよい。
【０１１９】
また、プレーヤＰＬと表示部１９０との距離に応じて、仮想カメラＶＣの画角を制御してもよい。
【０１２０】
例えば図６（Ａ）のようにプレーヤＰＬが表示部１９０の方に近づき、表示部１９０とプレーヤＰＬとの距離Ｌ１が短いと判断されると、図６（Ｂ）に示すように、仮想カメラＶＣの画角を狭い角度θ１に設定する。このように画角を狭い角度θ１に設定することで、キャラクタＣＨやその周囲の状況がズームアップされて表示されるようになり、その詳細を容易に把握できるようになる。
【０１２１】
一方、図６（Ｃ）のようにプレーヤＰＬが表示部１９０から遠ざかり、表示部１９０とプレーヤＰＬとの距離Ｌ２が長いと判断されると、図６（Ｄ）に示すように、仮想カメラＶＣの画角を広い角度θ２に設定する。このように画角を広い角度θ２に設定することで、キャラクタＣＨやその周囲の状況がズームアウトされて表示されるようになり、その概観を広い視野で見渡すことが可能になる。
【０１２２】
以上の本実施形態の手法によれば、プレーヤが表示部に近づいたり、離れたりすることで、キャラクタに対する仮想カメラの相対的な位置関係が変化し、表示部に表示される画像も変化するようになる。従って、ゲームコントローラを用いなくても、プレーヤの動きによって、オブジェクト空間での仮想カメラの視点設定をコントロールできるようになり、これまでにない操作インターフェース環境を提供できる。
【０１２３】
そしてプレーヤが図７に示すように表示部に近づいてのぞき込むと、仮想カメラがキャラクタに近づいて、キャラクタやその周囲の状況を詳細に表した画像が、表示部に表示されるようになる。一方、プレーヤが表示部から離れると、仮想カメラがキャラクタから後方に離れて、キャラクタやその周囲の状況を広い視野で概観する画像が、表示部に表示されるようになる。従って、プレーヤにとって直感的で分かりやすい操作インターフェース環境を提供することができ、プレーヤの仮想現実感の向上等を図れる。
【０１２４】
また本実施形態では、プレーヤの位置情報に基づいて、キャラクタと仮想カメラの横方向での位置関係を変化させてもよい。
【０１２５】
例えば図８（Ａ）では、プレーヤＰＬは表示部１９０の真正面に立っている。この場合には図８（Ｂ）に示すように、オブジェクト空間内のキャラクタＣＨの真後ろに仮想カメラＶＣが設定されて、表示部１９０に表示する画像が生成される。
【０１２６】
一方、図８（Ｃ）では、表示部１９０に対してプレーヤＰＬが左方向に移動している。この「左方向に移動」とは、プレーヤＰＬから表示部１９０へと向かう方向（正面方向）に対して左方向に移動することを意味する。
【０１２７】
そして図８（Ｃ）に示すように表示部１９０に対してプレーヤＰＬが左方向に移動すると、図８（Ｄ）に示すように、オブジェクト空間（ゲーム空間）においては、キャラクタＣＨに対して仮想カメラＶＣは右方向に移動する。この「右方向に移動」とは、仮想カメラＶＣからキャラクタＣＨへと向かう方向に対して右方向に移動することを意味する。
【０１２８】
このように図８（Ａ）〜図８（Ｄ）では、表示部１９０に対してプレーヤＰＬが左方向に移動すると、キャラクタＣＨに対して仮想カメラＶＣが右方向に移動する。即ち、プレーヤＰＬの移動方向とは反対方向に、仮想カメラＶＣが移動する。また図８（Ａ）〜図８（Ｄ）と同様に、表示部１９０に対してプレーヤが右方向に移動すると、今度は、キャラクタＣＨに対して仮想カメラが左方向に移動する。即ち、この場合にも、プレーヤＰＬの移動方向とは反対方向に、仮想カメラＶＣが移動する。
【０１２９】
以上のように仮想カメラＶＣを制御することで、例えば図９に示すような画像を生成することが可能になる。例えば三人称視点のゲームでは、図９のように、表示部１９０の画面の左側にキャラクタＣＨを表示し、画面の右側の状況を見渡せるような画像を表示することが望ましい。このような画像を表示すれば、プレーヤは、画面の右側に表示されるターゲットオブジェクトＴＯＢ（図９ではドア）等の状況を把握しながら、画面の左側に表示されるキャラクタＣＨの移動を操作して、ゲーム空間内を移動することが可能になる。従って、プレーヤは、３次元ゲームにおいてキャラクタを操作してスムーズに移動させることが可能になる。
【０１３０】
そして本実施形態では図８（Ａ）〜図８（Ｄ）に示すように、プレーヤＰＬが表示部１９０（画面）に対して左方向に移動することで、キャラクタＣＨに対して仮想カメラＶＣが右方向に移動し、これにより図９に示すような画像が生成されるようになる。即ち、画面の左側に、キャラクタＣＨが表示され、画面の右側に、敵や地形などが広い視野で表示されるようになる。従って、ゲーム操作が難しい３次元ゲームにおいても、スムーズはキャラクタの移動を実現できる。また、プレーヤＰＬがその体を左方向等に動かすだけで、仮想カメラＶＣが移動し、図９に示すような画像が生成されるようになるため、直感的で分かりやすい操作インターフェース環境を提供できる。
【０１３１】
また本実施形態では、プレーヤの位置情報に基づいて、一人称視点と三人称視点を切り替えるような視点設定を行ってもよい。
【０１３２】
例えば図３（Ａ）に示すようにプレーヤＰＬが表示部１９０に近づくと、図１０（Ａ）に示すように一人称視点に設定される。この一人称視点では、例えばキャラクタＣＨ（表示されない仮想的なキャラクタ）の視点の位置ＰＶＣに仮想カメラＶＣが配置される。なお仮想カメラＶＣの方向はＤＶＣに設定される。
【０１３３】
一方、図４（Ａ）に示すようにプレーヤＰＬが表示部１９０から遠ざかると、図１０（Ｂ）に示すように三人称視点に設定される。この三人称視点では、キャラクタＣＨの後方の位置ＰＶＣに仮想カメラＶＣが配置される。なお仮想カメラＶＣの方向はＤＶＣに設定される。
【０１３４】
このように図１０（Ａ）、図１０（Ｂ）では、表示部１９０とプレーヤＰＬとの間の距離が短い場合には、仮想カメラＶＣが一人称視点に設定され、表示部１９０とプレーヤＰＬとの間の距離が長い場合には、仮想カメラＶＣが三人称視点に設定される。
【０１３５】
そして一人称視点では図１１（Ａ）に示すような画像が生成される。この一人称視点の画像では、キャラクタＣＨの前方に存在するターゲットオブジェクトＴＯＢに視点が近づいた画像が生成されるため、ターゲットオブジェクトＴＯＢの詳細な情報を容易に把握できる。例えば図１１（Ａ）ではターゲットオブジェクトＴＯＢであるドアに書かれた文字なども読むことが可能になる。なお図１１（Ａ）の一人称視点の画像では、キャラクタＣＨの一部である手や、所持物である武器ＡＯＢが表示されている。これらのオブジェクトを表示することで、一人称視点での操作が容易化される。
【０１３６】
一方、三人称視点では図１１（Ｂ）に示すような画像が生成される。この三人称視点の画像では、ターゲットオブジェクトＴＯＢから視点が遠ざかった画像が生成されるため、ターゲットオブジェクトＴＯＢ等の前方の状況やキャラクタＣＨの周囲の状況を、広い視野で見渡すことが可能になる。
【０１３７】
従って、プレーヤＰＬは、前方等の周囲の状況を詳細に見たい場合には、表示部１９０の近くに移動することで、図１１（Ａ）に示すような画像を見ることができる。一方、周囲の状況を広い視野で概観したい場合には、表示部１９０から離れた位置に移動することで、図１１（Ｂ）に示すような画像を見ることができる。従って、プレーヤにとって直感的で分かりやすい視点設定の切換を実現できる。また、この視点設定の切換は、画像センサＩＳＥからの画像情報に基づき自動的に行われ、ゲームコントローラのゲーム操作を必要としないため、プレーヤのゲーム操作を簡素化できる。
【０１３８】
なお図１１（Ａ）、図１１（Ｂ）に示すような一人称視点、三人称視点の画像は、図１２（Ａ）〜図１２（Ｃ）に示すように仮想カメラＶＣの画角を制御することによっても、生成できる。
【０１３９】
例えば図１１（Ａ）の一人称視点の画像は、図１２（Ａ）に示すように仮想カメラＶＣの画角を狭い角度θ１に設定することで生成できる。一方、図１１（Ｂ）の三人称視点の画像は、図１２（Ｃ）に示すように仮想カメラＶＣの画角を広い角度θ２に設定することで生成できる。
【０１４０】
なお、このように仮想カメラＶＣの画角の制御により一人称視点の設定を行う場合には、キャラクタＣＨの少なくとも一部を描画対象から除外するクリッピング処理を行うことが望ましい。例えば図１２（Ａ）では、ビューボリューム（ビューポート、視錐台）の手前側（仮想カメラ側）のクリッピング面ＳＣＬＰを、キャラクタＣＨよりも奥側に設定する。このようにすることで、キャラクタＣＨは、ビューボリューム内に存在しなくなり、描画対象から除外され、一人称視点の画像を生成することが可能になる。
【０１４１】
なお、一人称視点の画像を生成する際に、図１２（Ｂ）に示すように手前側のクリッピング面ＳＣＬＰを、キャラクタＣＨの手の位置付近に設定してもよい。このようにすれば、キャラクタＣＨの手（手の一部）や武器等の所持物についてはビューボリューム内に入り、描画対象に設定される。一方、キャラクタＣＨのうち、手や所持物を除く部分（広義にはキャラクタの少なくとも一部）については、描画対象から除外される。従って図１１（Ａ）に示すように、キャラクタＣＨの手や武器ＡＯＢが表示される一人称視点の画像を生成できるようになる。
【０１４２】
一方、三人称視点の画像を生成する場合には、図１２（Ｃ）に示すように、クリッピング面ＳＣＬＰはキャラクタＣＨよりも手前側に設定される。このようにすることで、キャラクタＣＨがビューボリューム内に存在するようになり、描画対象に設定される。従って、図１１（Ｂ）に示すような三人称視点の画像を生成できるようになる。
【０１４３】
以上に説明した本実施形態の手法では、プレーヤの位置情報に基づいて、オブジェクト空間内のキャラクタと仮想カメラとの間の奥行き方向や高さ方向や横方向での距離が変化するように仮想カメラが制御される。従って、これまでにない視点制御を実現できる。また、仮想カメラの制御は、画像センサからの画像情報に基づいて自動的に行われ、ゲームコントローラの操作を必要としないため、プレーヤの操作を簡素化できる。
【０１４４】
また本実施形態では図３（Ａ）〜図７で説明したように、プレーヤが表示部に近づくと、仮想カメラがキャラクタの方に近づいたり、画角が狭くなることで、ズームアップしたような画像が生成される。一方、プレーヤが表示部から離れると、仮想カメラがキャラクタの後方に遠ざかったり、画角が広くなることで、ズームアウトしたような画像が生成されるようになる。従って、プレーヤにとって直感的で分かりやすい視点設定の制御が可能になる。
【０１４５】
また本実施形態では図８（Ａ）〜図８（Ｄ）で説明したように、表示部に対してプレーヤが横方向に移動すると、オブジェクト空間内ではキャラクタに対して仮想カメラが反対方向に移動する。従って、図９に示すようなウォーゲームやシューティングゲーム等に好適な視点設定の画像を、プレーヤが横方向に動くだけという簡素な操作で生成することが可能になる。
【０１４６】
また本実施形態では図１０（Ａ）、図１０（Ｂ）で説明したように、プレーヤと表示部との距離に応じて、一人称視点と三人称視点が切り替えられる。従って、ゲームコントローラに視点切り替えボタン等を設けなくても、プレーヤの前後の動きだけで一人称視点と三人称視点を切り替えることが可能になり、直感的で分かりやすい操作インターフェース環境を実現できる。
【０１４７】
また本実施形態では、図２（Ｂ）に示すようなデプス情報に基づいてプレーヤの位置情報を取得して、上述のように仮想カメラを制御する。このようにデプス情報を用いれば、表示部側（画像センサ側）から見たプレーヤの位置情報を簡素な処理で効率的に取得できる。即ち、プレーヤが表示部に対して奥行き方向に動いたり、横方向に動いた場合にも、デプス情報を用いてプレーヤの位置情報を容易に特定でき、特定された位置情報に基づいて図３（Ａ）〜図１２（Ｃ）で説明した仮想カメラの制御を実現できる。また、後述するように、このデプス情報に基づいてプレーヤのスケルトン情報を求め、求められたスケルトン情報を用いて、プレーヤの所持物や部位の位置を特定したり、画像処理の処理範囲を設定することも可能になる。なお、プレーヤの位置情報を、デプス情報を用いないで取得する手法も可能である。例えば、前述のようにカラー画像情報でのプレーヤの画像領域の面積等を求め、表示部とプレーヤとの距離情報をプレーヤの位置情報として取得してもよい。或いは、プレーヤまでの距離を測定できる測距センサを用いて、表示部とプレーヤとの距離情報をプレーヤの位置情報として取得してもよい。
【０１４８】
２．２  プレイ動作の判定による画像生成
本実施形態では、プレーヤが右手、左手のいずれを用いてプレイ動作を行っているかに応じて、異なる画像を生成する手法を採用している。
【０１４９】
例えばウォーゲームやシューティングゲーム等では、キャラクタが銃等の武器を持ち、ターゲットである敵を倒してゲームを楽しむ。しかしながら、プレーヤには、右利きのプレーヤと左利きのプレーヤが存在する。そして、一般的に、右利きのプレーヤは右手に武器を持って敵を攻撃し、左利きのプレーヤや左手に武器を持って敵を攻撃する。
【０１５０】
そこで本実施形態は、プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを判定する。ここでプレイ動作は、ゲームを進行させるためにプレーヤが行う動作であり、例えば攻撃動作、守備動作、移動指示動作、ターゲットを狙う動作、つかむ動作、投げる動作、取る動作、叩く動作、或いは指示する動作などである。このプレイ動作は、原則的には、右手、左手の一方の手により行われるが、両手を用いて行うこともできる。この場合には、両手のうちの主体的に動作を行っている方の手が、「プレイ動作を行っている手」であるとする。例えば右手に剣を持ち、左手に盾を持っている場合には、右手の方が「プレイ動作を行っている手」になる。また右手に攻撃力が高い武器を持ち、左手に攻撃力が低い武器を持っている場合には、右手の方が「プレイ動作を行っている手」になる。例えば「プレイ動作を行っている手」はプレーヤの利き腕となる手である。
【０１５１】
そして本実施形態では、プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っている場合とで、異なる画像を生成して表示部に表示する。
【０１５２】
例えば図１３（Ａ）は、プレーヤが右手を用いてプレイ動作を行っている場合に生成される画像の例であり、図１３（Ｂ）は、プレーヤが左手を用いてプレイ動作を行っている場合に生成される画像の例である。これらの画像は一人称視点の画像の例である。
【０１５３】
図１３（Ａ）では、右手に武器ＡＯＢを持ち、右手を左手よりも前に出している。例えばプレーヤが右利きである場合には、右手を左手よりも前に出す姿勢でプレイ動作を行うと考えられるため、このようなプレーヤの姿勢・動作が画像センサからの画像情報により検出されると、図１３（Ａ）に示すような画像を生成する。
【０１５４】
一方、図１３（Ｂ）では、左手に武器ＡＯＢを持ち、左手を右手よりも前に出している。例えばプレーヤが左利きである場合には、左手を右手よりも前に出す姿勢でプレイ動作を行うと考えられるため、このようなプレーヤの姿勢・動作が画像センサからの画像情報により検出されると、図１３（Ｂ）に示すような画像を生成する。
【０１５５】
図１３（Ａ）、図１３（Ｂ）に示すように、本実施形態では、プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っている場合とで、異なる画像が生成される。
【０１５６】
この場合に本実施形態では、プレーヤが右手、左手のいずれの手を用いてプレイ動作を行っているかを、プレーヤのスケルトン情報に基づいて判定することが望ましい。
【０１５７】
即ち本実施形態では図１４に示すように、図２（Ｂ）のデプス情報等の画像情報に基づいて、プレーヤＰＬの動作を特定するためのスケルトン情報を取得する。図１４ではスケルトン情報として、スケルトンの関節Ｃ０〜Ｃ１９の位置情報（３次元座標）が取得されている。これらの関節Ｃ０〜Ｃ１０は、画像センサＩＳＥに映るプレーヤＰＬの関節に対応するものである。なお画像センサＩＳＥにプレーヤＰＬの全身が映らない場合には、映った部分だけの関節の位置情報を有するスケルトン情報を生成すればよい。
【０１５８】
例えば図２（Ｂ）のデプス情報を用いれば、画像センサＩＳＥ側から見たプレーヤＰＬ等の３次元形状を特定できる。またカラー画像情報を組み合わせれば、顔画像認識などによりプレーヤＰＬの顔等の部位の領域も特定できる。そこで、これらの３次元形状の情報等に基づいて、プレーヤＰＬの各部位を推定し、各部位の関節位置を推定する。そして推定された関節位置に対応するデプス情報の画素位置の２次元座標と、画素位置に設定されたデプス情報に基づいて、スケルトンの関節位置の３次元座標情報を求め、図１４に示すようなスケルトン情報を取得する。
【０１５９】
このようなスケルトン情報を用いれば、プレーヤＰＬのジェスチャ等の動作をリアルタイムに特定することができ、従来にない操作インターフェース環境を実現できる。また、このスケルトン情報は、オブジェクト空間に配置されるキャラクタＣＨのモーションデータとの親和性が高い。従って、このスケルトン情報を例えばモーションデータとして利用して、オブジェクト空間においてキャラクタＣＨを動作させることも可能になる。
【０１６０】
そして本実施形態では、プレーヤが右手を用いてプレイ動作を行っている場合と左手を用いてプレイ動作を行っているかを、図１４のスケルトン情報を用いて判断する。例えば右手に対応する関節Ｃ７、Ｃ６の方が、左手に対応する関節Ｃ１１、１０よりも、前に出ていた場合（表示部側に位置していた場合）には、右手を用いてプレイ動作を行っていると判断する。一方、左手に対応する関節Ｃ１１、Ｃ１０の方が、右手に対応する関節Ｃ６、Ｃ７よりも、前に出ていた場合には、左手を用いてプレイ動作を行っていると判断する。或いは、右手を用いてプレイ動作を行っている場合のテンプレートとなるスケルトン情報を、右手基準スケルトン情報として用意し、左手を用いてプレイ動作を行っている場合のテンプレートとなるスケルトン情報を、左手基準スケルトン情報として用意する。そして、画像センサにより検出されたプレーヤのスケルトン情報と、上記の右手基準スケルトン情報及び左手基準スケルトン情報とのマッチング処理を行う。そしてマッチング処理の評価関数の結果を用いて、プレーヤが左右いずれの手でプレイ動作を行っているのかを判定してもよい。この場合のマッチング処理は例えば複数フレームに亘って行ってもよい。
【０１６１】
このように、デプス情報から得られるスケルトン情報を用いて、プレーヤが左右のいずれの手でプレイ動作を行っているかを判定すれば、より正確で適切な判定処理を実現できる。また例えばキャラクタのモーションを再生するために使用されるスケルトン情報を有効活用して、プレーヤが左右のいずれの手でプレイ動作を行っているかの判定処理を実現できるようになる。
【０１６２】
また本実施形態では、プレーヤが左右のいずれの手でプレイ動作を行っているかに応じて、生成される画像を異ならせているが、これに加えて、視点設定が三人称視点か一人称視点かに応じて、生成される画像を異ならせてもよい。
【０１６３】
例えば図１５（Ａ）、図１５（Ｂ）は、三人称視点の場合に生成される画像の例である。そして図１５（Ａ）では、三人称視点において、プレーヤが右手を用いてプレイ動作を行っていると判定されている。これは、右利きのプレーヤが、右手に武器を持つ動作を行ってゲームプレイをしている場合である。この場合には、表示部の画面の左側にキャラクタＣＨが表示される画像を生成する。そしてキャラクタＣＨが、利き腕である右手に武器ＡＯＢを持って、攻撃動作や攻撃準備動作を行う画像を生成する。
【０１６４】
一方、図１５（Ｂ）では、三人称視点において、プレーヤが左手を用いてプレイ動作を行っていると判定されている。これは、左利きのプレーヤが、左手に武器を持つ動作を行ってゲームプレイをしている場合である。この場合には、表示部の画面の右側にキャラクタＣＨが表示される画像を生成する。そしてキャラクタＣＨが、利き腕である左手に武器ＡＯＢを持って、攻撃動作や攻撃準備動作を行う画像を生成する。
【０１６５】
即ち、ウォーゲームやシューティングゲームなどにおいては、キャラクタＣＨが画面の中央に表示されているよりも、画面の左側や右側に表示されている方が、視野が開けて、他の物体を容易に把握できるようになるため、ゲームプレイを容易化できる。
【０１６６】
そして、右利きのプレーヤが右手に武器を持ってゲームをプレイする場合には、図１５（Ａ）に示すようにキャラクタＣＨが画面の左側に表示され、画面の右側に他の物体（マップ、敵）が表示される画面構成の方が、右利きのプレーヤにとってはゲームプレイが容易になると考えられる。このため本実施形態では、プレーヤが右手を用いてプレイ動作を行っていると判定された場合（右利きであると判定された場合）には、図１５（Ａ）に示すように画面の左側にキャラクタＣＨが表示される三人称視点の画像を生成する。
【０１６７】
一方、左利きのプレーヤが左手に武器を持ってゲームをプレイする場合には、図１５（Ｂ）に示すようにキャラクタＣＨが画面の右側に表示され、画面の左側に他の物体が表示される画面構成の方が、左利きのプレーヤにとってはゲームプレイが容易になると考えられる。このため本実施形態では、プレーヤが左手を用いてプレイ動作を行っていると判定された場合（左利きであると判定された場合）には、図１５（Ｂ）に示すように画面の右側にキャラクタＣＨが表示される三人称視点の画像を生成する。
【０１６８】
このようにすれば、プレーヤが左利きであっても、右利きであっても、そのプレーヤの利き腕に応じた適切な画面構成の画像を表示できるようになる。
【０１６９】
なお、一人称視点の場合には、図１５（Ａ）、図１５（Ｂ）とは反対の画面構成にすることが望ましい。
【０１７０】
例えば図１６（Ａ）、図１６（Ｂ）は、一人称視点の場合に生成される画像の例である。そして図１６（Ａ）では、一人称視点において、プレーヤが右手を用いてプレイ動作を行っていると判定されている。この場合には、表示部の画面の右側にキャラクタＣＨの手（広義にはキャラクタの一部の部位）や武器ＡＯＢが表示される画像を生成する。そしてキャラクタＣＨが、利き腕である右手に武器ＡＯＢを持って、攻撃動作や攻撃の準備動作を行う画像を生成する。
【０１７１】
一方、図１６（Ｂ）では、一人称視点において、プレーヤが左手を用いてプレイ動作を行っていると判定されている。この場合には、表示部の画面の左側にキャラクタＣＨの手（一部の部位）や武器ＡＯＢが表示される画像を生成する。そしてキャラクタＣＨが、利き腕である左手に武器ＡＯＢを持って、攻撃動作や攻撃準備動作を行う画像を生成する。
【０１７２】
このように図１６（Ａ）、図１６（Ｂ）の一人称視点では、キャラクタの手等の表示位置が、図１５（Ａ）、図１５（Ｂ）の三人称視点の場合とは逆になる。そして一人称視点の場合には図１６（Ａ）、図１６（Ｂ）のような画面構成の方がプレーヤにとってゲームプレイが容易になると考えられる。このように本実施形態では、三人称視点と一人称視点とで、キャラクタの手等の表示位置が反対になる画面構成にすることで、三人称視点と一人称視点の視点切り替え等が行われた場合にも、プレーヤにとってゲームプレイが容易になるゲーム画像の生成が可能になる。
【０１７３】
２．３  所持物の方向情報等に基づくレンダリング処理
本実施形態では、画像センサＩＳＥからの画像情報に基づく画像処理を行って、プレーヤＰＬの所持物又は部位の方向情報、色情報又は形状情報等を、レンダリング用情報として取得する手法を採用している。
【０１７４】
例えば図１７（Ａ）ではプレーヤＰＬは板状（直方体、長方形）の所持物ＴＨを所持し、所持物ＴＨの面を表示部１９０側に向けている。この場合に本実施形態では、画像センサＩＳＥにより図１７（Ｂ）に示すようなカラー画像情報やデプス情報などの画像情報が取得される。
【０１７５】
そして図１７（Ｂ）のカラー画像情報に基づいて所持物ＴＨ（或いは部位）の色情報や形状情報を特定する。例えば図１７（Ｂ）のカラー画像情報によれば、所持物ＴＨの色や所持物ＴＨの直方体形状や面の四角形状を特定できる。また画像のパースのかかり具合を見ることで所持物ＴＨの面の方向ＤＴＨ（法線方向）を特定できる。
【０１７６】
また図１７（Ｂ）のデプス情報を用いても所持物ＴＨ（或いは部位）の方向情報（ＤＴＨ）や形状情報（直方体、四角形）を特定できる。即ちデプス情報によれば、画像センサＩＳＥから見た場合のプレーヤＰＬや所持物ＴＨの３次元形状を抽出できる。従って、例えば所持物ＴＨの四角形の面の領域でのデプス情報（デプス値の傾き等）に基づいて、所持物ＴＨの面の向く方向ＤＴＨ（法線方向）を特定できる。またデプス情報に基づいて所持物ＴＨの直方体形状や面の四角形状も特定できる。
【０１７７】
そして本実施形態では、このようにして特定された所持物ＴＨ等の方向情報、色情報又は形状情報をレンダリング用情報として、レンダリング処理を行う。なお、以下では、プレーヤＰＬの所持物ＴＨの方向情報、色情報又は形状情報を用いてレンダリング処理やヒット演算処理を行う場合について主に説明するが、プレーヤＰＬの手、足、腕又は頭部等の部位の方向情報、色情報又は形状情報を用いて、レンダリング処理やヒット演算処理を行ってもよい。
【０１７８】
例えば図１８（Ａ）では、プレーヤＰＬの所持物ＴＨの対応する位置に光源ＬＳが設定される。即ち図１７（Ａ）ではプレーヤＰＬは右手に所持物ＴＨを持っており、これに対応して図１８（Ａ）ではキャラクタＣＨの右手に懐中電灯のライト等の光源ＬＳが配置設定される。そして図１７（Ａ）で取得された所持物ＴＨの方向ＤＴＨに対応する方向に、光源ＬＳの光源方向ＤＬＳが設定される。そしてこの光源方向ＤＬＳで照射される光ＲＹによりターゲットオブジェクトＴＯＢのシェーディング処理が行われて、画像がレンダリングされる。これにより図１８（Ｂ）に示すように、光源ＬＳからの光ＲＹ等により陰影づけが施された画像が生成されて、表示部１９０に表示されるようになる。
【０１７９】
また本実施形態では、所持物ＴＨの色情報や形状情報が反映された画像を生成する。例えば図１９（Ａ）では、所持物ＴＨが円板形状であるため、光の照射面が円状の光源ＬＳが設定されて、その光源ＬＳに応じた光ＲＹの画像や光ＲＹによるシェーディング画像が生成される。また所持物ＴＨの色が赤であるため、光ＲＹの色も赤になり、光ＲＹが照射されるターゲットオブジェクトＴＯＢの画像も、赤の光が照射された画像になる。
【０１８０】
一方、図１９（Ｂ）では、所持物ＴＨが直方体形状であるため、光の照射面が長方形の光源ＬＳが設定されて、その光源ＬＳに応じた光ＲＹの画像や光ＲＹによるシェーディング画像が生成される。また所持物ＴＨの色が青であるため、光ＲＹの色も青になり、光ＲＹが照射されるターゲットオブジェクトＴＯＢの画像も、青の光が照射された画像になる。
【０１８１】
また本実施形態では、図１４で説明したスケルトン情報を用いて、光源ＬＳの配置位置を特定する。具体的には図２０において、プレーヤＰＬに対応するキャラクタＣＨの位置情報ＰＲＦ（代表位置情報）を求める。例えば本実施形態では、キャラクタＣＨの移動を指示するプレーヤＰＬの動作を画像センサＩＳＥにより検出したり、ゲームコントローラからの操作情報などに基づいて、オブジェクト空間内でキャラクタＣＨを移動させる演算を行う。この移動演算により、オブジェクト空間のワールド座標系でのキャラクタＣＨの位置情報ＰＲＦが逐次求められる。そして、このワールド座標系での位置情報ＰＲＦと、図１４のように求められたスケルトン情報のローカル座標系での関節の位置情報に基づいて、プレーヤＰＬに対応するキャラクタＣＨの手などの位置を求めることができる。そして図２０に示すように、この求められた手などの位置を光源ＬＳの配置位置ＰＬＳに設定する。そしてＰＬＳに配置された光源ＬＳを用いてレンダリング処理（シェーディング処理）を行う。
【０１８２】
このようにすれば、プレーヤの動作を特定するスケルトン情報を有効活用して、光源ＬＳの配置位置ＰＬＳを特定できる。そして、あたかもプレーヤＰＬが持った所持物ＴＨの位置に光源ＬＳが配置されて、その光源ＬＳからの光により、プレーヤＰＬに対応するキャラクタＣＨの周囲が照らされているかのように見える画像を生成できるようになる。
【０１８３】
なお、以上では、図１７（Ｂ）に示すデプス情報を用いて、プレーヤＰＬの所持物や部位の方向情報、形状情報等を取得する手法について説明したが、本実施形態はこれに限定されない。例えばカラー画像情報だけを用いて、プレーヤの所持物や部位の方向情報等を取得してもよい。
【０１８４】
また本実施形態では図１４に示すように取得されたスケルトン情報に基づいて、プレーヤの所持物や部位についての方向情報を取得してもよい。
【０１８５】
例えば図２１（Ａ）では、プレーヤＰＬの動きがスケルトンＳＫの情報として取得されている。この場合には、プレーヤＰＬの手に対応する関節Ｃ６、Ｃ７等の位置に基づいて、所持物ＴＨ等の方向を特定し、その方向を光源方向ＤＬＳとして設定する。同様に図２１（Ｂ）でも、プレーヤＰＬの手に対応する関節Ｃ６、Ｃ７等の位置に基づいて、所持物ＴＨ等の方向を特定し、その方向を光源方向ＤＬＳとして設定する。この場合に関節Ｃ６、Ｃ７の位置はスケルトン情報に基づいて取得できる。
【０１８６】
このようにすれば、プレーヤＰＬが手の向く方向を変えて、所持物ＴＨの向く方向を変化させると、その方向の変化は、スケルトン情報に基づき検出できる。即ちスケルトン情報の関節Ｃ６、Ｃ７等の位置に基づき検出できる。そして、所持物ＴＨの向く方向の変化に応じて、図２１（Ａ）、図２１（Ｂ）に示すように光源方向ＤＬＳも変化するようになり、光源ＬＳからの光ＲＹの照射方向も変化するようになる。従って、プレーヤＰＬが手の向きを変えて所持物ＴＨの向く方向を変化させると、ゲーム画像内での光の方向も変化する。これにより、プレーヤＰＬは自身が所望する様々な方向を光で照らして見ることが可能になる。即ち、デプス情報を用いて取得されたスケルトン情報を有効活用して、これまでにないゲーム演出を実現できるようになる。
【０１８７】
また本実施形態では、図１４に示すように取得されたスケルトン情報を用いて、画像処理の処理領域を特定してもよい。
【０１８８】
例えば図２２（Ａ）では、スケルトン情報に基づいて、プレーヤＰＬの手に対応する関節Ｃ７等の位置を特定している。そして、特定されたＣ７等の位置を含む画像領域を、画像処理の処理領域ＲＰＣに設定し、設定された処理領域ＲＰＣでのデプス情報やカラー画像情報に対して画像処理を行う。即ち図１７（Ａ）、図１７（Ｂ）において、プレーヤＰＬの所持物や部位の方向情報や色情報や形状情報を求める際に、設定された処理領域ＲＰＣでのカラー画像情報やデプス情報に対して画像処理を行う。
【０１８９】
このようにすれば、全ての領域において画像処理を行う必要がなくなり、画面サイズよりも小さな処理領域ＲＰＣにおいて画像処理を行えば済むようになる。従って、画像処理の処理負荷を軽減でき、少ない処理負荷で所持物や部位の方向情報等のレンダリング用情報を取得することが可能になる。
【０１９０】
以上の本実施形態の手法によれば、プレーヤが所持物を持って動かしたり、プレーヤが手などの部位を動かすと、その方向情報や色情報や形状情報が、レンダリング用情報として取得される。そして、そのレンダリング用情報を用いたレンダリング処理が行われて、プレーヤに表示される画像が生成される。従って、プレーヤの動きがゲーム画像に直感的に反映されるようになり、これまでにはないゲーム画像の生成が可能になる。
【０１９１】
この場合に、プレーヤが自身の周りの適当な所持物を持って、動かせば、その所持物の形状や色等を反映した光源がオブジェクト空間内に設定され、その光源からの光の画像や、その光により物体を照らした画像が生成されるようになる。例えば図１９（Ａ）、図１９（Ｂ）に示すように、所持物が赤の物体であれば赤の光の画像やその照射画像が生成され、青の物体であれば青の光の画像やその照射画像が生成される。従って、これまでのゲームでは実現できなかったゲーム演出等が可能になる。
【０１９２】
また図１４で説明したようなスケルトン情報を用いれば、図２０に示すように光源の配置位置も容易に特定でき、図２１（Ａ）、図２１（Ｂ）に示すように光源方向も容易に特定できる。更に図２２（Ａ）、図２２（Ｂ）で説明したように、所持物の方向情報等を特定するための画像処理の処理領域を狭い領域に限定することができ、処理負荷を軽減できる。
【０１９３】
２．４  所持物の方向情報等に基づくヒット演算処理
以上では、プレーヤの所持物又は部位の方向情報等をレンダリング用情報として、レンダリング処理を行う場合について説明したが、これらの方向情報等をヒット演算用情報として、ヒット演算処理を行ってもよい。
【０１９４】
例えば図２３（Ａ）では、画像センサＩＳＥからの画像情報に基づく画像処理を行って、プレーヤＰＬの所持物ＴＨ（又は部位）についての方向情報及び形状情報の少なくとも１つが、ヒット演算用情報として取得される。例えば所持物ＴＨの方向ＤＴＨがヒット演算用情報として取得される。
【０１９５】
この場合に本実施形態では、このヒット演算用情報に基づいてヒット演算処理が行われる。例えば図２３（Ｂ）では、プレーヤＰＬに対応するキャラクタＣＨがオブジェクト空間内で移動して、敵であるターゲットオブジェクトＴＯＢと遭遇している。この時に図２３（Ａ）に示すようにプレーヤＰＬが所持物ＴＨをターゲットオブジェクトＴＯＢの方向に向けると、図２３（Ｂ）に示すように、所持物ＴＨに対応してキャラクタＣＨが所持する武器ＡＯＢから弾が発射されて、ターゲットオブジェクトＴＯＢに発射される。即ち図２３（Ａ）の所持物ＴＨの方向ＤＴＨにより特定される軌道方向ＤＨＩで弾（拳銃や光線銃の弾）が発射される。そして、弾の軌道方向ＤＨＩとターゲットオブジェクトＴＯＢとのヒットチェックを行うヒット演算処理が行われ、ヒット演算処理の結果に基づいて画像が生成される。具体的には、弾がターゲットオブジェクトＴＯＢにヒットしたと判定されると、ターゲットオブジェクトＴＯＢに弾がヒットしたことを表す演出画像が生成される。
【０１９６】
以上のようにすれば、プレーヤは、自身の周りの適当な所持物を持って、ターゲットオブジェクトの方向に向けることで、その所持物に対応する拳銃や光線銃などの武器から弾が発射されて、敵であるターゲットオブジェクトに命中するようになる。従って、直感的で分かりやすい操作インターフェース環境をプレーヤに提供できる。また、専用のゲームコントローラを用いなくても、図２３（Ａ）、図２３（Ｂ）に示すようなシューティングゲームを実現することが可能になる。
【０１９７】
また本実施形態によれば、プレーヤの所持物や部位の形状を反映させたヒット演算処理も実現できる。例えば所持物又は部位の各形状と各武器とを予め対応づけておく。そしてプレーヤの所持物又は部位の形状を、画像センサからの画像情報に基づいて形状認識する。そして、形状認識の結果に基づいて武器を選択し、選択された武器の画像をゲーム画像上に表示して、その武器からの弾をターゲットオブジェクトに対して発射する。例えば短い形状の所持物であれば、キャラクタに拳銃を所持させ、その拳銃から弾が発射する画像を生成する。一方、長い形状の所持物であれば、キャラクタにライフルを所持させ、そのライフから弾が発射する画像を生成する。このようにすれば、プレーヤが持つ所持物の形状に応じて、多様なゲーム画像が生成されるようになり、これまでにないゲーム演出を実現できるようになる。
【０１９８】
なお図２３（Ａ）、図２３（Ｂ）に示すヒット演算手法においても、図１７（Ｂ）の場合と同様に、画像センサからのデプス情報に基づいて、プレーヤの所持物又は部位の方向情報や形状情報をヒット演算用情報として取得することが望ましい。このようにすれば、所持物や部位の方向情報や形状情報を、より正確に効率良く特定することが可能になる。
【０１９９】
また図２１（Ａ）、図２１（Ｂ）の場合と同様に、プレーヤのスケルトン情報を取得し、取得されたスケルトン情報に基づいて、プレーヤの所持物又は部位についての方向情報を取得してもよい。
【０２００】
このようにすれば、例えばスケルトン情報の関節Ｃ６、Ｃ７が図２１（Ａ）のような位置であった場合には、下向きの方向ＤＬＳに弾が発射され、関節Ｃ６、Ｃ７が図２１（Ｂ）のような位置であった場合には、上向きの方向ＤＬＳに弾が発射される画像を生成できる。従って、弾の軌道方向をスケルトン情報を用いた簡素な処理で特定できるようになり、処理を効率化できる。
【０２０１】
また図２２（Ａ）、図２２（Ｂ）の場合と同様に、プレーヤのスケルトン情報を取得し、取得されたスケルトン情報に基づいて、ヒット演算用情報の取得のための画像処理の処理領域を設定してもよい。例えばプレーヤが所持物を持った場合に、スケルトン情報に基づいて、プレーヤの手の位置を含む処理領域を設定する。そして、設定された処理領域でのデプス情報やカラー画像情報に対して画像処理を行って、所持物（又は部位）の方向情報や形状情報を特定する。
【０２０２】
このようにすれば、画像処理の処理領域を小さなサイズに限定できるため、処理負荷の軽減を図れる。
【０２０３】
２．５  詳細な処理例
次に本実施形態の詳細な処理例について図２４〜図２７のフローチャートを用いて説明する。図２４は、表示部とプレーヤの距離情報に基づきキャラクタと仮想カメラの奥行き方向での距離等を設定して画像を生成する処理のフローチャートである。
【０２０４】
まず、図２（Ａ）、図２（Ａ）で説明したように画像センサからの画像情報を取得する（ステップＳ１）。そして、取得された画像情報に基づき、表示部とプレーヤとの間の距離情報を取得する（ステップＳ２）。
【０２０５】
次に、図３（Ａ）〜図５（Ｂ）で説明したように、表示部とプレーヤとの間の距離が長いほど、キャラクタと仮想カメラの奥行き方向での距離、高さ方向での距離が長くなるように仮想カメラを設定する（ステップＳ３）。そして、オブジェクト空間内において、設定された仮想カメラから見える画像を生成する（ステップＳ４）。
【０２０６】
図２５は、プレーヤの位置情報に基づきキャラクタと仮想カメラの横方向での距離を設定して画像を生成する処理のフローチャートである。
【０２０７】
まず、画像センサからの画像情報を取得して、表示部に対するプレーヤの位置情報を取得する（ステップＳ１１、Ｓ１２）。
【０２０８】
次に、取得された位置情報に基づいて、表示部に対してプレーヤが左方向に移動しているかを判断する（ステップＳ１３）。そして図８（Ｃ）に示すようにプレーヤが左方向に移動している場合は、図９に示すように画面の左側にキャラクタが表示されるように、図８（Ｄ）に示すようにキャラクタに対して仮想カメラを右方向に移動する（ステップＳ１４）。
【０２０９】
一方、ステップＳ１３においてプレーヤが左方向に移動していないと判断された場合には、表示部に対してプレーヤが右方向に移動しているかを判断する（ステップＳ１５）。そしてプレーヤが右方向に移動している場合は、画面の右側にキャラクタが表示されるように、キャラクタに対して仮想カメラを左方向に移動する（ステップＳ１６）。そして、オブジェクト空間内において、仮想カメラから見える画像を生成する（ステップＳ１７）。
【０２１０】
図２６は、表示部とプレーヤの距離情報に基づき一人称視点と三人称視点の設定を切り替える処理のフローチャートである。
【０２１１】
まず、表示部とプレーヤとの間の距離情報を取得する（ステップＳ２１）。そして、表示部とプレーヤとの間の距離が所定距離以下か否かを判断する（ステップＳ２２）。
【０２１２】
そして、表示部とプレーヤとの間の距離が所定距離以下の場合は、図１２（Ａ）、図１２（Ｂ）に示すように、仮想カメラの画角を一人称視点用の狭い画角に設定する（ステップＳ２３）。この時、図１２（Ａ）、図１２（Ｂ）で説明したように、ビューボリュームの手前側のクリッピング面を、一人称視点用の位置に設定する（ステップＳ２５）。
【０２１３】
一方、ステップＳ２２において、表示部とプレーヤとの間の距離が所定距離以下ではないと判断された場合には、図１２（Ｃ）で説明したように、仮想カメラの画角を、三人称視点用の広い画角に設定する（ステップＳ２４）。そして、オブジェクト空間内において、仮想カメラから見える画像を生成する（ステップＳ２６）。
【０２１４】
図２７は、プレーヤが左右のいずれの手でプレイ動作を行っているかに応じて表示される画像を変化させる処理のフローチャートである。
【０２１５】
まず、画像センサによりカラー画像情報、デプス情報等の画像情報を取得する（ステップＳ３１）。そして図１４で説明したように、デプス情報等を用いて、プレーヤのスケルトン情報を求める（ステップＳ３２）。
【０２１６】
次に、プレーヤが左右のいずれの手でプレイ動作を行っているかを、スケルトン情報に基づき判定する（ステップＳ３３）。そして、視点設定が三人称視点か否かを判断する（ステップＳ３４）。
【０２１７】
視点設定が三人称視点の場合には、右手でプレイ動作を行っているか否かを判定する（ステップＳ３５）。そして右手でプレイ動作を行っている場合には、図１５（Ａ）に示すように、画面の左側にキャラクタが表示される三人称視点の画像を生成する（ステップＳ３６）、一方、左手でプレイ動作を行っている場合には、図１５（Ｂ）に示すように、画面の右側にキャラクタが表示される三人称視点の画像を生成する（ステップＳ３７）。
【０２１８】
ステップＳ３４において一人称視点であると判断された場合には、右手でプレイ動作を行っているか否かを判定する（ステップＳ３８）。そして右手でプレイ動作を行っている場合には、図１６（Ａ）に示すように、画面の右側にキャラクタの手等が表示される一人称視点の画像を生成する（ステップＳ３９）。一方、左手でプレイ動作を行っている場合には、図１６（Ｂ）に示すように、画面の左側にキャラクタの手等が表示される一人称視点の画像を生成する（ステップＳ４０）。
【０２１９】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、プレーヤの位置情報の取得手法、位置情報に基づく仮想カメラの制御手法、スケルトン情報の取得手法、レンダリング用情報に基づくレンダリング処理手法、ヒット演算用情報に基づくヒット演算処理手法等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【０２２０】
ＩＳＥ  画像センサ、ＰＬ  プレーヤ、ＳＣ  画面、
ＣＨ  キャラクタ、ＰＣＨ  キャラクタの位置、ＴＯＢ  ターゲットオブジェクト、
ＶＣ  仮想カメラ、ＰＶＣ  仮想カメラの位置、ＤＶＣ  仮想カメラの方向、
Ｌ１、Ｌ２  表示部とプレーヤの距離、Ｚ１、Ｚ２  奥行き方向での距離、
Ｈ１、Ｈ２  高さ方向での距離、θ1、θ２  仮想カメラの画角、ＡＯＢ  武器、
ＴＨ  所持物、ＤＴＨ、ＤＴＨ１〜ＤＴＨ３  所持物の方向、
ＬＳ  光源、ＤＬＳ  光源方向、ＲＹ  光線、
ＳＫ  スケルトン、Ｃ０〜Ｃ１９  関節、ＲＰＣ  処理領域、
１００  処理部、１０２  画像情報取得部、１０４  情報取得部、
１０５  スケルトン情報取得部、１０８  ゲーム演算部、１１０  ヒット演算部、
１１２  オブジェクト空間設定部、１１４  キャラクタ制御部、１１５  移動処理部、
１１６  モーション処理部、１１８  仮想カメラ制御部、１１９  判定部、
１２０  画像生成部、１２２  光源設定部、１３０  音生成部、１６０  操作部、
１７０  記憶部、１７１  画像情報記憶部、１７２  カラー画像情報記憶部、
１７３  デプス情報記憶部、１７４  スケルトン情報記憶部、
１７５  オブジェクトデータ記憶部、１７６  モーションデータ記憶部、
１７７  モデルデータ記憶部、１７８  光源情報記憶部、１７９  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９４  補助記憶装置、
１９６  通信部
【図１】
2011215920.tif 000003
【図３】
2011215920.tif 000004
【図４】
2011215920.tif 000005
【図５】
2011215920.tif 000006
【図６】
2011215920.tif 000007
【図７】
2011215920.tif 000008
【図８】
2011215920.tif 000009
【図９】
2011215920.tif 000010
【図１０】
2011215920.tif 000011
【図１１】
2011215920.tif 000012
【図１２】
2011215920.tif 000013
【図１３】
2011215920.tif 000014
【図１４】
2011215920.tif 000015
【図１５】
2011215920.tif 000016
【図１６】
2011215920.tif 000017
【図２０】
2011215920.tif 000018
【図２１】
2011215920.tif 000019
【図２２】
2011215920.tif 000020
【図２３】
2011215920.tif 000021
【図２４】
2011215920.tif 000022
【図２５】
2011215920.tif 000023
【図２６】
2011215920.tif 000024
【図２７】
2011215920.tif 000025
【図２】
2011215920.tif 000026
【図１７】
2011215920.tif 000027
【図１８】
2011215920.tif 000028
【図１９】
2011215920.tif 000029