(57)【特許請求の範囲】
【請求項１】
所与の回転軸又は回転中心が設定されているオブジェクトに衝撃が加わった場合に、前記オブジェクトに加わった衝撃位置及び衝撃ベクトルを演算する手段と、
前記衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルとに基づいて前記オブジェクトを回転軸又は回転中心の回りに回転させるトルクをもとめ、前記オブジェクトの回転後の位置を決定するために必要な回転位置決定情報を当該トルクに基づき演算する手段と、
前記回転位置決定情報に基づいて配置されたオブジェクトを含む画像を生成する手段と、を含むことを特徴とする画像生成システム。
【請求項２】
所与の回転軸又は回転中心が設定されているオブジェクトに衝撃が加わった場合に、前記オブジェクトに加わった衝撃位置及び衝撃ベクトルを演算する手段と、
前記衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルとに基づいて、前記オブジェクトの回転後の位置を決定するために必要な回転位置決定情報を演算する手段と、
前記回転位置決定情報に基づいて配置されたオブジェクトを含む画像を生成する手段と、
を含み、
前記回転位置決定情報を演算する手段は、前記オブジェクトの回転角が制限範囲に達したら逆向きに回転するようにオブジェクトの回転の向きを変更することを特徴とする画像生成システム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記回転位置決定情報を演算する手段は、前記オブジェクトの回転範囲が、オブジェクトの回転特性に応じて設定された回転範囲に収まるように、オブジェクトの回転範囲を制限することを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記回転位置決定情報を演算する手段は、前記オブジェクトの回転範囲に障害物がある場合に、オブジェクトの回転範囲を障害物と重複しない範囲に制限することを特徴とする画像生成システム。
【請求項５】
コンピュータが読み取り可能な情報記憶媒体であって、
所与の回転軸又は回転中心が設定されているオブジェクトに衝撃が加わった場合に、前記オブジェクトに加わった衝撃位置及び衝撃ベクトルを演算する手段と、
前記衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルとに基づいて前記オブジェクトを回転軸又は回転中心の回りに回転させるトルクをもとめ、前記オブジェクトの回転後の位置を決定するために必要な回転位置決定情報を当該トルクに基づき演算する手段と、
前記回転位置決定情報に基づいて配置されたオブジェクトを含む画像を生成する手段としてコンピュータを機能させるためのプログラムが記憶されていることを特徴とする情報記憶媒体。
【請求項６】
コンピュータが読み取り可能な情報記憶媒体であって、
所与の回転軸又は回転中心が設定されているオブジェクトに衝撃が加わった場合に、前記オブジェクトに加わった衝撃位置及び衝撃ベクトルを演算する手段と、
前記衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルとに基づいて、前記オブジェクトの回転後の位置を決定するために必要な回転位置決定情報を演算する手段と、
前記回転位置決定情報に基づいて配置されたオブジェクトを含む画像を生成する手段としてコンピュータを機能させ、
前記回転位置決定情報を演算する手段は、前記オブジェクトの回転角が制限範囲に達したら逆向きに回転するようにオブジェクトの回転の向きを変更するプログラムが記憶されていることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（オブジェクト）などの標的オブジェクトをシューティングすることで、３次元ゲームを楽しむ。
【０００３】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、例えばドアや回転いすのように銃弾等の衝撃が加わると回転するものについてもよりリアルに表現できることが望まれる。
【０００４】
例えばドアや回転いすなどが銃弾を受けた場合、銃弾を受けた位置、銃弾の方向及び大きさにより、異なる速度や大きさの回転動作を行うはずである。
【０００５】
しかしながらこれまでの画像生成システムにおいては、ドアや回転いすに銃弾が当たった場合には、予め用意された回転動作の画像が生成されるだけであった。このためゲーム画面中のドアや回転いすは、どこに銃弾が当たっても、どのような方向から銃弾が当たっても同じ回転動作を行うことになり、ゲーム画像がアリティに欠けた単調なものとなっていた。
【０００６】
本発明は、このような従来の課題に鑑みてなされたものであり、その目的は衝撃位置及び衝撃の大きさと方向に応じて回転動作を行うオブジェクトの画像をより少ないデータ量及び演算負荷でリアルに表現できる画像生成システム及び情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の画像生成システムは、所与の回転軸又は回転中心が設定されているオブジェクトに衝撃ベクトルが加わった場合に、前記オブジェクトに加わった衝撃位置及び衝撃ベクトルを演算する手段と、衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルとに基づいて、前記オブジェクトの回転位置を決定するために必要な回転位置決定情報を演算する手段と、前記回転位置決定情報に基づいて配置されたオブジェクトを含む画像を生成する手段と、を含むことを特徴とする。
【０００８】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム或いはデータ等）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実現（実行）するための処理ルーチンを含むことを特徴とする。
【０００９】
ここにおいてオブジェクトの回転位置を決定するために必要な情報とは、基準位置または前フレームの位置からの回転角でもよいし、回転速度や回転加速度等でもよい。
【００１０】
本発明によればオブジェクトに加わった衝撃位置及び衝撃ベクトルの大きさ及び方向をリアルタイムに演算し、これらに基づき回転するオブジェクトの画像を生成することができるため、衝撃位置及び衝撃の大きさや方向を反映した回転を行うリアルな画像を生成することができる。
【００１１】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、予め設定された回転軸又は回転中心と衝撃位置との距離及び衝撃ベクトルに基づき前記オブジェクトを回転軸又は回転中心の回りに回転させるトルクをもとめ、当該トルクに基づき回転位置決定情報を演算することを特徴とする。
【００１２】
本発明では、回転可能性のあるオブジェクトにあらかじめ回転軸又は回転中心を設定しておくので簡易に衝撃位置に応じたトルクを演算することができる。このため、少ない演算負荷で衝撃板や衝撃の大きさや方向を反映したリアリティの高い画像を生成することができる。
【００１３】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記オブジェクトの回転範囲が、オブジェクトの回転特性に応じて設定された回転範囲に収まるように、オブジェクトの回転範囲を制限することを特徴とする。
【００１４】
回転範囲の制限は、例えば回転角を調整する方法でも良いし、回転角速度を調整する方法でもよい。
【００１５】
本発明では例えばドアのように所定の範囲内で回転するオブジェクトの画像を生成する場合に便利である。
【００１６】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記オブジェクトの回転範囲に障害物がある場合に、オブジェクトの回転範囲を障害物と重複しない範囲に制限することを特徴とする。
【００１７】
回転範囲の制限は、例えば回転角を調整する方法でも良いし、回転角速度を調整する方法でもよい。障害物は静止物でもよいし、移動物でもよい。
【００１８】
本発明によれば障害物により回転が制限される画像を生成することができるため、よりリアルな回転の画像を生成することができる。
【００１９】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記オブジェクトの回転角が制限範囲に達したら逆向きに回転するようにオブジェクトの回転の向きを変更することを特徴とする。
【００２０】
本発明によれば、回転が制限されて反対向きに回転するオブジェクトの画像を生成することができる。また制限範囲内を振り子のように往復するオブジェクトの画像を生成することができる。
【００２１】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ゲーム時間の経過及び他のオブジェクトとの衝突の発生の少なくとも一つに基づきオブジェクトの回転角速度の大きさを減衰させることを特徴とする。
【００２２】
現実世界における物体の回転運動は、空気抵抗や衝突による抵抗などの様々な抵抗要素により減衰していく。本発明によればゲーム時間の経過によりオブジェクトの回転角速度を減衰させることで、空気抵抗等により回転各速度が減衰する様子を簡易に表現することができる。
【００２３】
また衝撃の発生によりオブジェクトの回転角速度を減衰させることにより、衝撃摩擦により回転が減衰する様子を簡易に表現することができる。
【００２４】
なお、減衰の割合を予め所定の値に定めておくことでより演算負荷の軽減をはかることができる。
【００２５】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、ガン型コントローラを用いたガンゲーム（シューティングゲーム）に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【００２６】
１．構成
図１に、本実施形態を業務用ゲームシステムに適用した場合の構成例を示す。
【００２７】
プレーヤ５００は、本物のマシンガンを模して作られたガン型コントローラ（広義にはシューティングデバイス）５０２を構える。そして、画面５０４に映し出される敵キャラクタ（広義にはオブジェクト）などの標的オブジェクトを狙ってシューティングすることでガンゲームを楽しむ。
【００２８】
特に、本実施形態のガン型コントローラ５０２は、引き金を引くと、仮想的なショット（弾）が高速で自動的に連射される。従って、あたかも本物のマシンガンを撃っているかのような仮想現実感をプレーヤに与えることができる。
【００２９】
なお、ショットのヒット位置（着弾位置）は、ガン型コントローラ５０２に光センサを設け、この光センサを用いて画面の走査光を検知することで検出してもよいし、ガン型コントローラ５０２から光（レーザー光）を発射し、この光の照射位置をＣＣＤカメラなどを用いて検知することで検出してもよい。
【００３０】
図２に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１４０、或いは処理部１００と記憶部１４０と情報記憶媒体１５０を含めばよく）、それ以外のブロック（例えば操作部１３０、画像生成部１６０、表示部１６２、音生成部１７０、音出力部１７２、通信部１７４、Ｉ／Ｆ部１７６、メモリーカード１８０等）については、任意の構成要素とすることができる。
【００３１】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００３２】
操作部１３０は、プレーヤが操作データを入力するためのものであり、その機能は、図１のガン型コントローラ５０２、レバー、ボタンなどのハードウェアにより実現できる。
【００３３】
記憶部１４０は、処理部１００、画像生成部１６０、音生成部１７０、通信部１７４、Ｉ／Ｆ部１７６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３４】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１５０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１５０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１５０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実現（実行）するための種々の情報（プログラム、データ）が格納される。
【００３５】
なお、情報記憶媒体１５０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１４０に転送されることになる。また情報記憶媒体１５０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００３６】
画像生成部１６０は、処理部１００からの指示等にしたがって、各種の画像を生成し表示部１６２に出力するものであり、その機能は、画像生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（画像生成プログラム）、画像情報により実現できる。
【００３７】
音生成部１７０は、処理部１００からの指示等にしたがって、各種の音を生成し音出力部１７２に出力するものであり、その機能は、音生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（音生成プログラム）、音情報（波形データ等）により実現できる。
【００３８】
通信部１７４は、外部装置（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ＡＳＩＣ、或いはＣＰＵなどのハードウェアや、所与のプログラム（通信プログラム）により実現できる。
【００３９】
なお本発明（本実施形態）の処理を実現するための情報は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１７４を介して情報記憶媒体１５０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４０】
また処理部１００の機能の一部又は全部を、画像生成部１６０、音生成部１７０、又は通信部１７４の機能により実現するようにしてもよい。或いは、画像生成部１６０、音生成部１７０、又は通信部１７４の機能の一部又は全部を、処理部１００の機能により実現するようにしてもよい。
【００４１】
Ｉ／Ｆ部１７６は、処理部１００からの指示等にしたがってメモリーカード（広義には、携帯型ゲーム機などを含む携帯型情報記憶装置）１８０との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラＩＣなどにより実現できる。なお、メモリーカード１８０との間の情報交換を赤外線などの無線を用いて実現する場合には、Ｉ／Ｆ部１７６の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【００４２】
処理部１００は、ゲーム演算部１１０を含む。
【００４３】
ここでゲーム演算部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（キャラクタ、移動体）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を決める処理、視点位置や視線角度を決める処理、オブジェクトのモーションを再生又は生成する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部１３０からの操作データ、メモリーカード１８０からのデータ、ゲームプログラムなどに基づいて行う。
【００４４】
ゲーム演算部１１０は、ヒットチェック部１１２、衝撃情報演算部１１４、回転位置決定情報演算部１１６を含む。
【００４５】
ここで、ヒットチェック部１１２は、ガン型コントローラを用いてプレーヤが発射したショットがオブジェクトにヒットしたか否かを調べるヒットチェック処理を行う。
【００４６】
衝撃情報演算部１１４は、衝撃ベクトルが加わった場合に、前記オブジェクトに加わった衝撃位置及び衝撃ベクトルを演算する処理を行う。
【００４７】
回転位置決定情報演算部１１６は、衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルとに基づいて、前記オブジェクトの回転位置を決定するために必要な回転位置決定情報を演算する処理を行う。
【００４８】
なお、画像性絵師部１６０は、前記回転位置決定情報に基づいて配置されたオブジェクトを含む画像を生成することになる。
【００４９】
ここにおいて、予め設定された回転軸又は回転中心と衝撃位置との距離及び衝撃ベクトルに基づき前記オブジェクトを回転軸又は回転中心の回り回転させるトルクをもとめ、当該トルクに基づき回転位置決定情報を演算するようにしてもよい。
【００５０】
また前記オブジェクトの回転範囲が、オブジェクトの回転特性に応じて設定された回転範囲に収まるように、オブジェクトの回転範囲を制限するようにしてもよいし、前記オブジェクトの回転範囲に障害物がある場合に、オブジェクトの回転範囲を障害物と重複しない範囲に制限するようにしてもよい。前記オブジェクトの回転角が制限範囲に達したら逆向きに回転するようにオブジェクトの回転の向きを変更することを特徴とするようにしてもよい。
【００５１】
またゲーム時間の経過及び他のオブジェクトとの衝突の発生の少なくとも一つに基づきオブジェクトの回転角速度の大きさを減衰させるようにしてもよい。
【００５２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５３】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５４】
２．本実施の形態の特徴と動作
本実施の形態の第一の特徴は、所与の回転軸又は回転中心が設定されているオブジェクトに衝撃ベクトルが加わった場合に、衝撃位置と前記オブジェクトの回転軸又は回転中心との距離及び衝撃ベクトルの大きさと方向とに基づいて前記オブジェクトの回転角度を演算する点にある。
【００５５】
図３は本実施の形態のゲーム画像の一例であり、ロッカーのドア７２０の７１０付近に銃弾が命中している様子を表している。本実施の形態ではドアのように所定の軸７３０の回りを回転するオブジェクトに銃弾等の衝撃が加わった場合には、よりリアルな画像を少ない演算負荷で簡易に提供するために以下のような処理を行っている。
【００５６】
図４〜図７を用いて銃弾を受けてドアが回転する際の回転角の演算手法について説明する。
【００５７】
図４は、求めるドアの回転角について説明するための図である。ドア２１０は回転軸２１２の回りを所定の範囲内で回転可能に構成されている。ここで回転軸２１２がｙ軸方向に一致するようにドアのローカル座標系（ｘ、ｙ、ｚ）を考えると、ドアの回転はｙ軸の回りの回転角で与えられる。
【００５８】
図５は銃弾による衝撃ベクトルとドアの回転に寄与する力の関係について説明するための図である。同図はドア２１０に銃弾２５０が命中する際の様子を表したｘｚ平面図である。このようにｘｚ平面で考えるのは、図４で説明したようにドアはｚ軸を回転軸として回転するためｚ軸方向の力は回転に寄与しないからである。
【００５９】
ここで２３０はｘｚ平面上における銃弾２５０が当たった位置、即ち衝撃位置であり、２４０は衝撃によりドアが受けた力の大きさ及び方向を表す衝撃ベクトルのｘｚ成分である。  本実施の形態では、衝撃ベクトルのｘｚ成分２４０のうちドア２１０の回転軌道２６０に対する接線方向の成分２４２（ＶＤ）を求める演算を行う。
【００６０】
図６は衝撃位置２３０の回転中心２１２からの距離ｌとドアを回転させる力Ｔとの関係について説明するための図である。一般に物を回転させるために必要なトルクは加わる力の大きさ及び回転中心からの距離に比例して大きくなる。従って例えば図６の３１０と３２０に同じ大きさの力が加わった場合を比べると、後者のほうがトルクが大きくなる。
【００６１】
ドアの回転を回転させる力Ｔは、半径方向の基準長（回転軸からドアの端までの長さ）をＬ、衝撃ベクトルのｘｚ成分をＶＤ、回転中心２１２と衝撃位置２３０との距離をｌとして以下のように求めている。
【００６２】
Ｔ＝ＶＤ×ｌ／Ｌ                              ‥‥（１）
なおここでドアを回転させる力をＦ、比例定数をｋとするとＦはＴの関数として以下の式で表される。
【００６３】
Ｆ（Ｔ）＝ｋＴ                                ‥‥（２）
また一般に力は質量と加速度の積で表されるので、ドアの回転角加速度ａθyは次式で表すことができる。
【００６４】
ａθy＝Ｆ（Ｔ）＋Ｆ（ｖ）                     ‥‥（３）
ここにおいてＦ（ｖ）は空気等の抵抗である。
【００６５】
また説明を簡単にするためａθyを１フレームあたりの角加速度と考え、前フレームにおけるドアの回転角速度をＶθy(n-1)、今回のドアの回転角速度をＶθy(n)とすると、以下の式が成り立つ。
【００６６】
Ｖθy(n)＝Ｖθy(n-1)＋ａθy                      ‥‥（４）
図７は回転開始位置とｎ−１フレーム目及びｎフレーム目の回転角との関係を説明するための図である。４１０をドアの回転開始位置、４２０をｎ−１フレーム目のドアの位置、４３０をｎフレーム目のドアの位置とする。
【００６７】
図７に示すように回転開始位置４１０からのｎ−１フレーム目のドア４２０の回転角をＶθy(n-1)、ｎフレーム目の回転角をＶθy(n)とすると、次式が成り立つ。
【００６８】
Ｓθy(n)＝Ｓθy(n-1)＋Ｖθy                      ‥‥（５）
ここにおいて銃弾が当たった次のフレームではｎ＝１となり、（４）（５）について以下の式が成り立つ。
【００６９】
Ｖθy(1)＝ａθy                                ‥‥（６）
Ｓθy(1)＝Ｖθy                                ‥‥（７）
従って銃弾が当たった次のフレームではＳθy(1)＝ａθyとなり、ａθyだけ回転した位置にドアが配置されることになる。
【００７０】
このようにすることにより、衝撃位置及び衝撃ベクトルの大きさ及び方向を反映して回転するドアの画像を生成することができる。
【００７１】
さらに次のフレームからは、新たな衝撃が加わっていない場合には、（３）においてＦ（Ｔ）＝０になるためａθy＝Ｆ（ｖ）となる。これは空気抵抗であるため、（４）において求まるＶθy(2)＝Ｖθy(1)＋ａθy は、Ｖθy(1)＞Ｖθy(2)となる。以下のフレームにおいても同様なので、
Ｖθy(1)＞‥＞Ｖθy(n-1)＞Ｖθy(n)
となり、回転の角速度は次第に減衰していく。従って、最初勢いのよかったドアの回転が次第に減衰していく様子をゲーム画面上に簡易に表現することができる。
【００７２】
次に、本実施の形態で前記オブジェクトの回転範囲を制限する例について説明する。本実施の形態において回転角の演算対象はドアであるため、３６０度の範囲で回転するのは不自然である。従って所定の範囲内でドアが回転運動をするように回転角を制限している。
【００７３】
図８はドアの回転範囲を制限する際の回転角の演算例について説明するための図である。ドアの回転範囲は５１０〜５２０の間に制限されているものとする。基準位置を５１０にとって、基準位置５１０からドア２１０の回転角をＳθyとすると、
Ｌ（−）≦Ｓθy≦Ｌ（＋）                    ‥‥（８）
基準位置を５１０にとっているのでＬ（−）＝０、またＬ（＋）＝９０として（８）式を満たすようにＳθyの値を求める。本実施の形態ではドア２１０が５３０の方向に回転して回転角ＳθyがＬ（＋）に達したら、逆向きに反転して５４０の方向に回転させる。そして再び回転角ＳθyがＬ（−）に達したら回転の向きを５５０から５６０に反転させる。反転前の回転角をＶθy、反転後の角速度をＶθy’とすると本実施の形態では、次式のようにして反転後の角速度をＶθy’を演算している。
【００７４】
Ｖθy’＝ｈＶθy  （−１＜ｈ＜０）        ‥‥（９）
なお−１＜ｈ＜０とすることで、回転の向きの逆転及び反転時の摩擦による回転角速度の減衰の表現を実現している。
【００７５】
次に、オブジェクトの回転範囲にある障害物との重複を回避するようにオブジェクトの回転角を制限する例について説明する。
【００７６】
図９は２つのドアが近接して存在する場合、それぞれの回転が他方の回転を干渉する場合の回転範囲の制限例について説明するための図である。
【００７７】
６１０と６２０は、それぞれＰ1、Ｐ2を回転軸として回転可能なドアをｙ軸方向から見た図である。回転軸Ｐ1、Ｐ2からドアの端までの距離をそれぞれＲ1、Ｒ2とする。６１２、６２２はそれぞれ回転軸Ｐ1、Ｐ2を中心とする半径Ｒ1、Ｒ2の円を表しており、この範囲がそれぞれのドアの回転予定範囲である。
【００７８】
ところがＰ1，Ｐ2間の距離はＲ1＋Ｒ2より短いために、互いに干渉しあう点が生じる。理論的に２つのドア６１０、６２０が３６０度回転可能であるとすると、２つのドアが交差する点６３０，６４０（以下「交点」という）を生じるが、実際には６３０から６４０を含む円弧で囲まれた部分ではそれぞれのドアの回転が制限されることになる。
【００７９】
そこで本実施の形態では、各ドアについて次フレームの理論上の回転角からその配置位置を演算する。そして各ドアから長手方向にのばした直線６１４と６２４の交点Ｐ3を求める。Ｐ1、Ｐ3の距離をＬ1、Ｐ2、Ｐ3の距離をＬ2とするとＬ1≦Ｒ1かつＬ2≦Ｒ2が成り立つならば、各ドアの回転角速度を補正する。即ち各ドアの回転速度の理論値がそれぞＶ1，Ｖ2、補正後の回転角速度をＶ1’，Ｖ2’とすれば、
Ｖ1’＝ｈ1×Ｖ1          （−１＜ｈ1＜０）       ‥‥（１０）
Ｖ2’＝ｈ2×Ｖ2          （−１＜ｈ2＜０）       ‥‥（１１）
このようにすれば、次フレームでは各ドアは回転方向が反転し、角速度の大きさも減衰する。従って、ドアの回転が障害物により制限されて反転し、反転の際の摩擦により速度が減衰する様子の画像を生成することができる。
【００８０】
図１０〜図１３は本実施の形態の動作例を説明するためのフローチャート図である。
【００８１】
まず図１０を用いて本実施の形態の動作の概要について説明する。本実施の形態では各フレーム毎に次フレームの画像生成に必要な回転角を求める処理を行い（ステップＳ１０〜Ｓ３０）、求めた回転角に基づきオブジェクトを配置して、当該オブジェクトを含む画像の生成を行っている（ステップＳ４０）。
【００８２】
回転角を求める際には、まず回転範囲になにも制限がないとした場合のオブジェクトの回転角（以下、「回転角の理論値」という）を演算する（ステップＳ１０）。そしてオブジェクトの回転特性に応じて設定された回転範囲に回転角が収まるように理論値を補正する処理を行う（ステップＳ２０）。
【００８３】
そしてオブジェクトの回転範囲にある障害物との重複を回避するための回転角の補正処理を行う（ステップＳ３０）。
【００８４】
次に図１１を用いて、図１０のステップＳ１０の処理の詳細例について説明する。なおここでは回転するオブジェクトとしてドアを例にとり説明する。
【００８５】
ドアに銃弾がヒットしたか否か判断し（ステップＳ１１０）、ヒットした場合にはヒットにより発生したドアを回転させる力（Ｔ）を以下のようにして求める。（ステップＳ１３０〜Ｓ１６０）。
【００８６】
まず銃弾による衝撃位置、衝撃ベクトルの大きさ及び方向を求める（ステップＳ１３０）。そして図５で説明したように、衝撃ベクトルのｘｚ成分のうち、ドアの回転軌道に対する接戦方向の成分（ＶＤ）を求める（ステップＳ１４０）。また図６で説明したように、半径方向の基準長（Ｌ）と回転中心から衝撃位置までの距離（ｌ）との比（ｌ／Ｌ）を求める（ステップＳ１５０）。そして本文中の式（１）で示したようにＶＤとｌ／Ｌに基づきドアを回転させる力（Ｔ）を求める（ステップＳ１６０）。
【００８７】
またドアに銃弾がヒットしていない場合にはＴ＝０とする（ステップＳ１２０）。
【００８８】
次に本文中の式（２）（３）で示したようにＴと空気等の抵抗（Ｆ（ｖ））から回転角速度ａθyを求める（ステップＳ１７０）。
【００８９】
次に本文中の式（４）で示したようにａθy及び前回の回転角速度Ｖθy(n-1)から今回の回転角速度Ｖθy(n)を求める（ステップＳ１８０）。
【００９０】
そして本文中の式（５）で示したようにＶθy及び前回の回転角Ｓθy(n-1)から今回の回転角Ｓθy(n)の理論値を求める（ステップＳ１９０）。
【００９１】
次に図１２を用いて、図１０のステップＳ２０の処理の詳細例について説明する。
【００９２】
前記回転角Ｓθy(n)の理論値がドアの閉会範囲に基づき設定された制限範囲内にない場合には、回転角が制限範囲内になるように補正する（ステップＳ２２０）。
【００９３】
そして本文中の式（９）で示したように、前回の回転角速度に負の反発係数を掛けたものを新たな回転角速度とする（ステップＳ２３０）。
【００９４】
次に図１３を用いて、図１０のステップＳ３０の処理の詳細例について説明する。
【００９５】
図９で説明したように回転範囲内に他のドア等の障害物があった場合には、ドアと障害物が重複しないように回転角を補正する（ステップＳ３２０）。
【００９６】
そして本文中の式（１０）（１１）で示したように、前回の回転角速度に負の反発係数を掛けたものを新たな回転角速度とする（ステップＳ３３０）。
【００９７】
３．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１４を用いて説明する。同図に示すシステムでは、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００９８】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてＤＶＤ、ゲームカセット、ＣＤＲＯＭ等が用いられる。また業務用ゲームシステムではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【００９９】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【０１００】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（システム本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００はシステム全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【０１０１】
更に、この種のシステムには音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１０２】
また、通信装置１０２４は画像生成システム内部で利用される各種の情報を外部とやりとりするものであり、他の画像生成システムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１０３】
そして図１〜図１３で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体１００６、この情報記憶媒体１００６からの情報等に基づいて動作するＣＰＵ１０００、画像生成ＩＣ１０１０或いは音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１０４】
図１に示すような業務用ゲームシステムに本実施形態を適用した場合には、内蔵されるシステムボード（サーキットボード）１１０６に対して、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装される。そして、本実施形態の処理（本発明の手段）を実行（実現）するための情報は、システムボード１１０６上の情報記憶媒体である半導体メモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１０５】
図１５（Ａ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＤＶＤ１２０６、メモリーカード１２０８、１２０９等に格納されている。
【０１０６】
図１５（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）１３０２を介して接続される端末１３０４-1〜１３０４-nとを含む画像生成システムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音処理ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１０７】
なお、図１５（Ｂ）の構成の場合に、本発明の処理を、ホスト装置（サーバー）と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１０８】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリーカード、携帯型ゲーム機）を用いることが望ましい。
【０１０９】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１１０】
例えば本実施の形態では、ドアのように所定の範囲に回転範囲が制限されているオブジェクトを例にとり説明したがこれに限られない。図１６に示す回転いすのように、３６０度回転可能なオブジェクトの場合でもよい。また例えば電気スタンドのようなＴ字型のオブジェクトが衝撃を受けて回転する場合でもよい。
【０１１１】
また本実施の形態では、回転軸がＹ軸と平行な場合を例に取り説明したがこれに限られない。回転軸が３軸のいずれかと平行でない場合でもよい。
【０１１２】
また本実施の形態では、オブジェクトに加わる衝撃として銃弾を例に取り説明したがこれに限られない。
【０１１３】
また本実施の形態では回転軸の回りを回転するオブジェクトを例にとり説明したがこれに限られない。回転中心の回りを回転するオブジェクトの回転動作にも適用可能である。
【０１１４】
また本実施の形態では、衝撃が一回の場合の回転動作について説明したがこれに限られない。連続して複数の衝撃が加わった場合の回転動作にも適用可能である。
【０１１５】
また本発明はガンゲーム以外にも種々のゲーム（ガンゲーム以外のシューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１１６】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図１】本実施形態を業務用ゲームシステムに適用した場合の構成例を示す図である。
【図２】本実施形態の画像生成システムのブロック図の例である。
【図３】本実施形態のゲーム画像の例である。
【図４】ドアの回転角について説明するための図である。
【図５】銃弾による衝撃ベクトルとドアの回転に寄与する力の関係について説明するための図である。
【図６】衝撃位置の回転中心からの距離ｌとドアを回転させる力Ｔとの関係について説明するための図である。
【図７】回転開始位置とｎ−１フレーム目及びｎフレーム目の回転角との関係を説明するための図である。
【図８】ドアの回転範囲を制限する際の回転角の演算例について説明するための図である。
【図９】２つのドアが近接して存在する場合、それぞれの回転が他方の回転を干渉する場合の回転範囲の制限例について説明するための図である。
【図１０】本実施の形態の動作例を説明するためのフローチャート図である。
【図１１】本実施の形態の動作例を説明するためのフローチャート図である。
【図１２】本実施の形態の動作例を説明するためのフローチャート図である。
【図１３】本実施の形態の動作例を説明するためのフローチャート図である。
【図１４】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１５】図１５（Ａ）、（Ｂ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【図１６】本発明が適用可能な他のオブジェクトの一例である。
【符号の説明】
１００  処理部
１１０  ゲーム演算部
１１２  ヒットチェック部
１１４  衝撃情報演算部
１１６  回転位置決定情報演算部
１３０  操作部
１４０  記憶部
１５０  情報記憶媒体
１６０  画像生成部
１６２  表示部
１７０  音生成部
１７２  音出力部
１７４  通信部
１７６  Ｉ／Ｆ部
１８０  メモリーカード
【図１】
0004301469.tif 000002
【図２】
0004301469.tif 000003
【図３】
0004301469.tif 000004
【図４】
0004301469.tif 000005
【図５】
0004301469.tif 000006
【図６】
0004301469.tif 000007
【図７】
0004301469.tif 000008
【図８】
0004301469.tif 000009
【図９】
0004301469.tif 000010
【図１０】
0004301469.tif 000011
【図１１】
0004301469.tif 000012
【図１２】
0004301469.tif 000013
【図１３】
0004301469.tif 000014
【図１４】
0004301469.tif 000015
【図１５】
0004301469.tif 000016
【図１６】
0004301469.tif 000017