JP2009251883A - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents
画像生成システム、プログラム及び情報記憶媒体 Download PDFInfo
- Publication number
- JP2009251883A JP2009251883A JP2008098473A JP2008098473A JP2009251883A JP 2009251883 A JP2009251883 A JP 2009251883A JP 2008098473 A JP2008098473 A JP 2008098473A JP 2008098473 A JP2008098473 A JP 2008098473A JP 2009251883 A JP2009251883 A JP 2009251883A
- Authority
- JP
- Japan
- Prior art keywords
- movement vector
- moving object
- movement
- frame
- program
- 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.)
- Withdrawn
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】より少ない処理負荷で、各キャラクタの様々な動きを実現して群れの動きをリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供する。
【解決手段】移動ベクトル演算部112が、当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルRV−jを求める。過去ベクトル記憶部172が、当該フレームより過去のフレームにおいて求められた移動体オブジェクトの第3の移動ベクトルMV_jを記憶する。移動ベクトル演算部112はさらに、第2の移動ベクトルMV_jと、第1の移動ベクトルRV−jとに基づいて、当該フレームでの移動体オブジェクトMobj_kの第3の移動ベクトルMV_kを求める。そして、画像生成部130が、当該フレームにおいて、オブジェクト空間を、前記第3の移動ベクトルを用いて移動する移動体オブジェクトの画像を生成する。
【選択図】図2
【解決手段】移動ベクトル演算部112が、当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルRV−jを求める。過去ベクトル記憶部172が、当該フレームより過去のフレームにおいて求められた移動体オブジェクトの第3の移動ベクトルMV_jを記憶する。移動ベクトル演算部112はさらに、第2の移動ベクトルMV_jと、第1の移動ベクトルRV−jとに基づいて、当該フレームでの移動体オブジェクトMobj_kの第3の移動ベクトルMV_kを求める。そして、画像生成部130が、当該フレームにおいて、オブジェクト空間を、前記第3の移動ベクトルを用いて移動する移動体オブジェクトの画像を生成する。
【選択図】図2
Description
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
画像生成システム(ゲームシステム)の処理速度が向上し、画面上により多くのキャラクタを表示できるようになっている。例えばゲーム画像のエフェクト効果として、動物や虫などの群れを表現した画像を表示することで、リアルさを高めることができる。
群れを表現する画像の生成にはリアルタイム性が要求される。そのため、群れを構成する複数のキャラクタをそれぞれ別個に処理すると、他の処理を圧迫してしまう。従って、より少ない負荷で、リアルな群れを表現する画像を生成できることが望ましい。
例えば特許文献1には、群れの中の1つのキャラクタをリーダーとして決定し、このリーダーに、この群れの他のキャラクタを追従させることで、処理負荷を軽減する方策が開示されている。
特開2000−172868号公報
しかしながら、特許文献1に開示された方策では、群れ全体の動きを表現できるものの、群れの中のキャラクタの個々の細かい動きを表現することが難しい。群れの中のキャラクタの個々の細かい動きを表現できれば、よりリアルな画像を生成できる。そこで、キャラクタの種類に応じて異なる行動パターンを各キャラクタに反映させることが考えられる。
ところが、キャラクタの種類ごとに行動パターンを指定すると、データ量の増大や処理の複雑化を招く。また、多種多様なキャラクタの動きを実現することがますます困難となる。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、より少ない処理負荷で、各キャラクタの様々な動きを実現して群れの動きをリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
(1)本発明は、
画像を生成する画像生成システムであって、
当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルを求める移動ベクトル演算部と、
当該フレームより過去のフレームにおいて求められた移動体オブジェクトの第3の移動ベクトルを当該フレームにおける第2の移動ベクトルとして記憶する過去ベクトル記憶部と、を含み、
前記移動ベクトル演算部はさらに、前記第2の移動ベクトルと、前記第1の移動ベクトルとに基づいて、当該フレームでの前記移動体オブジェクトの第3の移動ベクトルを求め、当該フレームにおいて、オブジェクト空間を、前記第3の移動ベクトルを用いて移動する前記移動体オブジェクトの画像を生成する画像生成部を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
画像を生成する画像生成システムであって、
当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルを求める移動ベクトル演算部と、
当該フレームより過去のフレームにおいて求められた移動体オブジェクトの第3の移動ベクトルを当該フレームにおける第2の移動ベクトルとして記憶する過去ベクトル記憶部と、を含み、
前記移動ベクトル演算部はさらに、前記第2の移動ベクトルと、前記第1の移動ベクトルとに基づいて、当該フレームでの前記移動体オブジェクトの第3の移動ベクトルを求め、当該フレームにおいて、オブジェクト空間を、前記第3の移動ベクトルを用いて移動する前記移動体オブジェクトの画像を生成する画像生成部を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
ここでフレームは、シミュレーション処理や画像処理を行う時間単位である。
本発明によれば、過去のフレームでの動きを加味し、かつランダムな方向に向かう移動体オブジェクトの動きを表現できる。そして、このような移動体オブジェクトを複数表示させることで、虫等の群れをよりリアルに表現できる。
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動ベクトル演算部が、前記第3の移動ベクトルを、所与の方向範囲に収まるように求めてもよい。
本発明によれば、過去のフレームの移動ベクトルとの関係で、方向範囲を定めることで、ランダムな要素を加えつつ、自然な向きに移動する移動体オブジェクトを表現できる。
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動ベクトル演算部が、前記所与の方向範囲を、前記移動体オブジェクトの特性に関連付けて変更してもよい。
このようにすれば、方向範囲をパラメータ化できるので、処理の簡素化、プログラムやデータの容量の削減、移動体オブジェクトの表現の多様化を実現できる。
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動ベクトル演算部が、前記移動体オブジェクトの特性に関連付けられた参照率パラメータに基づいて前記第1の移動ベクトルと前記第2の移動ベクトルとを補間して、前記第3の移動ベクトルを求めてもよい。
本発明によれば、過去のフレームの移動ベクトルの参照する度合いを変化させて、移動体オブジェクトに、雑な動きや猪突猛進的な動きを行わせることができるので、群れて移動する移動体オブジェクトがそれぞれ微妙に異なる動きをして、群れ全体としてよりリアルな動きを表現できる。
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動ベクトル演算部が、所与の移動距離範囲内でランダムに求められる長さを有する前記第3の移動ベクトルを求めてもよい。
本発明によれば、移動体オブジェクトに、もたつく動きや突進する動きを行わせることができるので、群れて移動する複数の移動体オブジェクトがそれぞれ微妙に異なる動きをして、群れ全体としてよりリアルな動きを表現できる。
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動ベクトル演算部が、前記所与の移動距離範囲を、前記移動体オブジェクトの特性に関連付けて変更してもよい。
このようにすれば、移動距離範囲をパラメータ化できるので、処理の簡素化、プログラムやデータの容量の削減、移動体オブジェクトの表現の多様化を実現できる。
(7)また本発明は、画像を生成するための画像生成システムであって、オブジェクト空間を移動する移動体オブジェクトの停止イベントをランダムに発生するイベント処理部と、前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定する移動体オブジェクト停止制御部と、前記オブジェクト空間の前記移動体オブジェクトの画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト停止制御部が、前記停止イベントが発生したとき、ランダムに設定された時間が経過するまで前記移動体オブジェクトを停止状態に設定してもよい。
本発明によれば、ランダムに発生する停止イベントにより、移動体オブジェクトに警戒感をもった動きを行わせることができるので、群れて移動する複数の移動体オブジェクトがそれぞれ微妙に異なる動きをして、群れ全体としてよりリアルな動きを表現できる。
(9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト停止制御部が、前記停止イベントの発生率を、前記移動体オブジェクトの特性に関連付けて変更してもよい。
このようにすれば、停止イベントの発生率をパラメータ化できるので、処理の簡素化、プログラムやデータの容量の削減、移動体オブジェクトの表現の多様化を実現できる。
以下、本実施形態について説明する。
なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素(各部)を全て含む必要はなく、その一部(例えば操作部160、携帯型情報記憶装置194又は通信部196等)を省略した構成としてもよい。
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素(各部)を全て含む必要はなく、その一部(例えば操作部160、携帯型情報記憶装置194又は通信部196等)を省略した構成としてもよい。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサ、タッチパネル型ディスプレイ、或いは筺体などのハードウェアにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶(記録、格納)される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。ここで処理部100が行うゲーム処理としては、ゲーム開始条件(コースやマップやキャラクタや参加プレーヤ人数の選択等)が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。また処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)やASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
処理部100は、移動体オブジェクト制御部110、イベント処理部120、画像生成部130、音生成部140を含む。なおこれらの一部を省略してもよい。
移動体オブジェクト制御部110は、移動体オブジェクトを制御する処理を行う。オブジェクト空間内に複数の移動体オブジェクトを設定し、以下に述べるパラメータにより同種の行動パターンを行わせることで、群れて行動する様子を表現できる。
移動体オブジェクト制御部110は、移動体オブジェクトの移動情報(移動ベクトル、位置情報、方向情報、速度情報或いは加速度情報)を求める処理を行う。移動体オブジェクト制御部110は、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、移動体オブジェクトをオブジェクト空間内で移動させる処理を行う。
より具体的には、移動体オブジェクト制御部110は、求めた移動ベクトルに応じて、移動体オブジェクトの位置や回転角度(方向)を例えば1フレーム(1/60秒等)毎に変化させる。例えば(k−1)フレームでの移動体オブジェクトの位置(X、Y又はZ座標)、回転角度(X、Y又はZ軸回りの回転角度)をPk-1、θk-1とし、移動体オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転角度)をΔP、Δθとする。すると、kフレームでの移動体オブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
Pk=Pk-1+ΔP (1)
θk=θk-1+Δθ (2)
なお移動体オブジェクト制御部110で行われる処理は、上式(1)、(2)の処理に限定されず、(1)、(2)式と均等な処理でもよい。
θk=θk-1+Δθ (2)
なお移動体オブジェクト制御部110で行われる処理は、上式(1)、(2)の処理に限定されず、(1)、(2)式と均等な処理でもよい。
移動体オブジェクト制御部110は、移動ベクトル演算部112、移動体オブジェクト停止制御部116を含む。
移動ベクトル演算部112は、当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルを求める。より具体的には、移動ベクトル演算部112は、所定のアルゴリズムで乱数系列を用いて求められた方向を有する第1の移動ベクトルを求める。第1の移動ベクトルを用いて移動体オブジェクトを、オブジェクト空間内で移動させることで、群れて行動する複数の移動体オブジェクトの個々の動きをよりリアルに表現できる。
移動ベクトル演算部112は、さらに、求められた第1の移動ベクトルと当該移動体オブジェクトに付与された特性(性質、属性)に応じた参照率パラメータと、第2の移動ベクトルとに基づいて当該フレームにおける第3の移動ベクトルを算出する。
移動体オブジェクトの特性を定める移動体オブジェクトの特性情報は、記憶部170のオブジェクト特性記憶部174に格納される。移動体オブジェクトの特性情報は、当該移動体オブジェクトの第1の移動ベクトルの参照率を指定するパラメータを含む。移動体オブジェクトの特性は、第1の移動ベクトルの参照率を指定するパラメータを含む複数のパラメータによって定められる。
移動ベクトル演算部112は、オブジェクト特性記憶部174に記憶された移動体オブジェクトの特性情報を用いて、第3の移動ベクトルを当該オブジェクトの特性に応じて求める。なお、移動体オブジェクトには、特性が予め付与されてもよいし、処理中に変更できるようにしてもよい。
より具体的には、当該フレームより過去のフレームにおいて求められた当該移動体オブジェクトの第3の移動ベクトルは、記憶部170の過去ベクトル記憶部172に記憶される。そして、移動ベクトル演算部112は、過去ベクトル記憶部172に記憶された過去ベクトルを当該移動体オブジェクトの第2の移動ベクトルとして、当該フレームにおいて求められた当該移動体オブジェクトの第1の移動ベクトルとその参照率とに基づいて、当該フレームにおける移動体オブジェクトの第3の移動ベクトルを求める。
移動ベクトル演算部112は、求められた第3の移動ベクトルを所与の方向範囲に収まるように補正する。移動ベクトル演算部112は、この方向範囲を、当該移動体オブジェクトに付与された特性に応じて補正する。即ち、移動体オブジェクトの特性情報は、当該移動体オブジェクトの第3の移動ベクトルの方向範囲を指定するパラメータを含む。
具体的には、求められた第3の移動ベクトルが、当該移動体オブジェクトの方向範囲外になった場合は、当該移動体オブジェクトの第1の移動ベクトルに付与された参照率よりもさらに低い参照率に基づき、第3の移動ベクトルを再演算することで、第3の移動ベクトルが当該移動オブジェクトの方向範囲内に収まるように補正する。
第3の移動ベクトルを用いて移動体オブジェクトを、オブジェクト空間内で移動させることで、当該フレームより過去のフレームにおける移動体オブジェクトの動きを反映させ、自然な動きを表現できる。
また、移動ベクトル補正部112は、所与の移動距離範囲内でランダムに求められる長さを有する第3の移動ベクトルを求めることができる。移動ベクトル補正部112は、この移動距離範囲を、当該移動体オブジェクトに付与された特性に応じて変更する。即ち移動体オブジェクトの特性情報は、移動距離範囲を指定するためのパラメータを含み、移動ベクトル補正部112は、オブジェクト特性記憶部174に記憶された移動距離範囲を指定するためのパラメータを用いて、所与の移動距離範囲内でランダムに求められる長さを有する第3の移動ベクトルを求めることができる。
移動体オブジェクト停止制御部116は、当該移動体オブジェクトに対して発生した停止イベントに対応した処理を行う。より具体的には、移動体オブジェクトに対して停止イベントが発生した場合、移動体オブジェクト停止制御部116は、当該移動体オブジェクトを、所与のフレーム数の間、停止状態に設定する。ここで停止状態は、例えばオブジェクト空間内における当該移動体オブジェクトの位置が複数フレームにわたって固定される状態である。移動体オブジェクト停止制御部116は、例えばランダムに求められる期間、当該移動体オブジェクトを停止状態に設定することができる。また、移動体オブジェクト停止制御部116は、当該移動体オブジェクトの特性に応じて停止イベントの発生率を変更して、該発生率に基づいて求められる期間、当該移動体オブジェクトを停止状態に設定することができる。この場合、停止状態に設定される期間は、当該移動体オブジェクトの特性に応じて決まるフレーム数にランダムに求められる係数を掛け合わせて求められる。このような停止イベントの発生により、例えば移動体オブジェクトの警戒感のある動きを表現でき、この移動体オブジェクトの動きにより表される群れの動きを、よりリアルにすることができる。
イベント処理部120は、オブジェクト空間を移動する移動体オブジェクトの停止イベントをランダムに発生する。停止イベントの発生率は、当該移動体オブジェクトに付与された特性により決められることが望ましい。この場合、停止イベントの発生率は、当該移動体オブジェクトに付与された特性により決められる発生率に、ランダムに求められた係数を掛け合わせることで求められる。
画像生成部130は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。即ち、移動体オブジェクト制御部110の処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。より具体的には、3次元画像を生成する場合には、まず座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理を行って、その処理結果に基づいて、描画データが作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数のプリミティブ面)を、描画バッファ176(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
2. 本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
次に本実施形態の手法について図面を用いて説明する。
2.1 移動ベクトルの生成
図2に、本実施形態の説明図を示す。
図2に、本実施形態の説明図を示す。
図2では、当該フレームであるk(kは1以上の整数)フレームにおける移動体オブジェクト及び移動ベクトルにkを付して示す。また、当該フレームより過去のフレームであるj(j<k、jは正の整数)フレームにおける移動ベクトルにjを付して示す。jは例えば(k−1)である。さらに、当該フレームより未来のフレームであるl(k<l、lは正の整数)フレームにおける移動体オブジェクトにlを付して示す。lは例えば(k+1)である。
本実施形態では、まずjフレームにおける移動体オブジェクトMOBJ_j(図示しない)の移動ベクトルMV_j(jフレームにおける第3の移動ベクトル)が、過去ベクトル記憶部172に格納される。即ち、jフレームにおける第3の移動ベクトルが、kフレームにおける第2の移動ベクトルとなる。
そして、当該フレームであるkフレームになると、移動ベクトル演算部112が、その方向がランダムに決められる第1の移動ベクトルRV_kを求める。さらに、移動ベクトル演算部112は、第2の移動ベクトルMV_jと、第1の移動ベクトルRV−kとに基づいて、当該フレームでの移動体オブジェクトMOB_kの第3の移動ベクトルMV_kを求める。
そして、画像生成部130が、kフレーム(当該フレーム)において、オブジェクト空間を第3の移動ベクトルMV−kを用いて移動する移動体オブジェクトMOBJ_lの画像を生成し、lフレーム(次フレーム)において表示する。こうすることで、過去のフレームでの動きを加味し、かつランダムな方向に向かう移動体オブジェクトの動きを表現できる。
したがって、このような移動体オブジェクトを複数表示させることで、虫等の群れをよりリアルに表現できる。
本実施形態では、以下のように各移動体オブジェクトの動きを表現するための要素をパラメータ化する。そして、表現したい移動体オブジェクトの特性に対応したパラメータ設定により、複数の移動体オブジェクトによる群れの動きを実現する。こうすることで、群れの動きをより少ない処理負荷で多様化し、かつよりリアルにすることができる。
2.2 パラメータ化
2.2.1 行動タイプ
本実施形態では、複数の移動体オブジェクトにより構成される群れの動きを実現するため、ターゲットがオブジェクト空間内に設定される。そして、各移動体オブジェクトがターゲットに対してどのように行動するかを設定する。これにより、同種の行動を行う複数の移動体オブジェクトが群れて行動する様子を表現する画像を生成することができる。
2.2.1 行動タイプ
本実施形態では、複数の移動体オブジェクトにより構成される群れの動きを実現するため、ターゲットがオブジェクト空間内に設定される。そして、各移動体オブジェクトがターゲットに対してどのように行動するかを設定する。これにより、同種の行動を行う複数の移動体オブジェクトが群れて行動する様子を表現する画像を生成することができる。
本実施形態では、移動体オブジェクトに対して行動タイプを指定するパラメータを設ける。行動タイプには、ターゲットを見つけるSEARCHタイプと、ターゲットから逃げるESCAPEタイプとがある。
図3(A)、(B)に、行動タイプを説明するための図を示す。図3(A)は、SEARCHタイプの移動体オブジェクトの行動パターンを模式的に示す。図3(B)は、ESCAPEタイプの移動体オブジェクトの行動パターンを模式的に示す。
SEARCHタイプの移動体オブジェクトは、オブジェクト空間において、ターゲットの位置に近付く方向に移動する。より具体的には、行動タイプがSEARCHタイプに設定された移動体オブジェクトMOBJ1〜MOBJ3は、例えば各移動体オブジェクトからターゲットTGに向かう移動ベクトルMV1〜MV3を用いて移動する。なお移動ベクトルは、後述するように補正することで、各移動体オブジェクトがターゲットTGの位置に、よりリアルな動きで近付いてく。このようなSEARCHタイプの複数の移動体オブジェクトにより、例えばターゲットの位置に配置された敵キャラクタに対して群れで攻撃を加えるといった表現が可能となる。
ESCAPEタイプの移動体オブジェクトは、オブジェクト空間において、ターゲットの位置から遠ざかる方向に移動する。より具体的には、行動タイプがESCAPEタイプに設定された移動体オブジェクトMOBJ1〜MOBJ4は、例えば各移動体オブジェクトからターゲットTGへの方向とは反対の方向の移動ベクトルMV1〜MV4を用いて移動する。なお移動ベクトルは、後述するように補正することで、各移動体オブジェクトが、ターゲットTGの位置からよりリアルな動きで遠ざかったり、或いは所定の距離を置くようになる。このようなESCAPEタイプの複数の移動体オブジェクトにより、例えばターゲットの位置に配置されたキャラクタを避ける群れを表現できる。
なお、操作部160からの操作データやプログラムに基づいて、オブジェクト空間内のターゲットTGの位置を変化させることで、ターゲットTGを常に追いかける群れや、ターゲットTGを避けたり、或いは逃げ回る複数の移動体オブジェクトによる群れを表現できる。
ここで、各移動体オブジェクトに、例えば虫キャラクタA、虫キャラクタB、虫キャラクタCの3種類の虫の特性を付与した場合の群れの動きを表現することを考える。
図4に、各移動体オブジェクトに虫キャラクタAの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
虫キャラクタAは、例えば海辺の岩等の上で群れをなして動くフナムシの動きを実現する。この虫キャラクタA(フナムシ)の動きを表現するため、各移動体オブジェクトの行動タイプをESCAPEタイプに設定する。そして、図4に示すようにオブジェクト空間に設定され起伏に富んだ地形マップGMAP上に、ターゲットTGと複数の移動体オブジェクトを配置する。
この場合、ターゲットTGの位置に近付かない群れを表現できる。例えば、ターゲットTGの位置を中心に所定のエリア内でのみ、ターゲットTGから移動体オブジェクトが遠ざかるようにすれば、図4に示すように所定のエリア内に近付かない群れの動きを表現できる。
図5に、各移動体オブジェクトに虫キャラクタBの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
虫キャラクタBは、例えば群れをなさず、素早い動きで四方八方を動き回るゴキブリの動きを実現する。この虫キャラクタB(ゴキブリ)の動きを表現するため、各移動体オブジェクトの行動タイプをESCAPEタイプに設定する。そして、図5に示すようにオブジェクト空間に設定され起伏に富んだ地形マップGMAP上に、ターゲットTGと複数の移動体オブジェクトを配置する。
ただし、図4に示す虫キャラクタA(フナムシ)を表現する場合と異なるのは、後述する各種パラメータを変更することで、同じESCAPEタイプであっても、異なる動きをリアルに表現できる。
この場合、ターゲットTGの位置に近付かない群れを表現できるが、素早い動きで、統制されることなく、あちこち動き回る群れの動きを表現できる。
図6に、各移動体オブジェクトに虫キャラクタCの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
虫キャラクタCは、例えば嗜好物に猪突猛進的に素早い動きで近付くスカラベの動きを実現する。この虫キャラクタC(スカラベ)の動きを表現するため、各移動体オブジェクトの行動タイプをSEARCHタイプに設定する。そして、図6に示すようにオブジェクト空間に設定され起伏に富んだ地形マップGMAP上に、ターゲットTGと複数の移動体オブジェクトを配置する。
この場合、ターゲットTGの位置に近付く群れを表現できる。例えば、ターゲットTGの位置を動かせば、ターゲットTGを追跡する群れの動きを表現できる。
次に、各移動体オブジェクトの動きをよりリアルに表現するための各種パラメータについて説明する。
2.2.2 参照率パラメータ
移動ベクトル演算部112は、参照率パラメータに基づいて第1及び第2の移動ベクトルを補間して第3の移動ベクトルを求めることで、より多様な動きを表現できる。ここで参照率パラメータは、第1又は第2の移動ベクトルの影響をどれだけ反映させるかを設定するためのパラメータである。
移動ベクトル演算部112は、参照率パラメータに基づいて第1及び第2の移動ベクトルを補間して第3の移動ベクトルを求めることで、より多様な動きを表現できる。ここで参照率パラメータは、第1又は第2の移動ベクトルの影響をどれだけ反映させるかを設定するためのパラメータである。
以下では、第1の移動ベクトルの影響を反映させるための参照率パラメータについて説明するが、本実施形態はこれに限定されるものではない。
図9に、参照率パラメータについて説明するための図を示す。
参照率パラメータをαとすると、第3の移動ベクトルMV_kは、次の(3)式のように求められる。
MV_k=MV_j+α・RV−j (3)
したがって、参照率パラメータαが0のとき、第1の移動ベクトルRV−jを全く参照することなく、第3の移動ベクトルMV_kは、第2の移動ベクトルMV_jのままとなる。一方、参照率パラメータαが1のとき、第3の移動ベクトルMV_kは、第1の移動ベクトルRV−jと第2の移動ベクトルMV_jの和となる。即ち、図9に示す範囲RefRで、第3の移動ベクトルMV_kを求める。
したがって、参照率パラメータαが0のとき、第1の移動ベクトルRV−jを全く参照することなく、第3の移動ベクトルMV_kは、第2の移動ベクトルMV_jのままとなる。一方、参照率パラメータαが1のとき、第3の移動ベクトルMV_kは、第1の移動ベクトルRV−jと第2の移動ベクトルMV_jの和となる。即ち、図9に示す範囲RefRで、第3の移動ベクトルMV_kを求める。
このような参照率パラメータの設定値に応じて、移動体オブエジェクが滑らかな動きでターゲットTGの位置に向かったり若しくはターゲットTGの位置から遠ざかったり、或いは雑な動きでターゲットTGの位置に向かったり若しくはターゲットTGの位置から遠ざかったりする様子を表現できる。
例えば虫キャラクタC(スカラベ)のように目標物に向かって突進する場合には、参照率パラメータを0にして、ランダム性なく目標物に向かう動きを実現できる。
2.2.3 ベクトル規制
第3の移動ベクトルは、その方向がランダムに決められる第1の移動ベクトルによる影響を受けるため、移動ベクトル演算部112は、第3の移動ベクトルを所与の方向範囲に収まるように補正する。本実施形態では、方向範囲を定めるためのパラメータを設ける。
第3の移動ベクトルは、その方向がランダムに決められる第1の移動ベクトルによる影響を受けるため、移動ベクトル演算部112は、第3の移動ベクトルを所与の方向範囲に収まるように補正する。本実施形態では、方向範囲を定めるためのパラメータを設ける。
図7に、第3の移動ベクトルの方向範囲を説明するための図を示す。
このように、第3の移動ベクトルMV_kは、第2の移動ベクトルに線対称な正負の方向範囲±AngRに収まるように補正する。具体的には、第3の移動ベクトルMV_kが方向範囲±AngRの範囲に収まらない場合は、参照率パラメータにより小さな値を設定し、第3の移動ベクトルMV_kを再演算することで、補正を行う。
このように第3の移動ベクトルMV_kを求めることで、ランダムな要素を加えつつ、自然な向きに移動する移動体オブジェクトMobj_kを表現できる。
例えば虫キャラクタC(スカラベ)のように目標物に向かって突進する場合には、方向範囲AngRを小さく設定することで、個々の動きにランダムな要素が加わり、かつ群れ全体としては統制がとれた動きを実現できる。
2.2.4 移動距離
上述のようにして、その方向が求められる第3の移動ベクトルMV_kに対して、移動ベクトル補正部112は、所与の移動距離範囲内でランダムにその長さを求める。本実施形態では、求められる第3の移動ベクトルMV_kの長さの範囲を移動距離範囲としてパラメータを設ける。
上述のようにして、その方向が求められる第3の移動ベクトルMV_kに対して、移動ベクトル補正部112は、所与の移動距離範囲内でランダムにその長さを求める。本実施形態では、求められる第3の移動ベクトルMV_kの長さの範囲を移動距離範囲としてパラメータを設ける。
図10に、移動距離範囲を説明するための模式的な図を示す。
ここでは、当該フレームにおける移動体オブジェクトMobj_kの第3の移動ベクトルMV_kを示す。
そして、移動距離範囲を、最小移動距離MovingMin及び最大移動距離MovingMaxの差として、各移動体オブジェクトに最小移動距離MovingMin及び最大移動距離MovingMaxの2つのパラメータが設定される。
移動ベクトル補正部112は、第3の移動ベクトルMV_kの長さが、最小移動距離MovingMin及び最大移動距離MovingMaxの差である移動距離範囲内となるように求める。より具体的には、第3の移動ベクトルMV_kが図10に示す移動距離範囲内となるように、ランダムに第3の移動ベクトルMV_kの長さを求める。
例えば虫キャラクタA(フナムシ)の移動距離範囲を、虫キャラクタB(ゴキブリ)の移動距離範囲に比べて小さくすることで、同じESCAPEタイプであっても、虫キャラクタA(フナムシ)のもたつく動きを実現できる。また、同じESCAPEタイプであっても、虫キャラクタB(ゴキブリ)が、ターゲットTGの周りに集まることなく、散らばって動き回る群れの動きを実現できる。
そして、虫キャラクタC(スカラベ)の最小移動距離を大きくすることで、それぞれが素早いスタートで動き回る群れを表現でき、猪突猛進的な群れの表現のリアルさを高めることできる。
2.2.5 停止率
本実施形態では、イベント処理部120が、オブジェクト空間を移動する移動体オブジェクトの停止イベントをランダムに発生する。そして、停止イベントが発生したとき、移動体オブジェクト停止制御部116が、移動体オブジェクトを所与のフレーム数の間、オブジェクト空間における移動体オブジェクトの位置を固定する停止状態に設定する。
本実施形態では、イベント処理部120が、オブジェクト空間を移動する移動体オブジェクトの停止イベントをランダムに発生する。そして、停止イベントが発生したとき、移動体オブジェクト停止制御部116が、移動体オブジェクトを所与のフレーム数の間、オブジェクト空間における移動体オブジェクトの位置を固定する停止状態に設定する。
本実施形態では、停止イベントの発生率と、停止状態に設定される期間とが、パラメータとして設けられる。
図11に、停止イベントを説明するための模式的な図を示す。
イベント処理部120がランダムに発生する停止イベントが、kフレームで発生した場合、移動体オブジェクト停止制御部116が、例えば次の(k+1)フレームから、所与の停止期間(フレーム数)だけ、当該移動体オブジェクトのオブジェクト空間における位置を固定する停止状態に設定する。
図11では、m(mは2以上の整数)フレームの間、当該移動体オブジェクトの位置が固定される。なおこの停止期間は、移動体オブジェクトの特性に関連付けられた期間内でランダムに求められた期間、或いは所定の期間に、移動体オブジェクトの特性に関連付けられた係数を掛け合わせて求められた期間とすることができる。
このように停止イベントを発生させて、画像生成部130が、オブジェクト空間内の所与の視点での移動体オブジェクトの画像を生成することで、警戒感をもった移動体オブジェクトの動きを表現できる。
そして、停止イベントを移動体オブジェクトの特性に応じて発生させることで、おもむろに止まっている、何か別の目標物(嗜好物)を発見した、或いは警戒しながら移動するといった動きを表現できる。
例えば、虫キャラクタA(フナムシ)の停止イベントの発生率を大きくすることで、警戒感をもった動きを実現できる。虫キャラクタB(ゴキブリ)の停止イベントの発生率を、虫キャラクタA(フナムシ)の停止イベントの発生率より小さくすることで、虫キャラクタB(ゴキブリ)の警戒感のない動きを実現できる。また、同様に虫キャラクタC(スカラベ)の停止イベントの発生率を小さくすることで、虫キャラクタC(スカラベ)の警戒感のない動きを実現できる。
図12に、移動体オブジェクトの特性情報の一例を示す。
虫キャラクタA、虫キャラクタB、虫キャラクタCのいずれかの動きを実現するために、上述のパラメータの内容を変更すればよい。したがって、同じ処理を虫キャラクタの数だけ繰り返すだけでよく、処理の簡素化を実現できる。
移動体オブジェクトの行動タイプは、パラメータ「SwarmType」に相当する。移動最小距離は、パラメータ「MovingMin」に相当する。移動最大距離は、パラメータ「MovingMax」に相当する。停止イベント発生率は、パラメータ「Stop」に相当する。停止イベントの発生による停止状態は停止フレーム係数であるパラメータ「SleepFrame」に相当する。第3の移動ベクトルの方向を規制するための範囲は、パラメータ「RandomLimit」に相当する。参照率パラメータは、パラメータ「RandomValue」に相当する。
なお、図12では、特性情報に、ターゲットに関する関心度を示すパラメータInterestがある。パラメータInterestは、SEARCHタイプのみが用いるパラメータで、例えばターゲットに対する近付き度合いに対応する値ということができる。
以上のように、移動ベクトル演算部がランダムに求めた方向の第1の移動ベクトルを用いたり、第3の移動ベクトルの方向範囲を規制したり、第3の移動ベクトルの移動距離範囲をランダムに求めることで、各移動体オブジェクトの動きが微妙に異なる群れを表現できる。
更に、参照率パラメータ、規制する方向範囲や移動距離範囲を、移動体オブジェクトの特性に応じて変更することで、表現したい群れの多様な動きを実現できる。
特に、参照率パラメータ、規制する方向範囲や移動距離範囲をパラメータ化することで、処理の簡素化、プログラムやデータの容量の削減、移動体オブジェクトの表現の多様化を実現できる。
3.本実施形態の処理
次に、本実施形態の詳細な処理例について、図8のフローチャートを用いて説明する。
次に、本実施形態の詳細な処理例について、図8のフローチャートを用いて説明する。
処理部100において、すべての移動体オブジェクトの処理が完了するまで以下の一連の処理を行う(ステップS10)。
すべての移動体オブジェクトの処理が完了していたら(ステップS10:YES)、一連の処理を終了する(エンド)。
一方、未処理の移動体オブジェクトが存在するときは(ステップS10:NO)、以下の一連の処理を続行する。
次に、当該移動体オブジェクトが停止イベント状態であるか判定し、停止イベント中であれば(ステップS12:YES)、停止イベントを実行する。
停止イベント中でなければ(ステップS12:NO)、移動ベクトル演算部112が、当該移動オブジェクトの第1の移動ベクトルvec1をランダムに算出する(ステップS14)。
続いて、過去の移動ベクトルである移動ベクトルvec2と第1の移動ベクトルvec1とを、当該移動体に付与されたパラメータ「RandomValue」の値を用いて補間演算を行い、第3の移動ベクトルvec3を算出する(ステップS16)。
続いて、第3の移動ベクトルvec3と過去の移動ベクトルである移動ベクトルvec2とのなす角度を算出し(ステップS18)、求めた角度の絶対値が、規定範囲である当該移動体オブジェクトに付与されたパラメータ「RandomLimit」の範囲内であるかどうかを判定する(ステップS20)。
求めた角度が、規定範囲外のときは(ステップS20:NO)、第3の移動ベクトルvec3を、当該移動体に付与されたパラメータ「RandomValue」の値よりも小さな値を用いて、再演算することで、移動ベクトルvec3を規定範囲内に補正する(ステップS22)。
ステップS22で第3の移動ベクトルvec3が規定範囲内に補正された後、あるいはステップS18において、求めた角度が、規定範囲内であると判別されたとき(ステップS20:YES)、移動ベクトル演算部112は、第3の移動ベクトルvec3の移動距離(長さ)を求める(ステップS24)。
即ち、当該移動体オブジェクトの最小移動距離「MovingMin」と、最大移動距離「MovingMax]との値から、移動距離範囲moving_areaを求める。そして、移動距離範囲moving_areaに、ランダム関数を用いて求められる係数を掛け合わせ、最小移動距離「MovingMin」の値と加算する。こうして第3の移動ベクトルvec3の長さが求められ、長さが調整される(ステップS26)。
次に、イベント処理部120が、ランダム関数を用いて求められた変数RANDと当該移動体オブジェクトの停止イベントの発生率「Stop」の値を比較し、停止イベントを発生するか否かを判別する(ステップS28)。
イベント処理部120は、変数RANDが発生率「Stop」以下のとき(ステップS28:YES)、停止イベントを発生させる(ステップS30)。そして、当該移動体オブジェクトの停止フレーム数を、変数RANDと、当該移動体オブジェクトの停止フレーム係数「SleepFrame」とを掛け合わせた値の整数部+1とする。この値が、停止状態に設定される期間に対応する。また、この値が「0」以外の値のときは、停止イベント中であり、この値が「0」のときは、停止イベントが発生していない状態として、ステップS12の判断に使用される。
ステップS30で停止イベントを発生させた後、あるいは、ステップS28で変数RANDの値が発生率「Stop」の値よりも大きいとき(ステップS28:NO)、当該移動体オブジェクトからターゲットTGまでのベクトル(tbec)を求める(ステップS32)。
続いて、当該移動体オブジェクトの第3の移動ベクトルであるvec3に、ターゲットTGまでのベクトル(tvec)を足したものを新たな第3の移動ベクトルvec3とする(ステップS34)。なお、この際、新たな第3の移動ベクトルvec3の長さを移動距離に基づき調整することが望ましい。
求められた新たな第3の移動ベクトルを過去ベクトルとして、過去ベクトル記憶部172に記憶する(ステップS36)。
なお、ステップS12で、当該移動体オブジェクトが停止中と判断された場合は、(ステップS12:YES)、当該移動体オブジェクトの第3の移動ベクトルvec3を0とする(ステップS13)。なお、この際、過去ベクトルが「0」にならないように、従来の過去ベクトルはそのまま継承する。次に、停止フレーム数を「1」減算する(ステップS15)。
ステップS36、あるいは、ステップS15の終了後、当該オブジェクトの現在位置と、第3の移動ベクトルvec3とに基づいて、描画処理を行う(ステップS38)。
その後、ステップS10に戻り、次に移動体オブジェクトについて同様の処理を繰り返す。
なお、これら一連の処理中に行われるベクトル演算において、状況に応じて適宜、各ベクトルの長さを「1」に正規化することが望ましい。
4.ハードウェア構成
図13に本実施形態を実現できるハードウェア構成の例を示す。
図13に本実施形態を実現できるハードウェア構成の例を示す。
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
データ伸張プロセッサ906は、圧縮された画像データや音データのデコード(伸長)処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介して入力される。
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、メインプロセッサを介さずに、メモリ(RAM,VRAM,ROMやI/O装置間あるいは各種プロセッサ間でのデータ転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする処理を行う。
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどがある。
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
図14(A)に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、操作部1102を操作してゲームを楽しむ。内蔵されるシステムボード1106にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラムと呼ぶ。
図14(B)に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209に格納される。
図14(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置1300の情報記憶媒体1306(ハードディスク、磁気テープ装置等)に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
例えば、明細書又は図面中の記載において広義な用語として引用された用語は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
100 処理部、110 移動体オブジェクト制御部、
112 移動ベクトル演算部、
116 移動体オブジェクト停止制御部、120 イベント処理部、
130 画像生成部、140 音生成部、160 操作部、
170 記憶部、172 過去ベクトル記憶部、
174 オブジェクト特性記憶部174、176 描画バッファ、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部、
MOV_l lフレームにおける移動体オブジェクト
Mobj_k kフレームにおける移動体オブジェクト、
MV_j 第2の移動ベクトル、MV_k 第3の移動ベクトル、
RV_k 第1の移動ベクトル
112 移動ベクトル演算部、
116 移動体オブジェクト停止制御部、120 イベント処理部、
130 画像生成部、140 音生成部、160 操作部、
170 記憶部、172 過去ベクトル記憶部、
174 オブジェクト特性記憶部174、176 描画バッファ、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部、
MOV_l lフレームにおける移動体オブジェクト
Mobj_k kフレームにおける移動体オブジェクト、
MV_j 第2の移動ベクトル、MV_k 第3の移動ベクトル、
RV_k 第1の移動ベクトル
Claims (19)
- 画像を生成する画像生成システムであって、
当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルを求める移動ベクトル演算部と、
当該フレームより過去のフレームにおいて求められた移動体オブジェクトの第3の移動ベクトルを当該フレームにおける第2の移動ベクトルとして記憶する過去ベクトル記憶部と、
を含み、
前記移動ベクトル演算部はさらに、前記第2の移動ベクトルと、前記第1の移動ベクトルとに基づいて、当該フレームでの前記移動体オブジェクトの第3の移動ベクトルを求め、当該フレームにおいて、オブジェクト空間を、前記第3の移動ベクトルを用いて移動する前記移動体オブジェクトの画像を生成する画像生成部を含むことを特徴とする画像生成システム。 - 請求項1において、
前記移動ベクトル演算部が、
前記第3の移動ベクトルを、所与の方向範囲に収まるように求めることを特徴とする画像生成システム。 - 請求項2において、
前記移動ベクトル演算部が、
前記所与の方向範囲を、前記移動体オブジェクトの特性に関連付けて変更することを特徴とする画像生成システム。 - 請求項1乃至3のいずれかにおいて、
前記移動ベクトル演算部が、
前記移動体オブジェクトの特性に関連付けられた参照率パラメータに基づいて前記第1の移動ベクトルと前記第2の移動ベクトルとを補間して、前記第3の移動ベクトルを求めることを特徴とする画像生成システム。 - 請求項1乃至4のいずれかにおいて、
前記移動ベクトル演算部が、
所与の移動距離範囲内でランダムに求められる長さを有する前記第3の移動ベクトルを求めることを特徴とする画像生成システム。 - 請求項5において、
前記移動ベクトル演算部が、
前記所与の移動距離範囲を、前記移動体オブジェクトの特性に関連付けて変更することを特徴とする画像生成システム。 - 画像を生成するための画像生成システムであって、
オブジェクト空間を移動する移動体オブジェクトの停止イベントをランダムに発生するイベント処理部と、
前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定する移動体オブジェクト停止制御部と、
前記オブジェクト空間の前記移動体オブジェクトの画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。 - 請求項7において、
前記移動体オブジェクト停止制御部が、
前記停止イベントが発生したとき、ランダムに設定された時間が経過するまで前記移動体オブジェクトを停止状態に設定することを特徴とする画像生成システム。 - 請求項7又は8において、
前記移動体オブジェクト停止制御部が、
前記停止イベントの発生率を、前記移動体オブジェクトの特性に関連付けて変更することを特徴とする画像生成システム。 - 画像を生成するためのプログラムであって、
当該フレームにおいて、その方向がランダムに決められる第1の移動ベクトルを求める移動ベクトル演算部と、
当該フレームより過去のフレームにおいて求められた移動体オブジェクトの第3の移動ベクトルを当該フレームにおける第2の移動ベクトルとして記憶する過去ベクトル記憶部としてコンピュータを機能させ
前記移動ベクトル演算部は、前記第2の移動ベクトルと、前記第1の移動ベクトルとに基づいて、当該フレームでの前記移動体オブジェクトの第3の移動ベクトルを求め、当該フレームにおいて、オブジェクト空間を、前記第3の移動ベクトルを用いて移動する前記移動体オブジェクトの画像を生成する画像生成部を含むことを特徴とするプログラム。 - 請求項10において、
前記移動ベクトル演算部が、
前記第3の移動ベクトルを、所与の方向範囲に収まるように求めることを特徴とするプログラム。 - 請求項11において、
前記移動ベクトル演算部が、
前記所与の方向範囲を、前記移動体オブジェクトの特性に関連付けて変更することを特徴とするプログラム。 - 請求項10乃至12のいずれかにおいて、
前記移動ベクトル演算部が、
前記移動体オブジェクトの特性に関連付けられた参照率パラメータに基づいて前記第1の移動ベクトルと前記第2の移動ベクトルとを補間して、前記第3の移動ベクトルを求めることを特徴とするプログラム。 - 請求項10乃至13のいずれかにおいて、
前記移動ベクトル演算部が、
所与の移動距離範囲内でランダムに求められる長さを有する前記第3の移動ベクトルを求めることを特徴とするプログラム。 - 請求項14において、
前記移動ベクトル演算部が、
前記所与の移動距離範囲を、前記移動体オブジェクトの特性に関連付けて変更することを特徴とするプログラム。 - 画像を生成するためのプログラムであって、
オブジェクト空間を移動する移動体オブジェクトの停止イベントをランダムに発生するイベント処理部と、
前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定する移動体オブジェクト停止制御部と、
前記オブジェクト空間の前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させることを特徴とするプログラム。 - 請求項16において、
前記移動体オブジェクト停止制御部が、
前記停止イベントが発生したとき、ランダムに設定された時間が経過するまで前記移動体オブジェクトを停止状態に設定することを特徴とするプログラム。 - 請求項16又は17において、
前記移動体オブジェクト停止制御部が、
前記停止イベントの発生率を、前記移動体オブジェクトの特性に関連付けて変更することを特徴とするプログラム。 - コンピュータ読み取り可能な情報記憶媒体であって、請求項10乃至18のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008098473A JP2009251883A (ja) | 2008-04-04 | 2008-04-04 | 画像生成システム、プログラム及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008098473A JP2009251883A (ja) | 2008-04-04 | 2008-04-04 | 画像生成システム、プログラム及び情報記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009251883A true JP2009251883A (ja) | 2009-10-29 |
Family
ID=41312541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008098473A Withdrawn JP2009251883A (ja) | 2008-04-04 | 2008-04-04 | 画像生成システム、プログラム及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009251883A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205621A (zh) * | 2018-02-28 | 2022-03-18 | 三星电子株式会社 | 编码方法及其装置以及解码方法及其装置 |
-
2008
- 2008-04-04 JP JP2008098473A patent/JP2009251883A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205621A (zh) * | 2018-02-28 | 2022-03-18 | 三星电子株式会社 | 编码方法及其装置以及解码方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4651435B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4771821B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2010022646A (ja) | プログラム、情報記憶媒体および画像生成システム | |
JP3989396B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2005032140A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4749198B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2007249521A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2010029375A (ja) | ゲームシステム、プログラム、及び情報記憶媒体 | |
JP2009129167A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2006323512A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4447000B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4743770B2 (ja) | 画像生成システム、プログラム、及び情報記憶媒体 | |
JP4754384B2 (ja) | プログラム、情報記録媒体および画像生成システム | |
JP2006252426A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4073031B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2009251887A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP5253118B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4717624B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4187192B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2009251883A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2010033288A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2009247555A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4698701B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3614340B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4162125B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110607 |