説明

画像生成システム及び情報記憶媒体

【課題】 モーションデータに基づくモーション再生手法を用いながらも多様なモーション表現を実現できる画像生成システム、情報記憶媒体の提供。
【解決手段】 敵キャラクタ20の頭部や銃をプレーヤ(プレーヤキャラクタ、仮想カメラ)の方に向ける第1のモーション補正と、敵キャラクタにショットがヒットした場合に敵キャラクタのスケルトン形状を微少変形させる第2のモーション補正を行う。第2のモーション補正では、元のスケルトン形状に戻すための復元力やヒット情報(ヒット力、ヒット方向)を用いてスケルトン形状を微少変形させると共に、スケルトン形状の微少変形量を時間経過に伴い徐々に小さくする。敵キャラクタのベース(ボディ座標系)の位置、回転角度については、モーションデータで特定される位置、回転角度に固定する。各モーション補正を個別に有効、無効に設定するフラグを各敵キャラクタに対して設定可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成システム及び情報記憶媒体に関する。
【背景技術】
【0002】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ(操作者)は、銃などを模して作られたガン型コントローラ(シューティングデバイス)を用いて、画面に映し出される敵キャラクタ(モデルオブジェクト)などの標的をシューティングすることで、3次元ゲームを楽しむ。
【0003】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、敵キャラクタのモーションについてもリアルに表現できることが望まれる。そして、これまでの画像生成システムでは、各フレームでの敵キャラクタのスケルトン形状(骨構造)を特定するモーションデータを予め用意しておき、このモーションデータに基づきモーション再生処理を行うことで、敵キャラクタのモーションを表現していた。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、このように単にモーションデータに基づきモーションを再生する手法には、以下のような問題点がある。
(1)プレーヤ(プレーヤが操作するプレーヤキャラクタ、仮想カメラ)の位置や方向が変化したり、プレーヤからのショット(弾等)がヒットした場合にも、敵キャラクタはいつも同じ動きをする。このため、モーション表現が単調になる。
(2)モーション表現が単調にならないように、敵キャラクタのモーションのバリエーションを増やそうとすると、それに比例してモーションデータを増やす必要性が生じる。しかしながら、モーションデータを記憶するメモリの容量は有限であるため、モーションのバリエーションの増加には限界がある。
【0005】
一方、モーションデータに基づくモーション再生手法には、敵キャラクタの移動経路や配置を常に同じにできるという利点がある。
【0006】
即ち、この種のガンゲームでは、特定のストーリーにしたがってゲームが進行し、このストーリー展開に沿うように仮想カメラは常に同じ動きをする。従って、敵キャラクタが勝手な経路で移動すると、仮想カメラの撮影範囲に入るべき敵キャラクタが撮影範囲に入らなくなり、スムーズなストーリー展開を実現できない。
【0007】
しかしながら、モーションデータに基づくモーション再生手法によれば、敵キャラクタの移動経路や配置は常に同じになり、仮想カメラの撮影範囲に入るべき敵キャラクタが撮影範囲に入らなくなる事態を防止できる。従って、このようなモーションデータに基づくモーション再生手法の利点については、生かされることが望まれる。
【0008】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、モーションデータに基づくモーション再生手法を用いながらも、リアルで多様なモーション表現を少ないデータ量で実現できる画像生成システム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、複数の部位により構成されるモデルオブジェクトがヒットされた場合に、モーションデータに基づき特定されるモデルオブジェクトのスケルトン形状を、ヒット情報に基づいて微少変形させるモーション補正を行う手段と、モデルオブジェクトの画像を含む画像を生成する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム或いはデータ等)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0010】
本発明では、モデルオブジェクトが複数の部位により構成され、各部位の位置又は回転角度は、スケルトンを構成する骨の位置又は回転角度により特定される。但し、スケルトン、骨は現実に表示されるものではなく、仮想的なものであり、その実体は、各部位の位置又は回転角度を表すデータである。
【0011】
そして本発明によれば、ショット、パンチ、キック、衝突などによりモデルオブジェクトがヒットされると、モーションデータに基づき特定されるスケルトン形状が微少変形される。これにより、モデルオブジェクトがヒットの衝撃にリアクションする様子を表現できる。この結果、1組のモーションデータを用いながらも、リアルで多様なモーション表現を実現できるようになる。
【0012】
なお、モーションデータに基づき特定されるスケルトン形状は、モーションデータにより一意に決まるスケルトン形状でもよいし、そのスケルトン形状に対して他の1又は複数のモーション補正を施した後のスケルトン形状でもよい。
【0013】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、モデルオブジェクトのスケルトン形状をモーションデータに基づき特定される元のスケルトン形状に戻す復元力と、前記ヒット情報とに基づいて、前記モーション補正を行うことを特徴とする。このようにすれば、ヒットの衝撃によりモデルオブジェクトが微少に振動するようになり、更にリアルで多様なモーション表現を実現できる。
【0014】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ヒット情報に基づくスケルトン形状の微少変形量が時間経過に伴い徐々に小さくなるように、前記モーション補正を行うことを特徴とする。このようにすれば、ヒット後、時間経過に伴い、モデルオブジェクトの振動の振幅が徐々に小さくなって行く様子を表現できるようになる。
【0015】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、モデルオブジェクトの所与の部位の位置又は回転角度をほぼ固定しながら、前記モーション補正を行うことを特徴とする。このようにすれば、例えば、オブジェクトの第1の部位(例えば頭部、手、武器)を所与の目標位置に向けながら、或いは、第2の部位(例えば足)を、モーションデータに基づき特定される位置や回転角度に固定しながら、ヒット時にスケルトン形状を微少変形させるモーション補正が行われるようになる。このようにすることで、1組のモーションデータを用いながらも、更に多様なモーション表現を実現できるようになる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、モデルオブジェクトのボディ座標系の、ワールド座標系に対する位置又は回転角度を、モーションデータに基づき特定される位置又は回転角度にほぼ固定しながら、前記モーション補正を行うことを特徴とする。このようにすれば、モデルオブジェクトのボディ座標系の位置又は回転角度は、モーションデータにしたがって変化するようになる。従って、モデルオブジェクトのスケルトン形状(各部位の動き)などについてはモーション補正により変化するが、モデルオブジェクトの全体の動きについては、モーションデータ通りに動かすことができるようになる。この結果、例えば、ゲーム状況が変化しても、仮想カメラの撮影範囲にモデルオブジェクトを常に収めるなどのカメラワークが可能になる。
【0017】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、モデルオブジェクトの所与の部位を所与の目標位置に向ける第1のモーション補正を行った後に、前記モーション補正を行うことを特徴とする。このように多段階にモーション補正を行うことで、モーション表現のバラエティ度を更に増すことができる。
【0018】
また本発明は、画像を生成するための画像生成システムであって、複数の部位により構成されるモデルオブジェクトの、モーションデータに基づき特定されるスケルトン形状を、変形させる第1のモーション補正を行い、前記第1のモーション補正により変形したスケルトン形状を更に変形させる第2のモーション補正を行い・・・・・・第N−1のモーション補正により変形したスケルトン形状を更に変形させる第N(N≧2)のモーション補正を行う手段と、モデルオブジェクトの画像を含む画像を生成する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム或いはデータ等)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0019】
本発明によれば、第1〜第Nのモーション補正による多段階のモーション補正が行われるようになる。これにより、例えば同じ1組のモーションデータを用いたモーションであっても、施される第1〜第Nのモーション補正の内容が異なれば異なったモーションに見るようになり、モーション表現のバラエティ度を増すことができる。
【0020】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記各第1〜第Nのモーション補正を個別に有効、無効に設定するための情報が、モデルオブジェクトに対して設定されることを特徴とする。このようにすれば、例えば、第1のモデルオブジェクトに対しては第1、第2のモーション補正を共に有効にし、第2のモデルオブジェクトに対しては第1のモーション補正を有効にする一方で第2のモーション補正を無効にし、第3のモデルオブジェクトに対しては第1、第2のモーション補正を共に無効にするなどの設定が可能になる。これにより、同じプログラムや同じモーションデータで動くモデルオブジェクトであっても、上記設定を変えることで、異なったモーションを行うようになる。この結果、多種多様なモーションを行うモデルオブジェクトを簡易に提供できるようになる。
【0021】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、モデルオブジェクトのボディ座標系の、ワールド座標系に対する位置又は回転角度を、モーションデータに基づき特定される位置又は回転角度にほぼ固定しながら、前記第1〜第Nのモーション補正を行うことを特徴とする。このようにすれば、第1〜第Nのモーション補正によりモデルオブジェクトのスケルトン形状(各部位の動き)などは変化するが、モデルオブジェクトの全体の動きについては、モーションデータ通りに動かすことができるようになる。
【0022】
また本発明は、画像を生成するための画像生成システムであって、複数の部位により構成されるモデルオブジェクトの所与の部位を所与の目標位置に向ける共に、モデルオブジェクトがヒットされた場合にモデルオブジェクトのスケルトン形状が微少変形するように、モデルオブジェクトのスケルトン形状を変形させる手段と、モデルオブジェクトの画像を含む画像を生成する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム或いはデータ等)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0023】
本発明によれば、モデルオブジェクトは、その所与の部位(例えば頭部、手、武器)を所与の目標位置(例えばプレーヤキャラクタ、仮想カメラ)に向けながら、モーションデータにしたがって動くようになる。また、モデルオブジェクトがヒットされた場合には、ヒット情報に基づいてそのスケルトン形状が微少変形するようになる。この結果、ガンゲームなどのシューティングゲームの標的(敵キャラクタ)として最適なモデルオブジェクトの動きを実現できるようになる。
【図面の簡単な説明】
【0024】
【図1】本実施形態を業務用ゲームシステムに適用した場合の構成例を示す図である。
【図2】本実施形態の画像生成システムのブロック図の例である。
【図3】敵キャラクタ(モデルオブジェクト)と、そのスケルトンの例を示す図である。
【図4】骨の回転角度について説明するための図である。
【図5】ヒット情報に基づいてスケルトン形状を微少変形させるモーション補正について説明するための図である。
【図6】図6(A)、(B)、(C)は、復元力を用いたモーション補正の手法について説明するための図である。
【図7】図7(A)、(B)、(C)、(D)は、スケルトン形状の微少変形量を時間経過に伴い徐々に小さくする手法について説明するための図である。
【図8】手(銃)や足を固定しながらモーション補正を行う手法について説明するための図である。
【図9】ベース(ボディ座標系)の位置、回転角度を、モーションデータにより特定される位置、回転角度に固定しながら、モーション補正を行う手法について説明するための図である。
【図10】頭部や銃をプレーヤの方に向ける第1のモーション補正と、スケルトン形状を微少変形させる第2のモーション補正からなる多段階補正を行う手法について説明するための図である。
【図11】図11(A)、(B)は、各モーション補正の有効、無効を設定するフラグについて説明するための図である。
【図12】図12(A)、(B)も、各モーション補正の有効、無効を設定するフラグについて説明するための図である。
【図13】本実施形態の全体処理について示すフローチャートである。
【図14】第1のモーション補正の処理について示すフローチャートである。
【図15】第1のモーション補正の処理について示すフローチャートである。
【図16】敵キャラクタの頭部を目標位置に向けさせる手法について説明するための図である。
【図17】図17(A)、(B)、(C)は、敵キャラクタの銃を目標位置に向けさせる手法について説明するための図である。
【図18】第2のモーション補正の処理について示すフローチャートである。
【図19】図19(A)、(B)、(C)、(D)、(E)は、第2のモーション補正の手法について説明するための図である。
【図20】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図21】図21(A)、(B)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【発明を実施するための形態】
【0025】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、ガン型コントローラを用いたガンゲーム(シューティングゲーム)に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【0026】
1.構成
図1に、本実施形態を業務用ゲームシステムに適用した場合の構成例を示す。
【0027】
プレーヤ500は、本物のマシンガンを模して作られたガン型コントローラ(広義にはシューティングデバイス)502を構える。そして、画面504に映し出される敵キャラクタ(広義にはモデルオブジェクト)などの標的を狙ってシューティングすることでガンゲームを楽しむ。
【0028】
特に、本実施形態のガン型コントローラ502は、引き金を引くと、仮想的なショット(弾等)が高速で自動的に連射される。従って、あたかも本物のマシンガンを撃っているかのような仮想現実感をプレーヤに与えることができる。
【0029】
なお、ショットのヒット位置(着弾位置)は、ガン型コントローラ502に光センサを設け、この光センサを用いて画面の走査光を検知することで検出してもよいし、ガン型コントローラ502から光(レーザー光)を発射し、この光の照射位置をCCDカメラなどを用いて検知することで検出してもよい。
【0030】
図2に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部140、或いは処理部100と記憶部140と情報記憶媒体150を含めばよく)、それ以外のブロック(例えば操作部130、画像生成部160、表示部162、音生成部170、音出力部172、通信部174、I/F部176、メモリーカード180等)については、任意の構成要素とすることができる。
【0031】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、CPU(CISC型、RISC型)、DSP、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0032】
操作部130は、プレーヤが操作データを入力するためのものであり、その機能は、図1のガン型コントローラ502、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0033】
記憶部140は、処理部100、画像生成部160、音生成部170、通信部174、I/F部176などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0034】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)150は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体150に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体150には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実現(実行)するための種々の情報(プログラム、データ)が格納される。
【0035】
なお、情報記憶媒体150に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部140に転送されることになる。また情報記憶媒体150に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0036】
画像生成部160は、処理部100からの指示等にしたがって、各種の画像を生成し表示部162に出力するものであり、その機能は、画像生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(画像生成プログラム)、画像情報により実現できる。
【0037】
音生成部170は、処理部100からの指示等にしたがって、各種の音を生成し音出力部172に出力するものであり、その機能は、音生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(音生成プログラム)、音情報(波形データ等)により実現できる。
【0038】
通信部174は、外部装置(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ASIC、或いはCPUなどのハードウェアや、所与のプログラム(通信プログラム)により実現できる。
【0039】
なお本発明(本実施形態)の処理を実現するための情報は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部174を介して情報記憶媒体150に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0040】
また処理部100の機能の一部又は全部を、画像生成部160、音生成部170、又は通信部174の機能により実現するようにしてもよい。或いは、画像生成部160、音生成部170、又は通信部174の機能の一部又は全部を、処理部100の機能により実現するようにしてもよい。
【0041】
I/F部176は、処理部100からの指示等にしたがってメモリーカード(広義には、携帯型ゲーム機などを含む携帯型情報記憶装置)180との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラICなどにより実現できる。なお、メモリーカード180との間の情報交換を赤外線などの無線を用いて実現する場合には、I/F部176の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【0042】
処理部100は、ゲーム演算部110を含む。
【0043】
ここでゲーム演算部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度(X、Y又はZ軸回り回転角度)を決める処理、視点位置や視線角度(視線方向)を決める処理、モーションの再生(生成)処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部130からの操作データ、メモリーカード180からのデータ、ゲームプログラムなどに基づいて行う。
【0044】
ゲーム演算部110は、ヒットチェック部112、モーション再生部114、第1のモーション補正部116、第2のモーション補正部118を含む。
【0045】
ここで、ヒットチェック部112は、ガン型コントローラを用いてプレーヤが発射した仮想的なショットがモデルオブジェクトにヒットしたか否かを調べるヒットチェック処理を行う。なお、処理負担の軽減のためには、モデルオブジェクトの形状を簡易化した簡易オブジェクトを用いてヒットチェック処理を行うことが望ましい。
【0046】
モーション再生部114は、モデルオブジェクト(敵キャラクタ等)のモーションを、モーションデータ記憶部142に記憶されているモーションデータに基づいて再生する処理を行う。
【0047】
即ち、モーションデータ記憶部142には、モデルオブジェクトのスケルトンを構成する骨(部位)の位置又は回転角度等を含むモーションデータが記憶されている。モーション再生部114は、このモーションデータを読み出し、このモーションデータに基づいてモデルオブジェクトの骨(部位)を動かすことで(モデルオブジェクトのスケルトン形状を変形させることで)、モデルオブジェクトのモーションを再生する。
【0048】
なお、モーションデータ記憶部142に記憶されるモーションデータは、モーションキャプチャなどを利用して作成したものであることが特に望ましいが、モーションデータを、物理シミュレーション(物理計算を利用したシミュレーション。物理計算は擬似的な物理計算でもよい)などによりリアルタイムに生成するようにしてもよい。
【0049】
第1のモーション補正部116は、モーション再生部114によるモーション再生に基づき特定されたスケルトン形状を変形させるモーション補正を行う。
【0050】
より具体的には、頭部や武器(手)などの部位を、プレーヤ(プレーヤキャラクタ、仮想カメラ)の方向に向けるモーション補正を行う。これにより、プレーヤとモデルオブジェクト(敵キャラクタ)との位置関係に応じて、モデルオブジェクトのモーションが変化するようになり、リアルで多様なモーション表現を少ないデータ量で実現できるようになる。
【0051】
第2のモーション補正部118は、第1のモーション補正部116により変形したスケルトン形状を更に変形させるモーション補正を行う。これにより、モデルオブジェクトのモーションが多段階で補正されるようになる。
【0052】
より具体的には、スケルトン形状を元の形状に戻す復元力や、ヒット情報(ヒット力、ヒット方向等)などに基づいて、モデルオブジェクトのスケルトン形状を微少変形させるモーション補正を行う。これにより、ショットのヒットの衝撃に対して細かくリアクションするモデルオブジェクトを表現できるようになる。
【0053】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0054】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0055】
2.本実施形態の特徴
図3に、敵キャラクタ20(モデルオブジェクト)及びそのスケルトン(骨構造)の例を示す。
【0056】
ここで、図3のスケルトンを構成する骨B1〜B15(部位)は親子構造を有する。例えば、B15の親はB14、B14の親はB13、B13の親はB1である。また、B12の親はB11、B11の親はB10、B10の親はB1である。また、B9の親はB8、B8の親はB7、B7の親はB2である。またB6の親はB5、B5の親はB4、B4の親はB2である。またB3の親はB2であり、B2の親はB1である。更にB1の親はベースBSとなる。
【0057】
ここで、ベースBSは、敵キャラクタ20(モデルオブジェクト)のボディ座標系であり、このベースの、ワールド座標系に対する位置や回転角度を変化させることで、敵キャラクタ20全体を移動させたり回転させたりすることができる。
【0058】
各骨の位置、回転角度は、親の骨に対する相対位置、相対回転角度で表される。例えば、骨B2の位置(関節)J2は、その親の骨B1の位置J1に対する相対位置で表される。また、図4に示すように、子の骨BCの回転角度は、親の骨BPを例えばXL軸上に配置した場合の、XL、YL、ZL軸回りでの相対回転角度で表される。
【0059】
なお、図3の骨B1〜B15は現実に表示されるものではなく、仮想的なものであり、その実体は、敵キャラクタ20(モデルオブジェクト)の各部位の位置や回転角度を表すデータ(座標変換マトリクス)である。
【0060】
図2のモーションデータ記憶部142には、骨B1〜B15の位置J1〜J15や回転角度が、モーションデータとして記憶されている(回転角度のみ記憶してもよい)。例えば、歩きモーションが、MP1、MP2、MP3・・・・MPNという複数の一連の基準モーション(姿勢)により構成されていたとする。するとこれらの各基準モーションMP1、MP2、MP3・・・・MPNでの各骨の位置、回転角度が、モーションデータとしてモーションデータ記憶部142に記憶されている。そして、例えば、第1のフレームでは基準モーションMP1の各骨の位置、回転角度を読み出し、次の第2のフレームでは基準モーションMP2の各骨の位置、回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション再生が実現される。
【0061】
なお、本実施形態では、ベースBS(ボディ座標系)の、ワールド座標系に対する位置や回転角度についても、モーションデータにより特定されるようになっている。
【0062】
図3の敵キャラクタ20を構成する部位である腰1、胸2、頭部3、右上腕4、右前腕5、右手(銃)6、左上腕7、左前腕8、左手9、右大腿10、右すね11、右足12、左大腿13、左すね14、左足15は、各々、骨B1〜B15に追従して動くことになる。従って、骨B1〜B15により構成されるスケルトンの形状が変形すると、これに追従して敵キャラクタ20の形状も変形するようになる。なお、関節に近い部分については、一定の割合で隣の骨に追従させるようにしてもよい。例えば上腕4の、関節J5に近い部分については、骨B4のみならず骨B5にも一定の割合で追従させるようにする。このようにすれば、関節付近での形状変形を滑らかにすることができる。
【0063】
さて、本実施形態では、敵キャラクタがショット等によりヒットされた場合に、モーションデータに基づき特定されるモデルオブジェクトのスケルトン形状(他の補正を行った後のスケルトン形状でもよい)を、ヒット力やヒット方向(広義にはヒット情報)に基づいて微少変形させるモーション補正を行っている。例えば図5では、ショットが敵キャラクタの胸にヒットしており、そのヒット力やヒット方向に応じて、スケルトン形状が微少変形している。
【0064】
このようにすれば、ヒット力やヒット方向が異なれば、スケルトンも異なる形状に変形するようになる。例えばヒット力が大きければ、スケルトン形状の変形量も大きくなる。また、ヒット方向が第1の方向であれば、第1の方向にほぼ沿った方向でスケルトン形状が変形し、ヒット方向が第2の方向であれば、第2の方向にほぼ沿った方向でスケルトン形状が変形する。従って、一連の基準モーションからなる1組のモーションデータだけを用いながらも、種々様々な形状にスケルトンを変形させるできるようになる。この結果、少ないデータ量で、リアルで多様なモーション表現を実現できるようになる。
【0065】
そして、本実施形態では更に、ヒット情報の他に、スケルトン形状を元のスケルトン形状(モーションデータに基づき特定される形状)に戻す復元力を用いて、モーション補正を行うようにしている。
【0066】
例えば図6(A)に示すように右方向からヒットされた場合に、骨BAは、図6(B)に示すように反時計回りに回転する。そして、骨BAが、E1に示す元の向きからE2に示すように反時計回りにθ1だけ回転すると、−K1×θ1という復元力が働き、骨BAを時計回りに回転させようとする。一方、骨BAが、E1に示す元の向きから図6(C)のE3に示すように時計回りにθ2だけ回転すると、−K1×θ2という復元力が働き、骨BAを反時計回りに回転させようとする。
【0067】
このような復元力を働かせることで、各骨がバネ運動を行うようになり、ショットがヒットする毎に、スケルトン形状が微少に振動するようになる。この結果、あたかもショットのヒットによるリアクションで敵キャラクタがぴくぴくと震えているかのように見せることができ、単なるモーション再生処理では得られないリアルなモーション表現を実現できる。
【0068】
また本実施形態では、ヒット情報に基づくスケルトン形状の微少変形量が、時間経過に伴い徐々に小さくなるように、モーション補正を行っている。
【0069】
即ち本実施形態では、ショットがヒットすると、図7(A)に示すようにタイマー値TMが例えば90にセットされる。そして、このタイマー値TMは1フレーム毎にデクリメントされる。
【0070】
タイマー値TMが90(初期値)の場合には、図7(A)のE4に示すように骨BAの回転角度の振幅は最も大きくなる。そして、図7(B)のE5、図7(C)のE6、図7(D)のE7に示すように、ヒット時から時間が経過し、タイマー値TMがデクリメントされるにつれて、骨BAの回転角度の振幅が徐々に小さくなって行く。
【0071】
これにより、ショットのヒット時にはスケルトン形状は大きく振動し、その後、振動幅が徐々に小さくなって行くように見えるようになる。従って、ショットのヒットの衝撃によるリアクションで敵キャラクタがぴくぴくと震えている様子を、更にリアルに見せることができる。この結果、一連の基準モーションからなる1組のモーションデータだけを用いながらも、単なるモーション再生処理では得られないリアルなモーション表現を実現できるようになる。
【0072】
また、本実施形態では、敵キャラクタの所与の部位(骨)の位置や回転角度をほぼ固定しながら、モーション補正を行うようにしている。
【0073】
例えば図8では、敵キャラクタの右手(骨B6)の位置J6や回転角度、左手(骨B9)の位置J9や回転角度、右足(骨B12)の位置J12や回転角度、左足(骨B15)の位置J15や回転角度を固定しながら、スケルトン形状を微少変形させている。
【0074】
このようにすれば、手と一体形成された銃(武器)の位置や方向が、ショットのヒットが原因となってぶれてしまうという事態が防止される。これにより、銃をプレーヤの方向にしっかりと向けながらショットのヒットにより振動するという敵キャラクタの様子を表現できるようになる。
【0075】
また、足を固定しながらモーション補正を行うことで、足が地面を滑ってしまい、すり足状態になってしまうという事態を防止できるようになる。
【0076】
即ち、スケルトン形状を微少変形させるモーション補正により、足の位置や回転角度が変化してしまうと、本来は滑るべきではない足が滑って見えてしまうという問題が生じる。本実施形態では、スケルトン形状を微少変形させるモーション補正を行う際に、図8に示すように足の位置や回転角度を固定させている。従って、このようなモーション補正を行っても、足の位置や回転角度は、モーションデータにより特定される位置や回転角度からずれないようになる。そして、モーションデータは、足が滑らないように予め作られているため、結局、上記のようなモーション補正が行われても、敵キャラクタの足は滑らないようになる。この結果、敵キャラクタのモーションを、より自然なものにすることができる。
【0077】
また、本実施形態では、敵キャラクタの図3に示すベースBS(ボディ座標系)の、ワールド座標系XW、YW、ZWに対する位置や回転角度については、モーションデータに基づき特定される位置や回転角度にほぼ固定しながら、モーション補正を行うようにしている。
【0078】
例えば図9では、ベースBSの位置や回転角度が、モーションデータに基づいて変化している。そして、仮想カメラ30は、このベースBSの移動に伴って移動する敵キャラクタが撮影範囲に入るように、その位置や回転角度を変化させている。
【0079】
この場合に、スケルトン形状を微少変形させるなどのモーション補正により、ベースBSの位置や回転角度(ワールド座標系に対する位置、回転角度)が変化してしまうと、敵キャラクタが撮影範囲に入らなくなるなどの事態が生じてしまう。従って、ストーリー展開に沿ったカメラワークを実現できなくなる。
【0080】
本実施形態では、ベースBSの位置や回転角度については、モーションデータに基づき特定される位置や回転角度に固定しながら、モーション補正が行われる。従って、モーション補正により敵キャラクタの部位が変化しても、ベースBSの位置や回転角度はモーションデータの通りに変化するようになる。このため、敵キャラクタが仮想カメラ30の撮影範囲に入らなくなる事態を防止でき、ストーリー展開に沿ったカメラワークを実現できるようになる。
【0081】
さて、本実施形態では多段階のモーション補正を行っている。例えば、モーションデータに基づき特定されるスケルトン形状を変形させる第1のモーション補正を行い、次に、この第1のモーション補正により変形したスケルトン形状を更に変形させる第2のモーション補正を行う。なお、更に第3、第4・・・・第Nのモーション補正を行うようにしてもよい。
【0082】
より具体的には、図10のF1では、単にモーションデータに基づくモーション再生を行っている。この場合、敵キャラクタ20は、プレーヤ(プレーヤキャラクタ、仮想カメラ)の方を向くことなく、モーションデータに基づいて例えば歩きモーションを行う。
【0083】
一方、図10のF2では、敵キャラクタ20の頭部や銃(右手)をプレーヤの方に向かせる第1のモーション補正を行っている。このようにすれば、F1に示すような歩きモーションのモーションデータを用いながらも、プレーヤの方に頭部や銃を向ける敵キャラクタ20のモーションを実現できるようになる。この結果、図10のF1に示すような単なるモーション補正のみを行う場合に比べて、1組のモーションデータで、より多様なモーションを表現できるようになる。
【0084】
更に、図10のF3では、プレーヤからのショットのヒットにより敵キャラクタ20のスケルトン形状を微少変形させる第2のモーション補正を行っている。このようにすれば、敵キャラクタの頭部や銃(広義には所与の部位)をプレーヤ(広義には目標位置)の方に向けると共に、敵キャラクタがヒットされた場合にスケルトン形状が微少変形するような変形処理を実現できる。この結果、図10のF1に示すような単なるモーション補正のみを行う場合や、図10のF2に示すような第1のモーション補正のみを行う場合に比べて、1組のモーションデータで、より多様なモーションを表現できるようになる。
【0085】
なお、各モーション補正を個別に有効、無効に設定するためのフラグ(広義には情報)を、敵キャラクタ(モデルオブジェクト)毎に設定できることが望ましい。
【0086】
例えば図11(A)では、敵キャラクタ20に対しては、フラグHF(頭部をプレーヤの方に向けるモーション補正の有効、無効を設定するフラグ)、フラグGF(銃をプレーヤの方に向けるモーション補正の有効、無効を設定するフラグ)、フラグRF(ヒットの衝撃にリアクションするモーション補正の有効、無効を設定するフラグ)が、全て1(有効)に設定されている。従って、図11(B)に示すように、この敵キャラクタ20は、プレーヤの方に頭部や銃を向けると共に、ショットがヒットした場合にリアクション(微少振動)するようになる。
【0087】
一方、敵キャラクタ21に対しては、フラグHF、GFが1(有効)に設定されているが、フラグRFが0(無効)に設定されている。従って、図11(B)に示すように、この敵キャラクタ21はプレーヤの方に頭部や銃を向けないが、ショットがヒットした場合にはリアクションするようになる。
【0088】
また、敵キャラクタ22に対しては、フラグHF、GF、RFが全て0(無効)に設定されている。従って、図11(B)に示すように、この敵キャラクタ22はプレーヤの方に頭部や銃を向けないと共に、ショットがヒットした場合にもリアクションしないようになる。
【0089】
また、図12(A)では、ゲーム中であるため、敵キャラクタ20に対しては、フラグHF、GF、RFが全て1(有効)に設定されている。従って、ゲーム中においては敵キャラクタ20は、プレーヤの方に頭部や銃を向けると共に、ショットがヒットした場合に微少振動するようになる。
【0090】
一方、図12(B)では、デモ中(アトラクション中)であるため、敵キャラクタ20に対しては、フラグHF、GF、RFが全て0(無効)に設定されている。従って、デモ中においては敵キャラクタ20は、プレーヤの方に頭部や銃を向けないと共に、ショットがヒットした場合にもリアクションしないようになる。
【0091】
以上のように、モーション補正の有効、無効を制御するための各種フラグを、各敵キャラクタ毎に設定可能にすることで、ゲーム状況やゲームモードなどに応じて、敵キャラクタの動きを異なったものにすることができる。従って、同一のプログラム或いは同一のモーションデータで動く敵キャラクタであっても、各フラグを異ならせることで、異なった動きをするようになる。この結果、敵キャラクタの更に多様なモーション表現を実現できる。
【0092】
3.本実施形態の処理
次に、本実施形態の処理の詳細例についてフローチャートを用いて説明する。
【0093】
図13は、本実施形態の処理の全体について示すフローチャートである。
【0094】
まず、図2のモーションデータ記憶部142からモーションデータを読み出し、モーションデータに基づくモーション再生を行う(ステップS1)。即ち、モーションデータに基づき、当該フレームでの各部位(骨)の位置や回転角度を求める。
【0095】
次に、図10のF2で説明したような、頭部と銃の向きに関する第1のモーション補正を行う(ステップS2)。
【0096】
次に、ショットがヒットしたか否かを判断し、ヒットした場合にはステップS4に、ヒットしなかった場合にはステップS7に移行する(ステップS3)。
【0097】
ステップS4に移行した場合には、敵キャラクタのリアクション(第2のモーション補正)を開始するか否かを、図11(A)〜図12(B)で説明したフラグRFに基づいて判断する。そして、開始する場合にはステップS5に移行し、開始しない場合にはステップS7に移行する。
【0098】
ステップS5に移行した場合には、ヒット力とヒット方向を決定する。そして、図7(A)、(B)、(C)、(D)で説明したリアクションのタイマー値TMに初期値(例えば90)をセットする(ステップS6)。
【0099】
次に、タイマー値TMをデクリメントし(ステップS7)、タイマー値TMが0になったか否かを判断する(ステップS8)。そして、0になった場合には、そのままステップS1に戻る。一方、0になっていない場合には、ステップS9に移行してリアクションに関する第2のモーション補正を行った後に、ステップS1に戻る。
【0100】
以上のようにして1フレーム分の処理を完了する。
【0101】
図14は、図13のステップS2に示す第1のモーション補正のフローチャートである。
【0102】
まず、図16に示す目標位置TP(例えばプレーヤの位置)を決定する(ステップS10)。
【0103】
次に、敵キャラクタの頭部を目標位置TPに向けるか否かを、図11(A)〜図12(B)で説明したフラグHFに基づき判断する(ステップS11)。そして、目標位置に向ける場合にはステップS12に、向けない場合にはステップS17に移行する。
【0104】
ステップS17に移行した場合には、モーションデータにより特定される元の視線ベクトルMHVの方向に、敵キャラクタの頭部を向ける。
【0105】
一方、ステップS12に移行した場合には、図16に示すように頭部から目標位置TPへのベクトルTHVを求める。そして、モーションデータにより特定される元の視線ベクトルMHVと、THVとのなす角度θH1を求める(ステップS13)。
【0106】
次に、θH1が90度よりも小さいか否かを判断し(ステップS14)、90度以上の場合にはステップS17に移行し、元の視線ベクトルMHVの方向に頭部を向ける。即ち、θH1が90度以上の場合には敵キャラクタの頭部はプレーヤの方を向かないようになる。頭部を90度以上回転させるのは、現実世界の事象を考慮すると不自然だからである。
【0107】
θH1が90度よりも小さい場合には、敵キャラクタの視線ベクトルHVを、HVとMHVとのなす角度θH2が45度以内に収まるように補正する(ステップS15)。そして、補正されたHVの方向に頭部を向けるようにする(ステップS16)。
【0108】
次に、銃を目標位置TP(プレーヤ)に向けるか否かを、図11(A)〜図12(B)で説明したフラグGFに基づき判断する(ステップS18)。そして、向けない場合にはステップS24に移行し、向ける場合にはステップS19に移行する。
【0109】
ステップS24に移行した場合には、胸と両腕を、モーションデータにより特定される元の方向に向けるようにする。
【0110】
一方、ステップS19に移行した場合には、図17(A)に示すように、胸から目標位置TPへのベクトルTGVを求める。そして、モーションデータにより特定される元の銃方向ベクトルMGVと、TGVとのなす角度θGを求める(ステップS20)。
【0111】
次に、θGが60度よりも小さいか否かを判断し(ステップS21)、60度以上の場合には、ステップS24に移行し、胸と両腕を、モーションデータにより特定される元の方向に向けるようにする。
【0112】
一方、θGが60度よりも小さい場合には、図17(B)に示すように、胸を、ベースの座標系のY軸回りで回転させて方向を合わせる(ステップS22)。次に、図17(C)に示すように、両腕を、胸の座標系のX軸回りで回転させて方向を合わせる(ステップS23)。
【0113】
以上のようにして、敵キャラクタの頭部や銃の向きを目標位置(プレーヤ)に向ける第1のモーション補正が実現される。
【0114】
図18は、図13のステップS9に示す第2のモーション補正のフローチャートである。
【0115】
まず、ヒット部位に応じたヒット力を各部位(骨)に加える(ステップS30)。例えば図19(A)では頭部にショットがヒットしており、この場合には、頭部に対するヒット力を最大にし、頭部から遠く離れるにつれて、加えるヒット力を小さくする。
【0116】
次に、処理対象が腰か否かを判断し(ステップS31)、腰ではない場合には、ヒット力と復元力(図6(A)、(B)、(C)参照)と減衰抵抗に基づき、各部位(骨)を微少変位させるための回転速度を更新する。より具体的には次式(1)に示すような計算を行う。
【0117】
ωn=ωn-1−K1×△θn-1−K2×ωn-1+FH (1)
上式(1)において、ωn、ωn-1はn、n-1フレームにおける回転速度、K1はバネ係数(復元力の係数)、△θn-1はn-1フレームでの部位の微少回転変位量、K2は減衰抵抗の係数、FHはヒット力である。
【0118】
次に、更新された回転速度に基づいて、各部位(骨)の微少回転変位量を更新する。より具体的には次式(2)に示すような計算を行う。
【0119】
△θn=(TM/TMS)×(△θn-1+ωn) (2)
上式(2)において、TMは図7(A)〜(D)で説明したタイマー値であり、TMSはタイマー値の初期値(例えば90)である。また、△θn、△θn-1はn、n-1フレームにおける微少回転変位量であり、ωnは上式(1)で求められた微少回転変位量である。
【0120】
なお、上式(1)、(2)の計算は、実際には各軸回りの回転に対して行う。
【0121】
処理対象が腰の場合には、回転速度のみならず移動速度も更新する(ステップS34)。また、微少回転変位量のみならず、微少移動変位量も更新する(ステップS35)。
【0122】
即ち図19(B)に示すように、腰以外の部位である例えば頭部3では、回転角度だけを変位させる。また、図19(C)に示すように、腰1では、回転角度のみならず位置も変位させる。
【0123】
なお、腕(上腕、前腕)では、図8で説明したように手(銃)が固定され回転の自由度が少ないため、図19(D)に示すように、肩と手を結んだ軸回りで腕を微少回転させるようにする。また、脚(大腿、すね)では、図8で説明したように足が固定され回転の自由度が少ないため、図19(E)に示すように、股関節と足を結んだ軸回りで脚を微少回転させるようにする。
【0124】
次に、腰、胸、頭部の位置、回転角度を決定する(ステップS36)。
【0125】
より具体的には、まず、モーションデータに基づき図3のベースBSの位置、回転角度が決定される。次に、このベースBSの位置、回転角度と、モーションデータと、ステップS35で求められた微少回転変位量、微少移動変位量とに基づいて、腰の位置、回転角度が決定される(腰の骨のワールド座標系への座標変換マトリクスが決定される)。
【0126】
次に、求められた腰の位置、回転角度と、図14、図15の第1のモーション補正により変化したモーションデータと、ステップS33で得られた微少回転変位量とに基づいて、胸の位置、回転角度が決定される(胸の骨のワールド座標系への座標変換マトリクスが決定される)。
【0127】
次に、求められた胸の位置、回転角度と、図14、図15の第1のモーション補正により変化したモーションデータと、ステップS33で得られた微少回転変位量とに基づいて、頭部の位置、回転角度が決定される(頭部の骨のワールド座標系への座標変換マトリクスが決定される)。
【0128】
次に、胸の位置、回転角度により特定される両肩の位置と、固定されている両手(銃)の位置とに基づき、両腕の位置、回転角度が決定される(ステップS37)。即ち、図19(D)の微少回転変位量を考慮して、インバースキネマティクスにより、上腕、前腕の位置、回転角度が決定される(上腕、前腕の骨のワールド座標系への座標変換マトリクスが決定される)。
【0129】
次に、腰の位置、回転角度により特定される股関節の位置と、固定されている両足の位置とに基づき、両脚の位置、回転角度が決定される(ステップS38)。即ち、図19(E)の微少回転変位量を考慮して、インバースキネマティクスにより、大腿、すねの位置、回転角度が決定される(大腿、すねの骨のワールド座標系への座標変換マトリクスが決定される)。
【0130】
以上のようにして、全ての部位(骨)の位置、回転角度(ワールド座標系への座標変換マトリクス)が決定される。そして、部位の位置、回転角度が決定されると、部位を構成する各頂点の位置が決定され(各頂点がワールド座標系に座標変換され)、敵キャラクタの画像を生成できるようになる。
【0131】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図20を用いて説明する。同図に示すシステムでは、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ送受信可能に接続されている。そして前記画像生成IC1010にはディスプレイ1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0132】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてDVD、ゲームカセット、CDROM等が用いられる。また業務用ゲームシステムではROM等のメモリが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0133】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【0134】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(システム本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000はシステム全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このRAM又は情報記憶媒体上に構築されることになる。
【0135】
更に、この種のシステムには音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。なおディスプレイ1018として、いわゆるヘッドマウントディスプレイ(HMD)と呼ばれるものを使用することもできる。
【0136】
また、通信装置1024は画像生成システム内部で利用される各種の情報を外部とやりとりするものであり、他の画像生成システムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【0137】
そして図1〜図19(E)で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体1006、この情報記憶媒体1006からの情報等に基づいて動作するCPU1000、画像生成IC1010或いは音生成IC1008等によって実現される。なお画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0138】
図1に示すような業務用ゲームシステムに本実施形態を適用した場合には、内蔵されるシステムボード(サーキットボード)1106に対して、CPU、画像生成IC、音生成IC等が実装される。そして、本実施形態の処理(本発明の手段)を実行(実現)するための情報は、システムボード1106上の情報記憶媒体である半導体メモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0139】
図21(A)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるDVD1206、メモリーカード1208、1209等に格納されている。
【0140】
図21(B)に、ホスト装置1300と、このホスト装置1300と通信回線(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)1302を介して接続される端末1304-1〜1304-nとを含む画像生成システムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、CPU、画像生成IC、音処理ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0141】
なお、図21(B)の構成の場合に、本発明の処理を、ホスト装置(サーバー)と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0142】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリーカード、携帯型ゲーム機)を用いることが望ましい。
【0143】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0144】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0145】
また、モデルオブジェクトのスケルトン形状を微少変形させる手法は、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【0146】
また、モーション補正の手法も、本実施形態で説明したものに限定されない。
【0147】
また、本実施形態では2段階のモーション補正を行う場合について説明したが、3段階以上のモーション補正を行うようにしてもよい。
【0148】
また、本実施形態では、モデルオブジェクトが敵キャラクタである場合について説明したが、本発明のモデルオブジェクトは敵キャラクタに限定されず、プレーヤキャラクタ、移動体、固定物など、少なくとも骨構造を有しモーションデータにより動く種々のモデルオブジェクトを考えることができる。
【0149】
また、本実施形態では、ショットによりモデルオブジェクトがヒットされる場合を例にとり説明したが、本発明におけるモデルオブジェクトのヒットは、これに限定されず、例えば、剣によるヒットや、パンチやキックによるヒット等も含まれる。
【0150】
また本発明はガンゲーム以外にも種々のゲーム(ガンゲーム以外のシューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0151】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【符号の説明】
【0152】
BS ベース(ボディ座標系)
B1〜B15 骨
J1〜J15 骨の位置(関節)
1 腰
2 胸
3 頭部
4 右上腕
5 右前腕
6 右手(銃)
7 左上腕
8 左前腕
9 左手
10 右大腿
11 右すね
12 右足
13 左大腿
14 左すね
15 左足
20、21、22 敵キャラクタ(モデルオブジェクト)
30 仮想カメラ
100 処理部
110 ゲーム演算部
112 ヒットチェック部
114 モーション再生部
116 第1のモーション補正部
118 第2のモーション補正部
130 操作部
140 記憶部
142 モーションデータ記憶部
150 情報記憶媒体
160 画像生成部
162 表示部
170 音生成部
172 音出力部
174 通信部
176 I/F部
180 メモリーカード

【特許請求の範囲】
【請求項1】
画像を生成するための画像生成システムであって、
複数の部位により構成されるモデルオブジェクトがヒットされた場合に、モーションデータに基づき特定されるモデルオブジェクトのスケルトン形状を、ヒット情報に基づいて微少変形させるモーション補正を行う手段と、
モデルオブジェクトの画像を含む画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項2】
請求項1において、
モデルオブジェクトのスケルトン形状をモーションデータに基づき特定される元のスケルトン形状に戻す復元力と、前記ヒット情報とに基づいて、前記モーション補正を行うことを特徴とする画像生成システム。
【請求項3】
請求項1又は2において、
ヒット情報に基づくスケルトン形状の微少変形量が時間経過に伴い徐々に小さくなるように、前記モーション補正を行うことを特徴とする画像生成システム。
【請求項4】
請求項1乃至3のいずれかにおいて、
モデルオブジェクトの所与の部位の位置又は回転角度をほぼ固定しながら、前記モーション補正を行うことを特徴とする画像生成システム。
【請求項5】
請求項1乃至4のいずれかにおいて、
モデルオブジェクトのボディ座標系の、ワールド座標系に対する位置又は回転角度を、モーションデータに基づき特定される位置又は回転角度にほぼ固定しながら、前記モーション補正を行うことを特徴とする画像生成システム。
【請求項6】
請求項1乃至5のいずれかにおいて、
モデルオブジェクトの所与の部位を所与の目標位置に向ける第1のモーション補正を行った後に、前記モーション補正を行うことを特徴とする画像生成システム。
【請求項7】
画像を生成するための画像生成システムであって、
複数の部位により構成されるモデルオブジェクトの、モーションデータに基づき特定されるスケルトン形状を、変形させる第1のモーション補正を行い、前記第1のモーション補正により変形したスケルトン形状を更に変形させる第2のモーション補正を行い・・・・・・第N−1のモーション補正により変形したスケルトン形状を更に変形させる第N(N≧2)のモーション補正を行う手段と、
モデルオブジェクトの画像を含む画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項8】
請求項7において、
前記各第1〜第Nのモーション補正を個別に有効、無効に設定するための情報が、モデルオブジェクトに対して設定されることを特徴とする画像生成システム。
【請求項9】
請求項7又は8において、
モデルオブジェクトのボディ座標系の、ワールド座標系に対する位置又は回転角度を、モーションデータに基づき特定される位置又は回転角度にほぼ固定しながら、前記第1〜第Nのモーション補正を行うことを特徴とする画像生成システム。
【請求項10】
画像を生成するための画像生成システムであって、
複数の部位により構成されるモデルオブジェクトの所与の部位を所与の目標位置に向ける共に、モデルオブジェクトがヒットされた場合にモデルオブジェクトのスケルトン形状が微少変形するように、モデルオブジェクトのスケルトン形状を変形させる手段と、
モデルオブジェクトの画像を含む画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項11】
コンピュータが使用可能な情報記憶媒体であって、
複数の部位により構成されるモデルオブジェクトがヒットされた場合に、モーションデータに基づき特定されるモデルオブジェクトのスケルトン形状を、ヒット情報に基づいて微少変形させるモーション補正を行う手段と、
モデルオブジェクトの画像を含む画像を生成する手段と、
を実現するための情報を含むことを特徴とする情報記憶媒体。
【請求項12】
請求項11において、
モデルオブジェクトのスケルトン形状をモーションデータに基づき特定される元のスケルトン形状に戻す復元力と、前記ヒット情報とに基づいて、前記モーション補正を行うことを特徴とする情報記憶媒体。
【請求項13】
請求項11又は12において、
ヒット情報に基づくスケルトン形状の微少変形量が時間経過に伴い徐々に小さくなるように、前記モーション補正を行うことを特徴とする情報記憶媒体。
【請求項14】
請求項11乃至13のいずれかにおいて、
モデルオブジェクトの所与の部位の位置又は回転角度をほぼ固定しながら、前記モーション補正を行うことを特徴とする情報記憶媒体。
【請求項15】
請求項11乃至14のいずれかにおいて、
モデルオブジェクトのボディ座標系の、ワールド座標系に対する位置又は回転角度を、モーションデータに基づき特定される位置又は回転角度にほぼ固定しながら、前記モーション補正を行うことを特徴とする情報記憶媒体。
【請求項16】
請求項11乃至15のいずれかにおいて、
モデルオブジェクトの所与の部位を所与の目標位置に向ける第1のモーション補正を行った後に、前記モーション補正を行うことを特徴とする情報記憶媒体。
【請求項17】
コンピュータが使用可能な情報記憶媒体であって、
複数の部位により構成されるモデルオブジェクトの、モーションデータに基づき特定されるスケルトン形状を、変形させる第1のモーション補正を行い、前記第1のモーション補正により変形したスケルトン形状を更に変形させる第2のモーション補正を行い・・・・・・第N−1のモーション補正により変形したスケルトン形状を更に変形させる第N(N≧2)のモーション補正を行う手段と、
モデルオブジェクトの画像を含む画像を生成する手段と、
を実現するための情報を含むことを特徴とする情報記憶媒体。
【請求項18】
請求項17において、
前記各第1〜第Nのモーション補正を個別に有効、無効に設定するための情報が、モデルオブジェクトに対して設定されることを特徴とする情報記憶媒体。
【請求項19】
請求項17又は18において、
モデルオブジェクトのボディ座標系の、ワールド座標系に対する位置又は回転角度を、モーションデータに基づき特定される位置又は回転角度にほぼ固定しながら、前記第1〜第Nのモーション補正を行うことを特徴とする情報記憶媒体。
【請求項20】
コンピュータが使用可能な情報記憶媒体であって、
複数の部位により構成されるモデルオブジェクトの所与の部位を所与の目標位置に向ける共に、モデルオブジェクトがヒットされた場合にモデルオブジェクトのスケルトン形状が微少変形するように、モデルオブジェクトのスケルトン形状を変形させる手段と、
モデルオブジェクトの画像を含む画像を生成する手段と、
を実現するための情報を含むことを特徴とする情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2009−134767(P2009−134767A)
【公開日】平成21年6月18日(2009.6.18)
【国際特許分類】
【出願番号】特願2009−70317(P2009−70317)
【出願日】平成21年3月23日(2009.3.23)
【分割の表示】特願平11−238651の分割
【原出願日】平成11年8月25日(1999.8.25)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】