(57)【要約】【課題】ポインティングデバイスを利用して仮想３次元空間内のオブジェクトを操作するときの操作性を向上する。【解決手段】タッチパネルへの接触位置である指示ポイントを、オブジェクトの動きの制御に利用される仮想３次元空間内の制御用ポイントに変換するときに利用される仮想面として、制御対象オブジェクトがボールであるときには第１仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードが注目モードであるときには第２仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードが舐めモードであるときには第３仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードが縄回しモードであるときには第４仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードがお回りモードであるときには第５仮想面が利用される。【選択図】図９
2010170562.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を表示画面に表示する表示ステップ、
ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する検出ステップ、
前記指示ポイントを、所定の演算処理により、３次元座標で表される１つ以上の制御用ポイントに変換する変換ステップ、および
前記制御用ポイントを利用して前記オブジェクトの動きを制御する制御ステップを実行させるための情報処理プログラムであって、
前記変換ステップで変換される制御用ポイントは、前記表示画面上における前記指示ポイントの位置と同一の位置に表示される仮想３次元空間中のポイントであって、その奥行き方向の位置は、状況に応じて変化することを特徴とする、情報処理プログラム。
【請求項２】
前記変換ステップで変換される制御用ポイントの奥行き方向の位置は、前記制御ステップにおける当該制御用ポイントの用途に応じて変化することを特徴とする、請求項１に記載の情報処理プログラム。
【請求項３】
前記変換ステップで変換される制御用ポイントの奥行き方向の位置は、前記制御ステップでの制御対象となるオブジェクトの種類に依存して変化することを特徴とする、請求項１に記載の情報処理プログラム。
【請求項４】
前記情報処理プログラムは、前記オブジェクトの動作モードを設定および更新し、当該設定または更新された動作モードを記憶装置に記憶するステップをさらに前記コンピュータに実行させるものであり、
前記変換ステップで変換される制御用ポイントの奥行き方向の位置が、前記記憶装置に記憶されている動作モードに依存して変化することを特徴とする、請求項１に記載の情報処理プログラム。
【請求項５】
前記変換ステップは、前記指示ポイントを３次元座標で表される基本制御用ポイントに変換するステップと、当該基本制御用ポイントと仮想カメラの位置とを結んだ直線を求めるステップと、前記直線と仮想３次元空間内に設定された仮想面との交点を求めるステップとを含み、
前記仮想面の位置または形状が、状況に応じて変化することを特徴とする、請求項１に記載の情報処理プログラム。
【請求項６】
前記情報処理プログラムは、前記オブジェクトの動作モードを設定および更新し、当該設定または更新された動作モードを記憶装置に記憶するステップをさらに前記コンピュータに実行させるものであり、
前記オブジェクトを基準とした前記仮想面の相対位置が、前記記憶装置に記憶されている動作モードに依存して変化することを特徴とする、請求項５に記載の情報処理プログラム。
【請求項７】
前記変換ステップでは、前記検出ステップで検出された指示ポイントが、第１のオブジェクトの制御のための第１の制御用ポイントと、第２のオブジェクトの制御のための第２の制御用ポイントとに変換され、
前記変換ステップで変換される前記第１の制御用ポイントおよび前記第２の制御用ポイントは、いずれも、前記表示画面上における前記指示ポイントの位置と同一の位置に表示される仮想３次元空間中のポイントであり、
前記制御ステップでは、前記第１のオブジェクトおよび前記第２のオブジェクトが、前記第１の制御用ポイントおよび前記第２の制御用ポイントをそれぞれ利用して個別にかつ同時に制御されることを特徴とする、請求項１に記載の情報処理プログラム。
【請求項８】
画像を表示するための表示画面と、
前記表示画面上の任意のポイントを操作者が指示するためのポインティングデバイスと、
仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を前記表示画面に表示する表示制御手段と、
前記ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する検出手段と、
前記指示ポイントを、所定の演算処理により、３次元座標で表される１つ以上の制御用ポイントに変換する変換手段と、
前記制御用ポイントを利用して前記オブジェクトの動きを制御する制御手段とを備えた情報処理装置であって、
前記変換手段によって変換される制御用ポイントは、前記表示画面上における前記指示ポイントの位置と同一の位置に表示される仮想３次元空間中のポイントであって、その奥行き方向の位置は、状況に応じて変化することを特徴とする、情報処理装置。
【請求項９】
コンピュータに、
仮想３次元空間内に配置された１以上のオブジェクトを仮想カメラから見たときの画像を画面に表示する表示ステップ、
ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する検出ステップ、
前記指示ポイントを、所定の演算処理により、３次元座標で表される複数の制御用ポイントに変換する変換ステップ、および
前記制御用ポイントを利用して前記１以上のオブジェクトの動きを制御する制御ステップを実行させるための情報処理プログラムであって、
前記変換ステップでは、前記検出ステップで検出された指示ポイントが、第１の制御用ポイントと第２の制御用ポイントとに変換され、
前記制御ステップでは、前記第１の制御用ポイントおよび前記第２の制御用ポイントを利用して前記１以上のオブジェクトの動きが制御されることを特徴とする、情報処理プログラム。
【請求項１０】
前記制御ステップでは、仮想３次元空間内に配置された第１のオブジェクトおよび第２のオブジェクトが、前記第１の制御用ポイントおよび前記第２の制御用ポイントをそれぞれ利用して個別にかつ同時に制御されることを特徴とする、請求項９に記載の情報処理プログラム。
【請求項１１】
画像を表示するための表示画面と、
前記表示画面上の任意のポイントを操作者が指示するためのポインティングデバイスと、
仮想３次元空間内に配置された１以上のオブジェクトを仮想カメラから見たときの画像を前記表示画面に表示する表示制御手段と、
前記ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する検出手段と、
前記指示ポイントを、所定の演算処理により、３次元座標で表される複数の制御用ポイントに変換する変換手段と、
前記制御用ポイントを利用して前記１以上のオブジェクトの動きを制御する制御手段とを備えた情報処理装置であって、
前記変換手段は、前記検出手段によって検出された指示ポイントを、第１の制御用ポイントと第２の制御用ポイントとに変換し、
前記制御手段は、前記第１の制御用ポイントおよび前記第２の制御用ポイントを利用して前記１以上のオブジェクトの動きを制御することを特徴とする、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元画面上に表示される３次元空間のオブジェクトを操作するための技術に関する。
【背景技術】
【０００２】
従来、マウスやタッチパネル等のポインティングデバイスを用いて２次元画面上の所定座標位置を指示することで、その画面上に表示される仮想的な３次元空間のオブジェクトを操作する技術がある。
【０００３】
例えば、特許文献１には、タッチパネル上の１つの座標位置を指定することで３Ｄオブジェクトを移動したり、回転させたり、拡大／縮小したりする技術が示されている。
【０００４】
また、特許文献２には、オブジェクトが配置された３次元空間内にそのオブジェクトの操作座標系（ｘ軸、ｙ軸、ｚ軸）を設け、所望の１つの軸を回転軸として指定した後、残りのいずれかの軸の矢印の先端部分を所望の回転方向にドローすることで、そのオブジェクトを回転させる技術が示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２５９０６５号公報
【特許文献２】特開平１０−２９３８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術では、例えば３Ｄオブジェクトを移動させるときに、指定された座標位置に応じて３Ｄオブジェクトの移動方向および移動速度を決定しているに過ぎないため、３Ｄオブジェクトを実際に手で掴んで移動させているかのような直感的な操作感は得られない。
【０００７】
また、上記特許文献２に記載の技術では、オブジェクトを所望の方向に回転させるときに、まず操作座標系の位置や角度を設定しなければならないため、操作に必要な手順が増えてしまうという問題がある。
【０００８】
それ故に、本発明の目的は、ポインティングデバイスを利用して仮想３次元空間内のオブジェクトを操作するときの操作性を向上し、より簡単かつ適切にオブジェクトを操作可能にすることである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明は以下のような構成を採用した。なお、括弧内の参照符号は、本発明の理解を助けるために図面との対応関係の一例を示したものであって、本発明の範囲を何ら限定するものではない。
【００１０】
本発明の第１の局面は、コンピュータ（２１）に、表示ステップ（Ｓ７２）、検出ステップ（Ｓ１４、Ｓ２２、Ｓ３８、Ｓ４８、Ｓ５６、Ｓ７６、Ｓ８８）、変換ステップ（Ｓ１６、Ｓ２４、Ｓ３０、Ｓ４０、Ｓ５０、Ｓ５８、Ｓ７８、Ｓ９０）、および制御ステップ（Ｓ１８、Ｓ２６、Ｓ３２、Ｓ４２、Ｓ５２、Ｓ６０、Ｓ６６、Ｓ７０、Ｓ８０、Ｓ９２）を実行させるための情報処理プログラム（４１）である。表示ステップは、仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を表示画面（１２）に表示するステップである。検出ステップは、ポインティングデバイス（１５）からの出力信号に基づいて、２次元座標で表される指示ポイントを検出するステップである。変換ステップは、前記指示ポイントを、所定の演算処理により、３次元座標で表される１つ以上の制御用ポイントに変換するステップである。制御ステップは、前記制御用ポイントを利用して前記オブジェクトの動きを制御するステップである。前記変換ステップで変換される制御用ポイントは、前記表示画面上における前記指示ポイントの位置と同一の位置に表示される仮想３次元空間中のポイントであって、その奥行き方向の位置は、状況に応じて変化する。
【００１１】
ここで、仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を生成する典型的な方法としては、オブジェクトを構成する各ポリゴンの頂点座標（ワールド座標系）をカメラ座標系に変換した後、仮想スクリーンに投影変換する方法が挙げあれる。このような座標変換では、仮想カメラの位置や傾き（回転角度）や向き（視線方向）や視野角などを示すカメラ設定情報が適宜に利用される。
【００１２】
また、ポインティングデバイスとしては、一例としてタッチパネルやマウスを利用することができる。
【００１３】
また、「状況に応じて変化する」とは、制御ステップにおける制御用ポイントの用途に応じて変化することや、制御ステップでの制御対象となるオブジェクトの種類に依存して変化することや、オブジェクトの動作モードに依存して変化することを少なくとも含み、さらには、時間に応じて変化することなども含む。
【００１４】
本発明の第２の局面は、上記第１の局面において、前記変換ステップで変換される制御用ポイントの奥行き方向の位置は、前記制御ステップにおける当該制御用ポイントの用途に応じて変化することを特徴とする。
【００１５】
本発明の第３の局面は、上記第１の局面において、前記変換ステップで変換される制御用ポイントの奥行き方向の位置は、前記制御ステップでの制御対象となるオブジェクトの種類に依存して変化することを特徴とする。
【００１６】
本発明の第４の局面は、上記第１の局面において、前記情報処理プログラムは、前記オブジェクトの動作モードを設定および更新し、当該設定または更新された動作モードを記憶装置に記憶するステップをさらに前記コンピュータに実行させるものであり、前記変換ステップで変換される制御用ポイントの奥行き方向の位置が、前記記憶装置に記憶されている動作モードに依存して変化することを特徴とする。
【００１７】
本発明の第５の局面は、上記第１の局面において、前記変換ステップは、前記指示ポイントを３次元座標で表される基本制御用ポイントに変換するステップと、当該基本制御用ポイントと仮想カメラの位置とを結んだ直線を求めるステップと、前記直線と仮想３次元空間内に設定された仮想面との交点を求めるステップとを含み（図１２）、前記仮想面の位置または形状が、状況に応じて変化することを特徴とする。ここで、仮想面とは、平面であってもよいし曲面であってもよい。
【００１８】
本発明の第６の局面は、上記第５の局面において、前記情報処理プログラムは、前記オブジェクトの動作モードを設定および更新し（Ｓ６８）、当該設定または更新された動作モード（５１）を記憶装置（２４）に記憶するステップをさらに前記コンピュータに実行させるものであり、前記オブジェクトを基準とした前記仮想面の相対位置が、前記記憶装置に記憶されている動作モードに依存して変化することを特徴とする。
【００１９】
本発明の第７の局面は、上記第１の局面において、前記変換ステップでは、前記検出ステップで検出された指示ポイントが、第１のオブジェクトの制御のための第１の制御用ポイントと、第２のオブジェクトの制御のための第２の制御用ポイントとに変換され、前記変換ステップで変換される前記第１の制御用ポイントおよび前記第２の制御用ポイントは、いずれも、前記表示画面上における前記指示ポイントの位置と同一の位置に表示される仮想３次元空間中のポイントであり、前記制御ステップでは、前記第１のオブジェクトおよび前記第２のオブジェクトが、前記第１の制御用ポイントおよび前記第２の制御用ポイントをそれぞれ利用して個別にかつ同時に制御されることを特徴とする（図１４）。
【００２０】
本発明の第８の局面は、表示画面（１２）と、ポインティングデバイス（１５）と、表示制御手段（２１）と、検出手段（２１）と、変換手段（２１）と、制御手段（２１）とを備えた情報処理装置である。表示制御手段は、仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を前記表示画面に表示する手段である。検出手段は、前記ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する手段である。変換手段は、前記指示ポイントを、所定の演算処理により、３次元座標で表される１つ以上の制御用ポイントに変換する手段である。制御手段は、前記制御用ポイントを利用して前記オブジェクトの動きを制御する手段である。前記変換手段によって変換される制御用ポイントは、前記表示画面上における前記指示ポイントの位置と同一の位置に表示される仮想３次元空間中のポイントであって、その奥行き方向の位置は、状況に応じて変化する。
【００２１】
本発明の第９の局面は、コンピュータ（２１）に、表示ステップ、検出ステップ、変換ステップ、および制御ステップを実行させるための情報処理プログラムである。表示ステップは、仮想３次元空間内に配置された１以上のオブジェクトを仮想カメラから見たときの画像を画面（１２）に表示するステップである。検出ステップは、ポインティングデバイス（１５）からの出力信号に基づいて、２次元座標で表される指示ポイントを検出するステップである。変換ステップは、前記指示ポイントを、所定の演算処理により、３次元座標で表される複数の制御用ポイントに変換するステップである。制御ステップは、前記制御用ポイントを利用して前記１以上のオブジェクトの動きを制御するステップである。前記変換ステップでは、前記検出ステップで検出された指示ポイントが、第１の制御用ポイントと第２の制御用ポイントとに変換され、前記制御ステップでは、前記第１の制御用ポイントおよび前記第２の制御用ポイントを利用して前記１以上のオブジェクトの動きが制御される（図２１）。
【００２２】
本発明の第１０の局面は、上記第９の局面において、前記制御ステップでは、仮想３次元空間内に配置された第１のオブジェクトおよび第２のオブジェクトが、前記第１の制御用ポイントおよび前記第２の制御用ポイントをそれぞれ利用して個別にかつ同時に制御されることを特徴とする（図２１）。
【００２３】
本発明の第１１の局面は、表示画面（１２）と、ポインティングデバイス（１５）と、表示制御手段（２１）と、検出手段（２１）と、変換手段（２１）と、制御手段（２１）とを備えた情報処理装置である。表示制御手段は、仮想３次元空間内に配置された１以上のオブジェクトを仮想カメラから見たときの画像を前記表示画面に表示する手段である。検出手段は、前記ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する手段である。変換手段は、前記指示ポイントを、所定の演算処理により、３次元座標で表される複数の制御用ポイントに変換する手段である。制御手段は、前記制御用ポイントを利用して前記１以上のオブジェクトの動きを制御する手段である。前記変換手段は、前記検出手段によって検出された指示ポイントを、第１の制御用ポイントと第２の制御用ポイントとに変換し、前記制御手段は、前記第１の制御用ポイントおよび前記第２の制御用ポイントを利用して前記１以上のオブジェクトの動きを制御する（図２１）。
【発明の効果】
【００２４】
本発明の第１の局面によれば、指示ポイントに対応する制御用ポイントの奥行き方向の位置が状況に応じて自動的に変化するため、操作者は、わざわざ奥行き方向の位置を指定したりする手間をかけること無しに、オブジェクトの動きを簡易にかつ適切に制御することができる。
【００２５】
本発明の第２の局面によれば、指示ポイントに対応する制御用ポイントの奥行き方向の位置が、制御用ポイントの用途に応じて変化するため、制御用ポイントが種々の用途で利用される場合においても、操作者は、わざわざ制御用ポイントの奥行き方向の位置を各用途に応じた最適な位置に指定したりする手間をかけること無しに、オブジェクトの動きを簡易にかつ適切に制御することが可能となる。
【００２６】
本発明の第３の局面によれば、指示ポイントに対応する制御用ポイントの奥行き方向の位置が、制御対象となるオブジェクトの種類に応じて変化するため、操作者は、わざわざ制御用ポイントの奥行き方向の位置をオブジェクトの種類に応じた最適な位置に指定したりする手間をかけること無しに、オブジェクトの動きを簡易にかつ適切に制御することが可能となる。
【００２７】
本発明の第４の局面によれば、指示ポイントに対応する制御用ポイントの奥行き方向の位置が、制御対象となるオブジェクトの動作モードに応じて変化するため、操作者は、わざわざ制御用ポイントの奥行き方向の位置をオブジェクトの動作モードに応じた最適な位置に指定したりする手間をかけること無しに、オブジェクトの動きを簡易にかつ適切に制御することが可能となる。
【００２８】
本発明の第５の局面によれば、画一的な手法により指示ポイントを制御用ポイントに変換することができるので、座標変換のためのアルゴリズムをより簡素化できる。
【００２９】
本発明の第６の局面によれば、オブジェクトの動作モードに応じてオブジェクトに対する仮想面の相対位置が変化するので、動作モードに応じてオブジェクトの動きをより適切に制御することができる。
【００３０】
本発明の第７の局面によれば、ポインティングデバイスを用いて仮想３次元空間内の２つのオブジェクトを同時にかつ互いに同期して動作させることが容易に可能となる。また、指示ポイントとこの指示ポイントに基づく２つの制御用ポイントの画面上の位置が一致しているので、操作者は２つの制御用ポイントの位置を容易に把握することができ、操作性が良い。
【００３１】
本発明の第８の局面によれば、第１の局面と同様の効果が得られる。
【００３２】
本発明の第９の局面によれば、指示ポイントに基づく２つの制御用ポイントを利用して仮想３次元空間内の１以上のオブジェクトを動作させることができるため、１以上のオブジェクトにより多様な動作をさせることが可能となる。
【００３３】
本発明の第１０の局面によれば、ポインティングデバイスを用いて仮想３次元空間内の２つのオブジェクトを同時にかつ互いに同期して動作させることが容易となる。
【００３４】
本発明の第１１の局面によれば、第９の局面と同様の効果が得られる。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係るゲーム装置の外観図
【図２】本発明の一実施形態に係るゲーム装置の内部構成を示すブロック図
【図３】ＲＡＭ２４のメモリマップ
【図４】ＲＡＭ２４に記憶される犬情報４２の詳細を示す図
【図５】ＲＡＭ２４に記憶されるアイテム情報４３の詳細を示す図
【図６】仮想３次元空間における仮想カメラとオブジェクトの配置の一例
【図７】第２のＬＣＤ１２に表示されるゲーム画面の一例
【図８】ＲＡＭ２４に記憶される仮想面情報４６の詳細を示す図
【図９】仮想３次元空間における各仮想面の配置の一例
【図１０】第１仮想面の利用例を示す図
【図１１】第２仮想面の利用例を示す図
【図１２】指示ポイントを制御用ポイントに変換する変換方法の一例を示す図
【図１３】第３仮想面の利用例を示す図
【図１４】第４仮想面の利用例を示す図
【図１５】第５仮想面の利用例を示す図
【図１６】ゲーム装置の動作を示すフローチャートの一部
【図１７】ゲーム装置の動作を示すフローチャートの他の一部
【図１８】ゲーム装置の動作を示すフローチャートのさらに他の一部
【図１９】噛まれモード処理の詳細を示すフローチャート
【図２０】お回りモード処理の詳細を示すフローチャート
【図２１】本発明の他の実施形態を示す図
【発明を実施するための形態】
【００３６】
以下、本発明の一実施形態に係るゲーム装置の構成および動作を説明する。
【００３７】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００３８】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００３９】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００４０】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００４１】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００４２】
次に、図２を参照してゲーム装置１０の内部構成を説明する。
【００４３】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４およびＬＣＤコントローラ３１が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００４４】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００４５】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００４６】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、ポインティングデバイス（タッチパネルに限らず、例えばマウスやタッチパッドやジョイスティックなどでもよい）と表示装置を有する任意の情報処理装置に適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じて情報処理装置に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置に供給されてもよいし、さらには情報処理装置内部の不揮発性記憶装置に予め記録されていてもよい。
【００４７】
図３に、ＲＡＭ２４のメモリマップを示す。ＲＡＭ２４の記憶領域は、大きく分けると、プログラム記憶領域とデータ記憶領域から成る。
【００４８】
プログラム記憶領域には、メモリカード１７のＲＯＭ１７ａからゲームプログラム４１がロードされる。
【００４９】
データ記憶領域には、犬情報４２、アイテム情報４３、カメラ設定情報４４、指示ポイント座標４５、および仮想面情報４６が格納される。
【００５０】
犬情報４２は、仮想３次元空間に存在する犬（より正確には犬を表すオブジェクト）に関する種々の情報であって、具体的には、図４に示すように、形状データ、テクスチャデータ、配置座標、動作モード５１、および注目点座標５２から成る。本実施形態では、仮想３次元空間に配置された犬は、所定のアルゴリズムに従って、まるで自分の意志で動いているかのように仮想３次元空間内を自律的に移動するものとする。
【００５１】
形状データは、オブジェクトの形状に関するデータであって、例えばオブジェクトを構成するポリゴンの頂点座標などである。テクスチャデータは、オブジェクトを構成するポリゴンに貼り付けられる画像データである。配置座標は、仮想３次元空間における犬の配置座標である。
【００５２】
動作モード５１は、犬の現在の動作モードであって、動作モードの種類としては、後述するように、平常モード、注目モード、舐めモード、縄回しモード、噛みモード、お回りモードの６つの動作モードが存在する。動作モード５１は、前述のアルゴリズムに従って適宜に変化する。例えば、後述するアイテムのうちの「縄」が仮想３次元空間に配置された場合には、犬はその縄に近づいて縄の端を加えるように自動制御される。そして、犬が縄の端を加えた時点で犬の動作モードが縄回しモードに変更される。
【００５３】
注目点座標５２は、仮想３次元空間における犬の注目点を示す座標である。この注目点座標５２は、犬の動作モードが注目モード、舐めモード、縄回しモードおよびお回りモードのときに利用され、具体的には、犬が注目点座標５２を向くように犬の頭部の位置および角度が制御される。
【００５４】
アイテム情報４３は、仮想３次元に配置される各種アイテムに関する種々の情報である。本実施形態では、仮想３次元に配置されるアイテムとして、図５に示すように、ボール、縄、タオルがあるものとする。ボールに関する情報としては、形状データ、テクスチャデータ、配置座標５３がある。配置座標５３は、仮想３次元空間におけるボールの配置座標である。縄に関する情報としては、形状データ、テクスチャデータ、手前端部座標５４がある。手前端部座標５４は、仮想３次元空間における縄の手前端部（縄の両端部のうち、プレイヤから見たときに手前にあるように表示される端部）の配置座標である。タオルに関する情報としては、形状データ、テクスチャデータ、手前端部座標５５、動作モード５６がある。手前端部座標５５は、仮想３次元空間におけるタオルの手前端部（タオルの両端部のうち、プレイヤから見たときに手前にあるように表示される端部）の配置座標である。
【００５５】
カメラ設定情報４４は、仮想３次元空間に配置される仮想カメラに関する種々の設定値から成る情報であって、例えば、仮想カメラの配置座標、傾き（回転角度）、向き（視線方向）、視野角などである。図６に、仮想３次元空間における仮想カメラの配置例を示す。第２のＬＣＤ１２には、仮想３次元空間に配置された犬やアイテムや地面などのオブジェクトを仮想カメラから見たシーンがゲーム画像として表示される。図７は、図６の仮想カメラに基づいて第２のＬＣＤ１２に表示されたゲーム画像を示している。仮想カメラに基づいて仮想３次元空間の画像を生成する方法は周知技術であるため、ここではその詳細な説明は省略するが、簡単に説明すると、ワールド座標系で表されている各オブジェクトの頂点座標（より正確にはオブジェクトを構成するポリゴンの頂点座標）を仮想カメラを基準としたカメラ座標系に変換し、さらに透視投影変換を行うことによってそれらの頂点座標が２次元座標に変換される。
【００５６】
指示ポイント座標４５は、プレイヤが指やスティック１６でタッチパネル１５に触れたときの接触位置を示す座標であって、２次元座標で表される。この指示ポイント座標４５はタッチパネル１５の出力信号に基づいて随時更新される。
【００５７】
仮想面情報４６は、制御対象オブジェクトの種類および制御対象オブジェクトの動作モードと、仮想３次元空間に設定される仮想面との対応関係を示す情報である。仮想面とは、指示ポイント座標４５を、オブジェクトの動きの制御に利用される仮想３次元空間内のポイント（制御用ポイント）に変換するときに利用される仮想的な面であって、平面であっても良いし、曲面であっても良い。また仮想面は、可視であっても良いし、不可視であっても良い。仮想平面を用いた指示ポイント座標４５から制御用ポイントへの座標変換の詳細については後述する。
【００５８】
図６に、仮想面情報４６の一例を示す。この例では、制御対象オブジェクトがボールまたは縄であるときには第１仮想面（図９参照）が上記座標変換の演算に利用される。また、制御対象オブジェクトがタオルであってかつその動作モードが自由モードであるときには第１仮想面が利用され、制御対象オブジェクトがタオルであってかつその動作モードが噛まれモードであるときには第５仮想面が利用される。また、操作対象オブジェクトが犬であってかつその動作モードが注目モードであるときには第２仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードが舐めモードであるときには第３仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードが縄回しモードであるときには第４仮想面が利用され、操作対象オブジェクトが犬であってかつその動作モードがお回りモードであるときには第５仮想面が利用される。なお、操作対象オブジェクトが犬であってかつその動作モードが平常モードまたは噛みモードであるときには、犬の動きの制御に制御用ポイントが直接的には利用されないので、仮想面を用いた座標変換は不要である。
【００５９】
図９に、上記第１仮想面から第５仮想面の具体的な配置例を示す。第１仮想面は、地面に対して垂直な仮想面であって、その位置は犬の位置に依存することなく仮想３次元空間において常に一定である。第２仮想面、第３仮想面および第４仮想面は、地面に対して垂直な仮想面であって、その位置は制御対象となる犬の位置を基準として、犬の位置からそれぞれ所定距離だけ仮想カメラ方向にずらした位置に配置される。つまり、これらの３つの仮想面の位置は、制御対象となる犬の位置に依存して変化する。図９に示すように、これらの３つの仮想面のうち、第２仮想面は犬から最も離れ、かつ仮想カメラに最も近い位置に配置され、第４仮想面は犬に最も近く、かつ仮想カメラから最も遠い位置に配置される。第５仮想面は、犬の動作モードが噛みモードのとき（つまりタオルの動作モードが噛まれモードのとき）と、犬の動作モードがお回りモードのときに利用される仮想面であって、犬の上方にかつ地面に対して水平に配置される。第５仮想面の位置も、犬の位置に依存することなく仮想３次元空間において常に一定である。なお、第５仮想面が利用されるとき（すなわち犬の動作モードが噛みモードまたはお回りモードのとき）には、仮想カメラの位置が図９に示すように犬を上から見下ろすような位置に一時的に変更される。
【００６０】
以下、図１０〜図１５を参照して、第１仮想面から第５仮想面の各仮想面の利用例を説明する。
【００６１】
図１０は、第１仮想面の利用例を示す図である。第１仮想面は、プレイヤが仮想３次元空間においてアイテムとしてボールや縄やタオルを使用するときに利用される仮想面である。より具体的に説明すると、プレイヤは、操作スイッチ部１４を操作することによってアイテム選択画面を呼び出し、そのアイテム選択画面においてボールか縄かタオルのいずれかを選択し、その後、スティック１６をタッチパネル１５上の所望の位置に接触させることによって、その位置に対応する仮想３次元空間内のポイントに、選択したアイテムを配置することができる。図１０は、プレイヤがボールを配置する場合の例である。タッチパネル１５上の各点は、第１仮想面上の各点に一対一にそれぞれ対応付けられており（すなわち一対一の写像の関係）、スティック１６の接触位置（指示ポイント）に対応する第１仮想面上の点（制御用ポイント）にボールが配置される。そして、プレイヤがタッチパネル１５上でスティック１６をすべらせると、それに応じて第１仮想面上のボールの位置も移動する。なお、指示ポイントから制御用ポイントへの座標変換は、予め用意したマッピングデータを利用して行ってもよいし、行列を用いた演算によって行ってもよい。
【００６２】
図１１は、第２仮想面の利用例を示す図である。第２仮想面は、犬の動作モードが注目モードのときに、この犬の動きを制御するために利用される仮想面である。注目モードとは、例えば犬がプレイヤに少しだけ興味を抱いているときの犬の動作モードであって、この注目モードでは、プレイヤがタッチした点に注目するように、犬の動き（特に頭部の動き）が制御される。なお、犬がプレイヤに全く興味を抱いていないときには、プレイヤがタッチパネル１５にタッチしても犬は無視し（平常モード）、犬がプレイヤに大いに興味を抱いているときには、プレイヤがタッチした点を舐めるようになる（後述する舐めモード）。なお、プレイヤに対する犬の興味度合は種々の条件に応じて随時変化し、その変化に応じて犬の動作モードが随時更新されるものとする。
【００６３】
注目モード時には、図１１に示すようにプレイヤがスティック１６をタッチパネル１５上の所望の位置に接触させると、その接触位置（指示ポイント）に対応する第２仮想面上の点（制御用ポイント）が、犬の注目点として設定される。なお、タッチパネル１５上の各点が第２仮想面上の各点に一対一にそれぞれ対応付けられている点は、第１仮想面と同様であり、さらにこれは第３仮想面から第５仮想面についても同様である。第２仮想面上の制御用ポイントが犬の注目点として設定された結果、犬は、その制御用ポイントを注目しているかのように、その動きが制御される。そして、プレイヤがタッチパネル１５上でスティック１６をすべらせると、その接触位置を目で追うように犬は動作する。
【００６４】
なお、指示ポイントから制御用ポイントへの座標変換は、予め用意したマッピングデータを利用して行ってもよいし、行列を用いた演算によって行ってもよい。さらには、図１２に示すように、図１０を用いて説明した要領で指示ポイントに対応する第１仮想面上の点を一旦求めた後、この点（以下、基本制御用ポイントと称す）と仮想カメラの位置とを結ぶ直線を求め、この直線と第２仮想面との交点（この交点が第２仮想面上の制御用ポイントとなる）を演算によって求めるようにしてもよい。これは、指示ポイントを第３仮想面および第４仮想面における制御用ポイントに変換する場合にも同様である。このような変換方法によれば、基本制御用ポイントから第２〜第４仮想面の各仮想面上の制御用ポイントへの変換処理は、非常に単純な演算によって実現できるため、例えば、指示ポイントを基本制御用ポイントに変換する処理をゲームプログラム４１のメインルーチンに組み込んでおくことで、第２〜第４仮想面の各仮想面上の制御用ポイントを求める必要が生じたときに、すでに得られている基本制御用ポイントを利用して制御用ポイントを簡単に求めることができ、ゲームプログラム４１の構造を簡素化することができる。なお、基本制御用ポイントは必ずしも第１仮想面上に設定される必要はなく、第１仮想面とは別の仮想面上に設定されてもよい。その場合には、基本制御用ポイントを用いて第１仮想面上の制御用ポイントを簡単に求めることができる。
【００６５】
図１３は、第３仮想面の利用例を示す図である。第３仮想面は、犬の動作モードが舐めモードのときに、この犬の動きを制御するために利用される仮想面である。注目モードとは、例えば犬がプレイヤに大いに興味を抱いているときの犬の動作モードであって、この舐めモードでは、プレイヤがタッチした点を舌で舐めるように、犬の動き（特に頭部の動き）が制御される。なお、注目モード時の仮想面の位置を舐めモード時と比べて犬から離しているのは、その方が第２のＬＣＤ１２に表示される犬の挙動が違和感が無くなるためである。例えば、注目モード時の仮想面の位置を舐めモード時と同じ位置に設定すると、プレイヤにとっては、犬が接触点から少しだけずれた方向を向いているように見えてしまい、違和感を覚える。
【００６６】
図１４は、第４仮想面の利用例を示す図である。第４仮想面は、犬の動作モードが縄回しモードのときに、この犬の動きを制御するために利用される仮想面である。縄回しモードとは、プレイヤが仮想３次元空間に配置した縄の端（奥端部）を犬がくわえたときの犬の動作モードであって、この縄回しモードでは、指示ポイントに対応する第４仮想面上の制御用ポイントが犬の注目点として設定される。一方、縄の手前端部については、図１０と同様に、指示ポイントに対応する第１仮想面上の制御用ポイントに配置される。また、縄の中央部分については、端部の動きに追従するようにその座標が随時更新され、実際の縄のような動きをする。その結果、プレイヤがタッチパネル１５上で円を描くようにスティック１６をすべらせると、このスティック１６の動きに連動して、接触位置に表示される縄の手間端部と、縄の奥側端部をくわえている犬の頭部とが動作し、犬と一緒に縄を回している感覚をプレイヤに与えることができる。なお、第４仮想面の位置を第２仮想面および第３仮想面よりも犬寄りにしているのは、縄の奥側端部の動きを大きくするためである。縄の奥側端部の動きが大きくなると、縄の中央部分も動きやすくなり、縄が回りやすくなる。
【００６７】
図１５は、第５仮想面の利用例を示す図である。第５仮想面は、プレイヤが図１０のようにして仮想３次元空間の第１仮想面上にタオルを配置した後、このタオルの端を犬がくわえたとき（すなわち噛まれモードのとき）に利用される仮想面である。また、第５仮想面は、プレイヤが操作スイッチ部１４を操作することによってモード選択画面を呼び出し、そのモード選択画面においてお回りモードを選択したときにも利用される。噛まれモードでは、指示ポイントが第５仮想面上の制御用ポイントに変換され、この制御用ポイントにタオルの手前端部が配置される。なお、タオルの奥側端部は犬に噛まれているため、プレイヤがタッチパネル１５上でスティック１６をスライドさせることによってタオルが移動し、さらにタオルに引きずられるようにして犬も移動する。また、お回りモードでは、指示ポイントが第５仮想面上の制御用ポイントに変換され、この制御用ポイント犬の注目点として設定され、犬はその注目点の方向に顔と体を向けるように移動制御される。よって、プレイヤがタッチパネル１５上で円を描くようにスティック１６をスライドさせれば、犬はその接触位置を追って回転（すなわちお回り）する。
【００６８】
以下、図１６〜図２０のフローチャートを参照して、ゲームプログラム４１に従ったＣＰＵコア２１の処理の流れを説明する。
【００６９】
図１６において、ゲームが開始されると、まずステップＳ１０でＣＰＵコア２１は仮想３次元空間において仮想カメラとオブジェクト（犬、地面）をそれぞれの初期位置に配置する。
【００７０】
ステップＳ１２では、プレイヤによってボールが使用されている（すなわち図１０の状態）かどうかを判断し、ボールが使用されている場合にはステップＳ１４に進み、ボールが使用されていない場合にはステップＳ２０に進む。なお、図１６〜図２０のフローチャートでは、プレイヤがアイテム選択画面を呼び出してアイテムを選択したり、モード選択画面を呼び出してお回りモードを選択したりといった処理については省略している。
【００７１】
ステップＳ１４では、タッチパネル１５の出力信号に基づいて指示ポイントを検出し、図５の指示ポイント座標としてＲＡＭ２４に記憶する。
【００７２】
ステップＳ１６では、ステップＳ１４で検出した指示ポイントを前述した方法で第１仮想面上の制御用ポイントに変換する。
【００７３】
ステップＳ１８では、ステップＳ１６で求めた第１仮想面上の制御用ポイントにボールを配置する。より具体的には、ステップＳ１６で求めた制御用ポイントを、図５の配置座標５３としてＲＡＭ２４に格納する。この配置座標５３は、後述する図１８のステップＳ７２でゲーム画像を生成するときに参照され、その結果、図１０のようにボールが第２のＬＣＤ１２に表示されることになる。
【００７４】
ステップＳ２０では、プレイヤによって縄が使用されているかどうかを判断し、縄が使用されている場合にはステップＳ２２に進み、縄が使用されていない場合には図１７のステップＳ３４に進む。
【００７５】
ステップＳ２２およびステップＳ２４は、前述のステップＳ１４およびステップＳ１６とそれぞれ同じ処理である。
【００７６】
ステップＳ２６では、ステップＳ２４で求めた第１仮想面上の制御用ポイントに縄の手前端部を配置する。より具体的には、ステップＳ２４で求めた制御用ポイントを、縄の手前端部座標５４としてＲＡＭ２４に格納する。この手前端部座標５４は、後述する図１８のステップＳ７２でゲーム画像を生成するときに利用される。
【００７７】
ステップＳ２８では、ＲＡＭ２４の犬情報４２の動作モード５１を参照して、犬の動作モードが縄回しモードかどうかを判断し、縄回しモードである場合にはステップＳ３０に進み、縄回しモードでない場合には図１７のステップＳ３４に進む。
【００７８】
ステップＳ３０では、ステップＳ２２で検出した指示ポイントを前述した方法で第４仮想面上の制御用ポイントに変換する。
【００７９】
ステップＳ３２では、ステップＳ３０で求めた第４仮想面上の制御用ポイントを犬の注目点に設定する。より具体的には、ステップＳ３０で求めた制御用ポイントを、犬の注目点座標５２としてＲＡＭ２４に格納する。この注目点座標５２は、後述する図１８のステップＳ６６で犬の動きを自動制御するときに利用される。
【００８０】
図１７のステップＳ３４では、プレイヤによってタオルが使用されているかどうかを判断し、タオルが使用されている場合にはステップＳ３６に進み、タオルが使用されていない場合にはステップＳ４６に進む。
【００８１】
ステップＳ３６では、タオルの奥側端部が犬に噛まれている（すなわち噛まれモード）かどうかを判断し、噛まれモードでない場合にはステップＳ３８に進み、噛まれモードである場合にはステップＳ４４に進む。
【００８２】
ステップＳ３８およびステップＳ４０は、前述のステップＳ１４およびステップＳ１６とそれぞれ同じ処理である。
【００８３】
ステップＳ４２では、ステップＳ４０で求めた第１仮想面上の制御用ポイントにタオルの手前端部を配置する。より具体的には、ステップＳ４０で求めた制御用ポイントを、タオルの手前端部座標５５としてＲＡＭ２４に格納する。この手前端部座標５５は、後述する図１８のステップＳ７２でゲーム画像を生成するときに利用される。
【００８４】
ステップＳ４４では、噛まれモード処理を実行する。この噛まれモード処理の詳細な処理については後述する。
【００８５】
ステップＳ４６では、ＲＡＭ２４の犬情報４２の動作モード５１を参照して、犬の動作モードが注目モードかどうかを判断し、注目モードである場合にはステップＳ４８に進み、注目モードでない場合には図１８のステップＳ５４に進む。
【００８６】
ステップＳ４８は、前述のステップＳ１４と同じ処理である。
【００８７】
ステップＳ５０では、ステップＳ４８で検出した指示ポイントを前述した方法で第２仮想面上の制御用ポイントに変換する。ただし、プレイヤがタッチパネル１５に触れていない場合（すなわちステップＳ４８で指示ポイントが検出されなかった場合）には、このステップＳ５０と次のステップＳ５２の処理は省略される。
【００８８】
ステップＳ５２では、ステップＳ５０で求めた第２仮想面上の制御用ポイントを犬の注目点に設定する。
【００８９】
図１８のステップＳ５４では、ＲＡＭ２４の犬情報４２の動作モード５１を参照して、犬の動作モードが舐めモードかどうかを判断し、舐めモードである場合にはステップＳ５６に進み、舐めモードでない場合にはステップＳ６２に進む。
【００９０】
ステップＳ５６は、前述のステップＳ１４と同じ処理である。
【００９１】
ステップＳ５８では、ステップＳ５６で検出した指示ポイントを前述した方法で第３仮想面上の制御用ポイントに変換する。ただし、プレイヤがタッチパネル１５に触れていない場合（すなわちステップＳ５６で指示ポイントが検出されなかった場合）には、このステップＳ５８と次のステップＳ６０の処理はスキップされる。
【００９２】
ステップＳ６０では、ステップＳ５８で求めた第３仮想面上の制御用ポイントを犬の注目点に設定する。
【００９３】
ステップＳ６２では、プレイヤによってお回りモードが選択されたかどうかを判断し、お回りモードが選択された場合にはステップＳ６４に進み、お回りモードが選択されていない場合にはステップＳ６６に進む。
【００９４】
ステップＳ６４では、お回りモード処理を実行する。このお回りモード処理の詳細な処理については後述する。
【００９５】
ステップＳ６６では、ＲＡＭ２４の犬情報４２の注目点座標５２を適宜に参照して、所定の自動制御アルゴリズムに基づいて犬の動きを自動制御する。より具体的には、犬の配置座標や、犬の各部の座標が更新される。
【００９６】
ステップＳ６８では、ステップＳ６６の自動制御の結果に応じて犬の動作モードを必要に応じて変更し、ＲＡＭ２４の犬情報４２の動作モード５１を更新する。
【００９７】
ステップＳ７０では、ＲＡＭ２４のアイテム情報４３の縄の手前端部座標５４またはタオルの手前端部座標５５を参照して、縄またはタオルの動きを制御（すなわち繩またはタオルの配置座標や各部の座標を計算）する。なお、犬の動作モードが縄回しモードまたは噛みモードの場合には、ステップＳ６６で制御された犬の動きにも依存して縄またはタオルの形状が制御される。なお、縄もタオルも使用されていないときには、このステップＳ７０の処理はスキップされる。
【００９８】
ステップＳ７２では、ステップＳ６６およびステップＳ７０の処理結果と、ＲＡＭ２４のカメラ設定情報４４に基づいて、仮想カメラから見た仮想３次元空間の様子を示すゲーム画像を生成してフレームバッファ（図示せず）に格納し、ステップＳ１２に戻る。こうして生成されたゲーム画像は適宜のタイミングで第２のＬＣＤ１２に出力する。
【００９９】
次に、図１９を参照して、プレイヤが使用しているタオルの奥側端部を犬がくわえたときの噛まれモードの詳細を説明する。
【０１００】
噛まれモードでは、まずＣＰＵコア２１はステップＳ７４で、仮想カメラを図９に示すように犬を上から見下ろす位置に移動させる。これは、具体的にはＲＡＭ２４のカメラ設定情報４４を変えることによって行われる。
【０１０１】
ステップＳ７６は、前述のステップＳ１４と同じ処理である。
【０１０２】
ステップＳ７８では、ステップＳ７６で検出した指示ポイントを前述した方法で第５仮想面上の制御用ポイントに変換する。
【０１０３】
ステップＳ８０では、ステップＳ７８で求めた第５仮想面上の制御用ポイントにタオルの手前端部を配置する。より具体的には、ステップＳ７８で求めた制御用ポイントを、タオルの手前端部座標５５としてＲＡＭ２４に格納する。
【０１０４】
ステップＳ８２〜Ｓ８８の処理は、前述のステップＳ６６〜Ｓ７２とほぼ同じである。
【０１０５】
ステップＳ９０では、噛まれモードが終了したかどうかを判断する。噛まれモードが終了するタイミングは、例えば、プレイヤがスティック１６をタッチパネル１５から離すことによってタオルの手前端部が第５仮想面から離れて自由に移動可能になったときや、犬がタオルを離したときである。そして、噛まれモードが終了していない場合にはステップＳ７６に戻り、噛まれモードが終了した場合にはステップＳ９２に進む。
【０１０６】
ステップＳ９２では、ステップＳ７４で変更したカメラ設定情報４４を元に戻すことによって、仮想カメラの位置を元に戻し、噛まれモード処理を終了する。
【０１０７】
次に、図２０を参照して、お回りモードの詳細を説明する。
【０１０８】
ステップＳ９４〜Ｓ９８の処理は、前述のステップＳ７４〜Ｓ７８と同じ処理である。
【０１０９】
ステップＳ１００では、ステップＳ９８で求めた第５仮想面上の制御用ポイントを犬の注目点に設定する。
【０１１０】
ステップＳ１０２およびステップＳ１０４の処理は、それぞれ前述のステップＳ６６およびステップＳ７２と同じである。
【０１１１】
ステップＳ１０６では、お回りモードが終了したかどうかを判断する。お回りモードが終了するタイミングは、例えば、プレイヤが操作スイッチ部１４を操作することによってモード選択画面を呼び出し、そのモード選択画面においてお回りモードの終了を指示したときである。そして、お回りモードが終了していない場合にはステップＳ９６に戻り、お回りモードが終了した場合にはステップＳ１０８に進む。
【０１１２】
ステップＳ１０８では、ステップＳ９４で変更したカメラ設定情報４４を元に戻すことによって、仮想カメラの位置を元に戻し、お回りモード処理を終了する。
【０１１３】
以上のように、本実施形態によれば、ポインティングデバイスによってプレイヤによって指示された表示画面上の指示ポイントを常に一定の仮想面上の制御用ポイントに割り当てるのではなく、その制御用ポイントの用途に応じて、例えば犬に縄回しをさせたい場合には指示ポイントを第４仮想面上の制御用ポイントに変換するというように、状況に応じて異なる仮想面上の制御用ポイントに変換することにより、プレイヤは、わざわざ奥行き方向の位置を指定したりする手間をかけること無しに、オブジェクトの動きを簡易にかつ適切に制御することができる。
【０１１４】
また、図１４のように、共通の指示ポイントを少なくとも２つの制御用ポイントに変換し、これらの２つの制御用ポイントを利用して複数のオブジェクトを同時に同期して動作させることもできる。
【０１１５】
なお、別の実施形態として、共通の指示ポイントを少なくとも２つの制御用ポイントに変換するが、これらの２つの制御用ポイントが必ずしも表示画面上で指示ポイントと同じ位置に表示されない場合の例を図２１に示す。図２１の例では、タッチパネル１５上に所定の入力用エリアが設定されており、仮想３次元空間内にはこの入力用エリアとそれぞれ一対一の写像の関係にある２つの仮想面Ａ，Ｂが配置されている。仮想面Ａは、犬Ａの動きを制御するための制御用ポイントが設定される仮想面であり、仮想面Ｂは、犬Ｂの動きを制御するための制御用ポイントが設定される仮想面である。具体的には、仮想面Ａ上の制御用ポイントは、犬Ａの注目点として利用され、仮想面Ｂ上の制御用ポイントは、犬Ｂの注目点として利用される。そして、犬Ａおよび犬Ｂは１本の縄の一端および他端をそれぞれくわえており、プレイヤがタッチパネル１５上の所定の入力用エリア内でスティック１６をスライドさせると、そのスティック１６の動きにあわせて犬Ａと犬Ｂが首を振り、うまく縄を回すことができる。この例では、指示ポイントから変換される少なくとも２つの制御用ポイントが必ずしも表示画面上で指示ポイントと同じ位置に表示されるわけではないが、このように、共通の指示ポイントを少なくとも２つの制御用ポイントに変換し、これらの２つの制御用ポイントを利用して仮想３次元空間内のオブジェクトを制御することによって、プレイヤは複雑な操作を簡単に行うことができるようになる。なお、図２１の例では、タッチパネル１５の一部の領域を入力エリアとしているが、もちろん、前述の実施形態のように、タッチパネル１５の全面を入力エリアとしてもよい。
【符号の説明】
【０１１６】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
【図１】
2010170562.tif 000003
【図２】
2010170562.tif 000004
【図３】
2010170562.tif 000005
【図４】
2010170562.tif 000006
【図５】
2010170562.tif 000007
【図６】
2010170562.tif 000008
【図７】
2010170562.tif 000009
【図８】
2010170562.tif 000010
【図９】
2010170562.tif 000011
【図１０】
2010170562.tif 000012
【図１１】
2010170562.tif 000013
【図１２】
2010170562.tif 000014
【図１３】
2010170562.tif 000015
【図１４】
2010170562.tif 000016
【図１５】
2010170562.tif 000017
【図１６】
2010170562.tif 000018
【図１７】
2010170562.tif 000019
【図１８】
2010170562.tif 000020
【図１９】
2010170562.tif 000021
【図２０】
2010170562.tif 000022
【図２１】
2010170562.tif 000023
【手続補正書】
【提出日】平成22年2月19日(2010.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を表示画面に表示する表示ステップ、
ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する検出ステップ、
前記指示ポイントを、前記仮想３次元空間内において前記仮想カメラの前方に配置された第１の仮想面を用いて、３次元座標で表される第１制御用ポイントに変換する第１変換ステップ、
前記指示ポイントを、前記仮想３次元空間内において前記仮想カメラの前方で、かつ、前記仮想カメラと前記第１の仮想面との間に配置された第２の仮想面を用いて、３次元座標で表される第２制御用ポイントに変換する第２変換ステップ、および
前記第１制御用ポイントと前記第２制御用ポイントを利用して、前記オブジェクトの動きを制御する制御ステップ、を実行させる情報処理プログラム。
【請求項２】
画像を表示するための表示画面と、
前記表示画面上の任意のポイントを操作者が指示するためのポインティングデバイスと、
仮想３次元空間内に配置されたオブジェクトを仮想カメラから見たときの画像を前記表示画面に表示する表示制御手段と、
前記ポインティングデバイスからの出力信号に基づいて、２次元座標で表される指示ポイントを検出する検出手段と、
前記指示ポイントを、前記仮想３次元空間内において前記仮想カメラの前方に配置された第１の仮想面を用いて、３次元座標で表される第１制御用ポイントに変換する第１変換手段と、
前記指示ポイントを、前記仮想３次元空間内において前記仮想カメラの前方で、かつ、前記仮想カメラと前記第１の仮想面との間に配置された第２の仮想面を用いて、３次元座標で表される第２制御用ポイントに変換する第２変換手段と、
前記第１制御用ポイントと前記第２制御用ポイントを利用して、前記オブジェクトの動きを制御する制御手段と、を備える情報処理装置。