(57)【要約】      （修正有）【課題】コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理システムにおいて、仮想カメラの操作性を向上する。【解決手段】情報処理システムは、コントローラ５の動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理部２２を含む。情報処理部２２は、コントローラ５の所定の方向の動きによって仮想カメラの動きが可動範囲の限界に達した後に、コントローラ５の動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係を変更する。【選択図】図３
2019016362.tif 000002
【特許請求の範囲】
【請求項１】
コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理部を含む情報処理システムであって、
前記情報処理部は、前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更することを特徴とする情報処理システム。
【請求項２】
前記情報処理部は、前記仮想カメラの撮影画像を生成して表示装置に出力することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記表示装置をさらに含むことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記情報処理部は、前記コントローラの所定のコントローラ軸周りの回転に応じて、前記仮想カメラを動かすことを特徴とする請求項１ないし３のいずれか一項に記載の情報処理システム。
【請求項５】
前記コントローラの回転は、ピッチ方向の回転であることを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記情報処理部は、前記コントローラの移動に応じて、前記仮想カメラを動かすことを特徴とする請求項１ないし５のいずれか一項に記載の情報処理システム。
【請求項７】
前記情報処理部は、前記仮想カメラを所定のカメラ軸周りに回転させることを特徴とする請求項１ないし６のいずれか一項に記載の情報処理システム。
【請求項８】
前記仮想カメラの回転は、ピッチ方向の回転であることを特徴とする請求項７に記載の情報処理システム。
【請求項９】
前記情報処理部は、前記仮想カメラを移動させることを特徴とする請求項１ないし６のいずれか一項に記載の情報処理システム。
【請求項１０】
前記情報処理部は、前記仮想カメラの位置及び／又は姿勢が前記可動範囲の限界に達し、かつ前記コントローラの位置又は姿勢が所定の閾値を超えて動かされたとき、又は前記仮想カメラの位置及び／又は姿勢が前記可動範囲の限界に達し 、かつ前記コントローラの姿勢が所定の閾値を超えた姿勢とされたときに、前記対応関係を変更することを特徴とする請求項１ないし９のいずれか一項に記載の情報処理システム。
【請求項１１】
前記情報処理部は、前記閾値を超えて動かされ、又は前記閾値を超えた姿勢とされた前記コントローラの位置又は姿勢と前記可動範囲の限界と対応付けることを特徴とする請求項１０に記載の情報処理システム。
【請求項１２】
前記情報処理部は、前記仮想カメラが前記可動範囲の限界に達した後に前記コントローラがさらに動かされた度合に応じて前記対応関係を変更することを特徴とする請求項１ないし１１のいずれか一項に記載の情報処理システム。
【請求項１３】
前記情報処理部は、前記可動範囲の全体において、前記対応関係を変更することを特徴とする請求項１ないし１２のいずれか一項に記載の情報処理システム。
【請求項１４】
前記情報処理部は、前記対応関係を前記コントローラが動かされた方向にシフトさせることを特徴とする請求項１３に記載の情報処理システム。
【請求項１５】
前記情報処理部は、前記可動範囲内の所定の固定箇所において、前記対応関係を維持しつつ、前記可動範囲内の前記固定箇所以外において、前記対応関係を変更することを特徴とする請求項１ないし１２のいずれか一項に記載の情報処理システム。
【請求項１６】
前記情報処理部は、前記対応関係を前記コントローラが動かされた方向に引き伸ばすことを特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
前記固定箇所は、前記仮想カメラの方向が前記仮想空間内において水平になる点を含むことを特徴とする請求項１５又は１６に記載の情報処理システム。
【請求項１８】
前記情報処理部は、前記可動範囲内の所定の固定箇所において、前記対応関係を維持しつつ、前記可動範囲内の前記固定箇所以外において、前記対応関係を変更するとともに、前記コントローラがさらに第２の閾値を超えて動かされたときに、前記可動範囲全体について、前記対応関係を変更することを特徴とする請求項１ないし１２のいずれか一項に記載の情報処理システム。
【請求項１９】
前記情報処理部は、前記可動範囲内の前記固定箇所以外において、前記コントローラが前記可動範囲の限界を超えて動かされた度合に応じて、前記対応関係を変更するとともに、前記コントローラが前記第２の閾値を超えて動かされたときに、前記可動範囲全体について、前記コントローラが前記第２の閾値を超えて動かされた度合に応じて、前記対応関係を変更することを特徴とする請求項１８に記載の情報処理システム。
【請求項２０】
前記情報処理部は、前記可動範囲の全体について、前記対応関係を変更するとともに、前記コントローラがさらに第２の閾値を超えて動かされたときに、前記可動範囲内の所定の固定箇所において、前記第２の閾値における前記対応関係を維持しつつ、前記可動範囲内の前記固定箇所以外において、前記対応関係を変更することを特徴とする請求項１ないし１２のいずれか一項に記載の情報処理システム。
【請求項２１】
前記情報処理部は、前記可動範囲の全体について、前記コントローラが前記可動範囲の限界を超えて動かされた度合に応じて、前記対応関係を変更するとともに、前記コントローラが前記第２の閾値を超えて動かされたときに、前記可動範囲内の前記固定箇所以外において、前記コントローラが前記第２の閾値を超えて動かされた度合に応じて、前記対応関係を変更することを特徴とする請求項２０に記載の情報処理システム。
【請求項２２】
前記情報処理部は、前記対応関係が変更された後に、前記所定の方向とは逆の方向に動かされたときに、変更された前記対応関係に従って、前記コントローラの動き又は姿勢に応じて前記仮想カメラを動かすことを特徴とする請求項１ないし２１のいずれか一項に記載の情報処理システム。
【請求項２３】
前記情報処理部は、前記コントローラが前記所定の方向とは逆の方向に、所定の変更限界まで動かされたときに、前記コントローラの前記所定の方向とは逆の方向の動き又は姿勢に応じて、変更前の前記対応関係との差が徐々に小さくなるように、前記対応関係を変更することを特徴とする請求項１ないし２２のいずれか一項に記載の情報処理システム。
【請求項２４】
前記コントローラが前記所定の方向とは逆の方向に、前記所定の変更限界を超えて、前記仮想カメラが基準の撮影方向及び／又は基準の視点位置となるまで動かされたときに、前記対応関係を変更前の前記対応関係に戻すことを特徴とする請求項２３に記載の情報処理システム。
【請求項２５】
前記コントローラに所定の操作が行われたことに応じて、そのときの前記コントローラに前記仮想カメラの所定の撮影方向及び／又は視点位置を対応付けることを特徴とする請求項１ないし２４のいずれか一項に記載の情報処理システム。
【請求項２６】
前記情報処理システムは、前記コントローラに備えられることを特徴とする請求項１ないし２５のいずれか一項に記載の情報処理システム。
【請求項２７】
コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かすための情報処理プログラムであって、
コンピュータに、前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更させることを特徴とする情報処理プログラム。
【請求項２８】
コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理装置であって、
前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更することを特徴とする情報処理装置。
【請求項２９】
コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理方法であって、
前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラの動きに応じて仮想空間内の仮想カメラを動かすための情報処理システム及び情報処理プログラムに関するものである。
【背景技術】
【０００２】
従来より、コントローラ自体の実空間での動きや姿勢を、仮想カメラの撮影方向や視点位置を変更するためのコントローラに対する入力とする情報処理システムが知られている。このような情報処理システムでは、ユーザが実空間でコントローラ自体を動かしてその姿勢や位置を変更する操作が、仮想空間内で仮想カメラの撮影方向や視点位置を変更する操作に対応しており、ユーザは、仮想カメラを直接操作しているような臨場感が得られる。
【０００３】
本発明に関連する技術として、以下の先行技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２５２４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、コントローラの動きに応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理システムにおいて、仮想カメラの操作性を向上することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施の形態の情報処理システムは、コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理部を含む情報処理システムであって、前記情報処理部は、前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更する構成を有している。この構成により、コントローラの動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係が固定されないので、仮想カメラの撮影方向及び／又は視点位置が可動範囲の限界に達した後にさらにコントローラが動かされたときにも仮想カメラの操作性を向上させることができる。ここで、コントローラの動きには、コントローラの位置の変化及び姿勢の変化が含まれ、これらは例えば加速度センサによって検知できる。
【０００７】
前記情報処理部は、前記仮想カメラの撮影画像を生成して表示装置に出力してよい。この構成により、ユーザは、コントローラの動きによって動かされる仮想カメラの撮影画像を見ることができる。
【０００８】
上記の情報処理システムは、前記表示装置をさらに含んでいてよい。この構成により、ユーザは、コントローラの動きによって動かされる仮想カメラの撮影画像を見ることができる。
【０００９】
前記情報処理部は、前記コントローラの所定のコントローラ軸周りの回転に応じて、前記仮想カメラを動かしてよい。この構成により、ユーザは、コントローラの実空間での姿勢を変更することで仮想カメラを動かすことができる。
【００１０】
前記コントローラの回転は、ピッチ方向の回転であってよい。この構成により、ユーザは、コントローラの姿勢をピッチ方向に変更することで仮想カメラを動かすことができる。
【００１１】
前記情報処理部は、前記コントローラの移動に応じて、前記仮想カメラを動かしてよい。この構成により、ユーザは、コントローラを実空間で移動させることで仮想カメラを動かすことができる。
【００１２】
前記情報処理部は、前記仮想カメラを所定のカメラ軸周りに回転させてよい。この構成により、ユーザは、コントローラを動かすことで仮想カメラの撮影方向を変更することができる。
【００１３】
前記仮想カメラの回転は、ピッチ方向の回転であってよい。この構成により、ユーザは、コントローラを動かすことで仮想カメラの撮影方向をピッチ方向に変更することができる。
【００１４】
前記情報処理部は、前記仮想カメラを移動させてよい。この構成により、ユーザは、コントローラを動かすことで仮想カメラの視点位置を変更することができる。
【００１５】
前記情報処理部は、前記仮想カメラの位置及び／又は姿勢が前記可動範囲の限界に達し、かつ前記コントローラの位置又は姿勢が所定の閾値を超えて動かされたとき、又は前記仮想カメラが前記可動範囲の限界に達し、かつ前記コントローラの姿勢が所定の閾値を超えた姿勢とされたときに、前記対応関係を変更してよい。この構成により、仮想カメラが動かなくなったら直ちに対応関係を変更するのではなく、仮想カメラの撮影方向及び／又は視点位置が可動範囲の限界を超えてコントローラがなお動かされた後に可動範囲が変更されるので、頻繁に対応関係が変更されることを回避できる。
【００１６】
前記情報処理部は、前記閾値を超えて動かされ、又は前記閾値を超えた姿勢とされた前記コントローラの位置又は姿勢と前記可動範囲の限界と対応付けてよい。この構成により、コントローラが閾値を超えて動かされた後に反対方向に動かされたときに、仮想カメラをすぐに反対方向に動かすことができる。
【００１７】
前記情報処理部は、前記仮想カメラが前記可動範囲の限界に達した後に前記コントローラがさらに動かされた度合に応じて前記対応関係を変更してよい。この構成により、コントローラの動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係を連続的に変化させることができる。
【００１８】
前記情報処理部は、前記可動範囲の全体において、前記対応関係を変更してよい。この構成により、可動範囲の全体において対応関係が変更される。
【００１９】
前記情報処理部は、前記対応関係を前記コントローラが動かされた方向にシフトさせてよい。この構成により、対応関係の形状を維持したまま対応関係が変更される。
【００２０】
前記情報処理部は、前記可動範囲内の所定の固定箇所において、前記対応関係を維持しつつ、前記可動範囲内の前記固定箇所以外において、前記対応関係を変更してよい。この構成により、固定箇所を固定としたまま、固定箇所以外で対応関係が変更される。
【００２１】
前記情報処理部は、前記対応関係を前記コントローラが動かされた方向に引き伸ばしてよい。この構成により、変形することにより対応関係が変更される。
【００２２】
前記固定箇所は、前記仮想カメラの方向が前記仮想空間内において水平になる点を含んでいてよい。この構成により、仮想カメラを水平にするコントローラの姿勢や位置における対応関係が固定される。
【００２３】
前記情報処理部は、前記可動範囲内の所定の固定箇所において、前記対応関係を維持しつつ、前記可動範囲内の前記固定箇所以外において、前記対応関係を変更するとともに、前記コントローラがさらに第２の閾値を超えて動かされたときに、前記可動範囲全体について、前記対応関係を変更してよい。この構成により、コントローラが閾値を超えて動かされたときに、まず対応関係を引き伸ばして、さらに第２の閾値（ストレッチ限界）を超えると、そこからは対応関係をシフトさせることができる。
【００２４】
前記情報処理部は、前記可動範囲内の前記固定箇所以外において、前記コントローラが前記可動範囲の限界を超えて動かされた度合に応じて、前記対応関係を変更するとともに、前記コントローラが前記第２の閾値を超えて動かされたときに、前記可動範囲全体について、前記コントローラが前記第２の閾値を超えて動かされた度合に応じて、前記対応関係を変更してよい。この構成により、コントローラの動き又は姿勢に応じた量だけ対応関係が変更される。
【００２５】
前記情報処理部は、前記可動範囲の全体について、前記対応関係を変更するとともに、前記コントローラがさらに第２の閾値を超えて動かされたときに、前記可動範囲内の所定の固定箇所において、前記第２の閾値における前記対応関係を維持しつつ、前記可動範囲内の前記固定箇所以外において、前記対応関係を変更してよい。この構成により、コントローラが閾値を超えて動かされたときに、まず対応関係をシフトさせて、さらに第２の閾値（シフト限界）を超えると、そこからは対応関係を引き伸ばすことができる。
【００２６】
前記情報処理部は、前記可動範囲の全体について、前記コントローラが前記可動範囲の限界を超えて動かされた度合に応じて、前記対応関係を変更するとともに、前記コントローラが前記第２の閾値を超えて動かされたときに、前記可動範囲内の前記固定箇所以外において、前記コントローラが前記第２の閾値を超えて動かされた度合に応じて、前記対応関係を変更してよい。この構成により、コントローラの動き又は姿勢に応じた量だけ対応関係が変更される。
【００２７】
前記情報処理部は、前記対応関係が変更された後に、前記所定の方向とは逆の方向に動かされたときに、変更された前記対応関係に従って、前記コントローラの動き又は姿勢に応じて前記仮想カメラを動かしてよい。この構成により、対応関係が変更された後にコントローラが元に戻る方向に動かされたときに、新たな対応関係で仮想カメラを動かすことができる。
【００２８】
前記情報処理部は、前記コントローラが前記所定の方向とは逆の方向に、所定の変更限界まで動かされたときに、前記コントローラの前記所定の方向とは逆の方向の動き又は姿勢に応じて、変更前の前記対応関係との差が徐々に小さくなるように、前記対応関係を変更してよい。この構成により、変更限界を超えてコントローラが動かされたときに、対応関係を徐々にもとに戻すことができる。
【００２９】
前記コントローラが前記所定の方向とは逆の方向に、前記所定の変更限界を超えて、前記仮想カメラが基準の撮影方向及び／又は基準の視点位置となるまで動かされたときに、前記対応関係を変更前の前記対応関係に戻してよい。この構成により、変更限界を超えてコントローラが動かされたときに、コントローラの動き又は姿勢と仮想カメラの動きとの対応関係を、変更前の対応関係に徐々に戻すことができる。
【００３０】
前記コントローラに所定の操作が行われたことに応じて、そのときの前記コントローラに前記仮想カメラの所定の撮影方向及び／又は視点位置を対応付けてよい。この構成により、任意のコントローラの姿勢や位置において、仮想カメラの所定の撮影方向及び／又は視点位置を対応付けることができるので、コントローラを動かすことによって仮想カメラを動かす際のユーザにとってのコントローラの基準姿勢や基準位置を指定することができる。
【００３１】
前記情報処理システムは、前記コントローラに備えられてよい。この構成により、コントローラにおいて、仮想カメラの動きとの対応関係を変更する処理を行うことができる。
【００３２】
本発明の一実施の形態の情報処理プログラムは、コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かすための情報処理プログラムであって、この情報処理プログラムは、コンピュータに、前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更させる構成を有している。この構成によっても、コントローラの動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係が固定されないので、仮想カメラの撮影方向及び／又は視点位置が可動範囲の限界に達した後にさらにコントローラが動かされたときにも仮想カメラの操作性を向上させることができる。
【００３３】
本発明の一実施の形態の情報処理装置は、コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理装置であって、前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更する構成を有している。この構成によっても、コントローラの動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係が固定されないので、仮想カメラの撮影方向及び／又は視点位置が可動範囲の限界に達した後にさらにコントローラが動かされたときにも仮想カメラの操作性を向上させることができる。
【００３４】
本発明の一実施の形態の情報処理方法は、コントローラの動き又は姿勢に応じて仮想空間内の仮想カメラを所定の可動範囲内で動かす情報処理方法であって、前記コントローラの所定の方向の動き又は姿勢に応じて前記仮想カメラの撮影方向及び／又は視点位置が前記可動範囲の限界に達した後に、前記コントローラの動き又は姿勢と前記仮想カメラの撮影方向及び／又は視点位置との対応関係を変更する構成を有している。この構成によっても、コントローラの動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係が固定されないので、仮想カメラの撮影方向及び／又は視点位置が可動範囲の限界に達した後にさらにコントローラが動かされたときにも仮想カメラの操作性を向上させることができる。
【発明の効果】
【００３５】
本発明によれば、コントローラの動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係が固定されないので、仮想カメラが可動範囲の限界に達した後にさらにコントローラが動かされたときにも仮想カメラの操作性を向上させることができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態における据置型のゲーム装置を含むゲームシステムの一例を示す外観図
【図２】本発明の実施の形態におけるユーザがコントローラを把持した様子の一例を示す図
【図３】本発明の実施の形態における情報処理システムの構成を示すブロック図
【図４】本発明の実施の形態におけるユーザがコントローラを把持してゲームをプレイする様子の一例を示す図
【図５】本発明の実施の形態におけるユーザがコントローラを把持した様子の一例を示す図
【図６】本発明の実施の形態におけるコントローラのピッチ角度と仮想カメラのピッチ率との対応関係の一例を示すグラフ
【図７】本発明の実施の形態における対応関係の変更方法の一例（シフト）を示す対応関係のグラフ
【図８】本発明の実施の形態における対応関係の変更方法の一例（ストレッチ）を示す対応関係のグラフ
【図９】本発明の実施の形態における対応関係を徐々に戻す場合の対応関係を示すグラフ
【図１０】本発明の実施の形態における対応関係の変更方法の一例（ストレッチ後にシフト）を示す対応関係のグラフ
【図１１】本発明の実施の形態における対応関係の変更方法の一例（シフト後にストレッチ）を示す対応関係のグラフ
【発明を実施するための形態】
【００３７】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００３８】
以下、本発明の一実施の形態として、本発明の実施の形態の情報処理システム１０が据置型のゲーム装置２を含むゲームシステム１に適用される場合を説明する。図１は、据置型のゲーム装置を含むゲームシステム１の一例を示す外観図である。
【００３９】
図１において、ゲームシステム１は、表示手段の一例である家庭用テレビジョン受像機（以下、モニタと記載する）３と、モニタ３に接続コードを介して接続する据置型のゲーム装置２とから構成される。モニタ３は、ゲーム装置２から出力された音声信号を音声出力するためのスピーカ３ａを備える。また、ゲーム装置２は、情報処理プログラム（典型的にはゲームプログラム）を記録した光ディスク４と、光ディスク４のプログラムを実行してゲーム画面をモニタ３及び／又はコントローラ５に表示出力させるためのコンピュータを搭載したゲーム装置２と、表示画面に表示されたオブジェクト等を操作するために必要な操作情報をゲーム装置２に与えるためのコントローラ５とを含む。
【００４０】
ゲームシステム１は、コントローラ５を用いたゲーム操作に基づいて、ゲーム装置２においてゲーム処理を実行し、ゲーム処理によって得られる撮影画像（ゲーム画像）をモニタ３及び／又はコントローラ５に表示するものである。なお、ゲーム装置２とコントローラ５とは、無線によって無線通信可能に接続される。例えば、上記無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格やＩＥＥＥ８０２．１１ｎ規格に従って実行されるが、赤外線など他の規格に従って実行されてもよい。
【００４１】
ゲーム装置２には、当該ゲーム装置２に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置２において実行されるための情報処理プログラムが記憶されている。ゲーム装置２の前面には、光ディスク４の挿入口が設けられている。ゲーム装置２は、挿入口に挿入された光ディスク４に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。ゲーム装置２は、ゲーム装置２に内蔵されるフラッシュメモリに予め情報処理プログラムを記録しておき、その情報処理プログラムを実行してもよい。
【００４２】
ゲーム装置２には、モニタ３が接続コードを介して接続される。モニタ３は、ゲーム装置２において実行されるゲーム処理によって得られるゲーム画像を表示する。モニタ３はスピーカ３ａを有しており、スピーカ３ａは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置２と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置２とモニタ３との通信は無線通信であってもよい。
【００４３】
図２は、ユーザがコントローラ５を把持した様子の一例を示す図である。コントローラ５は、大略的には横長の長方形の板状形状であるハウジング５０を備える。ハウジング５０は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、コントローラ５を持ってその姿勢や位置が変更されるように自由に（回転の３自由度及び移動の３自由度の計６自由度で）動かすことができる。
【００４４】
コントローラ５は、ハウジング５０の表面に、表示装置の一例であるタッチパネル５１を有する。タッチパネル５１は、ＬＣＤ（Liquid Crystal Display）パネルと抵抗膜方式のタッチセンサとからなる。タッチパネル５１は、ハウジング５０の表面の中央付近に設けられる。したがって、ユーザは、図２に示すようにタッチパネル５１の両側部分のハウジング５０を持つことによって、タッチパネル５１の画面を見ながらコントローラ５を持って動かすことができる。コントローラ５は、ハウジング５０の表面に露出して設けられた複数個の操作ボタン（十字キー等を含む）が設けられている。
【００４５】
コントローラ５は、コントローラ通信モジュールを内蔵するゲーム装置２に操作情報を無線送信する。また、コントローラ５は、ゲーム装置２で生成された画像（例えばゲーム画像）のデータをゲーム装置２から受信し、当該データが示す画像をタッチパネル５１に表示する。なお、本実施形態ではタッチパネル５１にＬＣＤを用いているが、タッチパネル５１は、例えばＥＬ（Electro Luminescence）を利用した表示装置等、他の任意の表示装置を有していてもよい。また、タッチセンサは、静電容量式等の他の方式のものであってもよい。
【００４６】
本実施の形態では、ゲーム装置２がゲーム処理を実行することで提供される三次元の仮想空間内でのゲームが展開される。ユーザがコントローラ５を動かしてその位置や姿勢を変更することによって、仮想空間内の仮想カメラの撮影方向（仮想カメラの姿勢）、及び視点位置（仮想カメラの仮想空間内における位置）が変更される。ここで仮想カメラとは、仮想空間内に仮想的に設定されるカメラであり、モニタ３やタッチパネル５１には、この仮想カメラで仮想空間を撮影したときに得られる画像が表示される。
【００４７】
図３は、本発明の実施の形態の情報処理システムの構成を示すブロック図である。本実施の形態の情報処理システム１０は、コントローラ５とゲーム装置２とからなる。コントローラ５は、ボタン１１と、加速度センサ１２と、ジャイロセンサ１３と、情報処理部１４と、通信部１５と、表示部１６とを備えている。ゲーム装置２は、通信部２１と、情報処理部２２と、対応関係記憶部２３とを備えている。図３に示す本実施の形態の情報処理システム１０は、コントローラ５とゲーム装置２とからなるが、図３に示す情報処理システム１０のすべての構成がコントローラ５に備えられていており、コントローラ５のみによって情報処理システム１０が構成されていてもよい。なお、情報処理システム１０が表示部１６を備えていなくてもよい。また、コントローラ５とゲーム装置２とが有線で接続される場合には通信部１５の代わりに、有線接続のためのインターフェースを備えていればよい。
【００４８】
ボタン１１は、コントローラ５の操作ボタンに相当する。このボタン１１が操作されると、ボタン１１は操作情報を情報処理部１４に出力する。なお、図３には、ボタン１１が１つのみ図示されているが、ボタン１１は複数であってもよい。
【００４９】
加速度センサ１２は、コントローラ５に生じる加速度（重力加速度を含む）を検出し、検出した加速度を示す加速度データを情報処理部１４に出力する。加速度センサ１２が検出した加速度は、コントローラ５自体の姿勢（傾斜角度）や移動に対応して変化するので、ゲーム装置２の情報処理部２２は、この加速度データを用いてコントローラ５の姿勢や移動を算出することができる。
【００５０】
ジャイロセンサ１３は、コントローラ５に設定された３軸回りの角速度をそれぞれ検出し、検出した角速度を示す角速度データを情報処理部１４に出力する。ジャイロセンサ１３が検出した角速度は、コントローラ５自体の姿勢（傾斜角度）や移動に対応して変化するので、ゲーム装置２の情報処理部２２は、この角速度データを用いてコントローラ５の姿勢や移動を算出することができる。このように、ユーザは、コントローラ５に設けられた操作ボタンを押下すること、及びコントローラ５自体を動かしてその姿勢（傾斜角度）を変え、かつ／又は移動させることによってゲーム操作を行うことができる。
【００５１】
情報処理部１４は、ＣＰＵ（Central Processing Unit）が情報処理プログラムを実行することで実現される。情報処理部１４は、加速度センサ１２で検出したコントローラ５に生じる加速度及びジャイロセンサ１３で検出したコントローラ５の角速度の情報を通信部１５に出力して、通信部１５にそれらの情報を送信させる。
【００５２】
通信部１５は、ゲーム装置２とＢｌｕｅｔｏｏｔｈ（登録商標）規格やＩＥＥＥ８０２．１１ｎ規格に従ってコントローラ５の加速度や角速度の情報を含む各種のデータを送信する。また、通信部１５は、ゲーム装置２から、ゲームが行われている仮想空間の画像（ゲーム画像）を受信する。このゲーム画像は、ゲーム装置２が、コントローラ５から受信したコントローラ５の加速度や角速度の情報に基づいて、仮想カメラを動かして、その仮想カメラによって撮影された仮想空間の画像である。表示部１６は、上記で説明したタッチパネル５１に相当し、ゲーム装置２から受信したゲーム画像を表示する。
【００５３】
ゲーム装置２の通信部２１は、コントローラ５の通信部１５から送信されてきた情報を受信して情報処理部２２に出力する。情報処理部２２は、ＣＰＵ（Central Processing Unit）が本実施の形態の情報処理プログラムを実行することで実現される。情報処理部２２は、コントローラ５から送信された加速度や角速度の情報に基づいて、コントローラ５の動き（姿勢及び／又は移動）を算出する。情報処理部２２は、算出したコントローラ５の動きに応じて仮想空間内の仮想カメラを動かすための演算を行う。具体的には、情報処理部２２は、コントローラ５の動きに応じて仮想空間内の仮想カメラの撮影方向及び／又は視点位置を算出する。対応関係記憶部２３には、コントローラ５の動き又は姿勢と仮想カメラの撮影方向及び／又は視点位置との対応関係が記憶されている。情報処理部２２は、コントローラ５の動き又は姿勢を算出すると、対応関係記憶部２３を参照して、算出されたコントローラ５の動き又は姿勢に対応する仮想カメラの撮影方向及び／又は視点位置を求める。以下では、対応関係記憶部２３に、コントローラ５の姿勢と仮想カメラの撮影方向との対応関係が記憶されており、情報処理部２２がコントローラの姿勢に基づいて仮想カメラの撮影方向を求める場合を例に説明する。
【００５４】
本実施の形態では、ユーザは、コントローラ５の姿勢を変更することで、仮想カメラの撮影方向を変更できる。以下では、コントローラ５のピッチ方向の回転（コントローラ５をユーザが把持したときの横方向の軸（コントローラ軸）周りの回転）によって、仮想カメラをピッチ方向に回転（カメラの撮像面に平行な水平軸（カメラ軸）周りの回転）させる例を説明する。この例では、対応関係記憶部２３には、コントローラ５のピッチ角度と仮想カメラのピッチ率との対応関係が記憶される。
【００５５】
ここで、仮想カメラのピッチ率とは、本実施の形態では、仮想カメラの見上げ具合及び見下げ具合をいい、カメラの視点位置及び撮影方向に応じて、−１〜＋１の範囲で変化する値である。なお、本実施の形態では、仮想カメラはその撮影方向に応じて視点位置が変化する。本実施の形態では、ピッチ率１付近では仮想カメラの位置を比較的低いところに設定し、かつ、ピッチ率−１付近では仮想カメラの位置を比較的高いところに設定する。従って、仮想カメラについては撮影方向のピッチ角度ではなく、ピッチ率でコントローラ５のピッチ角度との対応関係を表現している。なお、仮想カメラの視点位置はピッチ率の変化に応じて変化せず、固定としてもよい。この場合には、ピッチ率は即ち仮想カメラの撮影方向の変化具合となる。また、仮想カメラの撮影方向はピッチ率の変化に応じて変化せず、固定としてもよい。この場合には、ピッチ率は即ち視点位置の変化具合となる。
【００５６】
図４は、ユーザがコントローラ５を把持してゲームをプレイする様子の一例を示す図であり、図５は、ユーザがコントローラ５を把持した様子の一例を示す図である。以下の説明では、図４及び図５に示すように、コントローラ５の表（おもて）面（タッチパネル５１を有する面）に垂直な方向ａが鉛直上向き方向ｂとなす角度αをコントローラ５のピッチ角度と定義する。即ち、コントローラ５の表面が真上を向くときのピッチ角度は０度であり、コントローラ５の表面がユーザに向くときのピッチ角度を９０度とする。
【００５７】
図４では、ユーザは、起立してゲームをプレイしているが、着座してゲームをプレイすることもある。いずれにしても、ユーザがコントローラ５を把持して自然な姿勢をとると、コントローラ５の表面は、真上を向くのではなく、ユーザに向くように垂直に起立することもなく、例えば、図５に示すように、表面が真上に向く姿勢からユーザ側に向くように若干傾けられた姿勢となる。即ち、ユーザがコントローラ５を把持して自然な姿勢をとると、ユーザによって個人差はあるものの、ピッチ角度は２０度〜３０度程度となる。
【００５８】
図６は、対応関係記憶部２３に記憶されたコントローラ５のピッチ角度と仮想カメラのピッチ率との対応関係の一例を示すグラフである。この例の対応関係ＣＲ１では、コントローラのピッチ角度が３０度であるときに、仮想カメラのピッチ率が０になる。ここで、仮想カメラのピッチ率は、本実施の形態では仮想カメラの撮影方向に対応し、例えば、ピッチ率１は仮想カメラの撮影方向が鉛直上向きに向いていることに対応し、ピッチ率−１は仮想カメラの撮影方向が鉛直下向きに向いていることに対応しており、ピッチ率０は仮想カメラの撮影方向が水平方向に向いていることに対応している。
【００５９】
図６に示すように、コントローラ５のピッチ角度の変化に応じて仮想カメラのピッチ率は変化するが、仮想カメラはピッチ率１〜−１の可動範囲内でのみ動くことができる。コントローラ５のピッチ角度と仮想カメラのピッチ率との対応関係ＣＲ１は、仮想カメラのピッチ率が可動範囲の上限に達する点Ｐ１（６０度，１）、ピッチ率０の点Ｐ２（３０度，０）、仮想カメラのピッチ率が可動範囲の下限に達する点Ｐ３（０度，−１）を通る滑らかな近似曲線であってよく、例えばこの３点を通るベジェ曲線、２次関数、高次関数、正弦関数、対数関数等の非線形関数であってよい。また、対応関係は直線等の線形関数であってもよい。なお、Ｐ１とＰ２の間、及び／又はＰ２とＰ３の間は、直線であってもよい。
【００６０】
仮想カメラのピッチ率が可動範囲の限界に達した後にさらにコントローラ５のピッチ角度が変化しても、仮想カメラはそれ以上撮影方向及び視点位置を変更できない。図６の例では、コントローラ５のピッチ角度が６０度になると仮想カメラのピッチ率は可動範囲の限界である１となり、コントローラ５のピッチ角度がさらに大きくなっても、仮想カメラのピッチ率は大きくならない。同様に、コントローラのピッチ角度が０度になると仮想カメラのピッチ率は可動範囲の限界である−１となり、コントローラ５のピッチ角度がさらに小さくなっても、仮想カメラのピッチ率は小さくならない。
【００６１】
コントローラ５のピッチ角度と仮想カメラのピッチ率との対応関係ＣＲ１を変更しないとすると、例えばピッチ角度が８０度になるまでコントローラ５が傾けられ、ユーザが、そこからピッチ角度が小さくなるようにコントローラ５を戻した場合にも、コントローラ５のピッチ角度が６０度になるまでは、仮想カメラのピッチ率は変化しないことになる。図６の例のように、仮想カメラの撮影方向が水平になるときの対応するコントローラ５のピッチ角度が３０度である場合に、例えばユーザが１０度程度〜８０度程度のピッチ角度でコントローラ５を傾けて仮想カメラのピッチ率を変化させようとする場合には、ピッチ角度６０度〜８０度の範囲では、仮想カメラを動かすことができないことになる。
【００６２】
そこで、本実施の形態では、コントローラ５を傾けることによって仮想カメラのピッチ率が可動範囲の限界に達し、かつコントローラ５がピッチ角度についての所定の閾値（コントローラ限界）を超えて傾けられたときに、コントローラ５のピッチ角度と仮想カメラのピッチ率との対応関係（以下単に「対応関係」ともいう。）を変更する。ここで、仮想カメラのピッチ率が可動範囲の上限となるときのピッチ角度より大きいピッチ角度が上側の閾値として設定され、仮想カメラのピッチ率が可動範囲の下限となるときのピッチ角度より小さいピッチ角度が、下側の閾値として設定される。コントローラ５のピッチ角度が上側の閾値より大きくなると対応関係が変更され、また、コントローラ５のピッチ角度が下側の閾値より小さくなると対応関係が変更される。本実施の形態では、コントローラ５のピッチ角度（姿勢）についてのこれらの閾値は、仮想カメラのピッチ率が可動範囲の限界に達したときのコントローラ５のピッチ角度と一致している。すなわち、仮想カメラのピッチ率が可動範囲の限界に達してさらにコントローラ５が傾けられると、直ちに対応関係が変更される。対応関係の変更の方法としては、種々の方法がある。以下、各種の対応関係の変更の例を説明する。
【００６３】
（シフト）
図７は、対応関係の変更方法の一例（シフト）を示す対応関係のグラフである。この例では、情報処理部２２は、コントローラ限界を超えて傾けられたコントローラ５のピッチ角度と可動範囲の限界と対応付けるように、可動範囲の全体について、もとの対応関係ＣＲ１を変更する。具体的には、情報処理部２２は、コントローラ５が閾値を超えて傾けられると（コントローラ５の姿勢が所定の閾値を超えた姿勢とされると）、コントローラ５がピッチ率の可動範囲の限界である点Ｐ１を超えて傾けられた度合に応じて対応関係をシフトする。図７に示すように、コントローラ５のピッチ角度が点Ｐ１の６０度を超えてさらに大きくなると、コントローラ５のピッチ角度に応じて対応関係のグラフが右方向に移動していく。
【００６４】
図７に示すように、コントローラ５のピッチ角度が７５度になるまで傾けられると、可動範囲の限界を超えてさらに１５度傾けられたことになるので、対応関係ＣＲ１は、可動範囲の全体について＋１５度分横方向にシフトして、対応関係ＣＲ２とされる。対応関係ＣＲ１と対応関係ＣＲ２のグラフの形状は同じである。このシフトによって、コントローラ５のピッチ角度７５度が仮想カメラのピッチ率の可動範囲の上限（ピッチ率１）と対応付けられる。よって、ピッチ角度７５度の点Ｐ４からピッチ角度が小さくなるようにコントローラ５の傾きが戻されると、仮想カメラのピッチ率は、変更された対応関係ＣＲ２に従って、コントローラ５のピッチ角度の変化に応じて変化する。そして、コントローラ５のピッチ角度が４５度になったところで、仮想カメラのピッチ率が０となり、仮想カメラの撮影方向は水平方向となる。
【００６５】
このように、変更後の対応関係ＣＲ２では、可動範囲の限界がコントローラ限界を超えて傾けられたコントローラ５のピッチ角度に対応しているので、コントローラ５がコントローラ限界を超えて傾けられた後にコントローラ５のピッチ角度が戻されると、直ちに仮想カメラのピッチ率がコントローラ５のピッチ角度の減少に伴って減少する。
【００６６】
情報処理部２２は、コントローラ５がピッチ角度の閾値を超えてなお傾けられると、対応関係記憶部２３に記憶されている対応関係ＣＲ１を読み出して、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合に応じて対応関係ＣＲ１をシフトすることで、対応関係ＣＲ２を求める。なお、対応関係記憶部２３に、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合に応じて対応関係ＣＲ１をシフトさせた対応関係が、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合と対応付けられて記憶されていてもよい。この場合には、情報処理部２２は、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合に応じて、その度合いに対応付けられた対応関係を読み出すことで、対応関係を変更する。
【００６７】
以上のように、この対応関係の変更方法によれば、対応関係が仮想カメラの全可動範囲についてシフトするので、仮想カメラの撮影方向を水平にするときのコントローラ５の姿勢を自動で調整することができる。
【００６８】
（ストレッチ）
図８は、対応関係の変更方法の一例（ストレッチ）を示す対応関係のグラフである。この例でも、情報処理部２２は、ピッチ角度の閾値を超えて傾けられたコントローラ５のピッチ角度と仮想カメラの可動範囲の限界と対応付けるように対応関係を変更するが、本例では、ピッチ率が０（仮想カメラの撮影方向が水平）となる固定点Ｐ２（２０度，０）の対応関係を維持しつつ、仮想カメラの可動範囲の限界が閾値を超えて傾けられたコントローラ５のピッチ角度に対応するように、対応関係のグラフを引き伸ばして対応関係ＣＲ３とする。
【００６９】
この例においても、コントローラ５がピッチ角度の閾値を超えて傾けられた後にコントローラ５のピッチ角度が戻されると、変更後の対応関係ＣＲ３に従って、コントローラ５のピッチ角度に応じて仮想カメラのピッチ率が変化する。変更後の対応関係ＣＲ３では、仮想カメラの可動範囲の限界が閾値を超えて傾けられたコントローラ５のピッチ角度に対応しているので、コントローラ５が閾値を超えて傾けられた後にコントローラ５のピッチ角度が戻されると、直ちに仮想カメラのピッチ率がコントローラ５のピッチ角度の減少に伴って減少する。
【００７０】
対応関係記憶部２３には、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合に応じた対応関係（対応関係ＣＲ１を引き伸ばした対応関係）が、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合と対応付けられて記憶されている。情報処理部２２は、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合に応じて、その度合いに対応付けられた対応関係を読み出すことで、対応関係を変更する。対応関係記憶部２３に記憶された各対応関係も、対応関係ＣＲ１と同様に、仮想カメラの可動範囲の限界（上限及び下限）とピッチ率が０となる点の３点を通るベジェ曲線等として求められて、対応関係記憶部２３に記憶されている。なお、情報処理部２２は、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられたときに、その都度その度合いに応じて対応関係を算出してもよい。
【００７１】
以上のように、この対応関係の変更方法によれば、ピッチ率０即ち仮想カメラの撮影方向が水平になるときのコントローラ５の姿勢（基準姿勢）が変化しないので、基準姿勢が頻繁に変更されることによるユーザの違和感を回避できる。
【００７２】
上記のように、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた後に、コントローラ５のピッチ角度が戻されるときに、仮想カメラのピッチ率が０になるまでこの変更後の対応関係ＣＲ３に従ってコントローラ５のピッチ角度に応じてピッチ率を変化させてもよいが、対応関係を徐々にもとの対応関係ＣＲ１に戻すようにしてもよい。
【００７３】
図９は、対応関係を徐々に戻す場合の対応関係を示すグラフである。図９の例では、コントローラ５のピッチ角度が４０度となる変更限界Ｐ５を下回ると、仮想カメラのピッチ率は、対応関係ＣＲ３ではなく、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合がより小さい場合の変更後の対応関係に従って変化する。そして、仮想カメラのピッチ率は、変更限界Ｐ５を下回ってピッチ率０に対応するピッチ角度３０度に近づくほど、コントローラ５が仮想カメラの可動範囲の限界Ｐ１を超えて傾けられた度合がより小さい場合の変更後の対応関係に従って変化し、ピッチ角度が３０度になるときの対応関係は、もとの対応関係ＣＲ１とされる。すなわち、コントローラ５のピッチ角度が変更限界Ｐ５を超えてピッチ率が０になる点に向けて小さくなると、対応関係の変化が徐々に小さくなるように対応関係を変更する。なお、もとの対応関係ＣＲ１に戻る点は、仮想カメラのピッチ率が０になる点（コントローラ５のピッチ角度が３０度になる点でなくてもよく、例えば、コントローラのピッチ角度が１５度となる点で、もとの対応関係ＣＲ１に戻るようにしてもよい。
【００７４】
このような対応関係の変更によって、図９に示すように、コントローラ５のピッチ角度を小さくすることで仮想カメラのピッチ率を０に近づけるときに、仮想カメラのピッチ率は、変更限界Ｐ５に達した後は、曲線ＣＲ３´に従って、コントローラ５のピッチ角度に応じて減少する。コントローラ５のピッチ角度が小さくなるときに、曲線ＣＲ３´に従って仮想カメラのピッチ率が減少しているときに、再びコントローラ５のピッチ率が大きくなるようにコントローラ５が傾けられると、仮想カメラのピッチ率はそのときの対応関係に従って上昇する。なお、図９では、対応関係ＣＲ１と対応関係ＣＲ３との間に代表して３本の対応関係を図示しているが、実際にはより多くの対応関係があり、コントローラ５のピッチ角度の減少に伴って、対応関係ＣＲ１により近い対応関係が採用される。
【００７５】
なお、上記の例では、もとの対応関係ＣＲ１を引き伸ばして変更する際に、固定される箇所が、仮想カメラのピッチ率が０となる点であったが、この固定される点は仮想カメラのピッチ率が可動範囲内の任意の値に対応していてよい。また、固定される箇所は点に限らず、所定の幅を持つ範囲であってよい。例えば、仮想カメラのピッチ率が−０．３〜０．３となる範囲について、もとの対応関係ＣＲ１を維持し、その外側において対応関係を変更してもよい。
【００７６】
また、上記の例では、コントローラ５のピッチ角度が変更限界Ｐ５を下回って小さくなるのに従って、対応関係が徐々にもとの対応関係ＣＲ１に近づくように変化したが、これに代えて、コントローラ５のピッチ角度の減少速度に応じて、もとの対応関係ＣＲ１に近づくように徐々に対応関係を変更してもよい。さらに、コントローラ５のピッチ角度が閾値を超えた後にピッチ角度が戻されるときに、ピッチ角度の減少速度に応じて変更限界Ｐ５を可変に設定してもよい。例えば、ピッチ角度の減少速度が大きい場合（即ち、急激にもとの姿勢に戻される場合）には、ピッチ角度がより高いところに変更限界を設定してよい。また、変更限界Ｐ５は設けずに、コントローラ５のピッチ角度が戻され始めたら直ちに徐々に対応関係ＣＲ１により近い対応関係に従うように対応関係を変更し始めてもよい。換言すれば、コントローラ５のピッチ角度が戻され始める点を変更限界Ｐ５としてもよい。
【００７７】
（ストレッチ後にシフト）
図１０は、対応関係の変更方法の一例（ストレッチ後にシフト）を示す対応関係のグラフである。この例でも、情報処理部２２は、コントローラ限界Ｐ１を超えて傾けられたコントローラ５のピッチ角度を仮想カメラの可動範囲の限界と対応付けるように対応関係を変更する。本例では、情報処理部２２は、まずは、ピッチ率が０（仮想カメラの撮影方向が水平）となる固定点Ｐ２（２０度，０）の対応関係を維持しつつ、仮想カメラの可動範囲の限界が閾値を超えて傾けられたコントローラ５のピッチ角度に対応するように、対応関係のグラフを引き伸ばす。コントローラ５がコントローラ限界Ｐ１より大きい第２の閾値（ストレッチ限界）Ｐ６に達して対応関係ＣＲ３まで引き伸ばされ、コントローラ５がストレッチ限界Ｐ６を超えてさらに傾けられると、コントローラ５のピッチ角度と仮想カメラの可動範囲の限界と対応付けるように、可動範囲の全体について対応関係ＣＲ３をシフトさせる。
【００７８】
図１０では、コントローラ５がストレッチ限界である７５度の点Ｐ６を超えて９０度の点Ｐ７まで傾けられて対応関係ＣＲ４とされる例を示している。対応関係ＣＲ４は、対応関係ＣＲ３をコントローラ５のピッチ角度の方向に＋１５度シフトしたものであり、これに従うと、コントローラ５のピッチ角度が４５度となったときに仮想カメラのピッチ率は０になる。
【００７９】
（シフト後にストレッチ）
図１１は、対応関係の変更方法の一例（シフト後にストレッチ）を示す対応関係のグラフである。この例でも、情報処理部２２は、仮想カメラの可動範囲の限界Ｐ１を超えて傾けられたコントローラ５のピッチ角度を仮想カメラの可動範囲の限界と対応付けるように対応関係を変更する。本例では、情報処理部２２は、まずは、コントローラ５のピッチ角度と仮想カメラの可動範囲の限界と対応付けるように、可動範囲の全体について、もとの対応関係ＣＲ１をシフトさせる。コントローラ５が仮想カメラの可動範囲の限界Ｐ１に対応する閾値より大きい第２の閾値（シフト限界）Ｐ８に達して対応関係ＣＲ５までシフトされ、コントローラ５がシフト限界Ｐ８を超えてさらに傾けられると、ピッチ率が０（仮想カメラの撮影方向が水平）となる固定点Ｐ１０（４５度，０）の対応関係を維持しつつ、可動範囲の限界がシフト限界Ｐ８を超えて傾けられたコントローラ５のピッチ角度に対応するように、対応関係ＣＲ５のグラフを引き伸ばす。
【００８０】
図１１では、コントローラ５がシフト限界である７５度の点Ｐ８を超えて９０度の点Ｐ９まで傾けられて対応関係ＣＲ６とされる例を示している。対応関係ＣＲ６は、対応関係ＣＲ５をコントローラ５のピッチ角度の方向に引き伸ばしたものであり、これに従うと、コントローラ５のピッチ角度が４５度となったときに仮想カメラのピッチ率は０になる。
【００８１】
以上の４種類の対応関係の変更方法の例の説明では、コントローラ５のピッチ角度が大きくなって仮想カメラの可動範囲の上限に達した場合の対応関係の変更について説明したが、コントローラ５のピッチ角度が小さくなって仮想カメラの可動範囲の下限に達した場合にも上記と同様にして対応関係を変更できる。
【００８２】
（リセット）
ユーザは、リセットボタンを操作することで対応関係をリセットすることができる。情報処理部２２は、ボタン１１における所定のボタン操作（リセットボタンの押下）の検出に応じて、そのときのコントローラ５のピッチ角度にて仮想カメラのピッチ率を０にする。よって、ユーザがコントローラ５のリセットボタンを押すと、そのときのコントローラ５の姿勢（ピッチ角度）が、基準姿勢として、仮想カメラの撮影方向が水平方向となる状態に対応付けられる。なお、このときの対応関係のグラフは対応関係ＣＲ１と同じ形状とされる。
【００８３】
情報処理部２２は、上記のようにして変更される対応関係に従って、コントローラ５のピッチ角度に応じて仮想カメラのピッチ率を求める。情報処理部２２は、三次元仮想空間内でゲームを進行させるとともに、算出した仮想カメラのピッチ率に従って仮想カメラの撮影画像（即ち、仮想空間のゲーム画像）を生成し、モニタ３及びコントローラ５に送信する。モニタ３及びコントローラ５のタッチパネル５１は、ゲーム装置２より受信した撮影画像を表示する。
【００８４】
以上のように、本実施の形態の情報処理システム１０によれば、コントローラ５の動きと仮想カメラの動きとの対応関係が固定されないので、仮想カメラが可動範囲の限界を超え、かつコントローラ５の姿勢が閾値を超えた姿勢とされたときにも仮想カメラの操作性を向上させることができる。
【００８５】
なお、上記の実施の形態では、コントローラ５のピッチ方向の回転に応じて仮想カメラのピッチ率が変化する例を示したが、コントローラ５の動き（位置の変化（移動）又は姿勢の変化）に応じて仮想カメラのピッチ率を変化させるようにしてもよい。上述のように、コントローラ５の実空間における移動や姿勢の変化は、加速度センサ１２やジャイロセンサ１３を用いることで情報処理部２２によって算出できる。この場合には、対応関係記憶部２３は、コントローラ５の動きと仮想カメラの撮影方向及び／又は視点位置との対応関係を記憶し、情報処理部２２は、仮想カメラが可動範囲の限界を超え、かつコントローラ５の位置又は姿勢が閾値を超えた動かされたときに、対応関係を変更する。また、コントローラ５の動きや姿勢に応じて仮想空間内における仮想カメラの視点位置を移動させてもよく、コントローラ５の動きや姿勢に応じて、仮想カメラの撮影方向を変更してもよい。
【００８６】
また、上記の実施の形態では、ゲーム装置２とタッチパネル５１を有するコントローラ５とが別体として構成されていたが、これらが一体的となり、携帯型のゲーム装置が構成されてもよい。また、コントローラ５がタッチパネル５１を備えていなくてもよい。
【００８７】
また、上記の実施の形態では、加速度センサ１２やジャイロセンサ１３を用いてコントローラ５の姿勢や移動を算出したが、他の方法によってコントローラ５の姿勢や移動を算出してもよい。例えば、コントローラ５にカメラを設けるとともに、モニタ３にマーカとして２つのＬＥＤモジュールを設置し、コントローラ５のカメラでこの２つのマーカを撮影して、この撮影画像を解析することでコントローラ５の姿勢や移動を算出してもよい。
【００８８】
また、上記の実施の形態では、対応関係を変更し始めるコントローラ限界が、仮想カメラの可動範囲の限界と一致していたが、コントローラ限界は、仮想カメラの可動範囲の上限に対応するピッチ角度よりも大きい角度に設定され、仮想カメラの可動範囲の下限に対応するピッチ角度よりも小さい角度に設定されてもよい。即ち、コントローラ５が仮想カメラの可動範囲の限界に対応するピッチ角度を超えて、さらに所定の角度だけ傾けられたときに、対応関係を変更するようにしてもよい。こうすることで、仮想カメラの可動範囲の限界に対応するピッチ角をわずかに超えてコントローラ５が傾けられた後に直ちにコントローラ５の姿勢が戻された場合には、対応関係が変更されることがない。ユーザは、仮想カメラの可動範囲の限界に達したことをモニタ３やタッチパネル５１の画面で確認できるので、そのような状態になったときに直ちにコントローラ５の姿勢を元に戻すことがあるが、このような場合には対応関係が変更されないことになる。よって、対応関係の頻繁な変更による操作性の劣化や処理負荷を抑えることができる。
【００８９】
また、上記の実施の形態では、コントローラ５のピッチ角度が仮想カメラの可動範囲の限界に対応するピッチ角度を超えたときに、可動範囲の限界がコントローラ５のピッチ角度に一致するように、対応関係を変更したが、対応関係の変更の方法はこれに限られない。例えば、仮想カメラの可動範囲の限界に対応するピッチ角度と、その角度を超えて傾けられたコントローラ５のピッチ角度との間のピッチ角度（例えば両ピッチ角度の中間）と可動範囲の限界とが一致するように対応関係を変更してもよい。こうすることで、仮想カメラの可動範囲の限界を超えてコントローラ５を傾けた後にコントローラ５の姿勢を基に戻す方向に傾けていったときに、仮想カメラのピッチ率は直ちには変化しないが、対応関係をまったく変更しない場合と比較して早く仮想カメラのピッチ率がコントローラ５の姿勢の変更に対応して変化することになる。
【００９０】
また、上記の実施の形態では、仮想カメラの可動範囲の限界を超えて傾けられたコントローラ５のピッチ角度に応じて対応関係が複数とおりに変更されたが、変更後の対応関係は一通りであってもよい。
【００９１】
また、上記の実施の形態では、仮想カメラのピッチ率が０（撮影方向が水平）となるコントローラ５のピッチ角度と仮想カメラの可動範囲の上限に対応するコントローラ５のピッチ角度との角度差（｜６０度−３０度｜＝３０度）が、仮想カメラのピッチ率が０となるコントローラ５のピッチ角度と仮想カメラの可動範囲の下限に対応するコントローラ５のピッチ角度との角度差（｜０度−３０度｜＝３０度）と同じであったが、本発明はこれに限られず、仮想カメラのピッチ率が０となるコントローラ５のピッチ角度と仮想カメラの可動範囲の上限に対応するコントローラ５のピッチ角度との角度差が、仮想カメラのピッチ率が０となるコントローラ５のピッチ角度と仮想カメラの可動範囲の下限に対応するコントローラ５のピッチ角度との角度差より大きくても小さくてもよい。
【００９２】
さらに、上記の実施の形態では、仮想カメラの撮影方向が水平となる状態がピッチ率０と対応付けられたが、仮想カメラの撮影方向が水平から所定のピッチ角度を有する状態をピッチ率０としてもよい。
【００９３】
また、上述のように情報処理システム１０の情報処理部２２と対応関係記憶部２３は、コントローラ５に備えられていてもよく、この場合には、コントローラ５のみによって情報処理システム１０が構成される。
【符号の説明】
【００９４】
１  情報処理システム
２  ゲーム装置
３  家庭用テレビジョン受像機（モニタ）
４  光ディスク
５  コントローラ
５０  ハウジング
５１  タッチパネル
１１  ボタン
１２  加速度センサ
１３  ジャイロセンサ
１４  情報処理部
１５  通信部
１６  表示部
２１  通信部
２２  情報処理部
２３  対応関係記憶部
【図１】
2019016362.tif 000003
【図２】
2019016362.tif 000004
【図３】
2019016362.tif 000005
【図４】
2019016362.tif 000006
【図５】
2019016362.tif 000007
【図６】
2019016362.tif 000008
【図７】
2019016362.tif 000009
【図８】
2019016362.tif 000010
【図９】
2019016362.tif 000011
【図１０】
2019016362.tif 000012
【図１１】
2019016362.tif 000013