特開2017-148209(P2017-148209A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社カプコンの特許一覧

特開2017-148209ゲームプログラムおよびゲームシステム
<>
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000003
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000004
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000005
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000006
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000007
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000008
  • 特開2017148209-ゲームプログラムおよびゲームシステム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-148209(P2017-148209A)
(43)【公開日】2017年8月31日
(54)【発明の名称】ゲームプログラムおよびゲームシステム
(51)【国際特許分類】
   A63F 13/52 20140101AFI20170804BHJP
   G06T 13/60 20110101ALI20170804BHJP
【FI】
   A63F13/52
   G06T13/60
【審査請求】有
【請求項の数】5
【出願形態】OL
【全頁数】14
(21)【出願番号】特願2016-32750(P2016-32750)
(22)【出願日】2016年2月24日
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 開催日:平成27年8月26日〜8月28日 集会名:コンピュータエンターテインメントデベロッパーズ カンファレンス2015(CEDEC 2015) 開催場所:パシフィコ横浜 会議センター(神奈川県横浜市西区みなとみらい1−1−1)
(71)【出願人】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】110000556
【氏名又は名称】特許業務法人 有古特許事務所
(72)【発明者】
【氏名】能任 祐貴
(72)【発明者】
【氏名】渡村 耕資
【テーマコード(参考)】
2C001
5B050
【Fターム(参考)】
2C001CC01
5B050AA10
5B050BA08
5B050BA18
5B050CA07
5B050EA07
5B050EA12
5B050EA13
5B050EA24
5B050FA02
5B050FA08
(57)【要約】
【課題】 3次元の仮想空間を用いたゲームにおいて、よりリアルな流体の3次元表現を行うことができるゲームプログラムおよびゲームシステムを提供する。
【解決手段】 コンピュータを、仮想空間生成手段、画面表示手段、流体表現手段、として機能させ、流体表現手段は、所定の線状モデルを、仮想空間に配置するモデル配置手段と、所定のポリゴンメッシュが線状モデルの動きに追従して変形するようにポリゴンメッシュを線状モデルの周囲に配置するポリゴンメッシュ配置手段と、ポリゴンメッシュ上に流体要素を表示する流体要素表示手段と、を含み、モデル配置手段は、線状モデルの基端部を所定の方向に移動させるとともに、基端部から間欠的に射出され、基端部を基準とする所定の軌道に沿って移動する複数の仮想点に、線状モデルが追従するように線状モデルを動かす。
【選択図】図5
【特許請求の範囲】
【請求項1】
コンピュータを、
3次元の仮想空間を生成する仮想空間生成手段、
前記仮想空間に配置した仮想カメラで撮影した画像をゲーム画面として表示する画面表示手段、および
前記仮想空間内における流体要素の3次元表現を前記ゲーム画面上で行う流体表現手段、として機能させ、
前記流体表現手段は、
所定の線状モデルを、前記仮想空間に配置するモデル配置手段と、
所定のポリゴンメッシュが前記線状モデルの動きに追従して変形するように前記ポリゴンメッシュを前記線状モデルの周囲に配置するポリゴンメッシュ配置手段と、
前記ポリゴンメッシュ上に前記流体要素を表示する流体要素表示手段と、を含み、
前記モデル配置手段は、前記線状モデルの基端部を所定の方向に移動させるとともに、前記基端部から間欠的に射出され、前記基端部を基準とする所定の軌道に沿って移動する複数の仮想点に、前記線状モデルが追従するように前記線状モデルを動かし、
前記流体要素表示手段は、前記線状モデルの前記基端部から先端部に向けて前記流体要素が流れるような表示を行う、ゲームプログラム。
【請求項2】
前記流体要素表示手段は、前記線状モデルの動きに応じて複数の表示態様の中から一の表示態様を選択して表示する、請求項1に記載のゲームプログラム。
【請求項3】
前記線状モデルは、複数の関節と、当該複数の関節を順に連結する少なくとも一の連結体とを有し、
前記モデル配置手段は、前記複数の仮想点に前記線状モデルが追従するように、前記線状モデルを、前記複数の関節で曲げることで変形させる、請求項1または2に記載のゲームプログラム。
【請求項4】
前記モデル配置手段は、前記線状モデルの前記基端部の動きに伴って移動する前記線状モデルの各関節の移動速度を、互いに接続された2つの関節のうち、前記先端部側の関節の移動速度が前記基端部側の関節の移動速度より遅くなるように、それぞれ制限することによって、前記複数の仮想点に前記線状モデルが追従するように前記線状モデルを動かす、請求項3に記載のゲームプログラム。
【請求項5】
請求項1から4の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラムおよびゲームシステムに関する。
【背景技術】
【0002】
従来、アクションゲームまたはロールプレイングゲーム等、ユーザの操作に応じてプレイヤキャラクタ等の操作対象を3次元の仮想空間内で動作させるゲームがある。3次元の仮想空間には様々な3次元のオブジェクト等が配置され、それらはコンピュータグラフィックスによって生成されている。
【0003】
このような3次元の仮想空間内で煙または水等の流体の流れを表現するために、ポリゴンメッシュを用いた表現が考えられる(例えば非特許文献1参照)。このような表現態様においては、ポリゴンメッシュを変形させることにより、ポリゴンメッシュ上に貼り付けられたテクスチャが変形し、流体の動きが疑似的に表現される。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「AUTODESK MAYA 2016|ヘルプ「流体をポリゴンに変換する」」、[online]、AUTODESK Inc.,[平成28年1月22日検索]、インターネット<http://help.autodesk.com/view/MAYAUL/2016/JPN/?guid=GUID-E509F8B9-2E27-40F8-ABD5-5530CC4F0909>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来、ポリゴンメッシュを用いて流体の3次元表現を行うと動きが硬いという問題がある。
【0006】
そこで本発明は、3次元の仮想空間を用いたゲームにおいて、よりリアルな流体の3次元表現を行うことができるゲームプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係るゲームプログラムは、コンピュータを、3次元の仮想空間を生成する仮想空間生成手段、前記仮想空間に配置した仮想カメラで撮影した画像をゲーム画面として表示する画面表示手段、および前記仮想空間内における流体要素の3次元表現を前記ゲーム画面上で行う流体表現手段、として機能させ、前記流体表現手段は、所定の線状モデルを、前記仮想空間に配置するモデル配置手段と、所定のポリゴンメッシュが前記線状モデルの動きに追従して変形するように前記ポリゴンメッシュを前記線状モデルの周囲に配置するポリゴンメッシュ配置手段と、前記ポリゴンメッシュ上に前記流体要素を表示する流体要素表示手段と、を含み、前記モデル配置手段は、前記線状モデルの基端部を所定の方向に移動させるとともに、前記基端部から間欠的に射出され、前記基端部を基準とする所定の軌道に沿って移動する複数の仮想点に、前記線状モデルが追従するように前記線状モデルを動かし、前記流体要素表示手段は、前記線状モデルの前記基端部から先端部に向けて前記流体要素が流れるような表示を行う。
【0008】
前記流体要素表示手段は、前記線状モデルの動きに応じて複数の表示態様の中から一の表示態様を選択して表示してもよい。
【0009】
前記線状モデルは、複数の関節と、当該複数の関節を順に連結する少なくとも一の連結体とを有し、前記モデル配置手段は、前記複数の仮想点に前記線状モデルが追従するように、前記線状モデルを、前記複数の関節で曲げることで変形させてもよい。
【0010】
前記モデル配置手段は、前記線状モデルの前記基端部の動きに伴って移動する前記線状モデルの各関節の移動速度を、互いに接続された2つの関節のうち、前記先端部側の関節の移動速度が前記基端部側の関節の移動速度より遅くなるように、それぞれ制限することによって、前記複数の仮想点に前記線状モデルが追従するように前記線状モデルを動かしてもよい。
【0011】
本発明の他の態様に係るゲームシステムは、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えている。
【発明の効果】
【0012】
本発明によれば、3次元の仮想空間を用いたゲームにおいて、よりリアルな流体の3次元表現を行うことができるゲームプログラムおよびゲームシステムを提供することができる。
【図面の簡単な説明】
【0013】
図1】本実施の形態におけるゲーム装置のハードウェア構成を示すブロック図である。
図2図1に示すゲーム装置の機能的な構成を示すブロック図である。
図3】本実施の形態における3次元の仮想空間を示す平面図である。
図4】本実施の形態におけるゲーム画面を示す図である。
図5】本実施の形態における流体要素の構造例を示す図である。
図6】本実施の形態における線状モデルの動かし方を説明するための図である。
図7】本実施の形態の流体要素の他の例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【0015】
[ゲーム概要]
以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、3次元の仮想空間が生成され、ユーザが当該仮想空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
【0016】
[ハードウェア構成]
上述したゲームを実現するゲーム装置の構成について説明する。本実施の形態におけるゲームシステムは、下記ゲーム装置2と、当該ゲーム装置2に接続されるモニタ(表示部)19、スピーカ22およびコントローラ(操作部)24などの外部装置とで構成され、下記ディスク型記憶媒体30から読み込んだゲームプログラム30aおよびゲームデータ30bに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置2と称する場合がある。
【0017】
図1は、本実施の形態におけるゲーム装置2のハードウェア構成を示すブロック図である。図1に示すように、ゲーム装置2は、他のゲーム装置2およびサーバ装置3との間で、インターネットまたはLANなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるCPU10を備え、このCPU10にはバス11を介してディスクドライブ12、メモリカードスロット13、プログラム記憶部を成すHDD14、ROM15およびRAM16が接続されている。
【0018】
また、CPU10には、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23およびネットワークインタフェース25が接続されている。
【0019】
このうちグラフィック処理部17は、CPU10の指示にしたがってゲーム空間および各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部17にはビデオ変換部18を介して外部のモニタ19が接続されており、グラフィック処理部17にて描画されたゲーム画像はビデオ変換部18において動画形式に変換され、モニタ19にて表示されるようになっている。
【0020】
オーディオ合成部20は、CPU10の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ22が接続されている。したがって、オーディオ合成部20にて再生および合成されたゲーム音声は、オーディオ変換部21にてアナログ形式にデコードされ、さらにスピーカ22から外部へ出力されるようになっている。
【0021】
さらに、オーディオ合成部20は、ゲーム装置2に接続されるヘッドセットやコントローラ24等に設けられたマイク26から入力されるユーザの音声等がオーディオ変換部21にてデジタル形式にコードされたデータを取得可能である。オーディオ合成部20は、取得したデータをCPU10に入力情報として伝えることができる。
【0022】
無線通信制御部23は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作子(後述)を操作することにより、ゲーム装置2へ信号を入力することができ、モニタ19に表示されるプレイヤキャラクタの動作を制御可能になっている。また、ネットワークインタフェース25は、インターネットまたはLANなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2またはサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。これにより、本ゲームにおいては、複数のユーザに対応する複数のプレイヤキャラクタが協同して敵キャラクタと戦う、または複数のユーザ同士が敵対して対戦する、マルチプレイが可能である。
【0023】
[ゲーム装置の機能的構成]
図2は、図1に示すゲーム装置2の機能的な構成を示すブロック図である。図1に示すようにゲーム装置2は、CPU10、HDD14、ROM15、RAM16、グラフィック処理部17、ビデオ変換部18、オーディオ合成部20、オーディオ変換部21、ネットワークインタフェース25などを含む制御部4を備えたコンピュータとして動作する。そして、図2に示すように、ゲーム装置2の制御部4は、本発明のゲームプログラム30aを実行することで、仮想空間生成手段41、画面表示手段42、流体表現手段43、および、移動オブジェクト制御手段44等の機能を発揮する。流体表現手段43は、モデル配置手段45、ポリゴンメッシュ配置手段46、および、流体要素表示手段47を含んでいる。移動オブジェクト制御手段44は、キャラクタ制御手段48を含んでいる。
【0024】
このうち、仮想空間生成手段41は、3次元の仮想空間を生成する。当該仮想空間が、ユーザが操作するプレイヤキャラクタが行動するゲーム空間となる。さらに、仮想空間生成手段41は、仮想空間に配置される固定オブジェクトおよび/または当該仮想空間内を移動するプレイヤキャラクタ等の移動オブジェクトを生成する。例えば、仮想空間生成手段41は、プレイヤキャラクタの移動に伴って、ゲームデータ30bに含まれるオブジェクトおよびテクスチャなどのデータを読み出し、三次元の仮想空間を生成する。
【0025】
図3は、本実施の形態における3次元の仮想空間を示す平面図である。また、図4は、本実施の形態におけるゲーム画面を示す図である。図3に示すように、3次元の仮想空間Sには、地形がポリゴン、テクスチャ等で描画され、当該地形上に各種のオブジェクト、仮想カメラC等が配置される。例えば、図3の例においては、移動オブジェクトとして、ユーザがコントローラ24を介して操作可能なプレイヤキャラクタPおよびコンピュータにより動作制御されるノンプレイヤキャラクタEが仮想空間Sに配置されている。
【0026】
移動オブジェクト制御手段44は、仮想空間を移動可能な移動オブジェクトP,Eの移動を制御する。特に、移動オブジェクト制御手段44は、キャラクタ制御手段48として機能し、少なくとも当該コンピュータを操作するユーザに対応するキャラクタ(プレイヤキャラクタ)の動作を、当該ユーザによるコントローラ24の操作入力またはゲームの進行状況に応じて制御する。移動オブジェクトは、プレイヤキャラクタP以外の移動可能なキャラクタまたは物体を含む。例えば移動オブジェクトには、敵キャラクタ等のノンプレイヤキャラクタEや、車、飛行機等の乗物や、ボール、爆弾、弾丸、弓矢等の飛翔物や、動物や、爆発等によって飛散する家具等の固定物等が含まれる。これらの移動オブジェクトも、移動オブジェクト制御手段44によって制御される。
【0027】
画面表示手段42は、仮想空間Sに配置した仮想カメラCで撮影した画像をゲーム画面G(図4)としてモニタ19に表示する。ゲーム画面Gには、仮想カメラCの撮影範囲Uに含まれる移動オブジェクトP,E、および後述する流体要素T1等も表示される。
【0028】
流体表現手段43は、仮想空間S内における流体要素T1の3次元表現をゲーム画面G上で行う。本実施の形態においては、図4に示すように、ノンプレイヤキャラクタEが把持している棒の先から煙が立ち上っている状態(一連の動きの表現)を流体要素T1として例示している。流体要素は、これらに限られず、例えば炎、煙、水蒸気等の気体または気体中を浮遊する粒子であってもよいし、例えば水、血等の液体であってもよい。
【0029】
[流体表現処理]
図5は、本実施の形態における流体要素T1の構造例を示す図である。本実施の形態において、流体要素T1を構成する流体オブジェクトは、線状モデルK、ポリゴンメッシュMおよび、ポリゴンメッシュM上に動画として描画される流体要素T1により構成される。線状モデルKは、可動部である複数の関節L0〜L4(以下、関節Lと総称する場合がある)を有し、当該複数の関節L0〜L4が順に連結された構造を有している。図5において、隣接する関節間において両関節を連結する連結体をN1〜N4で表している(以下、連結体Nと総称する場合がある)。線状モデルKは、複数の関節L0〜L4で曲がることによって変形する。なお、本実施の形態において、関節Lの数を5つとしているが、2〜4つでも、6つ以上でもよい。例えば、立ち上る煙を表現する際には、実際には関節Lの数を5〜10個の範囲とすることが想定される。
【0030】
ポリゴンメッシュMは、線状モデルKが中心となるように線状モデルKの周囲に配置されている。ポリゴンメッシュMは、ポリゴンの各関節における3次元位置と、ポリゴンメッシュM上に表示される流体要素T1の2次元座標位置とが対応付けられたものであり、2次元データとしてゲームデータ30bに含まれている流体要素T1のデータ(後述する複数のテクスチャ画像のデータ、ムービーデータまたは2次元シミュレーションデータ等)がポリゴンメッシュMを介して3次元的に描画される。なお、線状モデルKおよびポリゴンメッシュM自体は、ゲーム画面G上には表示されない(透明である)。したがって、実際のゲーム画面G上では、ポリゴンメッシュM上に表示される流体要素T1のみが表示される。ただし、図4では流体要素T1が線状モデルKに従っていることが把握できるように、線状モデルKを模式的に表示している。
【0031】
流体表現手段43は、上記のような構造の流体オブジェクトを用いて流体要素T1の3次元表現を行う。すなわち、モデル配置手段45は、線状モデルKを仮想空間Sに配置する。また、ポリゴンメッシュ配置手段46は、ポリゴンメッシュMが線状モデルKの動きに追従して変形するようにポリゴンメッシュMを線状モデルKの周囲に配置する。例えば、線状モデルKの各連結体Nに垂直なポリゴンメッシュMの断面上の3次元座標と当該断面内に位置する線状モデルKの3次元座標とが対応付けられている。ポリゴンメッシュ配置手段46は、線状モデルKの各位置における3次元座標の変化に基づいて対応するポリゴンメッシュMの3次元座標を変化させる。また、流体要素表示手段47は、ポリゴンメッシュM上に流体要素Tを表示する。
【0032】
ここで、モデル配置手段45は、線状モデルKの基端部K0(関節L0が固定される箇所)を所定の方向に移動させるとともに、基端部K0から間欠的に射出され、基端部K0を基準とする所定の軌道Qi(i=0,1,2,…)に沿って移動する複数の仮想点xi(i=0,1,2,…)に、線状モデルKが追従するように線状モデルKを動かす。所定の軌道Qiは、線状モデルKの基端部K0の静止時における線状モデルKの関節L0〜L4の配設位置の基準となるものである。
【0033】
線状モデルKの基端部K0は、例えば当該基端部K0が配置されているオブジェクトが移動オブジェクト(本例におけるノンプレイヤキャラクタE等)である場合、当該移動オブジェクトの移動に伴って移動する。これに加えてまたはこれに代えて、仮想空間S内における外部要因(風等)によって基端部K0が移動してもよい。また、基端部K0が配置されているオブジェクトの移動または静止の別に拘わらず、基端部K0が往復動(振動)等の所定の態様で移動してもよい。このようなオブジェクトの移動に拘わらない基端部K0の移動は、少なくともゲーム画面Gに表示されている間において常時移動するようにしてもよいし、所定のトリガに応じて移動を開始するようにしてもよい。所定のトリガは、例えば、所定のスイッチが押下された場合、対象のオブジェクトに攻撃等が当たった場合等が例示されるがこれらに限定されない。
【0034】
なお、図4に示すようなノンプレイヤキャラクタEが把持している棒の先端から煙である流体要素T1が立ち上るような場合には、当該棒自体を線状モデルKの基端部K0としてもよい。すなわち、ノンプレイヤキャラクタEが把持している棒がノンプレイヤキャラクタEの動作等に応じて動くことにより、基端部K0が移動するとしてもよい。しかし、これに限られず、線状モデルKの基端部K0は、当該基端部K0が配置されるオブジェクト等とは独立して設定されてもよい。例えば、図4に示す例において、ノンプレイヤキャラクタEが把持している棒が移動するか否かに拘わらず、基端部K0が移動してもよい。この場合、基端部K0はノンプレイヤキャラクタEが把持している棒の先端部を基準として所定範囲を移動可能に配置される。この場合、基端部K0はゲーム画面G上には表示されない(透明である)。なお、後述する図6および図7については、基端部K0を箱状の構造物のように明示しているが、前述の通り、ゲーム画面G上では当該基端部K0は表示されなくてもよい。
【0035】
図6は、本実施の形態における線状モデルの動かし方を説明するための図である。図6(a)は、時刻t1における線状モデルKの状態を示し、図6(b)は、時刻t1から所定時刻経過後の時刻t2における線状モデルKの状態を示し、図6(c)は、時刻t2から所定時刻経過後の時刻t3における線状モデルKの状態を示し、図6(d)は、時刻t3から所定時刻経過後の時刻t4における線状モデルKの状態を示す。本例においては、仮想点xiの軌道Qiが直線である例を示し、線状モデルKの基端部K0は、時刻t1までの期間は、線状モデルKの基端部K0は停止し、時刻t1から時刻t3までの間、軌道Qiに対して直交する方向(図6においては右方向)に移動し、時刻t3から時刻t4までの間、時刻t1から時刻t3までとは反対方向(図6においては左方向)に移動する態様を例示する。なお、本例において、各時刻間の間隔は一定であり、線状モデルKの基端部K0は、等速で移動するものとする。
【0036】
時刻t1までの期間は、線状モデルKの基端部K0は停止しているため、線状モデルKは、基端部K0からすべての関節L0〜L4が一直線上に並ぶ(後述する直線状の軌道Q1に沿って並ぶ)ように配置される。図6(a)に示すように、時刻t1において、仮想点x1は、線状モデルKの基端部K0から軌道Q1に沿って進むように発射される。このため、この時点で線状モデルKは、それまでの状態から変化しない。時刻t1から時刻t2へ時間が進むにつれて線状モデルKの基端部K0は、右方向に移動する。ここで、仮想点x1の軌道Q1は仮想点x1の発射時点である時刻t1における位置に固定されている。したがって、仮想点x1は、線状モデルKの基端部K0の移動に拘わらず、元の軌道Q1に沿って進む。
【0037】
図6(b)に示すように、時刻t2において、仮想点x2は、線状モデルKの基端部K0から軌道Q2に沿って進むように発射される。軌道Q2は、時刻t2における線状モデルKの基端部K0に基づいて設定される。したがって、軌道Q2は、軌道Q1から線状モデルKの基端部K0の右方向へ距離Rだけ平行移動した軌道となる。この結果、線状モデルKは、仮想点x1,x2の位置を通るように変形する。図6(b)においては、関節L0が仮想点x2に位置し、関節L1が仮想点x1に位置し、その他の関節L2〜L4が軌道Q1に沿うように、線状モデルKが変形する。
【0038】
時刻t2から時刻t3へ時間が進むにつれて線状モデルKの基端部K0は、右方向に移動する。ここで、仮想点x2の軌道Q2は仮想点x2の発射時点である時刻t2における位置に固定されている。したがって、仮想点x2は、線状モデルKの基端部K0の移動に拘わらず、元の軌道Q2に沿って進む。図6(c)に示すように、時刻t3において、仮想点x3は、線状モデルKの基端部K0から軌道Q3に沿って進むように発射される。軌道Q3は、時刻t3における線状モデルKの基端部K0に基づいて設定される。したがって、軌道Q3は、軌道Q2から線状モデルKの基端部K0の右方向へ距離Rだけ平行移動した軌道となる。この結果、線状モデルKは、仮想点x1,x2,x3の位置を通るように変形する。図6(c)においては、関節L0が仮想点x3に位置し、関節L1が仮想点x2に位置し、関節L2が仮想点x1に位置し、その他の関節L3,L4が軌道Q1に沿うように、線状モデルKが変形する。
【0039】
時刻t3から時刻t4へ時間が進むにつれて線状モデルKの基端部K0は、左方向に移動する。ここで、仮想点x3の軌道Q3は仮想点x3の発射時点である時刻t3における位置に固定されている。したがって、仮想点x3は、線状モデルKの基端部K0の移動に拘わらず、元の軌道Q3に沿って進む。図6(d)に示すように、時刻t4において、仮想点x4は、線状モデルKの基端部K0から軌道Q4に沿って進むように発射される。軌道Q4は、時刻t4における線状モデルKの基端部K0に基づいて設定される。したがって、軌道Q4は、軌道Q3から線状モデルKの基端部K0の左方向へ距離Rだけ平行移動した軌道となる。本例では、軌道Q4は、軌道Q2に一致する。この結果、線状モデルKは、仮想点x1,x2,x3,x4の位置を通るように変形する。図6(d)においては、関節L0が仮想点x4に位置し、関節L1が仮想点x3に位置し、関節L2が仮想点x2に位置し、関節L3が仮想点x1に位置し、その他の関節L4が軌道Q1に沿うように、線状モデルKが変形する。以下同様に基端部K0から軌道Qiに沿って進むように発射される仮想点xiに追従するように線状モデルKが変形する。
【0040】
上記のような仮想点xiに追従して線状モデルKが変形する際、線状モデルKの互いに接続されている(連結体Niの両端に位置する)2つの関節間の張力は、線状モデルKの変形には考慮されない。すなわち、例えば関節L0が移動した場合であっても、関節L1の移動に関して、関節L0の移動による張力の影響は及ばない。なお、この場合であっても、図6に示すように、互いに接続されている2つの関節間の距離(各連結体N1〜N4の長さ)は一定に維持されてもよい。一方、後述する図7の例に示すように、互いに接続されている2つの関節間の距離が変化してもよい。
【0041】
上記のような複数の仮想点xiに追従する線状モデルKの変形を容易に実現するために、モデル配置手段45は、線状モデルKの基端部K0の動きに伴って移動する線状モデルKの各関節L0〜L4の移動速度を、互いに接続された2つの関節のうち、先端部(関節L4)側の関節の移動速度が基端部K0側の関節の移動速度より遅くなるように、それぞれ制限する。
【0042】
例えば、図6の例において、右方向の移動のみを考えると、時刻t1から時刻t3の期間(Tとする)、関節L0は、距離2Rを移動する一方、関節L1は距離Rを移動する。したがって、関節L1の右方向の移動速度R/Tは、関節L0の右方向の移動速度2R/Tより遅くなる。したがって、線状モデルKの基端部K0の右方向の移動に際しては、互いに接続された2つ関節L0,L1のうち、先端部側の関節L1の移動速度R/Tが基端部K0側の関節L0の移動速度2R/Tより遅くなるように制限される。同様に、関節L2の移動速度が関節L1の移動速度より遅くなり、関節L3の移動速度が関節L2の移動速度より遅くなり、関節L4の移動速度が関節L3の移動速度より遅くなるように制限される。これにより、リアルな3次元表現を行うための線状モデルKの動きを簡単な処理で実現することができる。なお、線状モデルKをより滑らかに動かすために、上記のような線状モデルKに対して公知のスキニング処理が適用され得る。
【0043】
以上のように、仮想点xiに追従するように変形する線状モデルKを用いて、流体要素表示手段47は、線状モデルKの基端部K0から先端部(関節L4)に向けて流体要素T1が流れるような表示を行う。流体要素T1は、ポリゴンメッシュMに対応付けられる2次元画像上に描画される動画により表現される。この動画には、例えば、複数のテクスチャ画像を所定の順番でポリゴンメッシュM上に表示する連番アニメーション、予め作成された動画データをポリゴンメッシュ上に表示するムービーテクスチャ、または後述する流体の2次元シミュレーションによる表現等が含まれる。
【0044】
上記のような表示態様によれば、流体要素T1を表示するポリゴンメッシュMが線状モデルKに基づいて変形する。この際、線状モデルKが、所定の軌道Qiに沿って移動する複数の仮想点xiに追従するように変形するため、線状モデルKの各関節L1〜L4の動きが互いに影響し合わない。これにより、線状モデルKの動きを滑らかにすることができ、流体の3次元表現に好適に適用することができる。したがって、ポリゴンメッシュM上に表示される流体要素T1を、よりリアルな流体の3次元表現とすることができる。
【0045】
[その他の例]
線状モデルKの動きの元となる仮想点xiの軌道Qiは、上記の例のように直線であってもよいし、曲線または折れ線であってもよい。図7は、本実施の形態の流体要素の他の例を示す図である。図7(a)は、線状モデルKが曲線状の軌道V1に沿っている流体要素T2を示す図であり、図7(b)は、図7(a)における線状モデルKが変形する過程を示す図であり、図7(c)は、図7(b)による変形後の線状モデルKに沿っている流体要素T3を示す図である。なお、前述したように、ゲーム画面G上には線状モデルKは表示されない(透明である)が、図7(a)および図7(c)においては、流体要素T2,T3との関係が分かり易いように線状モデルKを明示している。
【0046】
本例においては、流体要素T2,T3として、例えば、仮想空間S内に配置された固定オブジェクト(図示せず)から水が水平方向に噴出し、その後、水が自然落下により流れ落ちる様子を示す表現態様(滝のような表現)を例示している。本例における仮想点xiは、線状モデルKの基端部K0から水平方向に発射され、発射後は自由落下するような曲線状の軌道Viを通過するように設定されている。したがって、図7(a)に示すように、線状モデルKの基端部K0が停止している状態において、線状モデルKは、基端部K0から弧を描くように下方に曲げられた状態となる。このとき、ポリゴンメッシュM(図7では図示せず)上に表示される流体要素T2は、線状モデルKの基端部K0から噴出した水が弧を描いて落下しているような表現(アニメーション表現等)とされている。さらに、流体要素T2は、水の勢いを強調して表現するために、線状モデルKの先端部(関節L4)へ向かうに従って水の束が広がるように表現される。
【0047】
ここで、図7(b)に示すように、基端部K0が下方へ移動した場合、仮想点x1〜x4は、それぞれ、各仮想点x1〜x4の発射時点における線状モデルKの基端部K0の位置を基準とする軌道V1〜V4に沿って移動する。このため、線状モデルKは、基端部K0に対して先端部(関節L4)が上方に位置するように変形する。この結果、図7(c)に示すように、ポリゴンメッシュM上に表示される流体要素T3は、線状モデルKの基端部K0から噴出した水が一旦上方に吹き上げられてから自由落下するような表現となる。この場合、流体要素T3は、線状モデルKの基端部K0の近傍では一部の水が重力により逆流し、線状モデルKの先端部(関節L4)へ向かうに従って水の束が細くなるように表現される。
【0048】
このため、本例においては、一の流体表現に対して、複数(2つ)の流体要素T2,T3(複数の動画)が選択的に用いられる。言い換えると、流体要素表示手段47は、線状モデルKの動きに応じて複数の表示態様(流体要素T2,T3)の中から一の表示態様を選択して表示する。これにより、線状モデルKがどのような形状に変化しても立体感および現実感の高い表現を行うことができる。なお、本例においては2つの表示態様(流体要素T2,T3)を用いたが3つ以上の表示態様を選択的に用いてもよい。なお、複数の動画は、例えば連番アニメーションを構成する複数のテクスチャ画像自体および/またはその表示順が異なる複数の動画として構成されてもよいし、アニメーションの表示速度が異なる複数の動画として構成されてもよい。
【0049】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【0050】
例えば、上記実施の形態においては、線状モデルKの基端部K0から発射される仮想点xiの初速は変化しない前提で説明したが、基端部K0の位置、移動方向または移動速度等に応じて仮想点xiの初速を変化させてもよい。この場合、仮想点xiの初速に応じて仮想点xiの軌道Qi,Viを変化させてもよい。これに加えてまたはこれに代えて、仮想点xiの初速に応じて線状モデルKの各関節L1〜L4の移動速度(制限速度)を変更してもよい。仮想点xiの初速に応じて仮想点xiの軌道Qi,Viおよび/または線状モデルKの各関節L1〜L4の移動速度が変化することにより、仮想点xiの初速に応じて線状モデルKの変形態様が変化し得る表現態様となる。これにより、流体の流れる勢いの違いによる流体表現の変化を実現することができる。
【0051】
また、仮想点xiは、図3から図6の例に示すように上向きに移動してもよいし、図7の例に示すように、下向きに移動してもよい。仮想点xiが上向きに移動する態様は、例えば立ち上る煙等、気体の表現に適している。また、仮想点xiが下向きに移動する態様は、例えば流れ落ちる水等、液体の表現に適している。
【0052】
また、上記実施の形態では、仮想点xiを所定の時間間隔で射出することにより、間欠的に射出する態様を例示したが、これに代えて、基端部K0の移動距離に応じて射出することにより、間欠的に射出してもよい。
【0053】
また、上記実施の形態では、線状モデルKの関節Lの位置は必ずしも複数の仮想点xiの位置に一致しない態様を例示したが、モデル配置手段45は、線状モデルKの複数の関節Lの位置が、複数の仮想点xiの位置に一致するように線状モデルKを動かしてもよい。また、線状モデルKは、柔軟に曲がるように構成される限り、必ずしも複数の関節Lを有していなくてもよい。
【0054】
流体要素T1〜T3は、ポリゴンメッシュM上で流体要素T1〜T3を構成する単位要素(流体の粒子等)の2次元シミュレーションを行い、その結果をポリゴンメッシュM上に表示することにより、流体要素T1〜T3がポリゴンメッシュM上に表現される態様としてもよい。
【0055】
この場合、流体要素表示手段47は、2次元シミュレーション表示手段として機能し、ポリゴンメッシュM上で流体要素T1〜T3を構成する単位要素の2次元シミュレーションを行い、その結果をポリゴンメッシュM上に表示する。2次元シミュレーションにおいて、ポリゴンメッシュMには、それぞれ所定のグリッド(シミュレーショングリッド)が設定される。例えば、シミュレーショングリッドは、ポリゴンメッシュMを64マス×64マスに区分けするグリッドとして構成される。流体要素表示手段47は、ポリゴンメッシュM上における所定の流体発生源を起点とする流体要素T1〜T3を構成する単位要素の動きをポリゴンメッシュM上においてグリッド単位でシミュレーションする。
【0056】
2次元シミュレーションの方法は特に限定されず、公知のシミュレーション方法を種々適用可能である。例えば、2次元シミュレーションとしては、"Real-Time Fluid Dynamics for Games", Jos Stam, <http://www.intpowertechcorp.com/GDC03.pdf>、"Fast Fluid Dynamics Simulation on the GPU", Mark J. Harris, Chapter 38. GPU Gems, <http://http.developer.nvidia.com/GPUGems/gpugems_ch38.html>、"A Simple Fluid Solver based on the FFT", Jos Stam, <http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/jgt01.pdf>、"Go With The Flow: Fluid and Particle Physics in PixelJunk Shooter", Jaymin Kessler, Game Developers Conference 2010, <http://fumufumu.q-games.com/gdc2010/shooterGDC.pdf>等に記載された態様が例示できる。
【0057】
また、上記実施の形態において、アクションゲームを例示したが、上記流体の表現態様は、ロールプレイングゲーム、シミュレーションゲームまたはシューティングゲーム等、3次元の仮想空間を用いる種々のゲームに適用可能である。
【0058】
また、上記実施の形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
【産業上の利用可能性】
【0059】
本発明は、3次元の仮想空間を用いたゲームにおいて、よりリアルな流体の3次元表現を行うために有用である。
【符号の説明】
【0060】
2 ゲーム装置
30a ゲームプログラム
30b ゲームデータ
41 仮想空間生成手段
42 画面表示手段
43 流体表現手段
45 モデル配置手段
46 ポリゴンメッシュ配置手段
47 流体要素表示手段
C 仮想カメラ
K 線状モデル
K0 基端部
Qi,Vi(i=1,2,…) 軌道
S 仮想空間
T1,T2,T3 流体要素
xi(i=1,2,…) 仮想点
図1
図2
図3
図4
図5
図6
図7