説明

描画装置、描画方法、および描画プログラム

【課題】布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現する。
【解決手段】制御部11が、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画処理と、オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、算出した作用ベクトルデータと各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理とを実行し、描画処理にて、移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点としてオブジェクトを描画する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画するための技術に関する。
【背景技術】
【0002】
従来から、RPG(ロールプレイングゲーム:プレイヤがゲームの世界の中であるキャラクタの役割を演じ、様々な経験を通して成長していく過程を楽しみながら、所定の目的を達成していくゲーム。)と呼ばれるゲームなどのビデオゲームが各種提供されている。
【0003】
近年のビデオゲームにおける画像描画では、非常にリアルな表現が可能になっている。ところが、ビデオゲームにおいて布などの平面状のオブジェクトが風などになびく様子を表現する際には、一般に、モーフィングアニメーション(「ある形状から別の形状へ徐々に変化していく様子を表現するために作成された中間画像を用いて、その変化の様子を表現した動画」を意味する。)を用いてオブジェクトが揺らめく様子を表現する簡易な手法が用いられているため、単調な表現になってしまっていた。
【0004】
しかしながら、単調な表現とならないように、風の流れと連動したシミュレーションを行うこととすると、その計算が非常に複雑になるため、ビデオゲームのようなオブジェクトの描画を短時間で完成させる必要があるものに採用するのは適切でない。
【0005】
シミュレーションを行う必要がないものとしては、布などの平面状のオブジェクトが風などによって揺らめく様子を仮想世界上でリアルに表現するためのものとして、オブジェクトを形成する骨格のベクトルと風や、風と同じようにオブジェクトに影響を与える慣性などの力のベクトルとによる演算を行うようにしたものがある(特許文献1参照)。
【0006】
また、風の動きではなく、液体状のものがゲーム内のオブジェクトの表面に沿って流れる動きを再現する際に、オブジェクト表面の法線ベクトルと、液体の流れのベクトルを演算することで液体シミュレーションを行うようにしたものがある(特許文献2参照)。
【0007】
【特許文献1】特開2005−56251号公報
【特許文献2】特開2003−91738号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述した特許文献1−2に記載された発明は、シミュレーションのための膨大な演算を行う必要はないが、依然として複雑な演算を必要とするため、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することはできないという問題があった。
【0009】
本発明は、上記の問題を解消すべく、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本発明の描画装置は、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画装置であって、前記複数の基準点を含む前記オブジェクトを描画する描画手段と、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータ記憶手段と、前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出手段と、該作用ベクトルデータ算出手段によって算出された作用ベクトルデータと、前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出手段と、該移動ベクトルデータ算出手段によって算出された各基準点それぞれの移動先を示す移動点を算出する移動点算出手段と、を備え、前記描画手段は、前記移動点算出手段によって算出されたそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画することを特徴とする。
【0011】
上記の構成としたことで、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようになる。
【0012】
前記オブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示す加速度ベクトルデータを記憶する加速度ベクトルデータ記憶手段を備え、前記移動ベクトルデータ算出手段は、前記オブジェクトに含まれる各基準点の移動加速度である移動加速度ベクトルを示す加速度ベクトルデータをも用いて、移動ベクトルデータを算出するように構成されていてもよい。
【0013】
前記所定の演算式は、例えば、移動加速度ベクトル+=移動ベクトル×|単位移動ベクトル・法線ベクトル|であり、前記移動ベクトルデータ算出手段は、前記演算式を用いて移動ベクトルデータを算出する。
【0014】
また、本発明の描画方法は、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画方法であって、前記複数の基準点を含む前記オブジェクトを描画する描画処理と、前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、含み、前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画することを特徴とする。
【0015】
さらに、本発明の描画プログラムは、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画させる描画プログラムであって、コンピュータに、前記複数の基準点を含む前記オブジェクトを描画する描画処理と、前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、実行させ、前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する処理を実行させるためのものである。
【発明の効果】
【0016】
本発明によれば、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようになる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の一実施の形態について図面を参照して説明する。
【0018】
図1は、本発明の一実施の形態における描画装置の一例を示すビデオゲーム装置100の構成の例を示すブロック図である。図1に示すように、本例のビデオゲーム装置100は、ビデオゲーム装置本体10と、表示装置50と、サウンド出力装置60とを含む。ビデオゲーム装置本体10は、例えば市販のビデオゲーム機によって構成される。また、表示装置50は、例えばテレビジョン装置や液晶表示装置などによって構成され、画像表示部51を有している。
【0019】
ビデオゲーム装置本体10は、制御部11と、RAM12と、ハードディスクドライブ(HDD)13と、サウンド処理部14と、グラフィック処理部15と、DVD/CD−ROMドライブ16と、通信インターフェイス17と、インターフェイス部18と、フレームメモリ19と、メモリーカードスロット20と、入力インターフェイス部21とを含む。
【0020】
制御部11、RAM12、ハードディスクドライブ(HDD)13、サウンド処理部14、グラフィック処理部15、DVD/CD−ROMドライブ16、通信インターフェイス17、及びインターフェイス部18は、それぞれ内部バス22に接続されている。
【0021】
制御部11は、CPUやROMなどを含み、HDD13や記憶媒体70に格納された制御プログラムに従ってビデオゲーム装置100全体の制御を行う。制御部11は、タイマ割り込みを発生させるため等に用いられる内部タイマを備えている。RAM12は、制御部11のワークエリアとして用いられる。HDD13は、制御プログラムや各種のデータを保存するための記憶領域である。
【0022】
サウンド処理部14は、例えばスピーカによって構成されるサウンド出力装置60に接続される。サウンド処理部14は、制御プログラムに従って処理を実行している制御部11からのサウンド出力指示に従って、サウンド出力装置60に対してサウンド信号を出力する。なお、サウンド出力装置60は、表示装置50あるいはビデオゲーム装置本体10に内蔵されていてもよい。
【0023】
グラフィック処理部15は、画面表示がなされる画像表示部51を有する表示装置50に接続される。グラフィック処理部15は、制御部11からの描画命令に従って、フレームメモリ19に画像を展開するとともに、画像表示部51に画像を表示させるためのビデオ信号を表示装置50に対して出力する。ビデオ信号によって表示される画像の切替時間は、例えば、1フレームあたり1/30秒とされる。
【0024】
DVD/CD−ROMドライブ16には、DVD−ROMやCD−ROMなどのゲーム用の制御プログラムが格納された記憶媒体70が装着される。DVD/CD−ROMドライブ16は、装着された記憶媒体70から、制御プログラムなどの各種データを読み出す処理を行う。
【0025】
通信インターフェイス17は、インターネットなどの通信ネットワーク80に無線あるいは有線によって接続される。ビデオゲーム装置本体10は、通信インターフェイス17における通信機能を用いて、通信ネットワーク80を介して例えば他のコンピュータとの通信を行う。
【0026】
インターフェイス部18には、入力インターフェイス部21と、メモリカードスロット20とが接続される。インターフェイス部18は、プレイヤによるキーパッド30の操作にもとづく入力インターフェイス部21からの指示データをRAM12に格納する。すると、RAM12に格納された指示データに従って、制御部11が各種の演算処理を実行する。
【0027】
また、インターフェイス部18は、制御部11からの指示に従って、RAM12に記憶されているゲームの進行状況を示すデータをメモリカードスロット20に装着されているメモリーカード90に格納する処理や、メモリーカード90に保存されている中断時のゲームのデータを読み出してRAM12に転送する処理などを行う。
【0028】
ビデオゲーム装置100でゲームを行うための制御プログラムなどの各種のデータは、例えば記憶媒体70に記憶されている。記憶媒体70に記憶されている制御プログラムなどの各種のデータは、記憶媒体70が装着されているDVD/CD−ROMドライブ16によって読み出され、RAM12にロードされる。制御部11は、RAM12にロードされた制御プログラムに従って、グラフィック処理部15に対して描画命令を出力する処理や、サウンド処理部14に対してサウンド出力の指示を出力する処理などの各種の処理を実行する。なお、制御部11が処理を実行している間は、ワークメモリとして用いられるRAM12に、ゲームの進行状況によって中間的に発生するデータ(例えば、ゲームの得点、プレイヤキャラクタの状態を示すデータなど)が保存される。
【0029】
この実施の形態に係る3次元ビデオゲームは、仮想3次元空間に設けられたフィールド上でゲームが進行していくものであるものとする。なお、フィールドが形成された仮想3次元空間は、ワールド座標系によって示されるものとする。フィールドは、複数の面で構成され、各構成面の頂点の座標を特徴点として表したものである。
【0030】
次に、本例のビデオゲーム装置100の動作について説明する。
ここでは、説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。なお、本例では、RPGについてのビデオゲーム制御が実行されるものとする。
【0031】
図2は、本例のビデオゲーム装置100におけるメイン処理の例を示すフローチャートである。メイン処理は、1フレーム分の画像を生成するための処理、及びビデオゲームの制御に必要な処理であり、1/30秒ごとのタイマ割り込みに応じて実行される。なお、「1/30秒ごと」は一例であり、メイン処理は、例えば、1フィールド期間(1/60秒)ごとのタイマ割り込みに応じて実行されるものとしても、処理量によっては2フレーム期間(1/15秒)ごとのタイマ割り込みに応じて実行されるものとしてもよい。
【0032】
メイン処理において、制御部11は、ゲーム開始前であればプレイヤによるキーパッド30の操作によりゲームの開始指示があったか否かを判定し、ゲームの実行中であれば場面変更(例えばフィールドの変更)を行うタイミングとなったか否かを判定する(ステップS101)。場面変更を行うタイミングは、例えば、これまで画像表示部51に表示していた場面(例えば、仮想3次元空間によって表されている場面)を終了し、新たな場面に切り替えるために、画像表示部51に新たな場面を示す仮想3次元空間を表示するタイミングを意味する。
【0033】
ゲームの開始指示があったと判定したとき、あるいは場面変更を行うタイミングとなったと判定したときは(ステップS101のY)、制御部11は、制御プログラムに従って、初期画面(ゲーム開始時の初期画面、場面変更時の初期画面)を決定する(ステップS102)。なお、ゲームに用いられる画面やキャラクタなどの各種のデータは、記憶媒体70に格納されている。
【0034】
次いで、制御部11は、仮想カメラの視点の位置、視軸の方向、および視角の大きさを、制御プログラムに従って決定し、透視変換を行うための仮想カメラの初期設定を行う(ステップS103)。そして、ステップS115に移行する。
【0035】
ゲームの実行中であり場面変更を行うタイミングでないと判定したときは(ステップS101のN)、制御部11は、プレイヤによるキーパッド30の操作にもとづく指示データを受け付ける(ステップS104)。ステップS104にて移動に関する行動を指示するための指示データを受け付けた場合には(ステップS105のY)、制御部11は、受け付けた移動指示データに応じて移動処理を実行し(ステップS106)、移動処理に伴って派生するプレイヤキャラクタの位置情報にもとづいて移動情報を生成する(ステップS107)。そして、ステップS113に移行する。
【0036】
ステップS104にて戦闘に関する行動を指示するための指示データを受け付けた場合には(ステップS108のY)、制御部11は、受け付けたバトル指示データに応じてバトル処理を実行し(ステップS109)、バトル処理によって決定された戦闘結果や戦闘経過にもとづいてバトル情報を生成する(ステップS110)。そして、ステップS113に移行する。
【0037】
ステップS104にてその他の指示のための指示データを受け付けた場合には(ステップS111のY)、制御部11は、受け付けたその他指示データに応じた処理(例えば、会話、買物、拾得等)を実行し(ステップS112)、この処理結果に応じたその他の諸情報を生成する。そして、ステップS113に移行する。
【0038】
ステップS113にて、制御部11は、ステップS107にて生成した移動情報をRAM12の所定のデータ領域に格納することにより、プレイヤキャラクタの現在位置を更新する。また、ステップS113にて、制御部11は、ステップS110にて生成したバトル情報や、ステップS112の後に生成したその他の諸情報をRAM12の所定のデータ領域に格納することにより、プレイヤキャラクタの各種の行動履歴を記憶保持する。
【0039】
次いで、制御部11は、RAM12に一旦格納されたプレイヤキャラクタの行動履歴を示す情報にもとづいて、行動評価処理を実行する(ステップS114)。
【0040】
そして、制御部11は、仮想カメラの設定内容等に応じて、仮想カメラから表示すべきプレイヤキャラクタやノンプレイヤキャラクタを含む仮想3次元空間を仮想スクリーン上に透視変換して、画像表示部51に表示させる2次元画像を生成するための表示処理を行う(ステップS115)。表示処理を終了すると、今回のメイン処理を終了する。その後、次のフレーム期間の開始タイミングにおいてタイマ割り込みが発生すると、次回のメイン処理が実行されることとなる。そして、メイン処理が繰り返し実行されることで、キャラクタ画像がフレーム期間毎に切り替えられて、画像表示部51にて動画が表示されることになる。
【0041】
ここで、ステップS115の表示処理について簡単に説明する。ステップS115では、制御部11は、先ず、プレイヤキャラクタやノンプレイヤキャラクタを含む仮想3次元空間を構成するポリゴンの頂点の座標のうち、少なくとも仮想スクリーン上に透視変換される範囲に含まれるポリゴンの頂点の座標を、ワールド座標系の座標から視点座標系の座標に変換する。次いで、制御部11は、プレイヤキャラクタやノンプレイヤキャラクタについての視点座標系におけるポリゴンの頂点の座標とをグラフィック処理部15に送信し、グラフィック処理部15に対して描画命令を出力する。
【0042】
描画命令が入力されると、グラフィック処理部15は、視点座標系の座標にもとづいて、各面を構成する各点について、前側にある点のデータが残るようにZバッファの内容を更新する。Zバッファの内容を更新すると、グラフィック処理部15は、前側にある残った点についての画像データをフレームメモリ19に展開する。また、グラフィック処理部15は、展開される画像データに対して、シェーディングやテクスチャマッピングなどの処理も行う。
【0043】
そして、グラフィック処理部15は、フレームメモリ19に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、表示装置50に出力する。表示装置50は、グラフィック処理部15から出力されたビデオ信号に対応した画像を画像表示部51に表示する。1フレーム時間ごとに画像表示部51の画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタやノンプレイヤキャラクタがフィールド上を移動する様子を含む画像を見ることができる。
【0044】
次に、本例のビデオゲーム装置100の動作について説明する。
【0045】
図3は、本例のビデオゲーム装置100におけるオブジェクト描画処理の例を示すフローチャートである。ここでは、例えば図4に示すような平面状で、かつ風などの影響を受けて形状が変化するオブジェクトを描画する際の処理について説明する。なお、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。このオブジェクト描画処理は、上述した表示処理(ステップS115)の一部である。
【0046】
オブジェクト描画処理によって描画されるオブジェクトは、例えば、旗やカーテンなどを表現するための布状オブジェクトである。このオブジェクトの構造は、本例では、例えば図5に示すように、針金細工のような輪郭線で表現した所謂「ワイヤーフレーム」によって特定され、各ワイヤの接点それぞれが基準点として把握される。すなわち、布状オブジェクトは、各ワイヤの接点それぞれを基準点とするワイヤーフレームによって表現される。このように、布状オブジェクトは、複数の基準点を含む三次元画像によって表現される。各基準点は、例えば、オブジェクトを形成するポリゴンの頂点や自由曲面の制御点などの各定義点とされる。
【0047】
オブジェクト描画処理において、制御部11は、先ず、描画対象となるオブジェクトにおける各基準点の座標データ及び法線ベクトルデータを、記憶媒体70(オブジェクトの初期状態を表示する際のデータ(初期値)を読み出す場合)あるいはRAM12(オブジェクトの変化状態を表示する際のデータを読み出す場合)から読み出す(ステップS201)。法線ベクトルデータは、例えば図6に示すように、該当する基準点におけるオブジェクトの面の向きをそれぞれ特定するために、その基準点の法線ベクトルを示すデータである。オブジェクトにおける各基準点の座標データ及び法線ベクトルデータは、その初期値が記憶媒体70からRAM12に読み出され、RAM12上に設けられた法線ベクトルデータ管理領域にて管理される。
【0048】
次に、制御部11は、作用ベクトルデータを算出する(ステップS202)。作用ベクトルデータは、オブジェクトの外形変化に影響を及ぼす風向きや風力などの作用の内容(向き、強さ)を示すベクトルデータである。本例では、作用ベクトルデータは、作用の要因となる風データ(風向き、風力)にもとづいて算出されるものとする。
【0049】
次いで、制御部11は、描画対象となるオブジェクトにおける各基準点の加速度ベクトルデータが後述する加速度ベクトルデータ管理領域に記憶されていれば、その加速度ベクトルデータをRAM12から読み出す(ステップS203)。加速度ベクトルデータは、それぞれ、描画対象となるオブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示すベクトルデータである。オブジェクトにおける各基準点の加速度ベクトルデータは、RAM12上に設けられた加速度ベクトルデータ管理領域にて管理される。
【0050】
次に、制御部11は、所定の演算式に当てはめて、各基準点の移動ベクトルを算出する(ステップS204)。本例では、所定の演算式として、下記の式1が用いられる。すなわち、制御部11は、式1を用いて、「単位移動ベクトル(windNormal)」と「法線ベクトル(crsNormal)」との内積の絶対値(abs)を求め、その結果と移動ベクトル(windVector)との積を算出し、移動加速度ベクトル(crsVelocity)が読み出されていれば移動加速度ベクトルを加算することで、各基準点の移動ベクトルを算出する。なお、移動加速度ベクトル(crsVelocity)が読み出されていなければ、「単位移動ベクトル(windNormal)」と「法線ベクトル(crsNormal)」との内積の絶対値(abs)と、移動ベクトル(windVector)との積を、各基準点の移動ベクトルとして算出する。
【0051】
【数1】

