(57)【要約】【課題】布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現する。【解決手段】制御部１１が、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画処理と、オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、算出した作用ベクトルデータと各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理とを実行し、描画処理にて、移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点としてオブジェクトを描画する。【選択図】図３
2008217352.tif 000002
【特許請求の範囲】
【請求項１】
複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画装置であって、
前記複数の基準点を含む前記オブジェクトを描画する描画手段と、
前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータ記憶手段と、
前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出手段と、
該作用ベクトルデータ算出手段によって算出された作用ベクトルデータと、前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出手段と、
該移動ベクトルデータ算出手段によって算出された各基準点それぞれの移動先を示す移動点を算出する移動点算出手段と、を備え、
前記描画手段は、前記移動点算出手段によって算出されたそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する
ことを特徴とする描画装置。
【請求項２】
前記オブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示す加速度ベクトルデータを記憶する加速度ベクトルデータ記憶手段を備え、
前記移動ベクトルデータ算出手段は、前記オブジェクトに含まれる各基準点の移動加速度である移動加速度ベクトルを示す加速度ベクトルデータをも用いて、移動ベクトルデータを算出する
請求項１記載の描画装置。
【請求項３】
前記所定の演算式は、移動加速度ベクトル+＝移動ベクトル×｜単位移動ベクトル・法線ベクトル｜であり、
前記移動ベクトルデータ算出手段は、前記演算式を用いて移動ベクトルデータを算出する
請求項２記載の描画装置。
【請求項４】
複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画方法であって、
前記複数の基準点を含む前記オブジェクトを描画する描画処理と、
前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、
該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、
該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、含み、
前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する
ことを特徴とする描画方法。
【請求項５】
複数の基準点を含む三次元画像によって表現されるオブジェクトを描画させる描画プログラムであって、
コンピュータに、
前記複数の基準点を含む前記オブジェクトを描画する描画処理と、
前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、
該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、
該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、実行させ、
前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する処理を
実行させるための描画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画するための技術に関する。
【背景技術】
【０００２】
従来から、ＲＰＧ（ロールプレイングゲーム：プレイヤがゲームの世界の中であるキャラクタの役割を演じ、様々な経験を通して成長していく過程を楽しみながら、所定の目的を達成していくゲーム。）と呼ばれるゲームなどのビデオゲームが各種提供されている。
【０００３】
近年のビデオゲームにおける画像描画では、非常にリアルな表現が可能になっている。ところが、ビデオゲームにおいて布などの平面状のオブジェクトが風などになびく様子を表現する際には、一般に、モーフィングアニメーション（「ある形状から別の形状へ徐々に変化していく様子を表現するために作成された中間画像を用いて、その変化の様子を表現した動画」を意味する。）を用いてオブジェクトが揺らめく様子を表現する簡易な手法が用いられているため、単調な表現になってしまっていた。
【０００４】
しかしながら、単調な表現とならないように、風の流れと連動したシミュレーションを行うこととすると、その計算が非常に複雑になるため、ビデオゲームのようなオブジェクトの描画を短時間で完成させる必要があるものに採用するのは適切でない。
【０００５】
シミュレーションを行う必要がないものとしては、布などの平面状のオブジェクトが風などによって揺らめく様子を仮想世界上でリアルに表現するためのものとして、オブジェクトを形成する骨格のベクトルと風や、風と同じようにオブジェクトに影響を与える慣性などの力のベクトルとによる演算を行うようにしたものがある（特許文献１参照）。
【０００６】
また、風の動きではなく、液体状のものがゲーム内のオブジェクトの表面に沿って流れる動きを再現する際に、オブジェクト表面の法線ベクトルと、液体の流れのベクトルを演算することで液体シミュレーションを行うようにしたものがある（特許文献２参照）。
【０００７】
【特許文献１】特開２００５−５６２５１号公報
【特許文献２】特開２００３−９１７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した特許文献１−２に記載された発明は、シミュレーションのための膨大な演算を行う必要はないが、依然として複雑な演算を必要とするため、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することはできないという問題があった。
【０００９】
本発明は、上記の問題を解消すべく、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の描画装置は、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画装置であって、前記複数の基準点を含む前記オブジェクトを描画する描画手段と、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータ記憶手段と、前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出手段と、該作用ベクトルデータ算出手段によって算出された作用ベクトルデータと、前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出手段と、該移動ベクトルデータ算出手段によって算出された各基準点それぞれの移動先を示す移動点を算出する移動点算出手段と、を備え、前記描画手段は、前記移動点算出手段によって算出されたそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画することを特徴とする。
【００１１】
上記の構成としたことで、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようになる。
【００１２】
前記オブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示す加速度ベクトルデータを記憶する加速度ベクトルデータ記憶手段を備え、前記移動ベクトルデータ算出手段は、前記オブジェクトに含まれる各基準点の移動加速度である移動加速度ベクトルを示す加速度ベクトルデータをも用いて、移動ベクトルデータを算出するように構成されていてもよい。
【００１３】
前記所定の演算式は、例えば、移動加速度ベクトル+＝移動ベクトル×｜単位移動ベクトル・法線ベクトル｜であり、前記移動ベクトルデータ算出手段は、前記演算式を用いて移動ベクトルデータを算出する。
【００１４】
また、本発明の描画方法は、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画方法であって、前記複数の基準点を含む前記オブジェクトを描画する描画処理と、前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、含み、前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画することを特徴とする。
【００１５】
さらに、本発明の描画プログラムは、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画させる描画プログラムであって、コンピュータに、前記複数の基準点を含む前記オブジェクトを描画する描画処理と、前記オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理と、該作用ベクトルデータ算出処理にて算出した作用ベクトルデータと、前記オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶する法線ベクトルデータであって前記オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理と、該移動ベクトルデータ算出処理にて算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理と、実行させ、前記描画処理では、前記移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点として前記オブジェクトを描画する処理を実行させるためのものである。
【発明の効果】
【００１６】
本発明によれば、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施の形態について図面を参照して説明する。
【００１８】
図１は、本発明の一実施の形態における描画装置の一例を示すビデオゲーム装置１００の構成の例を示すブロック図である。図１に示すように、本例のビデオゲーム装置１００は、ビデオゲーム装置本体１０と、表示装置５０と、サウンド出力装置６０とを含む。ビデオゲーム装置本体１０は、例えば市販のビデオゲーム機によって構成される。また、表示装置５０は、例えばテレビジョン装置や液晶表示装置などによって構成され、画像表示部５１を有している。
【００１９】
ビデオゲーム装置本体１０は、制御部１１と、ＲＡＭ１２と、ハードディスクドライブ（ＨＤＤ）１３と、サウンド処理部１４と、グラフィック処理部１５と、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６と、通信インターフェイス１７と、インターフェイス部１８と、フレームメモリ１９と、メモリーカードスロット２０と、入力インターフェイス部２１とを含む。
【００２０】
制御部１１、ＲＡＭ１２、ハードディスクドライブ（ＨＤＤ）１３、サウンド処理部１４、グラフィック処理部１５、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６、通信インターフェイス１７、及びインターフェイス部１８は、それぞれ内部バス２２に接続されている。
【００２１】
制御部１１は、ＣＰＵやＲＯＭなどを含み、ＨＤＤ１３や記憶媒体７０に格納された制御プログラムに従ってビデオゲーム装置１００全体の制御を行う。制御部１１は、タイマ割り込みを発生させるため等に用いられる内部タイマを備えている。ＲＡＭ１２は、制御部１１のワークエリアとして用いられる。ＨＤＤ１３は、制御プログラムや各種のデータを保存するための記憶領域である。
【００２２】
サウンド処理部１４は、例えばスピーカによって構成されるサウンド出力装置６０に接続される。サウンド処理部１４は、制御プログラムに従って処理を実行している制御部１１からのサウンド出力指示に従って、サウンド出力装置６０に対してサウンド信号を出力する。なお、サウンド出力装置６０は、表示装置５０あるいはビデオゲーム装置本体１０に内蔵されていてもよい。
【００２３】
グラフィック処理部１５は、画面表示がなされる画像表示部５１を有する表示装置５０に接続される。グラフィック処理部１５は、制御部１１からの描画命令に従って、フレームメモリ１９に画像を展開するとともに、画像表示部５１に画像を表示させるためのビデオ信号を表示装置５０に対して出力する。ビデオ信号によって表示される画像の切替時間は、例えば、１フレームあたり１／３０秒とされる。
【００２４】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１６には、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどのゲーム用の制御プログラムが格納された記憶媒体７０が装着される。ＤＶＤ／ＣＤ−ＲＯＭドライブ１６は、装着された記憶媒体７０から、制御プログラムなどの各種データを読み出す処理を行う。
【００２５】
通信インターフェイス１７は、インターネットなどの通信ネットワーク８０に無線あるいは有線によって接続される。ビデオゲーム装置本体１０は、通信インターフェイス１７における通信機能を用いて、通信ネットワーク８０を介して例えば他のコンピュータとの通信を行う。
【００２６】
インターフェイス部１８には、入力インターフェイス部２１と、メモリカードスロット２０とが接続される。インターフェイス部１８は、プレイヤによるキーパッド３０の操作にもとづく入力インターフェイス部２１からの指示データをＲＡＭ１２に格納する。すると、ＲＡＭ１２に格納された指示データに従って、制御部１１が各種の演算処理を実行する。
【００２７】
また、インターフェイス部１８は、制御部１１からの指示に従って、ＲＡＭ１２に記憶されているゲームの進行状況を示すデータをメモリカードスロット２０に装着されているメモリーカード９０に格納する処理や、メモリーカード９０に保存されている中断時のゲームのデータを読み出してＲＡＭ１２に転送する処理などを行う。
【００２８】
ビデオゲーム装置１００でゲームを行うための制御プログラムなどの各種のデータは、例えば記憶媒体７０に記憶されている。記憶媒体７０に記憶されている制御プログラムなどの各種のデータは、記憶媒体７０が装着されているＤＶＤ／ＣＤ−ＲＯＭドライブ１６によって読み出され、ＲＡＭ１２にロードされる。制御部１１は、ＲＡＭ１２にロードされた制御プログラムに従って、グラフィック処理部１５に対して描画命令を出力する処理や、サウンド処理部１４に対してサウンド出力の指示を出力する処理などの各種の処理を実行する。なお、制御部１１が処理を実行している間は、ワークメモリとして用いられるＲＡＭ１２に、ゲームの進行状況によって中間的に発生するデータ（例えば、ゲームの得点、プレイヤキャラクタの状態を示すデータなど）が保存される。
【００２９】
この実施の形態に係る３次元ビデオゲームは、仮想３次元空間に設けられたフィールド上でゲームが進行していくものであるものとする。なお、フィールドが形成された仮想３次元空間は、ワールド座標系によって示されるものとする。フィールドは、複数の面で構成され、各構成面の頂点の座標を特徴点として表したものである。
【００３０】
次に、本例のビデオゲーム装置１００の動作について説明する。
ここでは、説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。なお、本例では、ＲＰＧについてのビデオゲーム制御が実行されるものとする。
【００３１】
図２は、本例のビデオゲーム装置１００におけるメイン処理の例を示すフローチャートである。メイン処理は、１フレーム分の画像を生成するための処理、及びビデオゲームの制御に必要な処理であり、１／３０秒ごとのタイマ割り込みに応じて実行される。なお、「１／３０秒ごと」は一例であり、メイン処理は、例えば、１フィールド期間（１／６０秒）ごとのタイマ割り込みに応じて実行されるものとしても、処理量によっては２フレーム期間（１／１５秒）ごとのタイマ割り込みに応じて実行されるものとしてもよい。
【００３２】
メイン処理において、制御部１１は、ゲーム開始前であればプレイヤによるキーパッド３０の操作によりゲームの開始指示があったか否かを判定し、ゲームの実行中であれば場面変更（例えばフィールドの変更）を行うタイミングとなったか否かを判定する（ステップＳ１０１）。場面変更を行うタイミングは、例えば、これまで画像表示部５１に表示していた場面（例えば、仮想３次元空間によって表されている場面）を終了し、新たな場面に切り替えるために、画像表示部５１に新たな場面を示す仮想３次元空間を表示するタイミングを意味する。
【００３３】
ゲームの開始指示があったと判定したとき、あるいは場面変更を行うタイミングとなったと判定したときは（ステップＳ１０１のＹ）、制御部１１は、制御プログラムに従って、初期画面（ゲーム開始時の初期画面、場面変更時の初期画面）を決定する（ステップＳ１０２）。なお、ゲームに用いられる画面やキャラクタなどの各種のデータは、記憶媒体７０に格納されている。
【００３４】
次いで、制御部１１は、仮想カメラの視点の位置、視軸の方向、および視角の大きさを、制御プログラムに従って決定し、透視変換を行うための仮想カメラの初期設定を行う（ステップＳ１０３）。そして、ステップＳ１１５に移行する。
【００３５】
ゲームの実行中であり場面変更を行うタイミングでないと判定したときは（ステップＳ１０１のＮ）、制御部１１は、プレイヤによるキーパッド３０の操作にもとづく指示データを受け付ける（ステップＳ１０４）。ステップＳ１０４にて移動に関する行動を指示するための指示データを受け付けた場合には（ステップＳ１０５のＹ）、制御部１１は、受け付けた移動指示データに応じて移動処理を実行し（ステップＳ１０６）、移動処理に伴って派生するプレイヤキャラクタの位置情報にもとづいて移動情報を生成する（ステップＳ１０７）。そして、ステップＳ１１３に移行する。
【００３６】
ステップＳ１０４にて戦闘に関する行動を指示するための指示データを受け付けた場合には（ステップＳ１０８のＹ）、制御部１１は、受け付けたバトル指示データに応じてバトル処理を実行し（ステップＳ１０９）、バトル処理によって決定された戦闘結果や戦闘経過にもとづいてバトル情報を生成する（ステップＳ１１０）。そして、ステップＳ１１３に移行する。
【００３７】
ステップＳ１０４にてその他の指示のための指示データを受け付けた場合には（ステップＳ１１１のＹ）、制御部１１は、受け付けたその他指示データに応じた処理（例えば、会話、買物、拾得等）を実行し（ステップＳ１１２）、この処理結果に応じたその他の諸情報を生成する。そして、ステップＳ１１３に移行する。
【００３８】
ステップＳ１１３にて、制御部１１は、ステップＳ１０７にて生成した移動情報をＲＡＭ１２の所定のデータ領域に格納することにより、プレイヤキャラクタの現在位置を更新する。また、ステップＳ１１３にて、制御部１１は、ステップＳ１１０にて生成したバトル情報や、ステップＳ１１２の後に生成したその他の諸情報をＲＡＭ１２の所定のデータ領域に格納することにより、プレイヤキャラクタの各種の行動履歴を記憶保持する。
【００３９】
次いで、制御部１１は、ＲＡＭ１２に一旦格納されたプレイヤキャラクタの行動履歴を示す情報にもとづいて、行動評価処理を実行する（ステップＳ１１４）。
【００４０】
そして、制御部１１は、仮想カメラの設定内容等に応じて、仮想カメラから表示すべきプレイヤキャラクタやノンプレイヤキャラクタを含む仮想３次元空間を仮想スクリーン上に透視変換して、画像表示部５１に表示させる２次元画像を生成するための表示処理を行う（ステップＳ１１５）。表示処理を終了すると、今回のメイン処理を終了する。その後、次のフレーム期間の開始タイミングにおいてタイマ割り込みが発生すると、次回のメイン処理が実行されることとなる。そして、メイン処理が繰り返し実行されることで、キャラクタ画像がフレーム期間毎に切り替えられて、画像表示部５１にて動画が表示されることになる。
【００４１】
ここで、ステップＳ１１５の表示処理について簡単に説明する。ステップＳ１１５では、制御部１１は、先ず、プレイヤキャラクタやノンプレイヤキャラクタを含む仮想３次元空間を構成するポリゴンの頂点の座標のうち、少なくとも仮想スクリーン上に透視変換される範囲に含まれるポリゴンの頂点の座標を、ワールド座標系の座標から視点座標系の座標に変換する。次いで、制御部１１は、プレイヤキャラクタやノンプレイヤキャラクタについての視点座標系におけるポリゴンの頂点の座標とをグラフィック処理部１５に送信し、グラフィック処理部１５に対して描画命令を出力する。
【００４２】
描画命令が入力されると、グラフィック処理部１５は、視点座標系の座標にもとづいて、各面を構成する各点について、前側にある点のデータが残るようにＺバッファの内容を更新する。Ｚバッファの内容を更新すると、グラフィック処理部１５は、前側にある残った点についての画像データをフレームメモリ１９に展開する。また、グラフィック処理部１５は、展開される画像データに対して、シェーディングやテクスチャマッピングなどの処理も行う。
【００４３】
そして、グラフィック処理部１５は、フレームメモリ１９に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、表示装置５０に出力する。表示装置５０は、グラフィック処理部１５から出力されたビデオ信号に対応した画像を画像表示部５１に表示する。１フレーム時間ごとに画像表示部５１の画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタやノンプレイヤキャラクタがフィールド上を移動する様子を含む画像を見ることができる。
【００４４】
次に、本例のビデオゲーム装置１００の動作について説明する。
【００４５】
図３は、本例のビデオゲーム装置１００におけるオブジェクト描画処理の例を示すフローチャートである。ここでは、例えば図４に示すような平面状で、かつ風などの影響を受けて形状が変化するオブジェクトを描画する際の処理について説明する。なお、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。このオブジェクト描画処理は、上述した表示処理（ステップＳ１１５）の一部である。
【００４６】
オブジェクト描画処理によって描画されるオブジェクトは、例えば、旗やカーテンなどを表現するための布状オブジェクトである。このオブジェクトの構造は、本例では、例えば図５に示すように、針金細工のような輪郭線で表現した所謂「ワイヤーフレーム」によって特定され、各ワイヤの接点それぞれが基準点として把握される。すなわち、布状オブジェクトは、各ワイヤの接点それぞれを基準点とするワイヤーフレームによって表現される。このように、布状オブジェクトは、複数の基準点を含む三次元画像によって表現される。各基準点は、例えば、オブジェクトを形成するポリゴンの頂点や自由曲面の制御点などの各定義点とされる。
【００４７】
オブジェクト描画処理において、制御部１１は、先ず、描画対象となるオブジェクトにおける各基準点の座標データ及び法線ベクトルデータを、記憶媒体７０（オブジェクトの初期状態を表示する際のデータ（初期値）を読み出す場合）あるいはＲＡＭ１２（オブジェクトの変化状態を表示する際のデータを読み出す場合）から読み出す（ステップＳ２０１）。法線ベクトルデータは、例えば図６に示すように、該当する基準点におけるオブジェクトの面の向きをそれぞれ特定するために、その基準点の法線ベクトルを示すデータである。オブジェクトにおける各基準点の座標データ及び法線ベクトルデータは、その初期値が記憶媒体７０からＲＡＭ１２に読み出され、ＲＡＭ１２上に設けられた法線ベクトルデータ管理領域にて管理される。
【００４８】
次に、制御部１１は、作用ベクトルデータを算出する（ステップＳ２０２）。作用ベクトルデータは、オブジェクトの外形変化に影響を及ぼす風向きや風力などの作用の内容（向き、強さ）を示すベクトルデータである。本例では、作用ベクトルデータは、作用の要因となる風データ（風向き、風力）にもとづいて算出されるものとする。
【００４９】
次いで、制御部１１は、描画対象となるオブジェクトにおける各基準点の加速度ベクトルデータが後述する加速度ベクトルデータ管理領域に記憶されていれば、その加速度ベクトルデータをＲＡＭ１２から読み出す（ステップＳ２０３）。加速度ベクトルデータは、それぞれ、描画対象となるオブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示すベクトルデータである。オブジェクトにおける各基準点の加速度ベクトルデータは、ＲＡＭ１２上に設けられた加速度ベクトルデータ管理領域にて管理される。
【００５０】
次に、制御部１１は、所定の演算式に当てはめて、各基準点の移動ベクトルを算出する（ステップＳ２０４）。本例では、所定の演算式として、下記の式１が用いられる。すなわち、制御部１１は、式１を用いて、「単位移動ベクトル(windNormal)」と「法線ベクトル(crsNormal)」との内積の絶対値(abs)を求め、その結果と移動ベクトル(windVector)との積を算出し、移動加速度ベクトル(crsVelocity)が読み出されていれば移動加速度ベクトルを加算することで、各基準点の移動ベクトルを算出する。なお、移動加速度ベクトル(crsVelocity)が読み出されていなければ、「単位移動ベクトル(windNormal)」と「法線ベクトル(crsNormal)」との内積の絶対値(abs)と、移動ベクトル(windVector)との積を、各基準点の移動ベクトルとして算出する。
【００５１】
【数１】
2008217352.tif 000003
【００５２】
具体的には、制御部１１は、例えば図７（Ａ）に示すようなある基準点の法線ベクトル(crsNormal)と単位移動ベクトルである風単位ベクトル(windNormal)について、図７（Ｂ）に示すような内積ベクトルを求める。そして、制御部１１は、その内積ベクトルが示す値の絶対値(abs)を求め、その結果と移動ベクトルである風ベクトル(windVector)との積（図７（Ｃ）参照）算出し、移動加速度ベクトル(crsVelocity)が読み出されていれば移動加速度ベクトルを加算（図７（Ｄ）参照）することで、各基準点の移動ベクトルを算出する。このような演算処理を、制御部１１は、各基準点について実行する。
【００５３】
各基準点の移動ベクトルを算出すると、制御部１１は、ステップＳ２０１で読み出した各基準点の座標データと算出した各基準点の移動ベクトルとを用いて、各基準点の移動位置を算出する（ステップＳ２０５）。各基準点の移動位置である新基準点は、例えば図８に示すように、旧基準点から該当する移動ベクトルが示す向き及び大きさ（長さ）だけ移動した点となる。
【００５４】
そして、制御部１１は、算出した移動位置を基準点として、オブジェクトを描画する（ステップＳ２０６）。
【００５５】
上記のステップＳ２０１〜ステップＳ２０６の処理を繰り返し実行することで、制御部１１は、風などの外的要因によってオブジェクトが例えば図９に示すように揺らめいている様子を表示装置５０の表示画面５１に表示する。
【００５６】
以上に説明したように、上述した一実施の形態では、オブジェクトに含まれる複数の基準点それぞれの法線ベクトルを示す法線ベクトルデータを記憶するＲＡＭ１２及び記憶媒体７０を備え、制御部１１が、複数の基準点を含む三次元画像によって表現されるオブジェクトを描画する描画処理（ステップＳ２０６）と、オブジェクトの外形に影響を及ぼす風などの作用の内容を示す作用ベクトルを示す作用ベクトルデータを算出する作用ベクトルデータ算出処理（ステップＳ２０２）と、算出した作用ベクトルデータと、オブジェクトに含まれる各基準点の法線ベクトルを示す法線ベクトルデータとにもとづいて、所定の演算式を用いて、当該各基準点それぞれの移動先を特定可能な移動ベクトルデータを算出する移動ベクトルデータ算出処理（ステップＳ２０４）と、算出した各基準点それぞれの移動先を示す移動点を算出する移動点算出処理（ステップＳ２０５）と、を実行し、描画処理にて、移動点算出処理にて算出したそれぞれの移動点に対応するそれぞれの基準点を移動させ、当該移動点を新たな基準点としてオブジェクトを描画する構成としたので、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるようになる。
【００５７】
すなわち、布などの平面状のオブジェクトが風などによって揺らめく様子をリアルに表現する際の、制御部１１の表示制御負担を軽減することができる。
【００５８】
また、上述した実施の形態では、複数の基準点を含む三次元画像によって表現されるオブジェクトに含まれる複数の基準点それぞれの移動加速度である移動加速度ベクトルを示す加速度ベクトルデータを記憶するＲＡＭ１２を備え、制御部１１が、移動ベクトルデータ算出処理（ステップＳ２０４）にて、オブジェクトに含まれる各基準点の移動加速度である移動加速度ベクトルを示す加速度ベクトルデータをも用いて、移動ベクトルデータを算出する構成としているので、オブジェクトが風などによって揺らめく様子を加速度ベクトルをも考慮してリアルに表現することが可能となる。
【００５９】
また、上述した実施の形態では、所定の演算式は、移動加速度ベクトル+＝移動ベクトル×｜単位移動ベクトル・法線ベクトル｜であり、制御部１１が、移動ベクトルデータ算出処理（ステップＳ２０４）にて、その演算式を用いて移動ベクトルデータを算出するように構成しているので、布などの平面状のオブジェクトが風などによって揺らめく様子を、各基準点における法線ベクトルやゲーム中の仮想世界で吹いている風などによる作用ベクトルを用いた簡単な演算でリアルに表現することができるようになり、ビデオゲームのようなオブジェクトの描画を短時間で完成させる必要があるものについても対応することが可能となる。すなわち、ビデオゲームにおけるオブジェクトの描画を簡単で高速に行うことが可能となる。
【００６０】
なお、上述した実施の形態では、複数の基準点を含む三次元画像によって表現されるオブジェクトを表示する描画装置の例として、ビデオゲーム装置１００を挙げて説明していたが、オブジェクトを表示するものであれば、どのような装置であっても好適に適用することができる。
【産業上の利用可能性】
【００６１】
本発明によれば、布などの平面状のオブジェクトが風などによって揺らめく様子を、簡単な演算でリアルに表現することができるビデオゲーム装置などの描画装置に適用するのに有用である。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施の形態におけるビデオゲーム装置の構成例を示すブロック図である。
【図２】メイン処理の例を示すフローチャートである。
【図３】オブジェクト描画処理の例を示すフローチャートである。
【図４】布などの平面状のオブジェクトを正面からみた正面図である。
【図５】ワイヤーフレームによって表現されたオブジェクトの例を示す説明図である。
【図６】オブジェクトにおける各基準点に設定された法線ベクトルの例を示す説明図である。
【図７】ベクトル演算の例を説明するための説明図である。
【図８】旧基準点と新基準点とを説明するための説明図である。
【図９】布などの平面状のオブジェクトが揺らめいている様子を正面からみた正面図である。
【符号の説明】
【００６３】
１０    ビデオゲーム装置本体
１１    制御部
１２    ＲＡＭ
１３    ＨＤＤ
１４    サウンド処理部
１５    グラフィック処理部
１６    ＤＶＤ／ＣＤ−ＲＯＭ
１７    通信インターフェイス
１８    インターフェイス部
１９    フレームメモリ
２０    メモリーカードスロット
２１    入力インターフェイス部
２２    内部バス
３０    キーパッド
５０    表示装置
５１    画像表示部
６０    サウンド出力装置
７０    記憶媒体
８０    通信ネットワーク
９０    メモリーカード
１００  ビデオゲーム装置
【図１】
2008217352.tif 000004
【図２】
2008217352.tif 000005
【図３】
2008217352.tif 000006
【図４】
2008217352.tif 000007
【図５】
2008217352.tif 000008
【図６】
2008217352.tif 000009
【図７】
2008217352.tif 000010
【図８】
2008217352.tif 000011
【図９】
2008217352.tif 000012