JP4656622B2 - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents

画像生成システム、プログラム及び情報記憶媒体 Download PDF

Info

Publication number
JP4656622B2
JP4656622B2 JP2001253522A JP2001253522A JP4656622B2 JP 4656622 B2 JP4656622 B2 JP 4656622B2 JP 2001253522 A JP2001253522 A JP 2001253522A JP 2001253522 A JP2001253522 A JP 2001253522A JP 4656622 B2 JP4656622 B2 JP 4656622B2
Authority
JP
Japan
Prior art keywords
motion
motion data
data
model object
given
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001253522A
Other languages
English (en)
Other versions
JP2003067773A (ja
Inventor
哲也 赤塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001253522A priority Critical patent/JP4656622B2/ja
Publication of JP2003067773A publication Critical patent/JP2003067773A/ja
Application granted granted Critical
Publication of JP4656622B2 publication Critical patent/JP4656622B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラ(操作手段)を用いて自キャラクタ(モデルオブジェクト)を操作し、相手プレーヤやコンピュータが操作する敵キャラクタと対戦することでゲームを楽しむ。
【0003】
さて、このような格闘ゲームでは、キャラクタのリアルで多様なモーションを表現できることが望ましい。例えば、キャラクタが立ち止まった姿勢のままで攻撃を行うというモーション表現のみならず、走りながら攻撃したり、ジャンプしながら攻撃するなどのモーション表現を実現できることが望ましい。また、キャラクタの刀(剣)が敵キャラクタにヒットした場合に、刀がヒットしたことをプレーヤに効果的に伝える、いわゆる「切りごたえ」の表現についても実現できることが望ましい。
【0004】
しかしながら、このようなリアルで多様なモーション表現を実現しようとすると、モーションデータのデータ量が増えてしまったり、モーション制御の処理負荷が重くなってしまうという課題がある。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ないデータ量で多様なモーション表現を実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、モデルオブジェクトのスケルトンの形状を特定するモーションデータを、モデルオブジェクトのスケルトンを構成する各骨毎に任意に設定される個別ブレンド率とモデルオブジェクトのスケルトンの骨に対して一律に設定される全体ブレンド率とに基づいてブレンドし、ブレンドにより得られたモーションデータに基づいて、モデルオブジェクトにモーションを行わせるモーションブレンド手段と、モデルオブジェクトを含む複数のオブジェクトが配置されるオブジェクト空間内の所与の視点での画像を生成する手段とを含み、前記モーションブレンド手段が、所与のイベントが発生した場合に、個別ブレンド率及び全体ブレンド率に基づくモーションブレンドを行うことを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0007】
本発明によれば、スケルトンを構成する各骨毎に任意にその値を設定できる個別ブレンド率に基づき、モーションブレンドを行うことができる。従って、例えば、第1、第2のモーションデータをブレンドする場合に、スケルトンの第Mの骨では第2のモーションデータの個別ブレンド率を高くし、第Nの骨では第2のモーションデータの個別ブレンド率を低くするなどの設定が可能になる。これにより、モデルオブジェクトの各部分毎に異なるブレンド率でモーションブレンドを行うことが可能になり、少ないデータ量のモーションデータで多様なモーション表現を実現できる。
【0008】
また本発明によれば、上記の個別ブレンド率と、モデルオブジェクトのスケルトンの骨に対して一律に設定される全体ブレンド率とに基づき、モーションブレンドを行うことができる。従って、この全体ブレンド率を変化させることで、個別ブレンド率によるモーションブレンドの影響を強めたり、弱めたりすることが可能になり、更に多様なモーション表現を実現できる。
【0009】
そして本発明によれば、所与のイベントが発生した場合に、個別ブレンド率及び全体ブレンド率に基づくモーションブレンドが行われるようになる。従って、この所与のイベントが発生する前は、個別ブレンド率の影響が及ばないモーションをモデルオブジェクトに行わせることができる。そして、所与のイベントが発生すると、全体ブレンド率及び個別ブレンド率の両方の影響が及ぶモーションをモデルオブジェクトに行わせることが可能になり、イベント表現に好適な画像を生成できる。
【0010】
なお、イベント発生前の期間において、個別ブレンド率を零に設定しながら個別ブレンド率及び全体ブレンド率の両方に基づくモーションブレンドを行う場合も、本発明の範囲に含まれる。
【0011】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、該所与のイベントの影響を最も及ばすべき骨についての前記個別ブレンド率が、前記第1のモーションデータよりも前記第2のモーションデータの方がより多くブレンドされるブレンド率に設定されていることを特徴とする。
【0012】
このようにすれば、イベントの影響を最も及ばすべき骨を、第2のモーションデータに最も近い動きで動かすことができ、イベント表現に好適な画像を生成できる。
【0013】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、該所与のイベントが発生するまでは、第2のモーションデータの全体ブレンド率が零に設定されていることを特徴とする。
【0014】
このようにすれば、全体ブレンド率を零に設定するだけという少ない処理負荷で、イベント発生前における第2のモーションデータや個別ブレンド率の影響を無くすことが可能になる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、全体ブレンド率を時間経過に伴い変化させることを特徴とする。
【0016】
この場合、時間経過は、フレーム進行(フレーム更新の毎にカウントアップされるカウンタ)により判断してもよいし、実時間(タイマー)や仮想ゲーム時間に基づいて判断してもよい。
【0017】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、所与のイベントが発生してから所与の第1の期間が経過するまでは、第2のモーションデータの全体ブレンド率が時間経過に伴い増加し、第1の期間が経過後、所与の第2の期間が経過するまでは、第2のモーションデータの全体ブレンド率が時間経過に伴い減少することを特徴とする。
【0018】
このようにすれば、第1の期間においては、第2のモーションデータや個別ブレンド率の影響が時間経過に伴い強まって行き、第2の期間においては、第2のモーションデータや個別ブレンド率の影響が時間経過に伴い弱まって行くような画像を生成できる。
【0019】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記第1の期間での全体ブレンド率の変化率の方が、前記第2の期間での全体ブレンド率の変化率よりも高いことを特徴とする。
【0020】
このようにすれば、第1の期間において、第2のモーションデータや個別ブレンド率の影響が直ぐに及ぶような画像表現を実現できる。一方、第2の期間においては、第1、第2のモーションデータのブレンドモーションから第1のモーションデータのモーションにゆるやかに戻って行くような画像表現を実現できる。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記モーションブレンド手段が、所与のイベントが発生した場合に、第1のモーションデータと、該第1のモーションデータとデータ内容が同一であり且つ第1のモーションデータとは再生速度及び再生フレーム番号の少なくとも一方を異ならせた第2のモーションデータとを、モーションブレンドすることを特徴とする。
【0022】
また本発明は、画像生成を行う画像生成システムであって、モデルオブジェクトのスケルトンの形状を特定するモーションデータをブレンド率に基づいてブレンドし、ブレンドにより得られたモーションデータに基づいて、モデルオブジェクトにモーションを行わせるモーションブレンド手段と、モデルオブジェクトを含む複数のオブジェクトが配置されるオブジェクト空間内の所与の視点での画像を生成する手段とを含み、前記モーションブレンド手段が、所与のイベントが発生した場合に、第1のモーションデータと、該第1のモーションデータとデータ内容が同一であり且つ第1のモーションデータとは再生速度及び再生フレーム番号の少なくとも一方を異ならせた第2のモーションデータとを、モーションブレンドすることを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0023】
本発明によれば、第1のモーションデータのブレンド対象となる第2のモーションデータとして、第1のモーションデータとデータ内容が同一であり且つ再生速度及び再生フレーム番号の少なくとも一方を異ならせたモーションデータが用いられる。このようにすれば、イベント発生後に、第1、第2のモーションデータのブレンド画像を、スローモーション画像(モデルオブジェクトの一部がスローモーションになる画像)のように見せることなどが可能になる。
【0024】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記所与のイベントが、モデルオブジェクトと他のオブジェクトとのヒットイベント、モデルオブジェクトと他のオブジェクトとの接触イベント、モデルオブジェクトが所与のエリアに侵入するイベント、及びモデルオブジェクトが物を投げるイベントの少なくとも1つであることを特徴とする。
【0025】
このように本発明のイベントとしては、種々のイベントを考えることができる。
【0026】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記モーションブレンド手段が、所与のイベントが発生した場合に、第1、第2のモーションデータのモーションブレンドを行い、その後に所与の期間が経過した場合に、第1、第2のモーションデータのモーションブレンドを終了してモデルオブジェクトに第1のモーションデータのモーションを行わせることを特徴とする。
【0027】
このようにすれば、所与のイベントの発生前には、第1のモーションデータのモーションをモデルオブジェクトが行い、イベント発生後、所与の期間が経過するまでは、第1、第2のモーションデータのブレンドモーションをモデルオブジェクトが行い、所与の期間が経過した後は、第1のモーションデータのモーションをモデルオブジェクトが行うというような画像表現を実現できる。
【0028】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、モーションブレンドが行われる期間の長さ及び該期間における全体ブレンド率の設定の少なくとも1つを、発生したイベント、モデルオブジェクトの状態情報及びヒット対象となるオブジェクトの状態情報の少なくとも1つに応じて異ならせることを特徴とする。
【0029】
このようにすれば、発生したイベントや、モデルオブジェクトの状態情報や、ヒット対象となるオブジェクトの状態情報に応じて、モーションブレンド期間やその期間でのモーションブレンド画像が異なって見えるようになり、多様なモーション表現を実現できる。
【0030】
【発明の実施の形態】
以下、本実施形態について図面を用いて説明する。
【0031】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0032】
1.構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外のブロックについては任意の構成要素とすることができる。
【0033】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、センサー或いは筺体などのハードウェアにより実現できる。
【0034】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0035】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の各手段(特に処理部100に含まれるブロック)としてコンピュータを機能させるためのプログラム(各手段をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。
【0036】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データなどを含ませることができる。
【0037】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0038】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0039】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0040】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0041】
なお本発明(本実施形態)の各手段としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0042】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。
【0043】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【0044】
処理部100は、移動処理部110、モーション処理部112、画像生成部120、音生成部130を含む。なお、処理部100は、これらの全ての機能ブロックを含む必要はない。
【0045】
ここで、移動処理部110は、モデルオブジェクト(キャラクタ、ロボット、車又は戦車等の移動オブジェクト)の移動を制御する処理を行うものである。
【0046】
より具体的には、移動処理部110は、モデルオブジェクトをオブジェクト空間(ゲーム空間)で移動(並進移動、回転移動)させる処理を行う。そして、このモデルオブジェクトの移動処理は、操作部160からの操作データ(プレーヤからの入力データ)や前のフレーム(1/60秒、1/30秒等)でのモデルオブジェクトの位置、回転角度(方向)等に基づいて、現在のフレーム(インター)でのモデルオブジェクトの位置、回転角度を求めることで実現できる。例えば(k−1)フレームでのモデルオブジェクトの位置、回転角度をPk-1、θk-1とし、モデルオブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転速度)を△P、△θとする。するとkフレームでのモデルオブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
【0047】
Pk=Pk-1+△P (1)
θk=θk-1+△θ (2)
モーション処理部112は、モデルオブジェクト(キャラクタ)にモーション(アニメーション)を行わせる処理(モーション再生、モーション生成)を行う。そして、このモデルオブジェクトのモーション処理は、モデルオブジェクトのモーションを、モーションデータ記憶部176に記憶されているモーションデータに基づいて再生することで実現できる。
【0048】
より具体的には、モーションデータ記憶部176には、モデルオブジェクトのスケルトンを構成する各骨(モデルオブジェクトを構成するパーツオブジェクト、関節、モーション骨)の位置又は回転角度(親の骨に対する子の骨の3軸周りの回転角度)等を含むモーションデータが記憶されている。モーション処理部112は、このモーションデータを読み出し、このモーションデータに基づいてモデルオブジェクトのスケルトンを構成する各骨(パーツオブジェクト)を動かすことで(スケルトン形状を変形させることで)、モデルオブジェクトのモーションを再生する。
【0049】
なお、モーションデータ記憶部176に記憶されるモーションデータは、現実世界の人にセンサをつけてモーションキャプチャを行うことで作成したものであることが望ましいが、モーションデータを、物理シミュレーション(物理計算を利用したシミュレーション。擬似的な物理計算でもよい)やモーションブレンドなどによりリアルタイムに生成してもよい。
【0050】
また、少ないモーションデータ量でリアルなモーションを再生するために、インバース・キネマティクス等を用いてモーション再生を行ってもよい。
【0051】
さて本実施形態では、モーション処理部112が、第1のモーション制御部114(メイン側モーション制御部)と、第2のモーション制御部116(サブ側モーション制御部)と、モーションブレンド部118を含む。なお、モーション制御部を3つ以上設ける構成としてもよい。
【0052】
ここで、第1、第2のモーション制御部114、116は、モーションスクリプト記憶部178に記憶されるモーションスクリプト(モーション制御の処理手順が記述されたスクリプト)に基づいて、モデルオブジェクトのモーションデータを選択する。
【0053】
ここで、モーションスクリプトには、そのモーションスクリプトが割り当てられているモーション制御部が現在選択すべきモーションデータと、モーションスクリプトの変更条件(モーション制御部に割り当てるモーションスクリプトの変更条件。操作入力、モデルオブジェクトの状態情報、或いはゲーム状況に基づき判断される変更条件)とが少なくとも記述されている。
【0054】
例えば、第1のモーション制御部114に割り当てられているモーションスクリプトが前移動(前方向への移動)モーションスクリプトである場合には、第1のモーション制御部114は、前移動モーションデータを選択してモーション再生を行う。そして、前移動モーションスクリプトの中に「モデルオブジェクトが前移動の状態で、操作部160により縦切り攻撃の指示が入力された場合には、縦切りモーションスクリプトに変更(移行)する」という変更条件(設定条件)が記述されており、この変更条件が満たされた場合には、第2のモーション制御部116に割り当てるモーションスクリプトが縦切りモーションスクリプトに変更(設定)される。なお、この場合に、第1のモーション制御部114への前移動モーションスクリプトの割り当ては維持される。そして、この縦切りモーションスクリプトが割り当てられた第2のモーション制御部116は、縦切りモーションデータを用いてモーション再生を行う。
【0055】
なお、第1のモーション制御部114が、モーションスクリプトに記述された変更条件により、第1のモーション制御部114に割り当てるモーションスクリプトを変更してもよいし、第2のモーション制御部116に割り当てるモーションスクリプトを変更してもよい。或いは、第2のモーション制御部116が、モーションスクリプトに記述された変更条件により、第1のモーション制御部114に割り当てるモーションスクリプトを変更してもよいし、第2のモーション制御部116に割り当てるモーションスクリプトを変更してもよい。
【0056】
また、第1のモーション制御部114は、第1のモーションスクリプト群(例えば移動関係のモーションスクリプト群)の中から、使用すべきモーションスクリプトを選択し、第2のモーション制御部116は、第2のモーションスクリプト群(例えば攻撃関係のモーションスクリプト群)の中から、使用すべきモーションスクリプトを選択することが望ましい。このようにすることで、モーションスクリプトの管理が容易化される。
【0057】
モーションブレンド部118は、モーションデータをブレンドする処理(モーションブレンド処理)を行う。
【0058】
より具体的には、モデルオブジェクトのスケルトン形状(スケルトン形状の変化の仕方)を特定するモーションデータ(各フレーム番号でのモーションデータ)を、モデルオブジェクトのスケルトンを構成する各骨(アーク、関節、パーツオブジェクト)毎に任意に設定される個別ブレンド率(個別合成率)に基づきブレンド(合成)する。また、モデルオブジェクトのスケルトンの全ての骨に対して一律に設定される全体ブレンド率に基づいてモーションデータをブレンドする。この場合、例えば、個別ブレンド率と全体ブレンド率の乗算により得られるブレンド率に基づいて、モーションデータをブレンドすることが望ましい。
【0059】
また、モーションブレンド部118のブレンド対象となるモーションデータは、第1、第2のモーション制御部114、116により選択される。この場合に、モーションブレンド部118のブレンド処理により生成されたモーションデータを、第1、第2のモーション制御部114、116が選択し、その選択されたモーションデータをモーションブレンド部118が更にブレンドするようにしてもよい。
【0060】
また、モーションブレンド部118は、全体ブレンド率や個別ブレンド率を設定したり変化させる処理も行う。この場合、全体ブレンド率は時間経過(フレーム進行、仮想ゲーム時間の経過或いは現実時間の経過等)に応じて変化させることが望ましい。
【0061】
また、モーションブレンド部118は、所与のイベントが発生したことを条件に、全体ブレンド率及び個別ブレンド率の両方に基づくブレンド処理を開始する。そして、所与の期間(ヒット期間及びモーション戻し期間)が経過すると、ブレンド処理を終了し、元の基本モーション(第1のモーション)の再生を行う。
【0062】
ここで、イベントとは、ゲーム空間(オブジェクト空間)で発生する事象のことであり、このようなイベントとしては例えば、モデルオブジェクト(武器、手或いは足などのモデルオブジェクトの一部)と他のオブジェクト(敵キャラクタ等)とのヒットイベント(切りイベント)や、モデルオブジェクトと他のオブジェクトとの接触イベントや、モデルオブジェクトが所与のエリア(モデルオブジェクトの一部の動きを拘束するエリア)に侵入するイベントや、或いはモデルオブジェクトが物(球、槍等)を投げるイベントなどを考えることができる。
【0063】
そして、本実施形態では、このイベントが発生すると、そのイベントの影響を最も及ばすべき骨(そのイベントに最も関係する骨)についての個別ブレンド率が、第1のモーションデータ(イベント発生前から再生されているモーションデータ)よりも第2のモーションデータ(イベント発生後に第1のモーションデータにブレンドされるモーションデータ)の方が多くブレンドされるブレンド率に設定されている。これにより、イベントが発生した場合に、そのイベントの影響を及ばすべき骨を、第2のモーションデータに強く依存させて動かすことが可能になる。
【0064】
なお、モーションブレンド部118のブレンド対象となるモーションデータは、互いに全く異なるデータ内容のモーションデータ(スケルトン形状の動きが互いに全く異なるモーションデータ)であってもよいし、同一のデータ内容のモーションデータ(スケルトン形状の動きが同一のモーションデータ)であってもよい。より具体的には、例えば第1のモーションデータと、その第1のモーションデータの再生速度及び再生フレーム番号(再生開始フレーム)を異ならせた第2のモーションデータ(データ内容は第1のモーションデータと同一)とをブレンドするようにする。このようにすることで、スロー再生や早送り再生を表現できる。そして、所与のイベントが発生したことを条件に、これらの第1、第2のモーションデータをブレンドするようにすれば、イベント発生後に、モデルオブジェクトのモーションがスロー再生又は早送り再生になる画像を生成できる。
【0065】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部190に出力する。例えば、いわゆる3次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点(構成点)に付与される位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数プリミティブ面)の画像が、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0066】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0067】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0068】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0069】
2.本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、格闘ゲームに本実施形態を適用した場合を主に例にとり説明するが、本実施形態は、格闘ゲーム以外の他のゲームにも広く適用できる。
【0070】
2.1 モーションブレンド
さて、本実施形態では、図2に示すように、モデルオブジェクトMOB(キャラクタ)が、複数のパーツオブジェクト(腰12、胸14、首16、頭18、右上腕20、右前腕22、右手24、左上腕26、左前腕28、左手30、右股32、右すね34、右足36、左股38、左すね40、左足42)により構成されている。そして、これらのパーツオブジェクト(部位)の位置や回転角度(方向)は、スケルトンモデルを構成する骨B0〜B19の位置(関節J0〜J15の位置)や回転角度(親の骨に対する子の骨の相対的な回転角度)により特定される。なお、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
【0071】
本実施形態では、モデルオブジェクトMOBのスケルトンを構成する骨(モーション骨、関節、パーツオブジェクト)が親子(階層)構造を有している。例えば、手24、30の骨B7、B11の親は前腕22、28の骨B6、B10となり、B6、B10の親は上腕20、26の骨B5、B9となる。また、B5、B9の親は胸14の骨B1となり、B1の親は腰12の骨B0となる。また、足36、42の骨B15、B19の親はすね34、40の骨B14、B18となり、B14、B18の親は股32、38の骨B13、B17となり、B13、B17の親は腰12の骨B12、B16となる。
【0072】
モーションデータ記憶部には、これらの骨(パーツオブジェクト、関節)の位置、回転角度が、モーションデータとして記憶されている。なお、骨の回転角度だけをモーションデータに含ませて、骨の位置(関節の位置)についてはモデルオブジェクトのモデルデータの中に含ませてもよい。
【0073】
例えば、歩きモーションが、M0、M1、M2・・・・MNという基準モーション(各フレームでのモーション)により構成されているとする。するとこれらの各基準モーションM0、M1、M2・・・・MNでの各骨の位置又は回転角度が、モーションデータとして予め記憶されている。そして、例えば基準モーションM0の各パーツオブジェクトの位置、回転角度を読み出し、次に基準モーションM1の各パーツオブジェクトの位置、回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション再生が実現される。
【0074】
なお、モーションデータ記憶部に記憶するモーションデータは、一般的には、モーションキャプチャにより取得したり、デザイナが作成する。また、骨の位置、回転角度は、親の骨の位置、回転角度に対する相対的な位置、相対的な回転角度(3軸周りの回転角度)で表される。
【0075】
また、図2においてRPはモデルオブジェクトMOBの代表点であり、このRPは例えば腰(J0)の真下の位置(高さ零の位置)に設定されている。
【0076】
また、図2では、手24と武器(刀)とが同一のパーツオブジェクトとして一体形成されているが、手24と武器とを別パーツオブジェクトにしてもよい。即ち、手24の骨と武器の骨を別の骨にしてもよい。
【0077】
そして本実施形態では、モデルオブジェクトのスケルトン形状(時間経過に伴うスケルトンの変形の仕方)を特定するモーションデータを、図3に示すようにブレンドする処理を行う。
【0078】
例えばモーションデータMA(広義には第1のモーションデータ。以下の説明でも同様)とモーションデータMB(広義には第2のモーションデータ。以下の説明でも同様)とを、MAのブレンド率αAとMBのブレンド率αBによりブレンドする場合には、下式のような処理をスケルトンの各骨のデータに対して行い、ブレンド後のモーションデータMを得る。
【0079】
M=MA×αA+MB×αB
M=MA×(1−αB)+MB×αB (3)
なお、ブレンド率αA、αBの両方を設定する必要はなく、例えばαAは、αA=1ーαBの計算式により求めることができる。
【0080】
また、具体的には上式(3)のモーションブレンドは、骨のローカルマトリクス(ローカル座標系への座標変換マトリクス)に対して行うことになる。即ち、モーションデータやモデルデータに含まれる骨の回転角度や位置に基づいて、各骨(モーション骨)のローカルマトリクスを計算する。そして、モーションデータMAについて求められた骨のローカルマトリクスと、モーションデータMBについて求められた骨のローカルマトリクスとを、上式(3)の計算式のようにブレンドすることで、ブレンド後のモーションデータMの骨のローカルマトリクスを求める。
【0081】
例えば、モーションデータMA、MB、ブレンド後のモーションデータMの骨のローカルマトリクスをMTA、MTB、MTと表すと、下式のようになる。
【0082】
Figure 0004656622
次に、モデルデータなどに含まれる親子構造データに基づいて、骨の親子関係を判断し、その親子関係にしたがって親の骨のローカルマトリクス(ブレンド後のモーションデータMのローカルマトリクスMT)に対して子の骨のローカルマトリクスを順次乗算して行くことで、モーションデータMの骨のワールドマトリクスを求める。そして、この求められたモーションデータMの骨のワールドマトリクスに基づいて、各骨に付随する各パーツオブジェクト(ポリゴン)の頂点のワールド座標を求める。これによりモデルオブジェクトの形状(スケルトンの形状)を、ブレンド後のモーションデータMに応じた形状にすることができる。
【0083】
なお、ブレンド率を上述のようにローカルマトリクスに乗算する代わりに、ワールドマトリクス(広義には座標変換マトリクス。以下の説明でも同様)に乗算するようにしてもよい。
【0084】
2.2 個別ブレンド率に基づくモーションブレンド
さて、これまでのモーションブレンドは全体ブレンド率(全体合成率)に基づいて行われていた。ここで、全体ブレンド率は、モデルオブジェクトのスケルトンの全ての骨に対して一律に設定されるブレンド率(一律に作用するブレンド率)である。
【0085】
例えばモーションデータMAの全体ブレンド率をαAと表し、モーションデータMBの全体ブレンド率をαBと表す(αA=1−αB)。そして、例えばαA=0.2、αB=0.8とすると、モーションデータMAの全ての骨のデータに対してαA=0.2が乗算され、モーションデータMBの全ての骨のデータに対してαB=0.8が乗算されることになる。より具体的には、モーションデータMAの全ての骨の座標変換マトリクス(ローカルマトリクス又はワールドマトリクス)に対してαA=0.2が乗算され、モーションデータMBの全ての骨の座標変換マトリクスに対してαA=0.8が乗算される。
【0086】
しかしながら、このような全体ブレンド率だけでは、モーションブレンドにより得られるモーションデータの多様性を今ひとつ向上できないことが判明した。
【0087】
そこで本実施形態では、図4に示すように、全体ブレンド率とは異なる個別ブレンド率(個別合成率)という概念を導入している。ここで個別ブレンド率とは、モデルオブジェクトのスケルトンを構成する各骨(アーク、関節、パーツオブジェクト)毎に任意に設定可能なブレンド率である。より具体的には、各骨の座標変換マトリクスに対して、各骨毎に異なった値に設定して乗算することができるブレンド率である。
【0088】
例えば、モーションデータMAについての個別ブレンド率をβAと表し、モーションデータMBについての個別ブレンド率をβBと表す(βA=1−βB)。すると図4において、骨B7(手及び武器)では個別ブレンド率がβA=0.0、βB=1.0に設定され、骨B6(前腕)ではβA=0.2、βB=0.8に設定され、骨B5(上腕)ではβA=0.4、βB=0.6に設定され、骨B4(肩)ではβA=0.6、βB=0.4に設定され、骨B1(胸)ではβA=0.8、βB=0.2に設定され、骨B0(腰)ではβA=1.0、βB=0.0に設定されている。
【0089】
そして、このように設定されたブレンド率に基づいて、例えば下式のような処理をスケルトンの骨のデータに対して行い、ブレンド後のモーションデータMを得ることができる。
【0090】
Figure 0004656622
より具体的には、モーションデータMA、MB、ブレンドの後のモーションデータMの骨の座標変換マトリクス(ローカルマトリクス又はワールドマトリクス)をMTA、MTB、MTと表すと、下式のようになる。
【0091】
Figure 0004656622
上式(6)において、全体ブレンド率αA、αBは、全ての骨の座標マトリクスに対して同じ値になる一方で、個別ブレンド率βA、βBは、各骨の座標マトリクス毎に異なった値に設定できるようになっている。
【0092】
なお、全体ブレンド率αA、αBは、いずれか一方のみをデータとして設定し、他方は計算により求めればよい。例えば、αBをデータとして設定し、αAはαA=1−αBの計算により求める(逆でもよい)。
【0093】
同様に、個別ブレンド率βA、βBも、いずれか一方のみをデータとして設定し、他方は計算により求めればよい。例えば、βBをデータとして設定し、βAはβA=1−βBの計算により求める(逆でもよい)。
【0094】
2.3 攻撃モーションと移動モーションのブレンド
さて、本実施形態では以上のような個別ブレンド率を導入することで、多様なモーション表現を少ないモーションデータ量で実現することに成功している。
【0095】
例えば図4では、モデルオブジェクトのスケルトンの端部(末端部)に位置する骨B7(第Kの骨)、その隣の骨B6(第K+1の骨)、その隣の骨B5(第K+2の骨)・・・・中央部(主要部)の骨B0(第Lの骨)に行くしたがって、モーションデータMAの個別ブレンド率βAは、低いブレンド率(βA=0.0)から高いブレンド率(βA=1.0)に徐々に増加している。一方、モーションデータMBの個別ブレンド率βBは、高いブレンド率(βB=1.0)から低いブレンド率(βB=0.0)に徐々に減少している。
【0096】
このように個別ブレンド率を設定することで、武器(骨B7)などを用いた攻撃モーションと移動モーションとをブレンドし、プレーヤが不自然さを感じないリアルなモーション画像を生成できる。
【0097】
例えば図5のC1〜C5は、モデルオブジェクトの一連の移動モーション(モーションデータMA)である。一方、図5のD1〜D5は、モデルオブジェクトの一連の攻撃モーション(モーションデータMB)である。そして図6のE1〜E5は、本実施形態の手法により移動モーションC1〜C5と攻撃モーションD1〜D5をブレンドすることで生成された一連の移動・攻撃モーション(モーションデータM)である。
【0098】
図6と、図5のC1〜C5、D1〜D5を比較すれば明らかなように、本実施形態によれば、武器の部分(モデルオブジェクトの端部)では図5のD1〜D5の攻撃モーション(モーションデータMB)の影響が強く反映され、腰の部分(モデルオブジェクトの中央部)では図5のC1〜C5の移動モーション(モーションデータMA)の影響が強く反映されたモーションブレンド画像を得ることができる。これは、図4において、武器の部分(B7)では、攻撃モーション(モーションデータMB)の個別ブレンド率βBの方が高く設定されている一方で、腰の部分(B0)では、移動モーション(モーションデータMA)の個別ブレンド率βAが低く設定されているからである。
【0099】
このように本実施形態では、個別ブレンド率を導入することで、単なる全体ブレンド率だけでは得ることができない、リアルで自然なモーション画像の生成に成功している。
【0100】
例えば、全体ブレンド率を用いて、図5のC1〜C5の移動モーションと図5のD1〜D5の攻撃モーションをブレンドすると、ブレンド後のモーション画像における武器の位置についても、全体ブレンド率に応じた位置に変更されてしまう。従って、ブレンド後のモーション画像では、図5のD1〜D5のような武器を振り回しているという画像表現が失われてしまう。同様に、ブレンド後のモーション画像では、図5のC1〜C5のように腰、足を動かして歩いているという画像表現についても失われてしまう。
【0101】
これに対して個別ブレンド率を用いる本実施形態では、図6に示すように、武器については図5のD1〜D5の攻撃モーションとほぼ同じ動きを行い、腰及び足については図5のC1〜C5の移動モーションとほぼ同じ動きを行うようになる。従って、武器を振り回しながら歩いている様子を、よりリアルに表現できる。
【0102】
しかも本実施形態では、図4に示すように、個別ブレンド率が徐々に変化するようになっている。従って、図5のC1〜C5、D1〜D5のように全く異なって見えるモーションをブレンドしても、自然に見えるモーションブレンド画像を生成でき、モーションブレンドが行われていることをプレーヤに気づかれるのを防止できる。
【0103】
2.4 切りごたえ
さて、武器を用いた格闘ゲームにおいては、いわゆる「切りごたえ」、「打感」を表現できることが望まれる。即ち、刀などの武器が敵にヒットした場合に、刀の動きが一瞬止まると共に、敵の体の抵抗により刀の振る速度も遅くなるという表現を実現できることが望ましい。
【0104】
このような「切りごたえ」を表現する第1の比較例として、例えば、刀が敵にヒットした瞬間から、ゲーム全体のフレーム進行速度を遅らせて、スローモーション画像にする手法が考えられる。しかしながら、この第1の比較例によると、いかにもスローモーションになったということがプレーヤにわかってしまい、プレーヤが不自然さを感じる。
【0105】
一方、「切りごたえ」を表現する第2の比較例として、例えば、刀が敵にヒットした瞬間から、自キャラクタの動きについてのみ進行速度を遅らせる手法が考えられる。しかしながら、この第2の比較例によると、自キャラクタの動きがその分だけ遅れてしまい、ヒットイベントが終了した後の自キャラクタの動きが不自然なものになってしまう。
【0106】
そこで本実施形態では、前述の個別ブレンド率を利用した以下に説明する手法を用いて、「切りごたえ」表現を実現している。
【0107】
即ち、この手法では、図7(A)に示すように、所与のイベントが発生したことを条件に、全体ブレンド率及び個別ブレンド率を用いたモーションブレンドを行うようにする。
【0108】
ここで所与のイベントとは、例えば、図7(B)に示すように、モデルオブジェクト(キャラクタの武器)と他のオブジェクト(敵キャラクタ)とのヒットイベント(接触イベント)である。或いは、図7(C)に示すように、モデルオブジェクトが所与のエリア(タールなどにより足の動きが拘束されるエリア)に侵入するイベントである。或いは、図7(D)に示すように、モデルオブジェクトが物(球、槍)を投げるイベントである。
【0109】
そして本実施形態では、このようなイベントが発生した場合に、そのイベントの影響を最も及ばすべき骨(イベントに関係する骨、イベントに関連する骨、イベントの発生箇所に近い骨)についての個別ブレンド率が、モーションデータMA(第1のモーションデータ、イベント発生前まで再生していたモーションデータ)よりも、モーションデータMB(第2のモーションデータ、イベント発生後に第1のモーションデータとブレンドされるモーションデータ)の方がより多くブレンドされるように設定されている。
【0110】
例えば図7(B)のヒットイベントでは、ヒットイベントの影響を及ばすべき骨(ヒット位置にある骨、ヒット位置に近い骨)である武器(手)の骨の個別ブレンド率βBをβAよりも大きくする。より具体的には図4に示すように個別ブレンド率βBを設定する。また、図7(C)の侵入イベントでは、侵入イベントの影響を及ばすべき骨(侵入エリアの地面に接する骨、侵入エリアの地面に近い骨)である足の骨の個別ブレンド率βBを大きくする。また、図7(D)の投げイベントでは、投げイベントの影響を及ばすべき骨(投げる物に近い骨)である手の骨の個別ブレンド率βBを大きくする。
【0111】
このようにすることで、イベントの影響を最も及ばすべき骨を、MBのモーションに最も近い動きで動かすことができ、イベント発生をプレーヤに効果的に伝える画像を生成できる。
【0112】
例えば、図8のG1〜G5は、ヒットイベントが発生していない時におけるモデルオブジェクトの縦切りモーションの例である。一方、図8のH1〜H6は、武器が敵にヒットするヒットイベントが発生した時におけるモデルオブジェクトの縦切りモーションの例である。この図8のH1〜H6のモーションは、イベントが発生したことを条件に、G1〜G5の縦切りモーションと、この縦切りモーションの再生速度を遅くすると共に再生フレーム番号(再生開始フレーム)を後ろにずらしたモーションとを、ブレンドすることで生成される。
【0113】
図8に示すように、G2とH2では、刀の位置はほぼ同じである。一方、G3では、刀が下の方に振り下ろされているのに対して、H3では、刀の動きが止まっている。また、H4、H5に示すように、刀の振り下ろし速度が遅くなっており、刀が敵の体を通過するまでの時間が長い。刀がこのような軌道をえがくのは、刀(手)に設定される個別ブレンド率βBが大きいからである。また、モーションデータMBの再生速度を遅くすると共に再生フレーム番号を後ろにずらしているからである。
【0114】
また、図8のG3、H5を比較すればわかるように、G3とH5では刀の位置がほぼ同じであるのに対して、H5の方がG3に比べてモデルオブジェクトの腰や胸の動きが先行している。これは、腰や胸などの主要部における個別ブレンド率βAを大きくしているからである(図4参照)。
【0115】
このように、図8のH1〜H6は、モデルオブジェクトの体全体の動きが遅くなるのではなくて、一部(武器)だけが遅くなり、他の部分(腰、胸)は通常通りの動き(モーションデータMAにしたがった動き)になる。従って、ゲーム全体のフレーム進行速度を遅くする上述の第1の比較例や、モデルオブジェクト全体の動きを遅くする上述の第2の比較例に比べて、自然でリアルなモーション画像を生成できる。
【0116】
そして図8のH1〜H6のような画像を生成できれば、敵へのヒットにより刀の動きが一瞬止まり、その後に敵の体の抵抗により刀の振る速度も遅くなるという「切りごたえ」の表現を、簡素な処理で実現できる。
【0117】
なお、本実施形態の手法は、このような「切りごたえ」の表現に特に効果的だが、キック、パンチがヒットした時の「打感」の表現にも効果的である。
【0118】
2.5 全体ブレンド率の変化
さて、本実施形態では、個別ブレンド率の設定のみならず、全体ブレンド率の設定についても種々の工夫を施している。
【0119】
例えば図9(A)に示すように本実施形態では、イベント(ヒットイベント等)が発生するまでは、モーションデータMB(第2のモーションデータ)の全体ブレンド率αBを零に設定している。
【0120】
このように全体ブレンド率αBを零に設定すれば、モーションデータMAとMBのブレンドを行っても、MBが実質的にブレンドされないことになる。この結果、イベント発生前の期間においては、モーションデータMAによる基本モーション(メインモーション)の再生が行われるようになり、モーションデータMBの影響を無くすことができる。また、全体ブレンド率αBを零に設定するだけで済むため、処理負荷も非常に少ないという利点がある。
【0121】
例えば図5のC1〜C5の移動モーションとD1〜D5の攻撃モーションのブレンドの場合には、攻撃イベント発生前の期間においてαBを零に設定することで、モデルオブジェクトは通常の移動モーションを行うことになり、自然な画像を生成できる。
【0122】
また図8の縦切りモーションでは、ヒットイベント発生前の期間(H1、H2)では、αBを零に設定することで、モデルオブジェクトは通常の縦切りモーションを行うことになり、自然な画像を生成できる。
【0123】
また本実施形態では、図9(A)に示すように、イベント発生後に、全体ブレンド率αA、αB(いずれか一方でよい)を時間経過(フレーム進行、仮想ゲーム時間の経過或いは現実時間の経過等)に応じて変化させている。
【0124】
このように全体ブレンド率を時間経過に伴い変化させることで、モーションデータMBの影響を徐々に強めたり、徐々に弱めたりすることが可能となり、より多様な画像表現を実現できる。
【0125】
例えば、図9(B)では、イベントが発生してから期間T1(第1の期間)が経過するまでは、モーションデータMBの全体ブレンド率αBが時間経過に伴い増加している。一方、期間T1の経過後、期間T2が経過するまでは、モーションデータMBの全体ブレンド率αBが時間経過に伴い減少している。
【0126】
ここで期間T1は、例えば図8のH2〜H5のヒット期間(刀が敵の体を通過する期間、ヒットしていると判断される期間)である。また期間T2は、例えば図8のH5〜H6のモーションの戻し期間(モーションを、元のMAのモーションに戻すための期間)である。
【0127】
そして図9(B)のように期間T1においてαBを増加(αAを減少)させることで、モーションデータMBの影響が高くなって行く。即ち、モーションデータMB(再生時間を遅くし再生フレーム番号を後ろにずらしたモーションデータ)の全体ブレンド率αBが増加することで、ヒット期間であるT1において刀の動きが遅くなって行く。
【0128】
一方、図9(B)のように期間T2においてαBを減少(αAを増加)させることで、モーションデータMBの影響が低くなって行く。即ち、モーションデータMBの全体ブレンド率αBが減少しMAの全体ブレンド率が増加することで、モーションの戻し期間であるT2においてモデルオブジェクトのモーションが元のMAのモーションに戻って行く。そして、期間T2が終了して、αBが零になると、その後は通常の基本モーションデータMAが再生されることになる。
【0129】
なお、図9(C)に示すように、期間T1においてはαBの変化率を高くする(急激に変化させる)と共に、期間T2においてはαBの変化率を低くする(ゆっくりと変化させる)ことが望ましい。
【0130】
期間T1においてαBを急激に変化させれば、刀の動きが急激に遅くなって、刀が敵にヒットして止まったかのように見える画像を生成できる。
【0131】
一方、期間T2においてαBをゆっくりと変化させれば、モーションデータMAへの戻りが緩やかになり、プレーヤが不自然さを感じない画像を生成できる。
【0132】
また本実施形態では図10(A)に示すように、イベント発生前の期間では、モーションデータMAが再生され、モデルオブジェクトがMAのモーションを行う。これは図10(B)に示すようにモーションデータMBの全体ブレンド率αBを零に設定することで実現できる。次に、イベントが発生すると、モーションデータMA、MBのブレンドが行われる。そして、イベントが発生してから期間T(T1+T2)が経過すると、モーションブレンドが終了し、モデルオブジェクトがMAのモーションを再び行う。これは図10(B)に示すようにモーションデータMBの全体ブレンド率αBを零に設定することで実現できる。
【0133】
このように全体ブレンド率を変化させることで、例えば、図5、図6において、通常に走った後、攻撃イベントが発生すると走りながら攻撃を行い、期間Tの経過後に通常の走りに戻るというモーション表現が可能になる。また、図8のH1〜H6に示すように、ヒットイベントの前は通常の縦切りモーションとなり、ヒットイベントが発生すると「切りごたえ」が表現された縦切りモーションとなり、期間Tが経過すると通常の縦切りモーションに戻るというモーション表現が可能になる。
【0134】
なお、図10(C)に示すように、モーションブレンドが行われる期間Tの長さや、期間Tでの全体ブレンド率αB(αA)の設定を、発生したイベントや、モデルオブジェクトの状態情報や、ヒット対象となるオブジェクトの状態情報に応じて異ならせることが望ましい。
【0135】
例えば、発生したイベントが図5、図6のような攻撃イベントである場合には、期間Tを攻撃モーションの再生時間に合わせて調整すると共に、攻撃イベントの発生の直後にαBを1.0に設定し、期間Tが経過したら直ぐにαBを0.0に戻す。一方、発生したイベントが図8のようなヒットイベントである場合には、図9(B)や図9(C)のように期間T(T1+T2)やαBを設定する。
【0136】
また、モデルオブジェクトが使用する武器の種類やモデルオブジェクトの能力(広義にはモデルオブジェクトの状態情報)、或いはヒット対象となる敵の防具や能力(広義にはヒット対象となるオブジェクトの状態情報)に基づいて、期間Tの長さやαBの設定を変えてもよい。例えばモデルオブジェクトの刀が良い刀である場合や、モデルオブジェクトの能力が高い場合には、期間Tを短くする。或いは、敵の防具が良い防具である場合や、敵の能力が高い場合には、期間Tを長くしたり、刀がより止まって見えるようにα値を設定すればよい。
【0137】
2.6 再生速度、再生フレーム番号の制御
さて、本実施形態では、図8のH1〜H6のような「切りごたえ」を表現するために、モーションデータMAにブレンドされるMBとして、次のようなモーションデータを用いている。
【0138】
即ち、まず、モーションデータMBとしてMAと同一内容のデータを用いる。例えばMAが縦切りモーションデータである場合には、MBにも縦切りモーションデータを用いる。そして、モーションデータMAの再生速度や再生フレーム番号を異ならせたものをMBに設定する。
【0139】
例えば図11(A)では、モーションデータMAは、各フレームのモーションデータM0、M1、M2、M3、M4・・・で構成される。同様にモーションデータMBも、各フレームのモーションデータM0、M1、M2、M3、M4・・・で構成される。
【0140】
但し図11(A)では、MBは、MAよりも再生速度が遅くなっている。これは、例えば、MAにおいては、フレームF0、F1、F2、F3、F4・・・でM0、M1、M2、M3、M4・・・を再生する一方で、MBにおいては、フレームF0、F1、F2、F3、F4・・・でM0、M0.5、M1、M1.5、M2・・・を再生することで実現できる。このようにすれば、MBの再生速度を半分にできる。ここでM0.5は、M0とM1の補間(ブレンド)モーションであり、M1.5は、M1とM2の補間モーションである。
【0141】
そして、MAと、再生速度が半分であるMBとをヒット期間においてモーションブレンドすることで、ヒット期間で生成される画像をスローモーション画像にでき(刀の部分だけスローモーション画像)、図8のH1〜H6のような「切りごたえ」を表現できる。
【0142】
なお、MBの再生速度を1/3倍にする場合には、フレームF0、F1、F2、F3、F4・・・でM0、M1/3、M2/3、M1、M4/3・・・・を再生すればよい。
【0143】
また、図11(B)では、MBは、MAよりも再生速度が速くなっている。これは、例えば、MAにおいては、フレームF0、F1、F2、F3、F4・・・でM0、M1、M2、M3、M4・・・を再生する一方で、MBにおいては、フレームF0、F1、F2、F3、F4・・・でM0、M2、M4、M6、M8・・・を再生することで実現できる。このようにすれば、MBの再生速度を倍にできる。
【0144】
なお、MBの再生速度を3倍にする場合には、F0、F1、F2、F3、F4・・・・でM0、M3、M6、M9、M12・・・を再生すればよい。
【0145】
また、図11(C)では、MBの再生フレーム番号(モーションデータのどのフレームを再生するかを指定する番号)をずらしている。より具体的には、MAにおいては、フレームF0、F1、F2、F3、F4、F5・・・でM0、M1、M2、M3、M4、M5を再生する一方で、MBにおいては、再生フレーム番号を後ろにずらし、フレームF2、F3、F4、F5・・・でM0、M1、M2、M3を再生する。
【0146】
そして、MAと、再生フレーム番号を後ろにずらしたMBとをヒット期間においてモーションブレンドすることで、ヒット期間で生成される画像をスローモーション画像や停止画像にでき、図8のH1〜H6のような「切りごたえ」を表現できる。
【0147】
なお、MBの再生速度を、より遅くすることで、図8のH3〜H5において刀が敵の体を通過する速度を遅くできる。これにより、敵の体の抵抗の度合いを表現できる。
【0148】
一方、MBの再生フレーム番号を、より後ろにずらすことで、図8のH2において刀が敵にヒットした時の刀の停止時間(或いは跳ね返り時間)を長くできる。これにより、刀が敵にヒットした瞬間の刀の止まり具合(跳ね返り具合)を表現できる。
【0149】
2.7 モーションスクリプト及びモーション制御部の並列動作
さて、本実施形態では、並列動作可能な複数のモーション制御部が、モーションスクリプトを用いてモデルオブジェクトのモーション制御を行っている。
【0150】
例えば図12に示すように、本実施形態では、移動(移動関係)モーションスクリプト群(広義には第1のスクリプト群。以下の説明でも同様)と、攻撃(攻撃関係)モーションスクリプト群(広義には第2のスクリプト群。以下の説明でも同様)とが用意される。
【0151】
この移動モーションスクリプト群には、立ちモーション、前移動モーション、後ろ移動モーション、右移動モーション、左移動モーション、ジャンプモーション、しゃがみモーションのスクリプトなどの、移動に関する種々のモーションスクリプトが含まれる。
【0152】
一方、攻撃モーションスクリプト群には、縦切りモーション、横切りモーション、キックモーション、投げモーション、ガードモーション、特殊攻撃(必殺技)モーションA、特殊攻撃モーションBなどの、攻撃に関する種々のモーションスクリプトが含まれる。
【0153】
そして本実施形態では、移動モーションスクリプト群については、メイン側モーション制御部(広義には第1のモーション制御部。以下の説明でも同様)に割り当てられ、攻撃モーションスクリプト群については、サブ側モーション制御部(広義には第2のモーション制御部。以下の説明でも同様)に割り当てられる。
【0154】
即ち、メイン側モーション制御部は、移動モーションスクリプト群の中から割り当てられた移動モーションスクリプト(立ちモーション、前移動モーションスクリプト等)に基づいて、その移動モーションスクリプトに対応づけられた移動モーションデータを選択し、モデルオブジェクトの移動モーション制御を行う。
【0155】
一方、サブ側モーション制御部は、攻撃モーションスクリプト群の中から割り当てられた攻撃モーションスクリプト(縦切りモーション、横切りモーションのスクリプト等)に基づいて、その攻撃モーションスクリプトに対応づけられた攻撃モーションデータを選択し、モデルオブジェクトの攻撃モーション制御を行う。
【0156】
なお、以下では、並列動作可能な2つのモーション制御部を用いる場合について主に例にとり説明するが、並列動作可能な3つ以上のモーション制御部を用いる場合にも本発明は適用できる。
【0157】
さて、本実施形態のモーションスクリプト(モーション制御の処理手順が記述されたスクリプト)には、そのモーションスクリプトが割り当てられているモーション制御部が現在選択すべきモーションデータと、モーションスクリプトの変更条件とが記述されている。即ち、モーション制御部は、モーションスクリプトに対応するモーションデータを選択し、モーション制御処理を行うと共に、モーションスクリプトの変更条件が満たされているか否かを判断し、満たされている場合には、モーション制御部(自身のモーション制御部又は他のモーション制御部)へのモーションスクリプトの割り当てを変更する。
【0158】
例えば図13に、立ちモーションスクリプトの処理例に関するフローチャートを示す。
【0159】
まず、この立ちモーションスクリプトでは、立ちモーションデータを選択する(ステップS1)。次に、操作入力(操作ボタンや操作レバーの操作データ)及びモデルオブジェクトの状態情報(モデルオブジェクトの現在の状況)に基づき、モーションスクリプトの変更条件を判断する(ステップS2)。
【0160】
そして、操作入力が移動指示の場合には、移動指示の方向に対応する移動モーションスクリプトへの変更を行う(ステップS3、S4)。例えば、前移動の指示の場合には、メイン側モーション制御部へのモーションスクリプトの割り当てを、前移動モーションスクリプトに変更し、右移動の指示の場合には右移動モーションスクリプトに変更する。
【0161】
一方、 操作入力が攻撃指示の場合には、攻撃指示に対応する攻撃モーションスクリプトへの変更を行う(ステップS5、S6)。例えば、縦切りの指示の場合には、サブ側モーション制御部へのモーションスクリプトの割り当てを、縦切りモーションスクリプトに変更し、横切りの指示の場合には横切りモーションスクリプトに変更する。
【0162】
図14に、移動(前移動、後ろ移動等)モーションのスクリプトの処理例に関するフローチャートを示す。
【0163】
まず、スクリプトに対応する移動モーションデータを選択する(ステップS11)。次に、操作入力及びモデルオブジェクトの状態情報に基づき、モーションスクリプトの変更条件を判断する(ステップS12)。
【0164】
そして、操作入力が攻撃指示の場合には、攻撃指示に対応する攻撃モーションスクリプトへの変更を行う(ステップS13、S14)。
【0165】
一方、操作入力が方向変換指示の場合には、変換方向に対応する移動モーションスクリプトへの変更を行う(ステップS15、S16)。例えば、現在の移動モーションが前方向で、左方向への変換が指示された場合には、メイン側モーション制御部へのモーションスクリプトへの割り当てを、左移動モーションスクリプトに変更する。
【0166】
また、移動指示入力が終了した場合(操作レバーがニュートラルに戻った場合)には、立ちモーションスクリプトへの変更を行う(ステップS17、S18)。即ち、メイン側モーション制御部へのモーションスクリプトへの割り当てを、立ちモーションスクリプトに変更する。
【0167】
図15に、攻撃(縦切り、横切り等)モーションのスクリプトの処理例に関するフローチャートを示す。
【0168】
まず、スクリプトに対応する攻撃モーションデータを選択する(ステップS21)。次に、操作入力及びモデルオブジェクトの状態情報に基づき、モーションスクリプトの変更条件を判断する(ステップS22)。
【0169】
そして、操作入力によりコンボ条件を満たす攻撃指示が行われた場合には、そのコンボに対応する特殊攻撃モーションスクリプトへの変更を行う(ステップS23、S24)。即ち、サブ側モーション制御部へのモーションスクリプトへの割り当てを、特殊攻撃モーションスクリプトに変更する。
【0170】
さて、本実施形態では、このようなモーションスクリプトを用いて、メイン側、サブ側のモーション制御部が、以下に説明するような並列動作を行っている。
【0171】
例えば、図16(A)において、メイン側モーション制御部に歩きモーションスクリプトが割り当てられ、歩きモーションが行われている時に、攻撃指示の操作入力が行われたとする。すると、図16のJ1に示すようにメイン側の歩きモーションスクリプトに記述されている変更条件が満たされて、サブ側モーション制御部に攻撃モーションスクリプトが割り当てられる。これにより、J2に示すようにサブ側モーション制御部が動作を開始し(実行状態になり)、攻撃モーションデータを選択する。
【0172】
そして本実施形態では、このように攻撃モーションスクリプト(図12の攻撃モーションスクリプト群の中のモーションスクリプト)への変更条件が満たされて、サブ側モーション制御部(第2のモーション制御部)が攻撃モーションスクリプトに基づくモーション制御を開始した場合にも、図16(A)のJ3に示すように、メイン側モーション制御部(第1のモーション制御部)は歩きモーションスクリプト(図12の移動モーションスクリプト群の中のモーションスクリプト)に基づくモーション制御を続行する。
【0173】
従って図16(A)のJ4に示すように、メイン側モーション制御部のモーションデータと、サブ側モーション制御部の攻撃モーションデータとをブレンドできるようになる。これにより、図6のような歩きながら攻撃するという歩き・攻撃モーションを再生できる。そして、攻撃モーションの再生時間が終了すると、図16(A)のJ5に示すようにサブ側モーション制御部の動作が終了し、J6に示すようにモデルオブジェクトのモーションは歩きモーションに戻る。
【0174】
次に、走ることを指示する操作入力が行われると、J7に示すようにメイン側の歩きモーションスクリプトに記述されている変更条件が満たされて、メイン側モーション制御部に走りモーションスクリプトが割り当てられる。これにより、J8に示すようにメイン側モーション制御部が走りモーションデータを選択し、走りモーションが再生される。
【0175】
そして、その後に、攻撃指示の操作入力が行われると、J9に示すようにメイン側の歩きモーションスクリプトに記述されている変更条件が満たされて、サブ側モーション制御部に攻撃モーションスクリプトが割り当てられる。これにより、J10に示すようにサブ側モーション制御部が動作を開始し(実行状態になり)、攻撃モーションデータを選択する。
【0176】
すると、J11に示すようにメイン側モーション制御部のモーションデータと、サブ側モーション制御部の攻撃モーションデータとがブレンドされ、走り・攻撃モーションが再生される。そして、攻撃モーションの再生時間が終了すると、J12に示すようにモデルオブジェクトのモーションは走りモーションに戻る。
【0177】
以上のように本実施形態によれば、歩き・攻撃モーションデータや走り・攻撃モーションデータをモーションブレンドにより生成できる。従って、歩き・攻撃モーションデータや走り・攻撃モーションデータなどを予め用意しておく必要がないため、モーションデータ量を大幅に軽減できる。しかも本実施形態では、メイン側のモーションデータとサブ側のモーションデータの組み合わせにより、モーションブレンドを用いて多種多様なモーションデータを生成でき、少ないデータ量で多様なモーション表現を実現できる。
【0178】
また本実施形態では、メイン側モーション制御部とサブ側モーション制御部を同時動作可能にすることで、モーションスクリプトについても、歩き・攻撃モーションスクリプトや走り・攻撃モーションスクリプトなどを予め用意しなくて済むようになる。このため、モーションスクリプトのデータ量を大幅に軽減できる。しかも本実施形態では、メイン側のモーションスクリプトとサブ側のモーションスクリプトの組み合わせにより、多種多様なモーションスクリプトを実現できる。
【0179】
なお、サブ側モーション制御部が、自身のサブ側モーション制御部に割り当てるモーションスクリプトを変更することも可能である。
【0180】
例えば図16(B)のJ13では、メイン側モーション制御部の走りモーションが再生されている状態で、攻撃指示の操作入力が行われて、サブ側モーション制御部に攻撃Aのモーションスクリプトが割り当てられる。これにより、サブ側モーション制御部が攻撃Aのモーションデータを選択し、走りモーションと攻撃Aのモーションがブレンドされる。
【0181】
次に、コンボ条件を満たす攻撃指示が行われると、J14に示すようにサブ側モーション制御部のモーションスクリプトに記述された変更条件が満たされて、サブ側モーション制御部に攻撃Bのモーションスクリプトが割り当てられる。これにより、サブ側モーション制御部が攻撃Bのモーションデータを選択し、走りモーションと攻撃Bのモーションがブレンドされる。
【0182】
その後、次々とコンボ条件を満たす攻撃指示が行われると、サブ側モーション制御部に攻撃C、攻撃Dのモーションスクリプトが割り当てられ、走りモーションと攻撃C、Dのモーションがブレンドされるようになる。そして、その後、走りモーションの再生に戻る。
【0183】
また、サブ側モーション制御部が、メイン側モーション制御部に割り当てるモーションスクリプトを変更することも可能である。
【0184】
例えば図16(C)のJ15では、メイン側モーション制御部の走りモーションが再生されている状態で、攻撃指示の操作入力が行われて、メイン側の走りモーションとサブ側の攻撃モーションがブレンドされる。
【0185】
そしてサブ側の攻撃モーションの最後の状態がしゃがみモーションである場合には、J16に示すようにサブ側モーション制御部に記述されている変更条件が満たされて、メイン側モーション制御部にしゃがみモーションスクリプトが割り当てられるようになる。これにより、メイン側モーション制御部がしゃがみモーションデータを選択し、しゃがみモーションが再生されるようになる。
【0186】
以上のように本実施形態では、一方のモーション制御部が、自身に割り当てるモーションスクリプトのみならず、他方のモーション制御部に割り当てるモーションスクリプトも変更できる。従って、このモーションスクリプトの割り当ての変更により不自然な画像が生成されないように配慮して、モーションスクリプトを記述しておく必要がある。
【0187】
例えば、メイン側で倒れモーションを再生している状態で、サブ側が図16(C)のJ16に示すようにメイン側のモーションスクリプトを変更して、再度メイン側に倒れモーションを行わせると、一度倒れかけたモデルオブジェクトが、再度立ち上がって再び倒れるという不自然な画像が生成される。従って、このような場合には、サブ側によるメイン側のモーションスクリプトの変更を制限することが望ましい。
【0188】
なお、例えばメイン側モーション制御部(第1のモーション制御部)に、移動モーションスクリプトを割り当てると共に、サブ側モーション制御部(第2のモーション制御部)に、やられモーションスクリプト(広義には攻撃を受けたことを示すモーションのスクリプト。以下の説明でも同様)を割り当てて、モーションブレンド処理を行ってもよい。
【0189】
このようにすれば、モデルオブジェクトの一部(例えば上半身又は下半身)だけが、やられモーションになり、他の部分が移動モーションになるモーションブレンド画像を生成できる。
【0190】
また、この場合に、移動モーションスクリプトにおいては、移動指示に関する操作入力を受け付けるようにすると共に、やられモーションスクリプトにおいては、攻撃(又は防御)に関する操作入力を受け付けないようにしてもよい。このようにすれば、モデルオブジェクトの一部がやられモーションになっているような場合にも、プレーヤは、移動指示によりモデルオブジェクトを移動させることはできるようになる。一方、やられモーションになったモデルオブジェクトは、敵の攻撃により所与の期間だけ動作不能状態(硬直状態)になっているため、プレーヤは、攻撃指示(又は防御指示)により、モデルオブジェクトに攻撃(又は防御)を行わせることはできないようになる。
【0191】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図17、図18、図19のフローチャートを用いて説明する。
【0192】
図17は、図8〜図11(C)で説明したモーションブレンド処理を実現するフローチャートである。
【0193】
まず、メイン側、サブ側のモーションデータMA、MBの全体ブレンド率αA、αBを、各々、1.0、0.0に初期設定しておく(ステップS31)。
【0194】
次に、フレーム更新か否かを判断する(ステップS32)。これは、表示部に出力する垂直同期信号がアクティブになったか否かを検出することで判断できる。
【0195】
そして、フレーム更新の場合には、攻撃が相手にヒットしているヒット期間T1か否かを判断する(ステップS33)。そして、期間T1である場合には、サブ側のモーションデータMBの全体ブレンド率αBを徐々に増加させる(ステップS34。図9(B)、(C)参照)。
【0196】
一方、期間T1でない場合には、ヒット期間T1の終了後のモーション戻し期間T2か否かを判断する(ステップS35)。そして、期間T2である場合には、サブ側のモーションデータMBの全体ブレンド率αBを徐々に減少させる(ステップS36)。
【0197】
次に、メイン側のモーションデータMAと、MAの再生速度を遅らせて再生フレーム番号を後ろにずらしたサブ側のモーションデータMBとを、全体ブレンド率αA,αBと個別ブレンド率βA,βBに基づきモーションブレンドする(ステップS37。図11(A)、(B)、(C)参照)。そして、ステップS32に戻り、次にフレーム更新されるのを待つ。
【0198】
図18、図19は、図12〜図16(C)で説明したモーション制御部の並列動作によるモーションブレンド処理を実現するフローチャートである。
【0199】
まず、メイン側モーション制御部に現在割り当てられているモーションスクリプトに基づき、メイン側モーション制御部がモーション制御処理(操作入力の判断や状況の判断処理等)を行う(ステップS41)。次に、サブ側モーション制御部に現在割り当てられているモーションスクリプトに基づき、サブ側モーション制御部がモーション制御処理(操作入力の判断や状況の判断処理等)を行う(ステップS42)。
【0200】
そして、メイン側によりサブ側のモーションスクリプトの変更があった場合には、サブ側に割り当てるモーションスクリプトを変更する(ステップS43、S44。図16(A)のJ1、J9参照)。また、メイン側によりメイン側のモーションスクリプトの変更があった場合には、メイン側に割り当てるモーションスクリプトを変更する(ステップS45、S46。図16(A)のJ7参照)。
【0201】
また、サブ側によりサブ側のモーションスクリプトの変更があった場合には、サブ側に割り当てるモーションスクリプトを変更する(ステップS47、S48。図16(B)のJ14参照)。また、サブ側によりメイン側のモーションスクリプトの変更があった場合には、メイン側に割り当てるモーションスクリプトを変更する(ステップS50。図16(C)のJ16参照)。
【0202】
次に、メイン側のモーションスクリプトに応じたモーションデータを生成する(ステップS51)。例えば、メイン側モーション制御部が右移動モーションと前移動モーションを選択した場合には、これらのモーションをブレンドして、右前移動モーションを生成する。次に、サブ側のモーションスクリプトに応じたモーションデータを生成する(ステップS52)。例えば、サブ側モーション制御部が横切りモーションと縦切りモーションを選択した場合には、これらのモーションをブレンドして、斜め切りモーションを生成する。
【0203】
次に、全体ブレンド率と骨毎の個別ブレンド率に基づき、メイン側とサブ側のモーションデータをブレンドし、得られたモーションを再生する(ステップS53)。
【0204】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図20を用いて説明する。
【0205】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0206】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0207】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0208】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0209】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0210】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0211】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0212】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0213】
RAM960は、各種プロセッサの作業領域として用いられる。
【0214】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0215】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0216】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0217】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0218】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本発明の各手段として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0219】
図21(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、コントローラ1102などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0220】
図21(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0221】
図21(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム(格納情報)は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0222】
なお、図21(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0223】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0224】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0225】
例えば、本実施形態で説明した個別ブレンド率や全体ブレンド率と数学的に等価なパラメータを用いてモーションブレンドを行う場合も、本発明の均等の範囲に含まれる。
【0226】
また、本発明のモーションブレンドは、個別ブレンド率と全体ブレンド率の両方を用いて行ってもよいし、個別ブレンド率と全体ブレンド率のいずれか一方を用いて行ってもよい。
【0227】
また、個別ブレンド率や全体ブレンド率の設定手法も、本実施形態で説明した手法に限定されず、種々の変形実施が可能である。また、モーションスクリプトの処理についても種々の変形実施が可能である。
【0228】
また、本実施形態では2つのモーション制御部が並列動作する場合について説明したが、3つ以上のモーション制御部を並列動作させてもよい。
【0229】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0230】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0231】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】モデルオブジェクト、スケルトン構造の例を示す図である。
【図3】モーションブレンドについて説明するための図である。
【図4】個別ブレンド率の設定について説明するための図である。
【図5】移動モーションと攻撃モーションの例について示す図である。
【図6】移動モーションと攻撃モーションをブレンドしたモーションの例について示す図である。
【図7】図7(A)、(B)、(C)は、イベントが発生したことを条件に、全体ブレンド率及び個別ブレンド率に基づくモーションブレンドを行う手法について説明するための図である。
【図8】ヒットイベントが発生していない時における縦切りモーションの例とヒットイベントが発生した時における縦切りモーションの例について示す図である。
【図9】図9(A)、(B)、(C)は、全体ブレンド率や期間T1、T2の設定手法について説明するための図である。
【図10】図10(A)、(B)、(C)は、全体ブレンド率や期間Tの設定手法について説明するための図である。
【図11】図11(A)、(B)、(C)は、再生速度や再生フレーム番号を異ならせたモーションデータをブレンドする手法について説明するための図である。
【図12】移動モーションスクリプト群、攻撃モーションスクリプト群について説明するための図である。
【図13】立ちモーションスクリプトの処理例について説明するためのフローチャートである。
【図14】移動モーションスクリプトの処理例について説明するためのフローチャートである。
【図15】攻撃モーションスクリプトの処理例について説明するためのフローチャートである。
【図16】図16(A)、(B)、(C)は、モーション制御部の並列動作について説明するための図である。
【図17】本実施形態の処理の詳細例について示すフローチャートである。
【図18】本実施形態の処理の詳細例について示すフローチャートである。
【図19】本実施形態の処理の詳細例について示すフローチャートである。
【図20】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図21】図21(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
MOB モデルオブジェクト
αA、αB 全体ブレンド率
βA、βB 個別ブレンド率
100 処理部
110 移動処理部
112 モーション処理部
114 第1のモーション制御部(メイン側モーション制御部)
116 第2のモーション制御部(サブ側モーション制御部)
118 モーションブレンド部
120 画像生成部
130 音生成部
160 操作部
170 記憶部
172 主記憶部
174 描画バッファ
176 モーションデータ記憶部
178 モーションスクリプト記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

Claims (21)

  1. 画像生成を行う画像生成システムであって、
    モデルオブジェクトのスケルトンの形状を特定するモーションデータを、モデルオブジェクトのスケルトンを構成する各骨毎に任意に設定される個別ブレンド率とモデルオブジェクトのスケルトンの骨に対して一律に設定される全体ブレンド率とに基づいてブレンドし、ブレンドにより得られたモーションデータに基づいて、モデルオブジェクトにモーションを行わせるモーションブレンド手段と、
    モデルオブジェクトを含む複数のオブジェクトが配置されるオブジェクト空間内の所与の視点での画像を生成する手段とを含み、
    前記モーションブレンド手段が、
    所与のイベントが発生した場合に、個別ブレンド率及び全体ブレンド率に基づくモーションブレンドを行うことを特徴とする画像生成システム。
  2. 請求項1において、
    所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、該所与のイベントの影響を最も及ばすべき骨についての前記個別ブレンド率が、前記第1のモーションデータよりも前記第2のモーションデータの方がより多くブレンドされるブレンド率に設定されていることを特徴とする画像生成システム。
  3. 請求項1又は2において、
    所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、該所与のイベントが発生するまでは、第2のモーションデータの全体ブレンド率が零に設定されていることを特徴とする画像生成システム。
  4. 請求項1乃至3のいずれかにおいて、
    全体ブレンド率を時間経過に伴い変化させることを特徴とする画像生成システム。
  5. 請求項1乃至4のいずれかにおいて、
    所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、所与のイベントが発生してから所与の第1の期間が経過するまでは、第2のモーションデータの全体ブレンド率が時間経過に伴い増加し、第1の期間が経過後、所与の第2の期間が経過するまでは、第2のモーションデータの全体ブレンド率が時間経過に伴い減少することを特徴とする画像生成システム。
  6. 請求項5において、
    前記第1の期間での全体ブレンド率の変化率の方が、前記第2の期間での全体ブレンド率の変化率よりも高いことを特徴とする画像生成システム。
  7. 請求項1乃至6のいずれかにおいて、
    前記モーションブレンド手段が、
    所与のイベントが発生した場合に、第1のモーションデータと、該第1のモーションデータとデータ内容が同一であり且つ第1のモーションデータとは再生速度及び再生フレーム番号の少なくとも一方を異ならせた第2のモーションデータとを、モーションブレンドすることを特徴とする画像生成システム。
  8. 請求項1乃至のいずれかにおいて、
    前記所与のイベントが、
    モデルオブジェクトと他のオブジェクトとのヒットイベント、モデルオブジェクトと他のオブジェクトとの接触イベント、モデルオブジェクトが所与のエリアに侵入するイベント、及びモデルオブジェクトが物を投げるイベントの少なくとも1つであることを特徴とする画像生成システム。
  9. 請求項1乃至のいずれかにおいて、
    前記モーションブレンド手段が、
    所与のイベントが発生した場合に、第1、第2のモーションデータのモーションブレンドを行い、その後に所与の期間が経過した場合に、第1、第2のモーションデータのモーションブレンドを終了してモデルオブジェクトに第1のモーションデータのモーションを行わせることを特徴とする画像生成システム。
  10. 請求項1乃至のいずれかにおいて、
    モーションブレンドが行われる期間の長さ及び該期間における全体ブレンド率の設定の少なくとも1つを、発生したイベント、モデルオブジェクトの状態情報及びヒット対象となるオブジェクトの状態情報の少なくとも1つに応じて異ならせることを特徴とする画像生成システム。
  11. モデルオブジェクトのスケルトンの形状を特定するモーションデータを、モデルオブジェクトのスケルトンを構成する各骨毎に任意に設定される個別ブレンド率とモデルオブジェクトのスケルトンの骨に対して一律に設定される全体ブレンド率とに基づいてブレンドし、ブレンドにより得られたモーションデータに基づいて、モデルオブジェクトにモーションを行わせるモーションブレンド手段と、
    モデルオブジェクトを含む複数のオブジェクトが配置されるオブジェクト空間内の所与の視点での画像を生成する手段として、
    コンピュータを機能させるプログラムであって、
    前記モーションブレンド手段が、
    所与のイベントが発生した場合に、個別ブレンド率及び全体ブレンド率に基づくモーションブレンドを行うことを特徴とするプログラム。
  12. 請求項11において、
    所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、該所与のイベントの影響を最も及ばすべき骨についての前記個別ブレンド率が、前記第1のモーションデータよりも前記第2のモーションデータの方がより多くブレンドされるブレンド率に設定されていることを特徴とするプログラム。
  13. 請求項11又は12において、
    所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、該所与のイベントが発生するまでは、第2のモーションデータの全体ブレンド率が零に設定されていることを特徴とするプログラム。
  14. 請求項11乃至13のいずれかにおいて、
    全体ブレンド率を時間経過に伴い変化させることを特徴とするプログラム。
  15. 請求項11乃至14のいずれかにおいて、
    所与のイベントが発生した場合に第1のモーションデータと第2のモーションデータとがブレンドされる場合において、所与のイベントが発生してから所与の第1の期間が経過するまでは、第2のモーションデータの全体ブレンド率が時間経過に伴い増加し、第1の期間が経過後、所与の第2の期間が経過するまでは、第2のモーションデータの全体ブレンド率が時間経過に伴い減少することを特徴とするプログラム。
  16. 請求項15において、
    前記第1の期間での全体ブレンド率の変化率の方が、前記第2の期間での全体ブレンド率の変化率よりも高いことを特徴とするプログラム。
  17. 請求項11乃至16のいずれかにおいて、
    前記モーションブレンド手段が、
    所与のイベントが発生した場合に、第1のモーションデータと、該第1のモーションデータとデータ内容が同一であり且つ第1のモーションデータとは再生速度及び再生フレーム番号の少なくとも一方を異ならせた第2のモーションデータとを、モーションブレンドすることを特徴とするプログラム。
  18. 請求項11乃至17のいずれかにおいて、
    前記所与のイベントが、
    モデルオブジェクトと他のオブジェクトとのヒットイベント、モデルオブジェクトと他のオブジェクトとの接触イベント、モデルオブジェクトが所与のエリアに侵入するイベント、及びモデルオブジェクトが物を投げるイベントの少なくとも1つであることを特徴とするプログラム。
  19. 請求項11乃至18のいずれかにおいて、
    前記モーションブレンド手段が、
    所与のイベントが発生した場合に、第1、第2のモーションデータのモーションブレンドを行い、その後に所与の期間が経過した場合に、第1、第2のモーションデータのモーションブレンドを終了してモデルオブジェクトに第1のモーションデータのモーションを行わせることを特徴とするプログラム。
  20. 請求項11乃至19のいずれかにおいて、
    モーションブレンドが行われる期間の長さ及び該期間における全体ブレンド率の設定の少なくとも1つを、発生したイベント、モデルオブジェクトの状態情報及びヒット対象となるオブジェクトの状態情報の少なくとも1つに応じて異ならせることを特徴とするプログラム。
  21. コンピュータ読み取り可能な情報記憶媒体であって、請求項11乃至20のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2001253522A 2001-08-23 2001-08-23 画像生成システム、プログラム及び情報記憶媒体 Expired - Fee Related JP4656622B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001253522A JP4656622B2 (ja) 2001-08-23 2001-08-23 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001253522A JP4656622B2 (ja) 2001-08-23 2001-08-23 画像生成システム、プログラム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2003067773A JP2003067773A (ja) 2003-03-07
JP4656622B2 true JP4656622B2 (ja) 2011-03-23

Family

ID=19081835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001253522A Expired - Fee Related JP4656622B2 (ja) 2001-08-23 2001-08-23 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4656622B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1929894A (zh) * 2004-03-12 2007-03-14 皇家飞利浦电子股份有限公司 能够使对象活跃的电子设备和方法
JP4445449B2 (ja) 2005-10-04 2010-04-07 株式会社スクウェア・エニックス 画像生成装置
JP4388004B2 (ja) 2005-10-04 2009-12-24 株式会社スクウェア・エニックス 画像生成装置及び方法、プログラム、並びに記録媒体
US8432401B2 (en) 2010-05-10 2013-04-30 Kabushiki Kaisha Square Enix Image processing apparatus, image processing method, and image processing program
JP2016182310A (ja) * 2015-03-27 2016-10-20 株式会社カプコン コンピュータプログラム及びコンピュータシステム
JP6437969B2 (ja) * 2016-08-18 2018-12-12 株式会社カプコン ゲームプログラムおよびゲームシステム
JP6302966B2 (ja) * 2016-08-18 2018-03-28 株式会社カプコン ゲームプログラムおよびゲームシステム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049701A (ja) * 1996-08-06 1998-02-20 Hitachi Ltd 多関節構造体の動作取り込み方法
JPH10116351A (ja) * 1996-08-21 1998-05-06 Nippon Telegr & Teleph Corp <Ntt> 多関節構造体の運動像生成方法及びそれを記録した記録媒体及びそれを使った運動像生成装置
JPH11306388A (ja) * 1998-04-24 1999-11-05 Namco Ltd 画像生成装置及び情報記憶媒体
JP2000011199A (ja) * 1998-06-18 2000-01-14 Sony Corp アニメーションの自動生成方法
JP2000057364A (ja) * 1998-08-03 2000-02-25 Konami Co Ltd ビデオゲームにおけるアニメーション表示方法及びこれを用いたビデオゲーム装置並びにビデオゲームにおけるアニメーション表示プログラムを記録したコンピュータ読み取り可能な媒体
JP2001052201A (ja) * 1999-08-04 2001-02-23 Namco Ltd 画像生成システム及び情報記憶媒体
JP2001052199A (ja) * 1999-08-04 2001-02-23 Namco Ltd 画像生成システム及び情報記憶媒体
JP2001052200A (ja) * 1999-08-04 2001-02-23 Namco Ltd 画像生成システム及び情報記憶媒体
JP2001198352A (ja) * 2000-01-24 2001-07-24 Konami Co Ltd ビデオゲーム装置、ビデオゲームにおけるキャラクタ動作設定方法及びキャラクタ動作設定プログラムが記録された可読記録媒体

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049701A (ja) * 1996-08-06 1998-02-20 Hitachi Ltd 多関節構造体の動作取り込み方法
JPH10116351A (ja) * 1996-08-21 1998-05-06 Nippon Telegr & Teleph Corp <Ntt> 多関節構造体の運動像生成方法及びそれを記録した記録媒体及びそれを使った運動像生成装置
JPH11306388A (ja) * 1998-04-24 1999-11-05 Namco Ltd 画像生成装置及び情報記憶媒体
JP2000011199A (ja) * 1998-06-18 2000-01-14 Sony Corp アニメーションの自動生成方法
JP2000057364A (ja) * 1998-08-03 2000-02-25 Konami Co Ltd ビデオゲームにおけるアニメーション表示方法及びこれを用いたビデオゲーム装置並びにビデオゲームにおけるアニメーション表示プログラムを記録したコンピュータ読み取り可能な媒体
JP2001052201A (ja) * 1999-08-04 2001-02-23 Namco Ltd 画像生成システム及び情報記憶媒体
JP2001052199A (ja) * 1999-08-04 2001-02-23 Namco Ltd 画像生成システム及び情報記憶媒体
JP2001052200A (ja) * 1999-08-04 2001-02-23 Namco Ltd 画像生成システム及び情報記憶媒体
JP2001198352A (ja) * 2000-01-24 2001-07-24 Konami Co Ltd ビデオゲーム装置、ビデオゲームにおけるキャラクタ動作設定方法及びキャラクタ動作設定プログラムが記録された可読記録媒体

Also Published As

Publication number Publication date
JP2003067773A (ja) 2003-03-07

Similar Documents

Publication Publication Date Title
JP4775989B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4704622B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US7084855B2 (en) Image generation method, program, and information storage medium
JP4187182B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US7281981B2 (en) Image generation method, program, and information storage medium
GB2356785A (en) Motion correction of on-screen targets in shooting game
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3707995B2 (ja) ゲームシステム及び情報記憶媒体
JP4656622B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001006000A (ja) 画像生成システム及び情報記憶媒体
JP3280355B2 (ja) 画像生成システム及び情報記憶媒体
JP4278070B2 (ja) 画像生成システム及び情報記憶媒体
JP3686070B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4097236B2 (ja) 画像生成装置及び情報記憶媒体
JP4544555B2 (ja) ゲームシステム及び情報記憶媒体
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4497690B2 (ja) ゲームシステム及び情報記憶媒体
JP3420987B2 (ja) ゲームシステム及び情報記憶媒体
JP4412692B2 (ja) ゲームシステム及び情報記憶媒体
JP5363669B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4641602B2 (ja) ゲームシステム及び情報記憶媒体
JP5273694B2 (ja) ゲームシステム、プログラム、情報記憶媒体及びサーバ
JP4632521B2 (ja) ゲームシステム及び情報記憶媒体
JP4642118B2 (ja) 画像生成システム及び情報記憶媒体
JP4624527B2 (ja) ゲームシステム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100922

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4656622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees