JP6441843B2 - ゲームプログラムおよびゲームシステム - Google Patents

ゲームプログラムおよびゲームシステム Download PDF

Info

Publication number
JP6441843B2
JP6441843B2 JP2016032747A JP2016032747A JP6441843B2 JP 6441843 B2 JP6441843 B2 JP 6441843B2 JP 2016032747 A JP2016032747 A JP 2016032747A JP 2016032747 A JP2016032747 A JP 2016032747A JP 6441843 B2 JP6441843 B2 JP 6441843B2
Authority
JP
Japan
Prior art keywords
fluid
billboard
game
virtual space
dimensional
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.)
Active
Application number
JP2016032747A
Other languages
English (en)
Other versions
JP2017148206A (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.)
Capcom Co Ltd
Original Assignee
Capcom Co Ltd
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 Capcom Co Ltd filed Critical Capcom Co Ltd
Priority to JP2016032747A priority Critical patent/JP6441843B2/ja
Priority to US15/440,301 priority patent/US10272337B2/en
Publication of JP2017148206A publication Critical patent/JP2017148206A/ja
Application granted granted Critical
Publication of JP6441843B2 publication Critical patent/JP6441843B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、ゲームプログラムおよびゲームシステムに関する。
従来、アクションゲームまたはロールプレイングゲーム等、ユーザの操作に応じてプレイヤキャラクタ等の操作対象を仮想の3次元の仮想空間内で動作させるゲームがある。3次元の仮想空間には様々なオブジェクト等が配置され、それらはコンピュータグラフィックスによって生成されている。
流体をより現実的に表現するための方法が考えられている。例えば、非特許文献1から3には、3次元の仮想空間において3次元の流体シミュレーションを行いながらコンピュータグラフィックスを生成することで流体の3次元表現を行うことが示されている。
Jonathan M. Cohen, Sarah Tariq, Simon Green, "Interactive Fluid-Particle Simulation using Translating Eulerian Grids", Cohen interactive 2010, (NVIDIA), [online], [平成28年1月4日検索], <http://jcohen.name/papers/Cohen_Interactive_2010.pdf> Keenan Crane, Ignacio Llamas, Sarah Tariq, "Real-Time Simulation and Rendering of 3D Fluids", Chapter 30, CPU Gem 3, (Hubert Nguyen), [online], [平成28年1月4日検索], <http://www.cs.columbia.edu/~keenan/Projects/GPUFluid/paper.pdf> QING YANG, "Real-Time Simulation of 3D Smoke on GPU", Proceedings of the 3rd WSEAS Int. Conf. on CIRCUITS, SYSTEMS, SIGNAL and TELECOMMUNICATIONS (CISST'09), pp.130-134, [online], [平成28年1月4日検索], <http://www.wseas.us/e-library/conferences/2009/ningbo/CD-CISST/CISST25.pdf>
しかしながら、ゲームを進行させながら、流体の3次元表現を行うために3次元シミュレーションを行うと、コンピュータへの処理負荷が大きく、処理速度が遅くなる問題がある。
そこで本発明は、3次元の仮想空間を用いたゲームにおいて、流体の表現を豊かにしつつ当該流体表現のための処理負荷の増大を抑制することができるゲームプログラムおよびゲームシステムを提供することを目的とする。
本発明の一態様に係るゲームプログラムは、コンピュータを、3次元の仮想空間を生成する仮想空間生成手段、前記仮想空間に配置した仮想カメラで撮影した画像をゲーム画面として表示する画面表示手段、および前記仮想空間内における流体要素の疑似的な3次元表現を前記ゲーム画面上で行う流体表現手段、として機能させ、前記流体表現手段は、平面要素を有し、前記平面要素が前記仮想カメラの位置を向くように当該平面要素内に設けられた所定の中心点回りに回動するビルボードを、前記仮想空間に配置するビルボード配置手段と、前記ビルボードの前記平面要素上で前記流体要素の2次元シミュレーションを行い、その結果を前記平面要素上に表示する、2次元シミュレーション表示手段と、を含む。
前記2次元シミュレーション表示手段は、前記ビルボードの前記平面要素と前記仮想空間における前記ビルボードの周囲の所定の環境要素との前記仮想空間における位置関係に基づいて、前記流体要素が前記所定の環境要素からの干渉を受けるように前記2次元シミュレーションを行ってもよい。
前記2次元シミュレーション表示手段は、前記仮想空間に所定の流体発生源を配置し、前記ビルボードの前記平面要素における前記流体発生源と接触している箇所から前記流体要素の前記2次元シミュレーションを行ってもよい。
前記ビルボード配置手段は、一連の前記流体要素を形成する複数の前記ビルボードを配置し、前記複数のビルボードは、前記仮想カメラから見て、当該複数のビルボードのうちの少なくとも2つのビルボードの前記中心点が奥行き方向にずれるように配置されてもよい。
前記コンピュータを、前記仮想空間を移動可能な移動オブジェクトの移動を制御する移動オブジェクト制御手段として機能させ、前記ビルボード配置手段は、前記ビルボードを前記移動オブジェクトに付随して動くように配置してもよい。
前記流体表現手段は、前記流体要素に応じたテクスチャを前記ビルボードに投影するテクスチャ投影手段を含み、前記2次元シミュレーション表示手段は、前記ビルボードに投影された前記テクスチャを前記2次元シミュレーションによって得られる前記流体要素の動きに従って変形させてもよい。
本発明の他の態様に係るゲームシステムは、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えている。
本発明によれば、3次元の仮想空間を用いたゲームにおいて、流体の表現を豊かにしつつ当該流体表現のための処理負荷の増大を抑制することができるゲームプログラムおよびゲームシステムを提供することができる。
本実施の形態におけるゲーム装置のハードウェア構成を示すブロック図である。 図1に示すゲーム装置の機能的な構成を示すブロック図である。 本実施の形態における3次元の仮想空間を示す平面図である。 本実施の形態におけるゲーム画面を示す図である。 本実施の形態における流体の疑似的な3次元表現方法を説明するための図である。 本実施の形態の他の例におけるキャラクタに配置された複数のビルボードを示す図である。 本実施の形態の他の例における仮想空間に配置されたビルボードを示す図である。
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
[ゲーム概要]
以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、3次元の仮想空間が生成され、ユーザが当該仮想空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
[ハードウェア構成]
上述したゲームを実現するゲーム装置の構成について説明する。本実施の形態におけるゲームシステムは、下記ゲーム装置2と、当該ゲーム装置2に接続されるモニタ(表示部)19、スピーカ22およびコントローラ(操作部)24などの外部装置とで構成され、下記ディスク型記憶媒体30から読み込んだゲームプログラム30aおよびゲームデータ30bに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置2と称する場合がある。
図1は、本実施の形態におけるゲーム装置2のハードウェア構成を示すブロック図である。図1に示すように、ゲーム装置2は、他のゲーム装置2およびサーバ装置3との間で、インターネットまたはLANなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるCPU10を備え、このCPU10にはバス11を介してディスクドライブ12、メモリカードスロット13、プログラム記憶部を成すHDD14、ROM15およびRAM16が接続されている。
また、CPU10には、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23およびネットワークインタフェース25が接続されている。
このうちグラフィック処理部17は、CPU10の指示にしたがってゲーム空間および各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部17にはビデオ変換部18を介して外部のモニタ19が接続されており、グラフィック処理部17にて描画されたゲーム画像はビデオ変換部18において動画形式に変換され、モニタ19にて表示されるようになっている。
オーディオ合成部20は、CPU10の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ22が接続されている。したがって、オーディオ合成部20にて再生および合成されたゲーム音声は、オーディオ変換部21にてアナログ形式にデコードされ、さらにスピーカ22から外部へ出力されるようになっている。
さらに、オーディオ合成部20は、ゲーム装置2に接続されるヘッドセットやコントローラ24等に設けられたマイク26から入力されるユーザの音声等がオーディオ変換部21にてデジタル形式にコードされたデータを取得可能である。オーディオ合成部20は、取得したデータをCPU10に入力情報として伝えることができる。
無線通信制御部23は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作子(後述)を操作することにより、ゲーム装置2へ信号を入力することができ、モニタ19に表示されるプレイヤキャラクタの動作を制御可能になっている。また、ネットワークインタフェース25は、インターネットまたはLANなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2またはサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。これにより、本ゲームにおいては、複数のユーザに対応する複数のプレイヤキャラクタが協同して敵キャラクタと戦う、または複数のユーザ同士が敵対して対戦する、マルチプレイが可能である。
[ゲーム装置の機能的構成]
図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、2次元シミュレーション表示手段46、および、テクスチャ投影手段47を含んでいる。移動オブジェクト制御手段44は、キャラクタ制御手段48を含んでいる。
このうち、仮想空間生成手段41は、3次元の仮想空間を生成する。当該仮想空間が、ユーザが操作するプレイヤキャラクタが行動するゲーム空間となる。さらに、仮想空間生成手段41は、仮想空間に配置される固定オブジェクトおよび/または当該仮想空間内を移動するプレイヤキャラクタ等の移動オブジェクトを生成する。例えば、仮想空間生成手段41は、プレイヤキャラクタの移動に伴って、ゲームデータ30bに含まれるオブジェクトおよびテクスチャなどのデータを読み出し、三次元の仮想空間を生成する。
図3は、本実施の形態における3次元の仮想空間を示す平面図である。また、図4は、本実施の形態におけるゲーム画面を示す図である。図3に示すように、3次元の仮想空間Sには、地形がポリゴン、テクスチャ等で描画され、当該地形上に各種のオブジェクト、仮想カメラC等が配置される。例えば、図3の例においては、移動オブジェクトとして、ユーザがコントローラ24を介して操作可能なプレイヤキャラクタP、ノンプレイヤキャラクタである敵キャラクタEが仮想空間Sに配置され、固定オブジェクトとして噴水台Qが仮想空間Sに配置されている。
移動オブジェクト制御手段44は、仮想空間を移動可能な移動オブジェクトP,Eの移動を制御する。特に、移動オブジェクト制御手段44は、キャラクタ制御手段48として機能し、少なくとも当該コンピュータを操作するユーザに対応するキャラクタ(プレイヤキャラクタ)の動作を、当該ユーザによるコントローラ24の操作入力またはゲームの進行状況に応じて制御する。移動オブジェクトは、プレイヤキャラクタPおよびノンプレイヤキャラクタE以外の移動可能な物体を含む。例えば移動オブジェクトには、車、飛行機等の乗物や、ボール、爆弾、弾丸、弓矢等の飛翔物や、動物や、爆発等によって飛散する家具等の固定物等が含まれる。これらの移動オブジェクトも、移動オブジェクト制御手段44によって制御される。
画面表示手段42は、仮想空間Sに配置した仮想カメラCで撮影した画像をゲーム画面G(図4)としてモニタ19に表示する。ゲーム画面Gには、仮想カメラCの撮影範囲Uに含まれる移動オブジェクトP,E、固定オブジェクトQ、後述する流体要素T1,T2等も表示される。
流体表現手段43は、仮想空間S内における流体要素T1,T2の疑似的な3次元表現をゲーム画面G上で行う。本実施の形態においては、図4に示すように、ノンプレイヤキャラクタEに纏わりつく一連の炎T1および噴水台Qから噴出する一連の噴水T2を例示している。流体要素は、これらに限られず、例えば炎、煙、水蒸気等の気体または気体中を浮遊する粒子であってもよいし、例えば水、血等の液体であってもよい。
[流体表現処理]
ビルボード配置手段45は、仮想空間Sにおける流体要素T1,T2を表現すべき位置にビルボードB1,B2を配置する。ビルボードB1は、ノンプレイヤキャラクタEに配置され、ノンプレイヤキャラクタEの移動に応じてビルボードB1も移動する。すなわち、ビルボード配置手段45は、ビルボードB1を移動オブジェクトであるノンプレイヤキャラクタEに付随して動くように配置する。このため、ビルボードB1の中心点A1(後述)の位置座標は、ノンプレイヤキャラクタEの位置座標に連動して移動する。ビルボードB2は、固定オブジェクトである噴水台Qに配置される。すなわち、ビルボードB2は、仮想空間Sにおける所定の位置座標に固定配置される。
図5は、本実施の形態における流体の疑似的な3次元表現方法を説明するための図である。図5においてはノンプレイヤキャラクタEに配置されるビルボードB1(炎T1)の表現態様について例示しているが、噴水台Qに配置されるビルボードB2(噴水T2)の表現態様についても同様である。ビルボードB1は、平面要素Dと、当該平面要素D内に設けられた所定の中心点A1と、を有し、平面要素Dが仮想カメラCの位置を向くように中心点A1回りに回動する。すなわち、平面要素Dは、仮想カメラCの中心点A1に対する位置が変化しても、後述する流体要素T1の表示面が仮想カメラCの位置と中心点A1とを結ぶ線分F1に直交するように配置される。ビルボードB2の平面要素Dも同様に、仮想カメラCの位置を向くように中心点A2回りに回動する。平面要素D自体は、ゲーム画面G上には表示されない(透明である)が、図3および図4においては分かり易くするために明示している。
なお、ビルボードB1は、中心点A1回りの回動が所定範囲に制限されていてもよい。例えば、ビルボードB1は、中心点A1を含む鉛直軸回りの回動のみが許容され、高さ方向には回動しないこととしてもよい。この場合、仮想カメラCは、高さ方向の角度(俯仰角)が変わらないことが好ましい。
一般的なビルボードは、平面要素Dに文字または絵が貼り付けられる。ビルボードが仮想カメラCの位置を向くことにより、仮想空間Sのどの位置から見ても同じ文字または絵が表示される。後述するように、本実施の形態におけるビルボードB1,B2は、文字または絵の代わりに、平面要素D上で行われた流体要素T1の2次元シミュレーションの結果を表示する。
2次元シミュレーション表示手段46は、ビルボードB1の平面要素D上で流体要素T1の2次元シミュレーションを行い、その結果を平面要素D上に表示する。2次元シミュレーションにおいて、ビルボードB1の平面要素Dは、所定のグリッド(シミュレーショングリッド)が設定される。例えば、シミュレーショングリッドは、平面要素Dを64マス×64マスに区分けするグリッドとして構成される。2次元シミュレーション表示手段46は、平面要素D上における所定の流体発生源R1,R2を起点とする流体要素(炎T1)の動きを平面要素D上においてグリッド単位でシミュレーションする。
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>等に記載された態様が例示できる。
このように、仮想カメラCの位置の変更に伴って当該仮想カメラCの位置に向くようにビルボードB1,B2が回動することにより、ビルボードB1,B2の平面要素D上に表示される流体要素T1,T2を疑似的に3次元的に表現することができる。さらに、2次元の表現要素である流体要素T1,T2に対して所定の物理的法則等に従った2次元シミュレーションをビルボードB1,B2の平面要素D上で行うことにより、疑似的に3次元的に表現された流体要素T1,T2が平面要素D上をよりリアルに移動する。したがって、2次元の表現要素(流体要素T1,T2)を3次元的に見せるビルボードB1,B2と2次元シミュレーションとを組み合わせることにより、流体の表現を豊かにしつつ当該流体表現のための処理負荷の増大を抑制することができる。すなわち、流体表現を含む3次元の仮想空間の表示に関する処理速度の低減を抑制することができる。また、ビルボードB1のように、ビルボードを移動オブジェクト(ノンプレイヤキャラクタE)に配置することにより、移動オブジェクトの周囲における流体要素T1を移動オブジェクトの移動に応じて表現することができる。
2次元シミュレーションは、所定のシミュレーション条件に基づいて行われる。例えば、シミュレーション条件は、流体要素の性質(気体または液体の種類、流体要素自体の粘性等)、起点における流体要素の移動方向、初速、重力の加わる方向等に基づいて一ないし複数のパラメータとして設定される。さらに、2次元シミュレーション表示手段46は、ビルボードB1の平面要素と仮想空間SにおけるビルボードB1の周囲において相対的な位置が変化する所定の環境要素との仮想空間Sにおける位置関係に基づいて、流体要素T1,T2が所定の要素からの干渉を受けるように2次元シミュレーションを行う。例えば、仮想空間Sにおける所定の環境要素は、風、雨等の仮想空間S内の流体の流れであってもよいし、ビルボードB1に衝突する所定のオブジェクト(キャラクタ等)であってもよい。また、ビルボードB1が仮想空間S内を移動する場合には、所定の環境要素には、当該移動に伴ってビルボードB1が受ける風圧または水圧等も含まれる。
これにより、ビルボードB1の周囲の環境要素から流体への3次元的な干渉がビルボードB1上の平面的な干渉要素として扱われる。すなわち、ビルボードB1に投影された環境要素による平面的な干渉を考慮して流体の2次元シミュレーションが行われる。これにより、3次元シミュレーションにおいて3次元的な干渉を考慮する場合に比べてシミュレーションの負荷を格段に低減させることができる。
例えば、3次元シミュレーションにおいて64マス×64マス×64マスのグリッドを用いた立方体内で3次元シミュレーションを行う場合、一のグリッドにおける環境要素による干渉を考慮しようとすると、一平面だけではなく当該平面の奥行き方向からの干渉も考慮する必要がある。一方、平面要素D(64マス×64マス)内での2次元シミュレーションではこのような奥行き方向からの干渉は考慮されない。したがって、単にグリッドの数が減る(1/64になる)だけでなく、立体的なベクトル演算が不要となるため、ビルボードB1,B2上で2次元シミュレーションを行うことは、3次元シミュレーションを行う場合に比べて格段に処理負荷が小さくなる。
本実施の形態において、ビルボードB1における流体発生源R1,R2は、ノンプレイヤキャラクタE上に設定される。図5の上段の左図に示すように、流体発生源R1は、ノンプレイヤキャラクタEの頭部に設定され、流体発生源R2は、ノンプレイヤキャラクタEの腹部に設定される。2次元シミュレーション表示手段46は、所定の流体表示条件を満たした場合に、流体発生源R1,R2に接触しているビルボードB1の平面要素Dのグリッドを起点として流体要素(炎T1)の動きを平面要素D上でシミュレーションし、その結果を平面要素D上に表示する(図5の中段の図)。2次元シミュレーションに基づいてビルボードB1上に生じた流体要素T1が平面要素D上を移動することにより、流体要素T1の様子が変化する。ビルボードB1がノンプレイヤキャラクタE上に配置されることにより、仮想カメラCに対するノンプレイヤキャラクタEの向きに拘わらず、ノンプレイヤキャラクタE上に炎T1が表示され、ノンプレイヤキャラクタEが炎T1に包まれる表現が可能となる(図5の下段の図)。
ビルボードB2における流体発生源は、例えば噴水台Qの中央箇所(噴水噴出部)に設定される。なお、流体発生源は、上記の例のように、移動オブジェクトまたは固定オブジェクトの内部に設けられてもよいが、移動オブジェクトまたは固定オブジェクトの外部に設けられてもよい。また、流体発生源は、ビルボードB1,B2の平面要素上の所定位置に設けられてもよい。
流体表示条件は、特に限定されないが、例えば、本実施の形態において、ビルボードB1(の平面要素)上に表示される炎T1の流体表示条件は、「プレイヤキャラクタPの攻撃(火炎放射等)がノンプレイヤキャラクタEに命中すること」に設定されている。また、例えば、ビルボードB2(の平面要素)上に表示される噴水T2の流体表示条件は、「噴水台Qが仮想カメラCの撮影範囲内に位置すること」としてもよいし、「仮想空間Sに配置された所定のスイッチをプレイヤキャラクタP等が操作すること」としてもよい。また、流体表示条件を設定せず、流体要素が常に表示されるような態様としてもよい。
ビルボードB1,B2上に表示される流体要素T1,T2は、2次元シミュレーションに用いられる流体要素(ドット等)自身が着色されることにより表現されてもよい。これに代えて、テクスチャ投影手段47が、流体要素T1,T2に応じたテクスチャをビルボードB1,B2に投影し、2次元シミュレーション表示手段46が、ビルボードB1,B2に投影されたテクスチャを2次元シミュレーションによって得られる流体要素の動きに従って変形させることにより、流体要素T1,T2を表現してもよい。これにより、流体要素T1,T2に細かいディティールを付加しつつ流体の挙動をリアルにすることができる。したがって、流体の疑似的な3次元表現をより豊かにすることができる。
テクスチャを投影する場合、2次元シミュレーションにおける解像度は、投影されるテクスチャの描画解像度より低く設定されてもよい。例えば、1つのビルボードB1,B2あたり64マス×64マスのシミュレーショングリッドに対して、128マス×128マスの描画解像度(2倍の描画解像度)でテクスチャが描画される。すなわち、2次元シミュレーション表示手段46は、128マス×128マスの描画解像度でテクスチャを描画するために、64マス×64マスのシミュレーショングリッドで実行された2次元シミュレーションの結果を縦横2倍に引き延ばし、当該2次元シミュレーションの結果に応じて投影されたテクスチャを変形させる。これにより、2次元シミュレーションにおける解像度がテクスチャの描画解像度と同じ場合に比べて、2次元シミュレーションに要する処理負荷を低減しつつ遜色のないリアルな表現を実現することができる。なお、2次元シミュレーションの解像度およびテクスチャの描画解像度の組み合わせ(2次元シミュレーションにおける解像度に対するテクスチャの描画解像度の割合)は、表現する流体要素T1,T2の種類、ゲームにおける表示の重要度、流体要素T1,T2の周囲のオブジェクト等の描画解像度等によって適宜設定され得る。例えば、上記例に加えて64マス×64マスのシミュレーショングリッドに対して256マス×256マスの描画解像度(4倍の描画解像度)としてもよい。
[その他の例1]
上記例では、一連の流体要素T1,T2を一のビルボードB1,B2で表現する例について説明したが、一連の流体要素を複数のビルボードで表現することも可能である。図6は、本実施の形態の他の例におけるキャラクタに配置された複数のビルボードを示す図である。図6(a)は仮想カメラ側から見た図であり、図6(b)はキャラクタを上方から見た図(平面図)である。
本変形例において、ビルボード配置手段45は、一連の流体要素(図6には図示せず)を形成する複数のビルボードBi(i=a〜f)を配置する。複数のビルボードBiは、仮想カメラCから見て、当該複数のビルボードBiのうちの少なくとも2つのビルボードの中心点Ai(i=a〜f)が奥行き方向(仮想カメラCの中心軸F方向)にずれるように配置される。本変形例においては、各ビルボードBa〜Bfの中心点Aa〜AgがキャラクタHの頭部、胴、右手、左手、右膝、左膝の順に配置されている。これにより、仮想カメラCがキャラクタHに対してどのような位置からキャラクタHを撮影しても、複数のビルボードBiのうちの少なくとも2つのビルボードの中心点Aiが奥行き方向にずれた状態となる。
複数のビルボードBiを用い、仮想カメラCから見て中心点Aiの位置が奥行き方向にずれたビルボードBiを複数存在させることにより、流体の疑似的な3次元表現にビルボードBiの奥行方向の厚みを持たせることができ、より立体的な表現とすることができる。例えば、図6(a)および図6(b)に示すように、キャラクタHに複数のビルボードBiが配置される場合、キャラクタHの全身に一連の流体表現を生じさせるにはキャラクタHが仮想カメラCの向きに対してどのような向きに配置されてもキャラクタHに接触するビルボードBiが常に3枚以上あるようにしてもよい。これにより、仮想カメラCがどの位置からキャラクタHを撮影しても、より違和感の少ない流体要素の疑似的な3次元表現を行うことができる。
本例において、流体発生源は、例えばキャラクタHの全身の表面に設定される。この場合、2次元シミュレーション表示手段46は、所定の流体表示条件を満たした場合に、流体発生源、すなわち、キャラクタHに接触しているビルボードBiの各平面要素Dのグリッドを起点として流体要素(例えば図3〜5の例と同様の炎T1等)の動きを平面要素D上でシミュレーションする。なお、これに代えて、流体発生源が、複数のビルボードBiのそれぞれが接触し得るキャラクタHの表面における複数個所に設定されてもよい。このように、複数のビルボードBiを用いて流体要素を表現する場合、流体発生源は、各ビルボードBiが少なくとも特定の姿勢となった場合に、流体発生源が当該ビルボードBiに接触可能となるような位置に設定されればよい。
なお、2次元シミュレーション表示手段46は、仮想カメラCと複数のビルボードBiとの距離に応じて複数のビルボードBiのうちの一部のビルボード上の流体表現の表示/非表示(または2次元シミュレーションの実行/停止)を切り替えてもよい。また、複数のビルボードBiがキャラクタH等のオブジェクトに配置されている場合、仮想カメラCの向きに対するオブジェクトの向きに応じて複数のビルボードBiのうちの一部のビルボード上の流体表現の表示/非表示(または2次元シミュレーションの実行/停止)を切り替えてもよい。
[その他の例2]
また、上記例では、固定オブジェクトまたは移動オブジェクトにビルボードB1,B2を配置して、各オブジェクトに関連した流体表現を行うこととしたが、流体要素を仮想空間S自体に配置された環境要素として表現してもよい。図7は、本実施の形態の他の例における仮想空間に配置されたビルボードを示す図である。図7の例において、例えば仮想空間Sの所定位置に中心点Aj(j=m〜o)が固定配置された3つのビルボードBj(j=m〜o)が配置されている。理解容易のために、移動オブジェクトであるキャラクタKは、ビルボードBjにおける流体要素T1の表示面(平面要素D)が仮想カメラCの位置と中心点Ajとを結ぶ線分Fに平行に移動する(VK方向に移動する)場合を考える。なお、キャラクタKの移動方向が線分Fに交差する方向(所定の角度を有する方向)に移動する場合も同様である。各ビルボードBjには、流体要素(例えば煙)Sj(j=m〜o)がそれぞれ独立した2次元シミュレーションに基づいて表示される。特に、キャラクタKが通過していないビルボードBoには、流体要素ToがビルボードBo(の平面要素)上に一様に表示されている。
このようなビルボードBjにキャラクタKが接触する(通り抜ける)場合、図7におけるビルボードBnに示されるように、ビルボードBn上に表示された流体要素TnがキャラクタKの周囲に広がるように表示される。キャラクタKの周囲には、当たり判定領域Lが設けられ、ビルボードBnと接触した当たり判定領域Lの境界より内側の流体要素Tnは、環境要素による干渉として外向きの力V1を受ける。この外向きの力V1は、ビルボードBn上の流体要素Tnのための2次元シミュレーションの条件として加えられ、流体要素Tnの表示態様が当該外向きの力V1の影響を受けたものとなる。この結果、キャラクタKが接触したビルボードBnにおける当たり判定領域Lの境界より内側に表示される流体要素Tnは薄くなる。
キャラクタKの通過後、ビルボードBmのように当たり判定領域LとビルボードBmとの接触がなくなると、元々ビルボードBmに接触していた当たり判定領域Lの境界より外側(境界の周囲)の流体要素Tmは、環境要素による干渉として内向きの力V2を受ける。この内向きの力V2は、ビルボードBm上の流体要素Tmのための2次元シミュレーションの条件として加えられ、流体要素Tmの表示態様が当該内向きの力V2の影響を受けたものとなる。この結果、キャラクタKの通過によりビルボードBmにおいて流体要素Tmが薄くなった領域(キャラクタKのビルボードBmへの接触時における当たり判定領域Lの境界より内側の領域)に流体要素Tmが流れ込むような表現態様となる。以上のような流体要素Tjの表示態様により、キャラクタKが煙(流体要素Tj)の中を進むことでキャラクタKの周囲の煙がキャラクタKの移動に応じて巻き込まれるといった表現が容易に実現できる。
なお、キャラクタKの周囲に設けられる当たり判定領域Lは、キャラクタK自体の境界より外側に位置する方が好ましい。これにより、流体要素の動きをよりリアルに表現することができる。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
例えば、流体要素を表示するビルボードの配置態様は、仮想空間S内において1枚ずつ配置される態様に限られない。例えば複数のビルボードが連設された構成であってもよい。これは、いわゆるリボンと一般的に呼称され、仮想空間Sの所定位置に配置された一のビルボードの端部に他のビルボード(複数でもよい)が接続されたものである。このような配置態様は、長く立ちのぼる煙(のろし)等の表現を行う際に有効となる。
また、ビルボードは、仮想空間S内に配置されるオブジェクトとは独立して仮想空間Sの所定の範囲を移動するように配置されてもよい。例えば、このような配置態様は、広範囲に流れていく煙等の表現を行う際に有効となる。
2次元シミュレーション表示手段46は、仮想カメラCとビルボードとの距離に応じて当該ビルボード上の流体要素の表示または非表示(あるいは2次元シミュレーションの実行または停止)を切り替えてもよい。この場合、2次元シミュレーション表示手段46は、仮想カメラCとビルボードとの距離が所定距離より遠い場合に、ビルボード上の流体要素の表示を非表示とする、または、2次元シミュレーションを停止する。これによって、ビルボード上の流体要素がゲーム画面上であまり見えない場合に、流体要素の表示を行わないことにより、処理負荷の低減を行うことができる。なお、ビルボード上の流体要素の表示または非表示(あるいは2次元シミュレーションの実行または停止)の切り替えは段階的に行うことが好ましい。
また、ビルボードがオブジェクトに配置されている場合において、2次元シミュレーション表示手段46は、仮想カメラCの向きに対するオブジェクトの向きに応じてビルボード上の流体表現の表示または非表示(あるいは2次元シミュレーションの実行または停止)を切り替えてもよい。また、ビルボードが移動オブジェクトに配置されている場合において、2次元シミュレーション表示手段46は、仮想カメラCから見て移動オブジェクトが固定オブジェクト等の遮蔽部に隠れたとき、2次元シミュレーションを変化させてもよい(例えばシミュレーションの速度を遅くしてもよい)。
また、上記実施の形態において、仮想カメラCは、プレイヤキャラクタPの背後に配置され、プレイヤキャラクタPの移動に伴って移動するように構成されることを例示した。しかし、これに限られず、例えば仮想カメラCをプレイヤキャラクタPとは独立して移動可能としてもよいし、仮想カメラCを仮想空間Sの所定の位置に固定配置する態様としてもよい。仮想カメラCを固定配置する場合、特に、複数の仮想カメラCで異なる角度から同じオブジェクトを撮影する態様において、当該オブジェクトに流体要素を表示する場合に、ビルボードを用いた上記表現態様が好適に適用され得る。
また、一連の流体要素に対して複数のビルボードを用いる場合、2次元シミュレーション表示手段46は、流体要素を表示するビルボードの数(2次元シミュレーションを行うビルボードの数)を所定数(上限数)に制限してもよい。これにより、処理負荷の増大を抑えつつ、過不足のない流体表現を行うことができる。
また、上記実施の形態において、アクションゲームを例示したが、ビルボードを用いた上記表現態様は、ロールプレイングゲーム、シミュレーションゲームまたはシューティングゲーム等、3次元の仮想空間を用いる種々のゲームに適用可能である。
また、上記実施の形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
本発明は、3次元の仮想空間を用いたゲームにおいて、流体の表現を豊かにしつつ当該流体表現のための処理負荷の増大を抑制するために有用である。
2 ゲーム装置
30a ゲームプログラム
30b ゲームデータ
41 仮想空間生成手段
42 画面表示手段
43 流体表現手段
44 移動オブジェクト制御手段
45 ビルボード配置手段
46 2次元シミュレーション表示手段
47 テクスチャ投影手段
48 キャラクタ制御手段
A1,A2,Aa〜Af,Am〜Ao 中心点
B1,B2,Ba〜Bf,Bm〜Bo ビルボード
C 仮想カメラ
D 平面要素
S 仮想空間
T1,T2,Tm〜To 流体要素
E,P,H,K キャラクタ(移動オブジェクト)
Q 固定オブジェクト

