画像処理装置、画像処理装置の制御方法、及びプログラム
【課題】仮想カメラ又は/及び操作対象オブジェクトを所望の移動目標位置まで所望の移動態様で移動させる場合において、所望の移動目標位置と所望の移動態様とを一の操作で指定することが可能な画像処理装置を提供すること。
【解決手段】操作時間情報取得部(92)は、画面内の一部領域を指定するための指定操作に要した時間に関する情報を取得する。移動制御部(93)は、仮想カメラ又は/及び操作対象オブジェクトを、一部領域に表示された仮想空間内の注目領域に近づけるように移動させる。移動目標位置決定部(94)は、仮想カメラ又は/及び操作対象オブジェクトの移動目標位置を、一部領域の仮想空間内における位置と、一部領域の大きさと、に基づいて決定する。移動態様決定部(95)は、仮想カメラ又は/及び操作対象オブジェクトを移動目標位置に向けて移動させる場合の移動態様を、指定操作に要した時間に基づいて決定する。
【解決手段】操作時間情報取得部(92)は、画面内の一部領域を指定するための指定操作に要した時間に関する情報を取得する。移動制御部(93)は、仮想カメラ又は/及び操作対象オブジェクトを、一部領域に表示された仮想空間内の注目領域に近づけるように移動させる。移動目標位置決定部(94)は、仮想カメラ又は/及び操作対象オブジェクトの移動目標位置を、一部領域の仮想空間内における位置と、一部領域の大きさと、に基づいて決定する。移動態様決定部(95)は、仮想カメラ又は/及び操作対象オブジェクトを移動目標位置に向けて移動させる場合の移動態様を、指定操作に要した時間に基づいて決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置(例えばゲーム装置等)が知られている。このような画像処理装置では、仮想カメラ又は/及びユーザの操作対象オブジェクトがユーザの操作に応じて移動するものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−046219号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の画像処理装置では、仮想カメラ又は/及び操作対象オブジェクトを所望の位置まで所望の態様(例えば移動速度又は移動手段等)で移動させる場合、ユーザは、目標位置を指定する操作と、移動態様を指定する操作と、を行わなければならなかった。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、仮想カメラ又は/及び操作対象オブジェクトを所望の移動目標位置まで所望の移動態様で移動させる場合において、所望の移動目標位置と所望の移動態様とを一の操作で指定することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置において、前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段と、前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段と、前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段と、を含み、前記移動制御手段は、前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置の制御方法において、前記画面内の一部領域を指定するための指定操作を受け付ける操作受付ステップと、前記指定操作に要した時間に関する情報を取得する操作時間情報取得ステップと、前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御ステップと、を含み、前記移動制御ステップは、前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定ステップと、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定ステップと、前記移動態様決定ステップにおいて決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させるステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段、前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段、及び、前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段、として前記コンピュータを機能させ、前記移動制御手段は、前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内おける位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含むことを特徴とするプログラムである。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0010】
本発明によれば、仮想カメラ又は/及び操作対象オブジェクトを所望の移動目標位置まで所望の移動態様(例えば移動速度又は移動手段等)で移動させる場合において、所望の移動目標位置と所望の移動態様とを一の操作で指定することが可能になる。
【0011】
また本発明の一態様では、前記移動態様決定手段は、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動速度を、前記指定操作に要した前記時間に基づいて決定するようにしてもよい。
【0012】
また本発明の一態様では、前記移動態様決定手段は、前記指定操作に要した前記時間に基づいて、前記指定操作の操作速度を取得する手段を含み、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作の操作速度に基づいて決定するようにしてもよい。
【0013】
また本発明の一態様では、前記一部領域を示す画像を前記画面に表示する手段と、前記操作対象オブジェクトのパラメータと、前記一部領域内に含まれるオブジェクトのパラメータと、の比較結果に基づいて、前記一部領域を示す前記画像の表示態様を変更する手段と、を含むようにしてもよい。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るゲーム装置(画像処理装置)のハードウェア構成の一例を示す図である。
【図2】仮想空間の一例を示す図である。
【図3】仮想カメラについて説明するための図である。
【図4】ゲーム画面の一例を示す図である。
【図5】ユーザキャラクタ及び仮想カメラを移動させるための操作について説明するための図である。
【図6】ユーザキャラクタ及び仮想カメラが移動目標位置まで移動した場合の仮想空間の一例を示す図である。
【図7】ユーザキャラクタ及び仮想カメラが移動目標位置まで移動した場合のゲーム画面の一例を示す図である。
【図8】操作速度と移動速度との対応関係の一例を示す図である。
【図9】本発明の実施形態に係るゲーム装置(画像処理装置)の機能ブロック図である。
【図10】軌跡データの一例について説明するための図である。
【図11】ゲーム装置で実行される処理の一例を示すフロー図である。
【図12】囲み条件について説明するための図である。
【図13】囲み条件について説明するための図である。
【図14】囲み条件について説明するための図である。
【図15】移動目標位置の決定方法の一例を説明するための図である。
【図16】移動目標位置の決定方法の一例を説明するための図である。
【図17】面積と距離との対応関係の一例を示す図である。
【図18】ユーザキャラクタ及び仮想カメラの移動の一例について説明するための図である。
【図19】操作時間と移動速度との対応関係の一例を示す図である。
【図20】パラメータの差と表示態様情報との対応関係の一例を示す図である。
【図21】指定操作の他の一例について説明するための図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。なお、以下では、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置(画像処理装置)は、例えば、携帯ゲーム機、携帯電話機(スマートフォン)、携帯情報端末、パーソナルコンピュータ、業務用ゲーム機、又は家庭用ゲーム機(据置型ゲーム機)等によって実現される。
【0016】
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成の一例を示す。図1に示すように、ゲーム装置10は制御部11、記憶部12、通信部13、表示部14、音声出力部15、操作部16、及びタッチパネル17を含む。
【0017】
制御部11は例えば一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたオペレーティングシステム又はその他のプログラムに基づいて、ゲーム装置10の各部を制御するための処理を実行したり、情報処理を実行したりする。
【0018】
記憶部12は主記憶部及び補助記憶部を含む。主記憶部は例えばRAMを含み、補助記憶部から読み出されたプログラム及びデータが主記憶部に書き込まれる。主記憶部は制御部11の作業用メモリとしても用いられる。補助記憶部は例えばハードディスクドライブ又はソリッドステートドライブ等の不揮発性記憶媒体を含み、プログラムやデータが補助記憶部に記憶される。
【0019】
通信部13は、インターネット等の通信ネットワークを介してデータ通信を行うためのものである。例えば、プログラムやデータは、通信ネットワークを介して遠隔地からゲーム装置10に供給され、記憶部12(補助記憶部)に記憶される。
【0020】
表示部14は例えば液晶ディスプレイである。表示部14は制御部11からの指示に従って画面を表示する。音声出力部15は例えばスピーカ又はヘッドホン端子である。音声出力部15は制御部11からの指示に従って音声(例えば、音楽又は効果音等)を出力する。操作部16は例えばボタン、スティック(レバー)、キーボード、又はマウスを含み、ユーザが操作を行うために用いられる。
【0021】
タッチパネル17は、例えば抵抗膜方式又は静電容量方式等の一般的なタッチパネルである。タッチパネル17はユーザによって接触された位置を検出する。タッチパネル17は、ユーザによって接触された位置に応じた情報を制御部11に供給する。タッチパネル17は表示部14の上に重ねられ、表示部14に表示される画面内の位置をユーザが指し示すために用いられる。例えば、タッチパネル17によって検出された位置(すなわち、ユーザによって接触された位置)はスクリーン座標系で表される。スクリーン座標系は、表示部14に表示される画面の左上の頂点を原点Oとし、横方向(右方向)をXs軸正方向とし、縦方向(下方向)をYs軸正方向とするようなXsYs座標系である(後述の図4参照)。
【0022】
なお、ゲーム装置10は光ディスクドライブ又はメモリカードスロットを含むようにしてもよい。光ディスクドライブは光ディスク(情報記憶媒体)に記録されたプログラムやデータを読み出すためのものであり、メモリカードスロットはメモリカード(情報記憶媒体)に記憶されたプログラムやデータを読み出すためのものである。プログラムやデータは、光ディスク又はメモリカードを介してゲーム装置10に供給され、記憶部12(補助記憶部)に記憶されるようにしてもよい。
【0023】
ゲーム装置10は記憶部12に記憶されるゲームプログラムに基づいて各種ゲームを実行する。以下では、ユーザがゲームキャラクタ(以下「ユーザキャラクタ」と記載する。)を操作することによって、ユーザキャラクタと対立するゲームキャラクタ(以下「敵キャラクタ」と記載する。)を退治するゲームをゲーム装置10が実行する場合について説明する。
【0024】
ゲーム装置10が上記のゲームを実行する場合、仮想空間が記憶部12(主記憶部)に構築される。図2は仮想空間の一例を示す。図2に示す仮想空間20は、互いに直交する3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。仮想空間20に配置されるオブジェクトの位置等はこれらの3つの座標軸によって特定される。なお、以下では、XwYwZw座標系のことを「ワールド座標系」と記載する。
【0025】
図2に示すように、各種オブジェクトが仮想空間20に配置される。例えば、フィールドを表すオブジェクトであるフィールドオブジェクト(以下、単に「フィールド」と記載する。)21が仮想空間20に配置される。また、ユーザキャラクタを表すオブジェクトであるユーザキャラクタオブジェクト(以下、単に「ユーザキャラクタ」と記載する。)22がフィールド21上に配置される。さらに、敵キャラクタを表すオブジェクトである敵キャラクタオブジェクト(以下、単に「敵キャラクタ」と記載する。)23A,23B,23Cもフィールド21上に配置される。なお、以下では、敵キャラクタ23A,23B,23Cのことを総称して「敵キャラクタ23」と記載する場合がある。
【0026】
また、ユーザキャラクタ22の味方キャラクタを表すオブジェクトである味方キャラクタオブジェクト(以下、単に「味方キャラクタ」と記載する。)24もフィールド21上に配置される。なお、図2に示す状態では2体の敵キャラクタ23A,23Bが味方キャラクタ24に向かって迫ってきている。
【0027】
さらに、宝箱を表すオブジェクトである宝箱オブジェクト(以下、単に「宝箱」と記載する。)25もフィールド21上に配置される。なお、図2に示す状態では敵キャラクタ23Cが宝箱25の付近に位置している。
【0028】
また、仮想空間20には仮想カメラ(視点)が設定される。図3は仮想カメラについて説明するための図である。例えば、仮想カメラ30はユーザキャラクタ22の位置に基づいて設定される。より具体的には、例えば、仮想カメラ30はユーザキャラクタ22の頭部内の位置22A(例えば、左目と右目との間の中間位置)に設定される。この場合、ユーザキャラクタ22の移動に従って仮想カメラ30も移動し、仮想カメラ30の視界はユーザキャラクタ22の視界と略等しくなる。
【0029】
なお、仮想カメラ30はユーザキャラクタ22の頭部内の位置22Aに設定されなくてもよい。例えば、仮想カメラ30はユーザキャラクタ22の背後の上方に設定されるようにしてもよい。なお、この場合にも、仮想カメラ30はユーザキャラクタ22の移動に従って移動するようにすればよい。
【0030】
上記の仮想カメラ30から見た仮想空間20を表す画面が表示部14に表示される。図4は画面の一例を示す。画面40は、ワールド座標系の座標値をスクリーン座標系の座標値に変換するための行列演算によって、仮想空間20に配置されたオブジェクトの各頂点の座標値をワールド座標系からスクリーン座標系に変換することによって生成される。
【0031】
なお、上述したように、仮想カメラ30がユーザキャラクタ22の頭部内の位置22Aに設定される場合には、ユーザキャラクタ22から見た仮想空間20が画面40に表示されることになる。この場合、ユーザは、ユーザキャラクタ22から見た仮想空間20が表された画面40を見ながらゲームをプレイすることになる。
【0032】
以下、上記のようなゲーム装置10において、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置まで移動する場合の移動態様(例えば移動速度)と、をユーザが一つの操作によって指定することが可能なユーザインタフェースを実現するための技術について説明する。
【0033】
図5は、ユーザキャラクタ22及び仮想カメラ30を移動させるための操作について説明するための図である。本実施形態の場合、ユーザは、画面40内の一部の領域50を囲むような軌跡52をタッチパネル17上で描くことによって、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置まで移動する場合の移動速度(移動態様)と、を指定する。
【0034】
画面40内の一部の領域50を囲むような軌跡52が描かれた場合、ユーザキャラクタ22及び仮想カメラ30が、該領域50に表示された仮想空間20の領域(以下「注目領域」と記載する。)に向かって移動する。すなわち、ユーザキャラクタ22及び仮想カメラ30は注目領域に近づいていく。
【0035】
この場合、ユーザキャラクタ22及び仮想カメラ30の視界が注目領域に対応することになるような位置が、ユーザキャラクタ22及び仮想カメラ30の移動目標位置として設定される。すなわち、ユーザキャラクタ22及び仮想カメラ30の視界が注目領域に略一致することになるような位置が、ユーザキャラクタ22及び仮想カメラ30の移動目標位置として設定される。
【0036】
図6及び図7は、ユーザキャラクタ22及び仮想カメラ30が上記の移動目標位置まで移動した場合の仮想空間20及び画面40の一例をそれぞれ示す。なお、図6では、ユーザキャラクタ22を省略しているが、上述したように、仮想カメラ30はユーザキャラクタ22の頭部内の位置22Aに設定されるため、実際には、ユーザキャラクタ22も仮想カメラ30の位置に配置される。
【0037】
ユーザキャラクタ22及び仮想カメラ30が、現在の位置から移動目標位置まで移動する場合の仮想空間20における移動速度は、軌跡52を描く操作の操作速度に基づいて設定される。図8は、軌跡52を描く操作の操作速度(vo)と、ユーザキャラクタ22及び仮想カメラ30の移動速度(vm)と、の対応関係の一例を示す。なお、軌跡52を描く操作の操作速度(vo)は、軌跡52の長さを、軌跡52を描くために要した時間によって除することによって算出される。また、図8において、「V1」,「V2」、及び「V3」は所定の操作速度を示し、これらは「V1<V2<V3」の関係を有する。また、「Va」、「Vb」、「Vc」、及び「Vd」は所定の移動速度を示し、これらは「Va<Vb<Vc<Vd」の関係を有する。図8に示す対応関係では、軌跡52を描く操作の操作速度(vo)が速いほど、ユーザキャラクタ22及び仮想カメラ30の移動速度(vm)が速くなるようになっている。
【0038】
以上のように、ゲーム装置10では、ユーザは、画面40内の領域50を囲むような軌跡52を描くことによって、ユーザキャラクタ22及び仮想カメラ30の移動目標位置を指定することができる。さらに、ユーザは、軌跡52を描く操作の操作速度を調整することによって、ユーザキャラクタ22及び仮想カメラ30が移動目標位置まで移動する場合の移動速度(移動態様)を指定することができる。すなわち、ゲーム装置10では、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置に向かって移動する場合の移動速度(移動態様)と、の両方を指定することを、画面40内の領域50を囲むような軌跡52を描くという一つの直感的な操作で行えるようになっている。
【0039】
例えば、図2に示す状態では、2体の敵キャラクタ23A,23Bが味方キャラクタ24に迫ってきている。このような場合、味方キャラクタ24を助けるべく、ユーザは、例えば図5に示すような、敵キャラクタ23A,23B及び味方キャラクタ24を囲む軌跡52を素早く描くことによって、ユーザキャラクタ22(及び仮想カメラ30)を敵キャラクタ23A,23B及び味方キャラクタ24の所まで速く移動させる。
【0040】
また、図2に示す状態では、敵キャラクタ23Cが宝箱25の付近に位置している。このような場合、敵キャラクタ23Cに注意を払いながら宝箱25に慎重に近づくべく、ユーザは、敵キャラクタ23C及び宝箱25を囲む軌跡52を比較的ゆっくりと描くことによって、ユーザキャラクタ22(及び仮想カメラ30)を敵キャラクタ23C及び宝箱25の所までゆっくり移動させる。
【0041】
上記に説明したようなユーザインタフェースを実現するための構成について説明する。図9は、ゲーム装置10で実現される機能ブロックを示す機能ブロック図である。図9に示すように、ゲーム装置10はデータ記憶部90、操作受付部91、操作時間情報取得部92、及び移動制御部93を含む。例えば、データ記憶部90は記憶部12によって実現され、他の機能ブロックは、制御部11が記憶部12から読み出されたプログラムを実行することによって実現される。
【0042】
まず、データ記憶部90について説明する。データ記憶部90は、ゲームを実行するために必要なデータを記憶する。例えば、仮想空間20に配置される各オブジェクトのモデルデータや、ユーザキャラクタ22、敵キャラクタ23、及び味方キャラクタ24のモーションデータがデータ記憶部90に記憶される。
【0043】
また、ユーザキャラクタ22、敵キャラクタ23、及び味方キャラクタ24のパラメータデータがデータ記憶部90に記憶される。例えば、下記のようなパラメータがパラメータデータに含まれる。
・強さを示す強さパラメータ(例えば、攻撃パラメータ又は守備パラメータ等)
・体力の残り又はダメージの累積を示すヒットポイントパラメータ
【0044】
さらに、仮想空間20の現在の状態を示す状態データがデータ記憶部90に記憶される。例えば、下記に示すようなデータが状態データに含まれる。
・ユーザキャラクタ22の状態(位置、移動方向、及び移動速度等)を示すデータ
・敵キャラクタ23の状態(位置、移動方向、及び移動速度等)を示すデータ
・味方キャラクタ24の状態(位置、移動方向、及び移動速度等)を示すデータ
・仮想カメラ30の状態(位置、視線方向、及び画角等)を示すデータ
【0045】
次に、操作受付部91について説明する。操作受付部91は、画面40内の領域50を指定するための操作(以下「指定操作」と記載する。)を受け付ける。
【0046】
本実施形態の場合、画面40内の領域50を囲むような軌跡52を描く操作が「指定操作」に相当する。すなわち、本実施形態の場合、操作受付部91は、ユーザの指がタッチパネル17上に接触している間において所定時間(例えば1/60秒)ごとにタッチパネル17から供給される位置情報に基づいて、ユーザによって指示(接触)されているタッチパネル17上の位置を所定時間(例えば1/60秒)ごとに取得する。そして、操作受付部91はユーザによって指示(接触)された位置の軌跡を取得する。この場合、ユーザの指がタッチパネル17上に接触している間において所定時間ごとに取得されたユーザの指示位置(接触位置)の集合が、軌跡データとして取得される。この軌跡データは記憶部12に記憶される。
【0047】
図10は軌跡データの一例について説明するための図である。図10に示すように、軌跡データには、軌跡52上の複数の位置(ここでは位置P1〜P18)が含まれる。なお、図10において、位置P1は軌跡52の始点である。すなわち、位置P1は、タッチパネル17への接触が開始された際の接触位置である。位置P18は軌跡52の終点である。すなわち、位置P18は、タッチパネル17への接触が終了された際の接触位置である。
【0048】
操作時間情報取得部92について説明する。操作時間情報取得部92は指定操作を行うために要した時間(以下「操作時間」と記載する。)に関する情報を取得する。
【0049】
例えば、操作時間情報取得部92は、指定操作が開始された時刻を取得する。また、操作時間情報取得部92は、指定操作が終了した時刻を取得する。そして、操作時間情報取得部92は、開始時刻から終了時刻までに経過した時間を、操作時間に関する情報として取得する。
【0050】
または、指定操作が開始された場合に、操作時間情報取得部92は、記憶部12に記憶される数値を初期値(例えば0)に初期化する。また、指定操作が終了するまでの間、操作時間情報取得部92は、記憶部12に記憶される上記の数値を、所定時間(例えば1/60秒)ごとに、所定値(例えば1)ずつ増加(又は減少)させていく。そして指定操作が終了した場合、操作時間情報取得部92は、記憶部12に記憶される上記の数値と初期値との差を、操作時間に関する情報として取得する。
【0051】
上述したように、本実施形態の場合、画面40内の領域50を囲むような軌跡52を描く操作が「指定操作」に相当する。このため、本実施形態の場合、画面40内の領域50を囲むような軌跡52を描くために要した時間が「操作時間」に相当する。
【0052】
例えば図10に示した軌跡データの場合、ユーザの指が位置P1に接触した時点から、ユーザの指が位置P18まで移動した後にタッチパネル17から離れた時点までの時間が「操作時間」に相当する。なお、ユーザの接触位置は所定時間(例えば1/60秒)ごとに取得されるため、軌跡データに含まれる位置P1〜P18の数(図10の場合には18個)をNとし、かつ、所定時間ΔTとすると、操作時間(t)は下記の式(1)によって取得される。
t=(N−1)*ΔT ・・・ (1)
【0053】
移動制御部93について説明する。移動制御部93は、指定操作によって指定された画面40内の領域50に基づいて、仮想カメラ30又は/及びユーザの操作対象オブジェクトを移動させる。「操作対象オブジェクト」は、仮想空間20に配置されるオブジェクトのうちの、ユーザによって操作されるオブジェクトである。本実施形態の場合、ユーザキャラクタ22が「操作対象オブジェクト」に相当する。
【0054】
移動制御部93は、ユーザキャラクタ22(操作対象オブジェクト)又は/及び仮想カメラ30を、指定操作によって指定された画面40内の領域50に表示される仮想空間20内の領域(注目領域)に近づけるように移動させる。
【0055】
図9に示すように、移動制御部93は移動目標位置決定部94及び移動態様決定部95を含む。
【0056】
移動目標位置決定部94は、ユーザキャラクタ22又は/及び仮想カメラ30を注目領域に近づける場合のユーザキャラクタ22又は/及び仮想カメラ30の移動目標位置を決定する。移動目標位置決定部94は、上記の移動目標位置を、指定操作によって指定された画面40内の領域50の仮想空間20における位置と、領域50の大きさと、に基づいて決定する。ここで、「領域50の大きさ」とは、例えば、領域50の、画面40内(スクリーン座標系)における大きさであってもよいし、領域50の、仮想空間20内(ワールド座標系)における大きさであってもよい。なお、「領域50の、仮想空間20内における大きさ」とは、領域50に対応する仮想空間20内の領域(すなわち注目領域)の大きさである。
【0057】
例えば、移動目標位置決定部94は、ユーザキャラクタ22から見える仮想空間20の領域(すなわち、ユーザキャラクタ22の視界)が注目領域に対応することになるような位置(言い換えれば、ユーザキャラクタ22から見える仮想空間20の領域が注目領域に略一致することになるような位置)を、ユーザキャラクタ22の移動目標位置として決定する。また例えば、移動目標位置決定部94は、仮想カメラ30から見える仮想空間20の領域(すなわち、仮想カメラ30の視界)が注目領域に対応することになるような位置(言い換えれば、仮想カメラ30から見える仮想空間20の領域が注目領域に略一致することになるような位置)を、仮想カメラ30の移動目標位置として決定する。移動目標位置決定部94の動作の詳細については後述する(後述の図11のステップS106参照)。
【0058】
移動態様決定部95は、ユーザキャラクタ22又は/及び仮想カメラ30が移動目標位置に向けて移動する場合の移動態様を、指定操作に要した時間(操作時間)に基づいて決定する。例えば、「ユーザキャラクタ22又は/及び仮想カメラ30が移動目標位置に向けて移動する場合の移動態様」とは、ユーザキャラクタ22又は/及び仮想カメラ30が移動目標位置に向けて移動する場合の移動速度である。また、例えば、ユーザキャラクタ22が複数の移動手段(例えば乗物)のうちから選択される移動手段によって移動するような場合であれば、「ユーザキャラクタ22が移動目標位置に向けて移動する場合の移動態様」とは、ユーザキャラクタ22が移動目標位置に向けて移動する場合に用いる移動手段である。
【0059】
移動態様決定部95を実現するために、例えば、指定操作を行うために要した時間(操作時間)に関する条件と、移動態様と、の対応関係を示す対応関係情報がデータ記憶部90に記憶される。より具体的には、例えば図8に示したような対応関係情報がデータ記憶部90に記憶される。図8に示した対応関係情報は、軌跡52を描く操作の操作速度(vo)と、移動速度(vm)と、の対応関係を示す情報の一例である。なお、図8に示した対応関係情報は上記の対応関係を示すテーブル形式の情報であるが、対応関係情報は、操作速度(vo)に基づいて移動速度(vm)を算出するための数式形式の情報であってもよい。
【0060】
上述したように、本実施形態の場合、画面40内の領域50を囲むような軌跡52を描く操作が「指定操作」に相当する。このため、軌跡52を描くために要した時間が「操作時間」に相当する。また、軌跡52を描く操作の操作速度は、軌跡52を描く操作の操作時間に基づいて算出される。つまり、軌跡52を描く操作の操作速度は、軌跡52の長さを、軌跡52を描くために要した時間(操作時間)で除することによって算出される。このため、図8に示した対応関係情報において、操作速度の範囲は、軌跡52を描く操作の操作時間に関する条件に相当し、その結果、「指定操作を行うために要した時間(操作時間)に関する条件」に相当する。
【0061】
移動態様決定部95は、ユーザキャラクタ22又は/及び仮想カメラ30を移動目標位置に向けて移動させる場合の移動速度を、上記のような対応関係情報に基づいて決定する。すなわち、移動態様決定部95は、指定操作を行うために要した時間(操作時間)によって満足される条件に対応づけられた移動速度を選択する。例えば、図8に示した対応関係情報が記憶されている場合、移動態様決定部95は、軌跡52を描く操作の操作速度が属する範囲に対応づけられた移動速度を選択する。
【0062】
移動制御部93は、移動態様決定部95によって決定された移動態様でユーザキャラクタ22又は/及び仮想カメラ30を移動目標位置に向けて移動させる。
【0063】
次に、ゲーム装置10で実行される処理について説明する。図11は、ゲーム装置10で実行される処理のうち、本発明に関連する処理の一例を示すフロー図である。例えば、図11に示す処理は所定時間(例えば1/60秒)ごとに繰り返し実行される処理である。制御部11が記憶部12に記憶されるプログラムに従って、図11に示す処理を実行することによって、制御部11が操作受付部91、操作時間情報取得部92、及び移動制御部93として機能するようになる。
【0064】
図11に示すように、制御部11(操作受付部91)は、軌跡52の入力が完了されたか否かを判定する(S101)。軌跡52の入力が完了されていないと判定された場合、制御部11は本処理を終了する。一方、軌跡52の入力が完了されたと判定された場合、制御部11は変数iの値をNに初期化する(S102)。なお、ここでは、位置P1〜PNが、ユーザによって入力された軌跡52を示す軌跡データに含まれている場合を想定している。すなわち、「N」は軌跡データに含まれる位置の総数を示している。言い換えれば、「N」は、軌跡52が入力される間にタッチパネル17によって検出された位置の総数を示している。例えば図10に示す軌跡データの場合、「N」の値は18である。
【0065】
ステップS102の処理が実行された後、制御部11は軌跡データを参照し、位置P1から位置Piまでの軌跡52が囲み条件を満足するか否かを判定する(S103)。「囲み条件」とは、画面40内の領域50が軌跡52によって囲まれたと判断されるような条件である。本実施形態では、下記の2種類の条件A,Bの各々が囲み条件として設定されている。図12、図13、及び図14は囲み条件について説明するための図である。
[条件A]位置Pi−1から位置Piへの直線が、位置Pi−j−1から位置Pi−j(2≦j≦i−2)への直線と交わる。
[条件B]位置P1と位置Piとの間の直線距離dが基準距離Dr以下であって、かつ、位置P2〜Pi−1のうちに、位置P1からの直線距離が基準距離Dr以上となる位置が存在する。
【0066】
まず、条件Aについて説明する。ここでは、例えば、位置P1から位置Piまでの軌跡52が、図12に示す位置P1から位置P12までの軌跡52である場合を想定する。この場合、位置P11から位置P12への直線が、位置P1から位置P2への直線と交わるため、図12に示す位置P1から位置P12までの軌跡52は条件Aを満足する。
【0067】
次に、条件Bについて説明する。ここでは、例えば、位置P1から位置Piまでの軌跡52が、図13に示す位置P1から位置P12までの軌跡52である場合を想定する。
【0068】
本実施形態の場合、条件Bが満足されるか否かを判断するのにあたって、まず、基準距離Drが設定される。例えば、基準距離Drは、位置P1〜P12のXs軸座標値のうちの最大値及び最小値の差と、位置P1〜P12のYs軸座標値のうちの最大値及び最小値の差との少なくとも一方に基づいて設定される。
【0069】
具体的には、例えば図13に示すような、位置P1から位置P12までの軌跡52を含むような矩形130の大きさに基づいて、基準距離Drが設定される。なお、矩形130の横辺132Aは、Y軸座標値が最小である位置P6を通り、かつ、Xs軸方向に平行な辺であり、横辺132Bは、Y軸座標値が最大である位置P1を通り、かつ、X軸方向に平行な辺である。また、矩形130の縦辺134Aは、X軸座標値が最小である位置P3を通り、かつ、Ys軸方向に平行な辺であり、縦辺134Bは、X軸座標値が最大である位置P10を通り、かつ、Ys軸方向に平行な辺である。
【0070】
矩形130の横辺132A,132Bの長さをSxとし、縦辺134A,134Bの長さをSyとすると、下記の式(2)に従って基準距離Drが決定される。
Dr=((Sx/2)2+(Sy/2)2)1/2 ・・・ (2)
【0071】
上記の式(2)に従って基準距離Drが決定される場合、例えば図14に示すように、斜辺142C以外の2辺142A,142Bの長さがそれぞれSx/2、Sy/2である直角三角形140の斜辺142Cの長さが、基準距離Drとして設定されることになる。なお、基準距離Drを算出するための式は上記の式(2)に限られず、他の式によって算出されるようにしてもよい。また、基準距離Drは予め定められていてもよい。
【0072】
図13に示す例の場合、位置P1と位置P12との間の直線距離dは基準距離Dr以下であり、かつ、位置P2〜P11のうちに、位置P1からの直線距離が基準距離Dr以上である位置(例えば位置P6)が存在するため、図13に示す位置P1から位置P12までの軌跡52は条件Bを満足する。
【0073】
ステップS103において、位置P1から位置Piまでの軌跡52が上記の条件A,Bのいずれも満足しないと判定された場合、すなわち、位置P1から位置Piまでの軌跡52が囲み条件を満足しないと判定された場合、制御部11は変数iの値から1を減少させる(S104)。そして、制御部11は位置Piが始点であるか否かを判定する(S105)。
【0074】
位置Piが始点であると判定された場合とは、ユーザによって入力された軌跡52が画面40内の領域50を囲むような軌跡ではなかった場合である。この場合、制御部11は本処理を終了する。一方、位置Piが始点でないと判定された場合、制御部11はステップS103の処理を実行する。
【0075】
ステップS103において、位置P1から位置Piまでの軌跡52が囲み条件を満足すると判定された場合、すなわち、位置P1から位置Piまでの軌跡52が上記の条件A,Bの少なくとも一方を満足すると判定された場合、制御部11(移動目標位置決定部94)は、ユーザキャラクタ22(仮想カメラ30)の移動目標位置を決定する(S106)。制御部11は、位置P1から位置Piまでの軌跡52によって囲まれる画面40の領域50の位置及び大きさに基づいて所定の処理を実行することによって、ユーザキャラクタ22(仮想カメラ30)の移動目標位置を決定する。
【0076】
図15及び図16は、ユーザキャラクタ22(仮想カメラ30)の移動目標位置の決定方法の一例について説明するための図である。以下では、例えば、位置P1から位置Piまでの軌跡52が、図15に示す位置P1から位置P12までの軌跡52である場合を想定する。
【0077】
なお、図15において、矩形130は図13の矩形130と同様にして得られる矩形である。また、位置Qi(i=2,4,5,7〜9,11,12)は、位置Piから矩形130の縦辺134A,134B又は横辺132A,132Bへの垂線の足を示す。例えば、位置Q4は、位置P4から矩形130の横辺132Aへの垂線の足である。また、R1,R2,R3,R4は矩形130の頂点を示す。
【0078】
ステップS106において、まず、制御部11は、位置P1から位置P12までの軌跡52によって囲まれる領域50の位置及び大きさに関する情報を取得する。
【0079】
位置P1から位置P12までの軌跡52によって囲まれる領域50の位置に関する情報の取得方法について説明する。例えば、制御部11は、位置P1から位置P12までの軌跡52によって囲まれる領域50の位置に関する情報として、軌跡52によって囲まれる領域50内の代表位置を取得する。例えば図15に示すように、制御部11は、軌跡52を含む矩形130の中心点Cを上記の代表位置として取得する。
【0080】
なお、制御部11は、軌跡52によって囲まれる領域50に含まれているオブジェクトのいずれかの位置を上記の代表位置として取得するようにしてもよい。例えば、制御部11は、軌跡52によって囲まれる領域50に含まれているオブジェクトのうちで、ユーザキャラクタ22(又は仮想カメラ30)に最も近いオブジェクトの位置を上記の代表位置として取得するようにしてもよい。例えば、軌跡52によって囲まれる領域50内に敵キャラクタ23及び味方キャラクタ24が含まれており、かつ、味方キャラクタ24が敵キャラクタ23よりもユーザキャラクタ22(又は仮想カメラ30)に近い場合には、制御部11は味方キャラクタ24の位置を上記の代表位置として取得するようにしてもよい。
【0081】
次に、位置P1から位置P12までの軌跡52によって囲まれる領域50の大きさに関する情報の取得方法について説明する。ここでは、軌跡52によって囲まれる領域50の大きさに関する情報として、領域50の、画面40内(スクリーン座標系)における大きさに関する情報を取得する場合について説明する。
【0082】
例えば、制御部11は、位置P1から位置P12までの軌跡52によって囲まれる領域50の大きさに関する情報として、軌跡52によって囲まれる領域50の面積を取得する。例えば、制御部11は、軌跡52によって囲まれる領域50以外の領域の面積を矩形130の面積から引くことによって、軌跡52によって囲まれる領域50の面積を取得する。なお、図15に示す例の場合、軌跡52によって囲まれる領域50以外の領域の面積は、下記の三角形及び四角形の面積を足すことによって取得される。
・三角形P1P2Q2,P1P12Q12,P6P5Q5,P6P7Q7
・四角形P2P3R3Q2,P3P4Q4R1,P4P5Q5Q4,P7P8Q8Q7,P8P9Q9Q8,P9P10R2Q9,P10P11Q11R4,P11P12Q12Q11
【0083】
なお、軌跡52によって囲まれる領域50の大きさに関する情報として、領域50の、画面40内(スクリーン座標系)における大きさに関する情報を取得する代わりに、領域50の、仮想空間20内(ワールド座標系)における大きさに関する情報を取得するようにしてもよい。例えば、制御部11は、軌跡52によって囲まれる領域50に対応する仮想空間20内の領域(すなわち注目領域)を特定し、該領域(注目領域)の大きさに関する情報を取得するようにしてもよい。
【0084】
位置P1から位置P12までの軌跡52によって囲まれる領域50の位置及び大きさに関する情報が取得された後、制御部11はそれらの情報に基づいてユーザキャラクタ22(仮想カメラ30)の移動目標位置を決定する。図16を参照しながら、ユーザキャラクタ22(仮想カメラ30)の移動目標位置の決定方法の一例について説明する。
【0085】
まず、制御部11は、軌跡52によって囲まれる領域50の代表位置(例えば図15の矩形130の中心点C)に対応する仮想空間20内の位置を取得する。例えば、制御部11は、スクリーン座標系の座標値をワールド座標系の座標値に変換するための行列演算に基づいて、上記の代表位置のスクリーン座標値をワールド座標系の座標値に変換することによって、上記の代表位置に対応する仮想空間20内の位置を取得する。図16における符号「160」は、上記の代表位置に対応する仮想空間20内の位置を示す。
【0086】
次に、制御部11は、上記のようにして取得された位置160から、仮想カメラ30の視線方向32と平行な直線162上を、仮想カメラ30の視線方向32とは逆方向に移動した位置164を、ユーザキャラクタ22(仮想カメラ30)の移動目標位置として取得する。この場合、制御部11は、位置160と位置164との間の距離(k)を、軌跡52によって囲まれる領域50の面積に基づいて決定する。
【0087】
軌跡52によって囲まれる領域50の面積に基づいて上記の距離(k)を決定するためには、領域50の面積と距離(k)との対応関係を示す対応関係情報が必要となる。
【0088】
図17は上記の対応関係情報の一例を示す。図17において、「A1」,「A2」、及び「A3」は所定の面積を示し、これらは「A1<A2<A3」の関係を有する。また、「K1」、「K2」、及び「K3」は所定の距離を示し、これらは「K1<K2<K3」の関係を有する。図17に示す対応関係情報では、軌跡52によって囲まれる領域50の面積(a)が大きいほど、距離(k)が大きくなるようになっている。図17に示す対応関係情報は、ユーザキャラクタ22(仮想カメラ30)の視界が、軌跡52によって囲まれる領域50に表示される仮想空間20内の領域(注目領域)と対応(略一致)することとなるように設定される。
【0089】
例えば、図17に示したような対応関係情報が記憶されている場合、制御部11は、軌跡52によって囲まれる領域50の面積(a)が属する範囲に対応づけられた距離(k)を選択する。なお、図17に示す対応関係情報は上記の対応関係を示すテーブル形式の情報であるが、対応関係情報は、面積(a)に基づいて距離(k)を算出するための数式形式の情報であってもよい。
【0090】
ステップS106の処理が実行された後、図11に示すように、制御部11(操作時間情報取得部92)は、軌跡52を描く操作を行うのに要した時間(操作時間)を取得する(S107)。すなわち、制御部11は、位置P1から位置Piまでの軌跡52を描くために要した時間(操作時間)を算出する。この操作時間(t)は上記の式(1)によって算出される。ただし、この場合、変数iの値が上記の式(1)における「N」の値に相当する。
【0091】
また、制御部11は、軌跡52を描く操作の操作速度を算出する(S108)。すなわち、制御部11は、位置P1から位置Piまでの軌跡52が描かれた際の操作速度を算出する。
【0092】
例えば、制御部11は位置P1から位置Piまでの軌跡52の長さを取得する。軌跡52の長さ(L)は下記の式(3)に従って算出される。なお、下記の式(3)において、「Di−1」は位置Pi−1と位置Piとの間の直線距離を示している。例えば、「D1」は位置P1と位置P2との間の距離を示している。
L=D1+D2+・・・+Di−1 ・・・ (3)
【0093】
そして、制御部11は、位置P1から位置Piまでの軌跡52の長さ(L)と、位置P1から位置Piまでの軌跡を描くために要した時間(操作時間:t)に基づいて、位置P1から位置Piまでの軌跡52が描かれた際の操作速度を算出する。すなわち、制御部11は軌跡の長さ(L)を操作時間(t)で除することによって操作速度を算出する。
【0094】
なお、ステップS107,S108において、制御部11は、位置P1(始点)から位置PN(終点)までの軌跡52が描かれた際の操作時間及び操作速度を算出するようにしてもよい。
【0095】
ステップS108の処理が実行された後、制御部11(移動態様決定部95)はユーザキャラクタ22(仮想カメラ30)の移動速度を決定する(S109)。例えば、制御部11は、ステップS109で決定された操作速度と、図8に示した対応関係情報と、に基づいて移動速度を決定する。すなわち、制御部11は、ステップS108で算出された操作速度に対応する移動速度を取得する。
【0096】
ステップS109の処理が完了した後、制御部11(移動制御部93)は、ステップS106で決定された移動目標位置への移動をユーザキャラクタ22(仮想カメラ30)に開始させる(S110)。この場合、制御部11は、ユーザキャラクタ22及び仮想カメラ30を移動目標位置まで移動させる(図18参照)。また、この場合、制御部11は、ステップS109で決定された移動速度でユーザキャラクタ22(仮想カメラ30)を移動させる。以上で図11に示す処理は終了する。
【0097】
以上に説明したゲーム装置10によれば、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置に向かって移動する場合の移動態様(移動速度)と、の両方を指定することを、画面40内の領域50を囲むような軌跡52を描くという一つの直感的な操作で行うことが可能になる。すなわち、ゲーム装置10によれば、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置に向かって移動する場合の移動態様(移動速度)と、の両方を指定することを一つの直感的な操作によって行えるようなユーザインタフェースを実現することが可能になる。
【0098】
なお、本発明は以上に説明した実施形態に限定されるものではない。
【0099】
(1)図8に示した対応関係情報の代わりに、例えば図19に示すような対応関係情報が記憶されるようにしてもよい。図19に示す対応関係情報は、指定操作(軌跡52を描く操作)のために要した操作時間(t)と、移動速度(vm)と、の対応関係を示す情報であり、操作時間(t)から移動速度(vm)を直接求めるための情報である。なお、図19において、「T1」、「T2」、及び「T3」は所定の時間を示し、これらは「T1<T2<T3」の関係を有する。「Va」、「Vb」、「Vc」、及び「Vd」は図8と同様である。図19に示す対応関係情報では、操作時間(t)が短いほど、移動速度(vm)が速くなるようになっている。
【0100】
なお、図19に示す対応関係情報が記憶される場合、図11のステップS108の処理は不要になる。また、図19に示す対応関係情報はテーブル形式の情報であるが、対応関係情報は、操作時間(t)に基づいて移動速度(vm)を算出するための数式形式の情報であってもよい。
【0101】
(2)制御部11は、指定操作によって指定された画面40内の領域50を示す画像(以下「領域画像」と記載する。)を画面40に表示するようにしてもよい。また、指定操作によって指定された画面40内の領域50に敵キャラクタ23が含まれる場合、制御部11は、ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果に基づいて、領域画像の表示態様を変更するようにしてもよい。
【0102】
本実施形態の場合、例えば、軌跡52を示す画像が「領域画像」に相当する。例えば、「領域画像の表示態様を変更する」とは、領域画像の色等を変更することを含む。また例えば、領域画像が、指定操作によって指定された領域50の境界線を示す線である場合、「領域画像の表示態様を変更する」とは、線の太さや種類等を変更することを含む。
【0103】
また例えば、「ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果」とは、「ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの間の差(大小)である。より具体的には、上記の「比較結果」とは、ユーザキャラクタ22のヒットポイントパラメータと敵キャラクタ23のヒットポイントパラメータとの間の差(大小)である。または、上記の「比較結果」とは、ユーザキャラクタ22の強さパラメータと敵キャラクタ23の強さパラメータとの間の差(大小)である。
【0104】
なお、軌跡52によって囲まれる領域50に複数の敵キャラクタ23が含まれている場合、それら複数の敵キャラクタ23のパラメータの統計値(例えば平均値又は最大値等)を上記の「敵キャラクタ23のパラメータ」として用いるようにすればよい。または、それら複数の敵キャラクタ23のうちのいずれかの敵キャラクタ23のパラメータを上記の「敵キャラクタ23のパラメータ」として用いるようにしてもよい。
【0105】
ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果に基づいて、領域画像の表示態様を変更するためには、上記の比較結果と、領域画像の表示態様と、の対応関係を示す対応関係情報が必要となる。図20はこの対応関係情報の一例を示す。
【0106】
図20に示す対応関係情報では、ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの間の差(Δp)と、領域画像の表示態様を示す表示態様情報と、の対応関係が定められている。なお、図20において、「Δp」の値が正の値である場合とは、ユーザキャラクタ22のパラメータが敵キャラクタ23のパラメータよりも大きい場合を示し、「Δp」の値が負の値である場合とは、ユーザキャラクタ22のパラメータが敵キャラクタ23のパラメータよりも小さい場合を示している。
【0107】
制御部11は図20に示す対応関係情報を参照し、ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果(Δp)に対応する表示態様情報を取得する。そして、制御部11は領域画像の表示態様を該表示態様情報が示す表示態様に設定する。
【0108】
以上のようにすれば、ユーザキャラクタ22のパラメータと、指定操作(軌跡52を描く操作)によって指定された領域50内に含まれている敵キャラクタ23のパラメータと、の比較結果をユーザが領域画像(軌跡52)の表示態様から把握できる。したがって、敵キャラクタ23と戦う前に、その敵キャラクタ23がユーザキャラクタ22よりも強いか弱いかを一目で把握することが可能になる。
【0109】
(3)指定操作は軌跡52を描く操作に限られず、別の操作であってもよい。例えば図21に示すように、タッチパネル17上の二つの位置210,212を指示するような操作であってもよい。この場合、二つの位置210,212を結ぶ直線を対角線とするような矩形領域214が「指定操作によって指定された画面40内の領域」に相当する。また、この場合、二つの位置210,212を指示するために要した時間が「指定操作に要した時間(操作時間)」に相当する。例えば、先に位置210が指示された後に位置212が指示された場合、位置210が指示されてから位置212が指示されるまでの時間が「指定操作に要した時間(操作時間)」に相当する。
【0110】
(4)ユーザキャラクタ22を仮想空間20に配置しないようにしてもよい。この場合、仮想カメラ30のみがユーザの操作に従って移動するようにすればよい。
【0111】
(5)ユーザキャラクタ22と仮想カメラ30との相対的位置関係は変化するようにしてもよい。例えば、仮想カメラ30は、ユーザキャラクタ22と他のオブジェクト(例えば敵キャラクタ23)との位置関係に合わせて最適な位置に自動的に設定されるようにしてもよい。このような場合、ユーザキャラクタ22のみがユーザの操作に従って移動するようにすればよい。
【0112】
(6)ゲーム装置10は、タッチパネル17以外のポインティングデバイスを備えるようにしてもよい。例えば、ゲーム装置10はマウスを備えるようにしてもよい。また、ゲーム装置10は、任天堂社製のWii(登録商標)のリモコンコントローラのようなポインティングデバイスを備えるようにしてもよい。あるいは、ゲーム装置10は、マイクロソフト社製のKINECT(登録商標)コントローラのようなポインティングデバイスを備えるようにしてもよい。なお、この場合、ユーザの所定部位(例えば右手)の位置が、ユーザが指示している位置として扱われるようにすればよい。
【0113】
(7)ゲーム装置10で実行されるゲームは以上に説明したゲームに限られない。本発明は、ユーザによって操作されるオブジェクト又は/及び仮想カメラ30がユーザの操作に従って移動するようなゲームに適用することができる。また、本発明は、ゲーム装置10以外の画像処理装置にも適用することも可能である。本発明は、ユーザによって操作されるオブジェクト又は/及び仮想カメラ30がユーザの操作に従って移動するような画面を表示手段に表示する画像処理装置に適用することが可能である。
【符号の説明】
【0114】
10 画像処理装置、11 制御部、12 記憶部、13 通信部、14 表示部、15 音声出力部、16 操作部、17 タッチパネル、20 仮想空間、21 フィールド、22 ユーザキャラクタ、23A,23B,23C 敵キャラクタ、24 味方キャラクタ、25 宝箱、30 仮想カメラ、32 視線方向、40 画面、50 領域、52 軌跡、90 データ記憶部、91 操作受付部、92 操作時間情報取得部、93 移動制御部、94 移動目標位置決定部、95 移動態様決定部。
【技術分野】
【0001】
本発明は画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置(例えばゲーム装置等)が知られている。このような画像処理装置では、仮想カメラ又は/及びユーザの操作対象オブジェクトがユーザの操作に応じて移動するものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−046219号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の画像処理装置では、仮想カメラ又は/及び操作対象オブジェクトを所望の位置まで所望の態様(例えば移動速度又は移動手段等)で移動させる場合、ユーザは、目標位置を指定する操作と、移動態様を指定する操作と、を行わなければならなかった。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、仮想カメラ又は/及び操作対象オブジェクトを所望の移動目標位置まで所望の移動態様で移動させる場合において、所望の移動目標位置と所望の移動態様とを一の操作で指定することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置において、前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段と、前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段と、前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段と、を含み、前記移動制御手段は、前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置の制御方法において、前記画面内の一部領域を指定するための指定操作を受け付ける操作受付ステップと、前記指定操作に要した時間に関する情報を取得する操作時間情報取得ステップと、前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御ステップと、を含み、前記移動制御ステップは、前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定ステップと、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定ステップと、前記移動態様決定ステップにおいて決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させるステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段、前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段、及び、前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段、として前記コンピュータを機能させ、前記移動制御手段は、前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内おける位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含むことを特徴とするプログラムである。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0010】
本発明によれば、仮想カメラ又は/及び操作対象オブジェクトを所望の移動目標位置まで所望の移動態様(例えば移動速度又は移動手段等)で移動させる場合において、所望の移動目標位置と所望の移動態様とを一の操作で指定することが可能になる。
【0011】
また本発明の一態様では、前記移動態様決定手段は、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動速度を、前記指定操作に要した前記時間に基づいて決定するようにしてもよい。
【0012】
また本発明の一態様では、前記移動態様決定手段は、前記指定操作に要した前記時間に基づいて、前記指定操作の操作速度を取得する手段を含み、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作の操作速度に基づいて決定するようにしてもよい。
【0013】
また本発明の一態様では、前記一部領域を示す画像を前記画面に表示する手段と、前記操作対象オブジェクトのパラメータと、前記一部領域内に含まれるオブジェクトのパラメータと、の比較結果に基づいて、前記一部領域を示す前記画像の表示態様を変更する手段と、を含むようにしてもよい。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るゲーム装置(画像処理装置)のハードウェア構成の一例を示す図である。
【図2】仮想空間の一例を示す図である。
【図3】仮想カメラについて説明するための図である。
【図4】ゲーム画面の一例を示す図である。
【図5】ユーザキャラクタ及び仮想カメラを移動させるための操作について説明するための図である。
【図6】ユーザキャラクタ及び仮想カメラが移動目標位置まで移動した場合の仮想空間の一例を示す図である。
【図7】ユーザキャラクタ及び仮想カメラが移動目標位置まで移動した場合のゲーム画面の一例を示す図である。
【図8】操作速度と移動速度との対応関係の一例を示す図である。
【図9】本発明の実施形態に係るゲーム装置(画像処理装置)の機能ブロック図である。
【図10】軌跡データの一例について説明するための図である。
【図11】ゲーム装置で実行される処理の一例を示すフロー図である。
【図12】囲み条件について説明するための図である。
【図13】囲み条件について説明するための図である。
【図14】囲み条件について説明するための図である。
【図15】移動目標位置の決定方法の一例を説明するための図である。
【図16】移動目標位置の決定方法の一例を説明するための図である。
【図17】面積と距離との対応関係の一例を示す図である。
【図18】ユーザキャラクタ及び仮想カメラの移動の一例について説明するための図である。
【図19】操作時間と移動速度との対応関係の一例を示す図である。
【図20】パラメータの差と表示態様情報との対応関係の一例を示す図である。
【図21】指定操作の他の一例について説明するための図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。なお、以下では、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置(画像処理装置)は、例えば、携帯ゲーム機、携帯電話機(スマートフォン)、携帯情報端末、パーソナルコンピュータ、業務用ゲーム機、又は家庭用ゲーム機(据置型ゲーム機)等によって実現される。
【0016】
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成の一例を示す。図1に示すように、ゲーム装置10は制御部11、記憶部12、通信部13、表示部14、音声出力部15、操作部16、及びタッチパネル17を含む。
【0017】
制御部11は例えば一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたオペレーティングシステム又はその他のプログラムに基づいて、ゲーム装置10の各部を制御するための処理を実行したり、情報処理を実行したりする。
【0018】
記憶部12は主記憶部及び補助記憶部を含む。主記憶部は例えばRAMを含み、補助記憶部から読み出されたプログラム及びデータが主記憶部に書き込まれる。主記憶部は制御部11の作業用メモリとしても用いられる。補助記憶部は例えばハードディスクドライブ又はソリッドステートドライブ等の不揮発性記憶媒体を含み、プログラムやデータが補助記憶部に記憶される。
【0019】
通信部13は、インターネット等の通信ネットワークを介してデータ通信を行うためのものである。例えば、プログラムやデータは、通信ネットワークを介して遠隔地からゲーム装置10に供給され、記憶部12(補助記憶部)に記憶される。
【0020】
表示部14は例えば液晶ディスプレイである。表示部14は制御部11からの指示に従って画面を表示する。音声出力部15は例えばスピーカ又はヘッドホン端子である。音声出力部15は制御部11からの指示に従って音声(例えば、音楽又は効果音等)を出力する。操作部16は例えばボタン、スティック(レバー)、キーボード、又はマウスを含み、ユーザが操作を行うために用いられる。
【0021】
タッチパネル17は、例えば抵抗膜方式又は静電容量方式等の一般的なタッチパネルである。タッチパネル17はユーザによって接触された位置を検出する。タッチパネル17は、ユーザによって接触された位置に応じた情報を制御部11に供給する。タッチパネル17は表示部14の上に重ねられ、表示部14に表示される画面内の位置をユーザが指し示すために用いられる。例えば、タッチパネル17によって検出された位置(すなわち、ユーザによって接触された位置)はスクリーン座標系で表される。スクリーン座標系は、表示部14に表示される画面の左上の頂点を原点Oとし、横方向(右方向)をXs軸正方向とし、縦方向(下方向)をYs軸正方向とするようなXsYs座標系である(後述の図4参照)。
【0022】
なお、ゲーム装置10は光ディスクドライブ又はメモリカードスロットを含むようにしてもよい。光ディスクドライブは光ディスク(情報記憶媒体)に記録されたプログラムやデータを読み出すためのものであり、メモリカードスロットはメモリカード(情報記憶媒体)に記憶されたプログラムやデータを読み出すためのものである。プログラムやデータは、光ディスク又はメモリカードを介してゲーム装置10に供給され、記憶部12(補助記憶部)に記憶されるようにしてもよい。
【0023】
ゲーム装置10は記憶部12に記憶されるゲームプログラムに基づいて各種ゲームを実行する。以下では、ユーザがゲームキャラクタ(以下「ユーザキャラクタ」と記載する。)を操作することによって、ユーザキャラクタと対立するゲームキャラクタ(以下「敵キャラクタ」と記載する。)を退治するゲームをゲーム装置10が実行する場合について説明する。
【0024】
ゲーム装置10が上記のゲームを実行する場合、仮想空間が記憶部12(主記憶部)に構築される。図2は仮想空間の一例を示す。図2に示す仮想空間20は、互いに直交する3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。仮想空間20に配置されるオブジェクトの位置等はこれらの3つの座標軸によって特定される。なお、以下では、XwYwZw座標系のことを「ワールド座標系」と記載する。
【0025】
図2に示すように、各種オブジェクトが仮想空間20に配置される。例えば、フィールドを表すオブジェクトであるフィールドオブジェクト(以下、単に「フィールド」と記載する。)21が仮想空間20に配置される。また、ユーザキャラクタを表すオブジェクトであるユーザキャラクタオブジェクト(以下、単に「ユーザキャラクタ」と記載する。)22がフィールド21上に配置される。さらに、敵キャラクタを表すオブジェクトである敵キャラクタオブジェクト(以下、単に「敵キャラクタ」と記載する。)23A,23B,23Cもフィールド21上に配置される。なお、以下では、敵キャラクタ23A,23B,23Cのことを総称して「敵キャラクタ23」と記載する場合がある。
【0026】
また、ユーザキャラクタ22の味方キャラクタを表すオブジェクトである味方キャラクタオブジェクト(以下、単に「味方キャラクタ」と記載する。)24もフィールド21上に配置される。なお、図2に示す状態では2体の敵キャラクタ23A,23Bが味方キャラクタ24に向かって迫ってきている。
【0027】
さらに、宝箱を表すオブジェクトである宝箱オブジェクト(以下、単に「宝箱」と記載する。)25もフィールド21上に配置される。なお、図2に示す状態では敵キャラクタ23Cが宝箱25の付近に位置している。
【0028】
また、仮想空間20には仮想カメラ(視点)が設定される。図3は仮想カメラについて説明するための図である。例えば、仮想カメラ30はユーザキャラクタ22の位置に基づいて設定される。より具体的には、例えば、仮想カメラ30はユーザキャラクタ22の頭部内の位置22A(例えば、左目と右目との間の中間位置)に設定される。この場合、ユーザキャラクタ22の移動に従って仮想カメラ30も移動し、仮想カメラ30の視界はユーザキャラクタ22の視界と略等しくなる。
【0029】
なお、仮想カメラ30はユーザキャラクタ22の頭部内の位置22Aに設定されなくてもよい。例えば、仮想カメラ30はユーザキャラクタ22の背後の上方に設定されるようにしてもよい。なお、この場合にも、仮想カメラ30はユーザキャラクタ22の移動に従って移動するようにすればよい。
【0030】
上記の仮想カメラ30から見た仮想空間20を表す画面が表示部14に表示される。図4は画面の一例を示す。画面40は、ワールド座標系の座標値をスクリーン座標系の座標値に変換するための行列演算によって、仮想空間20に配置されたオブジェクトの各頂点の座標値をワールド座標系からスクリーン座標系に変換することによって生成される。
【0031】
なお、上述したように、仮想カメラ30がユーザキャラクタ22の頭部内の位置22Aに設定される場合には、ユーザキャラクタ22から見た仮想空間20が画面40に表示されることになる。この場合、ユーザは、ユーザキャラクタ22から見た仮想空間20が表された画面40を見ながらゲームをプレイすることになる。
【0032】
以下、上記のようなゲーム装置10において、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置まで移動する場合の移動態様(例えば移動速度)と、をユーザが一つの操作によって指定することが可能なユーザインタフェースを実現するための技術について説明する。
【0033】
図5は、ユーザキャラクタ22及び仮想カメラ30を移動させるための操作について説明するための図である。本実施形態の場合、ユーザは、画面40内の一部の領域50を囲むような軌跡52をタッチパネル17上で描くことによって、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置まで移動する場合の移動速度(移動態様)と、を指定する。
【0034】
画面40内の一部の領域50を囲むような軌跡52が描かれた場合、ユーザキャラクタ22及び仮想カメラ30が、該領域50に表示された仮想空間20の領域(以下「注目領域」と記載する。)に向かって移動する。すなわち、ユーザキャラクタ22及び仮想カメラ30は注目領域に近づいていく。
【0035】
この場合、ユーザキャラクタ22及び仮想カメラ30の視界が注目領域に対応することになるような位置が、ユーザキャラクタ22及び仮想カメラ30の移動目標位置として設定される。すなわち、ユーザキャラクタ22及び仮想カメラ30の視界が注目領域に略一致することになるような位置が、ユーザキャラクタ22及び仮想カメラ30の移動目標位置として設定される。
【0036】
図6及び図7は、ユーザキャラクタ22及び仮想カメラ30が上記の移動目標位置まで移動した場合の仮想空間20及び画面40の一例をそれぞれ示す。なお、図6では、ユーザキャラクタ22を省略しているが、上述したように、仮想カメラ30はユーザキャラクタ22の頭部内の位置22Aに設定されるため、実際には、ユーザキャラクタ22も仮想カメラ30の位置に配置される。
【0037】
ユーザキャラクタ22及び仮想カメラ30が、現在の位置から移動目標位置まで移動する場合の仮想空間20における移動速度は、軌跡52を描く操作の操作速度に基づいて設定される。図8は、軌跡52を描く操作の操作速度(vo)と、ユーザキャラクタ22及び仮想カメラ30の移動速度(vm)と、の対応関係の一例を示す。なお、軌跡52を描く操作の操作速度(vo)は、軌跡52の長さを、軌跡52を描くために要した時間によって除することによって算出される。また、図8において、「V1」,「V2」、及び「V3」は所定の操作速度を示し、これらは「V1<V2<V3」の関係を有する。また、「Va」、「Vb」、「Vc」、及び「Vd」は所定の移動速度を示し、これらは「Va<Vb<Vc<Vd」の関係を有する。図8に示す対応関係では、軌跡52を描く操作の操作速度(vo)が速いほど、ユーザキャラクタ22及び仮想カメラ30の移動速度(vm)が速くなるようになっている。
【0038】
以上のように、ゲーム装置10では、ユーザは、画面40内の領域50を囲むような軌跡52を描くことによって、ユーザキャラクタ22及び仮想カメラ30の移動目標位置を指定することができる。さらに、ユーザは、軌跡52を描く操作の操作速度を調整することによって、ユーザキャラクタ22及び仮想カメラ30が移動目標位置まで移動する場合の移動速度(移動態様)を指定することができる。すなわち、ゲーム装置10では、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置に向かって移動する場合の移動速度(移動態様)と、の両方を指定することを、画面40内の領域50を囲むような軌跡52を描くという一つの直感的な操作で行えるようになっている。
【0039】
例えば、図2に示す状態では、2体の敵キャラクタ23A,23Bが味方キャラクタ24に迫ってきている。このような場合、味方キャラクタ24を助けるべく、ユーザは、例えば図5に示すような、敵キャラクタ23A,23B及び味方キャラクタ24を囲む軌跡52を素早く描くことによって、ユーザキャラクタ22(及び仮想カメラ30)を敵キャラクタ23A,23B及び味方キャラクタ24の所まで速く移動させる。
【0040】
また、図2に示す状態では、敵キャラクタ23Cが宝箱25の付近に位置している。このような場合、敵キャラクタ23Cに注意を払いながら宝箱25に慎重に近づくべく、ユーザは、敵キャラクタ23C及び宝箱25を囲む軌跡52を比較的ゆっくりと描くことによって、ユーザキャラクタ22(及び仮想カメラ30)を敵キャラクタ23C及び宝箱25の所までゆっくり移動させる。
【0041】
上記に説明したようなユーザインタフェースを実現するための構成について説明する。図9は、ゲーム装置10で実現される機能ブロックを示す機能ブロック図である。図9に示すように、ゲーム装置10はデータ記憶部90、操作受付部91、操作時間情報取得部92、及び移動制御部93を含む。例えば、データ記憶部90は記憶部12によって実現され、他の機能ブロックは、制御部11が記憶部12から読み出されたプログラムを実行することによって実現される。
【0042】
まず、データ記憶部90について説明する。データ記憶部90は、ゲームを実行するために必要なデータを記憶する。例えば、仮想空間20に配置される各オブジェクトのモデルデータや、ユーザキャラクタ22、敵キャラクタ23、及び味方キャラクタ24のモーションデータがデータ記憶部90に記憶される。
【0043】
また、ユーザキャラクタ22、敵キャラクタ23、及び味方キャラクタ24のパラメータデータがデータ記憶部90に記憶される。例えば、下記のようなパラメータがパラメータデータに含まれる。
・強さを示す強さパラメータ(例えば、攻撃パラメータ又は守備パラメータ等)
・体力の残り又はダメージの累積を示すヒットポイントパラメータ
【0044】
さらに、仮想空間20の現在の状態を示す状態データがデータ記憶部90に記憶される。例えば、下記に示すようなデータが状態データに含まれる。
・ユーザキャラクタ22の状態(位置、移動方向、及び移動速度等)を示すデータ
・敵キャラクタ23の状態(位置、移動方向、及び移動速度等)を示すデータ
・味方キャラクタ24の状態(位置、移動方向、及び移動速度等)を示すデータ
・仮想カメラ30の状態(位置、視線方向、及び画角等)を示すデータ
【0045】
次に、操作受付部91について説明する。操作受付部91は、画面40内の領域50を指定するための操作(以下「指定操作」と記載する。)を受け付ける。
【0046】
本実施形態の場合、画面40内の領域50を囲むような軌跡52を描く操作が「指定操作」に相当する。すなわち、本実施形態の場合、操作受付部91は、ユーザの指がタッチパネル17上に接触している間において所定時間(例えば1/60秒)ごとにタッチパネル17から供給される位置情報に基づいて、ユーザによって指示(接触)されているタッチパネル17上の位置を所定時間(例えば1/60秒)ごとに取得する。そして、操作受付部91はユーザによって指示(接触)された位置の軌跡を取得する。この場合、ユーザの指がタッチパネル17上に接触している間において所定時間ごとに取得されたユーザの指示位置(接触位置)の集合が、軌跡データとして取得される。この軌跡データは記憶部12に記憶される。
【0047】
図10は軌跡データの一例について説明するための図である。図10に示すように、軌跡データには、軌跡52上の複数の位置(ここでは位置P1〜P18)が含まれる。なお、図10において、位置P1は軌跡52の始点である。すなわち、位置P1は、タッチパネル17への接触が開始された際の接触位置である。位置P18は軌跡52の終点である。すなわち、位置P18は、タッチパネル17への接触が終了された際の接触位置である。
【0048】
操作時間情報取得部92について説明する。操作時間情報取得部92は指定操作を行うために要した時間(以下「操作時間」と記載する。)に関する情報を取得する。
【0049】
例えば、操作時間情報取得部92は、指定操作が開始された時刻を取得する。また、操作時間情報取得部92は、指定操作が終了した時刻を取得する。そして、操作時間情報取得部92は、開始時刻から終了時刻までに経過した時間を、操作時間に関する情報として取得する。
【0050】
または、指定操作が開始された場合に、操作時間情報取得部92は、記憶部12に記憶される数値を初期値(例えば0)に初期化する。また、指定操作が終了するまでの間、操作時間情報取得部92は、記憶部12に記憶される上記の数値を、所定時間(例えば1/60秒)ごとに、所定値(例えば1)ずつ増加(又は減少)させていく。そして指定操作が終了した場合、操作時間情報取得部92は、記憶部12に記憶される上記の数値と初期値との差を、操作時間に関する情報として取得する。
【0051】
上述したように、本実施形態の場合、画面40内の領域50を囲むような軌跡52を描く操作が「指定操作」に相当する。このため、本実施形態の場合、画面40内の領域50を囲むような軌跡52を描くために要した時間が「操作時間」に相当する。
【0052】
例えば図10に示した軌跡データの場合、ユーザの指が位置P1に接触した時点から、ユーザの指が位置P18まで移動した後にタッチパネル17から離れた時点までの時間が「操作時間」に相当する。なお、ユーザの接触位置は所定時間(例えば1/60秒)ごとに取得されるため、軌跡データに含まれる位置P1〜P18の数(図10の場合には18個)をNとし、かつ、所定時間ΔTとすると、操作時間(t)は下記の式(1)によって取得される。
t=(N−1)*ΔT ・・・ (1)
【0053】
移動制御部93について説明する。移動制御部93は、指定操作によって指定された画面40内の領域50に基づいて、仮想カメラ30又は/及びユーザの操作対象オブジェクトを移動させる。「操作対象オブジェクト」は、仮想空間20に配置されるオブジェクトのうちの、ユーザによって操作されるオブジェクトである。本実施形態の場合、ユーザキャラクタ22が「操作対象オブジェクト」に相当する。
【0054】
移動制御部93は、ユーザキャラクタ22(操作対象オブジェクト)又は/及び仮想カメラ30を、指定操作によって指定された画面40内の領域50に表示される仮想空間20内の領域(注目領域)に近づけるように移動させる。
【0055】
図9に示すように、移動制御部93は移動目標位置決定部94及び移動態様決定部95を含む。
【0056】
移動目標位置決定部94は、ユーザキャラクタ22又は/及び仮想カメラ30を注目領域に近づける場合のユーザキャラクタ22又は/及び仮想カメラ30の移動目標位置を決定する。移動目標位置決定部94は、上記の移動目標位置を、指定操作によって指定された画面40内の領域50の仮想空間20における位置と、領域50の大きさと、に基づいて決定する。ここで、「領域50の大きさ」とは、例えば、領域50の、画面40内(スクリーン座標系)における大きさであってもよいし、領域50の、仮想空間20内(ワールド座標系)における大きさであってもよい。なお、「領域50の、仮想空間20内における大きさ」とは、領域50に対応する仮想空間20内の領域(すなわち注目領域)の大きさである。
【0057】
例えば、移動目標位置決定部94は、ユーザキャラクタ22から見える仮想空間20の領域(すなわち、ユーザキャラクタ22の視界)が注目領域に対応することになるような位置(言い換えれば、ユーザキャラクタ22から見える仮想空間20の領域が注目領域に略一致することになるような位置)を、ユーザキャラクタ22の移動目標位置として決定する。また例えば、移動目標位置決定部94は、仮想カメラ30から見える仮想空間20の領域(すなわち、仮想カメラ30の視界)が注目領域に対応することになるような位置(言い換えれば、仮想カメラ30から見える仮想空間20の領域が注目領域に略一致することになるような位置)を、仮想カメラ30の移動目標位置として決定する。移動目標位置決定部94の動作の詳細については後述する(後述の図11のステップS106参照)。
【0058】
移動態様決定部95は、ユーザキャラクタ22又は/及び仮想カメラ30が移動目標位置に向けて移動する場合の移動態様を、指定操作に要した時間(操作時間)に基づいて決定する。例えば、「ユーザキャラクタ22又は/及び仮想カメラ30が移動目標位置に向けて移動する場合の移動態様」とは、ユーザキャラクタ22又は/及び仮想カメラ30が移動目標位置に向けて移動する場合の移動速度である。また、例えば、ユーザキャラクタ22が複数の移動手段(例えば乗物)のうちから選択される移動手段によって移動するような場合であれば、「ユーザキャラクタ22が移動目標位置に向けて移動する場合の移動態様」とは、ユーザキャラクタ22が移動目標位置に向けて移動する場合に用いる移動手段である。
【0059】
移動態様決定部95を実現するために、例えば、指定操作を行うために要した時間(操作時間)に関する条件と、移動態様と、の対応関係を示す対応関係情報がデータ記憶部90に記憶される。より具体的には、例えば図8に示したような対応関係情報がデータ記憶部90に記憶される。図8に示した対応関係情報は、軌跡52を描く操作の操作速度(vo)と、移動速度(vm)と、の対応関係を示す情報の一例である。なお、図8に示した対応関係情報は上記の対応関係を示すテーブル形式の情報であるが、対応関係情報は、操作速度(vo)に基づいて移動速度(vm)を算出するための数式形式の情報であってもよい。
【0060】
上述したように、本実施形態の場合、画面40内の領域50を囲むような軌跡52を描く操作が「指定操作」に相当する。このため、軌跡52を描くために要した時間が「操作時間」に相当する。また、軌跡52を描く操作の操作速度は、軌跡52を描く操作の操作時間に基づいて算出される。つまり、軌跡52を描く操作の操作速度は、軌跡52の長さを、軌跡52を描くために要した時間(操作時間)で除することによって算出される。このため、図8に示した対応関係情報において、操作速度の範囲は、軌跡52を描く操作の操作時間に関する条件に相当し、その結果、「指定操作を行うために要した時間(操作時間)に関する条件」に相当する。
【0061】
移動態様決定部95は、ユーザキャラクタ22又は/及び仮想カメラ30を移動目標位置に向けて移動させる場合の移動速度を、上記のような対応関係情報に基づいて決定する。すなわち、移動態様決定部95は、指定操作を行うために要した時間(操作時間)によって満足される条件に対応づけられた移動速度を選択する。例えば、図8に示した対応関係情報が記憶されている場合、移動態様決定部95は、軌跡52を描く操作の操作速度が属する範囲に対応づけられた移動速度を選択する。
【0062】
移動制御部93は、移動態様決定部95によって決定された移動態様でユーザキャラクタ22又は/及び仮想カメラ30を移動目標位置に向けて移動させる。
【0063】
次に、ゲーム装置10で実行される処理について説明する。図11は、ゲーム装置10で実行される処理のうち、本発明に関連する処理の一例を示すフロー図である。例えば、図11に示す処理は所定時間(例えば1/60秒)ごとに繰り返し実行される処理である。制御部11が記憶部12に記憶されるプログラムに従って、図11に示す処理を実行することによって、制御部11が操作受付部91、操作時間情報取得部92、及び移動制御部93として機能するようになる。
【0064】
図11に示すように、制御部11(操作受付部91)は、軌跡52の入力が完了されたか否かを判定する(S101)。軌跡52の入力が完了されていないと判定された場合、制御部11は本処理を終了する。一方、軌跡52の入力が完了されたと判定された場合、制御部11は変数iの値をNに初期化する(S102)。なお、ここでは、位置P1〜PNが、ユーザによって入力された軌跡52を示す軌跡データに含まれている場合を想定している。すなわち、「N」は軌跡データに含まれる位置の総数を示している。言い換えれば、「N」は、軌跡52が入力される間にタッチパネル17によって検出された位置の総数を示している。例えば図10に示す軌跡データの場合、「N」の値は18である。
【0065】
ステップS102の処理が実行された後、制御部11は軌跡データを参照し、位置P1から位置Piまでの軌跡52が囲み条件を満足するか否かを判定する(S103)。「囲み条件」とは、画面40内の領域50が軌跡52によって囲まれたと判断されるような条件である。本実施形態では、下記の2種類の条件A,Bの各々が囲み条件として設定されている。図12、図13、及び図14は囲み条件について説明するための図である。
[条件A]位置Pi−1から位置Piへの直線が、位置Pi−j−1から位置Pi−j(2≦j≦i−2)への直線と交わる。
[条件B]位置P1と位置Piとの間の直線距離dが基準距離Dr以下であって、かつ、位置P2〜Pi−1のうちに、位置P1からの直線距離が基準距離Dr以上となる位置が存在する。
【0066】
まず、条件Aについて説明する。ここでは、例えば、位置P1から位置Piまでの軌跡52が、図12に示す位置P1から位置P12までの軌跡52である場合を想定する。この場合、位置P11から位置P12への直線が、位置P1から位置P2への直線と交わるため、図12に示す位置P1から位置P12までの軌跡52は条件Aを満足する。
【0067】
次に、条件Bについて説明する。ここでは、例えば、位置P1から位置Piまでの軌跡52が、図13に示す位置P1から位置P12までの軌跡52である場合を想定する。
【0068】
本実施形態の場合、条件Bが満足されるか否かを判断するのにあたって、まず、基準距離Drが設定される。例えば、基準距離Drは、位置P1〜P12のXs軸座標値のうちの最大値及び最小値の差と、位置P1〜P12のYs軸座標値のうちの最大値及び最小値の差との少なくとも一方に基づいて設定される。
【0069】
具体的には、例えば図13に示すような、位置P1から位置P12までの軌跡52を含むような矩形130の大きさに基づいて、基準距離Drが設定される。なお、矩形130の横辺132Aは、Y軸座標値が最小である位置P6を通り、かつ、Xs軸方向に平行な辺であり、横辺132Bは、Y軸座標値が最大である位置P1を通り、かつ、X軸方向に平行な辺である。また、矩形130の縦辺134Aは、X軸座標値が最小である位置P3を通り、かつ、Ys軸方向に平行な辺であり、縦辺134Bは、X軸座標値が最大である位置P10を通り、かつ、Ys軸方向に平行な辺である。
【0070】
矩形130の横辺132A,132Bの長さをSxとし、縦辺134A,134Bの長さをSyとすると、下記の式(2)に従って基準距離Drが決定される。
Dr=((Sx/2)2+(Sy/2)2)1/2 ・・・ (2)
【0071】
上記の式(2)に従って基準距離Drが決定される場合、例えば図14に示すように、斜辺142C以外の2辺142A,142Bの長さがそれぞれSx/2、Sy/2である直角三角形140の斜辺142Cの長さが、基準距離Drとして設定されることになる。なお、基準距離Drを算出するための式は上記の式(2)に限られず、他の式によって算出されるようにしてもよい。また、基準距離Drは予め定められていてもよい。
【0072】
図13に示す例の場合、位置P1と位置P12との間の直線距離dは基準距離Dr以下であり、かつ、位置P2〜P11のうちに、位置P1からの直線距離が基準距離Dr以上である位置(例えば位置P6)が存在するため、図13に示す位置P1から位置P12までの軌跡52は条件Bを満足する。
【0073】
ステップS103において、位置P1から位置Piまでの軌跡52が上記の条件A,Bのいずれも満足しないと判定された場合、すなわち、位置P1から位置Piまでの軌跡52が囲み条件を満足しないと判定された場合、制御部11は変数iの値から1を減少させる(S104)。そして、制御部11は位置Piが始点であるか否かを判定する(S105)。
【0074】
位置Piが始点であると判定された場合とは、ユーザによって入力された軌跡52が画面40内の領域50を囲むような軌跡ではなかった場合である。この場合、制御部11は本処理を終了する。一方、位置Piが始点でないと判定された場合、制御部11はステップS103の処理を実行する。
【0075】
ステップS103において、位置P1から位置Piまでの軌跡52が囲み条件を満足すると判定された場合、すなわち、位置P1から位置Piまでの軌跡52が上記の条件A,Bの少なくとも一方を満足すると判定された場合、制御部11(移動目標位置決定部94)は、ユーザキャラクタ22(仮想カメラ30)の移動目標位置を決定する(S106)。制御部11は、位置P1から位置Piまでの軌跡52によって囲まれる画面40の領域50の位置及び大きさに基づいて所定の処理を実行することによって、ユーザキャラクタ22(仮想カメラ30)の移動目標位置を決定する。
【0076】
図15及び図16は、ユーザキャラクタ22(仮想カメラ30)の移動目標位置の決定方法の一例について説明するための図である。以下では、例えば、位置P1から位置Piまでの軌跡52が、図15に示す位置P1から位置P12までの軌跡52である場合を想定する。
【0077】
なお、図15において、矩形130は図13の矩形130と同様にして得られる矩形である。また、位置Qi(i=2,4,5,7〜9,11,12)は、位置Piから矩形130の縦辺134A,134B又は横辺132A,132Bへの垂線の足を示す。例えば、位置Q4は、位置P4から矩形130の横辺132Aへの垂線の足である。また、R1,R2,R3,R4は矩形130の頂点を示す。
【0078】
ステップS106において、まず、制御部11は、位置P1から位置P12までの軌跡52によって囲まれる領域50の位置及び大きさに関する情報を取得する。
【0079】
位置P1から位置P12までの軌跡52によって囲まれる領域50の位置に関する情報の取得方法について説明する。例えば、制御部11は、位置P1から位置P12までの軌跡52によって囲まれる領域50の位置に関する情報として、軌跡52によって囲まれる領域50内の代表位置を取得する。例えば図15に示すように、制御部11は、軌跡52を含む矩形130の中心点Cを上記の代表位置として取得する。
【0080】
なお、制御部11は、軌跡52によって囲まれる領域50に含まれているオブジェクトのいずれかの位置を上記の代表位置として取得するようにしてもよい。例えば、制御部11は、軌跡52によって囲まれる領域50に含まれているオブジェクトのうちで、ユーザキャラクタ22(又は仮想カメラ30)に最も近いオブジェクトの位置を上記の代表位置として取得するようにしてもよい。例えば、軌跡52によって囲まれる領域50内に敵キャラクタ23及び味方キャラクタ24が含まれており、かつ、味方キャラクタ24が敵キャラクタ23よりもユーザキャラクタ22(又は仮想カメラ30)に近い場合には、制御部11は味方キャラクタ24の位置を上記の代表位置として取得するようにしてもよい。
【0081】
次に、位置P1から位置P12までの軌跡52によって囲まれる領域50の大きさに関する情報の取得方法について説明する。ここでは、軌跡52によって囲まれる領域50の大きさに関する情報として、領域50の、画面40内(スクリーン座標系)における大きさに関する情報を取得する場合について説明する。
【0082】
例えば、制御部11は、位置P1から位置P12までの軌跡52によって囲まれる領域50の大きさに関する情報として、軌跡52によって囲まれる領域50の面積を取得する。例えば、制御部11は、軌跡52によって囲まれる領域50以外の領域の面積を矩形130の面積から引くことによって、軌跡52によって囲まれる領域50の面積を取得する。なお、図15に示す例の場合、軌跡52によって囲まれる領域50以外の領域の面積は、下記の三角形及び四角形の面積を足すことによって取得される。
・三角形P1P2Q2,P1P12Q12,P6P5Q5,P6P7Q7
・四角形P2P3R3Q2,P3P4Q4R1,P4P5Q5Q4,P7P8Q8Q7,P8P9Q9Q8,P9P10R2Q9,P10P11Q11R4,P11P12Q12Q11
【0083】
なお、軌跡52によって囲まれる領域50の大きさに関する情報として、領域50の、画面40内(スクリーン座標系)における大きさに関する情報を取得する代わりに、領域50の、仮想空間20内(ワールド座標系)における大きさに関する情報を取得するようにしてもよい。例えば、制御部11は、軌跡52によって囲まれる領域50に対応する仮想空間20内の領域(すなわち注目領域)を特定し、該領域(注目領域)の大きさに関する情報を取得するようにしてもよい。
【0084】
位置P1から位置P12までの軌跡52によって囲まれる領域50の位置及び大きさに関する情報が取得された後、制御部11はそれらの情報に基づいてユーザキャラクタ22(仮想カメラ30)の移動目標位置を決定する。図16を参照しながら、ユーザキャラクタ22(仮想カメラ30)の移動目標位置の決定方法の一例について説明する。
【0085】
まず、制御部11は、軌跡52によって囲まれる領域50の代表位置(例えば図15の矩形130の中心点C)に対応する仮想空間20内の位置を取得する。例えば、制御部11は、スクリーン座標系の座標値をワールド座標系の座標値に変換するための行列演算に基づいて、上記の代表位置のスクリーン座標値をワールド座標系の座標値に変換することによって、上記の代表位置に対応する仮想空間20内の位置を取得する。図16における符号「160」は、上記の代表位置に対応する仮想空間20内の位置を示す。
【0086】
次に、制御部11は、上記のようにして取得された位置160から、仮想カメラ30の視線方向32と平行な直線162上を、仮想カメラ30の視線方向32とは逆方向に移動した位置164を、ユーザキャラクタ22(仮想カメラ30)の移動目標位置として取得する。この場合、制御部11は、位置160と位置164との間の距離(k)を、軌跡52によって囲まれる領域50の面積に基づいて決定する。
【0087】
軌跡52によって囲まれる領域50の面積に基づいて上記の距離(k)を決定するためには、領域50の面積と距離(k)との対応関係を示す対応関係情報が必要となる。
【0088】
図17は上記の対応関係情報の一例を示す。図17において、「A1」,「A2」、及び「A3」は所定の面積を示し、これらは「A1<A2<A3」の関係を有する。また、「K1」、「K2」、及び「K3」は所定の距離を示し、これらは「K1<K2<K3」の関係を有する。図17に示す対応関係情報では、軌跡52によって囲まれる領域50の面積(a)が大きいほど、距離(k)が大きくなるようになっている。図17に示す対応関係情報は、ユーザキャラクタ22(仮想カメラ30)の視界が、軌跡52によって囲まれる領域50に表示される仮想空間20内の領域(注目領域)と対応(略一致)することとなるように設定される。
【0089】
例えば、図17に示したような対応関係情報が記憶されている場合、制御部11は、軌跡52によって囲まれる領域50の面積(a)が属する範囲に対応づけられた距離(k)を選択する。なお、図17に示す対応関係情報は上記の対応関係を示すテーブル形式の情報であるが、対応関係情報は、面積(a)に基づいて距離(k)を算出するための数式形式の情報であってもよい。
【0090】
ステップS106の処理が実行された後、図11に示すように、制御部11(操作時間情報取得部92)は、軌跡52を描く操作を行うのに要した時間(操作時間)を取得する(S107)。すなわち、制御部11は、位置P1から位置Piまでの軌跡52を描くために要した時間(操作時間)を算出する。この操作時間(t)は上記の式(1)によって算出される。ただし、この場合、変数iの値が上記の式(1)における「N」の値に相当する。
【0091】
また、制御部11は、軌跡52を描く操作の操作速度を算出する(S108)。すなわち、制御部11は、位置P1から位置Piまでの軌跡52が描かれた際の操作速度を算出する。
【0092】
例えば、制御部11は位置P1から位置Piまでの軌跡52の長さを取得する。軌跡52の長さ(L)は下記の式(3)に従って算出される。なお、下記の式(3)において、「Di−1」は位置Pi−1と位置Piとの間の直線距離を示している。例えば、「D1」は位置P1と位置P2との間の距離を示している。
L=D1+D2+・・・+Di−1 ・・・ (3)
【0093】
そして、制御部11は、位置P1から位置Piまでの軌跡52の長さ(L)と、位置P1から位置Piまでの軌跡を描くために要した時間(操作時間:t)に基づいて、位置P1から位置Piまでの軌跡52が描かれた際の操作速度を算出する。すなわち、制御部11は軌跡の長さ(L)を操作時間(t)で除することによって操作速度を算出する。
【0094】
なお、ステップS107,S108において、制御部11は、位置P1(始点)から位置PN(終点)までの軌跡52が描かれた際の操作時間及び操作速度を算出するようにしてもよい。
【0095】
ステップS108の処理が実行された後、制御部11(移動態様決定部95)はユーザキャラクタ22(仮想カメラ30)の移動速度を決定する(S109)。例えば、制御部11は、ステップS109で決定された操作速度と、図8に示した対応関係情報と、に基づいて移動速度を決定する。すなわち、制御部11は、ステップS108で算出された操作速度に対応する移動速度を取得する。
【0096】
ステップS109の処理が完了した後、制御部11(移動制御部93)は、ステップS106で決定された移動目標位置への移動をユーザキャラクタ22(仮想カメラ30)に開始させる(S110)。この場合、制御部11は、ユーザキャラクタ22及び仮想カメラ30を移動目標位置まで移動させる(図18参照)。また、この場合、制御部11は、ステップS109で決定された移動速度でユーザキャラクタ22(仮想カメラ30)を移動させる。以上で図11に示す処理は終了する。
【0097】
以上に説明したゲーム装置10によれば、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置に向かって移動する場合の移動態様(移動速度)と、の両方を指定することを、画面40内の領域50を囲むような軌跡52を描くという一つの直感的な操作で行うことが可能になる。すなわち、ゲーム装置10によれば、ユーザキャラクタ22及び仮想カメラ30の移動目標位置と、ユーザキャラクタ22及び仮想カメラ30が移動目標位置に向かって移動する場合の移動態様(移動速度)と、の両方を指定することを一つの直感的な操作によって行えるようなユーザインタフェースを実現することが可能になる。
【0098】
なお、本発明は以上に説明した実施形態に限定されるものではない。
【0099】
(1)図8に示した対応関係情報の代わりに、例えば図19に示すような対応関係情報が記憶されるようにしてもよい。図19に示す対応関係情報は、指定操作(軌跡52を描く操作)のために要した操作時間(t)と、移動速度(vm)と、の対応関係を示す情報であり、操作時間(t)から移動速度(vm)を直接求めるための情報である。なお、図19において、「T1」、「T2」、及び「T3」は所定の時間を示し、これらは「T1<T2<T3」の関係を有する。「Va」、「Vb」、「Vc」、及び「Vd」は図8と同様である。図19に示す対応関係情報では、操作時間(t)が短いほど、移動速度(vm)が速くなるようになっている。
【0100】
なお、図19に示す対応関係情報が記憶される場合、図11のステップS108の処理は不要になる。また、図19に示す対応関係情報はテーブル形式の情報であるが、対応関係情報は、操作時間(t)に基づいて移動速度(vm)を算出するための数式形式の情報であってもよい。
【0101】
(2)制御部11は、指定操作によって指定された画面40内の領域50を示す画像(以下「領域画像」と記載する。)を画面40に表示するようにしてもよい。また、指定操作によって指定された画面40内の領域50に敵キャラクタ23が含まれる場合、制御部11は、ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果に基づいて、領域画像の表示態様を変更するようにしてもよい。
【0102】
本実施形態の場合、例えば、軌跡52を示す画像が「領域画像」に相当する。例えば、「領域画像の表示態様を変更する」とは、領域画像の色等を変更することを含む。また例えば、領域画像が、指定操作によって指定された領域50の境界線を示す線である場合、「領域画像の表示態様を変更する」とは、線の太さや種類等を変更することを含む。
【0103】
また例えば、「ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果」とは、「ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの間の差(大小)である。より具体的には、上記の「比較結果」とは、ユーザキャラクタ22のヒットポイントパラメータと敵キャラクタ23のヒットポイントパラメータとの間の差(大小)である。または、上記の「比較結果」とは、ユーザキャラクタ22の強さパラメータと敵キャラクタ23の強さパラメータとの間の差(大小)である。
【0104】
なお、軌跡52によって囲まれる領域50に複数の敵キャラクタ23が含まれている場合、それら複数の敵キャラクタ23のパラメータの統計値(例えば平均値又は最大値等)を上記の「敵キャラクタ23のパラメータ」として用いるようにすればよい。または、それら複数の敵キャラクタ23のうちのいずれかの敵キャラクタ23のパラメータを上記の「敵キャラクタ23のパラメータ」として用いるようにしてもよい。
【0105】
ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果に基づいて、領域画像の表示態様を変更するためには、上記の比較結果と、領域画像の表示態様と、の対応関係を示す対応関係情報が必要となる。図20はこの対応関係情報の一例を示す。
【0106】
図20に示す対応関係情報では、ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの間の差(Δp)と、領域画像の表示態様を示す表示態様情報と、の対応関係が定められている。なお、図20において、「Δp」の値が正の値である場合とは、ユーザキャラクタ22のパラメータが敵キャラクタ23のパラメータよりも大きい場合を示し、「Δp」の値が負の値である場合とは、ユーザキャラクタ22のパラメータが敵キャラクタ23のパラメータよりも小さい場合を示している。
【0107】
制御部11は図20に示す対応関係情報を参照し、ユーザキャラクタ22のパラメータと敵キャラクタ23のパラメータとの比較結果(Δp)に対応する表示態様情報を取得する。そして、制御部11は領域画像の表示態様を該表示態様情報が示す表示態様に設定する。
【0108】
以上のようにすれば、ユーザキャラクタ22のパラメータと、指定操作(軌跡52を描く操作)によって指定された領域50内に含まれている敵キャラクタ23のパラメータと、の比較結果をユーザが領域画像(軌跡52)の表示態様から把握できる。したがって、敵キャラクタ23と戦う前に、その敵キャラクタ23がユーザキャラクタ22よりも強いか弱いかを一目で把握することが可能になる。
【0109】
(3)指定操作は軌跡52を描く操作に限られず、別の操作であってもよい。例えば図21に示すように、タッチパネル17上の二つの位置210,212を指示するような操作であってもよい。この場合、二つの位置210,212を結ぶ直線を対角線とするような矩形領域214が「指定操作によって指定された画面40内の領域」に相当する。また、この場合、二つの位置210,212を指示するために要した時間が「指定操作に要した時間(操作時間)」に相当する。例えば、先に位置210が指示された後に位置212が指示された場合、位置210が指示されてから位置212が指示されるまでの時間が「指定操作に要した時間(操作時間)」に相当する。
【0110】
(4)ユーザキャラクタ22を仮想空間20に配置しないようにしてもよい。この場合、仮想カメラ30のみがユーザの操作に従って移動するようにすればよい。
【0111】
(5)ユーザキャラクタ22と仮想カメラ30との相対的位置関係は変化するようにしてもよい。例えば、仮想カメラ30は、ユーザキャラクタ22と他のオブジェクト(例えば敵キャラクタ23)との位置関係に合わせて最適な位置に自動的に設定されるようにしてもよい。このような場合、ユーザキャラクタ22のみがユーザの操作に従って移動するようにすればよい。
【0112】
(6)ゲーム装置10は、タッチパネル17以外のポインティングデバイスを備えるようにしてもよい。例えば、ゲーム装置10はマウスを備えるようにしてもよい。また、ゲーム装置10は、任天堂社製のWii(登録商標)のリモコンコントローラのようなポインティングデバイスを備えるようにしてもよい。あるいは、ゲーム装置10は、マイクロソフト社製のKINECT(登録商標)コントローラのようなポインティングデバイスを備えるようにしてもよい。なお、この場合、ユーザの所定部位(例えば右手)の位置が、ユーザが指示している位置として扱われるようにすればよい。
【0113】
(7)ゲーム装置10で実行されるゲームは以上に説明したゲームに限られない。本発明は、ユーザによって操作されるオブジェクト又は/及び仮想カメラ30がユーザの操作に従って移動するようなゲームに適用することができる。また、本発明は、ゲーム装置10以外の画像処理装置にも適用することも可能である。本発明は、ユーザによって操作されるオブジェクト又は/及び仮想カメラ30がユーザの操作に従って移動するような画面を表示手段に表示する画像処理装置に適用することが可能である。
【符号の説明】
【0114】
10 画像処理装置、11 制御部、12 記憶部、13 通信部、14 表示部、15 音声出力部、16 操作部、17 タッチパネル、20 仮想空間、21 フィールド、22 ユーザキャラクタ、23A,23B,23C 敵キャラクタ、24 味方キャラクタ、25 宝箱、30 仮想カメラ、32 視線方向、40 画面、50 領域、52 軌跡、90 データ記憶部、91 操作受付部、92 操作時間情報取得部、93 移動制御部、94 移動目標位置決定部、95 移動態様決定部。
【特許請求の範囲】
【請求項1】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置において、
前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段と、
前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段と、
前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段と、
を含み、
前記移動制御手段は、
前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、
前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、
前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含む、
ことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記移動態様決定手段は、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動速度を、前記指定操作に要した前記時間に基づいて決定することを特徴とする画像処理装置。
【請求項3】
請求項1又は2に記載の画像処理装置において、
前記移動態様決定手段は、前記指定操作に要した前記時間に基づいて、前記指定操作の操作速度を取得する手段を含み、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作の操作速度に基づいて決定することを特徴とする画像処理装置。
【請求項4】
請求項1乃至3のいずれかに画像処理装置において、
前記一部領域を示す画像を前記画面に表示する手段と、
前記操作対象オブジェクトのパラメータと、前記一部領域内に含まれるオブジェクトのパラメータと、の比較結果に基づいて、前記一部領域を示す前記画像の表示態様を変更する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項5】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置の制御方法において、
前記画面内の一部領域を指定するための指定操作を受け付ける操作受付ステップと、
前記指定操作に要した時間に関する情報を取得する操作時間情報取得ステップと、
前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御ステップと、
を含み、
前記移動制御ステップは、
前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定ステップと、
前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定ステップと、
前記移動態様決定ステップにおいて決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させるステップと、を含む、
ことを特徴とする画像処理装置の制御方法。
【請求項6】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段、
前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段、及び、
前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段、
として前記コンピュータを機能させ、
前記移動制御手段は、
前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、
前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、
前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含む、
ことを特徴とするプログラム。
【請求項1】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置において、
前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段と、
前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段と、
前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段と、
を含み、
前記移動制御手段は、
前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、
前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、
前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含む、
ことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記移動態様決定手段は、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動速度を、前記指定操作に要した前記時間に基づいて決定することを特徴とする画像処理装置。
【請求項3】
請求項1又は2に記載の画像処理装置において、
前記移動態様決定手段は、前記指定操作に要した前記時間に基づいて、前記指定操作の操作速度を取得する手段を含み、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作の操作速度に基づいて決定することを特徴とする画像処理装置。
【請求項4】
請求項1乃至3のいずれかに画像処理装置において、
前記一部領域を示す画像を前記画面に表示する手段と、
前記操作対象オブジェクトのパラメータと、前記一部領域内に含まれるオブジェクトのパラメータと、の比較結果に基づいて、前記一部領域を示す前記画像の表示態様を変更する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項5】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置の制御方法において、
前記画面内の一部領域を指定するための指定操作を受け付ける操作受付ステップと、
前記指定操作に要した時間に関する情報を取得する操作時間情報取得ステップと、
前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御ステップと、
を含み、
前記移動制御ステップは、
前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定ステップと、
前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定ステップと、
前記移動態様決定ステップにおいて決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させるステップと、を含む、
ことを特徴とする画像処理装置の制御方法。
【請求項6】
オブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記画面内の一部領域を指定するための指定操作を受け付ける操作受付手段、
前記指定操作に要した時間に関する情報を取得する操作時間情報取得手段、及び、
前記仮想カメラ又は/及び操作対象オブジェクトを、前記一部領域に表示された前記仮想空間内の注目領域に近づけるように移動させる移動制御手段、
として前記コンピュータを機能させ、
前記移動制御手段は、
前記注目領域に前記仮想カメラ又は/及び前記操作対象オブジェクトを近づける場合の前記仮想カメラ又は/及び前記操作対象オブジェクトの移動目標位置を、前記指定された一部領域の前記仮想空間内における位置と、前記指定された一部領域の大きさと、に基づいて決定する移動目標位置決定手段と、
前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる場合の移動態様を、前記指定操作に要した前記時間に基づいて決定する移動態様決定手段と、
前記移動態様決定手段によって決定された移動態様で、前記仮想カメラ又は/及び前記操作対象オブジェクトを前記移動目標位置に向けて移動させる手段と、を含む、
ことを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2013−90853(P2013−90853A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2011−235507(P2011−235507)
【出願日】平成23年10月26日(2011.10.26)
【特許番号】特許第5160680号(P5160680)
【特許公報発行日】平成25年3月13日(2013.3.13)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願日】平成23年10月26日(2011.10.26)
【特許番号】特許第5160680号(P5160680)
【特許公報発行日】平成25年3月13日(2013.3.13)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]