【0052】
具体的には、制御部11は、例えば図7(A)に示すようなある基準点の法線ベクトル(crsNormal)と単位移動ベクトルである風単位ベクトル(windNormal)について、図7(B)に示すような内積ベクトルを求める。そして、制御部11は、その内積ベクトルが示す値の絶対値(abs)を求め、その結果と移動ベクトルである風ベクトル(windVector)との積(図7(C)参照)算出し、移動加速度ベクトル(crsVelocity)が読み出されていれば移動加速度ベクトルを加算(図7(D)参照)することで、各基準点の移動ベクトルを算出する。このような演算処理を、制御部11は、各基準点について実行する。
【0053】
各基準点の移動ベクトルを算出すると、制御部11は、ステップS201で読み出した各基準点の座標データと算出した各基準点の移動ベクトルとを用いて、各基準点の移動位置を算出する(ステップS205)。各基準点の移動位置である新基準点は、例えば図8に示すように、旧基準点から該当する移動ベクトルが示す向き及び大きさ(長さ)だけ移動した点となる。
【0054】
そして、制御部11は、算出した移動位置を基準点として、オブジェクトを描画する(ステップS206)。
【0055】
上記のステップS201〜ステップS206の処理を繰り返し実行することで、制御部11は、風などの外的要因によってオブジェクトが例えば図9に示すように揺らめいている様子を表示装置50の表示画面51に表示する。
【0056】
以上に説明したように、上述した一実施の形態では、オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶するRAM12及び記憶媒体70を備え、制御部11が、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画処理(ステップS206)と、オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理(ステップS202)と、算出した作用ベクトルデータと、オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理(ステップS204)と、算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理(ステップS205)と、を実行し、描画処理にて、移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点としてオブジェクトを描画する構成としたので、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようになる。
【0057】
すなわち、布などの平面状のオブジェクトが風などによって揺らめく様子をリアルに表現する際の、制御部11の表示制御負担を軽減することができる。
【0058】
また、上述した実施の形態では、複数の基準点を含む三次元画像によって表現されるオブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示す加速度ベクトルデータを記憶するRAM12を備え、制御部11が、移動ベクトルデータ算出処理(ステップS204)にて、オブジェクトに含まれる各基準点の移動加速度である移動加速度ベクトルを示す加速度ベクトルデータをも用いて、移動ベクトルデータを算出する構成としているので、オブジェクトが風などによって揺らめく様子を加速度ベクトルをも考慮してリアルに表現することが可能となる。
【0059】
また、上述した実施の形態では、所定の演算式は、移動加速度ベクトル+=移動ベクトル×|単位移動ベクトル・法線ベクトル|であり、制御部11が、移動ベクトルデータ算出処理(ステップS204)にて、その演算式を用いて移動ベクトルデータを算出するように構成しているので、布などの平面状のオブジェクトが風などによって揺らめく様子を、各基準点における法線ベクトルやゲーム中の仮想世界で吹いている風などによる作用ベクトルを用いた簡単な演算でリアルに表現することができるようになり、ビデオゲームのようなオブジェクトの描画を短時間で完成させる必要があるものについても対応することが可能となる。すなわち、ビデオゲームにおけるオブジェクトの描画を簡単で高速に行うことが可能となる。
【0060】
なお、上述した実施の形態では、複数の基準点を含む三次元画像によって表現されるオブジェクトを表示する描画装置の例として、ビデオゲーム装置100を挙げて説明していたが、オブジェクトを表示するものであれば、どのような装置であっても好適に適用することができる。
【産業上の利用可能性】
【0061】
本発明によれば、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるビデオゲーム装置などの描画装置に適用するのに有用である。
【図面の簡単な説明】
【0062】
【図1】本発明の一実施の形態におけるビデオゲーム装置の構成例を示すブロック図である。
【図2】メイン処理の例を示すフローチャートである。
【図3】オブジェクト描画処理の例を示すフローチャートである。
【図4】布などの平面状のオブジェクトを正面からみた正面図である。
【図5】ワイヤーフレームによって表現されたオブジェクトの例を示す説明図である。
【図6】オブジェクトにおける各基準点に設定された法線ベクトルの例を示す説明図である。
【図7】ベクトル演算の例を説明するための説明図である。
【図8】旧基準点と新基準点とを説明するための説明図である。
【図9】布などの平面状のオブジェクトが揺らめいている様子を正面からみた正面図である。
【符号の説明】
【0063】
10 ビデオゲーム装置本体
11 制御部
12 RAM
13 HDD
14 サウンド処理部
15 グラフィック処理部
16 DVD/CD−ROM
17 通信インターフェイス
18 インターフェイス部
19 フレームメモリ
20 メモリーカードスロット
21 入力インターフェイス部
22 内部バス
30 キーパッド
50 表示装置
51 画像表示部
60 サウンド出力装置
70 記憶媒体
80 通信ネットワーク
90 メモリーカード
100 ビデオゲーム装置