Claims (7)

  1. コンピュータを、
    3次元の仮想空間を生成する仮想空間生成手段、
    前記仮想空間に配置した仮想カメラで撮影した画像をゲーム画面として表示する画面表示手段
    前記仮想空間内における流体要素の疑似的な3次元表現を前記ゲーム画面上で行う流体表現手段、および
    前記仮想空間を移動可能な移動オブジェクトの移動を制御する移動オブジェクト制御手段、として機能させ、
    前記流体表現手段は、
    平面要素を有し、前記平面要素が前記仮想カメラの位置を向くように当該平面要素内に設けられた所定の中心点回りに回動するビルボードを、前記仮想空間に配置するビルボード配置手段と、
    前記ビルボードの前記平面要素上で前記流体要素の2次元シミュレーションを行い、その結果を前記平面要素上に表示する、2次元シミュレーション表示手段と、を含み、
    前記移動オブジェクトの周囲には、前記ビルボードとの接触を判定するための当たり判定領域が設けられ、
    前記2次元シミュレーション表示手段は、前記ビルボードに前記移動オブジェクトが接触したと判定された場合、前記ビルボード上に表示された前記流体要素のうち、前記ビルボードに接触している前記当たり判定領域の境界より内側の流体要素が前記当たり判定領域の内側から外側へ向かうような外向きの力を受けることを、前記流体要素の2次元シミュレーション条件として加える、ゲームプログラム。
  2. 前記2次元シミュレーション表示部は、前記ビルボードに前記移動オブジェクトが接触したと判定された後、前記ビルボードから前記移動オブジェクトが接触しなくなったと判定された場合、前記ビルボード上に表示された前記流体要素のうち、前記ビルボードに接触していたときの前記当たり判定領域の境界より外側の流体要素が前記当たり判定領域の外側から内側へ向かうような内向きの力を受けることを、前記流体要素の2次元シミュレーション条件として加える、請求項1に記載のゲームプログラム。
  3. 前記当たり判定領域は、前記移動オブジェクト自体の境界より外側に位置する、請求項1または2に記載のゲームプログラム。
  4. 前記ビルボード配置手段は、一連の前記流体要素を形成する複数の前記ビルボードを配置し、
    前記複数のビルボードは、前記仮想カメラから見て、当該複数のビルボードのうちの少なくとも2つのビルボードの前記中心点が奥行方向にずれるように配置される、請求項1から3の何れかに記載のゲームプログラム。
  5. 前記ビルボード配置手段は、前記ビルボードを前記移動オブジェクトに付随して動くように配置する、請求項1から4の何れかに記載のゲームプログラム。
  6. 前記流体表現手段は、
    前記流体要素に応じたテクスチャを前記ビルボードに投影するテクスチャ投影手段を含み、
    前記2次元シミュレーション表示手段は、前記ビルボードに投影された前記テクスチャを前記2次元シミュレーションによって得られる前記流体要素の動きに従って変形させる、請求項1から5の何れかに記載のゲームプログラム。
  7. 請求項1から6の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、
    前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
