(57)【特許請求の範囲】
【請求項１】
コンピュータグラフィックス表示システムにおいて３次元視点パンニングを制御する方法であって、
パンニングの制御を行うべき領域に対応する第１領域と、パンニングの制御を行わない領域に対応する第２領域とをディスプレイ上で事前に定義するステップ、
前記ディスプレイ上において、少なくともユーザ入力に応じた位置にカーソルを表示するステップ、および
前記カーソルが前記第１領域内に配置される場合にのみ３次元視点のパンニングを行うステップを含み、
ユーザ入力に応じてビューロックモードが起動された場合に、前記カーソルが前記第１領域内に配置されていても、前記３次元視点のパンニングが行われず、かつ、当該カーソルを前記ユーザ入力に応じた前記ディスプレイ上の位置に表示可能である、方法。
【請求項２】
前記第１領域が、少なくとも部分的に前記第２領域を取り囲む、請求項１に記載の方法。
【請求項３】
前記パンニングを行うステップは、前記カーソルから前記ディスプレイの中心点までの距離に少なくとも応じて前記パンニングのスピードを制御するステップをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記カーソルが前記第１領域内に配置されている時間の長さに少なくとも基づいて、前記パンニングのスピードを制御することをさらに含む、請求項１ないし３のいずれかに記載の方法。
【請求項５】
前記第１領域と第２領域とをディスプレイ上で事前に定義するステップは、前記第１領域を複数の仮想カメラ制御領域に分割するステップをさらに含み、
前記パンニングを行うステップは、前記カーソルが前記複数の仮想カメラ制御領域のうちのどの領域に配置されているかに少なくとも基づいて仮想カメラのパンニングのスピードを制御するステップをさらに含む、請求項１ないし４のいずれかに記載の方法。
【請求項６】
少なくとも前記第２領域にマスク画像が表示される、請求項１ないし５のいずれかに記載の方法。
【請求項７】
前記カーソルによって指し示されているオブジェクトに照準を定めるために、武器の位置が照準の位置に向くような画像の変化を自動的にアニメーション化して表示するステップをさらに含む、請求項１ないし６のいずれかに記載の方法。
【請求項８】
パンニングを行うか否かが前記カーソルの位置によって制御されるのと同時に、前記カーソルの位置に応じて武器の向きが変化するように武器の画像を生成し、アニメーションとして表示する、請求項７に記載の方法。
【請求項９】
前記パンニングを行うステップは、基準位置に対する前記カーソルの位置に少なくとも基づいて３次元パンニングの方向を制御するステップをさらに含む、請求項１ないし８のいずれかに記載の方法。
【請求項１０】
前記基準位置は前記ディスプレイの中央である、請求項９に記載の方法。
【請求項１１】
アニメーションを表示するシステムであって、
複数の領域に分割された画像を表示する表示装置、
前記表示装置上にカーソルを表示するカーソル制御装置、
前記表示装置上のどの位置に前記カーソルが表示されるかを決定する、前記カーソル制御装置に接続されているユーザ入力装置、および
３次元視点のパンニングを選択的に行い、前記複数の領域のうちのどの領域に前記カーソルが表示されているかに少なくとも基づいて前記画像を決定するパンニング制御装置、を備え、
前記パンニング制御装置は、ユーザ入力に応じてビューロックモードが起動された場合に、前記カーソルが前記第１領域内に配置されていても、前記３次元視点のパンニングが行われず、かつ、当該カーソルを前記ユーザ入力に応じた前記ディスプレイ上の位置に表示可能であるように制御するシステム。
【請求項１２】
コンピュータグラフィックス表示システムが備えるコンピュータに実行させるためのプログラムであって、
３次元世界のモデルを少なくとも表示するステップ、
表示領域を少なくとも第１および第２所定領域に分割するステップ、
ユーザ入力に応じて表示されるオブジェクトの位置を少なくとも制御するステップ、および、
前記オブジェクトが第１領域内に表示される度に選択的に３次元視点パンニングを実行し、そして前記オブジェクトが前記第１領域とは異なる第２領域内に表示される度に選択的に３次元視点パンニングを停止するように、仮想カメラの３次元視点パンニングを制御するステップ、を前記コンピュータに実行させ、
前記仮想カメラの３次元視点パンニングを制御するステップでは、ユーザ入力に応じてビューロックモードが起動された場合に、前記カーソルが前記第１領域内に配置されていても、前記３次元視点のパンニングが行われず、かつ、当該カーソルを前記ユーザ入力に応じた前記ディスプレイ上の位置に表示可能であるよう制御を行う、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元コンピュータグラフィックスに関し、より特定的には３Ｄ視点を仮想３次元空間内で制御するための技術に関する。さらに特定的には、本発明は共有されるポインティング指示／制御手段を利用して、オブジェクトターゲティング（攻撃対象等の指定）などのビデオゲームアクションと、仮想カメラの視線方向／パンニングとの両方を制御するための方法、装置および技術を提供するものである。
【背景技術】
【０００２】
多くの３Ｄゲームやその他のグラフィックス表示などにおいては、３Ｄ仮想世界を見る視点をユーザがある程度フレキシブルに変えることができる。作家達がそれぞれ異なった視点で小説を書くように、ビデオゲームも３次元仮想世界を「３人称の視点」または「１人称の視点」のいずれかで見るように作成することができる。「３人称視点」のゲームにおいては、仮想カメラが３次元空間内に置かれ、そこからゲームプレイヤはすべてのアクションを見聞きすることができる。「１人称視点」のゲームにおいては、ゲーム内の他のオブジェクトやイベントと相互に作用し合うキャラクタの視点でアクションが展開される。どちらの視点のゲームもそれぞれの利点があり、一部のゲームではプレイヤが１人称と３人称の間で視点を切り替えることができる。
【０００３】
一部の人気の高い１人称視点のゲームにおいては、ゲームプレイヤの視点をある紛争における戦闘員の視点としている。例えばゲームプレイヤは、仮想の宇宙船に侵入してきたエイリアンなどの敵を攻撃して倒す軍人や戦士の視点を通じて３次元世界を見る場合などがある。そのような１人称視点の表示技術を利用することによって、ゲームプレイヤがまるでゲーム内に自分が存在しているかのような感覚を持つことができる没入型のゲームアクションを作ることができる。
【０００４】
従来の１人称視点表示技術は、ゲーム内の３次元仮想世界におけるゲームキャラクタの頭部に対応する位置に「仮想カメラ」を設置するものもある。３次元世界内のオブジェクトは、この仮想カメラの視点からレンダリングされる。ちょうど現実世界と同じように、ユーザは自身の頭部を左右に動かしたり、上を向いたり、下を向いたりして仮想世界の異なる部分を見ることができる。仮想カメラが向いている方向を変えることで、３Ｄ世界の異なる部分が現れ、これによりゲームプレイヤは仮想の景色を「見回す」ことができる。
【０００５】
建物内や景色の仮想ツアーなどを行う場合においては、ユーザはウェブブラウザや、ＱｕｉｃｋＴｉｍｅ（登録商標）またはＦｌａｓｈ（登録商標）などのプラグインを介して仮想３Ｄカメラの視点を変え、カーソルを制御するマウスを動かして様々な異なる視点から景色を見ることができる。多くのビデオゲームやコンピュータゲームにおいては、ゲームプレイヤはジョイスティックなどのポインティング制御手段の操作を通じて、スクロールしたりまたは別の方法で仮想カメラの視点を変えたりすることができる。従って、ユーザが画像の右側へ向かってジョイスティックを動かした場合は、ディスプレイもまた仮想３Ｄ世界およびプレイヤの右側へスクロールもしくはパンし、それによりこれまで見えていなかったオブジェクトが現れる。
【０００６】
多くのパソコン用ゲームや業務用ゲーム、そして家庭用ビデオゲームプラットフォームは、主にマウスやジョイスティックやタッチパッド、またはそれ以外の２次元方向入力デバイスによる２次元カーソル制御信号に応じて動作するようになっている。例えば、１人称シューティングゲームをプレイするための入力を、マウスとキーボードを組み合わせて行うことなどが一般的である。そのようなゲームの多くは、左右を見るため（または向きを変えるため）にマウスのＸ軸が利用され、上方を見たり下方を見たりするのにはＹ軸が利用される。
【０００７】
これらのゲームにおける武器の発砲の制御には、しばしばマウスの左ボタンが使用される。多くのビデオゲームそしてコンピュータゲームにおいては、第２ジョイスティックまたは他の制御手段が、例えば武器の指示位置の制御（すなわちオブジェクトターゲティング）などを含むゲームアクションの他の局面を制御するのに使用される。さらに他の制御手段は、武器の発砲やそれ以外の目的に使用される。
【０００８】
従来の業務用または家庭用ビデオゲームは、３Ｄ視点とオブジェクトや武器のターゲティングとをプレイヤが同時に制御するための、シングルまたはデュアルジョイスティック、プッシュボタン、十字スイッチなどを含む異なる様々な携帯型コントローラを提供してきたが、一部の新しいゲームプラットフォームは、ユーザインターフェースを合理化し簡素化している。例えば、任天堂Ｗｉｉ（登録商標）の家庭用ビデオゲームシステムは、携帯型ポインティングデバイスを提供しており、ユーザはこの携帯型デバイスをスクリーンに向けたりその他の方向に向けたりする。Ｗｉｉ（登録商標）のゲームシステムは、光学および／または加速度計センサを使用して、ユーザがポインティングデバイスで指し示している方向を自動的に検知でき、そしてその方向を、ビデオゲームプレイの局面を制御するための入力として利用する。このポインティングデバイスは、ディスプレイ上のカーソルなど（しかしこれに限らない）のオブジェクトの位置を制御するのに利用できる。また、カーソルの位置を敵に合わせることで、自動的にゲームキャラクタにその敵に向かって武器を向けさせることができる。また「発砲」ボタンを押すことで、ゲームキャラクタに敵に向かって発砲させることができる。さらに、ドライビングゲーム、フライトシミュレーションゲーム、アドベンチャーゲーム、ウェブ閲覧、パズルゲーム、文章入力など、その他幅広い用途に応用した場合の制御も可能である。
【０００９】
その他のビデオゲームプラットフォームでは、ゲームアクションを制御するのにタッチスクリーンを利用するものもある。例えばＮｉｎｔｅｎｄｏ  ＤＳ（登録商標）の携帯型ビデオゲームシステムなどがその例である。Ｎｉｎｔｅｎｄｏ  ＤＳ（登録商標）は、通常の十字スイッチや、親指もしくは他の指で操作するボタンなどに加えて、ディスプレイ上の指やタッチペンの位置によって作動するタッチスクリーンを備えている。一部のゲームにおいては、ゲームプレイアクションを制御するのにタッチペンや指の位置を利用する。例えばタッチペンで敵に触れることで、ゲームキャラクタに敵に向かって武器を向けさせるようなこともあり得る。ボタンを押したり、またいくつかのゲームにおいては、タッチペンで敵の画像に一定時間触れたりすることで、その敵に向かって武器を発砲することもでき得る。これ以外にも様々な形での応用が可能である。
【００１０】
なお、３次元グラフィックスにおいて視点を制御する技術については、特許文献１および特許文献２に開示されている。
【特許文献１】特開平７−１１６３４３号公報
【特許文献２】特開平９−３２５７５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このような簡素化されたユーザインターフェースは、多くの利点と高い柔軟性を持っているが、いくつかの課題もある。例えば、特定のプラットフォームの１人称視点ゲームに慣れたゲームプレイヤは、第１ジョイスティックでゲームアクションを制御して、第２ジョイスティックで視点を制御することに慣れてしまっている。ポインティングデバイスの数が一つであるプラットフォームでは、デュアルポインティングやジョイスティックによる制御が必ずしも、もしくは常に可能なわけではない。このようなプラットフォームにおいては、視点制御モードと、武器ターゲティングまたはそれ以外のゲームアクション制御モードとの間でどちらかを選択することが可能ではあるものの、ゲーム開発者たちはより可能な限りのリアリズムを追求している。人は現実世界において、自分の頭部を動かして周囲の異なる部分を見ると同時に、手にしている武器で狙いをつけるなどの物体操作をすることができる。このような現実世界で可能なことを、光学ポインタそして／または加速度計型センサのようなシングルポインティングデバイスの機械作用を通じて写実的に模倣することが望まれている。
【課題を解決するための手段】
【００１２】
本発明は、ユーザ入力の複雑さを最小限に抑えながら、ユーザが仮想カメラのパンニングやその他のゲームプレイアクションを、標準的なポインティング動作を通じて適切に制御することができる方法の非限定例を提供するものである。本発明の非限定例は、ゲームプレイヤキャラクタが行うターゲティングまたはその他のインタラクションと、３Ｄ視点方向との両方を、プレイヤが通常のカーソル動作、またはその他のポインティング動作や表示などを利用して適切に制御することを可能にするものである。ここで、３Ｄビデオゲームまたはその他の３Ｄコンピュータグラフィックス表示内の、３Ｄカメラ方向とゲームプレイにおけるターゲティングとの両方を、カーソル動作やポインティング動作によって制御するために、ある非限定実施例においては、表示領域が複数のゾーンまたは領域に分割されている。またある非限定実施例においては、「デッドゾーン」内のいずれかの場所でカーソルを動かすことで、３Ｄカメラアングルを変化させることなく、例えばビデオゲームキャラクタもしくは他のオブジェクトとのインタラクションを（例えば武器ターゲティングやそれ以外の効果のために）制御してもよい。カーソルを「デッドゾーン」から外に移動させた場合、そのカーソルの位置および／またはそのカーソルの位置変化に対応した方向へのパンニングなどの、予測と制御のしやすい変化が３Ｄカメラアングルに生じ、それと同時に、ゲームプレイにおいて用いられる武器等は、ターゲティングやそれ以外の目的のためにポインティング表示を継続的に利用することができる。
【００１３】
ある非限定実施例においては、ゲームプレイヤは、３Ｄ視点の変化方向および／または変化様態を制御するための単一のポインティング制御手段を利用することができる。例えばゲームプレイヤは、ディスプレイ上のカーソル位置に基づいて、３Ｄカメラのパンニングのスピードを制御することができる。またある非限定実施例においては、カーソルが第１ゾーンにある場合には３Ｄカメラは急激にパンし、カーソルが第２ゾーンにある場合には３Ｄカメラはゆっくりとパンする。
【００１４】
非限定の一例として、ある実施例においては、時間に基づいて変化するカメラアングル変化スピードを提供することが可能である。例えば、カーソルがディスプレイ上のおよび／または３Ｄ世界内の所定エリア内に位置しているのが初期期間の間は、仮想カメラアングルはゆっくりと変化し、カーソルがディスプレイ上のおよび／または３Ｄ世界内の当該所定エリア内に位置しているのがある時間閾値を越えた場合には、仮想カメラアングルが急激に変化するようにすることが可能である。必要に応じて複数のタイミング閾値を利用することもできる。
【００１５】
本発明の利点の限定されない例としては、以下が挙げられる。
・カメラの動きとは独立して画面上の照準を合わせられる。
・武器ターゲティングを行うか視点変更を行うかの選択をする必要がない。
・同じポインティング制御手段で、３Ｄ視点と武器によるターゲティングまたはその他のターゲティングとの両方を制御できる。
・ポインティング制御手段がターゲティングのみを制御し、３Ｄ視点に影響を与えることのないモードを設定することも可能である。
・３Ｄ視点のパンニングスピ−ドは、ユーザが画面上のどの位置にカーソルを配置したかで決定する。
・操作感度をカスタマイズできる（それによりユーザが視点変化／パンニングスピードをプログラムできる）。
・シングルジョイスティックもしくは他のポインティング表示手段を使用して、３Ｄ視点およびオブジェクトターゲティングを制御することができる。
【００１６】
このように本発明は、非限定の例として、パンニングの制御を行うべき領域に対応する第１領域と、パンニング制御を行わない領域に対応する第２領域とをディスプレイ上で事前に定義するステップ、前記ディスプレイ上において、少なくともユーザ入力に応じた位置にポインティングマークを表示するステップ、および、カーソルが第１領域内に配置される場合にのみ３次元視点のパンニングを行うステップを含む、コンピュータグラフィックス表示システムにおいて３次元視点パンニングを制御する方法を提供する。
【００１７】
第１領域は、少なくとも部分的に前期第２領域を取り囲むことがあり得る。
【００１８】
カーソルからディスプレイの中心点までの距離に少なくとも応じて、前記パンニングのスピードを制御することもあり得る。
【００１９】
カーソルが第１領域内に配置されている時間の長さに少なくともに基づいて、前記パンニングのスピードを制御することもあり得る。
【００２０】
第１領域を複数の仮想カメラ制御領域に分割し、カーソルが複数の仮想カメラ制御領域のうちのどの領域に配置されているかに少なくとも基づいて仮想カメラのパンニングのスピードを制御してもよい。
【００２１】
少なくとも第２領域にマスク画像を表示してもよい。
【００２２】
カーソルによって指し示されているオブジェクトに照準を定めるために、武器の位置を自動的にアニメーション化してもよい。つまり、上記方法において、カーソルの位置に応じて武器の向きが変化するアニメーションを表示するステップをさらに含むようにしてもよい。
【００２３】
パンニングを行うか否かがカーソルの位置によって制御されるのと同時に、カーソルの位置を追うために武器がアニメーション化されてもよい。つまり、上記方法において、パンニングを行うか否かがカーソルの位置によって制御されると同時に、カーソルの位置に応じて武器の向きが変化するアニメーションが表示されてもよい。
【００２４】
ディスプレイの中心などの基準位置に対するカーソルの位置に少なくとも基づいて、３次元パンニングの方向を制御してもよい。
【００２５】
本発明の非限定例はまた、複数の領域に分割された画像を表示する表示装置、前記表示装置上にカーソルを表示するカーソル制御装置、前記表示装置上のどの位置に前記カーソルが表示されるかを決定する、前記カーソル制御装置に接続されているユーザ入力装置、および前記複数の領域のうちのどの領域に前記カーソルが表示されているかに基づいて前記画像を少なくとも部分的に定義する、３次元視点のパンニングを選択的に行うパンニング制御装置、を備える、アニメーションを表示するシステムを提供する。
【００２６】
本発明の非限定例はさらに、３次元世界のモデルを少なくとも部分的に定義するデータ、表示領域を少なくとも第１および第２所定領域に分割する第１コードセグメント、ユーザ入力に応じて表示されるオブジェクトの位置を、少なくとも部分的に制御する第２コードセグメント、および前記オブジェクトが第１領域内に表示される度に選択的に３次元視点パンニングを起動し、そして前記オブジェクトが前記第１領域とは異なる第２領域内に表示される度に選択的に３次元視点パンニングを停止するように、仮想カメラの３次元視点パンニングを制御する第３コードセグメント、を記憶する記憶装置を提供する。
【００２７】
非限定実施例のこれらおよび他の特徴そして利点は、添付図面と照合して、以下の詳細な説明から一層明らかになるであろう。
【発明を実施するための最良の形態】
【００２８】
（ビデオゲームプラットフォーム例）
図１はゲーム機１００、テレビ１０２およびコントローラ１０７を含むゲームシステム１０の非限定例を示す図である。
【００２９】
ゲーム機１００は、自機のハウジング１１０内に形成されたスロット１０５に挿入される光ディスク１０４に格納されているゲームプログラムまたはその他のアプリケーションを実行する。ゲームプログラムまたはその他のアプリケーションを実行した結果は、ゲーム機１００にケーブル１０６で接続されているテレビ１０２の画面１０１に表示される。ゲームプログラムまたはその他のアプリケーションに関連する音声は、テレビ１０２のスピーカ１０９から出力される。図１においてはビデオゲームソフトウェアを格納するのに光ディスクを使用しているが、その代わりにまたはそれに加えて、ゲームプログラムまたはその他のアプリケーションは、半導体メモリ、光磁気メモリ、磁気メモリ等の記憶媒体に格納しても良いし、そして／またはネットワーク上から、またはその他の手段で、ダウンロードしても良い。
【００３０】
コントローラ１０７は、ゲームコントロールデータ等のデータをゲーム機１００に無線送信する。ゲームコントロールデータは、例えば複数の操作ボタンやキー、スティック等を有するコントローラ１０７の操作部を使用して生成してもよい。また、コントローラ１０７はゲーム機１００から送信されるデータを無線受信してもよい。コントローラ１０７とゲーム機１００の間での無線送信にはＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）などのいずれかの無線プロトコルを使用すれば良い。
【００３１】
後述のように、コントローラ１０７は、発光装置１０８ａと１０８ｂからの画像を撮像して処理する撮像情報演算部を含む。発光装置１０８ａと１０８ｂの間の中点は、テレビ１０２の画面１０１の垂直中心線と一致することが好ましい。発光装置１０８ａと１０８ｂからの画像は、コントローラ１０７が指し示す方向と画面１０１からコントローラ１０７までの距離を判定するのに利用することができる。非限定の一例として、発光装置１０８ａと１０８ｂを、２つのＬＥＤモジュール（以下、マーカと記載する）としてテレビ１０２のディスプレイ画面近傍に設置してもよい。マーカはそれぞれ赤外光を発し、コントローラ１０７の撮像情報演算部はＬＥＤモジュールからの出力光を検知して、そして上述したように、コントローラ１０７の指示方向と画面１０１からコントローラ１０７までの距離を判定する。以下の記述から明らかなように、本明細書中に記載されているオブジェクト攻撃シミュレーションシステムおよび方法の様々な実施例においては、上述のようなマーカの使用は必要としない。
【００３２】
図１においては、マーカ１０８ａと１０８ｂはテレビ１０２上に位置しているが、テレビ１０２の下方に位置しても良いし、それ以外の配置としてもよい。
【００３３】
図２のブロック図において、ゲーム機１００は、ビデオゲームプログラム（ただし必ずしもこれに限定されない）を含む様々なタイプのアプリケーションを実行するリスク（ＲＩＳＣ）セントラルプロセッシングユニット（ＣＰＵ）２０４を備える。ＣＰＵ２０４は、ブートＲＯＭ（図示せず）に記憶されている起動プログラムを実行し、これによってゲーム機１００を初期化し、そして光ディスクドライブ２０８に挿入された光ディスク１０４に記録されているアプリケーションを実行する。ゲーム機１００のハウジング１１０に設けられているユーザ操作可能なイジェクトボタン２１０は、光ディスクドライブ２０８から光ディスクを取り出すのに使用してもよい。
【００３４】
一実施例として、光ディスクドライブ２０８は、ＣＰＵ２０４とグラフィックスプロセッサー２１６での実行用に開発されたアプリケーションを格納する第１光ディスク（例えば第１サイズおよび／または第１データ構造等を持つ光ディスク）と元来その他のＣＰＵおよび／またはグラフィックスプロセッサーでの実行用に開発されたアプリケーションを格納する第２光ディスク（例えば第２サイズおよび／または第２データ構造を持つ光ディスク）の両方を収納する。例えば、第２光ディスクは元来Ｎｉｎｔｅｎｄｏ  ＧａｍｅＣｕｂｅ（登録商標）のプラットフォーム用に開発されたアプリケーションなどであってもよい。
【００３５】
ＣＰＵ２０４は、グラフィックスプロセッシングユニット（ＧＰＵ）２１６とそれに関連付けられたグラフィックスメモリ２２０、音声デジタル信号プロセッサ（ＤＳＰ）２１８、内部メインメモリ２２２および入出力（ＩＯ）プロセッサ２２４を含むシステムＬＳＩ２０２に接続されている。
【００３６】
システムＬＳＩ２０２のＩＯプロセッサ２２４は、一つ以上のＵＳＢポート２２６、一つ以上の標準メモリカードスロット（コネクタ）２２８、ＷｉＦｉモジュール２３０、フラッシュメモリ２３２および無線コントローラモジュール２４０に接続されている。
【００３７】
ＵＳＢポート２２６は、ゲーム機１００に様々な種類の外部機器を接続するのに利用される。それらの機器は、非限定例として、ゲームコントローラ、キーボード、外付けハードディスクドライブなどの記憶装置、プリンタ、デジタルカメラなどである。また、ＵＳＢポート２２６は有線ネットワーク（例えばＬＡＮ）接続にも利用してもよい。一実施例として、２つのＵＳＢポート２２６が設けられる。
【００３８】
標準メモリカードスロット（コネクタ）２２８は、業界標準型メモリカード（例えばＳＤメモリカード）を収納するのに適している。一実施例として、一つのメモリカードスロット２２８が設けられている。この業界標準型メモリカードは基本的にデータ記憶媒体として使用される。例えば、プレイヤがあるゲームのゲームデータをメモリカードに格納し、そのメモリカードを友人宅へ持参し、友人のゲーム機でそのゲームを楽しむこともできる。またメモリカードを、ゲーム機とパソコンやデジタルカメラなどの間でのデータ転送に使用してもよい。
【００３９】
ＷｉＦｉモジュール２３０は、ゲーム機１００の無線アクセスポイントへの接続を可能にする。無線アクセスポイントは、他の場所に居るプレイヤたちとの（音声チャット有りまたは無しの）オンラインゲーム、ウェブ閲覧、電子メール、ファイルのダウンロード（ゲームのダウンロードを含む）、そしてその他多くのオンライン活動のためのインターネット接続を提供する。いくつかの実施例においては、ＷｉＦｉモジュールを適切な装備の携帯型ゲーム機など他のゲーム機との通信に利用してもよい。ここではモジュール２３０を、ＩＥＥＥ８０２．１１規格群関連で一般的に使用される「ＷｉＦｉ」と記載する。しかしながら、ゲーム機１００はその代わりにまたはそれに加えて、他の無線標準規格に対応する無線モジュールを使用しても勿論良い。
【００４０】
非限定例として、フラッシュメモリ２３２は、ゲームセーブデータ、システムファイル、ゲーム機の内部アプリケーション、そしてダウンロードデータ（ゲームなど）を格納する。
【００４１】
無線コントローラモジュール２４０は、一つ以上のコントローラ１０７から無線送信される信号を受信し、受信した信号をＩＯプロセッサ２２４に送る。コントローラ１０７から無線コントローラモジュール２４０に送信される信号は、コントロ−ラ１０７自身によって生成された信号を含んでいても良いし、コントローラ１０７に接続されている他の機器によって生成された信号を含んでいても良い。一例として、一部のゲームにおいては、右手と左手で別々に行う入力を利用する場合もある。そのようなゲームの場合は、コントローラ１０７に別のコントローラ（図示せず）を接続し、コントローラ１０７が無線コントローラモジュール２４０に、自身が生成した信号および当該別のコントローラが生成した信号を送信することもあり得る。
【００４２】
無線コントローラモジュール２４０も、コントローラ１０７へ信号を無線送信してもよい。非限定例として、コントローラ１０７（および／またはコントローラ１０７に接続されている別のコントローラ）に振動回路を設け、振動回路を制御するための振動回路制御信号が、無線コントローラモジュール２４０を介して送信されるようにしてもよい。さらなる非限定例として、コントローラ１０７にスピーカ（図示せず）を設けて（または接続して）、スピーカから出力する音声信号を、無線コントローラモジュール２４０を介してコントロ−ラ１０７に無線送信してもよい。さらなる非限定例として、コントローラ１０７にディスプレイ装置（図示せず）を設けて（または接続して）、ディスプレイ装置から出力するディスプレイ信号を、無線コントローラモジュール２４０を介してコントロ−ラ１０７に無線送信してもよい。
【００４３】
専用メモリカードスロット２４６は、専用メモリカードを収納するためのものである。一実施例として、このようなスロットが２つ設けられている。専用メモリカードは、非標準コネクタや非標準メモリ構造などの非標準の特徴を持っている。例えば、一つ以上のメモリカードスロット２４６が、Ｎｉｎｔｅｎｄｏ  ＧａｍｅＣｕｂｅ（登録商標）のプラットフォーム用に開発されたメモリカードを収納するようにしてもよい。この場合、上記のようなスロットに挿入されたメモリカードは、Ｎｉｎｔｅｎｄｏ  ＧａｍｅＣｕｂｅ（登録商標）のプラットフォーム用に開発されたゲームからデータを転送することができる。一実施例として、メモリカードスロット２４６を、当該スロットに挿入されているメモリカードに対して読み取り専用アクセスの設定で使用し、メモリカードのデータのコピーや、スロット２２８に挿入されている標準メモリカードなど他の記憶媒体への当該データの転送について制限を設けるようにしてもよい。
【００４４】
一つ以上のコントローラコネクタ２４４は、各ゲームコントローラへの有線接続に適している。一実施例として、４つのコントローラコネクタが、Ｎｉｎｔｅｎｄｏ  ＧａｍｅＣｕｂｅ（登録商標）のプラットフォーム用ゲームコントローラへの有線接続用に設けられる。またコネクタ２４４はそれぞれ、無線ゲームコントローラからの信号を受信する無線受信機に接続されていてもよい。これらコネクタは、Ｎｉｎｔｅｎｄｏ  ＧａｍｅＣｕｂｅ（登録商標）のプラットフォーム用に開発されたゲームの光ディスクが光ディスクドライブ２０８に挿入された時に、プレイヤが特に当該プラットフォーム用のコントローラを使用できるようにするものである。
【００４５】
コネクタ２４８は、ゲーム機１００を例えば通常の壁コンセントからの直流電力に接続するために設けられる。電力は一つまたはそれ以上の数の電池からのものでも勿論よい。
【００４６】
ＧＰＵ２１６は、ＣＰＵ２０４からの指示に基づいて画像処理を行う。ＧＰＵ２１６は、例えば３次元（３Ｄ）グラフィックスを表示するのに必要な演算を行う回路を含む。ＧＰＵ２１６は、画像処理専用のグラフィックスメモリ２２０と内部メインメモリ２２２の一部を使用して画像処理を行う。ＧＰＵ２１６は、音声／画像コネクタ２１４によって、音声／画像ＩＣ（インターフェース）２１２を介してテレビ１０２へ出力する画像データを生成する。
【００４７】
音声ＤＳＰ２１８は、ＣＰＵ２０４からの指示に基づいて音声処理を行う。音声ＤＳＰ２１８によって生成された音声は、音声／画像コネクタ２１４によって、音声／画像ＩＣ２１２を介してテレビ１０２へ出力される。
【００４８】
外部メインメモリ２０６および内部メインメモリ２２２は、ＣＰＵ２０４が直接アクセス可能な記憶領域である。これらのメモリは例えば、ＣＰＵ２０４が光ディスク１０４から読み取るゲームプログラムなどのアプリケーションプログラムや様々なタイプのデータなどを記憶することができる。
【００４９】
ＲＯＭ／ＲＴＣ２３８はリアルタイムクロックを含み、外部からの電力が供給されなくても使用できるよう内部バッテリ（図示せず）で動作することが好ましい。ＲＯＭ／ＲＴＣ２３８はまた、ゲーム機で使用可能なブートＲＯＭとＳＲＡＭを含んでいてもよい。
【００５０】
電源ボタン２４２は、ゲーム機１００の電源を入れたり切ったりするのに使用する。一実施例として、電源ボタン２４２は、不意に誤って電源を切ってしまう可能性を減らすために、所定の時間（例えば１〜２秒）押し続けないとゲーム機の電源が切れないように設定される。リセットボタン２４３はゲーム機１００をリセット（再起動）するために使用される。
【００５１】
図３および図４においては、一例であるコントローラ１０７が、操作ボタン３０２ａ〜３０２ｈが設けられたハウジング３０１を備えている。ハウジング３０１は略直方体形状を有しており、プレイヤが片手で把持可能な大きさである。十字スイッチ３０２ａは、ハウジング３０１上面の中央前面側に設けられている。十字スイッチ３０２ａは十字型の４方向プッシュスイッチであり、矢印で示す方向（前後左右）に対応する操作部分が、十字の突出片にそれぞれ配置される。プレイヤは十字スイッチ３０２ａのいずれかの操作部分を押下することによって、前後左右いずれかの方向を選択する。例えばプレイヤは、十字スイッチ３０２ａを操作することによって、仮想ゲーム世界に登場するキャラクタを色々な方向に動かすことができる。
【００５２】
一例として十字スイッチ３０２ａの説明をしたが、他の態様の操作部を使用してもかまわない。非限定例として、リング状に４方向の操作部分を備えたプッシュスイッチとセンタスイッチとを含む複合スイッチを使用してもかまわない。またもう一つの非限定例として、自身の傾倒方向に応じて信号を出力する、ハウジング３０１上面から突出した傾倒可能なスティックを使用してもかまわない。さらにもう一つの非限定例として、自身のスライド方向に応じて信号を出力する、水平移動可能な円盤状部材を使用してもかまわない。さらにもう一つの非限定例として、タッチパッドを使用してもかまわない。さらにもう一つの非限定例として、プレイヤによって押下されたときに割り当てられた信号を出力する、少なくとも４つの方向（前後左右）にそれぞれ対応する分離して設けられたスイッチを使用してもかまわない。
【００５３】
ボタン（またはキー）３０２ｂ〜３０２ｇは、ハウジング３０１上面の十字スイッチ３０２ａより後面側に設けられる。ボタン３０２ｂ〜３０２ｇは、プレイヤによって押下されたときに割り当てられた信号を出力する操作部である。例えば、ボタン３０２ｂ〜３０２ｄは、Ｘボタン、Ｙボタン、およびＢボタンであり、ボタン３０２ｅ〜３０２ｇは、セレクトスイッチ、メニュースイッチ、およびスタートスイッチである。通常これらボタン３０２ｂ〜３０２ｇには、ゲーム機１００が実行するアプリケーションに応じてさまざまな機能が割り当てられる。図３に示した配置例では、ボタン３０２ｂ〜３０２ｄは、ハウジング３０１上面の中央前後方向に沿って直線的に配置されている。また、ボタン３０２ｅ〜３０２ｇは、ハウジング３０１上面の左右方向に沿ってボタン３０２ｂと３０２ｄの間に直線的に配置されている。ボタン３０２ｆは、コントローラ１０７を把持しているプレイヤが不意に誤って押下する可能性を減らすため、ハウジング３０１の上面に埋没していてもよい。
【００５４】
ハウジング３０１上面の十字スイッチ３０２ａより前面側に、ボタン３０２ｈが設けられる。ボタン３０２ｈは、遠隔からゲーム機１００の電源をオン／オフする電源スイッチである。ボタン３０２ｈも、プレイヤが不意に誤って押下する可能性を減らすため、ハウジング３０１の上面に埋没していてもよい。
【００５５】
また、ハウジング３０１上面のボタン３０２ｃより後面側に、複数の（例えば４つの）ＬＥＤ３０４が設けられる。コントローラ１０７は、ゲーム機１００で使用する他のコントローラと区別するために、コントローラ種別（番号）が割り当てられている。ＬＥＤ３０４は、割り当てられた上記コントローラ番号をプレイヤに視覚的に示すために用いてもよい。例えば、コントローラ１０７が無線コントローラモジュール２４０に信号を送信する際、上記コントローラ種別に応じて複数のＬＥＤのうち、種別に対応するＬＥＤが点灯する。
【００５６】
図３Ｂにおいて、ハウジング３０１下面には、凹部３０８が形成されている。凹部３０８は、プレイヤがコントローラ１０７を把持したときに当該プレイヤの人差し指や中指が位置するような場所に形成される。凹部３０８の後面側傾斜面３０８ａには、ボタン３０２ｉが設けられる。ボタン３０２ｉは、例えばＡボタンとして機能し、一例としてはシューティングゲームにおけるトリガスイッチとして用いられる。
【００５７】
図４において、コントローラのハウジング３０１の前面には、撮像素子３０５ａが設けられる。撮像素子３０５ａは、マーカ１０８ａと１０８ｂから受信した画像データを解析する、コントローラ１０７の撮像情報演算部の一部を構成する。撮像情報演算部３０５は、例えば最大２００フレーム／秒程度のサンプリング周期であるため、比較的高速なコントローラ１０７の動きでも追跡して解析することができる。なお、本明細書中に記載されているオブジェクト攻撃シミュレーションの技術は、撮像情報演算部３０５からの情報を利用しなくても実現することができるので、撮像情報演算部の動作の詳細な記述は省略する。
【００５８】
また、コントローラのハウジング３０１の後面には、コネクタ３０３が設けられている。コネクタ３０３は、機器をコントローラ１０７に接続するのに使用される。例えば、プレイヤが両手でのゲーム操作入力を利用してゲームを楽しむことができるように、コントローラ１０７と同様のまたは異なった構成の第２コントローラを、コネクタ３０３を通じてコントローラ１０７に接続するようにしてもよい。他のゲーム機のゲームコントローラ、また、キーボードやキーパッド、タッチパッドなどの入力装置、そしてスピーカやディスプレイなどの出力装置などの機器を、コネクタ３０３を介してコントローラ１０７に接続してもよい。
【００５９】
ここで、以下の説明を容易にするために、コントローラ１０７の座標システムを定義付ける。図３と図４に示すように、左手ＸＹＺ座標系がコントローラ１０７に対して定義付けられている。本座標系は勿論非限定例として記載されるものであり、本明細書に記載のシステムおよび方法は、他の座標系を使用しても同様に適用可能である。
【００６０】
図５のブロック図に示すように、コントローラ１０７は３軸直線加速度センサ５０７を含み、３軸直線加速度センサ５０７は、上下方向（図３〜４に示すＺ軸）、左右方向（図３〜４に示すＸ軸）、および前後方向（図３〜４に示すＹ軸）の３軸でそれぞれ直線加速度を検知する。なお、加速度センサ５０７としては、Ｙ軸とＺ軸のみでそれぞれ直線加速度を検出する２軸直線加速度計、またはＺ軸のみで直線加速度を検出する１軸直線加速度計が用いられてもかまわない。一般的に、加速度計の選択は（例えば３軸センサか２軸センサか）必要な制御信号の種類によって決められる。非限定例として、この３軸または２軸の直線加速度計は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ５０７は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式もしくは静電容量結合式であることが好ましい。しかしながら、既存の加速度計の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて３軸または２軸の直線加速度センサ５０７が提供されてもよい。
【００６１】
当業者には公知であるように、加速度センサ５０７に用いられるような直線加速度計は、加速度センサの持つ各軸に対応する直線に沿った加速度のみを検知することができる。つまり、加速度センサ５０７からの直接の出力は、その２軸または３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ５０７は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００６２】
しかしながら、加速度センサ５０７から出力される直線加速度信号に対して追加の処理を行うことによって、コントローラ１０７に関するさらなる情報を推測または算出（すなわち判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な直線加速度（重力）が検知されると、加速度センサ５０７からの直線加速度出力を用いて、傾斜角度と検知された直線加速度とを相関させることによって重力ベクトルに対する対象の傾きを測定することができる。このように、加速度センサ５０７をコントローラ１０７のマイクロコンピュータ５０２（または他のプロセッサ）と組み合わせて用いることによって、コントローラ１０７の傾き、姿勢または位置を測定することができる。同様に、加速度センサ５０７を備えるコントローラ１０７が、例えば以下で説明するようにユーザの手で動的に加速されて動かされる場合に、加速度センサ５０７によって生成される直線加速度信号を処理することによって、コントローラ１０７のさまざまな動きおよび／または位置を算出することができる。
【００６３】
他の実施例では、加速度センサ５０７は、信号をマイクロコンピュータ５０２に出力する前に内蔵の加速度計から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度（例えば、重力）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（または別の所望のパラメータ）に変換するものであってもよい。
【００６４】
図５を再び参照する。コントローラ１０７の撮像情報演算部３０５は、赤外線フィルタ５２８、レンズ５２９、撮像素子３０５ａ、および画像処理回路５３０を含んでいる。赤外線フィルタ５２８は、コントローラ１０７の前面に入射する光から赤外光のみを通過させる。レンズ５２９は、赤外線フィルタ５２８からの赤外光を集光して撮像素子３０５ａに収束させる。撮像素子３０５ａは、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像装置であり、レンズ５２９がマーカ１０８ａと１０８ｂから集光した赤外光を撮像する。したがって、撮像素子３０５ａは、赤外線フィルタ５２８を通過した赤外光だけを撮像して、それに基づいた画像データを生成する。この画像データは画像処理回路５３０で処理される。画像処理回路５３０は、画像データの高輝度領域を検出し、この検出に基づいて高輝度領域の検出位置座標および面積を表す処理結果データを通信部５０６へ出力する。この情報から、コントローラ１０７がどの方向を指し示しているか、また画面１０１に対してどれだけの距離にあるかが測定できる。
【００６５】
また、コントローラ１０７は振動回路５１２を備えていてもよい。振動回路５１２は振動モータやソレノイドなどであってもよい。コントローラ１０７は振動回路５１２を起動（例えばゲーム機１００からの信号に反応して）させることで振動し、その振動はコントローラ１０７を把持するプレイヤの手に伝わる。これにより、いわゆる振動対応ゲームが実現できる。
【００６６】
上述のように、加速度センサ５０７は、加速度をコントローラ１０７の３軸方向成分の形で、すなわちコントローラ１０７の上下方向（Ｚ軸方向）、左右方向（Ｘ軸方向）、および前後方向（Ｙ軸方向）の３軸方向成分の形で検知し出力する。加速度センサ５０７によって３軸方向成分として検知された加速度を表すデータは、通信部５０６へ出力される。この加速度センサ５０７から出力された加速度データに基づいて、コントローラ１０７の動作が判定できる。
【００６７】
通信部５０６は、マイクロコンピュータ５０２、メモリ５０３、無線モジュール５０４、およびアンテナ５０５を含んでいる。マイクロコンピュータ５０２は、処理の際にメモリ５０３を記憶領域として用いながら、データを無線送受信する無線モジュール５０４を制御する。マイクロコンピュータ５０２には、操作部３０２からの操作信号（例えば十字スイッチ、ボタンまたはキーデータ）、加速度センサ５０７からの３軸（Ｘ、Ｙ、Ｚ）方向の加速度信号、および撮像情報演算部３０５からの処理結果データを含むデータが供給される。マイクロコンピュータ５０２は、供給されたデータをゲーム機１００へ送信する送信データとして一時的にメモリ５０３に格納する。ここで、通信部５０６からゲーム機１００への無線送信は、所定の周期毎に行われる。ゲームの処理は１／６０秒（１６．７ｍｓ）を単位として行われることが一般的であるので、それよりも短い周期で無線送信を行うことが好ましい。例えば、ブルートゥース（登録商標）で構成される通信部の送信間隔は５ｍｓである。マイクロコンピュータ５０２は、送信タイミングが到来すると、メモリ５０３に格納されている送信データを一連の操作情報として無線モジュール５０４へ出力する。そして、無線モジュール５０４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、操作情報を、所定周波数を持つ搬送波信号としてアンテナ５０５から送信する。つまり、操作部３０２からの操作信号データ、加速度センサ５０７からのＸ軸、Ｙ軸およびＺ軸方向加速度データ、および撮像情報演算部３０５からの処理結果データがコントローラ１０７から送信される。ゲーム機１００は当該搬送波信号を受信し、それを復調や復号することによって操作情報（例えば操作信号データ、Ｘ軸、Ｙ軸そしてＺ軸方向加速度データ、および処理結果データ）を取得する。そしてゲーム機１００のＣＰＵ２０４は、取得したデータと現在実行中のアプリケーションとに基づいて、アプリケーション処理を行う。なお、Ｂｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて通信部５０６を構成する場合、コントローラ１０７は、ゲーム機１００以外のデバイスから無線送信されたデータを受信することもできる。
【００６８】
上述の非限定例のシステムは、当該ソフトウェアは、コントローラ１０７を使用したユーザ入力に反応して変形が進行していくオブジェクトを画面１０１上にインタラクティブに生成させるための、光ディスク１０４またはその他のメモリに格納されているソフトウェアを実行するのに使用できる。以下、そのようなディスプレイを生成するための、非限定例のソフトウェア制御技術を説明する。
【００６９】
（非限定ポインティング制御例）
図６Ａおよび図６Ｂは、上述のシステムによって生成されディスプレイ装置１０２上に表示されている、非限定例としてのゲーム画面例１０００を説明する図である。ゲーム画面例１０００は、３次元世界１００２（ここでは一つの窓と４面の壁を含むビルの内部）を示している。本非限定実施例においては、ディスプレイ装置１０２上に２次元投影される３次元世界１００２は、以下の３つの領域またはエリアに分けられる。
・最内側エリア１００４
・最内側エリア１００４を取り囲む第１仮想カメラパンニング制御エリア１００６
・仮想カメラパンニング制御エリア１００６を取り囲む追加仮想カメラパンニング制御エリア１００８
【００７０】
限定されない一例として、これら３つの領域またはエリア１００４、１００６および１００８は、ディスプレイ画面１０１の２次元表面に対して定められる。しかしながら他の実施例では、これらの領域またはエリアは、３次元世界１００２内部の３次元領域または３次元空間として定められることもありうる。
【００７１】
本非限定の実施例においては、カーソルもディスプレイ装置１０２に表示されている。当該カーソル１０１０が表示される位置は、上述の携帯型コントローラ１０７の指示方向によって制御される。ゲームプレイヤが、携帯型コントローラ１０７を動かして違う方向を指し示すたびに、カーソル１０１０の位置はその動きに合わせてディスプレイ装置１０２上の指し示された位置に移動する。また他の非限定実施例においては、２次元アナログもしくはデジタルジョイスティック、マウス、トラックボール、タッチスクリーン上のタッチペンや指の位置、またはその他いずれか使い勝手のよい入力手段やその他手段によってカーソル位置を制御することもありうる。
【００７２】
なお図６Ａおよび図６Ｂにおいては領域１００４、１００６そして１００８の輪郭は実線で示されているが、ゲームプレイヤやその他ユーザが実際に目にするディスプレイにおいては、各領域の範囲や境界線は示されていても良いし示されてなくてもよい。いくつかの非限定の実施例においては、視覚的刺激をユーザに与え、それによりユーザが、カーソル１０１０が現在どの領域に位置しているのか分かるようにするのが望ましいかもしれない。また、その他の非限定実施例においてはこのような視覚的刺激を与えることはしない。そのような実施例では、聴覚的、またはその他の刺激が与えられすることもあり得るし、以下に説明するパンニング制御以外の適用例においてはそのような刺激は必要でない場合もあり得る。
【００７３】
図６Ａおよび図６Ｂに示す非限定の実施例においては、現在カーソル１０１０は、携帯型ポインティングデバイスによって最内側領域１００４に位置している。本非限定実施例においては、カーソル１０１０が最内側領域１００４に位置している場合は、仮想カメラ視点は変化しない。ある非限定実施例においては、カーソル１０１０の位置を最内側領域１００４内で動かすことによって、一貫して一定の仮想カメラ視点が維持される。これはつまり、３次元世界１００２内の様々なオブジェクトの投影が変わらないということであり、そしてそれと同様にどのオブジェクトが見えているかも変わらないということである。すなわち、カーソル１０１０が最内側領域１００４にある時には、カーソルを動かすことによってゲームプレイのその他の局面、例えば武器の照準方向の制御、を行うことができる。例えば１人称シューティングゲームにおいて、領域１００４内でカーソル１０１０を上に向かって動かすことにより、武器がカーソルに向かって上方に傾くようにしてもよい。同様に、カーソル位置を左に動かすことで、武器の方向が左に動きカーソル等を追うようにしてもよい。
【００７４】
本非限定実施例においては、ユーザが携帯型コントローラの指示位置を変えてカーソルを仮想カメラ制御エリア１００６に動かしたときに、カーソル位置が仮想カメラの視点の変化に影響を与え始める。ある非限定の実施例においては、ユーザがカーソル１０１０を最内側エリア１００４から仮想カメラ制御エリア１００６に動かした場合、描かれている武器はカーソル位置に照準が合ったままでも良いが、それと同時に仮想カメラの視点がカーソル位置に示された方向にパンし始めても良い。したがって、例えばもしユーザがカーソルを右に動かして領域１００６に移動させた場合、システムは、３次元世界１００２における今まで表示していた部分の右手の異なる部分が現れるように、仮想カメラ視点のパンニングを開始してもよい。
【００７５】
ある非限定の実施例においては、パンニングを行うスピードはあらかじめプログラムされており、ユーザがカーソル１０１０を動かすスピードに依らなくても良い。つまり本非限定実施例においては、３次元パンニング（上下左右への、また場合によっては、スクリーン中央もしくはその他任意の地点に対する現在のカーソル位置に基づいて定められたベクトルに沿ってのパンニング）を起動し、そしてその方向を制御するのは、カーソル１０１０の位置であって、その位置変化のスピードではない。本非限定実施例においては、ユーザがスクリーン中央部に対して右側にある仮想カメラ制御エリア１００６の一部分へとカーソル１０１０を移動させる度に、仮想カメラの視点が所定のスピードで右の方へパンし始める。カーソル１０１０が仮想カメラ制御エリア１００６内に留まっている間は、そのようなパンニングが継続される（例えば３次元世界１００２の３６０度回転）。同様にして、ユーザがスクリーン中央上部にある仮想カメラ制御エリア１００６の一部分にカーソル１０１０を配置する度に、システムは仮想カメラの視点を上方にパンし始める。また、左方および下方へのパンニングを行うという効果は、カーソル１０１０をそれぞれ仮想カメラ制御エリア１００６の左側の部分および下側の部分に移動させることで実現できる。
【００７６】
ある非限定実施例による模擬効果は、１人称シューター（プレイヤキャラクタ）が頭もしくは身体をカーソル位置の方向に向ける様子をシミュレーションするという効果である。そのような実施例においては、１人称シューターが身体を左もしくは右に向ける様子をシミュレーションするために、水平方向への３６０度回転を（右へもしくは左へ）行うことが望ましいであろう。そのような非限定実施例においては、現実世界において人が首を曲げてほぼ真上そしてほぼ真下を見ることができる（それ以上の範囲は無理だが）のと同じように、１人称シューターの頭部の上方および下方への可動範囲を制限してもよい。その他の非限定実施例において、例えば６自由度で自由に動けるスペースポッドの動きをシミュレーションする場合においては、パンニング角度の範囲を全方向に３６０度とする場合もありうるし、任意の方向への回転としたり、もしくは他の応用例においては、その他の制限を設けることもありうる。
【００７７】
ある非限定実施例においては、仮想カメラ制御エリアを一つだけとすることもあり、それを例えば最内側領域１００４の外側にあるのいずれかの位置であると定義づけることもあり得る。しかしながら、図６Ａおよび図６Ｂにおいては１００６と１００８の二つの異なる仮想カメラパンニング制御エリアを示している。追加仮想カメラパンニング制御エリア１００８は、内側の仮想カメラ制御エリア１００６を取り囲んでいる。図６Ａおよび図６Ｂに示す非限定実施例において、異なる二つの仮想カメラ制御エリア１００６と１００８では、仮想カメラがそれぞれ異なるスピードでパンするように制御されている。例えばある非限定実施例においては、カーソル１０１０を内側仮想カメラパンニング制御エリア１００６に配置することによって、仮想カメラを比較的遅いスピードでパンさせ、カーソル１０１０をエリア１００６を取り囲む外側仮想カメラパンニング制御エリア１００８に配置することによって、仮想カメラの視点を速いスピードでパンさせても良い。仮想カメラパンニング制御エリアもしくは領域は、任意のサイズと形で、１からＮ（Ｎは整数）個までのいずれかの数で構成できる。仮想カメラ制御エリアはディスプレイに対して対称であっても非対称であってもよい。例えばいくつかの非限定実施例において、仮想カメラ制御エリアは、ディスプレイ中央に対して左右にある部分がより幅広く、もしくは面積がより大きく、そしてディスプレイの上部と下部にある部分のサイズがずっと小さくてもよいし（場合によっては存在していなくてもよい）、その逆でもよい。いかなる所望の構成も可能である。
【００７８】
ある非限定の実施例においては、ユーザが「ビューロックモード」を起動する（例えばＺボタンなどを押下する）ことによって、仮想カメラパンニング制御エリア１００６と１００８の効果を無効にすることができるようなオプションを持てるようにしてもよい。そのような非限定実施例の「ビューロックモード」は、ユーザが仮想カメラのアングルを変えてしまうことなく、カーソル１０１０をスクリーン上で何処にでも動かすことができるのを可能にするものである。その他の非限定実施例においては、カーソル１０１０が仮想カメラパンニング制御領域内に位置しているときに自動的にパンニングを提供する仮想カメラパンニング制御を起動するためには、ユーザはボタンを押下するか、もしくはその他の制御手段を作動させなければならない場合もあり得る。
【００７９】
上述の効果において、仮想カメラは、仮にカーソルが仮想カメラ制御領域１００６と１００８内で静止していてもパンニングを継続する。本願の非限定例である携帯型コントローラを使用する際には、コントローラの３６０度の物理的回転を必ずしも伴わない場合がある（例えば非限定例として、コントローラが通常ディスプレイ装置近傍に位置しているセンサ周辺に向けて使用される場合もあるため）という点を考慮すると、仮想カメラの３６０度パンニングを実現するために、ユーザが携帯型コントローラを物理的に約３６０度回転させる必要がない場合もある。そのような非限定実施例において全てのユーザがしなければならないのは、仮想カメラ制御領域１００６と１００８内で、カーソル１０１０を、ディスプレイの中心からカメラをパンしたい方向に向かってずれた位置に配置することである。そのような実施例において本システムは、ユーザにいかなる他の追加的動作もさせることなく、所望の方向に自動的に仮想カメラパンニングを行う。
【００８０】
本非限定実施例においては、ユーザは仮想カメラがパンするスピードを、ディスプレイ中央からカーソルまでの距離を特定することによって制御することができる。図６Ａおよび図６Ｂに示す非限定の実施例においては、パンニングのスピードは「速い」と「遅い」の２種類がある。ユーザがカーソル１０１０をディスプレイの端部近傍に配置した場合、仮想カメラは素早くパンする。そしてユーザがカーソル１０１０を、ディスプレイの端部にそれほど近くない内側仮想カメラ制御領域１００６に配置した場合は、仮想カメラはパンニングを続けるものの、スピードは遅くなる。そしてカーソル１０１０を最内側領域１００４に配置した場合、パンニングは完全に止まる。このような設定にすることで、ユーザは１人称シューティングゲームやその他の１人称ゲームにおいて、内側仮想カメラ制御領域１００６によって提供される精巧なパンニング制御を利用して、敵に向かって非常に素早く振り向く動きをシミュレーションしたり、自身の回転方向を細かく調整したりすることができるというオプションを得ることができる。
【００８１】
その他の非限定実施例においては、ディスプレイ中央もしくはディスプレイの端からカーソル１０１０までの距離、またはどれだけの距離をユーザがカーソルを移動させたか、またはどのくらいの速度でユーザがカーソルを移動させたか、などに基づいて可変のパンニング速度を算出することもあり得る。
【００８２】
さらに他の非限定実施例においては、仮想カメラがパンするスピードを、カーソル１０１０が仮想カメラ制御領域内にどのくらいの間留まっているかに基づいて決定しても良い。例えばある非限定実施例においては、カーソル１０１０が初めて仮想カメラ制御領域１００６に移動したときに、比較的遅めのスピードのパンニングが始まる。そして、カーソルが仮想カメラ制御領域１００６に長く留まるほど、スピードの速いパンニングが行われる。ある非限定の実施例においては、仮想カメラのパンニングには２種類のスピード（速いと遅い）のみがあり、時間閾値（例えば２秒）を、カーソル１０１０が仮想カメラ制御領域に留まっている時間との比較に使う場合もある。その他の非限定実施例では、カーソルが仮想カメラ制御領域に留まっている時間と、仮想カメラのパンニングの速度との間に、正比例関係ができるように計算が行われることもあり得る。
【００８３】
本明細書における「パンニング」は、三脚の上に乗せたヘッドが回転する実際のカメラのそれと類似したものであることを意図している。三脚に乗せた映画用カメラを現実世界で使用する場合、カメラの方向を左右に動かすことができ、またカメラの方向を上方にそして下方に調整することができる。つまり、本明細書における「パンニング」とは、仮想空間において仮想カメラの向きを変える（仮想カメラを回転させる）ことである。３Ｄ透視射影または直交射影のための視点を生成する際に、３Ｄ視点のパンニングがマトリックス変換を単に使用することで実現できることは、当業者には周知である。これに関しては、フォーリー他（Ｆｏｌｅｙ  ｅｔ  ａｌ）著、「コンピュータグラフィックスプリンシプルズアンドプラクティス（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｐｒｉｎｃｉｐｌｅｓ  ＡＮＤ  Ｐｒａｃｔｉｃｅ）」、第２版、アディソンウェズリー（Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ）社、１９９０年、セクション６．２、ｐ．２３７−２５２等を参照するとよい。このようなパンニングや他の仮想カメラ制御の効果は周知であり、映画撮影、アニメーション、ダンスシミュレーション、３次元視覚化、そして他の様々な場面において広く利用されている。これに関しては、米国出願第６３２５７１７号明細書等を参照するとよい。
【００８４】
本非限定実施例においては、ユーザがカーソル１０１０を動かすスピードに基づいてパンニングのスピードを制御するようなことは通常ないが、他の非限定実施例においては、ユーザがカーソルを動かすスピードを、パンニングのスピードに影響を与えたり、パンニングのスピードを決定したりするための入力として利用することもありうる。さらに本非限定の実施例においては、どのようなパンニング効果が期待できるかということをユーザに示すためにカーソルの表示が使われているが、他の実施例においては、カーソル以外のオブジェクトを表示する場合や、オブジェクトを何も表示せずに、ユーザがどの方向または位置を指し示しているのか自分で分かっている（例えば携帯型ポインティングデバイスの物理的位置に基づいて）ということに依存する場合や、もしくは音声を利用したり、触覚または視覚フィードバックを利用したりすることもあり得る。
【００８５】
ある非限定実施例においては、ゲームオブジェクトを指し示したりまたは視線方向を変えたりするために、カーソル１０１０を、ＤＰＤ光学ポインティングデバイス１０７を介して制御する。この場合、カーソル１０１０がゲームディスプレイ内の「エリアＩ」（１００４）にあるときにはスクローリングは発生しない、つまり、ユーザは自由にそして簡単にディスプレイ中央部に存在するオブジェクトを指し示すことができる。また、カーソル１０１０がゲームディスプレイ内の「エリアＩＩ」にあるときは、ゆっくりとしたスクローリングが発生する、つまり、元々の視点の背後にある壁を含むゲーム空間を見回すことができる。さらに、カーソル１０１０がゲームディスプレイ内の「エリアＩＩＩ」（１００８）にあるときは、速いスクローリングが発生する。
【００８６】
図７Ａ〜９Ｂは上述の非限定実施例をさらに説明する図である。カーソルが内側領域１００４にある場合、仮想カメラ１０５２の視線方向を変えることなく、仮想武器１０５０で狙いをつけてカーソル位置を追うことができる。この場合の非限定例として、ユーザは仮想カメラ１０５２の位置を変えることなく、内側領域１００４内でカーソル１０１０を自由にどこへでも動かすことができる。これは図７Ａと７Ｂにおいて示されている。したがって例えば図７Ｃに表されているように、ユーザがカーソル１０１０を少し左に動かしただけでカーソルが内側領域１００４に留まっている場合、仮想カメラ１０５２の方向は変わらない（図７Ｂに表されている通り）。
【００８７】
図８Ａおよび図８Ｂに示されているように、ユーザが内側領域１００４から内側カーソル制御領域１００６にカーソル１０１０を移動させた場合、システムは自動的に仮想カメラ１０５２の制御を始めて、カーソル１０１０の位置に対応する方向にゆっくりとパンさせる。
【００８８】
図９Ａと９Ｂに示されているように、ユーザが内側カーソル制御領域１００６から、それを取り囲む外側カーソル制御領域１００８へカーソル１０１０を移動させた場合、システムは仮想カメラ１０５２がカーソル１０１０の位置に対応する方向にパンするスピードを上げる。
【００８９】
上述のように、パンニング制御領域は、どのようなサイズや形状、そして構成であっても良い。図１０は別の非限定実施例を示している。ここでは、ディスプレイの上方部分に仮想カメラパンニング制御領域１０１６があり、それを取り囲む仮想カメラパンニング制御領域１０１４がディスプレイのほぼ上半面に位置し、そしてディスプレイの残りの部分を領域１０１２が占めている。この別の非限定実施例においては、カーソル１０１０の位置が変化したときに、エリア１０１２、１０１４および１０１６の位置およびサイズもカーソルの動きに従って変化する。この別の非限定実施例では、カーソル１０１０がディスプレイ範囲より上に存在するとき、エリア１０１６および１０１４もディスプレイ範囲より上に移動して、そのサイズが縮小する。この特徴により、３Ｄゲームの制御が容易で快適なものとなる。ユーザが射撃の際にディスプレイの上端エリアに表示されている移動標的を指し示したいときに、ユーザは例えばディスプレイの上部を指し示す。しかしながら、もしエリア１０１６が図６Ａおよび図６Ｂに示したのと同じ状態である場合は、ゲーム表示画像がすばやく向きを変えてしまい、標的を正確に捉えることが困難になりうる。この別の非限定実施例においては、各エリア１０１６、１０１４および１０１２のサイズおよび範囲はカーソル位置によって動的に変化し、それによりユーザは、いかなる標的もスムーズなパンニングと快適な制御によって指し示すことができる。
【００９０】
（非限定ソフトウェア制御例）
図１１は、光ディスクなどの記憶装置に格納されており、図１〜５に関連付けて説明した上記システム上で動作して上述のパンニング機能を提供する、ゲームまたは他のソフトウェアの非限定実施例のフローチャートである。ここに示す例においては、ソフトウェアはハードウェアを初期化し（ブロック１１０２）、そして３次元世界のモデルを生成し、当該モデルを読み出す（ブロック１１０４）。そしてソフトウェアは初期仮想カメラ視点を設定し（ブロック１１０６）、３Ｄ世界を当該初期仮想カメラ視点で表示することで（ブロック１１０８）、図６や図７のような画面を表示する。そして、本非限定実施例では、光学ポインティング入力または他の入力を取得し（ブロック１１１０）、当該ポインティング入力を処理し（ブロック１１１２）、それにより表示画像をアニメーション化する。このとき、必要であれば、仮想カメラの視点を変更する（ブロック１１１２）。そしてシステムは、リアルタイムでインタラクティブなアニメーション効果を生むために、画面表示を適当な頻度で更新する（ブロック１１１４）。その後、ブロック１１１２〜１１１４の処理が繰り返される。
【００９１】
図１２は、非限定のプロセスポインタ入力ルーチン例１１１２を示す。本非限定実施例において、システムはポインタ位置が変化したかどうかを判定する（ブロック１１１６）。もしポインタ位置が変化していない場合、ブロック１１１２の処理を終了してもよい（ブロック１１３０）。もしポインタ位置が変化している場合は（判定ブロック１１１６でＹｅｓ）、システムは（カーソルを使用している場合は）カーソル１０１０の位置を動かしてもよい（ブロック１１１８）。そして、システムは適切な動作をするために、カーソル位置をディスプレイ上の所定の各領域と比較する機能１１１９を作動または実行してもよい。図１２に示す本非限定実施例においては、システムは新たなポインタ位置が上述の内側ゾーン１００４内にあるかどうかを判定する（ブロック１１２０）。もしそうである場合（判定ブロック１１２０でＹｅｓ）、システムは武器の画像をアニメーション化し、仮想カメラの視点を変えることなくポインタ位置を追ってもよい（ブロック１１２２）。つまり、カーソルの位置に応じて武器の向きが変化するようにゲーム画像を生成し、アニメーションとして表示するようにしてもよい。ブロック１１２２の後、プロセスポインタ入力ルーチン１１１２は終了する。一方、もしシステムが、新たなポインタ位置が内側ゾーン１００４に無いと判定した場合、システムは当該新たなポインタ位置が外側ゾーン１００６および１００８にあるかどうかを判定してもよい（判定ブロック１１２４）。もし新たなカーソル位置１０１０が外側ゾーン（エリア１００６および１００８）にある場合、システムは仮想カメラを当該新たなカーソル位置１０１０に対応する方向に（カーソル位置と同じ方向に）、そしてカーソル１０１０の正確な現在位置に基づいていてもよい所定のスピードで、パンしてもよい（ブロック１１２６）。いくつかの非限定実施例においては、ポインティングデバイスがいずれの領域にも向いていない方向を指し示している場合もあり得る。そのような場合は、それに対して適切な動作が行われることもあり得る（ブロック１１２８）。ブロック１１２６または１１２８の後、プロセスポインタ入力ルーチン１１１２は終了する。
【００９２】
図１３は、異なる二つの仮想カメラパンニングスピードを持つ、異なる二つの仮想カメラ制御領域１００６と１００８を提供する機能１１１９に関する別の非限定実施例を示している。この非限定実施例においては、図１２に示すブロック１１１８の次に、図１２に示すブロック１１２０と同様の判定処理が実行される（ブロック１１２０’）。ブロック１１２０’の判定結果が肯定の場合、図１２に示すブロック１１２２と同様の処理が実行される（ブロック１１２２’）。一方、ブロック１１２０’の判定結果が否定の場合、新たなカーソル位置が内側仮想カメラ制御ゾーン内にあるか否かが判定される（判定ブロック１１３２）。新たなカーソル位置が内側仮想カメラ制御ゾーン内にある場合（判定ブロック１１３２でＹｅｓ）、システムは仮想カメラの視点を当該新たなカーソル位置の方向に徐々に変えていく（パンする）（ブロック１１３４）。それに対して、新たなカーソル位置が外側仮想カメラ制御ゾーン１００８にある場合（判定ブロック１１３６でＹｅｓ）は、システムは仮想カメラの視点を当該新たなカーソル位置の方向に急激に変える（パンする）（ブロック１１３８）。つまり、ブロック１１３８においては、ブロック１１３４よりも速いスピードでパンニングが行われる。なお、いくつかの非限定実施例においては、ポインティングデバイスがいずれの領域にも向いていない方向を指し示している場合もあり得る（判定ブロック１１３６でＮｏ）。そのような場合は、それに対して適切な動作が行われることもあり得る（ブロック１１４０）。なお、ブロック１１２２’，１１３４，１１３８，または１１４０の後、プロセスポインタ入力ルーチン１１１２は終了する。
【００９３】
図１４は、パンニングのスピード制御に時間を利用する、さらに別の非限定実施例を示している。本非限定実施例においては、図１２に示すブロック１１１８の次に、ポインタが仮想制御ゾーンにあるか否かが判定される（判定ブロック１１４２）。ポインタが仮想制御ゾーンにある場合（判定ブロック１１４２でＹｅｓ）、システムはタイマーをスタート（インクリメント）する（ブロック１１４４）。ある非限定実施例においては、もしタイマ−が特定の閾値よりも小さい値の時は（判定ブロック１１４６）、システムは仮想カメラの視点をカーソルの方向に徐々に変えていく（パンする）（ブロック１１４８）。もしタイマーの値が閾値よりも大きい場合は、つまりカーソル位置が仮想カメラパンニング制御ゾーンに当該時間閾値よりも長い間留まっている場合は、システムは仮想カメラの視点をカーソルの現在位置の方向に急激に変更する（ブロック１１５０）。つまり、ブロック１１５０においては、ブロック１１４８よりも速いスピードでパンニングが行われる。なお、ポインタが仮想制御ゾーンにない場合（判定ブロック１１４２でＮｏ）、図１２に示すブロック１１２２と同様の処理が実行される。当該処理、または、ブロック１１４８もしくは１１５０の後、プロセスポインタ入力ルーチン１１１２は終了する。
【００９４】
（ゲームディスプレイ例）
図１５Ａ、１５Ｂおよび１５Ｃは、本明細書で記載している技術を利用した、実際のビデオゲームのスクリーンショット例である。この非限定実施例において実行される１人称シューティングゲームでは、ディスプレイ上にその画像が現れるバイザーをキャラクタは被っている。このバイザーは、カーソルが仮想カメラのパンニングを誘発しない最内側領域１００４の輪郭を大まかに表したものでもよい。また、仮想カメラパンニング制御領域１００６を、バイザー視界領域を取り囲むエリアと等しくすることにより、１人称シューターキャラクタがバイザー領域内に現れている敵を視認して撃つために自身の頭部の向きを変えたり身体を回転させたりする必要がなくなり、そしてこれが現実感覚を生む。この非限定実施例においては、ユーザがカーソルをバイザー領域外に移動させるたびに、仮想カメラは、カーソル位置のディスプレイ中央に対するずれに対応した方向へパンニングを始める。さらに、カーソル位置がディスプレイ画面の端に近づくほど、速いパンニングが行われる。本非限定実施例においては、ユーザが現実世界で自分の頭の向きを変えたり、上を向いたり、下を向いたり、もしくは自分の身体の向きを変えたりする事で見ることのできるであろう範囲をシミュレートするために、水平パンニングは３６０度に渡って行われるが、垂直パンニングは１８０度以内の範囲でしか行われない。
【００９５】
本発明は、本明細書において、非限定実施例に関連付けて記載されているが、本発明はこれに限定されるものではない。例えば本発明は上述のように、３Ｄ仮想カメラパンニングに関連付けて記載されているが、その代わりに２Ｄもしくは３Ｄ視点制御手段を用いることもあり得る。また、非限定実施例で提供されているのは、家庭用ビデオゲーム機器用の１人称シューティングゲームであるが、どのようなタイプのゲームを実行してもよいし、いかなるタイプの図形表示ディスプレイや、仮想現実ディスプレイ、またそれ以外のディスプレイを提供してもよい。そしてそのために、いかなるタイプのコンピュータグラフィックスを用いてもよいし、別のコンピュータプラットフォームを使用してもよい。本発明は請求項によって定義づけられることを意図しており、本明細書中に詳細に記述されているか否かに関わらず、本発明に相当する同等の構成全てを網羅するものとする。
【図面の簡単な説明】
【００９６】
【図１】ゲームプログラムを実行する家庭用ビデオゲーム機の形態をした、非限定例であるインタラクティブコンピュータグラフィックスシステムの外観例を示す図
【図２】ゲーム機の内部構成を示すブロック図
【図３Ａ】図１に示すビデオゲームシステム用の、非限定例である携帯型コントローラを示す図
【図３Ｂ】図１に示すビデオゲームシステム用の、非限定例である携帯型コントローラを示す図
【図４】図１に示すビデオゲームシステム用の、非限定例である携帯型コントローラを示す図
【図５】携帯型コントローラの非限定実施例を示すブロック図
【図６Ａ】カメラパンニング制御領域を示す、非限定例であるスクリーンディスプレイの概略図
【図６Ｂ】非限定実施例における、異なるパンニング制御領域にそれぞれカーソルを移動させた場合に提供される、異なるそれぞれの効果の例を示す図
【図７Ａ】カーソルのポジション例と、それに関連する仮想カメラ視野の例を示す図
【図７Ｂ】カーソルのポジション例と、それに関連する仮想カメラ視野の例を示す図
【図７Ｃ】カーソルのポジション例と、それに関連する仮想カメラ視野の例を示す図
【図７Ｄ】カーソルのポジション例と、それに関連する仮想カメラ視野の例を示す図
【図８Ａ】カメラの遅いパンニングを開始させるカーソル位置の例を示す図
【図８Ｂ】カメラの遅いパンニングを開始させるカーソル位置の例を示す図
【図９Ａ】カメラの急激なパンニングを開始させるカーソル位置の例を示す図
【図９Ｂ】カメラの急激なパンニングを開始させるカーソル位置の例を示す図
【図１０】カメラパンニング領域の別の非限定配置例を示す図
【図１１】非限定例であるフローチャート
【図１２】非限定例であるフローチャート
【図１３】非限定例であるフローチャート
【図１４】非限定例であるフローチャート
【図１５Ａ】非限定である、ビデオゲームのスクリーンディスプレイ例を示す図
【図１５Ｂ】非限定である、ビデオゲームのスクリーンディスプレイ例を示す図
【図１５Ｃ】非限定である、ビデオゲームのスクリーンディスプレイ例を示す図
【符号の説明】
【００９７】
１０      ゲームシステム
１００    ゲーム機
１０２    テレビ
１０４    光ディスク
１０７    コントローラ
２０４    ＣＰＵ
１００４  最内側エリア
１００６  第１仮想カメラパンニング制御エリア
１００８  第２仮想カメラパンニング制御エリア
１０１０  カーソル
【図１】
0005669336.tif 000002
【図２】
0005669336.tif 000003
【図３Ａ】
0005669336.tif 000004
【図３Ｂ】
0005669336.tif 000005
【図４】
0005669336.tif 000006
【図５】
0005669336.tif 000007
【図６Ａ】
0005669336.tif 000008
【図６Ｂ】
0005669336.tif 000009
【図７Ａ】
0005669336.tif 000010
【図７Ｂ】
0005669336.tif 000011
【図７Ｃ】
0005669336.tif 000012
【図７Ｄ】
0005669336.tif 000013
【図８Ａ】
0005669336.tif 000014
【図８Ｂ】
0005669336.tif 000015
【図９Ａ】
0005669336.tif 000016
【図９Ｂ】
0005669336.tif 000017
【図１０】
0005669336.tif 000018
【図１１】
0005669336.tif 000019
【図１２】
0005669336.tif 000020
【図１３】
0005669336.tif 000021
【図１４】
0005669336.tif 000022
【図１５Ａ】
0005669336.tif 000023
【図１５Ｂ】
0005669336.tif 000024
【図１５Ｃ】
0005669336.tif 000025