【特許請求の範囲】
【請求項1】
複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画装置であって、
前記複数の基準点を含む前記オブジェクトを描画する描画手段と、
前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータ記憶手段と、
前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出手段と、
該作用ベクトルデータ算出手段によって算出された作用ベクトルデータと、前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出手段と、
該移動ベクトルデータ算出手段によって算出された各基準点それぞれの移動先を示す移動点を算出する移動点算出手段と、を備え、
前記描画手段は、前記移動点算出手段によって算出されたそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する
ことを特徴とする描画装置。
【請求項2】
前記オブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示す加速度ベクトルデータを記憶する加速度ベクトルデータ記憶手段を備え、
前記移動ベクトルデータ算出手段は、前記オブジェクトに含まれる各基準点の移動加速度である移動加速度ベクトルを示す加速度ベクトルデータをも用いて、移動ベクトルデータを算出する
請求項1記載の描画装置。
【請求項3】
前記所定の演算式は、移動加速度ベクトル+=移動ベクトル×|単位移動ベクトル・法線ベクトル|であり、
前記移動ベクトルデータ算出手段は、前記演算式を用いて移動ベクトルデータを算出する
請求項2記載の描画装置。
【請求項4】
複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画方法であって、
前記複数の基準点を含む前記オブジェクトを描画する描画処理と、
前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、
該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、
該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、含み、
前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する
ことを特徴とする描画方法。
【請求項5】
複数の基準点を含む三次元画像によって表現されるオブジェクトを描画させる描画プログラムであって、
コンピュータに、
前記複数の基準点を含む前記オブジェクトを描画する描画処理と、
前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、
該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、
該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、実行させ、
前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する処理を
実行させるための描画プログラム。

【図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


【公開番号】特開2008−217352(P2008−217352A)
【公開日】平成20年9月18日(2008.9.18)
【国際特許分類】
【出願番号】特願2007−53113(P2007−53113)
【出願日】平成19年3月2日(2007.3.2)
【出願人】(592044813)株式会社スクウェア・エニックス (115)
【Fターム(参考)】