JP2016032747A 2016-02-24 2016-02-24 ゲームプログラムおよびゲームシステム Active JP6441843B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016032747A JP6441843B2 (ja) 2016-02-24 2016-02-24 ゲームプログラムおよびゲームシステム
US15/440,301 US10272337B2 (en) 2016-02-24 2017-02-23 Non transitory computer-readable storage medium and method of controlling a computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016032747A JP6441843B2 (ja) 2016-02-24 2016-02-24 ゲームプログラムおよびゲームシステム

Publications (2)

Publication Number Publication Date
JP2017148206A JP2017148206A (ja) 2017-08-31
JP6441843B2 true JP6441843B2 (ja) 2018-12-19

Family

ID=59629683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016032747A Active JP6441843B2 (ja) 2016-02-24 2016-02-24 ゲームプログラムおよびゲームシステム

Country Status (2)

Country Link
US (1) US10272337B2 (ja)
JP (1) JP6441843B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107181976B (zh) * 2017-04-28 2021-01-29 华为技术有限公司 一种弹幕显示方法及电子设备
CN108038895A (zh) * 2017-12-06 2018-05-15 北京像素软件科技股份有限公司 一种公告板生成方法及装置
CN109598777B (zh) * 2018-12-07 2022-12-23 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备及存储介质
US11875452B2 (en) * 2020-08-18 2024-01-16 Qualcomm Incorporated Billboard layers in object-space rendering

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428562B2 (ja) * 2000-04-25 2003-07-22 株式会社スクウェア オブジェクトの動きを処理する方法および記録媒体、並びに、ゲーム装置
JP2002222435A (ja) * 2001-01-29 2002-08-09 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2003091738A (ja) * 2001-09-17 2003-03-28 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP3646988B2 (ja) * 2001-09-25 2005-05-11 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置、ゲーム画面表示方法及びプログラム
US20040181382A1 (en) * 2003-03-14 2004-09-16 Yaohua Hu Visualizing the surface of a liquid
US7921003B2 (en) * 2007-01-23 2011-04-05 Adobe Systems Incorporated System and method for simulating shallow water effects on arbitrary surfaces
TW200945249A (en) * 2008-04-28 2009-11-01 Inst Information Industry Method for rendering fluid
JP4970583B2 (ja) * 2010-10-04 2012-07-11 株式会社バンダイナムコゲームス 情報記憶媒体及びゲーム装置
US9147283B1 (en) * 2011-10-30 2015-09-29 Lockhead Martin Corporation Water surface visualization during a simulation

