(58)【調査した分野】(Int.Cl.,DB名)
前記第1表示制御部は、前記所定のオブジェクトと前記ユーザオブジェクトとの位置関係を示す指標を前記第1表示装置にさらに表示させる、請求項2に記載の表示制御システム。
前記第1表示装置に表示される画像の奥方向に対応する前記仮想空間の方向が、前記第2表示装置に表示される画像の奥方向になるように、前記第2仮想カメラの向きが設定される、請求項1から7の何れかに記載の表示制御システム。
前記第1表示装置に表示される画像の奥方向に対応する前記仮想空間の方向が、前記第2表示装置に表示される画像の上方向になるように、前記第2仮想カメラの向きが設定される、請求項1から7の何れかに記載の表示制御システム。
前記第1表示制御ステップでは、前記所定のオブジェクトと前記ユーザオブジェクトとの位置関係を示す指標を前記第1表示装置にさらに表示させる、請求項11に記載の表示制御方法。
前記第1表示装置に表示される画像の奥方向に対応する前記仮想空間の方向が、前記第2表示装置に表示される画像の奥方向になるように、前記第2仮想カメラの向きが設定される、請求項10から16の何れかに記載の表示制御方法。
前記第1表示装置に表示される画像の奥方向に対応する前記仮想空間の方向が、前記第2表示装置に表示される画像の上方向になるように、前記第2仮想カメラの向きが設定される、請求項10から16の何れかに記載の表示制御方法。
第1操作装置と一体となった可搬型の第1表示装置と、当該第1表示装置とは別体の据置型の第2表示装置とに画像を表示させる表示制御プログラムであって、コンピュータを、
前記第1操作装置に対する操作に基づいて、第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラから仮想空間を見た画像を前記第1表示装置に表示させる第1表示制御部と、
前記第1仮想カメラまたは前記第1仮想カメラと連動する第2仮想カメラから前記仮想空間を見た画像を前記第2表示装置に表示させる第2表示制御部と、
前記第1操作装置とは別体の第2操作装置を用いて指示された前記第2表示装置の画面上の第1位置を取得する指示位置取得部と、
前記指示位置取得部が取得した前記第1位置に対応する前記仮想空間における第2位置を算出する位置算出部と、
前記位置算出部が算出した前記第2位置に所定のオブジェクトを配置するオブジェクト配置部と、をして機能させ、
前記第1表示制御部は、前記所定のオブジェクトを含む画像を前記第1表示装置に表示させ、
前記位置算出部は、前記第2表示装置に表示される画像の奥方向と平行な直線であって前記第1位置を通る直線と前記仮想空間における所定の高さの面とが交わる点を、前記第2位置として算出する、表示制御プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の技術では、2つの画面にゲーム画像をそれぞれ表示し、各プレイヤは基本的にそれぞれの画面に表示される画像を見ながらゲームを行うため、プレイヤ間でコミュニケーションを行うという点においては改善の余地があった。
【0005】
それ故、本発明の目的は、複数の画面に画像を表示するとともにユーザ間でコミュニケーションを行うことが可能な技術を提供することである。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【0007】
本発明の一例は、第1表示装置と、当該第1表示装置とは別体の第2表示装置とに画像を表示させる表示制御システムである。当該表示制御システムは、仮想カメラ制御部と、第1表示制御部と、第2表示制御部と、指示位置取得部と、位置算出部と、オブジェクト配置部とを備える。仮想カメラ制御部は、第1操作装置に対する操作に基づいて、第1仮想カメラを制御する。第1表示制御部は、前記第1仮想カメラから仮想空間を見た画像を前記第1表示装置に表示させる。第2表示制御部は、前記第1仮想カメラまたは前記第1仮想カメラと連動する第2仮想カメラから前記仮想空間を見た画像を前記第2表示装置に表示させる。指示位置取得部は、前記第1操作装置とは別体の第2操作装置を用いて指示された前記第2表示装置の画面上の位置を取得する。位置算出部は、前記指示位置取得部が取得した前記第2表示装置の画面上の位置に対応する前記仮想空間における位置を算出する。オブジェクト配置部は、前記位置算出部が算出した前記仮想空間における位置に所定のオブジェクトを配置する。前記第1表示制御部は、前記所定のオブジェクトを含む画像を前記第1表示装置に表示させる。
【0008】
上記によれば、第2操作装置を用いて指示された第2表示装置の画面上の位置に対応する仮想空間の位置に所定のオブジェクトを配置し、当該オブジェクトを第1表示装置に表示させることができ、ユーザ間でコミュニケーションを行うことができる。
【0009】
また、他の構成では、前記第1表示装置と前記第1操作装置とは、一体となった可搬型の装置であってもよい。
【0010】
上記によれば、可搬型表示装置に設けられた第1表示装置に上記所定のオブジェクトを表示することができる。
【0011】
また、他の構成では、前記第1仮想カメラは、前記仮想空間に配置されたユーザオブジェクトを含む画像を撮像してもよい。また、上記表示制御システムは、ユーザオブジェクト制御部と、処理部とをさらに備える。ユーザオブジェクト制御部は、前記第1操作装置に対する操作に応じて、前記ユーザオブジェクトを移動させる。処理部は、前記ユーザオブジェクトが前記仮想空間に配置された選択オブジェクトを選択した場合、当該選択オブジェクトに応じた所定の処理を実行する。
【0012】
上記によれば、第1操作装置に対する操作に応じてユーザオブジェクトを移動させ、ユーザオブジェクトの移動によって仮想空間に配置された選択オブジェクトを選択し、所定の処理を実行することができる。これにより、例えば、第2操作装置を操作する第2ユーザが第2表示装置の画面に表示された選択オブジェクトを指示して、第1表示装置において、当該指示された選択オブジェクトの位置に上記所定のオブジェクトを表示させることができる。そして、第1操作装置を操作する第1ユーザに指示された選択オブジェクトを選択させることができる。
【0013】
また、他の構成では、前記第1表示制御部は、前記所定のオブジェクトと前記ユーザオブジェクトとの位置関係を示す指標を前記第1表示装置にさらに表示させてもよい。
【0014】
上記によれば、ユーザは、第1表示装置を見て所定のオブジェクトとユーザオブジェクトとの位置関係を知ることができる。
【0015】
また、他の構成では、前記処理部は、前記選択オブジェクトに応じた所定のプログラムを実行してもよい。
【0016】
上記によれば、選択オブジェクトを選択することで所定のプログラムを実行することができる。
【0017】
また、他の構成では、前記第2表示制御部は、前記第2仮想カメラから前記仮想空間を見た画像を前記第2表示装置に表示させてもよい。また、前記第1仮想カメラは、前記第1操作装置に対する操作に応じて、複数の方向に関して回転する。前記第2仮想カメラは、前記複数の方向のうちの所定方向に関して前記第1仮想カメラと連動する。
【0018】
上記によれば、第1操作装置に対する操作に応じて第1仮想カメラを複数の方向に関して回転させ、第2仮想カメラを所定方向に関して第1仮想カメラと連動させることができる。
【0019】
また、他の構成では、前記所定方向は、前記仮想空間を基準としたヨー方向であってもよい。
【0020】
上記によれば、第2仮想カメラは仮想空間のヨー方向に関して第1仮想カメラと連動する。これにより、第1仮想カメラを複数の方向に回転させて第1仮想カメラを仮想空間の様々な方向に向けることができる一方で、第2仮想カメラを仮想空間の横方向に向けることができる。
【0021】
また、他の構成では、前記第2表示制御部は、前記第2仮想カメラから前記仮想空間を見た画像を前記第2表示装置に表示させてもよい。また、前記第2仮想カメラによって撮像される前記仮想空間の範囲は、前記第1仮想カメラによって撮像される前記仮想空間の範囲よりも広い。
【0022】
上記によれば、第2表示装置において第1表示装置よりも広い範囲の仮想空間を表示させることができる。
【0023】
また、他の構成では、前記第1表示装置に表示される画像の奥方向に対応する前記仮想空間の方向が、前記第2表示装置に表示される画像の奥方向になるように、前記第2仮想カメラの向きが設定されてもよい。
【0024】
上記によれば、第1表示装置および第2表示装置において、実質的に同じ視点から仮想空間を見た画像を表示することができる。
【0025】
また、他の構成では、前記第1表示装置に表示される画像の奥方向に対応する前記仮想空間の方向が、前記第2表示装置に表示される画像の上方向になるように、前記第2仮想カメラの向きが設定されてもよい。
【0026】
上記によれば、異なる視点から仮想空間を見た画像を第1表示装置および第2表示装置に表示することができる。
【0027】
なお、本発明の別の一例は、上記表示制御システムにおいて行われる表示制御方法であってもよい。表示制御システムは、1の装置によって構成されてもよいし、複数の装置によって構成されてもよい。また、他の一例は、コンピュータを上記表示制御システムの各部として機能させる表示制御プログラムであってもよい。また、他の一例は、上記表示制御システムの各部を備える表示制御装置であってもよい。
【発明の効果】
【0028】
本発明によれば、複数の画面に画像を表示するとともにユーザ間でコミュニケーションを行うことができる。
【発明を実施するための形態】
【0030】
(ゲームシステムの構成の一例)
以下、図面を参照して、一実施形態に係るゲームシステム1について説明する。
図1は、ゲームシステム1の構成の一例を示す外観図である。
図2は、ゲームシステム1の構成の一例を示すブロック図である。
図1および
図2に示すように、ゲームシステム1は、据置型の表示装置2(例えば、テレビ等)、据置型のゲーム装置3、光ディスク4、コントローラ5、マーカ装置6、および、端末装置7を含む。
【0031】
ゲーム装置3は、CPU10やメモリ11等を含み、光ディスク4等の記憶媒体に記憶されたプログラムがメモリに読み込まれ、CPU10が当該メモリに読み込まれたプログラムを実行することにより、後述する処理を実行する。そして、ゲーム装置3は、処理の結果としての画像を、表示装置2や端末装置7に出力する。
【0032】
端末装置7は、ユーザが両手または片手で把持可能な程度の大きさの可搬型表示装置であり、ユーザは端末装置7を手に持って動かしたり、あるいは、端末装置7を自由な位置に配置したりして使用することが可能である。端末装置7は、表示装置であるLCD(Liquid Crystal Display:液晶表示装置)71を備える。また、端末装置7は、方向入力のためのアナログスティック(左アナログスティック72A、右アナログスティック72B)等の入力部72、自機の姿勢に応じた姿勢データを出力することが可能な慣性センサ(ジャイロセンサや加速度センサ等)73等を備える。端末装置7とゲーム装置3とは無線によって通信可能である。端末装置7は、ゲーム装置3で生成された画像のデータをゲーム装置3から受信し、当該画像をLCD51に表示する。また、端末装置7は、自機に対する操作(入力部72に対する操作、端末装置7自体の姿勢を変化させる操作)に基づく操作データをゲーム装置3に送信する。
【0033】
コントローラ5は、ユーザが把持可能な程度の大きさであり、表示装置2の画面上の位置を指示するために用いられる。例えば、コントローラ5に設けられた撮像部で、表示装置2の所定位置に配置されたマーカ装置6からの赤外光を受光することにより、指示された画面上の位置が検出される。あるいは、コントローラ5に姿勢を検出するためのセンサが設けられ、コントローラ5の姿勢によって画面上の位置が指示されてもよい(例えば、初期姿勢では画面中央が指示され、初期姿勢からの姿勢の変化によって指示位置が変化する)。
【0034】
詳細は後述するが、端末装置7は、第1ユーザによって把持され、コントローラ5は、第2ユーザによって把持される。
【0035】
なお、
図1および
図2に示すゲームシステム1は単なる一例であり、後述する処理はどのような装置において行われてもよい。
【0036】
(処理の概要)
次に、本実施形態のゲームシステム1において行われる処理の概要について説明する。
図3は、本実施形態のゲームが行われた場合の表示装置2および端末装置7のLCD51に表示される画像の一例を示す図である。本実施形態では、端末装置7は、第1ユーザによって把持されるものとする。また、コントローラ5は、第2ユーザによって把持される。
【0037】
図3に示すように、表示装置2には、xyz座標系で定義される仮想空間に配置されたユーザオブジェクト81、家オブジェクト(選択オブジェクト)82等が表示される。また、仮想空間には、岩オブジェクト83、木オブジェクト84(84a〜84c)等が配置される。ユーザオブジェクト81は、端末装置7を用いて第1ユーザによって操作される仮想キャラクタである。また、端末装置7のLCD71には、表示装置2と同様の画像が表示される。
図3に示すように、端末装置7に表示される画像は、表示装置2に表示される画像よりも画角が狭い画像である。端末装置7および表示装置2に表示される画像は、仮想空間に配置された第1仮想カメラC1および第2仮想カメラC2を用いてそれぞれ生成され、端末装置7に対する操作によって変化する。
【0038】
具体的には、第1仮想カメラC1および第2仮想カメラC2の向き(姿勢)は、端末装置7の姿勢および端末装置7の右アナログスティック72Bに対する操作によって制御される。例えば、端末装置7に固定のXYZ座標系のY軸(上下方向の軸)が重力方向と平行であり、X軸(左右方向の軸)が地面に対して平行であり、かつ、Z軸(LCD51に垂直な軸)が表示装置2の画面を向く場合、
図3に示すような画像が端末装置7および表示装置2に表示される。この端末装置7の姿勢(以下では、「基準姿勢」ということがある)を基準として端末装置7の姿勢が変化した場合、第1仮想カメラC1および第2仮想カメラC2の向きも変化する。なお、実空間の地面に対してY軸が所定の角度だけ傾いているときの姿勢を基準姿勢としてもよい。ユーザは、端末装置7を把持して画面を見る場合、端末装置7を垂直に立てる(Y軸を重力方向と平行にする)よりも、わずかに傾ける方が見易いことがあるため、そのような端末装置7の姿勢を基準姿勢としてもよい。
【0039】
以下、
図4から
図10を参照して、端末装置7に対する操作(端末装置7自体の姿勢を変化させる操作、および右アナログスティック72Bに対する方向入力操作)による第1仮想カメラC1の制御について説明する。
【0040】
まず、
図4から
図6を参照して、端末装置7の姿勢の変化に応じた第1仮想カメラC1の向きの変化について説明する。
図4は、端末装置7を基準姿勢からヨー方向(Y軸周り)に回転させた場合の第1仮想カメラC1の向きの変化について説明するための図である。
図5は、端末装置7を基準姿勢からピッチ方向(X軸周り)に回転させた場合の第1仮想カメラC1の向きの変化について説明するための図である。
図6は、端末装置7を基準姿勢からロール方向(Z軸周り)に回転させた場合の第1仮想カメラC1の向きの変化について説明するための図である。
【0041】
図4において、端末装置7を実空間の上方から見た図が示されており、そのときの第1仮想カメラC1をカメラ上方(仮想空間の上方)から見た図が示されている。例えば、
図4に示すように、端末装置7が基準姿勢である場合、第1仮想カメラC1の撮像方向(Zc1軸)は、仮想空間に配置された岩オブジェクト83に向いており、端末装置7の画面の左右方向の中央領域には、岩オブジェクト83が表示される。この状態から、端末装置7の背面を実空間の右方向に向けると、第1仮想カメラC1も仮想空間の右方向を向く。具体的には、端末装置7をヨー方向(Y軸周り)に回転させると、当該回転角に応じて、第1仮想カメラC1に固定のXc1Yc1Zc1座標系のYc1軸周りに、第1仮想カメラC1が回転する。ここで、Xc1軸は、第1仮想カメラC1を基準として左方向に延びる軸であり、Yc1軸は、第1仮想カメラC1を基準として上方向に延びる軸であり、Zc1軸は、第1仮想カメラC1の撮像方向の軸である。Yc1軸周りに第1仮想カメラC1が回転することにより、端末装置7を回転させる前に端末装置7の画面の中央領域に表示されていた岩オブジェクト83は、端末装置7の回転後においては、画面の左領域に移動している。また、回転前に画面の右領域に表示されていた家オブジェクト82は、端末装置7の回転後においては、画面の中央付近に表示される。また、回転前に画面の左領域に表示されていた木オブジェクト84bは、回転後においては、第1仮想カメラC1の撮像範囲から外れ、画面には表示されない。
【0042】
また、
図5では、端末装置7を右方向から見た図が示されており、そのときの第1仮想カメラC1をカメラの右方向から見た図が示されている。
図5に示すように、端末装置7が基準姿勢である場合、第1仮想カメラC1の撮像方向(Zc1軸)は、仮想空間の地面(xz平面)と平行である。このため、端末装置7の画面には、仮想空間の地平線が画面の上下方向に関して中央付近に表示されている。この状態から、端末装置7の背面を実空間の上方向に向けると、第1仮想カメラC1も仮想空間の上方向を向く。具体的には、端末装置7をピッチ方向(X軸周り)に回転させると、当該回転角に応じて、Xc1軸周りに第1仮想カメラC1が回転する。このため、端末装置7を回転させる前に端末装置7の画面の上下方向の中央領域に表示されていた岩オブジェクト83等は、端末装置7を回転させた後においては、画面の上下方向に関して下領域に表示される。また、回転前に画面よりも仮想空間の上方に存在しているため画面に表示されていなかった太陽オブジェクト85が、回転後においては、第1仮想カメラC1の撮像範囲に入って、画面に表示されている。
【0043】
また、
図6では、端末装置7を正面から見た図が示されており、そのときの第1仮想カメラC1をカメラ後方から見た図が示されている。
図6に示すように、端末装置7が基準姿勢である場合、第1仮想カメラC1の撮像方向(Zc1軸)は回転しておらず、第1仮想カメラC1に固定のXc1軸は仮想空間の地面と平行である。この状態から端末装置7をロール方向(Z軸周り)に回転させると、当該回転角に応じて、Zc1軸周りに第1仮想カメラC1が回転する。具体的には、第1仮想カメラC1は、端末装置7のZ軸周りの回転方向に当該端末装置7の回転量と同じ回転量で、Zc1軸(撮像軸)周りに回転する。このため、第1仮想カメラC1を用いて生成される画像は、端末装置7の画面の中心軸に対して端末装置7の回転方向と逆方向に回転する。その結果、端末装置7のロール方向の回転が打ち消され、端末装置7の画面において、画像は、第1ユーザの見た目上はロール方向に回転しない。すなわち、端末装置7の画面に表示される画像に含まれる仮想空間の地面(xz平面)は実空間の地面と平行であり、仮想空間の上下方向は、実空間の重力方向と平行である。
【0044】
従って、例えば、第1ユーザが端末装置7をロール方向に反時計回りに90度回転させることによってX軸が重力方向を向く場合(このような姿勢で端末装置7を把持することを「縦持ち」ということがある)、画像は時計回りに90度回転して、上下方向に長い画像が端末装置7に表示される(
図8参照)。
【0045】
上述した端末装置7のヨー方向、ピッチ方向、ロール方向の回転は、端末装置7の慣性センサ73が検出する物理量、例えばジャイロセンサが検出する角速度及び/又は加速度センサが検出する重力加速度に基づいて、算出することができる。例えば、ジャイロセンサが検出するX、Y、Z軸周りの角速度を時間で積分することによって、端末装置7の姿勢(各軸周りの回転)を算出することができる。なお、端末装置7の姿勢は、慣性センサに限らず他の方法(例えば、カメラで端末装置7を撮像し、撮像した画像から端末装置7を検出する等)で検出されてもよい。
【0046】
次に、右アナログスティック72Bを用いた方向入力に基づいた第1仮想カメラC1の向きの制御について、説明する。
図7は、右アナログスティック72Bを用いて右方向(X軸負方向)が入力された場合の第1仮想カメラC1の向きの変化について説明するための図である。
【0047】
図7に示すように、右アナログスティック72Bを用いて右方向が入力された場合(右方向にスライドされた場合)、第1仮想カメラC1は、その入力量(スライド量とスライドされた時間)に応じて、ヨー方向に回転する。具体的には、第1仮想カメラC1は、仮想空間のy軸と平行な軸周りに回転する。従って、右アナログスティック72Bを用いて右方向が入力されると、第1仮想カメラC1は仮想空間の右方向を向き、入力前に画面の左右方向の中央付近に表示されていた岩オブジェクト83は、入力後では画面の左右方向の左領域に表示される。なお、
図7では、仮想空間に固定のy軸と第1仮想カメラC1に固定のYc1軸とが平行であるため、第1仮想カメラC1はYc1軸周りに回転している。
【0048】
なお、右アナログスティック72Bを用いて左方向が入力された場合は、第1仮想カメラC1は、y軸周りに逆回転する。したがって、右アナログスティック72Bを用いて左方向が入力された場合は、第1仮想カメラC1は仮想空間の左側を向く。
【0049】
また、
図7において、右アナログスティック72Bを用いて例えば右斜め上方が入力された場合、当該入力のうちの右方向の成分のみが第1仮想カメラC1のヨー方向の回転に用いられる。また、
図7において、右アナログスティック72Bを用いて上下方向が入力された場合、第1仮想カメラC1はヨー方向には回転しない。すなわち、右アナログスティック72Bを用いた左右方向の入力に応じて、第1仮想カメラC1はヨー方向(仮想空間の左右方向)に回転する一方、右アナログスティック72Bを用いた上下方向の入力に対しては、第1仮想カメラC1は、ヨー方向にもピッチ方向(仮想空間の上下方向)にも、さらにロール方向にも回転しない。
【0050】
図8は、端末装置7のX軸が重力方向を向くように把持されている場合(縦持ち)において、右アナログスティック72Bを用いて方向入力が行われたときの第1仮想カメラC1の向きの変化について説明するための図である。
図8に示すように、端末装置7のX軸が重力方向を向くように把持されている場合、すなわち、
図3に示す基準姿勢から90度反時計回り(Z軸周り)に回転されている場合において、右アナログスティック72BがY軸負方向(重力方向を基準として右方向)にスライドされたとき、第1仮想カメラC1はy軸周りに回転される。第1仮想カメラC1がy軸周りに回転されることにより、第1仮想カメラC1は仮想空間の右方向を向く。このため、右アナログスティック72Bの操作前には画面の右側にその一部しか表示されなかった家オブジェクト82が、操作後には画面の左右方向の中央付近に表示される。
【0051】
なお、
図8に示す縦持ちの状態において、右アナログスティック72Bを用いてY軸正方向(重力方向を基準として左方向)にスライドされた場合、第1仮想カメラC1は仮想空間の左方向を向く。また、
図8に示す縦持ちの状態において、右アナログスティック72Bを用いてX軸方向(重力方向)が入力された場合、第1仮想カメラC1の向きは変化しない。
【0052】
図9は、端末装置7のX軸が実空間の水平方向に対して所定の角度だけ傾くように把持されている場合(斜め持ち)において、右アナログスティック72Bを用いて方向入力が行われたときの第1仮想カメラC1の向きの変化について説明するための図である。
図9に示すように、端末装置7が基準姿勢から所定の角度(例えば30度)だけロール方向(Z軸周り)に回転されて把持されている場合、第1仮想カメラC1もロール方向(Zc1軸周り)に回転される。この状態において、右アナログスティック72Bが見た目上の右方向(基準姿勢における右斜め下方向)にスライドされた場合、第1仮想カメラC1は、仮想空間のy軸周りに回転される。すなわち、第1仮想カメラC1は、右アナログスティック72Bが見た目上の右方向にスライドされた場合、仮想空間の右方向を向く。このため、右アナログスティック72Bの操作前には画面の右側に表示されていた家オブジェクト82は、操作後には画面の左方向に移動する。
【0053】
このように、端末装置7の姿勢が変化しても、第1仮想カメラC1は、右アナログスティック72Bの見た目上(外観上)の入力方向に対応する仮想空間の方向を向くように制御される。すなわち、第1仮想カメラC1の向きの変化方向と、アナログスティックの見た目上の入力方向とが沿うように、第1仮想カメラC1の向きが変化される。ここで、「見た目上の入力方向」とは、実空間を基準とした右アナログスティック72Bのスライド方向である。端末装置7が基準姿勢である場合は、見た目上の入力方向と端末装置7が検出する右アナログスティック72Bの入力方向を示す入力ベクトルの方向とは一致する。一方、端末装置7が基準姿勢からZ軸周りに回転されている場合、見た目上の入力方向は、上記入力ベクトルの方向とは異なる。具体的には、右アナログスティック72Bの入力方向を示す入力ベクトルが、端末装置7の姿勢に応じて回転され、当該回転されたベクトルに基づいて、第1仮想カメラC1の向きが変化する。
【0054】
図10は、右アナログスティック72Bの入力方向に応じた入力ベクトルを端末装置7の姿勢に応じて回転させる様子を示す図である。端末装置7の右アナログスティック72Bにおいて行われた操作は、入力ベクトルとして算出される。
図10に示すように、右アナログスティック72Bの入力方向に応じた入力ベクトルは、IxIy座標系の座標値として表される。Ix軸は、端末装置7のX軸負方向と一致し、Iy軸は、端末装置7のY軸正方向と一致する。端末装置7がロール方向(Z軸周り)にθrだけ回転されている場合において、入力ベクトルの値が例えば(0.707,−0.707)であった場合、当該入力ベクトルをθrだけ回転させた補正ベクトルが算出される。そして、当該補正ベクトルが、第1仮想カメラC1のy軸周りの回転に用いられる。より具体的には、第1仮想カメラC1のy軸周りの回転(ヨー方向の回転)には、右アナログスティック72Bを用いた見た目上の左右方向の入力のみが用いられるため、補正ベクトルのIx軸成分の値に応じて、第1仮想カメラC1がy軸周りに回転される。
【0055】
例えば、端末装置7のロール方向の回転角θrが90度である場合(縦持ちの場合)において、入力ベクトルの値が(0,−1.0)であるとき、入力ベクトルを90度回転させた補正ベクトルは(1,0)となる。従って、この場合、右アナログスティック72Bの右方向が入力されたと見なして、第1仮想カメラC1をy軸周りに回転させる。また、例えば、端末装置7のロール方向の回転角θrが90度である場合において、入力ベクトルの値が(1,0)であるとき、入力ベクトルを90度回転させた補正ベクトルは(0,1)となる。従って、この場合、右アナログスティック72Bの上方向が入力されたと見なして、第1仮想カメラC1をy軸周りに回転させない。
【0056】
このように、端末装置7の姿勢に応じて右アナログスティック72Bの入力方向を示す入力ベクトルを補正して補正ベクトルを算出する。そして、当該補正ベクトルに基づいて、第1仮想カメラC1を仮想空間の上下方向の軸周りに回転させる。これにより、端末装置7の姿勢が変化した場合においても、見た目上の右アナログスティック72Bの入力方向(重力方向を基準とした水平方向)に、第1仮想カメラC1を向けることができる。
【0057】
以上のように、本実施形態においては、端末装置7の姿勢を変化させる操作(第1の操作)、および、右アナログスティック72Bを用いた方向入力操作(第2の操作)によって、第1仮想カメラC1の向きが制御される。
図11に示すように、第1の操作によるカメラ制御と第2の操作によるカメラ制御が足しあわされることにより、第1仮想カメラC1の向きが決定される。
【0058】
(端末装置と表示装置とを用いたゲーム操作)
次に、
図12から
図19を参照して、端末装置7と表示装置2とに表示される画像を用いた複数人で行われるゲーム操作について説明する。まず、
図12から
図14を用いて、端末装置7と表示装置2とに表示される画像について説明する。
【0059】
図12は、端末装置7をヨー方向に回転させる操作、および、右アナログスティック72Bを用いた左右方向の入力に基づいた2つの仮想カメラの制御について説明するための図である。上述のように、端末装置7のヨー方向(Y軸周り)の回転および右アナログスティック72Bの左右方向の入力に応じて、端末装置7のLCD51に表示される画像を生成するための第1仮想カメラC1の向きが変化する。第1仮想カメラC1と同様に、表示装置2に表示される画像を生成するための第2仮想カメラC2の向きも、端末装置7のヨー方向の回転および右アナログスティック72Bの左右方向の入力に応じて、変化する。すなわち、ヨー方向に関して、第2仮想カメラC2は第1仮想カメラC1と連動して動作する。具体的には、第1仮想カメラC1に固定の座標系のYc1軸周りの回転と、第2仮想カメラC2に固定のXc2Yc2Zc2座標系のYc2軸周りの回転とは、等しい。ただし、急激な変化を避けるために、第2仮想カメラC2が第1仮想カメラC1に所定時間をかけて追従するようにしてもよい。なお、Xc2軸は第2仮想カメラC2を基準として左方向に延びる軸であり、Yc2軸は第2仮想カメラC2を基準として上方向に延びる軸であり、Zc2軸は第2仮想カメラC2の撮像方向に延びる軸である。
【0060】
図13は、端末装置7をピッチ方向に回転させる操作に基づいた2つの仮想カメラの制御について説明するための図である。
図14は、端末装置7をロール方向に回転させる操作に基づいた2つの仮想カメラの制御について説明するための図である。
図13に示すように、端末装置7をピッチ方向(X軸周り)に回転させると、第1仮想カメラC1もピッチ方向(Xc1軸周り)に回転する。一方で、端末装置7をピッチ方向に回転させても、第2仮想カメラC2は、ピッチ方向(Xc2軸周り)に回転しない。
【0061】
また、
図14に示すように、端末装置7をロール方向(Z軸周り)に回転させると、第1仮想カメラC1もロール方向(Zc1軸周り)に回転する。一方で、端末装置7をロール方向に回転させても、第2仮想カメラC2は、ロール方向(Zc2軸周り)に回転しない。すなわち、ピッチ方向およびロール方向に関しては、第2仮想カメラC2は第1仮想カメラC1と連動して動作しない。
【0062】
このように、端末装置7をヨー方向に回転させたり、右アナログスティック72Bを左右方向にスライドさせることにより、ヨー方向に関して第1仮想カメラC1と第2仮想カメラC2とを連動させることができる。また、端末装置7をピッチ方向やロール方向に回転させることにより、端末装置7を把持する第1ユーザは、端末装置7の背面を上下左右の任意の方向に向けることによって、仮想空間の上下左右の任意の方向を見ることができる。従って、第1ユーザは、自身の端末装置7に対する操作に応じて自由に仮想空間を見渡すことができる。
【0063】
一方、端末装置7がヨー方向に回転されると第2仮想カメラC2もヨー方向(y軸周り)に回転するが、端末装置7がピッチ方向やロール方向に回転されても第2仮想カメラC2はピッチ方向やロール方向に回転しない。従って、第1ユーザが端末装置7をピッチ方向やロール方向に回転させても、表示装置2に表示される仮想空間の範囲は変化しない。このため、表示装置2を視認する第2ユーザにとっては、見やすい画像となる。すなわち、第1ユーザが端末装置7を上下方向に向けたりロール方向に回転させたりすることで表示装置2において画像が上下方向に揺れたり、回転したりすると、第2ユーザにとっては見難い画像となる。しかしながら、本実施形態では、第2仮想カメラC2は第1仮想カメラC1とヨー方向に関してのみ連動するため、据置型の表示装置2を視認する第2ユーザにとって見やすい画像となる。
【0064】
次に、上述のように端末装置7および表示装置2において仮想空間の画像が表示されている場合において、第2ユーザがコントローラ5を用いて表示装置2の画面上の位置を指示する場合について説明する。
図15は、コントローラ5を用いて表示装置2の画面上の位置が指示された場合において、端末装置7および表示装置2に表示される画像の一例を示す図である。
【0065】
図15に示すように、第2ユーザがコントローラ5の先端を表示装置2に向けると、表示装置2の画面には、画面上の指示位置を示すポインタ86が表示される。表示装置2にポインタ86が表示されると、端末装置7のLCD71には、指示オブジェクト87が表示される。指示オブジェクト87は、所定の3次元形状(例えば、球)のオブジェクトであり、ポインタ86が示す表示装置2の画面上の位置に対応する仮想空間の3次元位置に配置される。そして、当該指示オブジェクト87を含む仮想空間を撮像した画像が、端末装置7のLCD71に表示される。また、端末装置7には、指示オブジェクト87の位置を示す指標88が表示される。指標88は、ユーザオブジェクト81と指示オブジェクト87との位置関係を示し、例えば、ユーザオブジェクト81から指示オブジェクト87に向かう矢印として表示される。当該指標88および指示オブジェクト87が端末装置7に表示されることで、端末装置7を視認する第1ユーザは、指示オブジェクト87の位置、すなわち、第2ユーザによって指示された位置を知ることができる。
【0066】
図16は、指示オブジェクト87が配置される位置について説明するための図である。まず、コントローラ5を用いて指示された表示装置2の画面上の指示位置が算出される。例えば、表示装置2の周辺(例えば画面の上方)に配置されたマーカ装置6からの光をコントローラ5の撮像部が撮像することにより、表示装置2の画面上の指示位置(2次元)が算出される。次に、
図16に示すように、当該指示位置を通って第2仮想カメラC2のZc2軸と平行な直線が算出される。そして、当該直線と仮想空間の地面(xy平面)から所定の高さhの面とが交わる点が、3次元指示位置として算出される。このようにして算出された3次元指示位置に、指示オブジェクト87が配置される。
【0067】
図17は、端末装置7の左アナログスティック72Aを用いた方向入力に基づいてユーザオブジェクト81を移動させる様子を示す図である。
図17に示すように、第1ユーザは、端末装置7の左アナログスティック72Aを用いて所定の方向を入力することにより、ユーザオブジェクトを81’の位置から81の位置に移動させることができる。ユーザオブジェクト81の移動に伴って、第1仮想カメラC1および第2仮想カメラC2も仮想空間を移動する。例えば、左アナログスティック72Aの上方向(Y軸正方向)が入力された場合、ユーザオブジェクト81は、仮想空間を前方に移動し(端末装置7の画面の奥方向に移動し)、2つの仮想カメラもそれに伴って移動する。また、左アナログスティック72Aの右方向(X軸負方向)が入力された場合、ユーザオブジェクト81は、仮想空間を右方向に移動し、それに伴って2つの仮想カメラも移動する。また、
図17に示すように、左アナログスティック72Aの右上方向が入力されると、ユーザオブジェクト81は、右斜め前方に移動する。このように、第1ユーザは、左アナログスティック72Aを用いた方向入力によって、仮想空間の任意の方向にユーザオブジェクト81を移動させることができる。
【0068】
なお、端末装置7が縦持ちの状態である場合、左アナログスティック72Aを用いて方向入力が行われると、上記右アナログスティック72Bを用いた操作と同様に、左アナログスティック72Aの見た目上の入力方向にユーザオブジェクト81は移動する。
図18は、端末装置7が縦持ちの状態である場合において、左アナログスティック72Aを用いた方向入力操作が行われた場合のユーザオブジェクト81の移動を説明するための図である。
図18に示すように、端末装置7が縦持ちの状態である場合において、左アナログスティック72AがX軸負方向にスライドされると、見た目上のスライド方向は実空間の上方である。従って、この場合、左アナログスティック72Aを用いて上方向が入力されたと見なされて、ユーザオブジェクト81は、右方向に移動せずに仮想空間の前方(画面の奥方向)に移動する。具体的には、上述の右アナログスティック72Bを用いた操作と同様に、左アナログスティック72Aの入力方向に応じた入力ベクトルが、端末装置7のZ軸周りの回転に応じて回転される。そして、当該回転されたベクトルに応じて、ユーザオブジェクト81の移動方向が定められる。
【0069】
図19は、ユーザオブジェクト81が移動して第2ユーザによって指示された家オブジェクト82に到達した様子を示す図である。ここで、ユーザオブジェクト81が、家オブジェクト82に到達した場合、ゲームAが選択される。家オブジェクト82は、これから実行するゲームを選択するためのオブジェクトであり、家オブジェクト82に対応するゲームが予め用意されている。また、仮想空間には、ゲームAに対応する家オブジェクト82の他に、異なる種類のゲームに対応付けられた複数の選択オブジェクトがそれぞれ配置される。
【0070】
図20は、ユーザオブジェクト81が移動して仮想空間に配置されたビルオブジェクト89に到達した様子を示す図である。
図20に示すように、仮想空間には、ゲームBに対応するビルオブジェクト89が配置され、ユーザオブジェクト81がビルオブジェクト89に到達すると、ゲームBが選択される。
【0071】
以上のように、第1ユーザがユーザオブジェクト81を操作して各ゲームに対応付けられた選択オブジェクトを選択することにより、ゲームが実行される。第2ユーザは、表示装置2に表示された画像を見ながら、コントローラ5を用いて表示装置2の画面上の位置を指示することにより、第1ユーザに選択してもらいたい選択オブジェクト(ゲーム)を指示する。第1ユーザは、端末装置7のLCD71に表示された指示オブジェクト87を見て、第2ユーザによって指示された選択オブジェクトを知ることができる。そして、第1ユーザはユーザオブジェクト81を操作することによって当該選択オブジェクトを選択し、ゲームを開始することができる。
【0072】
このように、表示装置2の画面上の指示位置に対応する仮想空間の位置に指示オブジェクト87が配置され、当該指示オブジェクト87が端末装置7に表示されることにより、ユーザ同士のコミュニケーションを行うことができる。
【0073】
なお、上記実施形態は単なる一例であり、例えば以下に説明するように種々の変形が行われてもよい。
【0074】
例えば、上記実施形態では、右アナログスティック72Bを用いた見た目上の左右方向(重力方向に対して左右方向)の入力に応じて、第1仮想カメラC1をヨー方向に回転させた。他の実施形態では、見た目上の上下方向(重力に平行な方向)の入力に応じて、第1仮想カメラC1をピッチ方向に回転させてもよい。すなわち、当該上下方向の入力に応じて、第1仮想カメラC1を仮想空間の上下方向に向けてもよい。この場合、右アナログスティック72Bの入力方向を示す入力ベクトルを端末装置7の姿勢に応じて補正して(回転させて)上記補正ベクトルを算出し、当該補正ベクトルの左右方向成分に応じて、第1仮想カメラC1をヨー方向に回転させる。また、当該補正ベクトルの上下方向成分に応じて、第1仮想カメラC1をピッチ方向に回転させる。
【0075】
また、上記実施形態では、任意の方向を入力することが可能なアナログスティックを用いた方向入力を行い、アナログスティックにおいて行われた入力方向を、端末装置7の姿勢に応じて補正した。他の実施形態では、十字キーや所定のパターンで配置された複数の操作ボタン、その他任意の入力手段を用いて方向入力が行われ、端末装置7の姿勢に応じて入力方向が補正されてもよい。
【0076】
また、上記実施形態では、ヨー方向に関してのみ第2仮想カメラC2を第1仮想カメラC1と連動させたが、他の実施形態では、ピッチ方向およびロール方向も含めて連動させてもよい。また、他の実施形態では、第2仮想カメラC2を、所定方向に関してのみ第1仮想カメラC1と連動させてもよい。すなわち、第1仮想カメラC1は、端末装置7に対する操作に応じて複数の方向(ロール、ピッチ、ヨー)に回転する一方で、第2仮想カメラC2は、複数の方向のうちの所定方向に回転してもよい。
【0077】
また、上記実施形態では、第1仮想カメラC1および第2仮想カメラC2が仮想空間に配置され、第1仮想カメラC1と第2仮想カメラC2とは連動した。そして、第1仮想カメラC1から仮想空間を見た画像が端末装置7に表示され、第2仮想カメラC2から仮想空間を見た画像が表示装置2に表示された。他の実施形態では、第2仮想カメラC2は設定されずに、第1仮想カメラC1から見た画像が端末装置7および表示装置2に表示されてもよい。
【0078】
また、上記実施形態では、第2仮想カメラC2の撮像方向を、第1仮想カメラC1の撮像方向と平行(所定の角度差があってもよい)にすることにより、表示装置2には、端末装置7に表示される画像と同じような画像(ユーザオブジェクト81の後方から仮想空間を見た画像)が表示された。すなわち、上記実施形態では、表示装置2の奥方向に対応する仮想空間の方向を端末装置7の奥方向に対応する仮想空間の方向と一致させた。他の実施形態では、第2仮想カメラC2の位置および撮像方向は第1仮想カメラC1と一致(実質的に一致)していなくてもよい。
【0079】
図21は、第1仮想カメラC1と第2仮想カメラC2の位置関係および撮像方向(視線方向)の種々の例を示す図である。上記実施形態のように、第2仮想カメラC2は、第1仮想カメラC1の視点Aと一致(略一致)する視点Bに配置されてもよく、撮像方向Bは、第1仮想カメラC1の撮像方向Aと一致(略一致)してもよい。具体的には、第2仮想カメラC2の視点Bは、左右方向および上下方向に関して第1仮想カメラC1の視点Aと一致してもよい。あるいは、第2仮想カメラC2の視点Bは、左右方向に関して第1仮想カメラC1の視点Aと一致し、上下方向に関して第1仮想カメラC1とずれていてもよい。この場合、
図3に示すように、表示装置2および端末装置7には略同じ画像が表示され、表示装置2の画像の奥方向が示す仮想空間の方向は、端末装置7に表示される画像の奥方向に対応する。言い換えると、第1仮想カメラC1の撮像方向と第2仮想カメラC2の撮像方向とは、実質的に平行(垂直よりも平行に近く)に設定されてもよい。
【0080】
また、
図21に示すように、第2仮想カメラC2は、視点Cに配置されて、撮像方向は方向Cに設定されてもよい。また、第2仮想カメラC2は、視点Dに配置されて、撮像方向は方向Dに設定されてもよい。すなわち、第2仮想カメラC2の撮像方向は、仮想空間の地面に対して実質的に垂直(平行よりも垂直に近い)になるように設定されてもよい。
【0081】
図22は、
図21に示す視点Cに第2仮想カメラC2が設定される際に表示装置2に表示される画像の一例を示す図である。
図23は、
図22に示す視点Dに第2仮想カメラC2が設定される際に表示装置2に表示される画像の一例を示す図である。
図22に示すように、表示装置2には端末装置7よりも仮想空間の上方から見た画像が表示される。この場合においても、第1仮想カメラC1と第2仮想カメラC2とは連動するため、端末装置7に対する操作に応じて、表示装置2に表示される画像は変化する。また、
図23に示すように、表示装置2には、仮想空間の真上から見た俯瞰視点の画像が表示されてもよい。この場合においても、同様に第1仮想カメラC1と第2仮想カメラC2とは連動する。
図22および
図23に示すように、端末装置7には、上記実施形態と同様に画面の奥方向が仮想空間の地面に沿った方向となる画像が表示される一方で、表示装置2には、画面の奥方向が仮想空間の地面と垂直(実質的に垂直)となる画像が表示される。すなわち、仮想空間の上方からユーザオブジェクト81を含む仮想空間を見た画像が表示装置2に表示される。この場合、表示装置2の画像の上方向が示す仮想空間の方向は、端末装置7に表示される画像の奥方向に対応する。言い換えると、第1仮想カメラC1の撮像方向と第2仮想カメラC2の撮像方向とは、実質的に垂直(平行よりも垂直に近く)に設定されてもよい。
【0082】
また、上記実施形態では、コントローラ5を用いて表示装置2の画面上の位置が指示されたが、他の実施形態では、他の任意の装置を用いて表示装置2の画面上の位置が指示されてもよい。例えば、マウス等のポインティングデバイスやアナログスティック、十字キー、複数の操作ボタン等を用いた方向入力によって表示装置2の画面上のポインタが移動し、当該ポインタの位置を指示位置としてもよい。あるいは、表示装置2の画面上にタッチパネルが設けられ、タッチ操作によって表示装置2の画面上の位置が指示されてもよい。
【0083】
また、上記実施形態では、選択オブジェクトによって選択オブジェクトに応じたゲームが実行されるものとした。他の実施形態では、選択されたオブジェクトに応じて他の任意のプログラムが実行されてもよい。
【0084】
また、上記実施形態では、表示装置2の画面上の位置が指示され、当該指示された位置を示す指示オブジェクト87が端末装置7に表示された。他の実施形態では、端末装置7のLCD71の画面上の位置が指示され、当該指示された位置に対応する仮想空間の位置に指示オブジェクトが配置されて、当該指示オブジェクトが表示装置2に表示されてもよい。
【0085】
例えば、端末装置7の画面上にタッチパネルが設けられ、タッチ操作によってLCD71上の位置が指示され、当該指示位置に対応する仮想空間の位置に指示オブジェクトが配置されてもよい。そして、当該指示オブジェクトを含む画像が表示装置2に表示されることにより、端末装置7を使用する第1ユーザと表示装置2を視認する第2ユーザとの間でコミュニケーションが行われてもよい。また、端末装置7とは別体の操作装置を用いて端末装置7のLCD71上の画面の位置が指示され、当該指示位置に対応する仮想空間の位置に指示オブジェクトが配置されてもよい。そして、当該指示オブジェクトを含む画像が表示装置2に表示されてもよい。
【0086】
(処理の流れ)
次に、本実施形態のゲームシステム1において行われる処理の詳細について説明する。まず、メモリに記憶される各種データについて説明する。
図24は、ゲーム装置3内に記憶される各種データを示す図である。
【0087】
図24に示すように、ゲーム装置3のメモリ11等には、後述する処理を実行するためのプログラム100、ゲームAを実行するためのゲームプログラム101、および、ゲームBを実行するためのゲームプログラム102が記憶される。また、ゲーム装置3には、端末装置7の姿勢を示す姿勢データ110、左アナログスティック72Aおよび右アナログスティック72Bの入力方向を示す入力方向データ111、第1仮想カメラC1の向きを示す第1仮想カメラデータ112、第2仮想カメラC2の向きを示す第2仮想カメラデータ113、コントローラ5を用いて指示された表示装置2の画面上の位置を示す指示位置データ114、および、ユーザオブジェクトの位置を示すオブジェクトデータ115等が記憶される。また、ゲーム装置3には、上記家オブジェクト82やビルオブジェクト89の位置を示すデータ等が記憶される。
【0088】
(フローチャートの説明)
次に、ゲーム装置3(CPU10)において実行される処理の詳細を、
図25を参照して説明する。
図25は、ゲーム装置3において実行される処理の流れを示すメインフローチャートである。
【0089】
まず、ゲーム装置3は、メモリに記憶された端末装置7の慣性センサ73からのデータに基づいて、端末装置7の姿勢を取得(算出)する(ステップS101)。次に、ゲーム装置3は、メモリに記憶された端末装置7からの操作データに基づいて、右アナログスティック72Bおよび左アナログスティック72Aの入力方向を示す入力ベクトルそれぞれを取得する(ステップS102)。
【0090】
次に、ゲーム装置3は、端末装置7の姿勢および右アナログスティック72Bの入力ベクトルに基づいて、第1仮想カメラC1および第2仮想カメラC2の制御を行う(ステップS103)。具体的には、ゲーム装置3は、上述のように、端末装置7のヨー方向、ピッチ方向、ロール方向の回転に応じて第1仮想カメラC1の向きを算出する。また、右アナログスティック72Bの入力方向を示す入力ベクトルと端末装置7のロール方向の回転とに基づいて、補正ベクトルを算出し、算出した補正ベクトルに応じて第1仮想カメラC1をy軸周りに回転させる。また、ゲーム装置3は、上述のように第1仮想カメラC1の向きに応じて第2仮想カメラC2の向きを設定する。
【0091】
次に、ゲーム装置3は、コントローラ5を用いた表示装置2の画面上の指示位置を取得し(ステップS104)、当該指示位置に対応する仮想空間の位置である3次元位置を算出する(ステップS105)。そして、ゲーム装置3は、指示オブジェクト87を算出した3次元位置に配置する(ステップS106)。以上の処理が行われることにより、第1仮想カメラC1および第2仮想カメラC2から見た画像がそれぞれ生成され、端末装置7および表示装置2に出力される。これにより、端末装置7には、第1仮想カメラC1から指示オブジェクト87を含む仮想空間を見た画像が表示され、表示装置2には、第1仮想カメラC1と連動する第2仮想カメラC2から仮想空間を見た画像が表示される。
【0092】
次に、ゲーム装置3は、左アナログスティック72Aの入力方向に応じた入力ベクトルに基づいて、ユーザオブジェクト81を仮想空間内で移動させる(ステップS107)。この場合において、上述のように、入力ベクトルを端末装置7の姿勢に応じて補正し、補正したベクトルに基づいて、ユーザオブジェクト81を移動させる。そして、移動後のユーザオブジェクト81が、仮想空間に配置された選択オブジェクトの位置に到達したか否かが判定される(ステップS108)。ユーザオブジェクト81が選択オブジェクトに到達した場合(ステップS108:YES)、ゲーム装置3は、メモリに記憶された選択オブジェクトに応じたゲームプログラムの実行を開始する(ステップS109)。ユーザオブジェクト81が選択オブジェクトに到達しない場合(ステップS108:NO)、ゲーム装置3は、
図25に示す処理を終了する。
【0093】
なお、
図25に示すフローチャートの処理は繰り返し実行される。また、当該フローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。
【0094】
また、上述した処理の一部は、端末装置7において行われてもよい。例えば、端末装置7の姿勢およびアナログスティックを用いた方向入力に応じて、第1仮想カメラC1の向きが端末装置7において算出されてもよい。この場合において、端末装置7は、自機の姿勢に応じてアナログスティックの入力ベクトルを回転させたベクトルを算出し、当該算出したベクトルに基づいて、第1仮想カメラC1の向きを算出する。
【0095】
また、上記プログラムは、上記ゲーム装置3に限らず、他の任意の情報処理装置において実行され、当該情報処理装置が上述したゲームシステムとして機能してもよい。例えば、他の情報処理装置としては、携帯電話、スマートフォン、PDA、パーソナルコンピュータ、タブレット型コンピュータ等が用いられてもよい。これら他の情報処理装置が、上述したゲーム装置3および端末装置7として機能してもよい。
【0096】
また、他の実施形態では、互いに通信可能な複数の装置を含むゲームシステムにおいて、当該複数の装置が、上述のようなゲーム装置3において実行されたゲーム処理を分担して実行するようにしてもよい。例えば、インターネットのようなネットワークに接続された複数の情報処理装置によって上述のようなゲームシステムが構成されてもよい。
【0097】
また、上記実施形態においては、ゲーム装置3のCPUがプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置3が備える専用回路によって行われてもよいし、他の汎用プロセッサによって行われてもよい。少なくとも1つのプロセッサが、上記処理を実行するための「プログラムされた論理回路」として動作するものであってもよい。