(57)【特許請求の範囲】
【請求項１】
コンピュータに、第１オブジェクト及び第２オブジェクトを含む複数のオブジェクトを配置した仮想空間を設定させるとともに、所与の視点から見た当該仮想空間の画像を生成させて、所与のゲームを実行させるためのプログラムであって、
前記第１オブジェクトに複数の変位点を設定する点設定手段、
前記第１オブジェクトと第２オブジェクトとが衝突したか否かを判定する衝突判定手段、
前記衝突判定手段により衝突したと判定された場合に、第１オブジェクトに当該第２オブジェクトを当該衝突位置で結合させる結合手段、
前記結合手段により前記第２オブジェクトが結合された場合、当該衝突位置に近接する変位点を、前記第１オブジェクトの中心から離れるように、新たな位置に変位させる変位点制御手段、
前記第１オブジェクトが前記仮想空間内の所定面上を転動する際の当該第１オブジェクトの運動演算を前記変位点に基づいて行うことによって、前記結合手段により前記第２オブジェクトが結合された場合には、前記変位点制御手段による変位後の変位点に基づく運動演算を行い、当該第２オブジェクトと当該第１オブジェクトとが一体となって前記仮想空間内を転動するように制御する転動制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記変位点制御手段が、前記結合手段により前記第１オブジェクトに前記第２オブジェクトが結合された状態の当該第２オブジェクトの外縁に基づいて、変位点の変位量を決定するように前記コンピュータを機能させるためのプログラム。
【請求項３】
請求項１または２に記載のプログラムであって、
前記変位点制御手段が、前記第１オブジェクトに、前記結合手段により結合された前記第２オブジェクトを投影した範囲に含まれる変位点を変位させる変位点として決定するように前記コンピュータを機能させるためのプログラム。
【請求項４】
請求項１〜３の何れかに記載のプログラムであって、
前記第１オブジェクトと前記第２オブジェクトの結合可否を判定する結合判定手段として前記コンピュータを機能させ、
前記結合手段および変位点制御手段が、前記衝突判定手段により衝突したと判定されたとともに、前記結合判定手段により結合可と判定された場合に機能するように前記コンピュータを機能させる、
ためのプログラム。
【請求項５】
請求項４に記載のプログラムであって、
前記結合判定手段が、予め設定されている前記第２オブジェクトの大きさを表す設定値に基づいて、結合可否を判定するように前記コンピュータを機能させるためのプログラム。
【請求項６】
請求項１〜５の何れかに記載のプログラムであって、
前記複数の変位点それぞれの前記第１オブジェクトの中心からの距離の平均より大きい位置にある変位点の位置を前記第１オブジェクトの中心に近づくように徐々に変位させる適応化手段として前記コンピュータを機能させるためのプログラム。
【請求項７】
請求項６に記載のプログラムであって、
前記結合手段により結合された第２オブジェクトの結合態様を変更する結合態様変更手段として前記コンピュータを機能させ、
前記結合態様変更手段による変更に伴って、前記適応化手段が機能するように前記コンピュータを機能させる、
ためのプログラム。
【請求項８】
請求項１〜７の何れかに記載のプログラムであって、
所与の条件に応じて、前記結合手段により結合されていた前記第２オブジェクトを前記第１オブジェクトから分離させる分離手段として前記コンピュータを機能させ、
前記変位点制御手段が、前記分離手段により前記第２オブジェクトが分離された場合、前記第２オブジェクトが結合していた位置に近接する変位点を、前記第１オブジェクトの中心に近づけるように、新たな位置に変位させるように前記コンピュータを機能させる、
ためのプログラム。
【請求項９】
請求項１〜８の何れかに記載のプログラムであって、
前記点設定手段が、前記第１オブジェクトを取り囲むように変位点を設定するように前記コンピュータを機能させるためのプログラム。
【請求項１０】
請求項１〜９の何れかに記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１１】
第１オブジェクト及び第２オブジェクトを含む複数のオブジェクトを配置した仮想空間を設定するとともに、所与の視点から見た当該仮想空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
前記第１オブジェクトに複数の変位点を設定する点設定手段と、
前記第１オブジェクトと第２オブジェクトとが衝突したか否かを判定する衝突判定手段と、
前記衝突判定手段により衝突したと判定された場合に、第１オブジェクトに当該第２オブジェクトを当該衝突位置で結合させる結合手段と、
前記結合手段により前記第２オブジェクトが結合された場合、当該衝突位置に近接する変位点を、前記第１オブジェクトの中心から離れるように、新たな位置に変位させる変位点制御手段と、
前記第１オブジェクトが前記仮想空間内の所定面上を転動する際の当該第１オブジェクトの運動演算を前記変位点に基づいて行うことによって、前記結合手段により前記第２オブジェクトが結合された場合には、前記変位点制御手段による変位後の変位点に基づく運動演算を行い、当該第２オブジェクトと当該第１オブジェクトとが一体となって前記仮想空間内を転動するように制御する転動制御手段と、
を備えるゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
コンピュータに、所与のゲームを実行させるためのプログラム等に関する。
【０００２】
【発明の背景】
従来、様々な種類のゲームが提案されているが、衝突した他の物体を表面上に結合（付着）して雪ダルマ式に巨大化するオブジェクトを転動操作して楽しむゲームは存在しなかった。
【０００３】
【発明が解決しようとする課題】
ゲームでは、いかにキャラクタの設定に則した「それらしく見える動き」をさせるかが重要になる。前記巨大化するオブジェクトをキャラクタと考えた場合、「それらしく見える動き」とは、例えば、その見かけ（外観形状）の凹凸に応じて上下左右に不規則に振られて転動をすることである。
【０００４】
しかし、前記巨大化するオブジェクトの表面には、設定上、大量の物体が結合されて外観形状は常に不規則に変化する。そのため、外観形状そのものから動き（転動）を求めようとすると、既結合状態の大量の物体を含む多数の面を演算の対象としなければならず、膨大な演算処理が必要となる。結果、運動の演算がゲーム画面の描画レートに追いつかなくなる問題が発生する。また逆に、前記オブジェクトの外観形状如何を問わず単純なモデル（例えば、単一のプリミティブ）として運動演算すると、ゲーム画面内での動きが単純化されて興ざめしてしまうという問題がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、衝突した他の物体を表面上に結合して雪ダルマ式に巨大化するオブジェクトについて、外見形状に応じたそれらしく見える動きをより簡単に実現することである。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、第１の発明は、プロセッサを備える装置に対して、該プロセッサによる演算・制御により、第１オブジェクト及び第２オブジェクトを含む複数のオブジェクトを配置した仮想空間を設定させるとともに、所与の視点から見た当該仮想空間の画像を生成させて、所与のゲームを実行させるためのゲーム情報であって、
所定方向にのみ変位可能な複数の変位点を設定して前記第１オブジェクトの転動基準面を形成させる点設定手段（例えば、図６の運動計算用モデル設定部２２２、運動計算用モデル情報５３）と、前記第１オブジェクトと第２オブジェクトとの衝突判定を行う衝突判定手段（例えば、図６のゲーム演算部２２）と、前記衝突判定手段により衝突したと判定された場合に、第１オブジェクトに当該第２オブジェクトを当該衝突位置で結合させる結合手段（例えば、図６の表示用モデル結合部２２１、結合履歴情報５７）と、前記結合手段により前記第２オブジェクトが結合された場合、当該衝突位置に近接する変位点を前記所定方向に沿った新たな位置に変位させる変位点制御手段（例えば、図６の運動計算用モデル設定部２２２、運動計算用モデル情報５３）と、前記第１オブジェクトの前記仮想空間内における転動を前記変位点に基づいて制御する転動制御手段（例えば、図６のゲーム演算部２２、運動計算用モデル情報５３）と、を前記装置に機能させるための情報を含むゲーム情報である。
【０００７】
また、第１１の発明は、第１オブジェクト及び第２オブジェクトを含む複数のオブジェクトを配置した仮想空間を設定するとともに、所与の視点から見た当該仮想空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
所定方向にのみ変位可能な複数の変位点を設定して前記第１オブジェクトの転動基準面を形成させる点設定手段と、前記転動基準面に対する前記第２オブジェクトの衝突判定を行う衝突判定手段と、前記第１オブジェクトと第２オブジェクトとの衝突判定を行う衝突判定手段と、前記衝突判定手段により衝突したと判定された場合に、第１オブジェクトに当該第２オブジェクトを当該衝突位置で結合させる結合手段と、前記結合手段により前記第２オブジェクトが結合された場合、当該衝突位置に近接する変位点を前記所定方向に沿った新たな位置に変位させる変位点制御手段と、前記第１オブジェクトの前記仮想空間内における転動を前記変位点に基づいて制御する転動制御手段と、を備えるゲーム装置である。
【０００８】
第１または第１１の発明によれば、第１オブジェクトに第２オブジェクトが衝突した場合、結合手段が第１オブジェクトに第２オブジェクトを該衝突位置で結合させる。
【０００９】
ここで言う衝突位置とは、例えば、第１オブジェクトと第２オブジェクトを密着させて表示する場合、両オブジェクトの最も近接した頂点座標や最も近接した面や該面の中心座標などがこれに該当する。また、結合方法は、例えば、表示用モデル（ゲーム画面にオブジェクトの外観を表示させるためのモデル）の階層構造を設定する方法や、第１オブジェクトの表示用モデルのモデリングデータそのものを第２オブジェクトと結合したモデルに変更する方法、などによって実施される。従って、衝突以降、第１オブジェクトと第２オブジェクトは一体となって表示されることになる。
【００１０】
一方、第１オブジェクトには、結合手段によって結合される表示用モデルの情報とは別に、点設定手段によって複数の変位点が設定されて、転動基準面が形成されている。そして、第１オブジェクトに第２オブジェクトが衝突した場合、変位点制御手段が、衝突位置に近接する変位点を選択し、適当に変位点の位置を変更して転動基準面を変更することによって、第２オブジェクトと結合した第１オブジェクトの凹凸の変化に応じた転動基準面を形成する。
【００１１】
そして、転動制御手段が、変位点に基づいて第１オブジェクトが転動基準面で転がるように運動演算する。従って、例えば、第１オブジェクトが角張っているために上下しつつ転動する様を簡単に表現できる。また、例えば、接地位置に隣接する変位点によって形成される転動基準面の傾斜を参照して第１オブジェクトの中心と接地位置を結ぶ直線の鉛直からの左右方向の傾きを得ることで、外観の凹凸に応じて重心位置がずれて左右に振れているように見える転動を求めることができる。
【００１２】
従って、第１または第１１の発明によれば、第１オブジェクトと第２オブジェクトとが結合して外観形状がいかに複雑になっても、少ない演算負荷で外観形状の凹凸に応じたそれらしく見える転動の様を表現できる。
第１オブジェクトをプレーヤが操作する雪ダルマ式に巨大化するオブジェクト、第２オブジェクトを周囲に配置されている物体に当てはめるならば、巨大化するオブジェクトに外観の凹凸に応じたそれらしい転動を簡単に実現することができる。
【００１３】
また、第２の発明として、第１の発明のゲーム情報であって、前記変位点制御手段が、前記第２オブジェクトの形状に基づいて、変位点の変位量を決定するための情報（例えば、図６の運動計算用モデル設定プログラム４２２、階層情報５１４、結合履歴情報５７）を含むゲーム情報を構成することとしても良い。
【００１４】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、変位点制御手段が、第１オブジェクトに結合された第２オブジェクトの形状に基づいて変位点を設定する。
【００１５】
第２オブジェクトの形状に基づくとは、第１オブジェクトに結合された状態の第２オブジェクトの相対的な姿勢に基づく意味である。即ち、例えば、変位点制御手段は第２オブジェクトが結合して凹凸が生じた状態の外観形状に沿って変位点を設定し転動基準面を形成させる。
従って、第２オブジェクトが結合して凹凸が生じた第１オブジェクトに、外観形状の凹凸に応じた、よりそれらしい不規則な転動をさせることができる。
【００１６】
また更に、第３の発明として、第１または第２の発明のゲーム情報であって、前記変位点制御手段が、前記第２オブジェクトの形状に基づいて、変位させる変位点の数を決定するための情報（例えば、図６の運動計算用モデル設定プログラム４２２、階層情報５１４、結合履歴情報５７）を含むゲーム情報を構成することとしても良い。
【００１７】
第３の発明によれば、第１または第２の発明と同様の効果を奏するとともに、変位点制御手段が、変位させる変位点の数を適当にすることで、第２オブジェクトが結合した第１オブジェクトの外観形状に沿った、より詳細な転動基準面を形成することできる。従って、どの程度外観形状の凹凸に忠実な転動をさせるかを調節することができる。
【００１８】
第４の発明は、第１〜３の何れかの発明のゲーム情報であって、前記第１オブジェクトと前記第２オブジェクトの結合可否を判定する結合判定手段（例えば、図６の結合判定部２２３）を前記装置に機能させるための情報（例えば、図６の結合判定プログラム４２３、結合判定情報６５、球パラメータ５５、配置物パラメータ６４）と、前記結合手段および変位点制御手段が、前記衝突判定手段により衝突したと判定されたとともに、前記結合判定手段により結合可と判定された場合に機能するための情報（例えば、図６の表示用モデル結合プログラム４２１、運動計算用モデル設定プログラム４２２）と、を含むゲーム情報である。
【００１９】
第４の発明によれば、第１〜３の何れかの発明と同様の効果を奏するとともに、結合可否の判定によって第１オブジェクトと結合できる第２オブジェクトの条件を設定できる。
例えば、第２オブジェクトが極めて長尺の棒状物である場合、結合させる位置関係如何によっては、例えば、第１オブジェクトが、第２オブジェクトによって串刺しされた状態となり、第１オブジェクトを転動させるのが極端に不自然になる場合が考えられる。そこで、例えば該第２オブジェクトについては、端部で衝突した場合は結合不可と設定する。
従って、不自然な転動が生じる事態を未然に防ぐことができる。
【００２０】
また、第５の発明として、第４の発明のゲーム情報であって、前記結合判定手段が、予め設定されている前記第２オブジェクトの大きさ及び／又は重量に基づいて、結合可否を判定するための情報（例えば、図６の結合判定プログラム４２３、半径５５１、体積５５２、代表寸法６４１）を含むゲーム情報を構成することとしても良い。
【００２１】
第５の発明によれば、第４の発明と同様の効果を奏するとともに、第１オブジェクトに結合する第２オブジェクトの大きさや重量をコントロールし、第１オブジェクトの外観形状の凹凸変化を、常に所定の範囲に収めることができる。
従って、不自然な転動が生じる事態を未然に防ぐとともに、常に安定した転動を実現してゲーム性の重要な要素である操作の爽快感を維持することができる。
【００２２】
第６の発明は、第１〜５の何れかの発明のゲーム情報であって、前記変位点制御手段が、前記変位点の位置を一様化する方向に変位させる適応化手段（例えば、図６の運動計算用モデル馴染演算部２２６）を有するように機能させるための情報（例えば、図６の運動計算用モデル馴染プログラム４２６）を含むゲーム情報である。
【００２３】
第６の発明によれば、第１〜５の何れかの発明と同様の効果を奏するとともに、変位点の位置を一様化する。即ち、転動基準面の凹凸差を小さくして、第１オブジェクトをより転がりやすくする。
従って、例えば、第１オブジェクトの転動とともに変位点の位置を一様化するならば、第２オブジェクトの結合した直後は結合姿勢が不適切で転がり難いが、転動を繰り返すうちに形状が馴染んで徐々に転がりやすくなってゆく感覚を実現し、よりそれらしく見える動きが実現できる。
【００２４】
また、第７の発明として、第６の発明のゲーム情報であって、前記結合手段により結合された第２オブジェクトの結合態様を変更する結合態様変更手段（例えば、図６の表示用モデル馴染演算部２２５）を前記装置に機能させるための情報（例えば、図６の表示用モデル馴染プログラム４２５）と、前記結合態様変更手段による変更に伴って、前記適応化手段が機能するための情報（例えば、図６の表示用モデル馴染プログラム４２５）と、を含むゲーム情報を構成することとしても良い。
【００２５】
第２オブジェクトの結合態様とは、第１オブジェクトとの結合位置関係・姿勢、結合した状態の形状などである。
第７の発明によれば、第６の発明と同様の効果を奏するとともに、結合態様変更手段が第２オブジェクトの結合態様を変化させる。例えば、棒状の第２オブジェクトが第１オブジェクトから突き立つように結合している場合では、第２オブジェクトの長尺方向が第１オブジェクトの面に沿うよう、第２オブジェクトの姿勢や結合位置が変更される。
【００２６】
具体的には、例えば、第２オブジェクトの重心位置が第１オブジェクトの中心に最も近づくように結合態様を段階的に変化させる、転動基準面より外に位置する第２オブジェクトの部分を、転動基準面に沿うように屈曲・圧縮するように表示用モデルを変形させる、などの方法で実現できる。
従って、第１オブジェクトが転動することによって、見かけ上の形状の馴染が表現され、転動をよりそれらしく見せることができる。
【００２７】
第８の発明は、第１〜７の何れかの発明のゲーム情報であって、所与の条件に応じて、前記結合手段により結合されていた前記第２オブジェクトを前記第１オブジェクトから分離させる分離手段（例えば、図６の表示用モデル結合部２２１）を前記装置に機能させるための情報（例えば、図６の表示用モデル結合プログラム４２１）と、前記変位点制御手段が、前記分離手段により前記第２オブジェクトが分離された場合、前記第２オブジェクトが衝突していた位置に近接する変位点を前記所定方向に沿った新たな位置に変位させるための情報（例えば、図６の運動計算用モデル設定プログラム４２２）と、を含むゲーム情報である。
【００２８】
第８の発明によれば、第１〜７の何れかの発明と同様の効果を奏するとともに、一度結合した第２オブジェクトを所定の条件で分離させ、分離後の第１オブジェクトの形状に基づいて転動基準面が再設定される。
【００２９】
従って、例えば、第１オブジェクトが障害物オブジェクトと衝突した場合を条件として、その相対運動量に応じて既結合状態の第２オブジェクトを分離させるならば、あたかも衝突の影響で既に結合していたものが外れる様子を簡単に実現することができる。また、第２オブジェクトを分離させたのち転動基準面が再設定されることで、第２オブジェクトが外れたところがいびつになってその後の転動に衝突が影響する状態を実現することができる。
【００３０】
第９の発明として、第１〜８の何れかの発明のゲーム情報であって、前記点設定手段が、前記第１オブジェクトの全面を転動基準面とするための情報（例えば、図６の球表示用モデル情報５１、運動計算用モデル情報５３）を含むゲーム情報を構成してもよい。
【００３１】
第９の発明によれば、第１〜８の何れかの発明と同様の効果を奏するとともに、タイヤのように転動面が設定されない任意の方向に転動できる球転がしの要領で、衝突した他の物体を表面上に結合（付着）して雪ダルマ式に巨大化するキャラクタを転動操作して楽しむゲームを実現することができる。
【００３２】
第１０の発明は、第１〜９の何れかの発明のゲーム情報を記憶する情報記憶媒体である。
【００３３】
ここで言う情報記憶媒体とは、前記装置が情報を読み取り可能な、例えば、ＣＤ−ＲＯＭ、ＦＤ(R)、ＭＯ、メモリカード、ＤＶＤ、ハードディスク、ＤＡＴ、ＩＣメモリなどであって、その接続形態は、装置に着脱自在であっても良いし、通信回線を介して前記ゲーム装置に接続されるものであっても良くその形態は問わない。従って、第１０の発明によれば、前記装置に、第１〜９の何れかの発明と同様の効果を発揮させることができる。
【００３４】
［発明の実施の形態］
〔第１の実施形態〕
次に、図１〜図２０を参照して、本発明を適用した第１の実施形態について詳細に説明する。
【００３５】
第１の実施形態は、球を転がして他の物体を雪ダルマ式にその表面に結合（付着）させ、時間内にいかに大きくするかを競う『玉転がし』ゲーム、として説明するが、本発明が適用されるものはこれに限定されない。例えば、オブジェクトを転動させることをモチーフとしたキャラクタが登場するゲームであれば、そのキャラクタ設定やゲームストーリ設定にかかわらず適用できる。
【００３６】
[構成の説明]
まず、本実施形態における構成を説明する。
図１は、本発明を家庭用ゲーム装置１２００に適用した場合の一例を示す図である。同図に示すように、家庭用ゲーム装置１２００は、ゲームコントローラ１２０２、１２０４と、本体装置１２１０と、を備え、ディスプレイ１２２０に接続される。
【００３７】
ゲームプログラムやデータ等のゲームを実行するために必要なゲーム情報は、例えば、本体装置１２１０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６等に格納されている。
本体装置１２１０は、前記情報記憶媒体から読み出したゲーム情報とゲームコントローラ１２０２、１２０４からの操作入力信号とに基づいて、種々のゲーム処理を実行し、ディスプレイ１２２０にゲーム画面を表示させる。
【００３８】
プレーヤは、ディスプレイ１２２０に映し出されたゲーム画面を見ながら、ゲームコントローラ１２０２、１２０４に備えられた十字キーやアナログスティック、各種のボタン等を操作し、球の移動操作などを入力してゲームを楽しむ。
【００３９】
[ゲーム内容の説明]
図２は、家庭用ゲーム装置１２００によるゲーム画面の一例を示す図である。ゲーム画面は、例えば、オブジェクトを配置したオブジェクト空間内を所与の視点から見たポリゴンによる３ＤＣＧ画像として表示される。
【００４０】
プレーヤは、キャラクタＣとなって、衝突した物体をその表面に結合させる不思議な球Ｂを転がし、路上やその周辺に配置されている配置物Ｅ１〜Ｅ３に上手く衝突させ、その表面に結合させ球Ｂを雪ダルマ式に大きくしてゆく。
【００４１】
球Ｂは、球Ｂの半径と比べて所定の大きさ以下の配置物Ｅを結合することができるが、所定の大きさを越える配置物Ｅは結合できない。図２では、例えば塀（Ｅ４、Ｅ５、Ｅ８）、電柱（Ｅ６）、トラック（Ｅ７）などは球Ｂより大きいため結合できない。結合できない配置物は障害物となるので、上手に回避しながら球Ｂを大きくしなければならない。
【００４２】
プレーヤは、球Ｂを大きくして、よりサイズの大きな配置物Ｅを結合してゆく。最初は空き缶や野球ボール程度の大きさの配置物Ｅを結合するところから始まり、巨大化とともに自転車、郵便ポスト、バス等を結合するようになり、ついには家屋や電柱サイズの物体をも結合して街を破壊しながら大きくなる。そして、時間内に球Ｂを所定の大きさ以上にすればステージクリアとなる。プレーヤは、非日常的な事態のなかで繰り広げられるジョークに満ちた破壊の感覚という、従来にない楽しさを得ることができる。
【００４３】
本実施形態によれば、この様に種種雑多な物体（配置物Ｅ）をその表面に結合させ不規則な凹凸を有する球Ｂを、外形形状の凹凸に応じたそれらしい転動を簡単に実現することができる。
【００４４】
[原理の説明]
次に、図３〜図５を参照して、本実施形態における球Ｂの転動を実現するための原理を説明する。本実施形態では、球Ｂには、球表示用モデルＢｄと、運動計算用モデルＢｍと、球衝突判定用モデルＢｊと、が用意されている。配置物Ｅには、配置物表示用モデルＥｄと、配置物衝突判定用モデルＥｊと、が用意されている。
【００４５】
図３は、表示用モデルの扱いについて説明するための図である。
図３（ａ）に示すように、球Ｂはゲーム空間内の路面Ｋ上に設定された配置物Ｅ２１〜Ｅ２４を結合しながら大きくなる。
【００４６】
球表示用モデルＢｄは、ゲーム画面上に球Ｂの外観を描画するためのモデリングデータであって、例えば図３（ｂ）に示すように、ポリゴンによってモデリングされている。その表面には所定のテクスチャがマッピングされて、例えば雪玉やゴムボール等の見かけが表現される。
【００４７】
球Ｂが配置物Ｅと衝突すると、球表示用モデルＢｄには当該配置物Ｅの配置物表示用モデルＥｄが衝突位置Ｈで結合される。
例えば、図３（ａ）の状況の場合、図３（ｃ）に示すように配置物表示用モデルＥｄ２１、Ｅｄ２５、Ｅｄ２６が、それぞれ衝突位置Ｈ２１、Ｈ２５、Ｈ２６を結合点として球表示用モデルＢｄに結合される。球表示用モデルＢｄと配置物表示用モデルＥｄとの結合関係は、例えば、球表示用モデルＢｄを親レベル、配置物表示用モデルＥｄを子レベル、衝突位置を結合点とする階層関係によって構成される。従って、衝突以降、球Ｂと配置物Ｅは一体となって表示されることになる。
【００４８】
図４は、運動計算用モデルの扱いについて説明するための図である。
運動計算用モデルＢｍは、例えば図４（ｂ）に示すように、球Ｂの中心Ｏ１を原点とする極座標（Ｒ，θ）で定義される複数の変位点Ｐを配置して転動基準面Ｓを形成するモデルである。球Ｂの転動は、該モデルに基づいて演算される。
【００４９】
具体的には、例えば、現在の接地位置に近傍する変位点を参照して球Ｂの路面Ｋからの高さを得ることで、上下に振れて見える転動をさせることができる。また、接地位置に隣接する変位点によって形成される転動基準面Ｓの傾斜を参照して球Ｂの中心と接地位置を結ぶ直線の鉛直からの左右方向の傾きを得ることで、重心位置がずれて左右に振れているように見える転動をさせることができる。
尚、設定される変位点Ｐの数は適宜設定して構わない。例えば、球表示用モデルＢｄを構成するポリゴン数に比べ少なく設定され、運動演算をする際の演算負荷の低減を図っても良い。
【００５０】
配置物Ｅ２１が新たに球Ｂに衝突した場合は、図４（ｂ）に示す状況のように、運動計算用モデルＢｍは配置物Ｅ２１が結合したことによって球Ｂの外観に凹凸が生じる部分にあたる変位点Ｐの位置が変更される。
【００５１】
より具体的には、図４（ｃ）に示すように、結合した状態の配置物表示用モデルＥｄ２１（または配置物衝突判定用モデルＥｊ２１）を運動計算用モデルＢｍに投影した範囲（図中、一点鎖線に挟まれる鋭角領域）に含まれる変位点Ｐ１、Ｐ２を選択する。そして、中心Ｏ１と変位点Ｐ１を通る直線Ｌ１および中心Ｏ１と変位点Ｐ２を通る直線Ｌ２と、結合した状態の配置物表示用モデルＥｄ２１（または配置物衝突判定用モデルＥｊ２１）との交点が求められる。
【００５２】
前記直線それぞれについて配置物Ｅ２１との交点が求められたならば、図４（ｄ）に示すように、交点の中から中心Ｏ１より最外縁の交点Ｑ１、Ｑ２を検索し、極座標を算出して半径軸座標Ｒmaxを得る。次に、変位点Ｐ１、Ｐ２の半径軸座標値Ｒを、Ｒ＋α×（Ｒmax−Ｒ）に再設定する。
【００５３】
図４（ｄ）の例では、係数αは１未満の実数であって、再設定された変位点はＰ１’、Ｐ２’のように、球表示用モデルＢｄの見かけ上の凹凸よりも係数αだけ内側に構成される。従って、球Ｂの最外縁部を路面Ｋに噛み合いながら転動させることができる。係数αを１以上としても良いのは勿論である。
【００５４】
従って、運動計算用モデルＢｍの凹凸は、球表示用モデルＢｄの凹凸に対応しており、運動計算時には球Ｂの外見に応じたそれらしいゴツゴツとした転動が再現可能となる。また、運動計算用モデルＢｍの凹凸の差を、球表示用モデルＢｄの凹凸差よりも小さく形成することによって、見かけ上の凹凸のままでは実際上転がらないような状態であってもゲーム性に支障無く運動を計算させることができる。尚、運動計算用モデルＢｍの変位点Ｐは、点に限らず平面として設定しても構わない。
【００５５】
球衝突判定用モデルＢｊは、衝突判定処理に使われるモデルであって、例えば図５（ｂ）に示すように、球表示用モデルＢｄの外観を単純化した所謂バウンディングボリュームとして定義されている。
【００５６】
本実施形態における全てのオブジェクトには、大きさ（例えば、半径、代表寸法、体積、重量などの物理量に相当）を表す設定値が与えられている。配置物Ｅが結合した場合は、例えば、図５（ｃ）に示すように、球衝突判定用モデルＢｊの大きさは、球Ｂの大きさと結合された配置物Ｅの大きさとの和に等しくなるように、球衝突判定用モデルＢｊ’によって更新される。従って、多数のポリゴンからなる球表示用モデルＢｄを衝突判定に使用することなく、簡単に球Ｂの大きさに応じた衝突判定を実現できる。
【００５７】
[機能ブロックの説明]
次に、本実施形態を実現するための機能ブロックを説明する。
図６は、本実施形態における機能構成の一例を示すブロック図である。同図に示すように、本実施形態を構成する機能ブロックとしては、プレーヤからの操作を入力する操作部１０と、装置やゲームの制御にかかわる演算を担う処理部２０と、ゲーム画面を出力する表示部３０と、プログラムやデータ等を記憶する記憶部４０と、が有る。
【００５８】
操作部１０は、プレーヤからの操作を入力する。操作部１０は、図１におけるゲームコントローラ１２０２、１２０４に相当し、その機能は、例えば十字キー、レバー、ボタン、ジョイスティック、トラックボールなどのハードウェアによって実現できる。操作部１０から出力される操作入力信号は、処理部２０に伝えられる。
【００５９】
処理部２０は、ゲーム装置全体の制御、装置内の各機能ブロックへの命令、ゲーム演算などの各種の演算処理を行う。その機能は、例えば、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、あるいはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラムやデータ等により実現できる。また、処理部２０には、ゲームの演算処理を行うゲーム演算部２２と、ゲーム演算部２２の処理によって求められた各種のデータから画像データを生成する画像生成部２４と、が含まれる。
【００６０】
ゲーム演算部２２は、操作部１０からの操作入力信号や、記憶部４０から読み出したプログラムやデータ等に基づいて、種々のゲーム処理を実行する。ゲーム処理としては、例えば、オブジェクトの移動に伴う位置座標や速度等を求める演算処理、オブジェクトの衝突判定処理、オブジェクトをオブジェクト空間に配置する処理、オブジェクトへのマッピング情報の選択処理、ゲーム結果（成績）を求める処理、視点の位置や視線方向の決定、などが挙げられる。
【００６１】
また、ゲーム演算部２２には、表示用モデル結合部２２１と、運動計算用モデル設定部２２２と、結合判定部２２３と、表示用モデル馴染演算部２２５と、運動計算用モデル馴染演算部２２６と、衝突判定用モデル変更部２２７と、が含まれる。
【００６２】
表示用モデル結合部２２１は、球Ｂと配置物Ｅとが衝突したと判定された場合に、球表示用モデルＢｄと配置物表示用モデルＥｄとの位置関係に基づいて衝突位置を決定し、配置物表示用モデルＥｄを球表示用モデルＢｄに該衝突位置で結合させる。
【００６３】
運動計算用モデル設定部２２２は、球表示用モデルＢｄの外観形状に基づいて運動計算用モデルＢｍの変位点Ｐの位置を設定する。
【００６４】
結合判定部２２３は、球Ｂのパラメータと配置物Ｅのパラメータを比較して、配置物Ｅ毎に球Ｂと結合可能か否か設定する。具体的には、例えば、ゲーム空間において球Ｂより所定の半径内に配置されている配置物Ｅを検索して判定対象とする。そして、例えば、配置物Ｅの大きさを表すパラメータが、球Ｂの大きさを表すパラメータの所定値以下である場合に結合可とする。
【００６５】
表示用モデル馴染演算部２２５は、球Ｂに既結合状態の配置物Ｅの姿勢を、球Ｂの移動とともに凹凸差が小さくなるように変更する。これによって、配置物Ｅの結合時の姿勢如何にかかわらず、球Ｂが回転しているとだんだんと全体として凹凸が小さな球形に近づいて外観形状が馴染む状態を実現する。具体的には、例えば、既結合状態の配置物Ｅを、結合点を中心に球Ｂの回転方向とは逆向きに所定回転させる。
【００６６】
運動計算用モデル馴染演算部２２６は、運動計算用モデルＢｍの表面の凹凸差を球Ｂの移動と共に一様化させることによって、球表示用モデルＢｄの馴染と同様に、球Ｂが転がる内に球状に馴染んでより転がり易くなる状態を実現する。具体的には、例えば、全ての変位点Ｐの平均値（中心Ｏ１からの距離の平均値）より外（即ち、大きい場合）に設定されている変位点Ｐを、該平均値に近づくように変位させる。
【００６７】
衝突判定用モデル変更部２２７は、球Ｂに配置物Ｅが結合して大きくなった分だけ、球Ｂの球衝突判定用モデルＢｊを拡大する。具体的には、例えば、球Ｂの球衝突判定用モデルＢｊを、球Ｂの体積と配置物Ｅの体積和と等しくなる大きさに拡大する。
【００６８】
画像生成部２４は、例えばＣＰＵ、ＤＳＰ、画像生成専用のＩＣ、メモリなどのハードウェアによって実現され、ゲーム演算部２２からの指示信号や各種座標情報等に基づいて画像信号の生成を行う。
【００６９】
表示部３０は、画像生成部２４からの画像信号に基づいて、ゲーム画面を表示出力する物であり、図１のディスプレイ１２２０に相当する。表示部３０は、例えば、ＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現できる。
【００７０】
記憶部４０は、装置全体の制御を実行させるプログラムやデータ類を記憶しており、例えば、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＤ、ＦＤ(登録商標) 、ＤＶＤ、ＩＣメモリ、ハードディスク等のハードウェアによって実現される。
【００７１】
記憶部４０には、ゲーム内における種々の処理を実行させるプログラムやプログラムの実行に必要な設定値等のデータが含まれるゲーム情報４２が、記憶されている。
【００７２】
ゲーム情報４２には、プログラムとしては、表示用モデル結合部２２１を機能させるための表示用モデル結合プログラム４２１と、運動計算用モデル設定部２２２を機能させるための運動計算用モデル設定プログラム４２２と、結合判定部２２３を機能させるための結合判定プログラム４２３と、表示用モデル馴染演算部２２５を機能させるための表示用モデル馴染プログラム４２５と、運動計算用モデル馴染演算部２２６を機能させるための運動計算用モデル馴染プログラム４２６と、衝突判定用モデル変更部２２７を機能させるための衝突用モデル変更プログラム４２７と、が含まれる。
【００７３】
またゲーム情報４２には、データとしては、球Ｂおよび配置物Ｅそれぞれに関する情報を格納する球データ５０と、配置物データ６０と、が含まれる。
【００７４】
球データ５０には、球表示用モデル情報５１と、運動計算用モデル情報５３と、球衝突判定用モデル情報５４と、球パラメータ５５と、結合履歴情報５７と、が格納される。
【００７５】
球表示用モデル情報５１は、図３に示した球表示用モデルＢｄのモデリングデータを格納する。そして、球表示用モデル情報５１には、球Ｂの初期設定にあたるオリジナルモデル情報５１１と、球Ｂのオリジナルモデルと配置物Ｅの表示用モデルとの階層情報５１２と、が含まれる。
【００７６】
階層情報５１２は、球Ｂのオリジナルモデルを親ノード（要素）、結合した配置物Ｅを子ノード、衝突位置Ｈを結合点、とする階層構造の情報を格納する。
従って、新たに結合する配置物Ｅと球Ｂ（既に結合状態の別の配置物Ｅが有る）との衝突位置を求める場合は、球Ｂのオリジナルモデルと既結合状態の配置物表示用モデルＥｄとを対象として、どこで衝突したかが求められる。
【００７７】
運動計算用モデル情報５３は、図４に示した運動計算用モデルＢｍのモデリングデータを格納する。
【００７８】
球衝突判定用モデル情報５４は、図５に示した球Ｂの球衝突判定用モデルＢｊのモデリングデータを格納する。本実施形態では、衝突判定用モデルは所謂バウンディングボリュームとして定義される。
【００７９】
球パラメータ５５には、現在の球Ｂの状態量と各種設定情報が格納される。具体的には、例えば、速度、加速度、位置座標、姿勢の情報、および球Ｂの大きさを示す半径５５１、体積５５２などの情報が格納されるが、適宜設定して構わない。
【００８０】
結合履歴情報５７は、球Ｂと結合した順に、例えば、配置物Ｅの識別番号５７１と、結合点座標情報５７２と、を記憶する。
【００８１】
配置物データ６０は、球Ｂ以外にゲーム空間内に配置される全てのオブジェクト毎に設定される。配置物データ６０には、配置物表示用モデル情報６１と、配置物衝突判定用モデル情報６２と、配置物パラメータ６４と、結合判定情報６５と、が格納されている。
【００８２】
配置物表示用モデル情報６１は、配置物表示用モデルＥｄのモデリングデータを格納する。配置物衝突判定用モデル情報６２は、配置物衝突判定用モデルＥｊのモデリングデータを格納する。尚、本実施形態では、配置物衝突判定用モデルＥｊは所謂バウンディングボリュームとするがその形状は適宜設定して構わない。
【００８３】
配置物パラメータ６４は、球パラメータ５５と同様に、配置物Ｅの状態量と各種設定情報が格納される。具体的には、例えば、速度、加速度、位置座標、姿勢の情報、配置物Ｅの大きさを示す代表寸法６４１、体積６４２、重心位置座標６４３などの情報が格納されるが、適宜設定して構わない。
【００８４】
結合判定情報６５は、球Ｂとの結合可否を示す情報であって、例えば結合可は「１」結合不可は「０」として記憶される。結合判定情報６５は、球Ｂの大きさに応じて結合判定部２２３によって変更される。
【００８５】
[フローの説明]
次に、図７〜図１６を参照して、本実施形態における詳細な処理の流れについて説明する。尚、衝突判定処理、オブジェクトの位置・速度・加速度を求める演算処理、ゲーム画面の描画処理などは公知であるのでここでの説明は省略する。
【００８６】
図７は、ゲーム中の処理の流れを説明するためのフローチャートである。
同図に示すように、ゲームスタートと共に、操作部１０より球Ｂの移動操作が入力される（ステップＳ１０２）。
【００８７】
ゲーム演算部２２は、操作部１０からの操作入力信号に基づいて運動計算用モデル情報５３に基づいて球Ｂの転動を計算し、画像生成部２４に球表示用モデル情報５１に基づいて球Ｂを移動表示させる（ステップＳ１０４）。
次いでゲーム演算部２２は、動物や乗物などゲーム空間内で独自に移動する設定がされている配置物Ｅの運動を計算して、画像生成部２４に配置物表示用モデル情報６１に基づいて当該配置物Ｅを移動表示させる（ステップＳ１０６）。
【００８８】
球Ｂと配置物Ｅの移動がされたならば、球Ｂを中心とする所定の範囲に配置されている配置物Ｅについて、結合判定部２２３が結合可否判定処理を実行する（ステップＳ１０８）。
【００８９】
図８は、結合可否判定処理の流れを説明するためのフローチャートである。
同図に示すように、結合判定部２２３は、先ず球Ｂから所定の半径に有る配置物Ｅを検索する（ステップＳ２０２）。例えば図１４は、塀（Ｅ４４〜Ｅ４６）に囲まれた路を行く球Ｂを真上から見た様子を示す図である。図１４の場合では、配置物Ｅ４１〜Ｅ４６が結合判定処理の対象となる。
【００９０】
次に、結合判定部２２３は、検索された配置物Ｅの配置物パラメータ６４と球パラメータ５５とを比較して、当該配置物Ｅと球Ｂの大小関係を判定する（ステップＳ２０４）。例えば、配置物Ｅの代表寸法６４１が球Ｂの半径５５１の２０％以下である場合（ステップＳ２０６のＹＥＳ）、球Ｂに結合可能と判定して結合判定情報６５に「１」を格納する（ステップＳ２０８）。一方、代表寸法６４１が球Ｂの半径５５１の２０％以下でない場合は（ステップＳ２０６のＮＯ）、大きすぎて球Ｂに結合できないと判定して結合判定情報６５に「０」を格納する（ステップＳ２１０）。そして、判定結果の格納が終了したならば、図７のフローに戻る。
【００９１】
図７において、次にゲーム演算部２２は、球衝突判定用モデル情報５４と配置物衝突判定用モデル情報６２とに基づいて衝突判定を実施する（ステップＳ１１０）。そして、球Ｂと配置物Ｅとが衝突した場合（ステップＳ１１２のＹＥＳ）、ゲーム演算部２２は、当該配置物Ｅの結合判定情報６５を参照して、球Ｂに結合できるか否かを判断する（ステップＳ１１４）。
【００９２】
配置物Ｅが結合可と判定されている場合（ステップＳ１１４のＹＥＳ）、表示用モデル結合部２２１が、球Ｂと該配置物Ｅを対象にして、表示用モデル結合処理を実行する（ステップＳ１１６）。
【００９３】
図９は、表示用モデル結合処理の流れを説明するためのフローチャートである。同図に示すように、表示用モデル結合部２２１は、先ず階層情報５１２を参照して、球表示用モデル情報５１、と衝突した配置物Ｅの配置物表示用モデル情報６１とに基づいて配置物Ｅの衝突位置Ｈを求める（ステップＳ３０２）。
【００９４】
図１５は、衝突位置の関係を示す概念図である。同図（ａ)は、球Ｂに何も結合されておらず、球Ｂと配置物Ｅ３０が衝突した場合を、球表示用モデルＢｄと配置物表示用モデルＥｄ３０とで表している。この場合、衝突位置Ｈは、球表示用モデルＢｄ上のＨ１になる。同図（ｂ）は、球Ｂにすでに複数の配置物Ｅが結合状態にあって、新たに結合する配置物Ｅ３０が、既結合状態の配置物Ｅ３２と衝突した場合を示す。この場合、衝突位置Ｈは、配置物Ｅ３２の配置物表示用モデルＥｄ３２上のＨ２になる。
従って、球Ｂが結合を繰り返すと、見かけ上からは、新たに結合する配置物Ｅ３０は既結合状態の配置物Ｅ３２に結合することになる。尚、衝突位置情報は、例えば、球Ｂのローカル座標系における座標値でも配置物Ｅに最も近い頂点であっても良く、適宜定義して構わない。
【００９５】
衝突位置Ｈが求められたならば、表示用モデル結合部２２１は、球Ｂのオリジナルモデルを親レベル、新たに結合した配置物Ｅを子レベル、前記衝突位置Ｈを結合点とする旨、階層情報５１２を更新し（ステップＳ３０４）、結合履歴情報５７に新たに配置物Ｅを加えて更新する（ステップＳ３０６）。更新が終わったら、図７のフローに戻る。
【００９６】
図７に戻って、次に運動計算用モデル設定部２２２が、運動計算用モデル設定処理を実行して、変更された球表示用モデル情報５１に応じて運動計算用モデル情報５３を変更する（ステップＳ１１８）。
【００９７】
図１０は、運動計算用モデル設定処理の流れを説明するためのフローチャートである。同図に示すように、運動計算用モデル設定部２２２は、先ず、新たに結合した配置物Ｅの配置物表示用モデルＥｄまたは配置物衝突判定用モデルＥｊを運動計算用モデルＢｍ上に投影した範囲に含まれる変位点Ｐを選択する（ステップＳ４０２）。即ち、配置物Ｅが結合したことによって凸部が生じる範囲の変位点Ｐを選択する。例えば、図４（ｃ）の場合、変位点Ｐ１とＰ２とが選択される。
【００９８】
次に、運動計算用モデル設定部２２２は、選択された変位点Ｐと球Ｂの中心Ｏ１とを通る直線Ｌを求め（ステップＳ４０４）、球Ｂに結合した姿勢の配置物表示用モデルＥｄまたは配置物衝突判定用モデルＥｊとの交点を求める（ステップＳ４０６）。
【００９９】
交点が求められたならば、運動計算用モデル設定部２２２は、図４（ｄ）に示すように、交点の中から中心１より最外縁の交点Ｑ１、Ｑ２を検索し、極座標値を算出して半径軸座標Ｒmaxを得る(ステップＳ４０８）。そして、運動計算用モデル設定部２２２は、変位点Ｐ１、Ｐ２の半径軸座標値ＲをＲ＋α×（Ｒmax−Ｒ）に再設定する(ステップＳ４１０）。運動計算用モデル設定部２２２は、以上の処理をステップＳ４０２で選択された全ての変位点Ｐについて実施する（ステップＳ４１２）。
【０１００】
従って、運動計算用モデルＢｍは、図４（ｄ）に示すように見かけの形状（球表示用モデルＢｄの外観形状）よりも凹凸が少ない転動基準面Ｓを形成する。この運動計算用モデルＢｍに基づいて、球Ｂの転動を計算することによって、見かけ同様にゴツゴツとした転動を実現する一方で、ゲームバランスに見合った転がり易さが得られる。設定が終了したら、図７のフローに戻る。
【０１０１】
図７に戻って、次に衝突判定用モデル変更部２２７が、新たに結合された配置物Ｅの分だけ球衝突判定用モデルＢｊを変更する（ステップＳ１２０）。
【０１０２】
図１１は、衝突判定用モデル変更処理の流れを説明するためのフローチャートである。同図に示すように、衝突判定用モデル変更部２２７は、先ず、新たに結合した配置物Ｅの体積６４２を球Ｂの体積５５２に加算し変更する（ステップＳ５０２）。そして、加算後の体積５５２と同体積となるように球衝突判定用モデルＢｊを求め（ステップＳ５０４）、球衝突判定用モデル情報５４を更新する（ステップＳ５０６）。次いで、衝突判定用モデル変更部２２７は、加算後の体積５５２と体積が等しくなる球形の半径５５１を求め、球パラメータ５５を更新する（ステップＳ５０８）。更新が済んだら図７のフローに戻る。
【０１０３】
図７に戻って、次にゲーム演算部２２は、球パラメータ５５から速度の情報を参照して現在移動中であるかを判定する（ステップＳ１２２）。
移動中である場合（ステップＳ１２２のＹＥＳ）、表示用モデル馴染演算部２２５が、表示用モデル馴染処理を実行して、球Ｂの外観の凹凸差が小さくなるように既結合状態の配置物Ｅの結合位置および結合姿勢を変更して球Ｂの形を馴染ませ（ステップＳ１２４）、次いで、運動計算用モデル馴染演算部２２６が運動計算用モデル馴染処理を実行して、運動計算用モデルＢｍの形を馴染ませる（ステップＳ１２６）。
一方、移動していない場合は（ステップＳ１２２のＮＯ）、球Ｂが転動していないのに形が変化しないようにするために、表示用モデル馴染処理と運動計算用モデル馴染処理は実行しない。
【０１０４】
図１２は、表示用モデル馴染処理の流れを説明するためのフローチャートである。同図に示すように、表示用モデル馴染演算部２２５は、先ず結合履歴情報５７を参照して、既結合状態の配置物Ｅを、結合逆順（新しく結合した方から順）に従って所定数だけ選択する（ステップＳ６０２）。
尚、この際、表示用モデル馴染演算部２２５は、視点（仮想カメラ）の位置と球Ｂの位置とに基づいて、球Ｂの中心Ｏ１より画面奥に位置する配置物Ｅを選択する。即ち、ゲーム画面上球Ｂの裏側に位置して事実上プレーヤからは見えない配置物Ｅを処理対象とすることで、配置物Ｅの姿勢が変化する瞬間がプレーヤに見えないようにする。また、選択する数を限定するのは該処理に係る演算負荷を適正に保つためである。
【０１０５】
次に、選択された配置物Ｅを、球Ｂの回転方向とは逆向きに、結合点を中心に所定角度回転以内で隣接する他の配置物Ｅと衝突するまで回転させる（ステップＳ６０４）。
【０１０６】
ここで、例えば図１６（ｂ）に示すように、仮想力に応じて配置物Ｅ３４を回転させた結果、当該配置物Ｅ３４が新たに隣接する他の配置物Ｅ３５に接触した場合（ステップＳ６０６のＹＥＳ）、結合点Ｔと新しい接触点Ｔ’を比較して配置物Ｅの重心Ｇに近い点を結合点とする（ステップＳ６０８）。そして、階層情報５１４、結合履歴情報５７の結合位置座標５７２を変更する（ステップＳ６１０）。表示用モデル馴染演算部２２５は、ステップＳ６０２で選択した配置物Ｅ全てに同様の処理を実行して（ステップＳ６１２）、図７のフローに戻る。
【０１０７】
図７に戻って、次に運動計算用モデル馴染演算部２２６が、運動計算用モデルの凹凸差が小さくなるように変位点Ｐの位置を変更する（ステップＳ１２６）。
【０１０８】
図１３は、運動計算用モデル馴染処理の流れを説明するためのフローチャートである。同図に示すように、運動計算用モデル馴染演算部２２６は、先ず全変位点Ｐの半径軸座標の平均値Ｒaveを求める（ステップＳ７０２）。次いで、平均値Ｒaveより外に位置する変位点Ｐを選択する（ステップＳ７０４）。
【０１０９】
選択された変位点Ｐの半径軸座標を、運動計算用モデル馴染演算部２２６は、Ｒ＝Ｒ−（Ｒ−Ｒave）×γに変更する（ステップＳ７０６）。係数γは適宜設定して良い。変更が終了したら、図７のフローに戻る。
【０１１０】
図７に戻って、ゲーム演算部２２は、経過時間を判定する（ステップＳ１２８）。ここで、所定時間に達している場合は（ステップＳ１３０のＹＥＳ）、ゲームオーバとなる（ステップＳ１３２）。所定時間に満たない場合は（ステップＳ１３０のＮＯ）、ステージクリアの判定が行われ、球Ｂが所定の大きさより大きくなっていてクリア条件を満たす場合は（ステップＳ１３４のＹＥＳ）、次のステージに進む（ステップＳ１３６）。球Ｂが十分大きくなっていなければ（ステップＳ１３４のＮＯ）引き続きゲームが継続される。
【０１１１】
[ハードウェアの構成]
次に、本実施形態を実現できるハードウェアの構成について説明する。
図１７は、本実施形態のハードウェア構成の一例を示す図である。同図に示す装置ではＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータの入出力可能に接続されている。
【０１１２】
音生成ＩＣ１００８には、スピーカ１０２０が接続され、画像生成ＩＣ１０１０には、表示装置１０１８が接続され、Ｉ／Ｏポート１０１２には、コントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には、通信装置１０２４が接続されている。
【０１１３】
情報記憶媒体１００６は、図６における記憶部４０に該当し、プログラム、画像データ、音データなど予め設定されている情報や、ゲームの進行状況を記憶するプレイデータなどが主に格納されるものであり、図６におけるゲーム情報４２も格納されることとなる。
【０１１４】
家庭用ゲーム装置１２００では、例えば、ゲームプログラムを格納する情報記憶媒体として、ＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、ＤＶＤなどが用いられ、プレイデータを格納する情報記憶媒体としては、メモリカード１２１６などが用いられる。また、業務用ゲーム装置の場合では、ＲＯＭ等のＩＣメモリやハードディスクが用いられ、この場合は情報記憶媒体１００６は、ＲＯＭ１００２になる。
【０１１５】
コントロール装置１０２２は、図６における操作部１０に該当し、操作パネルや図１のゲームコントローラ１２０２、１２０４等に相当するものであり、プレーヤが、ゲームの進行に応じて種々の操作を装置本体に入力するためのものである。
【０１１６】
ＣＰＵ１０００は、図６における処理部２０に該当し、情報記憶媒体１００６に格納されているプログラム、ＲＯＭ１００２に格納されているシステムプログラム、コントロール装置１０２２によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【０１１７】
ＲＡＭ１００４は、このＣＰＵ１０００の作業領域などとして用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２内に記憶された所与の情報、或いはＣＰＵ１０００の演算結果が格納される。
【０１１８】
更に、この種の装置には、音生成ＩＣ１００８と、画像生成ＩＣ１０１０とが設けられていて、ゲーム音や、ゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成された音はスピーカ１０２０によって出力される。
【０１１９】
また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から出力される画像情報にもとづいて表示装置１０１８に画像を出力するための画素情報を生成する集積回路である。なお、表示装置１０１８は、図６における表示部３０に該当し、ＣＲＴ、ＬＣＤ、ＰＤＰ、ＥＬＤなどによって実現される。
【０１２０】
また、通信装置１０２４は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介して、ゲームプログラム等の情報を送受信することなどに利用される。
【０１２１】
また、図７〜図１３で説明した処理は、当該処理を行うプログラムと、該プログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理はＣＰＵ１０００、或いは汎用のＤＳＰ等によってソフトウェア的に実行されても良い。
【０１２２】
尚、本発明は図１に示した家庭用ゲーム装置１２００だけでなく、業務用ゲーム装置、多数のプレーヤが参加する大型アトラクション装置、マルチメディア端末、画像生成装置、ゲーム画像を生成するシステム基板等の種々の装置に適用できる。
【０１２３】
例えば、図１８は、本発明を業務用ゲーム装置１３００に適用した場合の一例を示す図である。業務用ゲーム装置１３００では、ディスプレイ１３０４にゲーム画面が映し出される。プレーヤは、該ゲーム画面を見ながら、スティック１３０６で、球Ｂの移動操作を入力して、ゲームを楽しむ。
【０１２４】
業務用ゲーム装置１３００に内蔵されるシステム基板１３１０には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装されている。ゲーム情報４２は、システム基板１３１０上の情報記憶媒体であるメモリ１３１２に格納されている。
【０１２５】
また、図１９は、本発明を、ネットワークを介して接続された装置を含むゲーム装置に適用した場合の例を示す図である。
図１９（ａ）の構成では、ホスト装置１４００と、ホスト装置１４００と通信回線１４０２を介して接続される端末１４０４−１〜１４０４−ｎとを含む。
この場合、ゲーム情報４２は、例えば、ホスト装置１４００が制御可能な磁気ディスク装置、磁気テープ装置、ＩＣメモリ等の情報記憶媒体１４０６に格納されている。端末１４０４−１〜１４０４−ｎが、スタンドアロンでゲーム画像、ゲーム音を再生できるものである場合には、ホスト装置１４００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラムなどが端末１４０４−１〜１４０４−ｎに配信される。一方、スタンドアロンで生成できない場合には、ホスト装置１４００がゲーム画像、ゲーム音を生成して端末１４０４−１〜１４０４−ｎに伝送することにより端末において出力することとなる。
【０１２６】
図１９（ｂ）の構成の場合、ホスト装置１４００に該当する装置は無く、端末１４０４−１〜１４０４−ｎが通信回線１４０２を介して接続され、本発明の各手段を端末１４０４−１〜１４０４−ｎ間で分散して実行する。同様に、本発明の各手段を実行するためのプログラムやデータを端末の情報記憶媒体に分散して格納するようにしても良い。
【０１２７】
ネットワークに接続する端末は、上述した家庭用ゲーム装置であることは勿論のこと、パーソナルコンピュータ、業務用ゲーム装置、ＰＤＡ、携帯電話機などの携帯端末などで有っても良い。そして、業務用ゲーム装置をネットワークに接続する場合には、業務用ゲーム装置の間で情報のやり取りが可能であるとともに、家庭用ゲーム装置との間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を使用可能な構成としても良い。
【０１２８】
〔第２の実施形態〕
次に、図２１と図２２を参照して、本発明を適用した第２の実施形態について説明する。第２の実施形態では、球Ｂが障害物オブジェクトと衝突した場合に、既結合状態の配置物Ｅを分離する処理を実行する例について説明する。尚、第２の実施形態は、基本的に第１の実施形態と同様の構成要素によって実現可能であり、同様の要素には同じ符号をつけて説明は省略する。
【０１２９】
障害物オブジェクトとは、結合可否判定部２２３によって、結合不可と判定された配置物Ｅであって、例えば図２の例では、塀（Ｅ４、Ｅ５、Ｅ８）、電柱（Ｅ６）、トラック（Ｅ７）などは球Ｂより大きいため結合できず、障害物オブジェクトに該当する。
【０１３０】
本実施形態では、図７のステップＳ１１４においてＮＯの場合、ステップＳ１２２の前段階で結合解除処理を実行して、球Ｂと既結合状態の配置物Ｅとの階層関係を解除することによって、球Ｂが障害物オブジェクトと衝突して配置物Ｅが分離する状況を実現する。
【０１３１】
[フローの説明]
図２１は、結合解除処理の流れを説明するためのフローチャートである。図２２は、球が障害物オブジェクトと衝突して配置物が分離する状態を説明する概念図である。
【０１３２】
結合解除処理では、図２２（ａ）に示すように、先ずゲーム演算部２２が、球Ｂと衝突した配置物Ｅとの相対運動量ｍｖを算出し（ステップＳ８０２）、相対運動量ｍｖに応じて階層を解除し球Ｂから分離させるオブジェクトの数ｎを決定する（ステップＳ８０４）。また、同様に相対運動量ｍｖに応じて、分離させるオブジェクトを選択する範囲を示す角度θを決定する（ステップＳ８０６）。
尚、オブジェクト数ｎと角度θは、相対運動量ｍｖと比例関係で決定されても良いし、相対運動量ｍｖに基づいて段階的に決定されても良く、ゲーム性と演出の観点から適宜設定して構わない。
【０１３３】
次に、表示用モデル結合部２２１が、球表示用モデルＢｄと配置物表示用モデルＥｄとに基づいて衝突位置Ｈを求める（ステップＳ８０８）。衝突位置Ｈが求められたならば、結合履歴情報５７を参照して、該衝突位置Ｈより角度軸座標±θの範囲で結合している既結合状態の配置物Ｅを、結合したのと逆順に数ｎだけ選択する（ステップＳ８１０）。図２２（ａ）の例では、数ｎ＝５であって、角度軸座標±θの範囲に含まれ分離対象となった配置物Ｅがハッチング表示されている。そして、表示用モデル結合部２２１は、選択した配置物Ｅの階層を解除して球Ｂより分離して階層情報５１２を更新し（ステップＳ８１２）、結合履歴情報５７から分離した配置物Ｅの履歴を削除する(ステップＳ８１４）。
【０１３４】
分離された配置物には、図２２（ｂ）に示すように、ゲーム演算部２２が、分離された配置物Ｅにランダムに飛散速度ｖを設定して衝突の衝撃で飛び散る力を与える（ステップＳ８１６）。これによって、分離した配置物Ｅは、それぞれに飛散し落下することになる。
【０１３５】
オブジェクトが分離して球表示用モデルＢｄが変化したので、次に運動計算用モデル設定部２２２が運動計算用モデル設定処理（図１０参照）を実行し、変化した球Ｂの外観形状の凹凸に基づいて運動計算用モデルＢｍを変更する（ステップＳ８１８）。尚、変位対象の変位点Ｐは、分離された配置物Ｅ（この時点では、球Ｂとの階層は解除されているが位置は移動していない状態）を運動計算用モデルＢｍに投影した範囲から選択される。これによって、結合していた配置物Ｅが外れたところがいびつになって転動に影響する状態を実現することができる。
【０１３６】
次に、衝突判定用モデル変更部２２７が、分離した配置物Ｅの体積６４２だけ、球Ｂの体積５５２を減算する(ステップＳ８２０）。球Ｂの体積５５２が更新されたならば、続いて、球衝突判定用モデルＢｊ、を減算された体積６４４と同体積になる大きさに縮小し、球衝突判定用モデル情報５４を変更する（ステップＳ８２２）。そして、衝突判定用モデル変更部２２７は、減算された体積５５２を有する球体の半径を算出して半径５５１を更新し(ステップＳ８２４）、図７のフローに戻る。
【０１３７】
以上の処理によって、図２２（ｃ）に示すように、あたかも衝突の影響で結合していた配置物Ｅが外れる様子を簡単に実現することができる。
【０１３８】
以上、本発明を適用した第１および第２実施形態について説明したが、本発明の適用がこれらに限定されるものではなく、本発明の主旨を逸脱しない限りにおいて適宜変更して構わない。
【０１３９】
例えば、運動計算用モデルＢｍを複数の変位点Ｐで構成するとしたが、図２０（ａ）に示すように、球Ｂのオリジナルモデルの表面から放射状に別途オブジェクトＦを設け、その端面で転動基準面を形成するとしても良い。また、図２０（ｂ）に示すように、点ではなく複数の平面によって構成されるとしても良い。
【０１４０】
【発明の効果】
本発明によれば、第１オブジェクトに第２オブジェクトが衝突した場合、結合手段が第２オブジェクトを該衝突位置で第１オブジェクトに結合することによって、衝突以降は第１オブジェクトと第２オブジェクトは、一体に表示可能となる。
【０１４１】
一方、第１オブジェクトには、点設定手段によって表示用のモデルとは別に、複数の変位点が設定されて転動基準面が形成されており、変位点制御手段によって、結合した第２オブジェクトの結合態様に基づいて、変位点制御手段が適当に変位点位置を決定し転動基準面を形成する。従って、第１および第２オブジェクトの外観形状がいかに複雑であっても、少ない演算負荷で第１オブジェクトをその外観形状に応じたそれらしい動きで転動させることが可能となる。
【０１４２】
衝突した他の物体を表面上に結合（付着）して雪ダルマ式に巨大化するキャラクタを転動操作して楽しむゲームにおいて、第１オブジェクトをプレーヤが操作するキャラクタ、第２オブジェクトを周囲に配置されている物体に当てはめるならば、巨大化するキャラクタにその外観の凹凸に応じたそれらしい転動をさせることができる。
【図面の簡単な説明】
【図１】家庭用ゲーム装置に適用した場合の外観の一例を示す図。
【図２】ゲーム画面の一例を示す図。
【図３】表示用モデルの扱いについて説明するための図。
【図４】運動計算用モデルの扱いについて説明するための図。
【図５】球衝突判定用モデルの扱いについて説明するための図。
【図６】機能構成の一例を示すブロック図。
【図７】ゲーム中の処理の流れを説明するためのフローチャート。
【図８】結合可否判定処理の流れを説明するためのフローチャート。
【図９】表示用モデル結合処理の流れを説明するためのフローチャート。
【図１０】運動計算用モデル設定処理の流れを説明するためのフローチャート。
【図１１】衝突判定用モデル変更処理の流れを説明するためのフローチャート。
【図１２】表示用モデル馴染処理の流れを説明するためのフローチャート。
【図１３】運動計算用モデル馴染処理の流れを説明するためのフローチャート。
【図１４】塀に囲まれた路を行く球を真上から見た様子を示す図。
【図１５】衝突位置の関係を示す概念図。
【図１６】運動計算用モデル馴染処理の概念を説明するための概念図。
【図１７】家庭用ゲーム装置のハードウェア構成の一例を示す図。
【図１８】業務用ゲーム装置に適用した場合の外観の一例を示す図。
【図１９】ネットワークを介して接続された装置を含むゲーム装置に適用した場合の例を示す図。
【図２０】運動計算用モデルの変形例を示す図。
【図２１】第２の実施形態における、結合解除処理の流れを説明するためのフローチャート。
【図２２】結合解除処理の概念を説明するための図。
【符号の説明】
１０  操作部
２０  処理部
２２  ゲーム演算部
２２１  表示用モデル結合部
２２２  運動計算用モデル設定部
２２３  結合判定部
２２４  移動量演算部
２２５  表示用モデル馴染演算部
２２６  運動計算用モデル馴染演算部
２２７  衝突判定用モデル変更部
２４画像生成部
３０  表示部
４０記憶部
４２  ゲーム情報
４２１  表示用モデル結合プログラム
４２２  運動計算用モデル設定プログラム
４２３  結合判定プログラム
４２４  移動量算出プログラム
４２５  表示用モデル馴染プログラム
４２６  運動計算用モデル馴染プログラム
４２７  衝突用モデル変更プログラム
５０  球データ
５１  球表示用モデル情報
５３  運動計算用モデル情報
５４  球衝突判定用モデル情報
５５  球パラメータ
５７  結合履歴情報
６０  配置物データ
６１  配置物表示用モデル情報
６２  配置物衝突判定用モデル情報
６４  配置物パラメータ
６５  結合判定情報
Ｂ  球
Ｂｄ  球表示用モデル
Ｂｊ  球衝突判定用モデル
Ｂｍ  運動計算用モデル
Ｃ  キャラクタ
Ｅ  配置物
Ｅｄ  配置物表示用モデル
Ｅｊ  配置物球衝突判定用モデル
Ｈ  衝突位置
Ｐ  変位点
Ｒ  半径軸座標
【図１】
0003843241.tif 000002
【図２】
0003843241.tif 000003
【図３】
0003843241.tif 000004
【図４】
0003843241.tif 000005
【図５】
0003843241.tif 000006
【図６】
0003843241.tif 000007
【図７】
0003843241.tif 000008
【図８】
0003843241.tif 000009
【図９】
0003843241.tif 000010
【図１０】
0003843241.tif 000011
【図１１】
0003843241.tif 000012
【図１２】
0003843241.tif 000013
【図１３】
0003843241.tif 000014
【図１４】
0003843241.tif 000015
【図１５】
0003843241.tif 000016
【図１６】
0003843241.tif 000017
【図１７】
0003843241.tif 000018
【図１８】
0003843241.tif 000019
【図１９】
0003843241.tif 000020
【図２０】
0003843241.tif 000021
【図２１】
0003843241.tif 000022
【図２２】
0003843241.tif 000023