JP4413911B2 - ゲーム装置、ゲーム処理方法、ならびに、プログラム - Google Patents

ゲーム装置、ゲーム処理方法、ならびに、プログラム Download PDF

Info

Publication number
JP4413911B2
JP4413911B2 JP2006299443A JP2006299443A JP4413911B2 JP 4413911 B2 JP4413911 B2 JP 4413911B2 JP 2006299443 A JP2006299443 A JP 2006299443A JP 2006299443 A JP2006299443 A JP 2006299443A JP 4413911 B2 JP4413911 B2 JP 4413911B2
Authority
JP
Japan
Prior art keywords
target object
posture
orientation
surrounding
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006299443A
Other languages
English (en)
Other versions
JP2008113825A (ja
Inventor
健 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2006299443A priority Critical patent/JP4413911B2/ja
Publication of JP2008113825A publication Critical patent/JP2008113825A/ja
Application granted granted Critical
Publication of JP4413911B2 publication Critical patent/JP4413911B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想空間内に配置されるオブジェクトの位置や姿勢をスムーズな動きで制御するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
三次元仮想空間内における多くのゲームでは、仮想空間内に存在するキャラクタオブジェクト(以下、単に「オブジェクト」と呼ぶ)を移動させる場合、仮想的な重力等の引力、反発力、摩擦力などを考慮してオブジェクトの姿勢制御を行うことがある。例えば、特許文献1に開示されるように、ユーザが手にはめて動作指示できるグローブ型コントローラが一般に知られているが、このグローブ型コントローラは、手や指の動きをセンサーで読み取ることによってユーザからの動作指示を取得し、操作対象のオブジェクトの位置や姿勢の制御を行うことができる。このような姿勢制御は、グローブ型コントローラを用いるものに限らず、様々なオブジェクトの自由運動、落下運動等を表現する際に行われる。
特開2002−153673号公報
しかし、上述のグローブ型コントローラのように、従来のゲーム装置では、コントローラの位置や姿勢を測定し、この測定結果により仮想空間内でのオブジェクトの移動や姿勢制御ができるものの、ユーザによる細かな動きや手ぶれなどによって必ずしも意図通りに操作できなかったり過敏に動いてしまったりすることがあり、スムーズなオブジェクトの姿勢制御に支障を来すことがあった。
また、ゲーム内容やシーンによって、オブジェクトの位置や姿勢をゆっくり変化させる必要のある場面もあれば急に変化させる必要のある場面もあるが、従来技術では、コントローラによらず仮想空間内のオブジェクトの位置や姿勢を変化させる際においても、これらの変化の度合いに応じたスムーズな(滑らかな)動きで変化させることは難しかった。
本発明はこのような課題を解決するものであり、仮想空間内に配置されるオブジェクトの位置や姿勢をスムーズな動きで制御するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係るゲーム装置は、仮想空間内に配置される目的オブジェクトの姿勢を制御するゲーム装置であって、記憶部、測定部、更新部を備える。
記憶部は、(a)当該目的オブジェクトの姿勢、角速度、(b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの姿勢、(c)当該囲みオブジェクトに対する当該目的オブジェクトの基準姿勢、のそれぞれを記憶する。
測定部は、当該囲みオブジェクトの姿勢の変化を測定する。
更新部は、当該測定された当該囲みオブジェクトの姿勢の変化に応じて、(x)当該囲みオブジェクトに対する当該目的オブジェクトの姿勢を、当該基準姿勢に近づけようとする牽引力、(y)当該目的オブジェクトの角速度と反対の向きの減衰力、に基づいて当該目的オブジェクトの姿勢を求めて記憶部を更新する。
この結果、ゲーム装置は、仮想空間内のキャラクタオブジェクトに仮想的な力が作用するのに応じて、キャラクタオブジェクトの位置や姿勢をスムーズな動きで制御することができる。
本発明のその他の観点に係るゲーム装置は、仮想空間内に配置される目的オブジェクトの位置と姿勢を、ユーザが把持するコントローラの位置と姿勢に基づいて制御するゲームを行うゲーム装置であって、記憶部、測定部、更新部を備える。
記憶部は、(a)当該目的オブジェクトの位置、姿勢、速度、角速度、質量、(b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの位置と姿勢、(c)当該囲みオブジェクトに対する当該目的オブジェクトの基準位置と基準姿勢、のそれぞれを記憶する。
測定部は、当該コントローラの位置と姿勢を測定する。
更新部は、当該測定されたコントローラの位置と姿勢の変化に応じて、当該囲みオブジェクトの位置と姿勢を求め、更に、(x)当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢を、当該基準位置と当該基準姿勢に近づけようとする牽引力、(y)当該目的オブジェクトの速度又は角速度と反対の向きの減衰力、に基づいて当該目的オブジェクトの位置と姿勢を求めて前記記憶部を更新する。
この結果、ゲーム装置は、ユーザがコントローラの位置を変えたり姿勢を変えたりするのに応じて、ゲーム内のキャラクタオブジェクトの位置や姿勢をスムーズな動きで制御することができる。
更新部は、当該測定されたコントローラの位置の変化量を所定倍率だけ乗じた量だけ当該囲みオブジェクトの位置を変化させ、当該測定されたコントローラの姿勢の変化量だけ当該囲みオブジェクトの姿勢を変化させて、当該囲みオブジェクトの位置と姿勢を求めてもよい。
この結果、ゲーム装置は、現実空間におけるコントローラの位置の変化量に予め対応づけられた量だけ、仮想空間におけるキャラクタオブジェクトの位置を変化させる。また、現実空間におけるコントローラの姿勢の変化量と同じ量だけ、仮想空間におけるキャラクタオブジェクトの姿勢を変化させる。ゲーム装置はコントローラの動きに合わせてスムーズにキャラクタオブジェクトの位置や姿勢を制御することができる。
更新部は、当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢のずれの大きさに比例して大きくなる当該牽引力に基づいて、当該目的オブジェクトの位置と姿勢を求めてもよい。
ことを特徴とするゲーム装置。
この結果、ゲーム装置は、プレイヤーが操作するコントローラの、元の位置や姿勢からのずれが大きければ大きいほど、制御対象のキャラクタオブジェクトを元の位置や姿勢により強く戻そうとする。ゲーム装置は、キャラクタオブジェクトの位置や姿勢をスムーズな動きで制御できる。
更新部は、当該目的オブジェクトの速度又は角速度に比例して大きくなる当該減衰力に基づいて、当該目的オブジェクトの位置と姿勢を求めてもよい。
ことを特徴とするゲーム装置。
この結果、ゲーム装置は、プレイヤーが操作するコントローラの速度又は角速度が大きければ大きいほど、制御対象のキャラクタオブジェクトの位置や姿勢の変化の度合いを大きくする。ゲーム装置は、キャラクタオブジェクトの位置や姿勢をスムーズな動きで制御できる。
記憶部は、当該目的オブジェクトの質量をさらに記憶してもよい。
更新部は、さらに、当該目的オブジェクトの速度又は角速度と逆向きで、当該目的オブジェクトの質量に比例して大きくなる摩擦力に基づいて、当該目的オブジェクトの位置と姿勢を求めてもよい。
この結果、ゲーム装置は、振幅がだんだんと小さくなるような振動をさせながら、キャラクタオブジェクトの位置や姿勢を制御できる。ゲーム装置は、キャラクタオブジェクトの位置や姿勢の制御に、より現実感を与えることができる。
更新部は、当該目的オブジェクトの種類に応じて大きさと向きが変わる当該牽引力に基づいて、当該囲みオブジェクトの位置と姿勢を求めてもよい。
この結果、ゲーム装置は、キャラクタオブジェクトによって、位置や姿勢の制御の仕方を使い分けることができる。
更新部は、当該ゲーム装置が行うゲームの進行状況と、当該ゲームのプレイヤーに関する情報とのいずれか1つ又は両方に応じて大きさと向きが変わる当該牽引力に基づいて、当該囲みオブジェクトの位置と姿勢を求めてもよい。
この結果、ゲーム装置は、例えば経過時間、残り時間、ゲーム中に発生するイベント、シーン、ゲームで獲得したアイテム等といったゲームの進行状況や、例えばクリアしたステージ数、獲得スコア、累積ゲーム時間、上達度等といったプレイヤーに関する情報によって、キャラクタオブジェクトの位置や姿勢の制御の仕方を使い分けることができる。
当該囲みオブジェクトは、当該ゲーム装置が行うゲームに表示されない非表示オブジェクトにすることができる。
この結果、ゲーム装置は、位置や姿勢を変化させたキャラクタオブジェクトをユーザに違和感なく見せることができる。
本発明のその他の観点に係るゲーム処理方法は、記憶部、測定部、更新部を有し、仮想空間内に配置される目的オブジェクトの姿勢を制御するゲーム装置であって、測定ステップ、更新ステップを備える。
記憶部は、(a)当該目的オブジェクトの姿勢、角速度、(b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの姿勢、(c)当該囲みオブジェクトに対する当該目的オブジェクトの基準姿勢、のそれぞれを記憶する。
測定ステップは、測定部が、当該囲みオブジェクトの姿勢の変化を測定する。
更新ステップは、更新部が、当該測定された当該囲みオブジェクトの姿勢の変化に応じて、(x)当該囲みオブジェクトに対する当該目的オブジェクトの姿勢を、当該基準姿勢に近づけようとする牽引力、(y)当該目的オブジェクトの角速度と反対の向きの減衰力、に基づいて当該目的オブジェクトの姿勢を求めて前記記憶部を更新する。
この結果、このゲーム処理方法を用いたゲーム装置は、仮想空間内のキャラクタオブジェクトに仮想的な力が作用するのに応じて、キャラクタオブジェクトの位置や姿勢をスムーズな動きで制御することができる。
本発明のその他の観点に係るゲーム処理方法は、記憶部、測定部、更新部を有し、仮想空間内に配置される目的オブジェクトの位置と姿勢を、ユーザが把持するコントローラの位置と姿勢に基づいて制御するゲームを行うゲーム装置にて実行されるゲーム処理方法であって、測定ステップ、更新ステップを備える。
記憶部は、(a)当該目的オブジェクトの位置、姿勢、速度、角速度、質量、(b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの位置と姿勢、(c)当該囲みオブジェクトに対する当該目的オブジェクトの基準位置と基準姿勢、のそれぞれを記憶する。
測定ステップは、測定部が、当該コントローラの位置と姿勢を測定する。
更新ステップは、更新部が、当該測定されたコントローラの位置と姿勢の変化に応じて、当該囲みオブジェクトの位置と姿勢を求め、更に、(x)当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢を、当該基準位置と当該基準姿勢に近づけようとする牽引力、(y)当該目的オブジェクトの速度又は角速度と反対の向きの減衰力、に基づいて当該目的オブジェクトの位置と姿勢を求めて前記記憶部を更新する。
この結果、このゲーム処理方法を用いたゲーム装置は、ユーザがコントローラの位置を変えたり姿勢を変えたりするのに応じて、ゲーム内のキャラクタオブジェクトの位置や姿勢をスムーズな動きで制御することができる。
本発明のその他の観点に係るプログラムは、仮想空間内に配置される目的オブジェクトの姿勢を制御するコンピュータを、記憶部、測定部、更新部として機能させる。
記憶部は、(a)当該目的オブジェクトの姿勢、角速度、(b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの姿勢、(c)当該囲みオブジェクトに対する当該目的オブジェクトの基準姿勢、のそれぞれを記憶する。
測定部は、当該囲みオブジェクトの姿勢の変化を測定する。
更新部は、当該測定された当該囲みオブジェクトの姿勢の変化に応じて、(x)当該囲みオブジェクトに対する当該目的オブジェクトの姿勢を、当該基準姿勢に近づけようとする牽引力、(y)当該目的オブジェクトの角速度と反対の向きの減衰力、に基づいて当該目的オブジェクトの姿勢を求めて前記記憶部を更新する。
この結果、このプログラムを実行するコンピュータは、仮想空間内のキャラクタオブジェクトに仮想的な力が作用するのに応じて、キャラクタオブジェクトの位置や姿勢をスムーズな動きで制御することができる装置として機能する。
本発明のその他の観点に係るプログラムは、仮想空間内に配置される目的オブジェクトの位置と姿勢を、ユーザが把持するコントローラの位置と姿勢に基づいて制御するゲームを行うコンピュータを、記憶部、測定部、更新部として機能させる。
記憶部は、(a)当該目的オブジェクトの位置、姿勢、速度、角速度、質量、(b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの位置と姿勢、(c)当該囲みオブジェクトに対する当該目的オブジェクトの基準位置と基準姿勢、のそれぞれを記憶する。
測定部は、当該コントローラの位置と姿勢を測定する。
更新部は、当該測定されたコントローラの位置と姿勢の変化に応じて、当該囲みオブジェクトの位置と姿勢を求め、更に、(x)当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢を、当該基準位置と当該基準姿勢に近づけようとする牽引力、(y)当該目的オブジェクトの速度又は角速度と反対の向きの減衰力、に基づいて当該目的オブジェクトの位置と姿勢を求めて前記記憶部を更新する。
この結果、このプログラムを実行するコンピュータは、ユーザがコントローラの位置を変えたり姿勢を変えたりするのに応じて、ゲーム内のキャラクタオブジェクトの位置や姿勢をスムーズな動きで制御することができる装置として機能する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、仮想空間内に配置されるオブジェクトの位置や姿勢をスムーズな動きで制御するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(実施例1)
図1は、プログラムを実行することにより、本発明の実施形態に係る装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下本図を参照して説明する。
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態に係る装置が実現される。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。なお、コントローラ105の詳細については後述する。
インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想空間が3次元にて構成される場合には、当該3次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェイス(図示せず)により構成される。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
例えば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
本実施形態では、現実の空間における位置や姿勢などの種々のパラメータが測定できるようなコントローラ105を採用する。
図2は、現実の空間における位置や姿勢などの種々のパラメータが測定できるようなコントローラ105と情報処理装置100との外観を示す説明図である。以下、本図を参照して説明する。
コントローラ105は、把持モジュール201と発光モジュール251との組合せからなっており、把持モジュール201は無線通信によって情報処理装置100と通信可能に接続されており、発光モジュール251は、有線で情報処理装置100と通信可能に接続されている。情報処理装置100の処理結果の音声および画像は、テレビジョン装置291によって出力表示される。
把持モジュール201は、テレビジョン装置291のリモートコントローラと類似した外観をしており、その先端には、CCDカメラ202が配置されている。
一方発光モジュール251は、テレビジョン装置291の上部に固定されている。発光モジュール251の両端には、発光ダイオード252が配置されており、情報処理装置100からの電源供給によって発光する。
把持モジュール201のCCDカメラ202は、この発光モジュール251の様子を撮影する。
撮影された画像の情報は、情報処理装置100に送信され、情報処理装置100は、当該撮影された画像内において発光ダイオード252が撮影された位置に基づいて、発光モジュール251に対する把持モジュール201の位置を取得する。
このほか、把持モジュール201内には、加速度センサ、角加速度センサ、傾きセンサ等が内蔵されており、把持モジュール201そのものの姿勢を測定することが可能となっている。この測定結果も、情報処理装置100に送信される。
把持モジュール201の上面には、十字形キー203が配置されており、プレイヤは、十字形キー203を押し込み操作することによって、各種の方向指示入力を行うことができる。また、Aボタン204ほか、各種ボタン206も上面に配置されており、当該ボタンに対応付けられた指示入力を行うことができる。
一方、Bボタン205は、把持モジュール201の下面に配置されており、把持モジュール201の下面に窪みが構成されていることとあいまって、拳銃やマジックハンドにおける引き金を模したものとなっている。典型的には、仮想空間内における拳銃による発砲やマジックハンドによる把持の指示入力は、Bボタン205を用いて行われる。
また、把持モジュール201の上面のインジケータ207は、把持モジュール201の動作状況や情報処理装置100との無線通信状況などをプレイヤに提示する。
把持モジュール201の上面に用意された電源ボタン208は、把持モジュール201そのものの動作のオン・オフを行うもので、把持モジュール201は内蔵された電池(図示せず)によって動作する。
このほか、把持モジュール201内部には、バイブレータ(図示せず)が用意されており、情報処理装置100からの指示に基づいて、振動の有無や強弱を制御することができるようになっている。
以下では、把持モジュール201と発光モジュール251との組合せからなるコントローラ105を用いて、コントローラ105の現実世界における位置や姿勢を測定することを前提に説明する。ただし、上記のような形態によらず、たとえば超音波や赤外線通信、GPS(Global Positioning System)等を利用してコントローラ105の現実世界における位置や姿勢を測定するとした場合であっても、本発明の範囲に含まれる。
次に、本実施形態のゲーム装置300が行う処理について説明する。
図3は、本実施形態のゲーム装置300の構成を説明するための図である。図3に示すように、ゲーム装置300は、記憶部301、測定部302、更新部303を備える。
図4は、本実施形態において、仮想空間内に配置されるオブジェクトと、そのオブジェクトの位置と姿勢の制御について説明するための図である。
目的オブジェクト401は、ゲーム装置300が姿勢制御を行う対象となるオブジェクトである。仮想空間内に配置されるすべてのオブジェクトが目的オブジェクト401となり得る。ゲーム装置300のCPU 101は、目的オブジェクト401の姿勢制御を行うにあたり、目的オブジェクト401の周囲に囲みオブジェクト402を配置する。本実施形態では、囲みオブジェクト402は、ゲーム画面には表示されないオブジェクトである。囲みオブジェクト402は、目的オブジェクト401から所定距離だけ離れた位置に、目的オブジェクト401を囲むようにして配置される。図4に示すように、本実施形態では、囲みオブジェクト402の形状は円形をしている。なお、囲みオブジェクト402は、ゲーム画面に表示されるオブジェクトであってもよい。
目的オブジェクト401と囲みオブジェクト402は、仮想的な3つのバネ403(図中では403A、403B、403Cと表記する)で接続される。目的オブジェクト401と各々の仮想的なバネ403とが接続される場所はそれぞれ異なり、典型的には目的オブジェクト401の表面上の異なる接続点で繋がっている。これらの仮想的なバネ403は、後述する位置・姿勢制御を行うために仮想的に設定されるものであり、ゲーム装置300に接続されるモニターに映し出される出力画面には含まれない。すなわち、ゲーム装置300は、仮想的なバネ403をモニターに表示しない。仮想的なバネ403は、位置・姿勢制御処理を行うために仮想的に設定されるものであり、図示するようなバネの形状をした目視できるオブジェクトが存在するわけではない。伸縮自在なゴムひものようなものでもよい。あるいはバネで接続された場合と等価な力学的な「場」でもよい。
なお、本実施形態では、目的オブジェクト401が球状の形であり、囲みオブジェクト402が円の形であるが、これらは一例に過ぎず、他の任意の形状にすることもできる。また、仮想的なバネ403の個数は3つとしているが、他の任意の個数にすることもできる。ただし、目的オブジェクト401の姿勢制御をスムーズに行うためには、3つ以上であることが望ましい。
記憶部301は、(a)目的オブジェクト401の位置、姿勢、速度v、角速度ω、質量m、(b)囲みオブジェクト402の位置と姿勢、(c)囲みオブジェクト402に対する目的オブジェクト401の基準位置と基準姿勢、のそれぞれを示す情報を記憶する。記憶部301は、これらの情報をRAM 103内の所定の記憶領域に記憶する。CPU 101とRAM 103が協働して動作することにより、記憶部301として機能する。外部メモリ106にこれらの情報を記憶するように構成してもよい。
詳細には、位置は、この仮想空間内に予め定義された空間座標を用いて表される。座標系の決め方は任意であり、例えば、互いに直交する3軸による直交座標系を用いることができるほか、1個の動径と2個の偏角を用いた球座標のような極座標系を用いることもできる。
姿勢は、仮想空間内に目的オブジェクト401をどのような体勢で配置するかを示す情報である。図5(a)に示すように、姿勢は、例えば、目的オブジェクト401ごとに設定される方向ベクトル501と、矢印503で示す方向の回転運動の角速度ωによって定義される。方向ベクトル501の長さは任意であるが、ここでは単位ベクトルとする。方向ベクトル501の向きは任意に設定できる。回転の向きを示す矢印503は、方向ベクトル501の向きに右ネジを回転させて進む方向とする。他の方向に回転したり、同時に複数方向に回転したりしてもよいが、本発明の理解を容易にするため、本実施形態では1方向にのみ回転するものとする。
例えば、目的オブジェクト401が人型オブジェクトである場合、人の頭部から足下への向きに姿勢の基準となる方向ベクトル501を設定しておく。本図では、地面オブジェクト502に向かって垂直に方向ベクトルが設定されており、この状態は人型オブジェクト501が地面オブジェクト502に垂直に立っている姿勢を表す。目的オブジェクト401にゲーム画面を映し出すための視点(仮想カメラや仮想の目など)を設け、この視点からの視線方向を示すベクトルを方向ベクトル501として用いてもよい。
この方向ベクトル501と角速度ωを用いて、目的オブジェクト401の様々な姿勢を表すことができる。例えば図5(b)は、目的オブジェクト401が地面オブジェクト502に対して約45度の角度で斜めに、且つ、矢印503の向きに回転して配置された姿勢を表す。また、姿勢は、目的オブジェクト401に限らず、囲みオブジェクト402などの他のオブジェクトについても定義される。位置と姿勢が決まれば、仮想空間内におけるオブジェクトの配置の仕方を決めることができる。なお、目的オブジェクト401は、必ずしも回転運動を伴わなくてもよい。また、位置や姿勢によって目的オブジェクト401の形状を変えてもよい。例えば図5(c)のように、目的オブジェクト401が地面オブジェクト502に対して斜めになった姿勢では、人型オブジェクトの手足部分を地面オブジェクト502の向きあるいは仮想重力の向きに配置して、より自然に見えるようにしてもよい。
速度vは、目的オブジェクト401が仮想空間内を移動する速さであり、単位時間あたりの位置の変化量として表される。角速度ωは、目的オブジェクト401が回転(自転)するときの回転の速さであり、単位時間あたりの角度の変化量として表される。目的オブジェクト401は仮想空間内で移動可能であり、速度vと角速度ωを用いて目的オブジェクト401の行う運動を表現できる。質量mは、目的オブジェクト401ごとに予め設定される。仮想空間内には仮想重力が存在する。
目的オブジェクト401の基準位置は、目的オブジェクト401が移動・回転など何らかの運動をしていない状態における位置である。言い換えれば、仮想的なバネ403A乃至403Cによって力学的なつり合いがとれた状態における位置である。また、目的オブジェクト401の基準姿勢は、目的オブジェクト401が移動・回転など何らかの運動をしていない状態における姿勢である。言い換えれば、仮想的なバネ403A乃至403Cによって力学的なつり合いがとれた状態における姿勢である。目的オブジェクト401は、何らかの力が働いて移動・回転すると、仮想的なバネ403によって元の基準位置・基準姿勢に戻ろうとする。
目的オブジェクト401には、(x)囲みオブジェクト402に対する目的オブジェクト401の位置と姿勢とを、仮想的なバネ403によって基準位置と基準姿勢とに近づけようとする牽引力601と、(y)速度又は角速度と反対方向の減衰力602と、が働く。図6(a)〜(c)は、仮想的なバネ403の1つに注目して牽引力601と減衰力602を示した図である。牽引力601は、すべての仮想的なバネ403による弾性力の合計である。なお、仮想的なバネ403は1つだけではなく複数個存在するが、本発明をより理解しやすいように本図では他の仮想的なバネ403を省略している。囲みオブジェクト402は本図ではその一部のみを記載している。また、目的オブジェクト401の速度の向きは、仮想的なバネ403の軸の向き(本図の左右方向)であるとする。
ここで、目的オブジェクト401の位置と姿勢について、詳しく説明する。
まず、目的オブジェクト401の位置について図6を用いて説明する。本図は、囲みオブジェクト402に対する目的オブジェクト401の相対運動を示すものとする。
図6(a)は、目的オブジェクト401が基準位置にある状態を示す図である。例えば、ユーザによる指示入力がコントローラ105に入力されないなど、目的オブジェクト401に仮想的なバネ403による弾性力以外の外力が加わっていないとき、すべての仮想的なバネ403から目的オブジェクト401にかかる力はつり合い状態になり、本図のような基準位置・基準姿勢になる。ただし、目的オブジェクト401の角速度ωはゼロ、すなわち、回転運動はしていないものとする。
目的オブジェクト401が基準位置にあるときに、把持モジュール201の位置が変化すると、CPU 101は把持モジュール201の位置の変化量に応じて囲みオブジェクト402の位置を変化させる。囲みオブジェクト402の変化量の詳細については後述する。囲みオブジェクト402の位置が変化すると、仮想的なバネ403で繋がれた目的オブジェクト401の位置も変化することになる。
例えば、ユーザが現実空間で把持モジュール201を移動させて、仮想空間内の目的オブジェクト401の位置と姿勢をコントロールさせたいとする。把持モジュール201の移動によって、囲みオブジェクト402の移動量の矢印Y1方向成分が存在すると、目的オブジェクト401には、図6(b)に示すように、仮想的なバネ403A乃至403Cが目的オブジェクト401を基準位置に近づけようとする(戻そうとする)牽引力601が働く。具体的には、牽引力601は、基準位置からの変位に比例した力である。この比例定数は一般にバネ定数と呼ばれ、予め決められた値である。牽引力601は、目的オブジェクト401の変位の方向を正として次の[式1]で表される。
FA = −k・x ・・・[式1]
ただし、FAは牽引力601の大きさ、kは予め決められたバネ定数、xは基準位置からの変位である。牽引力601の大きさは定数kと変位xとの積で表される。
また、目的オブジェクト401には、図6(b)に示すように、矢印Y1方向の速度vと反対の向きの減衰力602が働く。減衰力602は、[式2]のように表される。
FB = −ρ・v ・・・[式2]
ただし、FBは減衰力602の大きさ、ρは比例定数、vは速度である。減衰力602の大きさは比例定数ρと速度vとの積で表される。
図6(b)において、さらに矢印Y1方向に目的オブジェクト401が移動し続けると、矢印Y1方向に移動できる限界点(図示せず)に達し、一旦静止する。そして、目的オブジェクト401は矢印Y2方向に移動し始める。目的オブジェクト401が矢印Y2方向に移動するとき、減衰力602は矢印Y1方向に働く。やがて、図6(c)に示すように、矢印Y2方向に目的オブジェクト401が移動し続けると、矢印Y2方向に移動できる限界点(図示せず)に達し、一旦静止する。そして、目的オブジェクト401は再び矢印Y1方向に移動し始める。このように目的オブジェクト401は往復運動(振動)する。なお、目的オブジェクト401の変位xは、仮想的なバネ403の矢印Y1方向及び矢印Y2方向の比例限界を超えないものとする。
目的オブジェクト401は仮想的なバネ403の向きの弾性の往復運動を行う。この運動を示す運動方程式は、他に目的オブジェクト401にかかる力が無ければ、[式1]と[式2]を用いて次のように表すことができる。
m・α = −k・x − ρ・v ・・・[式3]
また、さらに重力や摩擦力などの外力がある場合には、この外力をFとして次の[式4]のように表される。
m・α = −k・x − ρ・v + F ・・・[式4]
変位xの1階時間微分が速度vであり、変位xの2階時間微分が加速度αである。この微分方程式を解けば、変位xは時間tの関数として表すことができる。一般に、この微分方程式の解は、振幅が指数関数的に減衰する正弦関数で表される。すなわち、目的オブジェクト401の変位xの振幅の絶対値が時間の経過と共に減少しながら振動し、目的オブジェクト401の位置はだんだんと基準位置に収束していく。
なお、図6(a)〜(c)に図示しない他の仮想的なバネ403(本実施形態ではあと2つ)による反発力などを無視する近似を行い、仮想的なバネ403ごとに上述の計算を行い、それぞれの仮想的なバネ403の方向への変位を求め、それらを合成することによって目的オブジェクト401の位置を求めてもよい。
目的オブジェクト401の速度vの向きが、仮想的なバネ403の軸の向きと一致しない場合には、速度vの軸向きの成分を考慮すればよい。各々の仮想的なバネ403はそれぞれ異なったバネ定数などの特性をもっていてもよいが、本実施形態のように同じであることが望ましい。仮想的なバネ403は、等間隔に配置されることが望ましい。典型的には、目的オブジェクト401の基準位置は、囲みオブジェクト402の重心の位置と同じである。
次に、目的オブジェクト401の姿勢につい説明する。
目的オブジェクト401は、図7(a)や図7(b)のように、角速度ωで矢印Y3方向の回転運動をすることもできる。矢印Y3方向に回転運動をするとき、目的オブジェクト401には、基準姿勢に近づこうとする(戻ろうとする)牽引力601と、回転と反対の向きの減衰力602とが働く。
本実施形態では、この牽引力601も[式1]で、また、この減衰力602も[式2]で近似する。ただし、kは比例定数、xは矢印Y3方向への角度変位とする。αは角加速度であり、角速度ωの時間微分である。角速度ωは、角度変位の時間微分である。したがって、[式3]または[式4]の微分方程式を解けば、角度変位xは時間tの関数として表すことができ、目的オブジェクト401の回転運動を表す近似式を得ることができる。一方、目的オブジェクト401の向きを示す方向ベクトル501は、後述する測定部302により得られる。そして、得られた方向ベクトル501と角度変位x(もしくは角速度ω)によって、目的オブジェクト401の姿勢を示す情報を得ることができる。
本実施形態のように、仮想的なバネ403が3本以上の場合には、バネ自体のねじれ等による影響を考慮しなくてもよいとする近似を行うことができる。詳細には、現実世界のバネでは、変位xの方向以外の他の方向にバネ自体がねじれることもある。このねじれによってバネが変形する影響を考慮して目的オブジェクト401の位置や姿勢をより現実世界に則して制御しようとすると、計算量が膨大になり、家庭用ゲーム機や携帯端末のように高性能のハードウェアを搭載することが難しいケースでは適用が困難になることがある。しかし、本実施形態では、このようなバネのねじれがあっても、上述のように牽引力601と減衰力602とを考慮した弾性の運動として近似することができる。例えば、図4に示す仮想的なバネ403Aを軸方向を中心にねじると、他の仮想的なバネ403Bと403Cによりねじれを元に戻す力が働く。この力によって基準姿勢に戻ろうとする運動を、上述の[式1]〜[式4]で近似する。このように、本実施形態によれば、姿勢の制御を容易に行うことができる。
なお、上述の位置と同様に、図7(a)や図7(b)に図示しない他の仮想的なバネ403による反発力などを無視する近似を行い、仮想的なバネ403の軸方向701ごとに上述の計算を行い、それぞれの角度変位を求め、それらを合成することによって目的オブジェクト401の姿勢を求めてもよい。
図3に戻り、測定部302は、現実の空間におけるコントローラ105の把持モジュール201の位置と姿勢を測定する。測定部302は、測定した位置と姿勢を示す情報をRAM 103の所定記憶領域に記憶する。ユーザは、発光モジュール251の近くで把持モジュール201を握りながら各種ボタン206などを押下してゲームをする。把持モジュール201は、ユーザによるプレイに応じて現実空間内を上下・左右・前後に移動し、また、回転などによって姿勢が変化することになるが、測定部302は把持モジュール201の位置と姿勢を、加速度センサ、角加速度センサ、傾きセンサを用いて所定の時間間隔(例えばモニターの垂直同期割り込みの間隔など)で測定する。CPU 101とコントローラ105が協働して動作することにより、測定部302として機能する。
更新部303は、測定部302によって測定された把持モジュール201の位置と姿勢の変化に応じて、囲みオブジェクト402の位置と姿勢を求める。そして、牽引力601と減衰力602に基づいて、目的オブジェクト401の位置と姿勢を求めて、記憶部301に記憶する。CPU 101と画像処理部107が協働して動作することにより、更新部303として機能する。
具体的には、更新部303は、測定部302によって測定された把持モジュール201の位置の変化量を所定倍率だけ乗じて、囲みオブジェクト402の位置を更新する。すなわち、仮想空間内における単位距離は、現実の空間内における単位距離のN倍(Nは正の数)に予め設定されている。言い換えれば、仮想空間と現実空間との間の縮小率(あるいは拡大率)が予め設定されている。そして、現実空間内で把持モジュール201の位置が変化すると、更新部303は、現実空間内における変化量をN倍した量を、仮想空間内における変化量として、囲みオブジェクト402の位置を決める。更新部303は、求めた囲みオブジェクト402の位置を示す情報を記憶部301に記憶する。あるいは、記憶部301に既に記憶された、囲みオブジェクト402の位置を示す情報を、求めた位置を示す情報で更新する。
また、更新部303は、現在の囲みオブジェクト402の姿勢に、測定部302によって測定された把持モジュール201の姿勢の変化量だけ加えて、囲みオブジェクト402の姿勢を決める。すなわち、現実空間と仮想空間は予め対応づけられており、現実空間内で把持モジュール201のCCDカメラ202の向きが変わると、仮想空間内で囲みオブジェクト402の方向ベクトル501の向きを同じ量だけ変化させる。また、把持モジュール201に内蔵される加速度センサ、角加速度センサ、傾きセンサ等によって、把持モジュール201の加速度、角加速度、傾きなどの姿勢の変化が検出されると、更新部303は、仮想空間内で囲みオブジェクト402の加速度、角加速度、傾きなどを同じ量だけ変化させる。更新部303は、求めた囲みオブジェクト402の姿勢を示す情報を記憶部301に記憶する。あるいは、記憶部301に既に記憶された、囲みオブジェクト402の姿勢を示す情報を、求めた姿勢を示す情報で更新する。
なお、更新部303は、測定部302によって測定された把持モジュール201の姿勢の変化量を所定倍率だけ乗じて、囲みオブジェクト402の姿勢を求めてもよい。例えば、更新部303は、把持モジュール201がある角度だけ回転すると、その角度の変化量または角速度または角加速度をM倍(Mは正の数)して囲みオブジェクト402を回転させたり、把持モジュール201のCCDカメラ202の向きがある量だけ変化すると、その変化量をM倍して囲みオブジェクト402の方向ベクトル501の向きを変化させたりしてもよい。
さらに、更新部303は、囲みオブジェクト402の位置や姿勢が変化することによって目的オブジェクト401に働く上述の牽引力601と減衰力602とに基づいて、目的オブジェクト401の位置と姿勢を求める。すなわち、把持モジュール201に内蔵される加速度センサ、角加速度センサ、傾きセンサ等によって、加速度、角加速度、傾き等の変化が検出されると、更新部303は、上述の[式1]〜[式4]に基づいて、仮想空間内における加速度と角加速度から、それらの時間積分である速度vと角速度ωを求め、さらにそれらの時間積分である位置の変位と姿勢の変位を求める。このようにして、更新部303は、目的オブジェクト401の位置と姿勢を求めることができる。更新部303は、求めた目的オブジェクト401の位置、姿勢、速度、角速度を示す情報を記憶部301に記憶する。あるいは、記憶部301に既に記憶された、目的オブジェクト401の位置、姿勢、速度、角速度を示す情報を、求めた値で更新する。
次に、本実施形態のゲーム装置300の各部が行う処理(以下、「位置・姿勢制御処理」と呼ぶ)について、図8のフローチャートを用いて説明する。この位置・姿勢制御処理は、垂直同期割り込みなどの所定の定期的なタイミングで行われる。本実施形態では、コントローラ105の把持モジュール201をユーザが現実空間で自由に動かして、予め把持モジュール201に対応づけられた仮想空間内の目的オブジェクト401の位置や姿勢を変化させる場面を想定して説明する。ただし、これは一例に過ぎず、本発明の範囲を限定するものではない。以下詳述する。
まず、測定部302は、把持モジュール201の位置と姿勢を測定し(ステップS801)、記憶部301に記憶する。すなわち、発光モジュール251の様子をCCDカメラ202が撮影し、撮影された画像情報を把持モジュール201がゲーム装置300に送信する。ゲーム装置300の測定部301は、撮影された画像内において発光ダイオード252が撮影された位置に基づいて、発光モジュール251に対する把持モジュール201の位置を取得する。また、把持モジュール201に内蔵された加速度センサ、角加速度センサ、傾きセンサ等が把持モジュール201の姿勢を測定し、この測定結果もゲーム装置300に送信する。この測定結果には、把持モジュール201の加速度、角加速度が含まれる。このように、測定部302は位置と姿勢の測定結果を取得する。
更新部303は、測定部302によって測定された把持モジュール201の位置と姿勢を示す情報に基づいて、囲みオブジェクト402の位置と姿勢を求める(ステップS802)。また、更新部302は、測定された加速度と角加速度の時間積分から、囲みオブジェクト402の速度と角速度を求め、速度と角速度の時間積分から、位置と姿勢を求める。そして、更新部303は、図4に示すように目的オブジェクト401の周りを囲むような形状の囲みオブジェクト402を、求めた位置に求めた姿勢で配置する。
ここで、記憶部301は、測定部302によって測定された把持モジュール201の位置と姿勢を示す情報の履歴を記憶しておき、更新部303は、この履歴に基づいて位置及び/又は姿勢が変化したと判断した場合に、ステップS802で囲みオブジェクト402の位置と姿勢を求めるようにしてもよい。そして、位置と姿勢のいずれも変化しないと判断した場合に、ステップS802の処理を行わないようにしてもよい。これにより、更新部303が行う処理の負荷を軽減させることができる。また、例えば、いわゆるチャタリング対策として、位置及び/又は姿勢の測定結果の履歴が所定回数以上続けて現在と異なる値である場合に、位置及び/又は姿勢が変化したと判断することもできる。
更新部303は、囲みオブジェクト402の位置と姿勢に基づいて、目的オブジェクト401の位置と姿勢を求める(ステップS803)。すなわち、更新部303は、図4に示すように目的オブジェクト401と囲みオブジェクト402を繋ぐ仮想的なバネ403を設定し、各々の仮想的なバネ403によって目的オブジェクト401に作用する牽引力601と減衰力602を考慮して、目的オブジェクト401の位置、姿勢を求める。また、加速度、角加速度を時間積分して、それぞれ速度、角速度を求める。
更新部303は、記憶部301に記憶された、目的オブジェクト401の位置・姿勢・速度・角速度と、囲みオブジェクト402の位置・姿勢を、ステップS803で求めた値で更新する(ステップS804)。なお、上述のように、更新部303はこれらの情報の所定回数分の履歴を記憶部301に記憶するように構成してもよい。
このようにして求められた各値に基づいて仮想空間内に配置された目的オブジェクト401を含む画像データは、画像処理部107に接続されたモニターに出力される。なお、モニターに出力される画像には、囲みオブジェクト402や仮想的なバネ403は含まれない。
例えば、目的オブジェクト401の速度あるいは角速度がゼロでないとき、この姿勢制御処理を所定の間隔で繰り返し行うことで、目的オブジェクト401は牽引力601と減衰力602による振動運動を行う。
なお、[式1]〜[式4]によれば、目的オブジェクト401は所定の周期で振動を繰り返すことになるが、目的オブジェクト401の行う運動に[式4]のように更に仮想的な摩擦力などの外力を考慮して、目的オブジェクト401の位置・姿勢等を求めてもよい。典型的には、目的オブジェクト401の速度あるいは角速度と逆向きで質量に比例して大きくなる動摩擦力を設定する。この場合にも、目的オブジェクト401は、振動を開始してから徐々に振幅が小さくなり、ある時間が経過すると基準位置と基準姿勢になって運動が止まる。また、更新部303は、目的オブジェクト401にかかる外力と逆向きで質量に比例して大きくなる静摩擦力を設定することもできる。この場合、目的オブジェクト401は、所定量以上の大きさの外力が働くと振動を始めることになる。すなわち、把持モジュール201が所定量以上あるいは所定の加速度以上で動いたときに目的オブジェクト401の位置や姿勢が変化する。これらの動摩擦力や静摩擦力を考慮すると、目的オブジェクト401の運動方程式の解は更に複雑な形になるが、積分区間を幾つかに分けてそれぞれの区間での面積を順次足していく数値積分によって近似して変位xを求めることができる。
このように、本実施形態によれば、ゲーム装置300は、仮想空間内に配置されるオブジェクトの姿勢制御を容易に行うことができる。ユーザが把持モジュール201を握って目的オブジェクト401を移動させたい場合、ゲーム装置300は、直接、把持モジュール201の位置や姿勢の変化に対応づけて目的オブジェクト401の位置や姿勢を変化させるのではなく、目的オブジェクト401の周囲に設定したユーザには見えない囲みオブジェクト402を移動させて仮想的なバネ403によって目的オブジェクト401の位置や姿勢を変化させるので、把持モジュール201に手ぶれなどによる本来意図しない細かい動きがあっても、過敏に目的オブジェクト401の位置や姿勢が変わってしまうことがない。本実施形態は、特に、目的オブジェクト401の位置や姿勢を1つの平面内で変化させて姿勢制御する際に適している。
(実施例2)
次に、本発明の他の実施形態について説明する。図9は、本実施形態における目的オブジェクト401、囲みオブジェクト402、仮想的なバネ403とを示す図である。本図に示すように、囲みオブジェクト402は四面体(三角錐)の形状をしている。目的オブジェクト401は、四面体である囲みオブジェクト402の各頂点を接続点として4つの仮想的なバネ403(図中では403D乃至403Gと表記)で繋がれている。
更新部303は、上述の実施形態と同様に、囲みオブジェクト402と各々の仮想的なバネ403による目的オブジェクト401の位置と姿勢の変化をそれぞれ求め、その後合成して、目的オブジェクト401の位置と姿勢を決める。仮想的なバネ403の設定の仕方が異なるほかは、上述の実施例1と同様である。なお、各々の仮想的なバネ403は同じ特性をもち、囲みオブジェクト402は正四面体であることが望ましい。この場合、目的オブジェクト401の基準位置は、囲みオブジェクト402の重心位置と同じになる。本実施形態は、目的オブジェクト401の位置や姿勢を仮想空間内で3次元的に変化させて姿勢制御する際に適している。
(実施例3)
次に、本発明の他の実施形態について説明する。図10は、本実施形態における目的オブジェクト401、囲みオブジェクト402、仮想的なバネ403とを示す図である。本図に示すように、囲みオブジェクト402は六面体の形状をしている。目的オブジェクト401は、六面体である囲みオブジェクト402の各面の重心を接続点として6つの仮想的なバネ403(図中では403H乃至403Mと表記)で繋がれている。仮想的なバネ403の設定の仕方が異なるほかは、上述の実施例1と同様である。なお、各々の仮想的なバネ403は同じ特性をもち、囲みオブジェクト402は立方体であることが望ましい。この場合、目的オブジェクト401の基準位置は、立方体である囲みオブジェクト402の重心位置と同じになる。目的オブジェクト401の形状に合わせて、立方体や直方体等を使い分けてもよい。本実施形態は、目的オブジェクト401の位置や姿勢を仮想空間内で3次元的に変化させて姿勢制御する際に適している。
(実施例4)
次に、本発明の他の実施形態について説明する。図11は、本実施形態における目的オブジェクト401、囲みオブジェクト402、仮想的なバネ403とを示す図である。本図に示すように、囲みオブジェクト402は同様に六面体の形状をしている。目的オブジェクト401は、六面体である囲みオブジェクト402の各頂点を接続点として8つの仮想的なバネ403(図中では403P乃至403Wと表記)で繋がれている。仮想的なバネ403の設定の仕方が異なるほかは、上述の実施形態と同様である。なお、各々の仮想的なバネ403は同じ特性をもち、囲みオブジェクト402は立方体であることが望ましい。この場合、目的オブジェクト401の基準位置は、立方体である囲みオブジェクト402の重心位置と同じになる。本実施形態は、目的オブジェクト401の位置や姿勢を仮想空間内で3次元的に変化させて姿勢制御する際に適している。
(実施例5)
次に、本発明の他の実施形態について説明する。図12は、本実施形態における目的オブジェクト401、囲みオブジェクト402、仮想的なバネ403とを示す図である。本図に示すように、囲みオブジェクト402は直方体の形状をしている。目的オブジェクト401は、直方体である囲みオブジェクト402の対面する2つの面の重心を接続点として2つの仮想的なバネ403(図中では403X、403Yと表記)で繋がれている。仮想的なバネ403の設定の仕方が異なるほかは、上述の実施形態と同様である。なお、各々の仮想的なバネ403は同じ特性をもつことが望ましい。本実施形態は、例えば目的オブジェクト401が電車のレールの上に乗って左右に動くような1次元的な位置の移動を伴う姿勢制御をする際に適している。例えば、レールの延びる方向に仮想的なバネ403を設定し、レールの上で(レールに沿って)目的オブジェクト401を動かすときの姿勢制御に用いることができる。なお、本実施形態では、囲みオブジェクト402の形状は、円柱、角柱などでもよい。
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
上述の各実施形態では、予め把持モジュール201による制御対象の目的オブジェクト401を定めておき、把持モジュール201の位置と姿勢の変化に囲みオブジェクト402の位置と姿勢の変化を連動させた上で、目的オブジェクト401の位置と姿勢を制御する場面を想定して説明したが、本発明はこれに限られない。例えば、仮想空間内に置かれた目的オブジェクト401に、把持モジュール201の位置と姿勢の変化に関係なく、仮想的な力(例えば風、地震による揺れなど)が働くことによる位置と姿勢の制御を行う場合にも適用できる。この場合、測定部302は、把持モジュール201の位置と姿勢を測定する代わりに、もしくは、これらの測定に加えて、目的オブジェクト401に働く仮想的な力の向きと大きさを測定し(仮想空間にて生じた仮想的な力を計算により求めることを含む。)、これが直接目的オブジェクト401に作用するのではなく、囲みオブジェクト402に作用するものとして、囲みオブジェクト402の位置と姿勢の変化量を求め、この変化量が小さくなる向きに目的オブジェクト401に対して牽引力601が作用するものとして構成すればよい。
上述した目的オブジェクト401、囲みオブジェクト402、仮想的なバネ403の形状は一例に過ぎず、形状を任意に変更した実施形態を採用することもできるが、このような変形例も本発明の範囲に含まれる。また、仮想的なバネ403の数や、仮想的なバネ403の繋げ方、繋げる位置を任意に変更した変形例を採用することもできる。
囲みオブジェクト402は目的オブジェクト401を取り囲むように所定距離だけ離れた位置に配置されるが、この所定距離は任意に変更できる。目的オブジェクト401と囲みオブジェクト402は、目的オブジェクト401の位置や姿勢の変化を、上述のように仮想的なバネ403による振動運動として近似できる程度に離れていればよい。各々の仮想的なバネ403の長さやバネ定数といった特性は異なっていてもよい。
変形例の一つとして、更新部303は、目的オブジェクト401の位置を振動させて変化させる場合、把持モジュール201にかかる加速度又は角加速度が大きければ大きいほど、振動の変位の最大量(最大振幅)を大きくしてもよい。
変形例の一つとして、更新部303は、目的オブジェクト401の種類ごとに、囲みオブジェクト402の形状を変えたり、仮想的なバネ403の数や配置の仕方を変えてもよい。例えば、目的オブジェクト401によっては、その大きさや質量に関係なく、ゲーム設定上、位置や姿勢をあまり大きく変化させたくないものもある。そのような場合、あまり大きく変化させたくないオブジェクトには囲みオブジェクト402として図12に示すような一次元的な位置や姿勢の変化のみ可能なものにしたり、図4に示すような二次元的な位置や姿勢の変化のみ可能なものにしたりする。一方、大きく変化させてもよいオブジェクトには、図9乃至図11のような三次元的な位置や姿勢の変化が可能なものにする。すなわち、更新部303は、目的オブジェクト401の種類に応じて、牽引力601の大きさや向きを変える。このように、ゲーム装置300は、オブジェクトの種類、形状、大きさなどに応じて、囲みオブジェクト402の形状や仮想的なバネ403の繋げ方を変えて、位置や姿勢の制御の仕方を容易に変えることができる。目的オブジェクト401に対応づけた質量によって囲みオブジェクト402の形状や仮想的なバネ403の繋げ方を変えてもよい。
また、ゲームの進行状況(経過時間、残り時間、ゲーム中に発生するイベント、シーン、ゲームで獲得したアイテムなど)や、ゲームのプレイヤーに関する情報(クリアしたステージ数、獲得スコア、累積ゲーム時間、上達度など)に応じて、囲みオブジェクト402の形状や仮想的なバネ403の繋げ方を変化させて、目的オブジェクト401の位置や姿勢の制御を行うこともできる。
上述の各実施形態では、目的オブジェクト401の位置と姿勢の両方を制御しているが、位置のみ、あるいは、姿勢のみを制御するように構成してもよい。
ゲーム装置300を装置の全部又は一部として動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
以上説明したように、本発明によれば、仮想空間内に配置されるオブジェクトの位置や姿勢をスムーズな動きで制御するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。 本実施形態にて利用されるコントローラと情報処理装置の外観を示す説明図である。 ゲーム装置の各部が行う処理を説明するための図である。 目的オブジェクトと囲みオブジェクトと仮想的なバネとの関係を示す図である。 (a)乃至(c)はオブジェクトの姿勢を説明するための図である。 (a)乃至(c)はオブジェクトの位置を説明するための図である。 (a)と(b)はオブジェクトの姿勢を説明するための図である。 本実施例のゲーム装置が行う処理を説明するためのフローチャートである。 実施例2において、目的オブジェクトと囲みオブジェクトと仮想的なバネとの関係を示す図である。 実施例3において、目的オブジェクトと囲みオブジェクトと仮想的なバネとの関係を示す図である。 実施例4において、目的オブジェクトと囲みオブジェクトと仮想的なバネとの関係を示す図である。 実施例5において、目的オブジェクトと囲みオブジェクトと仮想的なバネとの関係を示す図である。
符号の説明
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
201 把持モジュール
202 CCDカメラ
203 十字形キー
204 Aボタン
205 Bボタン
206 各種ボタン
207 インジケータ
208 電源ボタン
251 発光モジュール
252 発光ダイオード
291 テレビジョン装置
300 ゲーム装置
301 記憶部
302 測定部
303 更新部
401 目的オブジェクト
402 囲みオブジェクト
403 仮想的なバネ
501 方向ベクトル
502 地面オブジェクト
601 牽引力
602 減衰力
701 仮想的なバネの軸方向

Claims (14)

  1. 仮想空間内に配置される目的オブジェクトの姿勢を制御するゲーム装置であって、
    (a)当該目的オブジェクトの姿勢、角速度、
    (b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの姿勢、
    (c)当該囲みオブジェクトに対する当該目的オブジェクトの基準姿勢、
    のそれぞれを記憶する記憶部と、
    当該囲みオブジェクトの姿勢の変化を測定する測定部と、
    当該測定された当該囲みオブジェクトの姿勢の変化に応じて、
    (x)当該囲みオブジェクトに対する当該目的オブジェクトの姿勢を、当該基準姿勢に近づけようとする牽引力、
    (y)当該目的オブジェクトの角速度と反対の向きの減衰力、
    に基づいて当該目的オブジェクトの姿勢を求めて前記記憶部を更新する更新部と、
    を備えることを特徴とするゲーム装置。
  2. 仮想空間内に配置される目的オブジェクトの位置と姿勢を、ユーザが把持するコントローラの位置と姿勢に基づいて制御するゲームを行うゲーム装置であって、
    (a)当該目的オブジェクトの位置、姿勢、速度、角速度、質量、
    (b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの位置と姿勢、
    (c)当該囲みオブジェクトに対する当該目的オブジェクトの基準位置と基準姿勢、
    のそれぞれを記憶する記憶部と、
    当該コントローラの位置と姿勢を測定する測定部と、
    当該測定されたコントローラの位置と姿勢の変化に応じて、当該囲みオブジェクトの位置と姿勢を求め、更に、
    (x)当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢を、当該基準位置と当該基準姿勢に近づけようとする牽引力、
    (y)当該目的オブジェクトの速度又は角速度と反対の向きの減衰力、
    に基づいて当該目的オブジェクトの位置と姿勢を求めて前記記憶部を更新する更新部と、
    を備えることを特徴とするゲーム装置。
  3. 請求項2に記載のゲーム装置であって、
    前記更新部は、当該測定されたコントローラの位置の変化量を所定倍率だけ乗じた量だけ当該囲みオブジェクトの位置を変化させ、当該測定されたコントローラの姿勢の変化量だけ当該囲みオブジェクトの姿勢を変化させて、当該囲みオブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  4. 請求項1又は2に記載のゲーム装置であって、
    前記更新部は、当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢のずれの大きさに比例して大きくなる当該牽引力に基づいて、当該目的オブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  5. 請求項1又は2に記載のゲーム装置であって、
    前記更新部は、当該目的オブジェクトの速度又は角速度に比例して大きくなる当該減衰力に基づいて、当該目的オブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  6. 請求項1に記載のゲーム装置であって、
    前記記憶部は、当該目的オブジェクトの質量をさらに記憶し、
    前記更新部は、さらに、当該目的オブジェクトの速度又は角速度と逆向きで、当該目的オブジェクトの質量に比例して大きくなる摩擦力に基づいて、当該目的オブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  7. 請求項2乃至5のいずれか1項に記載のゲーム装置であって、
    前記更新部は、さらに、当該目的オブジェクトの速度又は角速度と逆向きで、当該目的オブジェクトの質量に比例して大きくなる摩擦力に基づいて、当該目的オブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  8. 請求項1乃至7のいずれか1項に記載のゲーム装置であって、
    前記更新部は、当該目的オブジェクトの種類に応じて大きさと向きが変わる当該牽引力に基づいて、当該囲みオブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  9. 請求項1乃至7のいずれか1項に記載のゲーム装置であって、
    前記更新部は、当該ゲーム装置が行うゲームの進行状況と、当該ゲームのプレイヤーに関する情報とのいずれか1つ又は両方に応じて大きさと向きが変わる当該牽引力に基づいて、当該囲みオブジェクトの位置と姿勢を求める
    ことを特徴とするゲーム装置。
  10. 請求項1乃至9いずれか1項に記載のゲーム装置であって、
    当該囲みオブジェクトは、当該ゲーム装置が行うゲームに表示されない非表示オブジェクトである
    ことを特徴とするゲーム装置。
  11. 記憶部、測定部、更新部を有し、仮想空間内に配置される目的オブジェクトの姿勢を制御するゲーム装置にて実行されるゲーム処理方法であって、
    前記記憶部は、
    (a)当該目的オブジェクトの姿勢、角速度、
    (b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの姿勢、
    (c)当該囲みオブジェクトに対する当該目的オブジェクトの基準姿勢、
    のそれぞれを記憶し、
    前記測定部が、当該囲みオブジェクトの姿勢の変化を測定する測定ステップと、
    前記更新部が、当該測定された当該囲みオブジェクトの姿勢の変化に応じて、
    (x)当該囲みオブジェクトに対する当該目的オブジェクトの姿勢を、当該基準姿勢に近づけようとする牽引力、
    (y)当該目的オブジェクトの角速度と反対の向きの減衰力、
    に基づいて当該目的オブジェクトの姿勢を求めて前記記憶部を更新する更新ステップと、
    を備えることを特徴とするゲーム処理方法。
  12. 記憶部、測定部、更新部を有し、仮想空間内に配置される目的オブジェクトの位置と姿勢を、ユーザが把持するコントローラの位置と姿勢に基づいて制御するゲームを行うゲーム装置にて実行されるゲーム処理方法であって、
    前記記憶部は、
    (a)当該目的オブジェクトの位置、姿勢、速度、角速度、質量、
    (b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの位置と姿勢、
    (c)当該囲みオブジェクトに対する当該目的オブジェクトの基準位置と基準姿勢、
    のそれぞれを記憶し、
    前記測定部が、当該コントローラの位置と姿勢を測定する測定ステップと、
    前記更新部が、当該測定されたコントローラの位置と姿勢の変化に応じて、当該囲みオブジェクトの位置と姿勢を求め、更に、
    (x)当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢を、当該基準位置と当該基準姿勢に近づけようとする牽引力、
    (y)当該目的オブジェクトの速度又は角速度と反対の向きの減衰力、
    に基づいて当該目的オブジェクトの位置と姿勢を求めて前記記憶部を更新する更新ステップと、
    を備えることを特徴とするゲーム処理方法。
  13. 仮想空間内に配置される目的オブジェクトの姿勢を制御するコンピュータを、
    (a)当該目的オブジェクトの姿勢、角速度、
    (b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの姿勢、
    (c)当該囲みオブジェクトに対する当該目的オブジェクトの基準姿勢、
    のそれぞれを記憶する記憶部、
    当該囲みオブジェクトの姿勢の変化を測定する測定部、
    当該測定された当該囲みオブジェクトの姿勢の変化に応じて、
    (x)当該囲みオブジェクトに対する当該目的オブジェクトの姿勢を、当該基準姿勢に近づけようとする牽引力、
    (y)当該目的オブジェクトの角速度と反対の向きの減衰力、
    に基づいて当該目的オブジェクトの姿勢を求めて前記記憶部を更新する更新部、
    として機能させることを特徴とするプログラム。
  14. 仮想空間内に配置される目的オブジェクトの位置と姿勢を、ユーザが把持するコントローラの位置と姿勢に基づいて制御するゲームを行うコンピュータを、
    (a)当該目的オブジェクトの位置、姿勢、速度、角速度、質量、
    (b)当該目的オブジェクトの周囲に設定する囲みオブジェクトの位置と姿勢、
    (c)当該囲みオブジェクトに対する当該目的オブジェクトの基準位置と基準姿勢、
    のそれぞれを記憶する記憶部、
    当該コントローラの位置と姿勢を測定する測定部、
    当該測定されたコントローラの位置と姿勢の変化に応じて、当該囲みオブジェクトの位置と姿勢を求め、更に、
    (x)当該囲みオブジェクトに対する当該目的オブジェクトの位置と姿勢を、当該基準位置と当該基準姿勢に近づけようとする牽引力、
    (y)当該目的オブジェクトの速度又は角速度と反対の向きの減衰力、
    に基づいて当該目的オブジェクトの位置と姿勢を求めて前記記憶部を更新する更新部、
    として機能させることを特徴とするプログラム。
JP2006299443A 2006-11-02 2006-11-02 ゲーム装置、ゲーム処理方法、ならびに、プログラム Active JP4413911B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006299443A JP4413911B2 (ja) 2006-11-02 2006-11-02 ゲーム装置、ゲーム処理方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006299443A JP4413911B2 (ja) 2006-11-02 2006-11-02 ゲーム装置、ゲーム処理方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2008113825A JP2008113825A (ja) 2008-05-22
JP4413911B2 true JP4413911B2 (ja) 2010-02-10

Family

ID=39500299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006299443A Active JP4413911B2 (ja) 2006-11-02 2006-11-02 ゲーム装置、ゲーム処理方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP4413911B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9352218B2 (en) 2009-04-21 2016-05-31 Nintendo Co., Ltd. Game apparatus and computer-readable storage medium
JP5704770B2 (ja) * 2013-11-25 2015-04-22 任天堂株式会社 ゲーム装置、ゲームプログラム、ゲームシステム、および、ゲーム処理方法
US9797212B2 (en) 2014-03-31 2017-10-24 Schlumberger Technology Corporation Method of treating subterranean formation using shrinkable fibers

Also Published As

Publication number Publication date
JP2008113825A (ja) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4384697B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
US7497779B2 (en) Video game including time dilation effect and a storage medium storing software for the video game
JP2008136694A (ja) プログラム、情報記憶媒体及びゲーム装置
JP2010022646A (ja) プログラム、情報記憶媒体および画像生成システム
EP2105176A2 (en) Program, information storage medium, determination device, and determination method
JP4129036B1 (ja) 入力装置、入力制御方法、ならびに、プログラム
Wang et al. Jetcontroller: High-speed ungrounded 3-dof force feedback controllers using air propulsion jets
JP6910809B2 (ja) シミュレーションシステム、プログラム及びコントローラ
JP4413911B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP5255723B2 (ja) 選択装置、選択システム、選択装置の制御方法、ならびに、プログラム
JP4806608B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5307060B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP2002140730A (ja) 動画像生成方法、装置、動画像生成プログラムを記録した可読記録媒体及びビデオゲーム装置
JP5124545B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JPH11272157A (ja) 物体の把持動作シミュレーション装置
JP4408910B2 (ja) キャラクター表示装置、キャラクター表示方法、ならびに、プログラム
JP6441844B2 (ja) ゲームプログラムおよびゲームシステム
JP7319786B2 (ja) ゲームプログラム、記録媒体、ゲーム処理方法
JP4956600B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP5155262B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP5499001B2 (ja) ゲーム装置、ならびに、プログラム
JP5133380B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP2008003824A (ja) シミュレーション装置、シミュレーション方法、ならびに、プログラム
JP5255610B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP5559855B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091118

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4413911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250