(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点位置、視線方向において見える視界画像を合成する３次元シミュレータ装置であって、
オブジェクト空間内のマップ上を移動する第１の移動体オブジェクトの位置及び方向情報の少なくとも一方と、該第１の移動体オブジェクトの移動に追従する第２の移動体オブジェクトの位置及び方向情報の少なくとも一方を求める移動体演算手段と、
前記第１の移動体オブジェクトの位置及び方向情報の少なくとも一方により特定される第１〜第Ｋの結合点の位置情報と、前記第２の移動体オブジェクトの位置及び方向情報の少なくとも一方により特定される第（Ｋ＋１）〜第２Ｋの結合点の位置情報とに基づいて、第１の結合点と第（Ｋ＋１）の結合点との間を結合する第１の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、第２の結合点と第（Ｋ＋２）の結合点の間を結合する第２の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、・・・・・・第Ｋの結合点と第２Ｋの結合点との間を結合する第Ｋの関節運動オブジェクト組の位置及び方向情報の少なくとも一方とを求める関節運動演算手段と、
前記第１の移動体オブジェクトの位置及び方向情報の少なくとも一方と、前記第２の移動体オブジェクトの位置及び方向情報の少なくとも一方と、前記関節運動オブジェクト組の位置及び方向情報の少なくとも一方とに基づき、前記マップを構成するマップオブジェクト、前記第１、第２の移動体オブジェクト並びに前記第１〜第Ｋの関節運動オブジェクト組の画像を含む視界画像を合成する手段とを含むことを特徴とする３次元シミュレータ装置。
【請求項２】
請求項１において、
前記移動体演算手段は、
前記第１の移動体オブジェクトを、前記マップの高さ情報に基づいて移動させ、前記第２の移動体オブジェクトを、慣性を持たせながら前記第１の移動体オブジェクトの移動に追従させることを特徴とする３次元シミュレータ装置。
【請求項３】
請求項１又は２のいずれかにおいて、
前記第１の移動体オブジェクトは搭乗体であり、前記第２の移動体オブジェクトは該搭乗体に乗るゲームキャラクタの少なくとも一部を構成するものであり、前記第１〜第Ｋの関節運動オブジェクト組は該ゲームキャラクタの足又は手であることを特徴とする３次元シミュレータ装置。
【請求項４】
オブジェクト空間内の所与の視点位置、視線方向において見える視界画像を合成する３次元シミュレータ装置であって、
第１のオブジェクトの位置及び方向情報の少なくとも一方により特定される第１〜第Ｋの結合点の位置情報と、第２のオブジェクトの位置及び方向情報の少なくとも一方により特定される第（Ｋ＋１）〜第２Ｋの結合点の位置情報とに基づいて、第１の結合点と第（Ｋ＋１）の結合点との間を結合する第１の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、第２の結合点と第（Ｋ＋２）の結合点の間を結合する第２の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、・・・・・・第Ｋの結合点と第２Ｋの結合点との間を結合する第Ｋの関節運動オブジェクト組の位置及び方向情報の少なくとも一方とを求める関節運動演算手段と、
前記第１のオブジェクトの位置及び方向情報の少なくとも一方と、前記第２のオブジェクトの位置及び方向情報の少なくとも一方と、前記関節運動オブジェクト組の位置及び方向情報の少なくとも一方とに基づき、前記第１、第２のオブジェクト並びに前記第１〜第Ｋの関節運動オブジェクト組の画像を含む視界画像を合成する手段とを含むことを特徴とする３次元シミュレータ装置。
【請求項５】
請求項４において、
前記第２のオブジェクトはゲームキャラクタの少なくとも一部を構成するものであり、前記第１〜第Ｋの関節運動オブジェクト組は該ゲームキャラクタの足又は手であることを特徴とする３次元シミュレータ装置。
【請求項６】
オブジェクト空間内の所与の視点位置、視線方向において見える視界画像を合成するための情報を少なくとも格納する情報記憶媒体であって、
オブジェクト空間内のマップ上を移動する第１の移動体オブジェクトの位置及び方向情報の少なくとも一方と、該第１の移動体オブジェクトの移動に追従する第２の移動体オブジェクトの位置及び方向情報の少なくとも一方を求める移動体演算手段と、
前記第１の移動体オブジェクトの位置及び方向情報の少なくとも一方により特定される第１〜第Ｋの結合点の位置情報と、前記第２の移動体オブジェクトの位置及び方向情報の少なくとも一方により特定される第（Ｋ＋１）〜第２Ｋの結合点の位置情報とに基づいて、第１の結合点と第（Ｋ＋１）の結合点との間を結合する第１の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、第２の結合点と第（Ｋ＋２）の結合点の間を結合する第２の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、・・・・・・第Ｋの結合点と第２Ｋの結合点との間を結合する第Ｋの関節運動オブジェクト組の位置及び方向情報の少なくとも一方とを求める関節運動演算手段と、
前記第１の移動体オブジェクトの位置及び方向情報の少なくとも一方と、前記第２の移動体オブジェクトの位置及び方向情報の少なくとも一方と、前記関節運動オブジェクト組の位置及び方向情報の少なくとも一方とに基づき、前記マップを構成するマップオブジェクト、前記第１、第２の移動体オブジェクト並びに前記第１〜第Ｋの関節運動オブジェクト組の画像を含む視界画像を合成する手段として、
コンピューターを機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項７】
オブジェクト空間内の所与の視点位置、視線方向において見える視界画像を合成するための情報を少なくとも格納する情報記憶媒体であって、
第１のオブジェクトの位置及び方向情報の少なくとも一方により特定される第１〜第Ｋの結合点の位置情報と、第２のオブジェクトの位置及び方向情報の少なくとも一方により特定される第（Ｋ＋１）〜第２Ｋの結合点の位置情報とに基づいて、第１の結合点と第（Ｋ＋１）の結合点との間を結合する第１の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、第２の結合点と第（Ｋ＋２）の結合点の間を結合する第２の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、・・・・・・第Ｋの結合点と第２Ｋの結合点との間を結合する第Ｋの関節運動オブジェクト組の位置及び方向情報の少なくとも一方とを求める関節運動演算手段と、
前記第１のオブジェクトの位置及び方向情報の少なくとも一方と、前記第２のオブジェクトの位置及び方向情報の少なくとも一方と、前記関節運動オブジェクト組の位置及び方向情報の少なくとも一方とに基づき、前記第１、第２のオブジェクト並びに前記第１〜第Ｋの関節運動オブジェクト組の画像を含む視界画像を合成する手段として、
コンピュータを機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内での視界画像の合成が可能な３次元シミュレータ装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、所与の視点位置からの視界画像を合成する３次元シミュレータ装置が知られており、プレーヤがいわゆる仮想的な現実感を体感できるものとして人気が高い。
【０００３】
この種の３次元シミュレータ装置では、いわゆる仮想現実感をプレーヤに体験させるために、よりリアルな表現が要求されている。このため、例えばスノーボード等のシミュレーション装置を実現する場合には、画面上の仮想プレーヤの姿勢が変化する様子や、仮想プレーヤの足が曲げ伸ばしされる様子をリアルにシミュレートする技術が望まれる。
【０００４】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、マップの高さ変化等に起因するオブジェクトの関節運動をリアルにシミュレートできる３次元シミュレータ装置及び情報記憶媒体を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点位置、視線方向において見える視界画像を合成する３次元シミュレータ装置であって、オブジェクト空間内のマップ上を移動する第１の移動体オブジェクトの位置及び方向情報の少なくとも一方と、該第１の移動体オブジェクトの移動に追従する第２の移動体オブジェクトの位置及び方向情報の少なくとも一方を求める移動体演算手段と、前記第１の移動体オブジェクトの位置及び方向情報の少なくとも一方により特定される第１〜第Ｋの結合点の位置情報と、前記第２の移動体オブジェクトの位置及び方向情報の少なくとも一方により特定される第（Ｋ＋１）〜第２Ｋの結合点の位置情報とに基づいて、第１の結合点と第（Ｋ＋１）の結合点との間を結合する第１の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、第２の結合点と第（Ｋ＋２）の結合点の間を結合する第２の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、・・・・・・第Ｋの結合点と第２Ｋの結合点との間を結合する第Ｋの関節運動オブジェクト組の位置及び方向情報の少なくとも一方とを求める関節運動演算手段と、前記マップを構成するマップオブジェクト、前記第１、第２の移動体オブジェクト並びに前記第１〜第Ｋの関節運動オブジェクト組の画像を含む視界画像を合成する手段とを含むことを特徴とする。
【０００６】
本発明によれば、第１の移動体オブジェクトはマップ上を移動し、第２の移動体オブジェクトはこの第１の移動体オブジェクトに追従して移動する。そして第１の移動体オブジェクトの位置、方向で特定される第１〜第Ｋの結合点と、第２の移動体オブジェクトの位置、方向で特定される第（Ｋ＋１）〜第２Ｋの結合点との間を結合しながら、第１〜第Ｋの関節運動オブジェクトが関節運動を行う。これにより、第１、第２の移動体オブジェクトの位置関係により、スムーズに曲げ伸びされるオブジェクト組の関節運動を、少ない処理負担でリアルに表現できる。なお関節運動オブジェクト組は、少なくとも２つのオブジェクトにより構成すればよい。
【０００７】
また本発明は、前記移動体演算手段は、前記第１の移動体オブジェクトを、前記マップの高さ情報に基づいて移動させ、前記第２の移動体オブジェクトを、慣性を持たせながら前記第１の移動体オブジェクトの移動に追従させることを特徴とする。このようにすれば、マップの高さの変化により、お互いの位置関係が変化する第１、第２の移動体オブジェクトの間を結合する関節運動オブジェクト組の滑らかな関節運動を実現できる。
【０００８】
また本発明は、前記第１の移動体オブジェクトは搭乗体であり、前記第２の移動体オブジェクトは該搭乗体に乗るゲームキャラクタの少なくとも一部を構成するものであり、前記第１〜第Ｋの関節運動オブジェクト組は該ゲームキャラクタの足又は手であることを特徴とする。このようにすれば、例えば第１の移動体オブジェクトであるスノーボードに乗る、第２の移動体である仮想プレーヤの足が、滑らかに関節運動する様子をリアルにシミュレートできる。
【０００９】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向において見える視界画像を合成する３次元シミュレータ装置であって、オブジェクト空間内の第１のオブジェクトの位置及び方向情報の少なくとも一方により特定される第１〜第Ｋの結合点の位置情報と、オブジェクト空間内の第２のオブジェクトの位置及び方向情報の少なくとも一方により特定される第（Ｋ＋１）〜第２Ｋの結合点の位置情報とに基づいて、第１の結合点と第（Ｋ＋１）の結合点との間を結合する第１の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、第２の結合点と第（Ｋ＋２）の結合点の間を結合する第２の関節運動オブジェクト組の位置及び方向情報の少なくとも一方と、・・・・・・第Ｋの結合点と第２Ｋの結合点との間を結合する第Ｋの関節運動オブジェクト組の位置及び方向情報の少なくとも一方とを求める関節運動演算手段と、前記第１、第２のオブジェクト並びに前記第１〜第Ｋの関節運動オブジェクト組の画像を含む視界画像を合成する手段とを含むことを特徴とする。
【００１０】
本発明によれば、第１、第２のオブジェクトの位置関係により、スムーズに曲げ伸びするオブジェクト組の関節運動を少ない処理負担でリアルに表現できる。なお本発明においては、第１、第２のオブジェクトは必ずしも移動体である必要はなく、また第１、第２のオブジェクトはマップ上を移動するものでなくてもよい。
【００１１】
また本発明は、前記第２のオブジェクトはゲームキャラクタの少なくとも一部を構成するものであり、前記第１〜第Ｋの関節運動オブジェクト組は該ゲームキャラクタの足又は手であることを特徴とする。このようにすれば、例えばバーベルを上げ下げするゲームキャラクタの手の関節運動や、鉄棒競技の際の手の関節運動等をリアルに表現できる。
【００１２】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【００１３】
図１に本実施例に係る３次元シミュレータ装置の機能ブロック図の一例を示す。ここで操作部１２は、プレーヤからの操作情報を入力するためのものであり、操作部１２にて得られた操作情報は処理部１００に入力される。処理部１００は、この操作情報と、所与のプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間を設定する処理等を行うものであり、ハードウェア的には例えばＣＰＵ及びメモリにより構成される。画像合成部２００は、この設定されたオブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する処理を行うものであり、ハードウェア的には例えば画像合成専用のＩＣ或いはＣＰＵ及びメモリにより構成される。画像合成部２００により得られた視界画像は表示部１０において表示される。
【００１４】
ここで処理部１００は、移動体演算部１１０、関節運動演算部１２０、マップ設定部１３０、空間情報記憶部１４０を含む。
【００１５】
移動体演算部１１０は、操作部１２からの操作情報、所与のプログラム等に基づいて、オブジェクト空間内を移動する仮想プレーヤ（ゲームキャラクタ）、スノーボード等の移動体の位置情報、方向情報をリアルタイムに演算するものである。
【００１６】
移動体演算部１１０に含まれる視点演算部１１２は、移動体の位置情報、方向情報に基づいて、移動体の移動に追従する視点位置、視線方向等を求めるものである。
【００１７】
関節運動演算部１２０は、移動体演算部１１０からの移動体の位置情報、方向情報等に基づいて、関節運動オブジェクト組の位置情報、方向情報をリアルタイムに演算するものである。
【００１８】
マップ設定部１３０は、オブジェクト空間内のマップの設定を行うものであり、マップ高さ設定部１３２、マップオブジェクト設定部１３４を含む。
【００１９】
空間情報記憶部１４０は、オブジェクト空間の空間情報、即ち表示するオブジェクトを特定するためのオブジェクトナンバー、このオブジェクトの配置を特定するための位置情報（Ｘ、Ｙ、Ｚ）、方向情報（θ、φ、ρ）等を格納するものである。但し、位置情報、方向情報の少なくとも一方のみを特定すればよい場合には、その一方のみを格納すればよい。そして空間情報記憶部１４０に記憶されている空間情報は、移動体演算部１１０、関節運動演算部１２０、マップ設定部１３０により読み出される。この場合、空間情報記憶部１４０には、当該フレーム（１フレーム＝１／６０秒）の１つ前のフレームにおける空間情報が記憶されている。そして、移動体演算部１１０、関節運動演算部１２０等は、読み出された空間情報等に基づいて、当該フレームにおける空間情報を求める。なお静止物体については空間情報は変化しないのでこのような処理は必要ない。
【００２０】
図２（Ａ）、（Ｂ）に本実施例により合成される視界画像の例を示す。図２（Ａ）では、ボード（スノーボード）４２に乗り走行する仮想プレーヤ４０が映し出されている。またこの他に、雪、雪面、風景を表す表示物も映し出されている。図２（Ａ）は、スタートポイント付近での視界画像であり、図２（Ｂ）は、スタート後のコース上において見える視界画像である。本実施例では、オブジェクト空間上に、起伏を有するコースのマップが配置されており、このマップ上で、仮想プレーヤ４０がボード４２に乗り走行する。
【００２１】
図３（Ａ）、（Ｂ）に、オブジェクトの関節運動を表す画像を示す。図３（Ａ）、（Ｂ）に示すように、本実施例では、ボード４２（第１の移動体オブジェクト）と、腰４４（第２の移動体オブジェクト）との位置関係に応じて、すね及び太ももから成る左右の足４５、４６（関節運動オブジェクト組）が関節運動する。マップ上を移動するボード４２は、マップの高さ変化に伴い上下する。そして、腰４４は、慣性を持ちながら、このボード４２の上下運動に追従する。そして、ボード４２が上がり、腰がこれに追従して慣性により少し遅れて上がる場合、左右の足４５、４６は始めに曲がった後、少し遅れて伸びるという関節運動を行う。一方、ボード４２が下がり、腰がこれに追従して慣性により少し遅れて下がる場合、左右の足４５、４６は始めに伸びた後、少し遅れて曲がるという関節運動を行う。マップの高さ変化に伴い、左右の足４５、４６を上記のように関節運動させることで、プレーヤが見る視界画像のリアル感を大幅に向上できる。
【００２２】
さて図４（Ａ）に示すように本実施例では、オブジェクト空間内のコースのマップを例えばマップブロックＣ0〜Ｃ35に分割している。そして図４（Ｂ）において、移動体であるボード４２（又は仮想プレーヤ４０又は視点）がマップブロックＣｊ内に位置するか否かを、ライン６０、６２の配置情報により判定している。そして本実施例ではこの判定結果に基づいて、プレーヤの順位、時間延長の可否等を決めている。
【００２３】
更に図４（Ｃ）に示すように本実施例では、各マップブロックを複数の多角形、例えば三角形に分割し、ボード４２（又は仮想プレーヤ４０又は視点）の位置がどの三角形内にあるかを判定する。そして各３角形を含む面の平面方程式の係数を所与の記憶手段に記憶しておき、ボード４２の位置と、その位置により特定される平面方程式の係数と、平面方程式とに基づいて、ボード４２の位置でのマップの高さを求める。以上の、ボード４２の位置でのマップ高さを求める処理は、図１のマップ高さ設定部１３２において行われる。
【００２４】
一方、図１のマップオブジェクト設定部１３４は、オブジェクト空間内に、複数のポリゴン（又は曲面）から成るマップオブジェクトを配置設定する処理を行う。図５に、マップオブジェクト設定部１３４により設定されたマップオブジェクトの例を示す。視界画像には、このマップオブジェクトの画像を含む画像が表示される。なお本実施例では、マップ高さ設定部１３２により設定されるマップ高さとマップオブジェクトの高さとは一対一に対応している。具体的には、マップブロックを構成する各三角形の位置に（図４（Ｃ）参照）、マップオブジェクトを構成する三角形のポリゴンが配置されている。そして上述した平面方程式の係数を記憶する記憶手段には、この三角形のポリゴンを含む面の平面方程式の係数が記憶されている。
【００２５】
次に移動体演算部１１０の詳細な処理の一例について説明する。上記のように本実施例では、マップに起伏を持たせている。そしてこのマップの起伏に応じて、移動体であるボード４２が上下する。そしてボード４２が上下すると、移動体である仮想プレーヤの腰４４もそれに合わせて上下する。移動体演算部１１０は、このようにマップの起伏に合わせて上下する移動体の位置、方向を求める演算を行う。
【００２６】
図６、図７は、移動体演算部１１０の詳細な処理例を示すフローチャートである。まず移動体演算部１１０は、第ｎのフレームでのボードの速度（ＶＸn、ＶＹn、ＶＺn）を求める（ステップＳ１）。この速度は、ボードが位置するマップ（雪面）の傾斜、速度に依存する空気抵抗、雪面抵抗等に基づいて求められる。この速度に基づいて、第ｎのフレームでのボードの予想位置（Ｘn、Ｙ*n、Ｚn）を例えば以下の式（１）、（２）、（３）により求める（ステップＳ２）。
Ｘn ＝Ｘn-1＋ＶＸn      （１）
Ｙ*n＝Ｙn-1＋ＶＹn      （２）
Ｚn ＝Ｚn-1＋ＶＺn      （３）
ここで（Ｘn-1、Ｙn-1、Ｚn-1）は、第（ｎ−１）のフレームでのボードの位置を表すものである。
【００２７】
次に位置（Ｘn、Ｚn）に基づいてマップ高さＹｓnを求める（ステップＳ３）。即ち既に図４（Ａ）〜（Ｃ）にて既に説明したように、位置（Ｘn、Ｚn）に基づいてマップブロックを特定すると共に、そのマップブロックを構成する三角形のいずれかを特定する。そして特定された三角形の平面方程式の係数を読み出し、この係数と位置（Ｘn、Ｚn）と平面方程式とに基づいてマップ高さＹｓnを求める。
【００２８】
次に、このマップ高さＹｓnと、ボードの予想高さＹ*nとに基づいて、ボードがマップである雪面にめり込んでいるか否かを判断する（ステップＳ４）。ボードの雪面へのめり込みは、例えばボードの前方に上がり斜面があった場合等に生じる。そして図８（Ａ）に示すように、ボード４２が雪面４８にめり込んだ場合には、図８（Ｂ）に示すように、ボード４２と腰４４との距離Ｈnを縮めると共に、ボード４２の高さＹnと雪面４８の高さＹSnとが等しくなるようにボード４２を上昇させる（ステップＳ５、Ｓ６）。この時、本実施例では距離Ｈnを縮ます距離と、ボード４２を上昇させる距離とを等しくしているため、腰４４の高さは変わらないままとなる。即ち、腰にある程度の慣性を持たせ、ボード４２の上昇に対して腰４４がすぐには上昇しないようにする。そして、ボード４２と腰４４との距離Ｈnが縮んだ場合の仮想プレーヤの動きを自然なものとするために、本実施例では、図３（Ａ）、（Ｂ）に示すように、この距離の縮みに応じた関節運動を足４５、４６に行わせている。
【００２９】
次に距離Ｈnを、速度ＶＹn+1に反映させる処理を行う（ステップＳ７）。このＶＹn+1は、次の第（ｎ＋１）フレームにおけるボードの位置計算に使用されるものである（上式（２）参照）。またＨ0は、基本姿勢でのボード４２と腰４４との距離である。この処理により、ボード４２の移動に追従する腰４４を、ボード４２の上昇に遅らせて徐々に上昇させることが可能となる。
【００３０】
ボード４２が雪面４８にめり込んでいなく、ボード４２が雪面４８から所与の高さ以上の所に位置する場合は、図７に示すジャンプモードの処理に移行する（ステップＳ９）。ジャンプモードでは、図６の接地モードでのステップＳ１〜Ｓ４と同様の処理がステップＴ１〜Ｔ４で行われる。そして、ジャンプが終わり、ボード４２が雪面４８にめり込むと、接地モードでのステップＳ５、Ｓ６と同様の処理がステップＴ５、Ｔ６で行われ、その後、ステップＴ７で図６の接地モードに戻る。
【００３１】
図８（Ｃ）に示すように、ボード４２が雪面から所与の高さより低い所に位置する場合は、図８（Ｄ）に示すように、ボード４２と腰４４との距離Ｈnを伸ばすと共に、ボード４２の高さＹnと雪面４８の高さＹSnとが等しくなるように、ボード４２を下降させる（ステップＳ１０、Ｓ１１）。この時、本実施例では距離Ｈnの伸びる距離を、ボード４２の下降距離の半分にしている。これにより、図８（Ａ）、（Ｂ）の場合よりも、腰４４は小さい慣性を持つことになる。そして、ボード４２と腰４４との距離Ｈnが伸びた場合の仮想プレーヤの動きを自然なものとするために、本実施例では、図３（Ａ）、（Ｂ）に示すように、この距離の伸び応じた関節運動を足４５、４６に行わせている。
【００３２】
次に距離Ｈnを、速度ＶＹn+1に反映させる処理を行う（ステップＳ１２）。この処理により、ボード４２の移動に追従する腰４４を、ボード４２の下降に遅らせて徐々に下降させることが可能となる。そして最後に、ボードの位置（Ｘn、Ｙn、Ｚn）と、距離Ｈnとにより、腰４４の位置を求める処理が行われる（ステップＳ１３）。なお移動体演算部１１０は、ボード４２、腰４４等の方向情報（θ、φ、ρ）についても、雪面の傾斜角度、プレーヤからの操作情報等に基づいて求めている。
【００３３】
次に関節運動演算部１２０の詳細な処理の一例について説明する。上記に説明したように、また図９のフローチャートのステップＵ１、Ｕ２に示すように、移動体演算部１１０がボード４２、腰４４の位置、方向情報を求め、これらの情報が関節運動演算部１２０に入力される。関節運動演算部１２０は、これらの情報に基づいて左右の足（太もも、すね）を関節運動させる処理を行う。
【００３４】
さて、例えばボード４２、腰４４、左太もも５０、左すね５２、右太もも５４、右すね５６の親子関係構造を図１０のようにしたとする。するとボード４２と腰４４との位置関係によっては、左すね５２、右すね５６がボードから離れる等の事態が生じ、スムーズな関節運動を表現できない。即ち、ボードに乗る仮想プレーヤの足の関節運動を表現する場合には、左すね５２、右すね５６がボード４２から離れないように左すね５２、右すね５６を動かさなければならないという新たな拘束条件が付加される。従って、図１０に示すような考えにしたがった親子関係構造だけによっては、スムーズな関節運動を表現できない。
【００３５】
そこでこれを解決するために、本実施例では、次のような処理を採用することで、左右の足のスムーズな関節運動を実現している。図１１（Ａ）において、ボード４２（第１の移動体オブジェクト）の位置（点Ｐ1の位置）及び方向情報は、既に移動体演算部１１０により求められている。関節運動演算部１２０は、まず、これらの位置及び方向情報を用いてボード側の結合点ＰC1、ＰC2の位置（左右の靴オブジェクトの位置）を特定する（図９のステップＵ３）。ボード４２に対する結合点ＰC1、ＰC2の相対位置は固定されるため、ボード４２の位置及び方向が決まれば、結合点ＰC1、ＰC2の位置も特定される。
【００３６】
また腰４４（第２の移動体オブジェクト）の位置（点Ｐ２の位置）及び方向情報も、既に移動体演算部１１０により求められている。関節運動演算部１２０は、これらの位置及び方向情報を用いて腰側の結合点ＰC3、ＰC4の位置を特定する（ステップＵ４）。腰４４に対する結合点ＰC3、ＰC4の相対位置は固定されるため、腰４４の位置及び方向が決まれば、結合点ＰC3、ＰC4の位置も特定される。
【００３７】
次に、結合点ＰC1、ＰC3の位置に基づき、左太もも５０、左すね５２（第１の関節運動オブジェクト組）の位置及び方向情報を求め、結合点ＰC2、ＰC4の位置に基づき、右太もも５４、右すね５６（第２の関節運動オブジェクト組）の位置及び方向情報を求める（ステップＵ５）。即ち、図１１（Ｂ）において点ＰC1、ＰC3の位置に基づき、点ＰC1、ＰC3間の距離ｄ1を求める。点ＰC1、ＰC5間の距離ｄ2は、左すね５２のオブジェクトの長さであり既に決まっている。同様に点ＰC3、ＰC5間の距離ｄ3も、左太もも５０のオブジェクトの長さであり既に決まっている。従って距離ｄ1、ｄ2、ｄ3が全て特定され、点ＰC1、ＰC3、ＰC5から成る三角形の全ての内角が特定される。これにより、腰４４に対する左太もも５０の相対方向、左太もも５０に対する左すね５２の相対方向が特定され、左太もも５０、左すね５２の位置及び方向が特定される。右太もも５４、右すね５６の位置及び方向についても同様にして特定される。
【００３８】
以上のようにすることで、本実施例によれば、ボード４２と、ボード４２の移動に慣性を持って追従する腰４４との間を結合する左右の足の、スムーズな関節運動を実現することが可能となる。なお腰４４をボード４２の親にしたり、腰４４とボード４２に親子関係を持たせないようにする親子関係構造とすることも可能である。
【００３９】
次に、本実施例のハードウェア構成の一例について図１２を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音合成ＩＣ１００８、画像合成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像合成ＩＣ１０１０にはディスプレイ１０１８が接続され、音合成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００４０】
情報記憶媒体１００６は、ゲームプログラム、表示物を表現するための画像情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、メモリ等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセットが、業務用ゲーム装置ではＲＯＭ等のメモリが用いられる。
【００４１】
コントロール装置１０２２はゲームコントローラに相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００４２】
情報記憶媒体１００６に格納されるゲームプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また移動体オブジェクト、マップオブジェクト、関節運動オブジェクトの空間情報、マップブロック情報、マップの高さ情報等の論理的な構成を持つデータ構造は、ＲＡＭ、情報記憶媒体等に構築されることになる。
【００４３】
更に、この種の装置には音合成ＩＣ１００８と画像合成ＩＣ１０１０とが設けられていてゲーム音やゲーム画面の好適な出力が行えるようになっている。音合成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を合成する集積回路であり、合成されたゲーム音はスピーカ１０２０によって出力される。また、画像合成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を合成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００４４】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００４５】
そして図１〜図５、図８（Ａ）〜（Ｄ）、図１０〜図１１（Ｂ）で説明した種々の処理は、図６、図７、図９のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像合成ＩＣ１０１０等によって実現される。なお画像合成ＩＣ１０１０、音合成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００４６】
図１３（Ａ）に本実施例を業務用ゲーム装置に適用した場合の例を示す。プレーヤ１１００は、図２（Ａ）、（Ｂ）に示すような視界画像が映し出されるディスプレイ１１０４を見ながら、操作部であるボタン１１０２、ボード１１０３等を操作してゲームプレイを楽しむ。そして装置内にはＩＣ基板１１０６が内蔵され、ＩＣ基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装される。そして第１、第２の移動体オブジェクト（第１、第２のオブジェクト）の位置及び方向を求めるための情報、第１の移動体オブジェクト側の結合点並びに第２の移動体オブジェクト側の結合点の位置に基づいて、結合点間を結合する関節運動オブジェクト組の位置及び方向を求めるための情報、所与の視点位置、視線方向での視界画像を求めるための情報、マップの高さ情報に基づいて第１の移動体オブジェクトを移動させ、第２の移動体オブジェクトを、慣性を持たせて第１の移動体の移動に追従させるための情報等は、ＩＣ基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００４７】
図１３（Ｂ）に、本実施例を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画面を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００４８】
図１３（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施例を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像合成ＩＣ、音合成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を合成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を合成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで合成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を合成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【００４９】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００５０】
例えば本発明は、マップ上を移動する第１の移動体オブジェクトと、この第１の移動体オブジェクトに追従する第２の移動体オブジェクト間でオブジェクト組を関節運動させる場合に特に有効であるが、マップ上を移動しない第１、第２のオブジェクト間でオブジェクト組を関節運動させる場合にも適用できる。
【００５１】
また本実施例では、第１の移動体オブジェクト（第１のオブジェクト）側の結合点、第２の移動体オブジェクト（第２のオブジェクト）側の結合点の数が、各々、２つの場合について説明したが、本発明は、これらが３以上の場合にも適用できる。
【００５２】
また関節運動オブジェクト組は２つのオブジェクトにより構成されることが特に望ましいが、オブジェクトが３以上の場合にも本発明は適用可能である。
【００５３】
また本実施例では、第１の移動体オブジェクト（第１のオブジェクト）がスノーボード、スキー等の搭乗体であり、第２の移動体オブジェクト（第２のオブジェクト）がゲームキャラクタの一部を構成するものである場合について主に説明したが、本発明はこれに限られるものではない。例えばゲームキャラクタがバーベル等を持ち上げたり、鉄棒競技をしたりする場合の関節運動等にも本発明は適用可能である。
【００５４】
また第１、第２の移動体オブジェクト（第１、第２のオブジェクト）の位置と、結合点の少なくとも一方を同一の位置にしてもよい。例えば図１１（Ａ）で、Ｐ1とＰC1を同一にしたり、Ｐ2とＰC3を同一にした場合も本発明の範囲に含まれる。
【００５５】
また、本実施例では、スノーボードゲームを例にとり説明したが、本発明はこれに限らず、例えばスキー、水上スキー、水上バイク等の種々のゲームに適用できる。
【００５６】
また本発明は、業務用のゲーム装置、家庭用のゲーム装置、操縦訓練のためのシミュレータ装置、多数のプレーヤが参加する大型アトラクション装置等、種々のものに適用できる。
【００５７】
また本実施例で説明した処理部、画像合成部等で行われる処理も、本実施例では単にその一例を示したものであり、本発明における処理はこれらに限定されるものではない。
【００５８】
【図面の簡単な説明】
【図１】本実施例の機能ブロック図の一例である
【図２】図２（Ａ）、（Ｂ）は、本実施例により表示される視界画像の一例である。
【図３】図３（Ａ）、（Ｂ）は、オブジェクトの関節運動を示す画像の一例である。
【図４】図４（Ａ）、（Ｂ）、（Ｃ）は、マップの高さを特定する処理について説明するための図である。
【図５】マップオブジェクトの設定について説明するための図である。
【図６】移動体の位置を求める処理の例を示すフローチャートである。
【図７】ジャンプ時の移動体の位置を求める処理の例を示すフローチャートである。
【図８】図８（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）は、ボードと腰の位置を求める処理について説明するための図である。
【図９】オブジェクトの関節運動処理の例を示すフローチャートである。
【図１０】オブジェクト間の親子関係構造について説明するための図である。
【図１１】図１１（Ａ）、（Ｂ）は、オブジェクトの関節運動を説明するための図である。
【図１２】本実施例を実現するハードウェアの構成の一例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、本実施例が適用される種々の形態の装置を示す図である。
【符号の説明】
１０  表示部
１２  操作部
４０  仮想プレーヤ
４２  ボード（第１の移動体オブジェクト）
４４  腰（第２の移動体オブジェクト）
４５  左足（関節運動オブジェクト組）
４６  右足（関節運動オブジェクト組）
５０  左太もも
５２  左すね
５４  右太もも
５６  右すね
Ｐ1   第１の移動体の位置
Ｐ2   第２の移動体の位置
ＰC1、ＰC2、ＰC3、ＰC4  結合点
１００  処理部
１１０  移動体演算部
１１２  視点演算部
１２０  関節運動演算部
１３０  マップ設定部
１３２  マップ高さ設定部
１３４  マップオブジェクト設定部
１４０  空間情報記憶部
２００  画像合成部
【図１】
0003765623.tif 000002
【図２】
0003765623.tif 000003
【図３】
0003765623.tif 000004
【図４】
0003765623.tif 000005
【図５】
0003765623.tif 000006
【図６】
0003765623.tif 000007
【図７】
0003765623.tif 000008
【図８】
0003765623.tif 000009
【図９】
0003765623.tif 000010
【図１０】
0003765623.tif 000011
【図１１】
0003765623.tif 000012
【図１２】
0003765623.tif 000013
【図１３】
0003765623.tif 000014