Also Published As

Publication number Publication date
US10272337B2 (en) 2019-04-30
US20170239573A1 (en) 2017-08-24
JP2017148206A (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
JP5832666B2 (ja) 複数のデバイスにまたがる拡張現実表現
Vera et al. Augmented mirror: interactive augmented reality system based on kinect
KR101748593B1 (ko) 생성된 장면 내에서 연기하는 배우의 시야와 움직임의 캡쳐
Murray Building virtual reality with unity and steamvr
JP6441843B2 (ja) ゲームプログラムおよびゲームシステム
WO2005110033A2 (en) Video game including time dilation effect and a storage medium sotring software for the video game
KR20100084597A (ko) 모션 캡쳐, 헤드 마운트 디스플레이 및 cave를 사용하는 협업형 실감 환경
JP2022544888A (ja) インタフェース表示方法、装置、端末、記憶媒体及びコンピュータプログラム
JP2009070076A (ja) プログラム、情報記憶媒体及び画像生成装置
JP2022552752A (ja) 仮想環境の画面表示方法及び装置、並びにコンピュータ装置及びプログラム
US10307679B2 (en) Non transitory computer-readable storage medium and method of controlling a computer
JP2005319029A (ja) プログラム、情報記憶媒体および画像生成システム
Lindley et al. Narrative structure in trans-reality role-playing games: Integrating story construction from live action, table top and computer-based role-playing games
JP2019076635A (ja) ゲームプログラム及びゲームシステム
Kostov Fostering player collaboration within a multimodal co-located game
JP5479503B2 (ja) プログラム、情報記憶媒体及び画像生成装置
JP6441844B2 (ja) ゲームプログラムおよびゲームシステム
JP6351647B2 (ja) ゲームプログラムおよびゲームシステム
Garcia et al. Modifying a game interface to take advantage of advanced I/O devices
Branca et al. Reducing Sickness And Enhancing Virtual Reality Simulation On Mobile Devices By Tracking The Body Rotation.
Li et al. An immersive environment for a virtual cultural festival
Häger Enhanced Immersion in Augmented Reality Applications
JP2022188633A (ja) 情報処理装置、プログラム、及びゲーム画像生成方法
JP2009066124A (ja) プログラム、情報記憶媒体及び画像生成装置
JP2001243499A (ja) ゲームシステム及び情報記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180613

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: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181122

R150 Certificate of patent or registration of utility model

Ref document number: 6441843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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