(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-06
(45)【発行日】2024-11-14
(54)【発明の名称】情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20241107BHJP
A63F 13/52 20140101ALI20241107BHJP
A63F 13/5258 20140101ALI20241107BHJP
A63F 13/55 20140101ALI20241107BHJP
A63F 13/5255 20140101ALI20241107BHJP
【FI】
G06T19/00 A
A63F13/52
A63F13/5258
A63F13/55
A63F13/5255
(21)【出願番号】P 2022050294
(22)【出願日】2022-03-25
【審査請求日】2023-11-06
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】平向 雄高
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2018-010488(JP,A)
【文献】特開2014-235657(JP,A)
【文献】特開2014-195715(JP,A)
【文献】特開2002-269582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00 - 19/20
G06T 15/00 - 15/87
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記コンピュータを、
仮想カメラからの距離に応じたぼかしの強度で、仮想空間の当該仮想カメラからの視野の画像をぼかしたぼかし画像を生成するぼかし画像生成手段と、
前記ぼかし画像を表示画面に出力させる処理を行う画像出力手段として機能させ、
前記ぼかし画像生成手段は、さらに前記ぼかし画像内の位置に応じて前記ぼかしの強度を決定し、前記仮想空間内の注目位置と前記仮想カメラとの距離および前記仮想カメラの撮影方向の少なくとも一方に応じて、前記ぼかし画像内の少なくとも一部の位置について前記ぼかしの強度を変更する、情報処理プログラム。
【請求項2】
前記ぼかし画像生成手段は、前記仮想カメラからの距離が第1の距離よりも小さい範囲において、当該仮想カメラからの距離が小さい位置の方が前記ぼかしの強度を大きくする、請求項1に記載の情報処理プログラム。
【請求項3】
前記ぼかし画像生成手段は、前記注目位置と前記仮想カメラとの距離が小さい方が、または前記仮想カメラの前記撮影方向が水平方向に近い方が、前記ぼかし画像内の少なくとも一部の位置について前記ぼかしの強度を小さくする、請求項2に記載の情報処理プログラム。
【請求項4】
前記ぼかし画像生成手段は、前記仮想カメラからの距離が第2の距離よりも大きい範囲において、当該仮想カメラからの距離が大きい位置の方が前記ぼかしの強度を大きくする、請求項1に記載の情報処理プログラム。
【請求項5】
前記ぼかし画像生成手段は、前記注目位置と前記仮想カメラとの距離が大きい方が、または前記仮想カメラの前記撮影方向が水平方向から遠い方が、前記ぼかし画像内の少なくとも一部の位置について前記ぼかしの強度を小さくする、請求項4に記載の情報処理プログラム。
【請求項6】
前記ぼかし画像生成手段は、前記注目位置と前記仮想カメラとの距離および前記仮想カメラの前記撮影方向の少なくとも一方に応じて、前記ぼかし画像内におけ
るぼかしの範囲を変更する、請求項2乃至5の何れか1つに記載の情報処理プログラム。
【請求項7】
前記ぼかし画像生成手段は、前記ぼかし画像内の位置に応じたマスク処理の強度を示すマスクデータを生成し、前記注目位置と前記仮想カメラとの距離および前記仮想カメラの撮影方向の少なくとも一方に応じて当該マスクデータを変更するマスクデータ生成手段を含み、
前記ぼかし画像生成手段は、前記変更されたマスクデータが示す前記マスク処理の強度が大きい方が前記ぼかしの強度が小さくなるように、前記ぼかしの強度を変更する、請求項1乃至6の何れか1つに記載の情報処理プログラム。
【請求項8】
前記マスクデータ生成手段は、
前記注目位置と前記仮想カメラとの距離が小さいほど、または前記仮想カメラの撮影方向が水平方向に近いほど、前記マスク処理の強度が大きくなるように前記マスクデータとして第1のマスクデータを生成し、
前記注目位置と前記仮想カメラとの距離が大きいほど、または前記仮想カメラの撮影方向が水平方向から遠いほど、前記マスク処理の強度が大きくなるように前記マスクデータとして第2のマスクデータを生成し、
前記ぼかし画像生成手段は、
前記仮想カメラからの距離が第1の距離よりも小さい範囲において、当該仮想カメラからの距離が小さい位置の方が前記ぼかしの強度を大きくして、前記第1のマスクデータが示す前記マスク処理の強度が大きい方が前記ぼかしの強度が小さくなるように、前記ぼかしの強度を変更し、
前記仮想カメラからの距離が第2の距離よりも大きい範囲において、当該仮想カメラからの距離が大きい位置の方が前記ぼかしの強度を大きくして、前記第2のマスクデータが示す前記マスク処理の強度が大きい方が前記ぼかしの強度が小さくなるように、前記ぼかしの強度を変更する、請求項7に記載の情報処理プログラム。
【請求項9】
前記注目位置は、前記仮想カメラが姿勢を回転させる際の回転中心となる注視点である、請求項1乃至8の何れか1つに記載の情報処理プログラム。
【請求項10】
ユーザの第1入力に基づいて前記仮想カメラの前記撮影方向が変更された場合に、当該撮影方向に応じて当該仮想カメラの注視点と当該仮想カメラとの距離を変更する撮影距離変更手段として、さらに前記コンピュータを機能させる、請求項9に記載の情報処理プログラム。
【請求項11】
前記注目位置は、仮想空間内に配置されたプレイヤキャラクタの位置である、請求項1乃至10の何れか1つに記載の情報処理プログラム。
【請求項12】
前記プレイヤキャラクタをユーザの第2入力に基づいて移動させるキャラクタ移動手段として、さらに前記コンピュータを機能させる、請求項11に記載の情報処理プログラム。
【請求項13】
前記ぼかし画像生成手段は、前記ぼかし画像の中心側の位置の方が前記ぼかしの強度を小さく変更する、請求項1乃至12の何れか1つに記載の情報処理プログラム。
【請求項14】
前記ぼかし画像生成手段は、前記ぼかし画像の中央部よりも下側の基準点に近づく方が前記ぼかしの強度を小さく変更する、請求項1乃至12の何れか1つに記載の情報処理プログラム。
【請求項15】
前記ぼかし画像生成手段は、仮想カメラからの距離および前記撮影方向に基づいたぼかしの強度で前記ぼかし画像を生成し、前記仮想空間内の注目位置と前記仮想カメラとの距離に応じて、当該ぼかし画像内の少なくとも一部の位置について当該ぼかしの強度を変更する、請求項1乃至14の何れか1つに記載の情報処理プログラム。
【請求項16】
前記ぼかし画像生成手段は、前記仮想空間の前記仮想カメラからの視野の画像の各画素に対応する当該仮想空間内の位置と当該仮想カメラとの距離に応じて当該画像をぼかすことにより、前記ぼかし画像を生成する、請求項1乃至15の何れか1つに記載の情報処理プログラム。
【請求項17】
仮想カメラからの距離に応じたぼかしの強度で、仮想空間の当該仮想カメラからの視野の画像をぼかしたぼかし画像を生成するぼかし画像生成手段と、
前記ぼかし画像を表示画面に出力させる処理を行う画像出力手段とを備え、
前記ぼかし画像生成手段は、さらに前記ぼかし画像内の位置に応じて前記ぼかしの強度を決定し、前記仮想空間内の注目位置と前記仮想カメラとの距離および前記仮想カメラの撮影方向の少なくとも一方に応じて、前記ぼかし画像内の少なくとも一部の位置について前記ぼかしの強度を変更する、情報処理装置。
【請求項18】
仮想カメラからの距離に応じたぼかしの強度で、仮想空間の当該仮想カメラからの視野の画像をぼかしたぼかし画像を生成するぼかし画像生成手段と、
前記ぼかし画像を表示画面に出力させる処理を行う画像出力手段とを備え、
前記ぼかし画像生成手段は、さらに前記ぼかし画像内の位置に応じて前記ぼかしの強度を決定し、前記仮想空間内の注目位置と前記仮想カメラとの距離および前記仮想カメラの撮影方向の少なくとも一方に応じて、前記ぼかし画像内の少なくとも一部の位置について前記ぼかしの強度を変更する、情報処理システム。
【請求項19】
仮想カメラからの距離に応じたぼかしの強度で、仮想空間の当該仮想カメラからの視野の画像をぼかしたぼかし画像を生成するぼかし画像生成ステップと、
前記ぼかし画像を表示画面に出力させる処理を行う画像出力ステップとを含み、
前記ぼかし画像生成ステップでは、さらに前記ぼかし画像内の位置に応じて前記ぼかしの強度が決定され、前記仮想空間内の注目位置と前記仮想カメラとの距離および前記仮想カメラの撮影方向の少なくとも一方に応じて、前記ぼかし画像内の少なくとも一部の位置について前記ぼかしの強度が変更される、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間の画像を表示する処理を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。
【背景技術】
【0002】
従来、表示画面上でぼかしを行う範囲を設定し、被写界深度に応じてぼかした仮想空間の画像を表示する技術が開示されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】”Unreal Engine 4 Documentation“、[online]、Epic Games, Inc、[令和4年2月14日検索]、インターネット(URL:https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/PostProcessEffects/DepthOfField/MobileDOFMethods/)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記非特許文献1で開示された技術は、ぼかしを行う画面上の範囲を仮想カメラの状態に合わせて変更することができなかったため、視認性が悪くなることがあった。
【0005】
それ故に、本発明の目的は、仮想カメラの状態に合わせて表示画像の視認性を向上させることができる情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。
【0007】
本発明の情報処理プログラムの一構成例は、情報処理装置のコンピュータにおいて実行される。情報処理プログラムは、ぼかし画像生成手段および画像出力手段として、コンピュータを機能させる。ぼかし画像生成手段は、仮想カメラからの距離に応じたぼかしの強度で、仮想空間の当該仮想カメラからの視野の画像をぼかしたぼかし画像を生成する。画像出力手段は、ぼかし画像を表示画面に出力させる処理を行う。ぼかし画像生成手段は、さらにぼかし画像内の位置に応じてぼかしの強度を決定し、仮想空間内の注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、ぼかし画像内の少なくとも一部の位置についてぼかしの強度を変更する。
【0008】
上記によれば、仮想カメラの状態に合わせてぼかし画像内の少なくとも一部の位置についてぼかしの強度を変更することができるため、当該画像の視認性を向上させることができる。
【0009】
上記ぼかし画像生成手段は、仮想カメラからの距離が第1の距離よりも小さい範囲において、当該仮想カメラからの距離が小さい位置の方がぼかしの強度を大きくしてもよい。
【0010】
上記によれば、仮想カメラからの距離が第1の距離よりも近い位置において近景ボケが生じた画像を表示することができる。
【0011】
上記ぼかし画像生成手段は、注目位置と仮想カメラとの距離が小さい方が、または仮想カメラの撮影方向が水平方向に近い方が、ぼかし画像内の少なくとも一部の位置についてぼかしの強度を小さくしてもよい。
【0012】
上記によれば、注目位置と仮想カメラとの距離が相対的に小さい場合、または仮想カメラの撮影方向が水平方向に相対的に近い場合に、近景ボケに対する画像の視認性を向上させることができる。
【0013】
上記ぼかし画像生成手段は、仮想カメラからの距離が第2の距離よりも大きい範囲において、当該仮想カメラからの距離が大きい位置の方がぼかしの強度を大きくしてもよい。
【0014】
上記によれば、仮想カメラからの距離が第2の距離よりも遠い位置において遠景ボケが生じた画像を表示することができる。
【0015】
上記ぼかし画像生成手段は、注目位置と仮想カメラとの距離が大きい方が、または仮想カメラの撮影方向が水平方向から遠い方が、ぼかし画像内の少なくとも一部の位置についてぼかしの強度を小さくしてもよい。
【0016】
上記によれば、注目位置と仮想カメラとの距離が相対的に大きい場合、または仮想カメラの撮影方向が水平方向に相対的に遠い場合に、遠景ボケに対する画像の視認性を向上させることができる。
【0017】
上記ぼかし画像生成手段は、注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、ぼかし画像内におけるぼかしの範囲を変更してもよい。
【0018】
上記によれば、ぼかし画像内における適切な範囲の視認性を向上させることができる。
【0019】
上記ぼかし画像生成手段は、マスクデータ生成手段を含んでもよい。マスクデータ生成手段は、ぼかし画像内の位置に応じたマスク処理の強度を示すマスクデータを生成し、注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて当該マスクデータを変更する。この場合、上記ぼかし画像生成手段は、変更されたマスクデータが示すマスク処理の強度が大きい方がぼかしの強度が小さくなるように、ぼかしの強度を変更してもよい。
【0020】
上記によれば、マスクデータを用いて容易に画像の視認性を向上させることができる。
【0021】
上記マスクデータ生成手段は、注目位置と仮想カメラとの距離が小さいほど、または仮想カメラの撮影方向が水平方向に近いほど、マスク処理の強度が大きくなるようにマスクデータとして第1のマスクデータを生成し、注目位置と仮想カメラとの距離が大きいほど、または仮想カメラの撮影方向が水平方向から遠いほど、マスク処理の強度が大きくなるようにマスクデータとして第2のマスクデータを生成してもよい。上記ぼかし画像生成手段は、仮想カメラからの距離が第1の距離よりも小さい範囲において、当該仮想カメラからの距離が小さい位置の方がぼかしの強度を大きくして、第1のマスクデータが示すマスク処理の強度が大きい方がぼかしの強度が小さくなるように、ぼかしの強度を変更し、仮想カメラからの距離が第2の距離よりも大きい範囲において、当該仮想カメラからの距離が大きい位置の方がぼかしの強度を大きくして、第2のマスクデータが示すマスク処理の強度が大きい方がぼかしの強度が小さくなるように、ぼかしの強度を変更してもよい。
【0022】
上記によれば、複数のマスクデータを用いることによって、近景ボケおよび遠景ボケそれぞれに適切なマスク処理が可能となる。
【0023】
上記注目位置は、仮想カメラが姿勢を回転させる際の回転中心となる注視点でもよい。
【0024】
上記によれば、注目位置を注視点とした画像を表示することができる。
【0025】
上記情報処理プログラムは撮影距離変更手段として、さらにコンピュータを機能させてもよい。撮影距離変更手段は、ユーザの第1入力に基づいて仮想カメラの撮影方向が変更された場合に、当該撮影方向に応じて当該仮想カメラの注視点と当該仮想カメラとの距離を変更する。
【0026】
上記によれば、多くのゲームオブジェクトが配置されている場合に、仮想カメラの撮影方向に応じて、相対的に多くのゲームオブジェクトを視野に入れた画像が生成可能となるとともに、注視点付近のゲームオブジェクトの視認性を向上させることができる。
【0027】
上記注目位置は、仮想空間内に配置されたプレイヤキャラクタの位置でもよい。
【0028】
上記によれば、プレイヤキャラクタの視認性を向上させることができる。
【0029】
上記情報処理プログラムは、キャラクタ移動手段として、さらにコンピュータを機能させてもよい。キャラクタ移動手段は、プレイヤキャラクタをユーザの第2入力に基づいて移動させる。
【0030】
上記によれば、ユーザ操作に応じて移動するプレイヤキャラクタの視認性を向上させることができる。
【0031】
上記ぼかし画像生成手段は、ぼかし画像の中心側の位置の方がぼかしの強度を小さく変更してもよい。
【0032】
上記によれば、重要なものが表示されてきることが相対的に多い画面中心側ほど、ぼかしを弱くすることができる。
【0033】
上記ぼかし画像生成手段は、ぼかし画像の中央部よりも下側の基準点に近づく方がぼかしの強度を小さく変更してもよい。
【0034】
上記によれば、重要なものが表示されてきることが相対的に多い画面中心よりやや下側位置ほど、ぼかしを弱くすることができる。
【0035】
上記ぼかし画像生成手段は、仮想カメラからの距離および撮影方向に基づいたぼかしの強度でぼかし画像を生成し、仮想空間内の注目位置と仮想カメラとの距離に応じて、当該ぼかし画像内の少なくとも一部の位置について当該ぼかしの強度を変更してもよい。
【0036】
上記によれば、仮想カメラの撮影方向の変化に応じて当該仮想カメラと注目位置までの距離が変化する場合、当該撮影方向によって遠景ボケが開始される仮想カメラからの距離が変化し、ぼかされる範囲が大きくなることが考えられるが、このような場合であっても画像の視認性を向上させることができる。
【0037】
上記ぼかし画像生成手段は、仮想空間の仮想カメラからの視野の画像の各画素に対応する当該仮想空間内の位置と当該仮想カメラとの距離に応じて当該画像をぼかすことにより、ぼかし画像を生成してもよい。
【0038】
上記によれば、仮想カメラとの距離に応じてぼかされた画像の視認性を向上させることができる。
【0039】
また、本発明は、情報処理装置、情報処理システム、および情報処理方法の形態で実施されてもよい。
【発明の効果】
【0040】
本発明によれば、仮想カメラの状態に合わせてぼかし画像内の少なくとも一部の位置についてぼかしの強度を変更することができるため、当該画像の視認性を向上させることができる。
【図面の簡単な説明】
【0041】
【
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図2】本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図
【
図6】本体装置2の内部構成の一例を示すブロック図
【
図7】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
【
図8】ディスプレイ12に表示される仮想空間の一例を見下ろした図
【
図9】仮想空間に配置される仮想カメラの位置および姿勢の一例を説明するための図
【
図10】仮想空間内における水平方向を見る仮想カメラから見た仮想空間の画像の一例を示す図
【
図11】仮想空間を斜めに見下ろす仮想カメラから見た仮想空間の画像の一例を示す図
【
図12】仮想空間を真下方向に見下ろす仮想カメラから見た仮想空間の画像の一例を示す図
【
図13】仮想カメラからの奥行距離とぼかし強度との関係の一例を示す図
【
図14】仮想カメラの撮影方向と遠景ボケ開始距離との関係の一例を示す図
【
図15】仮想カメラの撮影方向と遠景ボケ移行幅との関係の一例を示す図
【
図16】仮想カメラの撮影方向と近景ボケ終了距離との関係の一例を示す図
【
図17】仮想カメラの撮影方向と近景ボケ移行幅との関係の一例を示す図
【
図18】仮想カメラからの奥行距離とぼかし強度との関係の他の例を示す図
【
図19】仮想空間内における水平方向を見る仮想カメラから見た仮想空間の画像を、近景ボケマスク処理を行わずに表示した一例を示す図
【
図20】仮想空間内における水平方向を見る仮想カメラから見た仮想空間の画像に、近景ボケマスク処理を行って表示した一例を示す図
【
図21】仮想空間内を真下方向に見下ろす仮想カメラから見た仮想空間の画像を、遠景ボケマスク処理を行わずに表示した一例を示す図
【
図22】仮想空間内を真下方向に見下ろす仮想カメラから見た仮想空間の画像に、遠景ボケマスク処理を行って表示した一例を示す図
【
図23】近景ボケマスク処理および遠景ボケマスク処理において用いられるマスク形状の一例を示す図
【
図24】仮想カメラの撮影方向と近景ボケマスク強度との関係の一例を示す図
【
図25】仮想カメラの撮影方向と遠景ボケマスク強度との関係の一例を示す図
【
図26】本体装置2のDRAM85に設定されるデータ領域の一例を示す図
【
図27】ゲームシステム1で実行されるゲーム処理の一例を示すフローチャート
【発明を実施するための形態】
【0042】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(
図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0043】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0044】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。
図1および
図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0045】
図3は、本体装置2の一例を示す六面図である。
図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0046】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0047】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0048】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0049】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、
図6に示すスピーカ88)を備えている。
図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0050】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0051】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0052】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0053】
図4は、左コントローラ3の一例を示す六面図である。
図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、
図1および
図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0054】
左コントローラ3は、アナログスティック32を備える。
図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
【0055】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0056】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0057】
図5は、右コントローラ4の一例を示す六面図である。
図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0058】
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
【0059】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0060】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、
図3に示す構成の他、
図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0061】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0062】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0063】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0064】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0065】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0066】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0067】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0068】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0069】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0070】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0071】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0072】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0073】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図6で示しているため
図7では省略している。
【0074】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0075】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0076】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0077】
通信制御部101は、各入力部(具体的には、各ボタン103、および、アナログスティック32)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0078】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
【0079】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0080】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0081】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0082】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0083】
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ等の外部表示装置に画像(および音声)を出力可能である。以下の説明では、ディスプレイ12に画像を表示する利用態様におけるゲームシステム1を用いて説明する。なお、ディスプレイ12に画像を表示する利用態様におけるゲームシステム1を用いる場合、左コントローラ3および右コントローラ4が本体装置2に固定された態様(例えば、本体装置2、左コントローラ3、および右コントローラ4が1つの筐体で一体化された態様)のゲームシステム1が用いられてもかまわない。
【0084】
ゲームシステム1における左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作、あるいは本体装置2のタッチパネル13に対するタッチ操作等に応じて、ディスプレイ12に表示される仮想空間を用いたゲームプレイが行われる。本実施例では、一例として、上記操作ボタン、スティック、およびタッチパネル13を用いたユーザ操作に応じて、仮想空間内のフィールド上で動作するプレイヤキャラクタPCを用いたゲームプレイが可能となる。
【0085】
図8~
図18を用いてゲームシステム1において行われる画像ぼかし処理の概要について説明する。なお、
図8は、ディスプレイ12に表示される仮想空間の一例を見下ろした図である。
図9は、仮想空間に配置される仮想カメラの位置および姿勢の一例を説明するための図である。
図10は、仮想空間内における水平方向を見る仮想カメラから見た仮想空間の画像の一例を示す図である。
図11は、仮想空間を斜めに見下ろす仮想カメラから見た仮想空間の画像の一例を示す図である。
図12は、仮想空間を真下方向に見下ろす仮想カメラから見た仮想空間の画像の一例を示す図である。
図13は、仮想カメラからの奥行距離とぼかし強度との関係の一例を示す図である。
図14は、仮想カメラの撮影方向と遠景ボケ開始距離との関係の一例を示す図である。
図15は、仮想カメラの撮影方向と遠景ボケ移行幅との関係の一例を示す図である。
図16は、仮想カメラの撮影方向と近景ボケ終了距離との関係の一例を示す図である。
図17は、仮想カメラの撮影方向と近景ボケ移行幅との関係の一例を示す図である。
図18は、仮想カメラからの奥行距離とぼかし強度との関係の他の例を示す図である。
【0086】
図8および
図9において、仮想空間におけるフィールド(基準平面RP)上に、プレイヤキャラクタPCおよび複数の仮想オブジェクトOBJが配置されている。ここで、基準平面RPは、仮想空間における水平面として設定される。なお、仮想空間のフィールドは、
図8および
図9に例示するように基準平面RPと同じ水平面で形成されてもよいし、基準平面RPに凹凸が形成されたものであってもよい。
【0087】
図8および
図9に示す例では、上記フィールド上にプレイヤキャラクタPCおよび4つの仮想オブジェクトOBJ1~4が配置されている。本実施例では、フィールド(基準平面RP)に接して配置されている仮想オブジェクトOBJ1、OBJ2、およびOBJ4だけでなく、仮想オブジェクトOBJ3やプレイヤキャラクタPCのようにフィールドから離れて配置されている状態もフィールド上に配置されているとする。プレイヤキャラクタPCは、ユーザ操作(例えば、左スティック32を傾倒する操作)に応じて、仮想空間内のフィールド上で動作する。なお、所定のアルゴリズム等に基づいたプロセッサ81の自動制御により仮想空間内を動作する他のキャラクタもフィールド上に配置されていてもよい。
【0088】
本実施例では、仮想空間に配置された仮想カメラから見た画像がディスプレイ12に表示される。本実施例では、仮想空間における注目位置(例えば、プレイヤキャラクタPCの重心位置、プレイヤキャラクタPCの足元や前方または後方となるフィールド上の位置)が注視点となるように、仮想カメラの位置および/または方向が変化する。また、所定のユーザ操作(例えば、スティック32や52を傾倒する操作)に応じて、仮想カメラの位置および方向を変化させることができる。なお、上記注目位置と注視点とは同じ位置であってもよいし、異なる位置であってもよい。以下の説明においては、上記注目位置=注視点とする。
【0089】
例えば、
図9に示すように、ユーザ操作(例えば、右スティック52を傾倒する操作)に応じて、仮想空間内を撮影する仮想カメラの撮影方向を変化させることができる。具体的には、上記注目位置を注視点として仮想空間内における水平方向を撮影方向とする仮想カメラの位置および方向(以下、水平姿勢と記載する)から、当該注目位置を注視点として仮想空間を見下ろす真下方向を撮影方向とする仮想カメラの位置および方向(以下、見下ろし姿勢と記載する)まで、ユーザ操作に応じて仮想カメラを変化させることができる。なお、本実施例では、上記水平姿勢と上記見下ろし姿勢との間の中間的な仮想カメラの位置および方向となる、上記注目位置を注視点として仮想空間を斜めに見下ろす方向を撮影方向とする仮想カメラの位置および方向(以下、中間姿勢と記載する)にも仮想カメラを変化させることも可能であり、ユーザ操作に応じて仮想空間を任意の角度で見るように仮想カメラを制御することができる。
【0090】
なお、仮想カメラは、その撮影方向に応じて、上記注目位置(注視点)までの奥行距離が変化してもよいし、当該奥行距離が一定であってもよい。一例として、前者の場合、上記基準平面RPが延びる方向(上記基準平面RPに平行な方向)と撮影方向との角度差が大きいほど、上記奥行距離が長くなるように仮想カメラの位置が制御されてもよい。この場合、仮想カメラは、上記水平姿勢では仮想カメラから注視点までの奥行距離が相対的に近いニアカメラとして設定され、上記見下ろし姿勢では仮想カメラから注視点までの奥行距離が相対的に遠いファーカメラとして設定され、上記中間姿勢では仮想カメラから注視点までの奥行距離がそれらの中間となるミドルカメラとして設定される。このように、仮想カメラの撮影方向に応じて上記注目位置(注視点)までの奥行距離を変化させることにより、仮想空間のフィールド(基準平面RP)上に多くのゲームオブジェクトが配置されている場合に、上記水平姿勢では仮想カメラの近くから遠くまで見渡すことによってフィールド上の多くのゲームオブジェクトを視野に入れながら、ゲームオブジェクトにより接近した画像を生成することができる。また、仮想カメラが上記見下ろし姿勢であっても、奥行距離を変化させることによりフィールド上の多くのゲームオブジェクトを視野に入れた仮想空間を見下ろす画像を生成することができる。
【0091】
図10に示すように、上記水平姿勢の仮想カメラの視野内に、4つの仮想オブジェクトOBJ1~4とプレイヤキャラクタPCとが配置されて表示されている。具体的には、仮想カメラから近い順に仮想オブジェクトOBJ1、仮想オブジェクトOBJ2、仮想オブジェクトOBJ3、および仮想オブジェクトOBJ4が配置されて表示されており、仮想オブジェクトOBJ2上にプレイヤキャラクタPCが配置されて表示されている。また、上記注目位置がプレイヤキャラクタPC(例えば、重心位置)に設定されており、当該注目位置を注視点として焦点が合った画像が表示されている。
【0092】
本実施例では、仮想カメラからの奥行距離に応じたぼかし強度で撮影画像がぼかされて描画される画像処理が行われる。ここで、ぼかし強度は、仮想カメラの焦点となる奥行距離の近傍範囲となる画像はぼかさないまたは弱くぼかし、当該近傍範囲からより遠い範囲の画像(遠景)やより近い範囲の画像(近景)はより強くぼかす処理において、それぞれの画像をぼかす強さを示すパラメータである。一例として、仮想カメラの視野内を実質的に同一のフォーカス状態(視野内全体がピントが合っている状態)で撮影することによって生成される明瞭画像と、当該視野内をぼかした状態(視野内全体が所定のぼかし強度でぼけている状態)で撮影することによって生成されるぼかし画像とが生成される。そして、各画素位置における仮想カメラからの奥行距離(z値(深度値))に基づいて決定されるぼかし強度に応じた各画素のブレンド率を用いて、上記明瞭画像に対応する画素値と上記ぼかし画像に対応する画素値とを当該画素について混合(各画素をブレンド率で合成(例えば、アルファ合成))することで、ディスプレイ12に表示する画像が生成される。すなわち、各画素位置(x,y)の画素値は、
画素値(x,y)=明瞭画像の画素値(x,y)×α(x,y)
+ぼかし画像の画素値(x,y)×(1-α(x,y))
で算出される。ここで、α(x,y)は、画素位置(x,y)の仮想空間に対応する奥行距離に応じて、動的に決定されるぼかし強度に基づくブレンド率であり、後述する奥行距離についてのぼかし強度プロファイルに基づいて、各奥行距離におけるブレンド率αが決定される。具体的には、ぼかしていない状態で表示する焦点位置を含む奥行距離範囲(注視点を中心とする奥行距離範囲)から、より仮想カメラに近い範囲およびより仮想カメラから遠い範囲を、奥行距離に応じたぼかし強度でぼかした状態で描画する。
【0093】
なお、上述した画像処理において、上記近傍範囲からより遠い範囲の画像(遠景)をぼかす遠景ボケを行う処理と、上記近傍範囲からより近い範囲の画像(近景)をぼかす近景ボケを行う処理とを分けて行ってもよい。この場合、上記視野内を遠景ボケでぼかした状態(視野内全体が所定のぼかし強度で遠景ボケでぼけている状態)で撮影することによって生成される遠景ぼかし画像と、上記視野内を近景ボケでぼかした状態(視野内全体が所定のぼかし強度で近景ボケでぼけている状態)で撮影することによって生成される近景ぼかし画像とが生成される。そして、例えば、遠景ボケが行われた中間画像の画素値を、
中間画像の画素値(x,y)=明瞭画像の画素値(x,y)×α1(x,y)
+遠景ぼかし画像の画素値(x,y)×(1-α1(x,y))
で算出し、さらに近景ボケが行われた最終画像の画素値を、
最終画像の画素値(x,y)=中間画像の画素値(x,y)×α2(x,y)
+近景ぼかし画像の画素値(x,y)×(1-α2(x,y))
で算出する。ここで、α1(x,y)は、画素位置(x,y)の仮想空間に対応する奥行距離に応じて、動的に決定される遠景ボケのぼかし強度に基づくブレンド率であり、α2(x,y)は、画素位置(x,y)の仮想空間に対応する奥行距離に応じて、動的に決定される近景ボケのぼかし強度に基づくブレンド率であり、後述する奥行距離についてのぼかし強度プロファイルに基づいて、各奥行距離におけるブレンド率α1およびα2がそれぞれ決定される。
【0094】
例えば、
図10の例では、ぼかしていない状態で表示する奥行距離範囲内に、注目位置となるプレイヤキャラクタPC、仮想オブジェクトOBJ2、および仮想オブジェクトOBJ3が配置され、それぞれぼかしていない状態で表示されている。一方、ぼかしていない状態で表示する奥行距離範囲より仮想カメラに近い範囲内に仮想オブジェクトOBJ1が配置され、当該仮想オブジェクトOBJ1が近景ボケ状態で描画(図面では、破線でぼけた状態で表示されていることを示している)されている。また、ぼかしていない状態で表示する奥行距離範囲より仮想カメラから遠い範囲内に仮想オブジェクトOBJ4が配置され、当該仮想オブジェクトOBJ4が遠景ボケ状態で描画されている。
【0095】
本実施例では、仮想空間における仮想カメラの撮影方向に基づいて、当該仮想カメラの被写界深度の範囲が変更される。例えば、仮想カメラの位置に対して、ぼかしていない状態で表示する奥行距離範囲内の奥行距離(以下、第1の距離とする)よりも遠い奥行距離(以下、第2の距離とする)におけるぼかし強度が、上記撮影方向に基づいて小さくなるように変更される。一例として、仮想空間における水平方向と仮想カメラの撮影方向との角度差が小さいほど(すなわち、仮想カメラが上記水平姿勢に近いほど)、上記第2の距離におけるぼかし強度が小さくなるように変更される。
【0096】
また、例えば、上記第1の距離より仮想カメラから近い奥行距離(以下、第3の距離とする)におけるぼかし強度が、上記撮影方向に基づいて小さくなるように変更される。一例として、上記角度差が小さいほど(すなわち、仮想カメラが上記水平姿勢に近いほど)、上記第3の距離におけるぼかし強度が小さくなるように変更される。
【0097】
また、
図11に示すように、仮想カメラの撮影方向が上記水平姿勢から上記中間姿勢に変化することにより、当該仮想カメラの視野内に、3つの仮想オブジェクトOBJ1~3とプレイヤキャラクタPCとが配置されて表示されている。そして、
図10における上記水平姿勢の仮想カメラを用いた画像と同様に、上記注目位置がプレイヤキャラクタPCに設定されており、当該注目位置を注視点として焦点が合った画像が表示されている。
【0098】
そして、
図11の例では、ぼかしていない状態で表示する奥行距離範囲内に、注目位置となるプレイヤキャラクタPCおよび仮想オブジェクトOBJ2が配置され、それぞれぼかしていない状態で表示されているが、仮想オブジェクトOBJ3が遠景ボケ状態で描画されている。これは、仮想カメラの撮影方向の変化による被写界深度の変更により、仮想オブジェクトOBJ3の位置が上記ぼかしていない状態で表示する奥行距離範囲内から、当該奥行距離範囲内より仮想カメラから遠い範囲内に設定されたためである。つまり、仮想カメラが上記水平姿勢から上記中間姿勢に変化することによって、仮想空間における水平方向と仮想カメラの撮影方向との角度差が大きくなることにより、仮想カメラの位置に対して、ぼかしていない状態で表示する奥行距離範囲内の第1の距離よりも遠い第2の距離に配置された仮想オブジェクトOBJ3を表示する際のぼかし強度が大きくなるように変更されていることになる。なお、上述したように、仮想カメラの撮影方向が上記水平姿勢から上記中間姿勢となることにより、仮想カメラから注視点までの距離も大きくなってもよいが、仮想カメラから注視点までの距離が変わらない場合であっても、仮想オブジェクトOBJ3が遠景ボケ状態で描画される。つまり、本実施例では、仮想カメラの撮影方向が上記水平姿勢から上記中間姿勢となることにより、仮想カメラから注視点までの距離が変わらない場合であっても、仮想カメラの撮影方向の変化による被写界深度の変更により、仮想オブジェクトOBJ3が遠景ボケ状態で描画される。
【0099】
また、
図12に示すように、仮想カメラの撮影方向が上記中間姿勢から上記見下ろし姿勢にさらに変化することにより、当該仮想カメラの視野内に、2つの仮想オブジェクトOBJ1およびOBJ2とプレイヤキャラクタPCとが配置されて表示されている。そして、
図11における上記中間姿勢の仮想カメラを用いた画像と同様に、上記注目位置がプレイヤキャラクタPCに設定されており、当該注目位置を注視点として焦点が合った画像が表示されている。
【0100】
そして、
図12の例では、ぼかしていない状態で表示する奥行距離範囲内に、注目位置となるプレイヤキャラクタPCが配置されてぼかしていない状態で表示され、仮想オブジェクトOBJ1および仮想オブジェクトOBJ2の上段部はぼかしていない状態で表示されているが、仮想オブジェクトOBJ2の下段部が遠景ボケ状態で描画されている。これは、仮想カメラの撮影方向の変化による被写界深度のさらなる変更により、仮想オブジェクトOBJ2の近傍の少し低い位置に配置されている仮想オブジェクトOBJ2の下段部も上記ぼかしていない状態で表示する奥行距離範囲内から、当該奥行距離範囲内より仮想カメラから遠い範囲内にさらに設定されたためである。また、仮想オブジェクトOBJ2の下段部と同様の位置に他のオブジェクトやキャラクタが配置されている場合も、これらのオブジェクトやキャラクタが遠景ボケ状態で描画される。つまり、仮想カメラが上記中間姿勢から上記見下ろし姿勢に変化することによって、仮想空間における水平方向と仮想カメラの撮影方向との角度差が大きくなることにより、ぼかしていない状態で表示する奥行距離範囲内の第1の距離より仮想カメラから遠い第2の距離に配置された仮想オブジェクトOBJ2を表示する際のぼかし強度が大きくなるように変更されていることになる。なお、上述したように、仮想カメラの撮影方向が上記中間姿勢から上記見下ろし姿勢となることにより、仮想カメラから注視点までの距離も大きくなってもよいが、仮想カメラから注視点までの距離が変わらない場合であっても、仮想オブジェクトOBJ2の下段部が遠景ボケ状態で描画される。つまり、本実施例では、仮想カメラの撮影方向が上記中間姿勢から上記見下ろし姿勢となることにより、仮想カメラから注視点までの距離が変わらない場合であっても、仮想カメラの撮影方向の変化による被写界深度の変更により、仮想オブジェクトOBJ2の下段部が遠景ボケ状態で描画される。
【0101】
このように、本実施例においては、ぼかしていない状態で明瞭に描画を行なう奥行距離範囲と、ぼかした状態で描画を行なう奥行距離範囲は、少なくとも仮想カメラの撮影方向に依存して決定される。
【0102】
一例として、上記見下ろし姿勢の仮想カメラを用いた撮影画像が得られた場合は、
図13の破線で示すぼかし強度プロファイルのように、焦点が設定される注目位置(注視点)の奥行距離R0を中心として、ぼかしていない状態で描画を行なう奥行距離範囲Ra2~Ra3が設定され、この奥行距離範囲Ra2~Ra3に連続する奥行距離範囲Ra1~Ra2(Near Transition)および奥行距離範囲Ra3~Ra4(Far Transition)では、それぞれぼかし強度を連続的に変化させる。このような上記見下ろし姿勢のぼかし強度プロファイルは、基準奥行距離R0、遠景ぼかし移行開始距離Ra3、遠景ぼかし移行終了距離Ra4、近景ぼかし移行開始距離Ra1、および近景ぼかし移行終了距離Ra2によって定義される。ここで、基準奥行距離R0は、注目位置(注視点)に対応する仮想空間における奥行距離に相当する。
【0103】
また、上記水平姿勢の仮想カメラを用いた撮影画像が得られた場合は、
図13の実線で示すぼかし強度プロファイルのように、焦点が設定される注目位置(注視点)の奥行距離R0を中心として、ぼかしていない状態で描画を行なう奥行距離範囲Rb2~Rb3が設定され、この奥行距離範囲Rb2~Rb3に連続する奥行距離範囲(Near Transition)Rb1~Rb2および奥行距離範囲(Far Transition)Rb3~Rb4では、それぞれぼかし強度を連続的に変化させる。このような上記水平姿勢のぼかし強度プロファイルは、基準奥行距離R0、遠景ぼかし移行開始距離Rb3、遠景ぼかし移行終了距離Rb4、近景ぼかし移行開始距離Rb1、および近景ぼかし移行終了距離Rb2によって定義される。なお、
図13に示した一例では、奥行距離範囲Ra1~Ra2の大きさと奥行距離範囲Rb1~Rb2の大きさとが同じで、奥行距離範囲Ra3~Ra4の大きさと奥行距離範囲Rb3~Rb4の大きさとが同じとなった例を用いているが、これら奥行距離範囲の大きさは同じであってもよいし、異なっていてもよい。
【0104】
仮想カメラの撮影方向に基づいたぼかし強度プロファイルは、ぼかしていない状態で描画を行なう奥行距離範囲の大きさや、ぼかし移行開始距離からぼかし移行終了距離までのぼかし強度の変化が生じる近景ボケ側範囲および/または遠景ボケ側範囲の大きさにより設定される。このようなぼかし強度プロファイルが用いられることにより、ぼかしていない状態で表示する焦点位置を含む奥行距離範囲から、より仮想カメラに近い範囲およびより仮想カメラから遠い範囲を、奥行距離に応じたぼかし強度でぼかした状態で描画される。そして、
図13から明らかなように、基準奥行距離R0(第1の距離)を含む奥行距離範囲Ra2~Ra3およびRb2~Rb3より仮想カメラから遠い奥行距離Rxにおけるぼかし強度は、上記角度差が小さい方が(すなわち、仮想カメラが上記見下ろし姿勢より上記水平姿勢の方が)小さくなる。また、基準奥行距離R0(第1の距離)を含む奥行距離範囲Ra2~Ra3およびRb2~Rb3より仮想カメラに近い奥行距離Ryにおけるぼかし強度は、上記角度差が小さい方が(すなわち、仮想カメラが上記見下ろし姿勢より上記水平姿勢の方が)小さくなる。なお、奥行距離Rxは第2の距離の一例となるが、
図13の例ではその他にも遠景ぼかし移行開始距離Ra3~遠景ぼかし移行終了距離Rb4の間の距離は全て第2の距離の一例となる。また、奥行距離Ryは第3の距離の一例となるが、
図13の例ではその他にも近景ぼかし移行開始距離Rb1~近景ぼかし移行終了距離Ra2の間の距離は全て第3の距離の一例となる。
【0105】
例えば、ぼかし強度プロファイルにおける遠景ぼかし移行開始距離(例えば、
図13における遠景ぼかし移行開始距離Ra3およびRb3)は、
図14に示す関係式を用いて算出される。この関係式から明らかなように、仮想カメラの撮影方向が仮想空間の水平方向に近いほど(上記角度差が小さいほど)遠景ぼかし移行開始距離が遠くなるぼかし強度プロファイルが設定される。これにより、仮想カメラの撮影方向が水平方向に近いほど、遠景ぼかし移行開始距離が遠くなるため、遠くまで見渡すことが可能となる仮想空間の画像を表示することが可能となる。
【0106】
また、ぼかし強度プロファイルにおける遠景ボケ移行幅(Far Transition;例えば、
図13における奥行距離範囲Ra3~Ra4およびRb3~Rb4)は、
図15に示す関係式を用いて算出される。この関係式から明らかなように、仮想カメラの撮影方向が仮想空間の水平方向に近いほど(上記角度差が小さいほど)、遠景ボケ移行幅が大きくなるぼかし強度プロファイルが設定される。仮想カメラの撮影方向が仮想空間の水平方向に近い場合、遠景ボケ開始距離が遠くなることにより、当該遠景ボケ開始距離の近傍となる奥行距離において、奥行位置が少し変化しただけで仮想空間内の遠近感が急激に変化することが考えられる。しかしながら、上記撮影方向が水平方向に近い場合には、遠景ボケ移行幅を大きく設けることにより、遠景ボケの急激な変化を緩和することができる。
【0107】
また、ぼかし強度プロファイルにおける近景ぼかし移行終了距離(例えば、
図13における近景ぼかし移行終了距離Ra2およびRb2)は、
図16に示す関係式を用いて算出される。この関係式から明らかなように、仮想カメラの撮影方向が仮想空間の水平方向に近いほど(上記角度差が小さいほど)近景ぼかし移行終了距離が近くなるぼかし強度プロファイルが設定される。これにより、仮想カメラの撮影方向が水平方向に近いほど、近景ぼかし移行終了距離が近くなるため、焦点距離よりも仮想カメラから近い位置にプレイヤキャラクタPCや他のキャラクタ等の多くのキャラクタが配置される場合であっても、その大半が近景ボケしてしまうことを防止することができる。
【0108】
また、ぼかし強度プロファイルにおける近景ボケ移行幅(Near Transition;例えば、
図13における奥行距離範囲Ra1~Ra2およびRb1~Rb2)は、
図17に示す関係式を用いて算出される。この関係式から明らかなように、仮想カメラの撮影方向が仮想空間を見下ろす方向に近いほど(上記角度差が大きいほど)、近景ボケ移行幅が大きくなるぼかし強度プロファイルが設定される。仮想カメラの撮影方向が仮想空間の見下ろし方向に近い場合、近景ぼかし移行開始距離が遠くなることにより、当該近景ぼかし移行開始距離の近傍となる奥行距離において、画像上のある位置とその画像上の少し上の位置とで奥行位置が急激に変化するため、ぼかしの強さが急激に変化してしまい、ぼかした部分とぼかしていない部分との境界が見えやすくなってしまうことが考えられる。しかしながら、上記撮影方向が見下ろし方向に近い場合には、近景ボケ移行幅を大きく設けることにより、近景ボケの急激な変化を緩和することができる。
【0109】
なお、上述した実施例では、遠景ぼかし移行開始距離Rb3、遠景ぼかし移行終了距離Rb4、近景ぼかし移行開始距離Rb1、および近景ぼかし移行終了距離Rb2によって、仮想カメラの撮影方向に基づくぼかし強度プロファイルを定義することにより、ぼかしていない状態で描画を行なう奥行距離範囲の大きさやぼかし移行開始距離からぼかし移行終了距離までのぼかし強度の変化が生じる近景ボケ移行幅および/または遠景ボケ移行幅の大きさを変化させているが、当該撮影方向に基づいてこれらのパラメータのうちの少なくとも1つを変化させてもよい。また、他のパラメータを変化させることにより、上記撮影方向に基づいてぼかし強度プロファイルを変化させてもよい。
【0110】
例えば、
図18に示すぼかし強度プロファイルは、仮想カメラが上記水平姿勢および上記見下ろし姿勢のときのぼかしていない状態で描画を行なう奥行距離範囲Ra2~Ra3およびRb2~Rb3を同じとして、ぼかし強度を変化させる範囲(近景ボケ移行幅/遠景ボケ移行幅)における単位距離あたりのぼかし強度の変化量を同じにしている。その一方で、見下ろし姿勢におけるぼかし強度プロファイルのぼかし強度の最大値を、上記水平姿勢におけるぼかし強度プロファイルのぼかし強度の最大値より大きく設定することにより、それぞれのぼかし強度プロファイルを変化させている。このようにぼかし強度プロファイルを変化させる場合であっても、基準奥行距離R0(第1の距離)を含む奥行距離範囲Ra2~Ra3(Rb2~Rb3)より仮想カメラから遠い奥行距離Rxにおけるぼかし強度は、上記角度差が小さい方が(すなわち、仮想カメラが上記見下ろし姿勢より上記水平姿勢の方が)小さくなる。また、基準奥行距離R0(第1の距離)を含む奥行距離範囲Ra2~Ra3(Rb2~Rb3)より仮想カメラに近い奥行距離Ryにおけるぼかし強度は、上記角度差が小さい方が(すなわち、仮想カメラが上記見下ろし姿勢より上記水平姿勢の方が)小さくなる。したがって、このようなぼかし強度プロファイルを用いる場合であっても、上述したぼかし強度プロファイルと同様の効果を得ることが可能となる。なお、奥行距離Rxは第2の距離の一例となるが、
図18の例ではその他にも遠景ボケ移行幅の途中で水平姿勢におけるぼかし強度が見下ろし姿勢におけるぼかし強度よりも大きくなる距離よりも大きい距離は全て第2の距離の一例となる。また、奥行距離Ryは第3の距離の一例となるが、
図18の例ではその他にも遠景ボケ移行幅の途中で水平姿勢におけるぼかし強度が見下ろし姿勢におけるぼかし強度と一致するようになる距離よりも小さい距離は全て第3の距離の一例となる。
【0111】
なお、上述したぼかし強度プロファイルや各パラメータの関係式は、一例であり、仮想カメラからの距離や仮想カメラの撮影方向に基づいた他のプロファイルや関係式であってもよい。例えば、上述したぼかし強度プロファイルや各パラメータの関係式は、上記距離または撮影方向の範囲毎に異なる関係式が設定されてもよいし、1次関数や2次以上の高次関数の関係式が含まれていてもよい。
【0112】
また、表示画像において焦点を合わせる注目位置は、表示画面の中心となる表示位置に対応する仮想空間内の位置でもよいし、当該中心から上下左右にオフセットされた表示位置に対応する仮想空間内の位置であってもよい。この場合、上記注目位置は、プレイヤキャラクタPCの内部や表面となる位置、プレイヤキャラクタPCの足元や前後左右のフィールド上の位置、他のキャラクタやオブジェクトの配置位置に基づく位置でもよい。また、上記注目位置は、仮想カメラの注視点と一致してもよいし、注視点と一致していなくてもよい。
【0113】
また、上述した基準平面RPは、仮想空間における水平に対して傾斜した面であってもよい。一例として、プレイヤキャラクタPCおよび複数の仮想オブジェクトOBJが仮想空間において傾斜したフィールド(傾斜した基準平面RP)上に配置されてもよい。この場合、基準平面RPの延びる方向に平行となる仮想カメラの姿勢が上述したグラフにおける仮想カメラの「水平姿勢」に当てはまり、基準平面RPの延びる方向に垂直となる仮想カメラの姿勢が上述したグラフにおける仮想カメラの「見下ろし姿勢」に当てはまり、仮想カメラの上記中間姿勢が当該2つの姿勢の間となる撮影方向で基準平面RPを見る姿勢に当てはまる。
【0114】
さらに、上述した基準平面RPは、仮想空間における鉛直面であってもよい。一例として、仮想空間の真下方向に落下して移動するゲームの場合は、撮影方向が当該移動方向に近いほど、遠景ボケ(および近景ボケ)を軽減することが考えられる。すなわち、この場合、仮想空間の鉛直面となる基準平面RPの延びる方向に平行となる仮想カメラの姿勢を上述したグラフにおける仮想カメラの「水平姿勢」に当てはめ、当該鉛直面となる基準平面RPの延びる方向に垂直となる仮想カメラの姿勢を上述したグラフにおける仮想カメラの「見下ろし姿勢」に当てはめて、上記画像ぼかし処理を行い、仮想カメラの上記中間姿勢は、当該変更された2つの姿勢の間となる撮影方向で基準平面RPを見る姿勢として当該処理を行う。
【0115】
また、仮想カメラの上記水平姿勢は、仮想カメラの撮影方向が仮想空間の水平方向と完全に同じ方向でない姿勢でもよく、基準平面RPが延びる方向である水平方向に対して多少の俯角を有する方向が撮影方向となる姿勢であってもよい。また、仮想カメラの上記見下ろし姿勢は、仮想カメラの撮影方向が仮想空間の鉛直方向と完全に同じ方向でない姿勢でもよく、基準平面RPが延びる方向である水平方向に対して垂直となる方向から多少の角度だけずれた方向が撮影方向となる姿勢であってもよい。
【0116】
また、本実施例における仮想カメラの撮影方向の変化は、上述したような仮想カメラの上下方向の変化だけに限らず、仮想空間の鉛直軸周りに仮想カメラが回転することに応じて撮影方向が変化する場合も含んでいる。すなわち、本実施例では、仮想カメラの撮影方向が仮想空間の上下方向に変化することに応じたぼかし強度でぼかした画像を表示するだけでなく、仮想カメラの撮影方向が仮想空間の左右方向に変化することに応じたぼかし強度でぼかした画像を表示してもよい。一例として、仮想空間の海岸における陸側に配置されている仮想オブジェクトが多く、海側に配置されている仮想オブジェクトが少ない状況において、当該海岸に仮想カメラが配置される場合、当該陸側が仮想カメラの撮影方向である方が当該海側の撮影方向よりもぼかし強度を弱くした画像を表示してもよい。
【0117】
図19~
図25を用いてゲームシステム1において行われるマスク処理の概要について説明する。なお、
図19は、仮想空間内における水平方向を見る仮想カメラから見た仮想空間の画像を、近景ボケマスク処理を行わずに表示した一例を示す図である。
図20は、仮想空間内における水平方向を見る仮想カメラから見た仮想空間の画像に、近景ボケマスク処理を行って表示した一例を示す図である。
図21は、仮想空間内を真下方向に見下ろす仮想カメラから見た仮想空間の画像を、遠景ボケマスク処理を行わずに表示した一例を示す図である。
図22は、仮想空間内を真下方向に見下ろす仮想カメラから見た仮想空間の画像に、遠景ボケマスク処理を行って表示した一例を示す図である。
図23は、近景ボケマスク処理および遠景ボケマスク処理において用いられるマスク形状の一例を示す図である。
図24は、仮想カメラの撮影方向と近景ボケマスク強度との関係の一例を示す図である。
図25は、仮想カメラの撮影方向と遠景ボケマスク強度との関係の一例を示す図である。
【0118】
本実施例では、仮想空間内の上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に基づいて、表示する画像内の少なくとも一部の位置についてぼかし強度を小さく変更するための近景ボケマスクおよび/または遠景ボケマスクが用いられる。一例として、近景ボケマスクを用いることによって、上記注目位置と仮想カメラとの距離が近い方が、または上記撮影方向が水平方向に近い方が、表示する画像内の少なくとも一部の位置についてぼかし強度が小さく変更される。また、遠景ボケマスクが用いられることによって、上記注目位置と仮想カメラとの距離が大きい方が、または仮想カメラの上記撮影方向が水平方向から遠い方が、表示する画像内の少なくとも一部の位置についてぼかし強度が小さく変更される。
【0119】
例えば、
図19に示すように、上記水平姿勢で上記注目位置までの距離が相対的に近い仮想カメラの視野内に、4つの仮想オブジェクトOBJ1~4とプレイヤキャラクタPCとが配置されて表示されている。具体的には、仮想カメラから近い順に仮想オブジェクトOBJ1、仮想オブジェクトOBJ2、仮想オブジェクトOBJ3、および仮想オブジェクトOBJ4が配置されて表示されており、仮想オブジェクトOBJ2上にプレイヤキャラクタPCが配置されて表示されている。また、仮想カメラから見てプレイヤキャラクタPCより遠い奥行距離となる仮想空間のフィールド上に上記注目位置が設定されており、当該注目位置を注視点として焦点が合った画像が表示されている。
【0120】
例えば、
図19の例では、ぼかしていない状態で表示する奥行距離範囲内に、仮想オブジェクトOBJ3が配置され、ぼかしていない状態で表示されている。一方、ぼかしていない状態で表示する奥行距離範囲より仮想カメラに近い範囲内にプレイヤキャラクタPC、仮想オブジェクトOBJ1およびOBJ2が配置され、それぞれ近景ボケ状態で描画(図面では、破線でぼけた状態で表示されていることを示している)されている。また、ぼかしていない状態で表示する奥行距離範囲より仮想カメラから遠い範囲内に仮想オブジェクトOBJ4が配置され、当該仮想オブジェクトOBJ4が遠景ボケ状態で描画されている。
【0121】
図20は、
図19で示した画像に近景ボケマスク処理が行って表示される画像の一例を示している。例えば、
図20に示すように、表示画像に対して楕円形状の近景ボケマスクが用いた処理が行われる。そして、
図20に例示する近景ボケマスクと重複して表示される画像(例えば、近景ボケ状態のプレイヤキャラクタPC、仮想オブジェクトOBJ1の一部、および仮想オブジェクトOBJ2の一部の画像)は、近景ボケがなくぼかされていない状態または近景ボケが弱められた状態で描画される。ここで、近景ボケマスクは、表示画像内における近景ボケのぼかし範囲を変更したり、ぼかし強度を変更したりするために用いられ、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、そのサイズ、位置、マスク強さ等が変更される。なお、本実施例では、近景ボケマスクの外縁部(近景ボケマスクの境界部分)の近景ボケが弱められた状態、すなわち若干近景ボケが生じている状態となることがあり得るが、
図20では当該外縁部のぼかし状態の図示を省略する。
【0122】
このように、仮想カメラが上記水平状態の場合および/または上記注目位置までの距離が相対的に近い状態の場合、近景ボケマスクによるマスク処理が行われるため、プレイヤキャラクタPC等のキャラクタが仮想カメラの近くに配置されている場合であっても近景ボケが生じていないまたは軽減された状態で表示することができる。なお、
図20を用いて説明しているのは近景ボケマスクに関する処理であるため、仮想オブジェクトOBJ4の一部が近景ボケマスクの内部に表示されるとしても、仮想オブジェクトOBJ4は、遠景ボケが生じている状態なので、当該近景ボケマスクは適用されず遠景ボケが生じたままとなっている。
【0123】
また、
図21に示すように、上記見下ろし姿勢で上記注目位置までの距離が相対的に遠い仮想カメラの視野内に、3つの仮想オブジェクトOBJ1、OBJ2、およびOBJ5とプレイヤキャラクタPCとが配置されて表示されている。具体的には、仮想カメラから近い順に仮想オブジェクトOBJ5、仮想オブジェクトOBJ1、および仮想オブジェクトOBJ2が配置されて表示されており、仮想オブジェクトOBJ2上にプレイヤキャラクタPCが配置されて表示されている。
【0124】
例えば、
図21の例では、ぼかしていない状態で表示する奥行距離範囲より仮想カメラに近い範囲内に星型の仮想オブジェクトOBJ5が配置され、近景ボケ状態で描画されている。また、ぼかしていない状態で表示する奥行距離範囲より仮想カメラから遠い範囲内にプレイヤキャラクタPCと、仮想オブジェクトOBJ1およびOBJ2とが配置され、それぞれ遠景ボケ状態で描画されている。
【0125】
図22は、
図21で示した画像に遠景ボケマスク処理が行われて表示される画像の一例を示している。例えば、
図22に示すように、表示画像に対して楕円形状の遠景ボケマスクが用いた処理が行われる。そして、
図22に例示する遠景ボケマスクと重複して表示される画像(例えば、遠景ボケ状態のプレイヤキャラクタPC、仮想オブジェクトOBJ1の一部、および仮想オブジェクトOBJ2の画像)は、遠景ボケがなくぼかされていない状態または遠景ボケが弱められた状態で描画される。ここで、遠景ボケマスクは、表示画像内における遠景ボケのぼかし範囲を変更したり、ぼかし強度を変更したりするために用いられ、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、そのサイズ、位置、マスク強さ等が変更される。
【0126】
このように、仮想カメラが上記見下ろし状態および/または仮想カメラから上記注目位置までの距離が相対的に遠い状態の場合、遠景ボケマスクによるマスク処理が行われるため、画面全体が遠景ボケ状態で表示されることを防止または遠景ボケ状態が軽減された状態で表示することができる。なお、
図22を用いて説明しているのは遠景ボケマスクに関する処理であるため、仮想オブジェクトOBJ5の一部が遠景ボケマスクの内部に表示されるとしても、仮想オブジェクトOBJ5は、近景ボケが生じている状態なので、当該遠景ボケマスクは適用されず近景ボケが生じたままとなっている。
【0127】
例えば、
図23に示すように、上述した近景ボケマスクおよび遠景ボケマスクは、ディスプレイ12に表示される2次元の表示画像の中心側の位置の方が画素位置毎のぼかし強度が弱まるように設定される。例えば、上述した近景ボケマスクおよび遠景ボケマスクは、上記表示画像全体に対して、楕円形状のマスクテクスチャデータ(すなわち、行列データ)として設定される。そして、マスクテクスチャデータは、上記楕円形状の外縁部となるB領域に0~1の値が設定され、当該B領域を除いた上記楕円形状内の主領域となるA領域に1の値が設定され、当該B領域の外側となるC領域に0の値が設定される。
【0128】
近景ボケマスクおよび遠景ボケマスクにおける画素位置毎のマスク強度は、上記値に後述する不透明度を乗算することによって算出される。そして、マスク処理後の表示画像の画素位置毎のぼかし強度は、「マスク処理前のぼかし強度×(1-マスク強度)」により算出される。すなわち、各画素位置(x,y)のぼかし強度は、
ぼかし強度(x,y)=マスク処理前のぼかし強度(x,y)
×(1-マスクテクスチャの値(x,y)×不透明度)
で算出される。ここで、上記不透明度は、マスク強度を示すマスクテクスチャの不透明度であり、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて変化する。したがって、マスク処理後の表示画像の画素位置毎のぼかし強度も、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて変化することになる。また、近景ボケマスクによるマスク処理は、当該マスク処理前の画素位置に近景ボケが生じている場合に有効に作用し、当該マスク処理前に遠景ボケが生じている画素位置には無効となる(すなわち、マスク処理前の画素位置に設定されている遠景ボケのぼかし強度が維持される)。また、遠景ボケマスクによるマスク処理は、当該マスク処理前の画素位置に遠景ボケが生じている場合に有効に作用し、当該マスク処理前に近景ボケが生じている画素位置には無効となる(すなわち、マスク処理前の画素位置に設定されている近景ボケのぼかし強度が維持される)。
【0129】
例えば、近景ボケマスクの不透明度は、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、
図24に示す関係式を用いて算出される。この関係式から明らかなように、仮想カメラが上記水平姿勢(ニアカメラ)~上記中間姿勢(ミドルカメラ)の範囲では不透明度1.0に固定されてマスク強度が強く設定されることに対し、当該中間姿勢(ミドルカメラ)から上記見下ろし姿勢(ファーカメラ)に近づくと不透明度0.0に近づいてマスク強度が弱く設定される。
【0130】
また、近景ボケマスクのサイズおよび位置は、固定値でもよい。例えば、近景ボケマスクの形状は、円形状でもよいが、
図23に示すように近景ボケマスクの横スケールが縦スケールより大きな値に設定されることにより、表示画像に対して横長の楕円形状に設定されてもよい。また、近景ボケマスクは、表示画像の中心と上記円形状または上記楕円形状の中心とが一致するように配置されてもよいが、表示画像に対して縦または横にオフセットした位置に配置されてもよく、一例として表示画像のやや下寄りの位置が楕円形状の中心となるように配置されてもよい。プレイヤキャラクタPCや当該プレイヤキャラクタPCの周辺にいるキャラクタは、仮想カメラが上記水平姿勢の場合に画面中央よりやや下側に位置することが多く(例えば、地面上にいるプレイヤキャラクタPCの周辺が近景表示される場合、当該プレイヤキャラクタPCの周辺が画面下側に表示される)、このようにゲーム進行上で重要なものが表示されていることが相対的に多い画面中心よりやや下側位置ほど、近景ボケを弱くすることができる。
【0131】
また、遠景ボケマスクの不透明度は、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、
図25に示す関係式を用いて算出される。この関係式から明らかなように、仮想カメラが上記水平姿勢(ニアカメラ)では不透明度が0.0に設定され、仮想カメラが上記見下ろし姿勢(ファーカメラ)に近づくほど、不透明度1.0に近づいてマスク強度が強く設定される。
【0132】
また、遠景ボケマスクの横スケールおよび縦スケールは、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、所定の関係式を用いて算出されてもよい。一例として、仮想カメラが上記水平姿勢(ニアカメラ)から上記中間姿勢(ミドルカメラ)に近づくと、遠景ボケマスクの横スケールが長くなり、遠景ボケマスクの縦スケールが短くなってもよい。そして、仮想カメラが上記中間姿勢(ミドルカメラ)から上記見下ろし姿勢(ファーカメラ)に近づくと遠景ボケマスクの横スケールが短くなり、遠景ボケマスクの縦スケールが長くなってもよい。
【0133】
また、表示画像に対する遠景ボケマスクの位置は、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて、所定の関係式を用いて算出されてもよい。一例として、仮想カメラが上記水平姿勢(ニアカメラ)や上記見下ろし姿勢(ファーカメラ)では縦オフセットはなく、上記中間姿勢(ミドルカメラ)に近づくと、遠景ボケマスクの中心が表示画像の中心より縦方向における上方向にオフセットされた位置に移動して設定されてもよい。
【0134】
このように、本実施例では、上記注目位置と仮想カメラとの距離が小さいほど、および/または仮想カメラの撮影方向が水平方向に近いほど、マスク処理の強度が大きくなるように近景ボケマスクを生成し、上記注目位置と仮想カメラとの距離が大きいほど、および/または仮想カメラの撮影方向が水平方向から遠いほど、マスク処理の強度が大きくなるように遠景ボケマスクを生成する。そして、仮想カメラからの奥行距離がぼかされない状態で表示される奥行距離範囲よりも近い範囲において、当該仮想カメラからの奥行距離が近い位置の方がぼかし強度を大きくするとともに、近景ボケマスクが示すマスク処理の強度が大きい方が当該ぼかし強度が小さくなるように、当該ぼかし強度を変更している。また、仮想カメラからの奥行距離がぼかされない状態で表示される奥行距離範囲よりも遠い範囲において、当該仮想カメラからの距離が遠い位置の方がぼかし強度を大きくするとともに、遠景ボケマスクが示すマスク処理の強度が大きい方が当該ぼかし強度が小さくなるように、当該ぼかし強度を変更している。このように、近景ボケ用のマスクデータと遠景ボケ用のマスクデータをそれぞれ用意することにより、それぞれのぼかし強度に応じた適切なマスク処理が可能となるため、表示画像の視認性を向上させることができる。
【0135】
上述した実施例では、近景ボケマスクおよび遠景ボケマスクを用いたマスク処理を行っているが、上記マスク処理は、1つのマスクを用いて行われてもよいし、3つ以上のマスクが用いられてもよい。例えば、1つのマスクを用いたマスク処理が行われる場合、近景ボケおよび遠景ボケの両方のぼかし強度を小さくするまたはぼかさない状態にするマスクを用いることにより、同様のマスク処理を行うことが可能となる。また、3つのマスクを用いたマスク処理が行われる場合、上述した近景ボケマスクおよびかなり遠くが強めにぼかされる遠景用に用いられる遠景ボケマスクに加えて、当該遠景より仮想カメラに近いやや遠くが中程度にぼかされる中遠景用に用いられる中遠景ボケマスクを用いることが考えられる。
【0136】
また、上述した説明では、近景ボケマスクのサイズおよび位置が固定値で設定される例を用いたが、遠景ボケマスクと同様に上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて変化してもよい。また、遠景ボケマスクのサイズおよび位置は、固定値でもよい。また、遠景ボケマスクは、表示画像の中心と上記円形状または上記楕円形状の中心とが一致するように配置されてもよいが、表示画像に対して縦または横にオフセットした位置に配置されてもよく、一例として表示画像のやや下寄りの位置が楕円形状の中心となるように配置されてもよい。
【0137】
また、上述した説明では、遠景ボケマスクのサイズおよび位置が上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に応じて変化する例を用いたが、近景ボケマスクと同様に固定値で設定されてもよい。
【0138】
また、上述したマスクを設定するための各パラメータの関係式は、一例であり、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に基づいた他の関係式であってもよい。例えば、各パラメータの関係式は、上記距離または撮影方向の範囲毎に異なる関係式が設定されてもよいし、1次関数や2次以上の高次関数の関係式が含まれていてもよい。
【0139】
また、上述した実施例では、近景ボケマスクおよび遠景ボケマスクを用いて、ぼかしを行う画面上の範囲のぼかし強度を小さくするまたはぼかさない状態にするマスク処理を行っている。しかしながら、他の実施例においては、マスクを用いて、ぼかしを行う画面上の範囲の少なくとも一部のぼかし強度を強くするマスク処理を行ってもかまわない。
【0140】
また、上述した実施例では、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の少なくとも一方に基づいて、近景ボケマスクおよび遠景ボケマスクを設定するための各パラメータを変化させているが、上記注目位置と仮想カメラとの距離および仮想カメラの撮影方向の一方のみに基づいて当該パラメータを変化させてもよいことは言うまでもない。この場合、ユーザ操作に応じて仮想カメラの撮影方向を変更したとしても上記注目位置と当該仮想カメラとの距離が変わらないような仮想カメラの位置/方向変更が行われたとしても、当該撮影方向が変更されることに応じて、上述したマスク処理が行われればよい。また、ユーザ操作に応じて上記注目位置と仮想カメラとの距離が変更されて当該仮想カメラの撮影方向が変わらないような仮想カメラの位置変更が行われたとしても、当該距離が変更されることに応じて、上述したマスク処理が行われればよい。
【0141】
次に、
図26を参照して、ゲームシステム1で実行される具体的な処理の一例について説明する。
図26は、本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、
図26に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【0142】
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、左コントローラ3および/または右コントローラ4や本体装置2から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム(例えば、ゲームプログラム)等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
【0143】
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、DRAM85には、操作データDa、プレイヤキャラクタデータDb、仮想カメラデータDc、撮影画像データDd、ぼかし画像データDe、マスクデータDf、表示画像データDg、プロファイルデータDh、仮想空間データDi、および画像データDj等が記憶される。
【0144】
操作データDaは、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ取得される操作データには、各入力部(具体的には、各ボタン、アナログスティック、タッチパネル)からの入力に関する情報(具体的には、操作に関する情報)が含まれている。本実施例では、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ操作データを取得しており、当該取得した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記操作データが取得される周期毎に更新されてもよい。
【0145】
プレイヤキャラクタデータDbは、仮想空間に配置されているプレイヤキャラクタPCの配置位置、配置方向、および配置姿勢や、仮想空間における動作や状態等を示すデータである。
【0146】
仮想カメラデータDcは、仮想空間に配置されている仮想カメラの位置、撮影方向、画角等を示すデータである。
【0147】
撮影画像データDdは、仮想カメラの視野内を実質的に同一のフォーカス状態で撮影することによって生成された撮影画像(明瞭画像)のデータである。ぼかし画像データDeは、仮想カメラの視野内をぼかした状態で撮影することによって生成されるぼかし画像のデータである。
【0148】
マスクデータDfは、仮想カメラの状態に基づいて設定される近景ボケマスクおよび遠景ボケマスクを示すデータである。
【0149】
表示画像データDgは、ぼかし強度に応じた各画素のブレンド率を用いて、撮影画像とぼかし画像とを混合することで生成される表示画像のデータである。
【0150】
プロファイルデータDhは、撮影方向に基づいて設定されるぼかし強度プロファイルを示すデータである。
【0151】
仮想空間データDiは、仮想空間に配置される仮想オブジェクトやキャラクタの位置、方向、姿勢、動作等を示すデータや仮想空間に設定されるフィールドを示すデータである。
【0152】
画像データDjは、表示画面(例えば、本体装置2のディスプレイ12)に画像(例えば、プレイヤキャラクタの画像、他のキャラクタの画像、仮想オブジェクトの画像、仮想空間のフィールドの画像、背景画像等)を表示するためのデータである。
【0153】
次に、
図27を参照して、本実施例における情報処理の一例であるゲーム処理の詳細な一例を説明する。
図27は、ゲームシステム1で実行されるゲーム処理の一例を示すフローチャートである。本実施例においては、
図27に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、
図27に示すゲーム処理が開始されるタイミングは任意である。
【0154】
なお、
図27に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、
図27に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
【0155】
図27において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化して、各データを更新する。一例として、プロセッサ81は、仮想空間データDiに基づいて、仮想空間のフィールド上に複数の仮想オブジェクトを配置し、当該フィールド上に各キャラクタを配置することによって初期状態の仮想空間を生成する。そして、プロセッサ81は、初期状態の仮想空間におけるデフォルト位置に所定の姿勢の仮想カメラを配置して、仮想空間の初期設定を行う。
【0156】
次に、プロセッサ81は、左コントローラ3、右コントローラ4、および/または本体装置2から操作データを取得して操作データDaを更新し(ステップS122)、次のステップに処理を進める。
【0157】
次に、プロセッサ81は、キャラクタ動作処理を行い(ステップS123)、次のステップに処理を進める。例えば、プロセッサ81は、操作データDa4に基づいて、プレイヤキャラクタPCの動作を設定する。一例として、プロセッサ81は、操作データDaが示す操作入力および仮想空間における仮想的な物理演算等に基づいて、プレイヤキャラクタPCの位置、方向、姿勢、動作、および状態等を設定して、プレイヤキャラクタデータDbを更新する。また、プロセッサ81は、仮想空間における他のキャラクタの動作を設定する。一例として、プロセッサ81は、設定された演出の進行、自動制御するキャラクタにおける動作アルゴリズム、仮想空間における仮想的な物理演算、プレイヤキャラクタPCの動作等に基づいて、各キャラクタの位置、方向、姿勢、動作、および状態等を設定して、仮想空間データDiを更新する。
【0158】
次に、プロセッサ81は、仮想カメラを設定して(ステップS124)、次のステップに処理を進める。例えば、プロセッサ81は、操作データDaに基づいて、仮想空間における仮想カメラの位置および画角を設定するとともに、プレイヤキャラクタPCの位置に基づいて設定される注目位置が注視点となるように仮想カメラの位置および撮影方向を設定して、仮想カメラデータDcを更新する。
【0159】
次に、プロセッサ81は、仮想カメラからの視野の撮影画像およびぼかし画像を生成して(ステップS125)、次のステップに処理を進める。例えば、プロセッサ81は、仮想カメラデータDcに応じた仮想カメラが仮想空間内を実質的に同一のフォーカス状態で撮影することによって生成された撮影画像(明瞭画像)を用いて、撮影画像データDdを更新する。また、プロセッサ81は、上記仮想カメラがぼかした状態で撮影することによって生成されたぼかし画像を用いて、ぼかし画像データDeを更新する。
【0160】
次に、プロセッサ81は、仮想カメラの撮影方向に応じて撮影画像をぼかす画像ぼかし処理を行って(ステップS126)、次のステップに処理を進める。例えば、プロセッサ81は、仮想カメラの撮影方向に応じたぼかし強度プロファイルを設定してプロファイルデータDhを更新するとともに、当該ぼかし強度プロファイルに基づいて上記撮影画像に上記ぼかし画像を画素位置毎に合成する画像ぼかし処理により表示画像を生成して、表示画像データDgを更新する。なお、画像ぼかし処理の詳細な内容については、
図8~
図18を用いて説明した処理と同様であるため、ここでは詳細な説明を省略する。
【0161】
次に、プロセッサ81は、仮想カメラの撮影方向および/または仮想カメラと注視点との距離に応じてマスク処理を行って(ステップS127)、次のステップに処理を進める。例えば、プロセッサ81は、仮想カメラの撮影方向および/または仮想カメラと注視点との距離に応じて近景ボケマスクおよび遠景ボケマスクを設定してマスクデータDfを更新するとともに、表示画像データDgが示す表示画像に当該近景ボケマスクおよび遠景ボケマスクを用いたマスク処理を行うことにより当該表示画像内の少なくとも一部についてぼかし強度を変更して、表示画像データDgを更新する。なお、マスク処理の詳細な内容については、
図19~
図25を用いて説明した処理と同様であるため、ここでは詳細な説明を省略する。
【0162】
次に、プロセッサ81は、表示制御処理を行い(ステップS128)、次のステップに処理を進める。例えば、プロセッサ81は、表示画像データDgが示す表示画像をディスプレイ12に表示する制御を行う。
【0163】
次に、プロセッサ81は、ゲーム処理を終了するか否かを判定する(ステップS129)。上記ステップS129においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ81は、ゲーム処理を終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122~ステップS129の一連の処理は、ステップS129で処理を終了すると判定されるまで繰り返し実行される。
【0164】
このように、本実施例においては、仮想カメラの撮影方向に応じたぼかし強度でぼかした画像を表示するため、当該画像の視認性を向上させることができる。一例として、仮想カメラが相対的に遠くまで見渡せるような撮影方向で仮想空間を撮影している場合に、仮想カメラから遠くのぼかし強度を弱めることにより、当該遠くの画像の視認性を向上させることができる。また、本実施例においては、上記マスク処理により、ぼかしを行う画面上の範囲を仮想カメラの状態に合わせて変更することができるため、当該が画像の視認性を向上させることができる。
【0165】
なお、本実施例においては、上述した仮想カメラの撮影方向に基づいた画像ぼかし処理が行われなくてもよい。この場合、
図27における上記ステップS126の処理を、仮想カメラの撮影方向とは無関係に仮想空間内の位置と当該仮想カメラとの距離に応じてぼかした画像を表示画像データDgに格納し、当該画像を用いて上記ステップS127におけるマスク処理を行えばよい。この場合であっても、ぼかしを行う画面上の範囲を仮想カメラの状態に合わせて変更することができるため、当該画像の視認性を向上させる効果を得ることができる。
【0166】
また、上述した実施例においては、ユーザ操作に応じて動作するプレイヤキャラクタが配置された仮想空間の画像を表示する例を用いたが、当該プレイヤキャラクタが配置されていない仮想空間の画像を表示する態様でもかまわない。プレイヤキャラクタが配置されていない仮想空間であっても、当該仮想空間における所定の位置を上記注目位置として当該位置近傍に焦点を合わせることにより、当該仮想カメラからの視野の画像に上記画像ぼかし処理および/またはマスク処理を行ったぼかし画像を生成することが可能となる。
【0167】
また、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。
【0168】
また、上述した説明では情報処理(ゲーム処理)をゲームシステム1で行われる例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、サーバ、他の情報処理装置、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0169】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【0170】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【0171】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0172】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【産業上の利用可能性】
【0173】
以上のように、本発明は、表示画像の視認性を向上させることを可能とする情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法等として利用することができる。
【符号の説明】
【0174】
1…情報処理システム
2…本体装置
3…左コントローラ
4…右コントローラ
11…ハウジング
12…ディスプレイ
13…タッチパネル
32、52…アナログスティック
42、64…端子
81…プロセッサ
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
101、111…通信制御部