(57)【特許請求の範囲】
【請求項１】
画像生成を行うゲームシステムであって、
軌道曲線を生成するための複数の制御点に基づき、ゲーム状況に応じてリアルタイムに与えられた始点と終点とを通る軌道曲線を生成する軌道曲線生成手段と、
前記軌道曲線に基づきオブジェクトの位置制御を行う手段と、
を含み、
前記軌道曲線生成手段が、
前記複数の制御点に基づき定められる基準方向と前記始点から前記終点に向かう方向とに基づいて座標変換マトリックスを求め、当該座標変換マトリックスに基づいて前記複数の制御点を座標変換し、座標変換された複数の制御点に基づいて前記軌道曲線を生成することを特徴とするゲームシステム。
【請求項２】
請求項１において、
前記軌道曲線生成手段が、
前記基準方向を向く基準ベクトルと前記始点から前記終点に向かうベクトルとに基づいて前記座標変換マトリックスを求めることを特徴とするゲームシステム。
【請求項３】
請求項１又は２において、
前記座標変換マトリックスは、前記複数の制御点を座標変換する際のスケーリングおよび回転マトリックスであることを特徴とするゲームシステム。
【請求項４】
請求項１〜３のいずれかにおいて、
座標変換された複数の制御点に基づき曲線補間を行い時間ｔをパラメータとする軌道曲線を求め、時間ｔに基づき与えられる前記軌道曲線上の位置座標を当該フレームのオブジェクトの位置座標として与えることを特徴とするゲームシステム。
【請求項５】
請求項１〜４のいずれかにおいて、
オブジェクトの速度に応じた密度で予め前記複数の制御点を与えておくことを特徴とするゲームシステム。
【請求項６】
請求項１〜５のいずれかにおいて、
ゲーム状況に基づき決定されるオブジェクトの発射点、到着点をそれぞれ前記始点、前記終点として与えることを特徴とするゲームシステム。
【請求項７】
コンピュータが使用可能な情報記憶媒体であって、
軌道曲線を生成するための複数の制御点に基づき、ゲーム状況に応じてリアルタイムに与えられた始点と終点とを通る軌道曲線を生成する軌道曲線生成手段と、
前記軌道曲線に基づきオブジェクトの位置制御を行う手段と、
を実行するためのプログラムを含む情報記憶媒体であって、
前記軌道曲線生成手段が、
前記複数の制御点に基づき定められる基準方向と前記始点から前記終点に向かう方向とに基づいて座標変換マトリックスを求め、当該座標変換マトリックスに基づいて前記複数の制御点を座標変換し、座標変換された複数の制御点に基づいて前記軌道曲線を生成することを特徴とする情報記憶媒体。
【請求項８】
請求項７において、
前記軌道曲線生成手段が、
前記基準方向を向く基準ベクトルと前記始点から前記終点に向かうベクトルとに基づいて前記座標変換マトリックスを求めることを特徴とする情報記憶媒体。
【請求項９】
請求項７又は８において、
前記座標変換マトリックスは、前記複数の制御点を座標変換する際のスケーリングおよび回転マトリックスであることを特徴とする情報記憶媒体。
【請求項１０】
請求項７〜９のいずれかにおいて、
座標変換された複数の制御点に基づき曲線補間を行い時間ｔをパラメータとする軌道曲線を求め、時間ｔに基づき与えられる前記軌道曲線上の位置座標を当該フレームのオブジェクトの位置座標として与えることを特徴とする情報記憶媒体。
【請求項１１】
請求項７〜１０のいずれかにおいて、
オブジェクトの速度に応じた密度で予め前記複数の制御点を与えておくことを特徴とする情報記憶媒体。
【請求項１２】
請求項７〜１１のいずれかにおいて、
ゲーム状況に基づき決定されるオブジェクトの発射点、到着点をそれぞれ前記始点、前記終点として与えることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができるゲームシステムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（オブジェクト）などの標的オブジェクトをシューティングすることで、３次元ゲームを楽しむ。
【０００３】
さてこのようなゲームシステムでは、プレーヤの仮想現実感の向上のために、よりリアルで高品質な画像を生成することが重要な技術的課題になっている。このため、例えば投げられたオブジェクト等のように一定の法則にしたがって運動する飛翔物の軌道や蝶や鳥や魚等の自由に動くオブジェクトの移動軌跡についてもよりリアルに表現できることが望ましい。
【０００４】
ところが複雑な移動軌跡を表現したい場合には複雑な軌道演算が必要となり演算負荷が増大する。また発射された飛翔物の軌跡を物理シミュレーションを行い忠実に表現しようとしても、複雑な軌道演算が必要となりゲームシステムの処理負荷が増大する。従って、１フレーム内に全てのオブジェクトの描画処理を完了しなければならないというリアルタイム処理の要請に応えることができない。
【０００５】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは飛翔物の複雑な軌道やオブジェクトの移動軌跡を少ない演算負荷およびデータ量で表現可能なゲームシステム及び情報記憶媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、画像生成を行うゲームシステムであって、軌道曲線を生成するための制御点データに基づき、ゲーム状況に応じてリアルタイムに与えられた始点と終点を通る軌道曲線を生成する軌道曲線生成手段と、前記軌道曲線に基づきオブジェクトの位置制御を行う手段と、を含むことを特徴とする。
【０００７】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【０００８】
一般に複雑な移動軌跡を表現したい場合には複雑な軌道演算が必要となり演算負荷が増大する。
【０００９】
しかし本発明によれば制御点データに基づき、ゲーム状況に応じてリアルタイムに与えられた始点と終点を通る軌道曲線を生成して、当該軌道曲線に基づきオブジェクトの位置制御を行うため、飛翔物の複雑な軌道やオブジェクトの移動軌跡を少ない演算負荷およびデータ量で表現可能なゲームシステム及び情報記憶媒体を提供することができる。
【００１０】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記軌道曲線生成手段が、ゲーム状況に応じてリアルタイムに与えられた始点と終点に基づき前記制御点の座標変換をおこない、座標変換後の制御点データに基づき軌道曲線を生成することを特徴とする。
【００１１】
本発明によればリアルタイムに与えられた始点と終点に基づき前記制御点の座標変換をおこなうことにより、少ない演算負荷で始点と終点を結ぶ軌道曲線を得ることができる。しかもあらかじめ有している１種類の軌道データの制御点を使いまわすことができるのでリアルタイムに変更される始点と終点とを結ぶ軌道曲線を少ないデータ量で生成することが可能である。
【００１２】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記軌道曲線生成手段が、前記制御点データとして与えられた始点および終点に基づき始点から終点に向かう第１のベクトルを求め、ゲーム状況に応じてリアルタイムに与えられた始点と終点に基づき始点から終点へ向かう第２のベクトルを求め、前記第１のベクトルと前記第２のベクトルに基づき、制御点を座標変換する際のスケーリングおよび回転マトリックスを求め、求めたスケーリングおよび回転マトリックスに基づき制御点の座標変換を行うことを特徴とする。
【００１３】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、制御点データに基づき曲線補間を行い時間ｔをパラメータとする軌道曲線をもとめ、各フレームごとに進行する時間ｔに基づき与えられる前記軌道曲線上の位置座標を当該フレームのオブジェクトの位置座標として与えることを特徴とする。
【００１４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクトの速度に応じた密度であらかじめ制御点のデータ与えておくことを特徴とする。
【００１５】
例えば軌道曲線がスプライン曲線Ｐ（ｔ）のようにｔの関数として与えらる場合には、オブジェクトの速度に応じた密度であらかじめ制御点のデータ与えておくことで、ｔの値を進行させるだけで速度に応じた位置座標を取り出すことができる。
【００１６】
例えば最初に元データを作る際に通過点が等間隔になるように、制御点のデータを配置しておくことで、等速に移動するオブジェクトの位置座標を取り出すことができる。
【００１７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ゲーム状況に基づき決定されるオブジェクトの発射点、到着点をそれぞれ始点、終点として与えることを特徴とする。
【００１８】
このようにすることでゲーム状況に応じてリアルタイムに決定される発射点から発射され到達点に達する飛翔物の軌道曲線を生成することができる。
【００１９】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２０】
１．構成
図１に、本実施形態のゲームシステム（画像生成システム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００２１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【００２２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２３】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００２４】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００２５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２６】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００２７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００２８】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２９】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として各種の処理を行う。
【００３１】
ここで、処理部１００が行うゲーム処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【００３２】
なお、処理部１００の機能は、より好適には、ハードウェア（ＣＰＵ、ＤＳＰ等のプロセッサ又はゲートアレイ等のＡＳＩＣ）とプログラム（ゲームプログラム、又はファームウェア等）との組み合わせにより実現される。但し、処理部１００の機能の全てを、ハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。
【００３３】
処理部１００は、オブジェクト空間設定部１１０、画像生成部１２０、音生成処理部１３０を含む。
【００３４】
ここで、オブジェクト空間設定部１１０は、入力されたデータに基づき所定のゲーム演算を行い、演算結果に基づきキャラクタ、マップなどの各種オブジェクト（モデル）をオブジェクト空間内に設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置にその回転角度（Ｘ、Ｙ、Ｚ軸回転）でオブジェクトを配置する。
【００３５】
オブジェクト空間設定部１１０は、軌道曲線生成部１１２および位置制御部１１４を含む。
【００３６】
軌道曲線生成部１１２は、軌道曲線を生成するための制御点データに基づき、ゲーム状況に応じてリアルタイムに与えられた始点と終点を通る軌道曲線を生成する処理を行う。
【００３７】
ゲーム状況に応じてリアルタイムに与えられた始点と終点に基づき前記制御点の座標変換をおこない、座標変換後の制御点データに基づき軌道曲線を生成するようにしてもよい。
【００３８】
例えば前記制御点データとして与えられた始点および終点に基づき始点から終点に向かう第１のベクトルを求め、ゲーム状況に応じてリアルタイムに与えられた始点と終点に基づき始点から終点へ向かう第２のベクトルを求め、前記第１のベクトルと前記第２のベクトルに基づき、制御点を座標変換する際のスケーリングおよび回転マトリックスを求め、求めたスケーリングおよび回転マトリックスに基づき制御点の座標変換を行うようにしてもよい。
【００３９】
またゲーム状況に基づき決定されるオブジェクトの発射点、到着点をそれぞれ始点、終点として与えるようにしてもよい。
【００４０】
位置制御部１１４は前記軌道曲線に基づきオブジェクトの位置制御処理を行う。
【００４１】
制御点データに基づき求められた時間ｔをパラメータとする軌道曲線上で、各フレームごとに進行する時間ｔに基づき与えられる位置座標を当該フレームのオブジェクトの位置座標としてもよい。
【００４２】
画像生成部１２０は、ゲーム処理結果等に基づいて、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像を生成し、表示部１９０に出力する。
【００４３】
より具体的には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（頂点に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等を含むデータ）が作成される。
【００４４】
そして、画像生成部１２０は、この描画データに基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像を、描画領域１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できる領域）に描画する。この際に、画像生成部はテクスチャ記憶部１７６に記憶されるテクスチャをオブジェクトにマッピングする処理等も行う。
【００４５】
音生成部１３０は、ゲーム処理結果等に基づいて各種の音処理を行い、ＢＧＭ、効果音、又は音声などの音を生成し、音出力部１９２に出力する。
【００４６】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００４７】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００４８】
２．本実施形態の特徴
本実施の形態の特徴は、軌道曲線を生成するための始点および終点を含む制御点データに基づき、ゲーム状況に応じてリアルタイムに与えられた始点と終点を通る軌道曲線を生成し、当該軌道曲線に基づきオブジェクトの位置制御を行う点にある。
【００４９】
以下本実施の形態における飛翔物の軌道生成を例にとり前記特徴について説明する。
【００５０】
図２（Ａ）（Ｂ）は飛翔物の軌道生成について概念的に説明するための図である。
【００５１】
図２（Ａ）の２１０は本実施の形態であらかじめ有している軌道データによって生成されるスプライン曲線を模式的に示している。
【００５２】
図２（Ｂ）の２２０および２３０はゲーム状況に応じて与えられた飛翔物の始点と終点である。例えば３次元ゲーム空間内でキャラクタがあるオブジェクト（飛翔物）を投げたとすると、オブジェクト（飛翔物）が発射された点が始点となり、オブジェクト（飛翔物）が到達した点が終点となる。
【００５３】
ここにおいて、前記オブジェクト（飛翔物）がｎフレーム間で始点から終点に到達するとすれば、この間の各フレームのオブジェクト（飛翔物）の位置を求めることが必要になる。
【００５４】
そこで本実施の形態では、軌道データによって生成されるスプライン曲線２１０（図２（Ａ）参照）を拡大または縮小してゲーム状況に応じて与えられた飛翔物の始点２２０と終点２３０間に当てはめることによって飛翔物の位置座標を求める（図２（Ｂ）参照）。
【００５５】
図３（Ａ）（Ｂ）は本実施の形態の軌道データについて説明するための図である。
【００５６】
本実施の形態では軌道データとしてＢスプライン曲線３１０を生成するための制御点（Ｃ0、Ｃ1、Ｃ3、‥、Ｃn-1、Ｃn、Ｃn+1）（図３（Ａ）参照）の位置座標を制御点データテーブル３５０（図３（Ｂ）参照）に持っている。
【００５７】
制御点の位置座標は、始点Ｃ1を原点Ｏとし、始点Ｃ1から終点Ｃnに向かう基準ベクトルＶ１を含む直線をＺ軸とするローカル座標系の値で与えられている。
【００５８】
なおこの基準ベクトルＶ１が第一のベクトルとして機能する。また各制御点の位置座標は終点Ｃnの位置座標が（０，０、１０００）になるようなスケールで与えられている。
【００５９】
次に、軌道データによって生成されるＢスプライン曲線を拡大または縮小して飛翔物の軌道を与える処理について説明する。本実施の形態では、ゲーム状況に応じてリアルタイムに与えられた始点と終点に基づき前記制御点の座標変換をおこない、座標変換後の制御点データに基づき飛翔物の軌道となるＢスプライン曲線を生成する。
【００６０】
図４は、座標変換行列を求める処理について説明するための図である。ＳＰおよびＥＰはワールド座標系において与えられた飛翔物の始点および終点を始点が原点に来るように平行移動したものである。始点ＳＰから終点ＥＰに向かうベクトルを飛翔方向ベクトルＶ２（ｖｘ、ｖｙ、ｖｚ）とし、Ｖ２の大きさをＬ２とする。この飛翔方向ベクトルＶ２が第２のベクトルとして機能する。
【００６１】
ここで飛翔方向ベクトルをＶ２をｘｚ平面上に投影したベクトルをＶ２’とすると、Ｖ２’の大きさＬ２’は次式で与えられる。
【００６２】
【数１】
0004475763.tif 000002
【００６３】
また基準ベクトルＶ１の始点が原点Ｏにくるようｚ軸上に配置する。ここにおいて基準ベクトルの大きさをＬ１とすると、図３で説明したようにＬ１＝１０００である。
【００６４】
本実施の形態では、基準ベクトル（第１のベクトル）と飛翔方向ベクトル（第２のベクトル）に基づき、制御点を座標変換する際のスケーリングおよび回転マトリックスを求める。
【００６５】
ここにおいてスケールＳは次式で与えられる。
【００６６】
【数２】
0004475763.tif 000003
【００６７】
また基準ベクトル（第１のベクトル）と飛翔方向ベクトル（第２のベクトル）の３軸に対する回転を（ｒｘ、ｒｙ、ｒｚ）とすると、ｒｘはθｘで与えられ、ｒｙはθｙで与えられる。したがって３軸に対する回転（ｒｘ、ｒｙ、ｒｚ）は次式で与えられる。
【００６８】
【数３】
0004475763.tif 000004
【００６９】
これにより、制御点の座標変換を行う際の変換行列は次式で与えられる。
【００７０】
【数４】
0004475763.tif 000005
【００７１】
図５は求めた変換行列による座標変換後の制御点を表した図である。
【００７２】
Ｃ0’、Ｃ1’、Ｃ2’、‥、Ｃn-1’、Ｃn’、Ｃn+1’はそれぞれＣ0、Ｃ1、Ｃ2、‥、Ｃn-1、Ｃn、Ｃn+1の座標変換後の制御点を表している。
【００７３】
この座標変換後の制御点Ｃ0’、Ｃ1’、Ｃ2’、‥、Ｃn-1’、Ｃn’、Ｃn+1’に基づき、始点ＳＰおよび終点ＥＰを結ぶ２次のＢスプライン曲線を生成する。
【００７４】
図６は２次のＢスプライン曲線の生成方法について説明するための図である。
【００７５】
Ｐ0、Ｐ1、‥、Ｐnを制御点とする。ここでＰ0、Ｐ1、‥、Ｐnを制御点とする２次のＢスプライン曲線を｛Ｐ（ｔ）｜０≦ｔ≦ｎ｝とするとＰ（ｔ）は次式で与えられる。
【００７６】
【数５】
0004475763.tif 000006
【００７７】
この式においてｔの値を変化させることにより、Ｂスプライン曲線上の点の座標を得ることができる。例えばフレームごとにｔの値を進行させることで、各フレームにおける飛翔物の位置座標を得ることができる。
【００７８】
図７は、各フレームにおいて飛翔物の位置座標を取り出す処理について説明するための図である。
【００７９】
５２０はＢスプライン曲線上の多数の補間点のひとつを表している。このように多数の補間点を設け補間点の位置座標の集合としてＢスプライン曲線を生成する。これによりＢスプライン曲線上の位置座標を補間座標から取り出すことができる。
【００８０】
例えば飛翔物が７フレームかけて始点ＳＰから終点ＥＰに移動する場合には、図７に示すように、Ｂスプライン曲線５１０の各点Ｆ１〜Ｆ７に対応する補間座標を各フレーム飛翔物の位置座標として取り出す。
【００８１】
なおＰ（ｔ）がｔの関数として与えられているため、オブジェクトの速度に応じた密度であらかじめ制御点のデータ与えておくことでｔの値を進行させるだけで速度に応じた位置座標を用意に取り出すことができる。
【００８２】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について説明する。
【００８３】
図８は飛翔物の移動軌跡を求めて飛翔物を含むオブジェクトを生成する際の処理の流れを表すフローチャート図である。
【００８４】
まず図２（Ｂ）で説明したように、飛翔物の発射位置と到達位置から軌道曲線の始点と終点を求める（ステップＳ１０）。すなわち発射位置を始点に到達位置を終点とする。
【００８５】
次に図４で説明したようにあらかじめ有している制御点の始点から終点に向かう第１のベクトルと発射位置（始点）から到達位置（終点）に向かう第２のベクトルに基づき、スケーリングおよび回転マトリックスを求める（ステップＳ２０）。
【００８６】
次に求めたスケーリングおよび回転マトリックスに基づきあらかじめ有している制御点の座標変換を行う（ステップＳ３０）。
【００８７】
次に図６で説明したように変換した制御点に基づき、Ｂスプライン曲線を生成し、曲線上の補間座標を求める（ステップＳ４０）。
【００８８】
そして飛翔物が到達位置に達するまで、ステップＳ５０〜Ｓ６０の処理を行う（ステップＳ７０）。
【００８９】
まず図７で説明したように時間パラメータｔに対応する補間座標を当該フレームにおける飛翔物の位置として決定する（ステップＳ５０）。
【００９０】
そして決定された位置に飛翔物を配置して当該フレームの画像生成を行う（ステップＳ６０）。
【００９１】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図９を用いて説明する。
【００９２】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００９３】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９４】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９５】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００９６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【００９８】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【００９９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１００】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１０１】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１０２】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１０３】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【０１０４】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１０５】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１０６】
図１０（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１０７】
図１０（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１０８】
図１０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１０９】
なお、図１０（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１１０】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１１１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１１２】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１１３】
また本実施の形態では座標変換された制御点に基づき２次のＢスプライン曲線を求める場合を例にとり説明したがこれに限られない。たとえば他の曲線補間の手法で軌道曲線を生成する場合でもよい。
【０１１４】
また本実施の形態では軌道曲線を用いて飛翔物の軌跡を求める場合を例にとり説明したがこれに限られない。たとえば、蝶や鳥や魚等の自由に動くオブジェクトの移動軌跡を求める場合でもよい。
【０１１５】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１１６】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステムの機能ブロック図の例である。
【図２】図２（Ａ）（Ｂ）は飛翔物の軌道生成について概念的に説明するための図である。
【図３】図３（Ａ）（Ｂ）は本実施の形態の軌道データについて説明するための図である。
【図４】座標変換行列を求める処理について説明するための図である。
【図５】求めた変換行列による座標変換後の制御点を表した図である。
【図６】２次のＢスプライン曲線の生成方法について説明するための図である。
【図７】各フレームにおいて飛翔物の位置座標を取り出す処理について説明するための図である。
【図８】飛翔物の移動軌跡を求めて飛翔物を含むオブジェクトを生成する際の処理の流れを表すフローチャート図である。
【図９】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１０】図１０（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  オブジェクト空間設定部
１１２  軌道曲線生成部
１１４  位置制御部
１２０  画像生成部
１２２  テクスチャマッピング処理部
１３０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画領域
１７６  テクスチャ領域
１８０  情報記憶媒体
１８２  モーションデータ
１８４  トリガデータ
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004475763.tif 000007
【図２】
0004475763.tif 000008
【図３】
0004475763.tif 000009
【図４】
0004475763.tif 000010
【図５】
0004475763.tif 000011
【図６】
0004475763.tif 000012
【図７】
0004475763.tif 000013
【図８】
0004475763.tif 000014
【図９】
0004475763.tif 000015
【図１０】
0004475763.tif 000016