(57)【要約】【課題】タッチパネル等を用いたゲームにおいて、画面内に表示されるオブジェクトを直感的に指示し、指示されたオブジェクトをズームアップして表示する、ゲームプログラムおよびゲーム装置を提供すること。【解決手段】ゲーム空間内のオブジェクトに当たり判定範囲を設定する。仮想カメラを原点として、プレイヤが入力したタッチパネルの座標に対応する３次元空間内の座標を通過する直線を算出し、当該直線がゲーム空間内のオブジェクトに当たっているか否か判定する。いずれかのオブジェクトに当たっていれば、そのオブジェクトをズームアップして表示する。【選択図】図５
2014079634.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトが登場する仮想の３次元ゲーム空間を仮想カメラから見たゲーム画像を表示する表示装置と、当該表示装置の画面上の位置を指定するための入力装置とを有するゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記仮想カメラのパラメータの値を設定する第１のカメラ設定ステップと、
前記第１のカメラ設定ステップにおいて設定されたパラメータに従ってゲーム画像を前記表示装置に表示させる第１の表示ステップと、
前記第１の表示ステップによってゲーム画像が表示されているときに前記入力装置に対して行われた操作によって指定された画面上の位置を検出する位置検出ステップと、
前記位置検出ステップにおいて検出された位置に対応する前記３次元ゲーム空間内における位置と前記仮想カメラの位置とを通る直線を算出する直線算出ステップと、
前記直線と交わるオブジェクトを特定するオブジェクト特定ステップと、
前記特定されたオブジェクトをズームアップして表示するように前記仮想カメラのパラメータの値を変更する第２のカメラ設定ステップと、
前記第２のカメラ設定ステップにおいて変更された後のパラメータに従ってゲーム画像を前記表示装置に表示させる第２の表示ステップとを前記コンピュータに実行させる、ゲームプログラム。
【請求項２】
前記オブジェクト毎に所定の領域を設定する領域設定ステップをさらに前記コンピュータに実行させ、
前記オブジェクト特定ステップにおいて、前記領域と前記直線とが交わるときに前記オブジェクトが特定されることを特徴とする、請求項１記載のゲームプログラム。
【請求項３】
前記領域設定ステップにおいて設定される領域は球であることを特徴とする、請求項２記載のゲームプログラム。
【請求項４】
前記第２のカメラ設定ステップにおいて、前記仮想カメラの注視点を前記特定されたオブジェクトの所定点に合わせるとともに前記仮想カメラの画角を前記特定されたオブジェクトに設定されている前記領域に基づいて設定することで前記仮想カメラのパラメータの値が変更される、請求項２記載のゲームプログラム。
【請求項５】
前記オブジェクト特定ステップにおいてオブジェクトが特定されたとき、前記指示操作が継続して行われている時間である指示継続時間が第１の所定値を越えたか否かを判定する第１の条件判別ステップを更に前記コンピュータに実行させ、
前記第２のカメラ設定ステップは、前記第１の条件判別ステップにおいて第１の所定値を越えたことが判別されたとき、前記パラメータの値を変更することを特徴とする、請求項１記載のゲームプログラム。
【請求項６】
前記オブジェクト特定ステップにおいてオブジェクトが特定されたとき、前記指示操作が継続して行われている時間である指示継続時間が第２の所定値を越えたか否かを判別する第２の条件判別ステップと、
前記第２の条件判別ステップにおいて第２の所定値を越えたことが判別されたとき、前記仮想カメラのパラメータの値を前記第１のカメラ設定ステップにおいて設定した値に戻す第３のカメラ設定ステップを前記コンピュータに実行させる、請求項１記載のゲームプログラム。
【請求項７】
前記第２の表示ステップによってゲーム画像が表示されているときのプレイヤの操作内容に基づいてプレイヤが行った操作の種別を判別する操作種別判別ステップと、
前記判別された種別に基づいて前記オブジェクトのパラメータの値を変化させるパラメ
ータ変化ステップと、
前記パラメータ変化ステップにおいて変化されたパラメータの値に基づいて前記第２の所定値を設定する第２の所定値設定ステップとをさらに前記コンピュータに実行させる、請求項６記載のゲームプログラム。
【請求項８】
オブジェクトが登場する仮想の３次元ゲーム空間を仮想カメラから見たゲーム画像を表示する表示装置と、当該表示装置の画面上の位置を指定するための入力装置と、
前記仮想カメラのパラメータの値を設定する第１のカメラ設定手段と、
前記第１のカメラ設定手段において設定されたパラメータに従ってゲーム画像を前記表示装置に表示させる第１の表示手段と、
前記第１の表示手段によってゲーム画像が表示されているときに前記入力装置に対して行われた操作によって指定された画面上の位置を検出する位置検出手段と、
前記位置検出手段において検出された位置に対応する前記３次元ゲーム空間内における位置と前記仮想カメラの位置とを通る直線を算出する直線算出手段と、
前記直線と交わるオブジェクトを特定するオブジェクト特定手段と、
前記特定されたオブジェクトをズームアップして表示するように前記仮想カメラのパラメータの値を変更する第２のカメラ設定手段と、
前記第２のカメラ設定手段において変更された後のパラメータに従ってゲーム画像を前記表示装置に表示させる第２の表示手段とを有するゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、所定の画面内のオブジェクトを指示できる入力デバイスの操作に基づいて３次元ゲーム空間に登場するオブジェクトの表示を変化させるゲーム装置およびゲームプログラムに関する。
【背景技術】
【０００２】
従来、ゲーム画面に表示されるオブジェクトをズームアップして表示するするゲームが各種開発されている。このようなゲームでは、例えば、ゲーム画面に表示された複数のオブジェクトの中から遊戯者によって選択されたオブジェクトをズームアップして表示している。具体的には、当該オブジェクトにカメラの注視点を設定し、カメラの視点を切り替えるとともに、選択されたオブジェクトをズームアップしている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１７８９６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来の技術では、プレイヤがズームアップして表示したいオブジェクトを選択するために十字キーやボタンを使用するので、直接オブジェクトを指定するような直感的な操作を行うことができなかった。
【０００５】
それ故に、本発明の目的は、直感的にオブジェクトを指示し、指示されたオブジェクトがズームアップされるゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、表示装置（実施例との対応関係を示せば、例えば第２のＬＣＤ１２）と、入力装置（１５）とを有するゲーム装置のコンピュータで実行されるゲームプログラムである。ゲームプログラムは、第１のカメラ設定ステップ（実施例との対応関係を示せば、例えばステップＳ１１；以下単にステップ番号だけを示す）と、第１の表示ステップ（Ｓ１２）と、位置検出ステップ（Ｓ２３）と、直線算出ステップ（Ｓ２４）と、オブジェクト特定ステップ（Ｓ２５）と、第２のカメラ設定ステップ（Ｓ１４）と、第２の表示ステップ（Ｓ１２）とを有する。表示装置は、オブジェクトが登場する仮想の３次元ゲーム空間を仮想カメラから見たゲーム画像を表示する。入力装置は、表示装置の画面上の位置を指定するための装置である。第１のカメラ設定ステップは、仮想カメラのパラメータの値を設定する。第１の表示ステップは、第１のカメラ設定ステップにおいて設定されたパラメータに従ってゲーム画像を表示装置に表示させる。位置検出ステップは、第１の表示ステップによってゲーム画像が表示されているときに入力装置に対して行われた操作によって指定された画面上の位置を検出する。直線算出ステップは、位置検出ステップにおいて検出された位置に対応する３次元ゲーム空間内における位置と仮想カメラの位置とを通る直線を算出する。オブジェクト特定ステップは、直線と交わるオブジェクトを特定する。第２のカメラ設定ステップは、特定されたオブジェクトをズームアップして表示するように仮想カメラのパラメータの値を変更する。第２の表示ステップは、第２のカメラ設定ステップにおいて変更された後のパラメータに従ってゲーム画像を表示装置に表示させる。
【０００７】
請求項２記載の発明は、請求項１記載のゲームプログラムにおいて、オブジェクト毎に所定の領域を設定する領域設定ステップ（Ｓ１１）を更にコンピュータに実行させる。また、オブジェクト特定ステップにおいては、領域と直線とが交わるときにオブジェクトが特定される。
【０００８】
請求項３記載の発明は、請求項２記載のゲームプログラムにおいて、領域設定ステップで設定される領域は球であることを特徴とする。
【０００９】
請求項４記載の発明は、請求項２記載のゲームプログラムにおいて、第２のカメラ設定ステップでは、仮想カメラの注視点を前記特定されたオブジェクトの所定点に合わせるとともに仮想カメラの画角を特定されたオブジェクトに設定されている領域に基づいて設定することで仮想カメラのパラメータの値が変更される。
【００１０】
請求項５記載の発明は、請求項１記載のゲームプログラムにおいて、オブジェクト特定ステップにおいてオブジェクトが特定されたとき、指示操作が継続して行われている時間である指示継続時間が第１の所定値を越えたか否かを判定する第１の条件判別ステップ（Ｓ３１）を更にコンピュータに実行させる。また、第２のカメラ設定ステップは、第１の条件判別ステップにおいて第１の所定値を越えたことが判別されたとき、パラメータの値を変更する。
【００１１】
請求項６記載の発明は、請求項１記載のゲームプログラムにおいて、第２の条件判別ステップ（Ｓ４１）と、第３のカメラ設定ステップ（Ｓ４２）とを有する。第２の条件判別ステップは、オブジェクト特定ステップにおいてオブジェクトが特定されたとき、指示操作が継続して行われている時間である指示継続時間が第２の所定値を越えたか否かを判別する。第３のカメラ設定ステップにおいては、第２の条件判別ステップにおいて第２の所定値を越えたことが判別されたとき、仮想カメラのパラメータの値を第１のカメラ設定ステップにおいて設定した値に戻す。
【００１２】
請求項７記載の発明は、請求項６記載のゲームプログラムにおいて、操作種別判別ステップ（Ｓ２７）と、パラメータ変化ステップ（Ｓ２８）と、第２の所定値設定ステップ（Ｓ２９）とをさらに有する。操作種別判別ステップは、前記第２の表示ステップによってゲーム画像が表示されているときのプレイヤの操作内容に基づいてプレイヤが行った操作の種別を判別する。パラメータ変化ステップは、操作種別に基づいてオブジェクトのパラメータの値を変化させる。第２の所定値設定ステップは、パラメータ変化ステップにおいて変化されたパラメータの値に基づいて第２の所定値を設定する。
【００１３】
請求項８記載の発明は、表示装置（１２）と、入力装置（１５）と、第１のカメラ設定手段（Ｓ１１）と、第１の表示手段（Ｓ１２）と、位置検出手段（Ｓ２３）と、直線算出手段（Ｓ２４）と、オブジェクト特定手段（Ｓ２５）と、第２カメラの設定手段（Ｓ１４）と、第２の表示手段（Ｓ１２）とを有するゲーム装置である。表示装置は、オブジェクトが登場する仮想の３次元ゲーム空間を仮想カメラから見たゲーム画像を表示する。入力装置は、表示装置の画面上の位置を指定するための装置である。第１のカメラ設定手段は、仮想カメラのパラメータの値を設定する。第１の表示手段は、第１のカメラ設定手段において設定されたパラメータに従ってゲーム画像を表示装置に表示させる。位置検出手段は、第１の表示手段によってゲーム画像が表示されているときに入力装置に対して行われた操作によって指定された画面上の位置を検出する。直線算出手段は、位置検出手段において検出された位置に対応する３次元ゲーム空間内における位置と仮想カメラの位置とを通る直線を算出する。オブジェクト特定手段は、直線と交わるオブジェクトを特定する。第２のカメラ設定手段は、特定されたオブジェクトをズームアップして表示するように仮想カメラのパラメータの値を変更する。第２の表示手段は、第２のカメラ設定手段において変更された後のパラメータに従ってゲーム画像を表示装置に表示させる。
【発明の効果】
【００１４】
上記第１の発明によれば、プレイヤがオブジェクトを指示する操作を行ったとき、当該オブジェクトをズームアップして表示するため、プレイヤに操作対象オブジェクトを把握しやすくさせると共に、オブジェクトに対するプレイヤの操作を行いやすくすることができる。
【００１５】
上記第２および第３の発明によれば、オブジェクト毎に設けられた所定の領域を用いてオブジェクトの特定を行うため、オブジェクトを特定する処理の負荷を軽減することができる。
【００１６】
上記第４の発明によれば、オブジェクトにそれぞれ領域を設定し、オブジェクトをズームするときは、各オブジェクトの領域に基づいてカメラの画角を制御する。そのため、ズームするときにその都度オブジェクトの大きさを算出してカメラの画角を算出する場合に比べ、より簡単な処理でオブジェクトをズームアップすることができる。また、オブジェクト毎にズームアップするためのカメラの画角を容易に設定することができる。
【００１７】
上記第５の発明によれば、指示操作の継続時間が所定時間以上経過したときに、そのオブジェクトをズームアップするようにカメラ制御を行うので、プレイヤの意思によらない誤操作により誤って選択されたオブジェクトに基づいてカメラ制御が行われるのを防止することができる。また、プレイヤのオブジェクト指示操作が所定時間以上継続した後でなければ、カメラ制御を行わないので、視点が頻繁に切り替わることがなく、ゲーム性を向上することができる。
【００１８】
上記第６の発明によれば、一旦オブジェクトをズームアップするようにカメラ制御した後、さらにプレイヤの操作の継続時間が所定時間以上経過した後は、カメラ制御を元に戻すことができる。
【００１９】
上記第７の発明によれば、オブジェクトをズームアップするように設定したカメラ制御を元に戻すまでの時間をオブジェクトのパラメータに基づいて設定するので、オブジェクト毎にカメラ制御を元に戻す時間を設定することができる。また、パラメータ値は、プレイヤの操作種別に応じて変化するので、カメラ制御を元に戻すまでの時間をプレイヤの操作内容に応じて変化させることができる。
【００２０】
また、第８の発明によれば、上述した第１の発明と同様の効果を得られる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係るゲーム装置の外観図
【図２】図１のゲーム装置１０の内部構成図
【図３】図１のゲーム装置１０で実行されるゲームプログラムに基づいて表示されるゲーム画面の一例
【図４】図１のゲーム装置１０で実行されるゲームプログラムに基づいて表示されるゲーム画面の一例
【図５】ゲーム装置１０によって実行されるゲーム画像生成処理の全体処理を示すフローチャート
【図６】図５のステップＳ１２における初期設定後のカメラと３次元空間の関係を示す図
【図７】図５のステップＳ１４の詳細な動作を示すサブルーチン
【図８】仮想カメラ、入力座標値、判定直線の関係を示す図
【図９】図５のステップＳ１５の詳細な動作を示すサブルーチン
【図１０】図９のステップＳ３４における仮想カメラの画角の変化を示す図
【図１１】図５のステップＳ１６の詳細な動作を示すサブルーチン
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００２３】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２４】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００２５】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００２６】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００２７】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００２８】
次に、図２を参照してゲーム装置１０の内部構成を説明する。
【００２９】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４およびＬＣＤコントローラ３１が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１
７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００３０】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３１】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３２】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、画面上にタッチパネルの設けられた少なくとも１つの表示装置を有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００３３】
次に、図３および図４を用いて、本実施形態で想定するゲームの概要について説明する。図３は、本実施形態で想定するゲームの画面の一例である。図３において、第２のＬＣＤ１２には、オブジェクト（仮想のペットである犬）５１および５２が表示される。このゲームは、画面に表示されるオブジェクトにプレイヤがスティック等で触ることに応じてオブジェクトが行う種々の反応をプレイヤが楽しむゲームである。このゲームにおいては、オブジェクト５１或いは５２をプレイヤがスティック１６等で触ることによって、図４に示すように、プレイヤが触ったオブジェクトがズームアップされる。プレイヤは、ズームアップされたオブジェクトに対して、スティック１６等を用いて「なでる」、「叩く」等の操作を行い、当該オブジェクトの反応を楽しむ。
【００３４】
次に、図５〜図１１を参照して、ゲーム装置１０によって実行されるゲーム画像生成処理について説明する。なお、図５はゲーム装置１０によって実行されるゲーム画像生成処理の全体処理を示すフローチャートである。また、図７は、図５の操作処理の詳細な動作を示すサブルーチンであり、図９は、図５のオブジェクトズーム処理の詳細な動作を示すサブルーチンであり、図１１は、図５のズーム解除処理の詳細な動作を示すサブルーチンである。
【００３５】
ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵコア２１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、ＲＡＭ２４等の各ユニットが
初期化される。そして、メモリカード１７に格納されたゲームプログラムと各種データがコネクタ２３を介してＲＡＭ２４に読み込まれ、そのゲームプログラムの実行が開始される。
【００３６】
図５において、まず、ゲームの初期設定処理が行われる（ステップＳ１１）。このステップＳ１１の処理をより具体的に説明すると、ＣＰＵコア２１は、表示するオブジェクトや背景等の画像を３次元空間内に適宜配置する。次に、画面に表示する各オブジェクトにそれぞれ半径値を設定する。当該半径値は、後述するオブジェクトズーム処理等において、３次元ゲーム空間内に設定される仮想カメラの画角を決定するために用いられるものである。更に、各オブジェクトに当たり判定範囲を設定する。当該当たり判定範囲は、３次元空間内で球状に設定され、ズームアップの対象となるオブジェクトの決定等に用いられる（以下、当たり判定範囲を当たり判定球と称す）。併せて、後述するオブジェクトズーム処理等において、閾値として用いる第１設定値の設定も行う。当該第１設定値は、プレイヤがタッチパネル１５を所定時間以上触り続けているか否かを判定するための閾値となる。例えば、第１設定値に「３秒」という値を設定したとき、利用者がオブジェクトを３秒以上触り続けないと、そのオブジェクトはズームされない（詳細は後述）。次に、仮想カメラのパラメータを初期値に設定する。当該パラメータは、仮想カメラの位置、画角および注視点を含んでいる。そして、当該初期値には、画面に表示するオブジェクトが全て画面に収まるような値が予め設定されている。
【００３７】
以上のような初期設定処理が終われば、次にＣＰＵコア２１は、仮想カメラから見た画像を第２のＬＣＤ１２へ表示する（ステップＳ１２）。具体的には、上記各オブジェクトを構成するポリゴンの座標データであるモデリング座標系を、仮想カメラを原点にした視点座標系に変換する。そして、遠近法などの効果や前面の物体に隠れる部分などを計算し、投影変換を行う。最後に、表示される画面に合わせたスクリーン座標系に変換し、第２のＬＣＤ１２に表示する。
【００３８】
図６は、上記ステップＳ１１における初期設定後のカメラと３次元空間の関係を示す図である。初期設定の状態における３次元空間についてステップＳ１２の処理により画像が描画されると、図３に示すように、オブジェクト５１および５２が画面内に収まるように表示される。ステップＳ１２の処理が終われば、ＣＰＵコア２１は、次のステップＳ１３へ処理を進める。
【００３９】
図７は、上記ステップＳ１３で示す操作処理の詳細を示すフローチャートである。図７において、まず、ＣＰＵコア２１は、タッチパネル１５による入力操作（以下、タッチ操作と称す）が行われたかどうかを判定する（ステップＳ２１）。当該判定の結果、タッチ操作が行われていなければ（ステップＳ２１でＮＯ）、操作処理を終了する。一方、タッチ操作が行われていれば（ステップＳ２１でＹＥＳ）、処理を次のステップＳ２２に進める。ステップＳ２２では、現在オブジェクトがズームアップされている状態か否かを示すズームアップフラグがＯＮか否かを判定する。ステップＳ２２の判定の結果、ズームアップフラグがＯＮのときは（ステップＳ２２でＹＥＳ）、処理を後述するステップＳ２７に進める。一方、ズームアップフラグがＯＦＦのときは（ステップＳ２２でＮＯ）、処理を次のステップＳ２３に進める。ステップＳ２３では、タッチパネル１５上の入力された座標値（Ｘ、Ｙ）が検出される。
【００４０】
次に、ＣＰＵコア２１は、仮想カメラ位置とタッチパネル１５上の入力された座標値に対応する３次元空間内の座標（以下、ユーザ指定座標）とを通過する直線（以下、判定直線）を算出する（ステップＳ２４）。以下、ステップＳ２４の処理をより具体的に説明する。なお、３次元空間内において、ワールド座標系のＺ軸は、投影面と垂直に交わる方向にとられている。また、Ｘ軸は、投影面の横方向に、Ｙ軸は投影面の縦方向に対応してい
る。本実施形態における３次元空間は、このような座標系を有するものとして、以下説明を続ける。
【００４１】
まず、以下に示す式を用いて、タッチパネル１５上の座標値（ｘ，ｙ）をユーザ指定座標（Ｘ，Ｙ，Ｚ）に変換する。
Ｘ＝ｃａｍＸ＋（ｄＸＹ×ｘ）
Ｙ＝ｃａｍＹ＋（ｄＸＹ×ｙ）
Ｚ＝ｃａｍＺ＋ｄＺ
上記の式において、ｃａｍＸ、ｃａｍＹ、ｃａｍＺは、３次元空間内における仮想カメラの座標を示す。ｄＸＹは、タッチパネル１５の入力座標値を３次元空間内の座標値に変換するために用いる変数である。ｄＺは、仮想カメラから投影面までの距離を示す。なお、変数ｄＸＹは、ｄＺと、仮想カメラの画角θのタンジェント（ｔａｎ）とに基づいて、次に示す式で求めることができる。
ｄＸＹ＝ｄＺ×ｔａｎθ
ユーザ指定座標が算出できれば、次に、仮想カメラの位置とユーザ指定座標とを通過する判定直線を算出する。
【００４２】
次に、ＣＰＵコア２１は、プレイヤが指示しているオブジェクトを特定する処理を行う（ステップＳ２５）。具体的には、３次元空間内のいずれかのオブジェクトに設定されている当たり判定球のいずれかと上記判定直線とが交わっているか否かを判定する。当該判定の結果、判定直線がいずれの当たり判定球とも交わっていなければ（ステップＳ２５でＮＯ）、いずれのオブジェクトをも指示していないと判定し、操作処理を終了する。一方、判定直線がいずれかの当たり判定球に交わっていれば（ステップＳ２５でＹＥＳ）、当該当たり判定球を有するオブジェクトをプレイヤが指示していることになる。このときは、プレイヤがタッチパネル１５に触れ続けている時間、すなわち、オブジェクトを指示し続けている時間（以下、継続時間と称す）のカウントが開始される（ステップＳ２６）。上述した図８の場合を例に取ると、判定直線は、オブジェクト５１の当たり判定球（犬のキャラクタの頭部）に当たっている。そのため、プレイヤがオブジェクト５１を指示していることになり、プレイヤがタッチパネル１５に触れ続けている時間がカウントされ始める。
【００４３】
次に、操作種別の判別が行われる（ステップＳ２７）。操作種別には、例えばスティック１６をタッチパネル１５に接触させたまま動かすような「なでる」操作や、スティック１６をタッチパネル１５に接触させたり離したりする動作を短時間で繰り返すような「たたく」操作が考えられる。操作種別の判別方法としては、例えば、次のような方法が考えられる。まず、ズームアップした後のスティック１６の入力履歴を記録する。次に、スティック１６の接触状態および入力座標値の変化を当該入力履歴から検出する。そして、接触状態がずっと接触し続けている状態で、かつ入力座標値が所定範囲内で変化していれば「なでる」操作であると判定する。当該所定範囲は、例えば、プレイヤが指示しているオブジェクトの当たり判定球の座標をタッチパネル１５における２次元座標に変換した範囲である。また、接触・非接触が繰り返されており、入力座標値が上記所定範囲内に収まっていれば「たたく」操作であると判定する。以上のような方法で、プレイヤが仮想のペット（犬）であるオブジェクトに対してどういう行動を取っているのかを判別することができる。
【００４４】
次に、ＣＰＵコア２１は、上記ステップＳ２７で判別した操作種別に基づいて、オブジェクトに固有に設定されているパラメータを変化させる（ステップＳ２８）。本実施形態では、仮想のペット（犬）であるオブジェクトに対して、「なつき度」というパラメータが設定されている。ステップＳ２８では、上述の操作種別が「なでる」の場合は「なつき度」の値を上げ、「たたく」の場合は「なつき度」の値を下げるといった処理を行う。
【００４５】
次に、上記パラメータに基づいて第２設定値が設定される（ステップＳ２９）。第２設定値は、後述するズーム処理のズームアップの解除タイミングを示す値として用いられる。例えば、「なつき度」が所定値未満のとき（あまりなついていないとき）は、当該第２設定値を５秒と設定し、「なつき度」が所定値以上のとき（よくなついているとき）は、当該第２設定値を１０秒と設定する。ステップＳ２９で第２設定値を設定すれば、ＣＰＵコア２１は、当該操作処理を終了し、図５のオブジェクトズーム処理（ステップＳ１４）へ処理を進める。
【００４６】
図９は、図５におけるステップＳ１４で示したオブジェクトズーム処理の詳細を示すフローチャートである。図９において、まず、ＣＰＵコア２１は、継続時間が第１設定値を越えたか否か（すなわち、プレイヤがタッチパネル１５を所定時間以上触り続けているか否か）を判定する（ステップＳ３１）。当該判定の結果、第１設定値を越えていなければ（ステップＳ３１でＮＯ）、オブジェクトズーム処理を終了する。
【００４７】
一方、第１設定値を越えていれば（ステップＳ３１でＹＥＳ）、ＣＰＵコア２１は、継続時間が第２設定値を越えたか否かを判定する（ステップＳ３２）。当該判定の結果、第２設定値を越えていれば（ステップＳ３２でＹＥＳ）、オブジェクトズーム処理を終了する。一方、第２設定値を越えていなければ（ステップＳ３２でＹＥＳ）、処理を次のステップＳ３３に進める。
【００４８】
ステップＳ３３では、ＣＰＵコア２１は、判定直線と接しているオブジェクト（以下、対象オブジェクト）上の所定点（例えば当該対象オブジェクトの中心点）を注視点として設定する。そして、ＣＰＵコア２１は、処理を次のステップＳ３４に進める。
【００４９】
ステップＳ３４では、ＣＰＵコア２１は、対象オブジェクトに設定されている半径値に基づいて仮想カメラの画角を変化させる。併せて、ズームアップフラグをＯＮに設定する。図１０を例として具体的に説明すると、まず、対象オブジェクト５１の中心を注視点とする。そして、当該注視点を中心点として当該オブジェクト５１に設定されている半径から成る球の直径が、画面の縦方向の大きさと一致するような画角（すなわち、オブジェクト５１がズームアップ表示されるような画角）を仮想カメラに設定する。ステップＳ３４の後、ステップＳ１２の処理（画面描画処理）が行われると、上述した図４に示すような、オブジェクトがズームアップされた画面が表示されることとなる。
【００５０】
ステップＳ３４の処理が終われば、ＣＰＵコア２１は、オブジェクトズーム処理を終了し、図５のズーム解除処理（ステップＳ１５）へ処理を進める。ステップＳ１５におけるズーム解除処理では、ズームアップ中にプレイヤが何らかの操作を行っていても、第２設定値に設定されている時間が経過すれば、ズームアップ表示（図４参照）を元の表示（図３参照）に戻す処理を行う。また、ズームアップ後に所定時間以上プレイヤが操作を行わないときも、同様にズームアップ表示を元の表示に戻す処理を行う。
【００５１】
図１１は、上記ステップＳ１５で示したズーム解除処理の詳細を示すフローチャートである。図１１において、まず、ＣＰＵコア２１は、継続時間が上記第２設定値を越えたか否かを判定する（ステップＳ４１）。当該判定の結果、第２設定値を越えていれば（ステップＳ４１でＹＥＳ）、仮想カメラの設定を初期値にする。併せて、上記ステップＳ２６で開始した継続時間のカウントを停止する（ステップＳ４２）。これは、例えば、第２設定値が１０秒と設定されているとき、ズームアップ中に１０秒以上仮想のペット（犬）であるオブジェクトを撫で続けた場合等が該当する。一方、第２設定値を越えていないときは（ステップＳ４１でＮＯ）、処理をステップＳ４３に進める。
【００５２】
ステップＳ４３においては、所定時間内にオブジェクトへのタッチ操作があったか否かが判定される。すなわち、オブジェクトをズームアップした後、上記第２設定値、例えば１０秒以内に当該オブジェクトに何らかのタッチ操作を行ったか否かを判定する。そして、当該判定の結果、所定時間内にタッチ操作があったときは（ステップＳ４３でＹＥＳ）、プレイヤはオブジェクトに対して何らかのタッチ操作をしている最中であるため、カメラ設定はそのまま（ズーム表示のまま）でズーム解除処理を終了する。一方、所定時間内にタッチ操作がされなかったときは（ステップＳ４３でＮＯ）、ＣＰＵコア２１は、処理を上述したステップＳ４２へ進める。すなわち、オブジェクト（犬）をズームアップした後、タッチ操作せずに放置している場合は、所定時間、例えば５秒経過後、カメラ設定が初期値に戻りズームアップが解除されることとなる。以上で、ズーム解除処理は終了する。
【００５３】
図５に戻り、ステップＳ１５におけるズーム解除処理が終われば、次に、所定のゲーム終了条件が満たされているか否かが判断される（ステップＳ１６）。所定のゲーム終了条件が満たされていなければ（ステップＳ１６でＮＯ）、ステップＳ１２に戻り、ゲーム終了条件が満たされるまで、ステップＳ１２〜Ｓ１６の動作が繰り返される。一方、ゲーム終了条件が満たされていれば（ステップＳ１６でＹＥＳ）、所定のゲームオーバー処理（ゲームを継続するか否かを選択する処理等）が行われ、ゲームを終了する。以上で、本実施形態に係るゲーム画像生成処理は終了する。
【００５４】
このように、本発明のゲームプログラムは、プレイヤがタッチパネルを介して画面に表示されるオブジェクトに触れることで、触れたオブジェクトをズームアップして表示することができる。そのため、オブジェクトに対する操作を行いやすくすることができる。
【００５５】
また、オブジェクトに触れているか否かの判定は、３次元空間内における上記判定直線と上記当たり判定球とが交わるか否かで判定している。ここで、プレイヤがオブジェクトを指示しているか否かを判定する方法として、２次元座標上で判定する方法がある。この方法では、まず、３次元空間内の各オブジェクトを２次元座標に変換する。そして、プレイヤの入力座標が各オブジェクトに設定されている当たり判定範囲内に入っているか否かを判定する。従って、オブジェクトの数が多いと、２次元座標に変換する処理が増える。更に、３次元座標から２次元座標に変換するためには数多くの計算を行う必要があり、変換処理自体の負荷も高い。これに対して、本発明によれば、プレイヤのタッチパネル上の入力座標を３次元空間内の座標に変換さえすれば、後は直線と球が交わるかどうかを判定すればよい。そのため、上記の２次元座標上で判定する処理に比べ、処理負担を軽減することができる。
【００５６】
また、各オブジェクトに設定されている半径値に基づいてズームアップ制御を行うため、ズームアップするときにその都度オブジェクトの大きさを算出してカメラの画角を算出する場合に比べ、より簡単な処理でオブジェクトをズームアップすることができる。
【００５７】
また、プレイヤがタッチパネルに触れている時間を計測し、オブジェクトをズームアップするタイミングを調整している。これにより、間違ってちょっと触れてしまっただけでオブジェクトがズームアップされてしまうというような、プレイヤの誤操作による不要なズーム処理を防止することができる。すなわち、タッチパネルを用いた操作を行う場合、一般には表示画面全域を操作対象とするため、通常のボタン操作に比べてプレイヤの操作ミスやタッチパネル座標の誤検出等が生じやすい。そのため、タッチパネルを用いて操作するゲーム等において、上述した特許文献１のようなカメラ移動技術を用いると、操作ミスや誤検出等によってプレイヤが意図しないオブジェクトが選択されたとき、その都度ズームアップが行われる。その結果、視点が頻繁に切り替わり、非常にゲーム性の悪いものになってしまう。そのため、本発明では、プレイヤがタッチパネルに触れている時間を計測し、オブジェクトをズームアップするタイミングを調整するようにしている。
【００５８】
また、オブジェクトのズームアップ表示後、さらに操作の継続時間が所定時間以上経過した後は、カメラ制御を元に戻すことができる。また、当該所定時間を各オブジェクトのパラメータに基づいて設定するので、オブジェクト毎にカメラ制御を元に戻す時間を設定することができる。また、パラメータ値は、オブジェクトの指示状態に応じて変化するので、カメラ制御を元に戻すまでの時間をプレイヤの操作内容に応じて変化させることができる。
【００５９】
なお、上述した実施形態における仮想カメラのパラメータとして、仮想カメラの位置、画角および注視点を用いているが、これに限らず、その値を変化させることによってズームアップ表示することができるパラメータであれば何でも良い。
【００６０】
また、上述した実施形態ではタッチパネルを用いているが、タッチパネルの代りにマウスを用いてプレイヤがオブジェクトを指示する形態であってもよい。
【産業上の利用可能性】
【００６１】
本発明にかかるゲームプログラムおよびゲーム装置は、画面に表示されるオブジェクトをプレイヤがタッチ操作することによりズームアップ表示することができ、タッチパネルを用いた操作に連動してカメラ制御を行うゲーム装置等の用途に有用である。
【符号の説明】
【００６２】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
５１、５２  オブジェクト
５３  仮想カメラ
５４  入力位置
【図１】
2014079634.tif 000003
【図２】
2014079634.tif 000004
【図３】
2014079634.tif 000005
【図４】
2014079634.tif 000006
【図５】
2014079634.tif 000007
【図６】
2014079634.tif 000008
【図７】
2014079634.tif 000009
【図８】
2014079634.tif 000010
【図９】
2014079634.tif 000011
【図１０】
2014079634.tif 000012
【図１１】
2014079634.tif 000013
【手続補正書】
【提出日】平成26年1月6日(2014.1.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オブジェクトが登場する仮想の３次元空間を仮想カメラから見た画像を表示する表示装置と、当該表示装置の画面上の位置を指定するためのポインティングデバイスとを有する入力処理装置のコンピュータで実行される入力処理プログラムであって、
前記仮想カメラのパラメータの値を設定する第１のカメラ設定ステップと、
前記第１のカメラ設定ステップにおいて設定されたパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第１の表示ステップと、
前記第１の表示ステップによって前記仮想カメラから見た画像が表示されているときに前記ポインティングデバイスによって指定された画面上の位置に対応するオブジェクトを特定するオブジェクト特定ステップと、
前記特定されたオブジェクトをズームアップするように前記仮想カメラのパラメータの値を変更する第２のカメラ設定ステップと、
前記第２のカメラ設定ステップにおいて変更された後のパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第２の表示ステップとを前記コンピュータに実行させる、入力処理プログラム。
【請求項２】
前記入力処理プログラムは、ポインティングデバイスによって指定された画面上の位置に対応する前記３次元ゲーム空間内における位置と前記仮想カメラの位置とを通る直線を算出する直線算出ステップを更に前記コンピュータに実行させ、
前記オブジェクト特定ステップは、前記直線と交わるオブジェクトを特定する、請求項１に記載の入力処理プログラム。
【請求項３】
前記オブジェクト毎に所定の領域を設定する領域設定ステップをさらに前記コンピュータに実行させ、
前記オブジェクト特定ステップにおいて、前記領域と前記直線とが交わるときに前記オブジェクトが特定されることを特徴とする、請求項２記載のゲームプログラム。
【請求項４】
前記領域設定ステップにおいて設定される領域は球であることを特徴とする、請求項３記載のゲームプログラム。
【請求項５】
前記第２のカメラ設定ステップにおいて、前記仮想カメラの注視点を前記特定されたオブジェクトの所定点に合わせるとともに前記仮想カメラの画角を前記特定されたオブジェクトに設定されている前記領域に基づいて設定することで前記仮想カメラのパラメータの値が変更される、請求項３記載のゲームプログラム。
【請求項６】
前記オブジェクト特定ステップにおいてオブジェクトが特定されたとき、前記指示操作が継続して行われている時間である指示継続時間が第１の所定値を越えたか否かを判定する第１の条件判別ステップを更に前記コンピュータに実行させ、
前記第２のカメラ設定ステップは、前記第１の条件判別ステップにおいて第１の所定値を越えたことが判別されたとき、前記パラメータの値を変更することを特徴とする、請求項１記載のゲームプログラム。
【請求項７】
前記オブジェクト特定ステップにおいてオブジェクトが特定されたとき、前記指示操作が継続して行われている時間である指示継続時間が第２の所定値を越えたか否かを判別する第２の条件判別ステップと、
前記第２の条件判別ステップにおいて第２の所定値を越えたことが判別されたとき、前記仮想カメラのパラメータの値を前記第１のカメラ設定ステップにおいて設定した値に戻す第３のカメラ設定ステップを前記コンピュータに実行させる、請求項１記載のゲームプログラム。
【請求項８】
前記第２の表示ステップによってゲーム画像が表示されているときのプレイヤの操作内容に基づいてプレイヤが行った操作の種別を判別する操作種別判別ステップと、
前記判別された種別に基づいて前記オブジェクトのパラメータの値を変化させるパラメータ変化ステップと、
前記パラメータ変化ステップにおいて変化されたパラメータの値に基づいて前記第２の所定値を設定する第２の所定値設定ステップとをさらに前記コンピュータに実行させる、請求項７記載のゲームプログラム。
【請求項９】
オブジェクトが登場する仮想の３次元空間を仮想カメラから見た画像を表示する表示装置と、当該表示装置の画面上の位置を指定するためのポインティングデバイスと、
前記仮想カメラのパラメータの値を設定する第１のカメラ設定手段と、
前記第１のカメラ設定手段において設定されたパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第１の表示手段と、
前記第１の表示手段によって前記仮想カメラから見た画像が表示されているときに前記ポインティングデバイスによって指定された画面上の位置に対応するオブジェクトを特定するオブジェクト特定手段と、
前記特定されたオブジェクトをズームアップするように前記仮想カメラのパラメータの値を変更する第２のカメラ設定手段と、
前記第２のカメラ設定手段において変更された後のパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第２の表示手段とを備える、入力処理装置。
【請求項１０】
オブジェクトが登場する仮想の３次元空間を仮想カメラから見た画像を表示する表示装置と、当該表示装置の画面上の位置を指定するためのポインティングデバイスと、
前記仮想カメラのパラメータの値を設定する第１のカメラ設定手段と、
前記第１のカメラ設定手段において設定されたパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第１の表示手段と、
前記第１の表示手段によって前記仮想カメラから見た画像が表示されているときに前記ポインティングデバイスによって指定された画面上の位置に対応するオブジェクトを特定するオブジェクト特定手段と、
前記特定されたオブジェクトをズームアップするように前記仮想カメラのパラメータの値を変更する第２のカメラ設定手段と、
前記第２のカメラ設定手段において変更された後のパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第２の表示手段とを備える、入力処理システム。
【請求項１１】
オブジェクトが登場する仮想の３次元空間を仮想カメラから見た画像を表示する表示装置と、当該表示装置の画面上の位置を指定するためのポインティングデバイスとを有する入力処理装置のコンピュータを制御するための入力処理制御方法であって、
前記仮想カメラのパラメータの値を設定する第１のカメラ設定ステップと、
前記第１のカメラ設定ステップにおいて設定されたパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第１の表示ステップと、
前記第１の表示ステップによって前記仮想カメラから見た画像が表示されているときに前記ポインティングデバイスによって指定された画面上の位置に対応するオブジェクトを特定するオブジェクト特定ステップと、
前記特定されたオブジェクトをズームアップするように前記仮想カメラのパラメータの値を変更する第２のカメラ設定ステップと、
前記第２のカメラ設定ステップにおいて変更された後のパラメータに従って前記仮想カメラから見た画像を前記表示装置に表示させる第２の表示ステップとを備える、入力処理制御方法。