JP2009064448A - 画像生成装置 - Google Patents
画像生成装置 Download PDFInfo
- Publication number
- JP2009064448A JP2009064448A JP2008236995A JP2008236995A JP2009064448A JP 2009064448 A JP2009064448 A JP 2009064448A JP 2008236995 A JP2008236995 A JP 2008236995A JP 2008236995 A JP2008236995 A JP 2008236995A JP 2009064448 A JP2009064448 A JP 2009064448A
- Authority
- JP
- Japan
- Prior art keywords
- image
- game
- generation apparatus
- image generation
- moving
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5258—Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/219—Input arrangements for video game devices characterised by their sensors, purposes or types for aiming at specific areas on the display, e.g. light-guns
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/837—Shooting of targets
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/643—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6661—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6661—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
- A63F2300/6676—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6661—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
- A63F2300/6684—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8076—Shooting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】リアル感および臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚でき、従来に比べて演算処理も遜色なく、ガンシューティングゲームなどに好適な画像生成装置を提供する。
【解決手段】ガンゲームのゲーム空間内を移動するエネミを同空間内の移動可能なカメラ視点から捕捉した画像を生成する。エネミに関して定めた注視点と現在のカメラ視点からの視線との位置関係を用いてカメラ視点の移動を画像1フレーム毎に制御する手段を備える。この手段は、カメラ視点の特定の移動状況を判断し、カメラ視点をその視線方向を保持したまま移動させ、カメラ視点の位置から注視点へ向かう方向とその移動前のカメラ視点の視線方向との成す角度を演算し、その角度に基づいてカメラ視点を注視点の方向に回転させる。
【選択図】図1
【解決手段】ガンゲームのゲーム空間内を移動するエネミを同空間内の移動可能なカメラ視点から捕捉した画像を生成する。エネミに関して定めた注視点と現在のカメラ視点からの視線との位置関係を用いてカメラ視点の移動を画像1フレーム毎に制御する手段を備える。この手段は、カメラ視点の特定の移動状況を判断し、カメラ視点をその視線方向を保持したまま移動させ、カメラ視点の位置から注視点へ向かう方向とその移動前のカメラ視点の視線方向との成す角度を演算し、その角度に基づいてカメラ視点を注視点の方向に回転させる。
【選択図】図1
Description
本発明は、画像生成装置に関し、特に、仮想3次元空間内を移動させる移動体と、この移動体に画像を追従させるための当該空間内のカメラ視点(すなわちモニタ画像)との移動制御を必須とする、ガンシューティングゲームなどに好適な画像生成装置に関する。
近年のコンピュータグラフィックス技術の発達に伴い、業務用、家庭用を問わず、シミュレーション装置やゲーム装置が広く一般に普及するようになっている。ゲーム装置の一つのジャンルとして、仮想ゲーム空間を移動する標的(エネミ)を打ち落とすガンシューティングゲーム(ガンゲーム)があり、根強い人気を得ている。
このゲーム装置は通常、ガンユニット、グラフィックス処理用のCPU、モニタなどを備える。遊戯者がモニタ画面上に現れるエネミを狙ってガンユニットのトリガを操作すると、CPUはガンユニットから発射された光信号のモニタ画面上の位置を検出し、この位置データに基づきエネミを倒す処理などを含んだ画像処理を行う。
従来の代表的なガンシューティングゲームの一つに、(株)セガ・エンタープライゼス製の「バーチャコップ(商標)」がある。このガンゲームは、モニタ画面上の仮想3次元空間(ゲーム空間)に出現するエネミを遊戯者がガンユニットを用いて打ち落とすことで得点を競うものである。このゲームでは、エネミはモニタ画面上の予め定められた場所に予め定められたタイミングで出現する。また、遊戯者がエネミにガンユニットの銃口を向けると、モニタ画面上の視点がそのエネミに近付き、エネミがモニタ画面に拡大表示される。エネミの行動は装置のCPUで所定プログラムにより制御されており、必要に応じて、モニタ画面を見ている遊戯者に向けて反撃してくるようになっている。
しかしながら、本発明者が従来のガンシューティング用のゲーム装置を種々検討した結果、極力リアルで臨場感に富み、しかもゲームへの興味感を高揚できるゲームを提供して欲しいとする昨今の要求には未だほど遠い面が多々あった。
(1)例えば、従来のガンシューティングゲームにおいて、エネミが遊戯者に向けて反撃する場合の問題がある。エネミがCPU制御により弾丸を発射してきた場合、遊戯者はゲーム上で「危険な状態」(エネミから狙われている状態)にある。しかし、従来のエネミが遊戯者を狙っている状態でのエネミの正面面積は最も小さいので、遊戯者は「危険な状態」に直面しているということをエネミの画像からだけでは認識し難い。したがって、遊戯者は突然にエネミに倒されてしまったという感覚を抱くことになり、現実の世界でのゲームとの違和感を与えてしまっていた。
これを避けるため、モニタ画面上にマーカを表示して遊戯者に「危険な状態」にあることを認識させるという手法をとっている従来装置もあるが、この手法はあまりにも人為的で、自然なゲーム感を与えるものではなかった。
(2)第2に、カメラ視点(すなわち遊戯者が見るモニタ画面の視点)を、エネミの移動に程よくかつエネミを見失うことなく移動させることができていなかった。例えば、エネミの移動速度が早い場合や、複数のエネミが居る場合などにおいて、従来のカメラ視点の回転が瞬発すぎて、遊戯者が画面上でエネミを見失うなどの問題があった。
(3)また、従来のガンシューティングゲームにおいては、人物の行動を制御するために、すべての状況に対応した規則ベースを持つ必要がある。このため、例えば、「それまで怖がっていたのに、いきなり冷静に反撃する」などの不自然な行動をキャラクタにとらせないようにするには、そのような行動(結果)と原因との間の繋がりについてまでも規則を作り、それをデータベースとして予め保持させておく必要があった。したがって、このデータベースの開発には時間と手間が掛かり、開発コストが上がるという問題があった。また、データベースとして格納してしまうので、格納情報にミスがあっても分かり難いという問題もあった。さらに、データベース用のメモリ容量も大きくなっていた。
(4)さらに、従来のガンシューティングゲームでは壁、障害物など、移動体以外の構造体は移動させていない。このため、弾丸とそれらの構造体とのコリジョン(当たり)判定は、構造体が常にゲーム空間上の固定位置に在るという前提で行われているため、几帳面な画像にはなるが、ゲーム性の向上という観点に立脚したコリジョン時の迫力やダイナミックなゲーム展開を演出するには物足りなかった。
(5)さらに、従来のガンシューティングゲームの場合、キャラクタを構成するパーツの動きや、キャラクタのモーション間の動きにリアル性に欠ける面が多々あった。例えば、従来の場合、弾丸が当たったときに、単に倒れる動きをさせるだけであったが、実際は弾丸が当たったことの反動などの表現も欲しいし、また「撃たれてもまだ死んでいない」といった表現も欲しい。また、あるモーションと次のモーションとの間のキャラクタの動きを演算処理量が少ない状態でかつ滑らかにする面でも不満があった。
本発明は、このような従来技術が直面している状況に鑑みてなされたもので、従来よりもリアル感および臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚でき、しかも従来に比べて演算処理も遜色なく、ガンシューティングゲームなどに好適な画像生成装置を提供することを、その主要な目的とする。
また、遊戯者に「危険な状態」を的確に認識させることで、臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚できるようにすることも、本発明の別の目的の1つである。
さらに、カメラ視点を、エネミの移動に程よくかつエネミを見失うことなく移動させることで、ゲーム感やゲームへの興味感を大幅に高揚でき、ガンシューティングゲームなどに好適なゲーム装置を提供することも、本発明の別の目的の1つである。
さらに、キャラクタの挙動を制御する上で「感情」に起因した「行動」の要素を持たせることができ、かつ、その開発の手間や時間などを抑え、リアル感および臨場感に富み、しかも従来に比べて演算処理を重くすることなく、ガンシューティングゲームなどに好適なゲーム装置を提供することも、本発明の別の目的の1つである。
さらに、壁、障害物など、移動体以外の構造体とのコリジョンに迫力を持たせ、またダイナミックなゲーム展開を行って、臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚できるゲーム装置を提供することも、本発明の別の目的の1つである。
さらにまた、キャラクタを構成するパーツの動きや、キャラクタのモーション間の動きのリアル性を向上させ、リアル感および臨場感に富み、しかも従来に比べて演算処理も遜色なく、ガンシューティングゲームなどに好適なゲーム装置を提供することも、本発明の別の目的の1つである。
上記各目的を達成させるため、本発明にかかる画像生成装置は下記のように構成されている。
その第1の構成は、仮想3次元空間内を移動する移動体を当該仮想3次元空間内の移動可能な視点から捕捉した画像を生成する画像生成装置において、前記移動体に関して定めた注視点と現在のカメラ視点からの視線との位置関係を用いて前記カメラ視点の移動を制御する移動手段を備える、ことである。好適には、前記仮想3次元空間はゲーム空間であり、前記移動体はそのゲーム空間で演じられるガンシューティングゲームのエネミである。さらに好適には、前記ゲーム空間を画面に表示する表示手段と、遊戯者がトリガを操作して前記画面に向かって信号を発することができるガンユニットと、前記表示手段の画面上の前記信号の到達位置を検知するセンサと、前記到達位置に基づき前記エネミと遊戯者との間のガンシューティングゲームを実行するゲーム実行手段とを備える。
例えば、前記注視点の位置は前記移動体とは別個の位置であり、この注視点を前記画像の1フレームの表示毎に前記移動体に向かって移動させる注視点移動手段を備えることができる。また、前記注視点移動手段は、前記画像の1フレームの表示毎に、前記注視点と前記移動体の位置とを結んだ直線距離に沿って当該注視点を前記移動体側にその直線距離の所定距離分ずつ移動させる手段であるように構成してもよい。さらに、前記注視点移動手段は、前記カメラ視点から延びる現在の視線とそのカメラ視点から前記注視点と通って延びる線との間のなす開き角度を演算する手段と、その開き角度から所定の回転角度を演算する手段と、前記画像の1フレームの表示毎に前記回転角度だけ前記カメラ視点の向きを前記注視点側に回転させる手段とを備えることもできる。
とくに、前記移動手段は、前記遊戯者の操作に応じて変化する前記カメラ視点と前記注視点との相対的位置関係の特定状況の発生を判断する判断手段と、この判断手段により前記特定状況が判断されたときに、前記注視点の位置を常に補足するように前記カメラ視点の位置を制御する視点移動制御手段とを備えることが望ましい。例えば、前記視点移動制御手段は、前記カメラ視点を移動させる移動動作と、当該移動後のそのカメラ視点の位置から前記注視点へ向かう方向とその移動前の前記カメラ視点の視線方向との成す角度に応じた回転動作とを伴う位置制御を行う手段であるように構成できる。例えば、前記視点移動制御手段は、前記角度に応じて前記カメラ視点を前記注視点の側に回転させる視点回転手段を有する。一例として、前記視点回転手段は、前記角度を所定値だけ増減させた角度に基づき前記カメラ視点を前記注視点の側に回転させる手段に構成できる。これにより、注視点を画面上で少しだけ動かすことができ、遊戯者に移動感や回り込み感を積極的に与えるという味付けを演出できる。さらに例えば、遊戯者を模した前記画面上のキャラクタが前記エネミの発射弾丸を避ける操作をその遊戯者が行う避け操作手段を備え、前記判断手段は、その避け操作手段が操作された状態かどうかを判断する手段である。
本発明の第2の構成は、仮想ゲーム空間に存在するエネミのキャラクタとの間で遊戯者がガンシューティングゲームを行う画像をディスプレイに表示する画像生成装置において、前記エネミのキャラクタから前記遊戯者への攻撃を前記遊戯者に事前に示唆する画像表示を行う画像処理手段を備える。好適には、前記画像表示は、前記エネミのキャラクタから発射され且つ実空間に居る前記遊戯者に向かって飛来する弾丸の表示である。この弾丸の表示は、例えば、山なりの弾丸の表示である。
本発明の第3の構成は、仮想ゲーム空間に存在するエネミのキャラクタとの間で遊戯者がガンシューティングゲームを行う画像を生成する画像生成装置においで、前記ゲームの状況、評価・決定、および行動のファクタとの間で影響し合う前記キャラクタの感情のファクタを取り入れたAI処理を実行するAI処理手段を備える。例えば、前記感情のファクタは前記ゲームに関する恐怖と怒りの感情要素で表される。好ましくは、前記AI処理手段は、前記行動のファクタに基づく行動の結果を前記感情のファクタに反映させる処理を行う手段を有する。
本発明の第4の構成は、仮想3次元空間内で移動する人物を模した移動体を、接続点を介して接続した複数のパーツで表現した画像を生成する画像生成装置において、前記複数のパーツの内の隣接する2つのパーツについて末端側の子パーツと中央部側の親パーツを特定する第1の特定手段と、前記子パーツの前記親パーツへの接続点が固定点である仮定してその子パーツの動きが親パーツに与える力積を演算する第1の演算手段と、前記第1の特定手段と第1の演算手段の動作を前記移動体の末端側からその中央部に掛けて再帰的に繰り返させる第1の繰り返し手段と、前記複数のパーツの内の隣接する2つのパーツについで中央部側の親パーツと末端側の子パーツを特定する第2の特定手段と、前記親パーツの動きが前記子パーツに掛かる力積を演算する第2の演算手段と、前記第2の特定手段と第2の演算手段の動作を前記移動体の中央部からその末端に掛けて再帰的に繰り返させる第2の繰り返し手段とを備える。
この第4の構成において、前記第1および第2の演算手段の少なくとも一方の演算手段は、前記人物を模す上での味付け的な演算処理を実行する手段としてもよい。例えば、前記味付け的な演算処理は、前記人物の関節の動きの制約に伴って生じる逆むきモーメントを前記パーツに付与する演算、前記人物に及ぼされる外力を前記パーツに反映させる演算、計算のずれに伴って生じる前記パーツの位置の不自然さを補正する演算、前記人物の肉体的特質から生じる内力によるモーメントを前記パーツに付与する演算、および前記人物の精神性から生じる表現を前記パーツに反映させるための当該パーツの回転または移動速度の制御演算の内の1つまたは複数種の演算を含む、ことが望ましい。
本発明の第5の構成は、仮想3次元空間内で移動する移動体の2種類のモーションの間のモーションを補間した画像データを生成する画像生成装置において、前記2種類のモーション間のモーションのファンクションカーブを現在の回転角度、目標回転角度、および目標回転角度到達までのフレーム数に基づき離散的に演算する演算手段と、この演算手段の演算結果に基づきモーション補間を行う補間手段とを備える。
本発明の第6の構成は、仮想3次元空間内で移動する移動体と同空間内に置かれた構造体とのコリジョンの判定を要する画像を生成する画像生成装置において、前記構造体を移動させながら前記移動体とのコリジョンを判定するコリジョン判定手段を備える。好適には、前記コリジョン判定手段は、前記構造体を平行移動または回転移動のいずれかの態様で移動させながらコリジョンを判定する手段である。
本発明はさらに、前記画像生成装置の前記各手段を実行するためのプログラムを記録した記録媒体である。記憶媒体とは、何らかの物理的手段により情報(主に、デジタルデータやプログラム)が記憶されたものであって、コンピュータ、専用プロセッサ等の処理装置に、所定の機能を実行させることができるものである。すなわち、何らかの手段をもってコンピュータにプログラムをダウンロードし、所定の機能を実行させるものであればよい。
例えば、フレキシブルディスク、ハードディスク、磁気テープ、磁気ディスク、CD、CD−ROM、DVD−RAM、DVD−ROM、DVD−R、PD、MD、DCC、ROMカートリッジ、バッテリバックアップ付きのRAMモメリカード、フラッシュメモリカートリッジ、不揮発性RAMカードリッジ等を含む。
また、有線や無線の通信回線(公衆回線、データ専用線、衛星回線等)を介してホストコンピュータからデータ転送を受ける場合も含むものとする。いわゆるインターネットもここにいう記録媒体に含まれる。
また、有線や無線の通信回線(公衆回線、データ専用線、衛星回線等)を介してホストコンピュータからデータ転送を受ける場合も含むものとする。いわゆるインターネットもここにいう記録媒体に含まれる。
以下、本発明の1つの実施の形態を図面を参照して説明する。
図1に、本発明に係る画像生成装置としてのゲーム装置の外観の一例を示す。このゲーム装置は、仮想ゲーム空間を移動する標的(エネミ)を打ち落とすガンシューティングゲームを実行するものである。
同図に示すように、ゲーム装置は装置本体1を備える。装置本体1は全体に略箱形を成し、その前面にディスプレイ1aを備える。ディスプレイ1aの横には後述するスピーカ14が取り付けられている。
図1に、本発明に係る画像生成装置としてのゲーム装置の外観の一例を示す。このゲーム装置は、仮想ゲーム空間を移動する標的(エネミ)を打ち落とすガンシューティングゲームを実行するものである。
同図に示すように、ゲーム装置は装置本体1を備える。装置本体1は全体に略箱形を成し、その前面にディスプレイ1aを備える。ディスプレイ1aの横には後述するスピーカ14が取り付けられている。
装置本体1の前面には、そのディスプレイ1aの下側に位置するように操作パネル2が設けられている。操作パネル2には、遊戯者が操作するトリガを備えたガンユニット11が取り付けられている。ガンユニット11のトリガを遊戯者が引く(操作)ことにより、ガンユニットから光信号がディスプレイ1aに向けて発射できるようになっている。また、装置本体1の前面下部には、遊戯者が操作する避け操作手段としてペダルセンサ4が設置されている。このペダルセンサ4は、遊戯者が自分を模したディスプレイ画面上のキャラクタを移動させて、弾丸を避けるときなどに使用するものである。このペダルセンサ4の検知情報は後述するゲーム処理ボードに送られる。このペダルセンサの代わりに、手動スイッチ、手動レバーであってもよい。
またディスプレイ1aの表示画面には、ガンユニット11からの光信号の入射位置を検知する位置センサ5が設けられている。位置センサ5はガンユニット11の一部を成す。この位置センサ5の検知情報は後述するゲーム処理ボードに送られる。
装置本体1の内部には、ゲーム処理ボード10が設けられている。このゲーム処理ボードには、ディスプレイ1a、ペダルセンサ4、位置センサ5、表示器などの出力装置12、スピーカ14などの装置が電気的に接続されている。遊戯者はディスプレイ1aに表示されるゲーム画面を見ながら、ガンユニット11を操作してガンシューティングゲームを行うことができる。
図2に、本実施形態に係るゲーム装置のブロック図を示す。同図に示す如く、ゲーム処理ボード10は、カウンタ100、CPU(中央演算処理装置)101、ROM102、RAM103、サウンド装置104、入出力インターフェイス106、スクロールデータ演算装置107、コ・プロセッサ(補助演算処理装置)108、図形データROM109、ジオメタライザ110、形状データROM111、描画装置112、テクスチャデータROM113、テクスチャマップRAM114、フレームバッファ115、画像合成装置116、およびD/A変換器117を備えている。
この内、CPU101はバスラインを介して、所定のプログラムや画像処理プログラムなどを記憶したROM102、演算データを記憶するRAM103、サウンド装置104、入出力インターフェース106、スクロールデータ演算装置107、コ・プロセッサ108、およびジオメタライザ110に接続されている。RAM103はバッファ用として機能させるもので、ジオメタライザに対する各種コマンドの書込み(オブジェクトの表示など)、各種の演算時の必要データの書込みなどに使用される。
入出力インターフェース106はペダルセンサ4および位置センサ5に接続され、両センサの検知信号がデジタル量としてCPU101に取り込まれる。サウンド装置104は電力増幅器105を介してスピーカ14に接続されている。これにより、サウンド装置104で生成された音響信号が電力増幅され、スピーカ14から音響として出力される。
CPU101は、ROM102に内蔵したプログラムに基づいで、ガンユニット11からの操作信号および地形データROM109からの地形データ、または形状データROM111からの形状データ(「エネミなどのキャラクタ」、および、「地形、空、各種構造物などの背景」などの3次元データ)を読み込んで、キャラクタの挙動計算(シミュレーション)および特殊効果の計算を含む演算を行う。
CPU101は、ROM102に内蔵したプログラムに基づいで、ガンユニット11からの操作信号および地形データROM109からの地形データ、または形状データROM111からの形状データ(「エネミなどのキャラクタ」、および、「地形、空、各種構造物などの背景」などの3次元データ)を読み込んで、キャラクタの挙動計算(シミュレーション)および特殊効果の計算を含む演算を行う。
挙動計算は、仮想3次元空間(ゲーム空間)でのエネミの動きをシミュレートするものである。これを実行するには、仮想3次元空間でのエネミのポリゴンの座標値が決定された後、この座標値を2次元視野座標系に変換するための変換マトリクスと形状データ(ポリゴンデータ)とがジオメタライザ110に指定される。コ・プロセッサ108には地形データROM109が接続されており、予め定めた地形データがコ・プロセッサ108およびCPU101に渡される。コ・プロセッサ108は主に、浮動小数点の演算を引き受けるようになっている。このため、コ・プロセッサ108により各種の判定が実行され、その判定結果がCPU101に与えられるから、CPUの演算負荷を軽減できる。
ジオメタライザ110は形状データROM111および描画装置112に接続されている。形状データROM111には、上述したように、複数のポリゴンから成る形状データ(各頂点から成るキャラクタ、地形、背景などの3次元データ)が予め記憶されている。この形状データはジオメタライザ110に渡される。ジオメタライザ110はCPU101から送られてくる変換マトリクスで、指定された形状データを透視変換を行い、3次元仮想空間での座標系から視野座標系に変換したデータを得る。
描画装置112は、変換された視野座標系の形状データにテクスチャを貼り付け、フレームバッファ115に出力する。このテクスチャの貼り付けを行うため、描画装置112はテクスチャデータROM113およびテクスチャマップRAM114に接続されるとともに、フレームバッファ115に接続されている。
なお、ポリゴンデータとは、複数の頂点の集合からなるポリゴン(多角形:主に3角形、4角形)の各頂点の相対ないしは絶対座標の座標データ群を言う。前記地形データROM109には、所定の判定(当たり判定など)を実行する上で足りる、比較的粗く設定されたポリゴンデータが格納されている。これに対し、形状データROM111にはエネミ、背景などの画面を構成する形状に関して、より緻密に設定されたポリゴンデータが格納されて居る。
スクロールデータ演算装置107は文字などのスクロール画面のデータ(ROM102に格納されている)を計算する。この演算装置107とフレームバッファ115とが画像合成装置116およびD/A変換器117を介してディスプレイ1aに至る。これにより、フレームバッファ115に一時記憶されたエネミ、地形(背景)などのポリゴン画面(シミュレーション結果)と文字情報などのスクロール画面とが指定プライオリティにしたがって合成され、最終的なフレーム画像データが一定タイミング毎に生成される。このフレーム画像データはD/A変換器117でアナログ信号に変換されてディスプレイ1aに送られ、ゲーム画面としてリアルタイムに表示される。
このゲーム装置は、CPU101を中心とする後述の演算処理によってガンシューティングゲームを行う。図3は、このゲーム装置が提供するゲーム空間の概念図を示す。図4は、ディスプレイ1aのゲーム画面の模式的一例を示す。
図3において、ゲーム空間は仮想3次元空間より成り、エネミ(移動体)3a、障害物(構造体)3b、カメラ視点3c、弾丸(移動体)3dなどを含んでいる。エネミ3aは遊戯者が狙う標的であり、装置側のCPU制御により、カメラ視点の位置に疑似的に居る遊戯者がガンユニット11を介して発射した弾丸を避けながら自律的に移動する一方で、カメラ視点の位置に疑似的に居る遊戯者に向けて攻撃(弾丸発射)を仕掛けてくる。カメラ視点3cは遊戯者の視点となるもので、例えば、ヘリコプタなどの飛行体上に設けられる。この視点はエネミの移動に追従しながらゲーム空間を移動する。なお、ゲーム空間にはエネミ3aは複数存在させている。障害物3bは例えばコンテナ、ビルディング、壁体などの構造物であり、ゲームに変化を持たせる設けてある。エネミ3aおよびカメラ視点3cはこの障害物3bに衝突しないようにゲーム空間を移動する。
また図4では、ゲーム画面は図3におけるカメラ視点3cから見た構図に相当する。ゲーム画面には照準3eが表示される。この照準3eは遊戯者がガンユニット11の向きを変えることに伴って移動する。照準3eがエネミ3aに重なって見えたときに、遊戯者がガンユニット11のトリガを引くと、弾丸3dはエネミ3aに向けて発射される。
また図4では、ゲーム画面は図3におけるカメラ視点3cから見た構図に相当する。ゲーム画面には照準3eが表示される。この照準3eは遊戯者がガンユニット11の向きを変えることに伴って移動する。照準3eがエネミ3aに重なって見えたときに、遊戯者がガンユニット11のトリガを引くと、弾丸3dはエネミ3aに向けて発射される。
(作用)
<メインルーチン処理>
続いて、本実施形態のゲーム装置によるガンシューティングゲームの画像生成処理を説明する。図5はその画像生成処理のメインルーチンを示す。このメインルーチンは例えば表示インターラプトに同期した1フィールド(1/60秒)毎にCPU101により繰り返し実行される。
<メインルーチン処理>
続いて、本実施形態のゲーム装置によるガンシューティングゲームの画像生成処理を説明する。図5はその画像生成処理のメインルーチンを示す。このメインルーチンは例えば表示インターラプトに同期した1フィールド(1/60秒)毎にCPU101により繰り返し実行される。
まず、CPU101は、ペダルセンサ4、ガンユニット11のトリガ、すなわち位置センサ5の情報を読み込む(ステップS1)。
次いで、CPU101は目標となるエネミが既に決まっている状態か否かを判断する(ステップS2)。すでに目標エネミが決まっている場合、次のエネミ決定の処理(ステップS3)をスキップするが、ゲームの初期状態では目標エネミが決定していないので、複数のエネミの中から視点の目標となるエネミを、システム側で予め定めたエネミに決める(ステップS3)。これにより、ゲーム初期には、予め定められたエネミを中心とするゲーム空間がディスプレイ1aに表示される。ただし、ゲームが展開されるにつれて、目標エネミは変わる。
次いで、CPU101はステップS4からステップS12までの処理を順次実行する。これらの処理は本発明の特徴を成すものである。
まず、決定された又は既に決まっている目標エネミに向けてカメラ視点を移動させる処理が行われる(ステップS4、S5)。これにより、目標エネミがカメラ視点から外れると、カメラ視点はこのエネミを追跡する。カメラ視点は、ディスプレイ上のエネミの構図が最適となる位置に移動させる。このカメラ視点の移動処理は後に詳述される。
まず、決定された又は既に決まっている目標エネミに向けてカメラ視点を移動させる処理が行われる(ステップS4、S5)。これにより、目標エネミがカメラ視点から外れると、カメラ視点はこのエネミを追跡する。カメラ視点は、ディスプレイ上のエネミの構図が最適となる位置に移動させる。このカメラ視点の移動処理は後に詳述される。
さらに、遊戯者にエネミからの攻撃を示唆する処理が行われる(ステップS6,S7)。これはシステム側で制御するエネミが、遊戯者を狙っているので「危険な状態」な状態にあることを事前に遊戯者に認識させるものである。この攻撃示唆処理も後述される。
さらに、「情動AI(人口知能)処理」と呼ばれる処理が行われる(ステップS8,S9)。この情動AI処理は、ゲーム中の敵、味方、そのほかの人物の挙動を制御するAIに「感情」のファクタを持たせる処理をさせることで、人間の持つ感情をよりリアルにシミュレートさせる処理である。この情動AI処理も後述される。
さらに、エネミの挙動、移動を制御する処理が行われる(ステップS10,S11)。この処理には、エネミに対する「リアルタイム力学モーション処理」および「非線形離散的モーション補間処理」が含まれる。この両方の処理により、エネミの挙動および移動の表示がよりリアルに表現される。この処理も後述される。
さらに、弾丸とエネミ、障害物などとの当り判定処理(コリジョン処理)が実施される(ステップS12)。この当り判定処理には、「移動コリジョン処理」と呼ばれる、コリジョン面を移動させてダイナミック感を醸成する処理も含まれる。この処理も後述される。
このように種々の特徴ある処理が済むと、CPU101は次いでゲーム処理を実行する(ステップS13)。すなわち、ステップS5で確定されたカメラ視点から見た3次元のゲーム空間を2次元の透視画面に透視変換するための変換マトリクスを生成してジオメタライザ110に指定するとともに、エネミなどのキャラクタや障害物などを表すパーツ(複数のポリゴンから成る)をジオメタライザ110に指定する。ここで指定される変換マトリクスとポリゴンデータには、上述したステップS5,S7,S9,S11,およびS12の処理で挙動計算した種々のファクタが反映される。
このゲーム処理が完了すると、処理は再びステップS1に戻され、上述した一連の処理が一定時間毎に繰り返し実行される。この結果、一定時間毎にシミュレーションされる各フレームの画像データがディスプレイ1aにリアルタイムなゲーム画像として順次表示され、時間経過と伴にゲーム画像が展開される。
続いて、上述したメインルーチン処理において実行される、本発明の特徴的な種々のサブルーチン処理を詳細に説明する。
<カメラ視点移動処理>
カメラ視点移動処理を図6〜図8に基づき説明する。
図6には、メインルーチン処理のステップS5でCPU101により実行されるカメラ視点移動処理の詳細な一例を示している。ここでは、図7に示す如く、注視点Pは注目エネミEに向かって移動するようにし、カメラCの視線(カメラに視点を置いたときの視野の中心線)はその注視点Pの方向に追随するようにする。つまり、注視点PはカメラCの視線の目標点であり、注目エネミEは注視点の移動目標点である。このカメラ視線の移動を、遊戯者が弾丸を避けようとする「避け」発生時と、この避けが発生していないときの通常時とに分けて処理するものである。
カメラ視点移動処理を図6〜図8に基づき説明する。
図6には、メインルーチン処理のステップS5でCPU101により実行されるカメラ視点移動処理の詳細な一例を示している。ここでは、図7に示す如く、注視点Pは注目エネミEに向かって移動するようにし、カメラCの視線(カメラに視点を置いたときの視野の中心線)はその注視点Pの方向に追随するようにする。つまり、注視点PはカメラCの視線の目標点であり、注目エネミEは注視点の移動目標点である。このカメラ視線の移動を、遊戯者が弾丸を避けようとする「避け」発生時と、この避けが発生していないときの通常時とに分けて処理するものである。
まず、注目エネミEおよび注視点Pの現在の位置が演算される(ステップS21)。次いで、注視点Pおよび注目エネミE間の方向および距離が演算される(ステップS22)。次いで、注視点Pが所定量だけ注目エネミE側に移動させる演算を行う。図8にはこの移動の一例を模式的に示す。注視点Pは、1フレーム(1/60秒)当たり、注視点Pおよび注目エネミE間の距離の1/8〜1/12程度、注目エネミの方向に移動される。この距離は適宜に選択される。
そして、メイン処理のステップS1におけるペダルの信号入力に基づき、遊戯者が弾丸を避けようとする「避け」動作が行われているか否かが判断される(ステップS24)。このステップS24の判断でNOのときは通常時であるから、続いてステップS25,S26の処理が実行される。最初に、現在のカメラ視線と、カメラ位置および注目点Pを結んだ線との成す開き角θが演算される(ステップS25:図9参照)。この開き角θに対して、1フレーム当たり、
で決まる微小角度dθだけ、現在のカメラ視線を注目点P側に回転させる演算を行う(ステップS26)。ここで、a,bは係数である。係数aはカメラをθ度回転させるときのスピードを決める値で、係数aが大きくなるほどそのスピードは遅くなる。この係数aには好みに応じて適宜な値が設定される。もう一方の係数bは、カメラが回転している間のスピードの変化量を表し、係数bを小さくするほど一定スピードになる。係数bとしては1〜2程度(好適には1.5程度)の値が選択され、これにより人の動きに近い追随感覚を与えることができる。
で決まる微小角度dθだけ、現在のカメラ視線を注目点P側に回転させる演算を行う(ステップS26)。ここで、a,bは係数である。係数aはカメラをθ度回転させるときのスピードを決める値で、係数aが大きくなるほどそのスピードは遅くなる。この係数aには好みに応じて適宜な値が設定される。もう一方の係数bは、カメラが回転している間のスピードの変化量を表し、係数bを小さくするほど一定スピードになる。係数bとしては1〜2程度(好適には1.5程度)の値が選択され、これにより人の動きに近い追随感覚を与えることができる。
これに対し、ステップS24でYESの判断が下されると、避け発生時のカメラ位置および向き(視線)の制御処理がステップS27〜S31で実行される。これらの処理は、単にカメラの向き(視線)の制御だけでなく、カメラの位置の移動も伴うことが特徴である。
まず、カメラCから注視点Pへの現在の向きが決定される(ステップS27)。さらに、図10に示す如く、カメラCの位置を所定距離移動させ(ステップS28)、移動後のカメラ位置から注視点Pへの向きが決定される(ステップS29)。さらに、移動前のカメラCの注視点への向きと移動後のそれとの成す角度αが演算される(ステップS30)。そして、カメラの向き(視線の向き)を0.8α〜1.2α程度回転させる演算を行う。この後、メイン処理に戻る。
このようにカメラCの向きをα度回転させるので、画面上での注視点の見掛けの位置は変化せず、注視点は見失われない。ゲーム中に遊戯者がペダルを操作して避けが発生した場合(あるいはシステム側で危険と判断して避ける場合も含まれる)、上記の通常のカメラ視線の制御だけでは動きが瞬発過ぎて、遊戯者が画面上のエネミを見失うということもあるが、この避け発生時のカメラ位置および向き制御によって、そのような事態を確実に回避できる。
また、カメラの向きを回転させる実際の回転量は0.8α〜1.2αと融通性を持たせてある。このため、開き角αより少し小さい回転量(例えば0.8α)に設定すれば(図10の仮想矢印(i)参照)、注視点Pが画面上で少しだけカメラ移動方向に動くことになるので、遊戯者に移動感を与えることができる。またゲームの難度も上げることができる。反対に、開き角αより少し大きく設定することで(例えば1.2α:図10の仮想矢印(ii)参照)、注視点Pが画面上で反対方向に少しだけ動いて見えるので、遊戯者には回り込み感を与える。これによってもゲームの難度を上げることができる。
<攻撃示唆処理>
図11には、メインルーチン処理のステップS7で実行される攻撃示唆処理の一例を示す。この処理もCPU101によって実行される。
最初に、エネミからの攻撃が開始されるか、または開始されているかが判断される(ステップS41)。この判断がNOとなるとき、すなわちエネミは遊戯者を模したキャラクタに対して攻撃(シューティング)を仕掛けてきていないときは、攻撃示唆処理の状態を示すフラグF1,F2=0に設定してメインルーチンに戻る(ステップS42)。
図11には、メインルーチン処理のステップS7で実行される攻撃示唆処理の一例を示す。この処理もCPU101によって実行される。
最初に、エネミからの攻撃が開始されるか、または開始されているかが判断される(ステップS41)。この判断がNOとなるとき、すなわちエネミは遊戯者を模したキャラクタに対して攻撃(シューティング)を仕掛けてきていないときは、攻撃示唆処理の状態を示すフラグF1,F2=0に設定してメインルーチンに戻る(ステップS42)。
ステップS41の判断でYESとなるときは、エネミから発射された弾丸が連続してm発目になったか否かが判断される(ステップS43)。弾丸の連続数を示すmは、例えばm=4に設定される。この判断でNOとなるとき、すなわち未だ連続m発目には達していないときは、次いで、一方のフラグF1=1か否かを判断する(ステップS44)。この判断でNOのときは、現在の遊戯者を模したキャラクタのゲーム空間(仮想3次元空間)内の位置から所定距離だけ外れた弾丸軌道を演算し、記憶する(ステップS45)。この軌道は、エネミから狙われている危険な状態を遊戯者に示唆するため、例えば図12に示す如く、山なりの軌道として演算される。
次いで、この軌道計算の完了を示すため、フラグF1=1に設定される(ステップS46)。ステップS44の判断でYESとなるとき、ステップS45,46の処理はスキップされる。
次いで、演算した山なりの弾丸軌道に基づき、表示フレーム毎の弾丸の位置が演算される(ステップS47)。さらに、その演算位置の弾丸の軌跡に残像を残す処理が実施される(ステップS48)。このステップS48の残像処理は場合によっては省略してもよい。この後、メインルーチン処理に戻る。
一方、ステップS43でYESの判断が下されるときは、システム側の処理によって、遊戯者を模したキャラクタをかすめるように、m発の弾丸が連続して、しかも山なりに飛来してきた後である。このm発の弾丸は同キャラクタに当たらないように設定してあるから、遊戯者はエネミが攻撃を開始してきたと認識してからある程度の間が与えられる。このため、エネミの攻撃開始と共に、いきなりエネミに倒されることはなく、ゲームの味付けが行われている。このm発の弾丸が飛来してくる間に、遊戯者は攻撃されている(狙われている)という実感を得ることができる。
このためステップS43でYESの判断のときは、もう一方のフラグF2=1かどうかを確認する(ステップS49)。フラグF2=0のときは、次いで、現在の遊戯者を模したキャラクタのゲーム空間内の位置に対してキャラクタに当たる弾丸軌道を演算し、記憶する(ステップS50)。次いで、この軌道計算の完了を示すため、フラグF2=1に設定する(ステップS51)。ステップS49の判断でYESとなるとき、ステップS50,51の処理はスキップされる。
その後、演算した弾丸軌道に基づき、表示フレーム毎の弾丸の位置が演算される(ステップS52)。この後、メインルーチン処理に処理を戻す。
この攻撃示唆処理は以上のようであるから、遊戯者は、自分のキャラクタをかすめて数発の弾丸が山なりに飛来することで、危険な状態を察知することができる。このため、遊戯者はペダルを操作して避ける(位置を変える)などの行動に移ることができ、エネミの攻撃にいきなり倒されるということがない。したがって、ゲームへの興味性を高める味付けを行うことができる。弾丸数を適度に設定しておくことにより、ゲームとして自然な流れも確保でき、危険な状態を遊戯者に認識させるために不自然なマーカを表示するなどの手法が不要になる。
この攻撃示唆処理は以上のようであるから、遊戯者は、自分のキャラクタをかすめて数発の弾丸が山なりに飛来することで、危険な状態を察知することができる。このため、遊戯者はペダルを操作して避ける(位置を変える)などの行動に移ることができ、エネミの攻撃にいきなり倒されるということがない。したがって、ゲームへの興味性を高める味付けを行うことができる。弾丸数を適度に設定しておくことにより、ゲームとして自然な流れも確保でき、危険な状態を遊戯者に認識させるために不自然なマーカを表示するなどの手法が不要になる。
なお、ステップS48の残像処理の代わりに、ガンが光を反射して光ったような光の表示処理を行って、遊戯者に対する認識性を高めてもよい。
また上述においては、ディスプレイの画面上に遊戯者を模したキャラクタが居るという前提でエネミキャラクタからの攻撃を示唆する処理を説明してきたが、この処理は、遊戯者のキャラクタが画面に表示されないガンシューティングゲーム或いはそのようなゲーム場面にも同様に適用できる。そのような場合、エネミキャラクタからの攻撃を示す弾丸は、例えば、「遊戯者が被弾するとして予め設定した範囲の近傍であって、かつ、画面に表示される範囲」を通る軌道を飛来させるように前述と同様の画像処理すればよい。これにより、画面を見ている実空間内の遊戯者は自分に向かって画面上を飛来してくる弾丸によって、自分も仮想空間に存在しており、エネミから攻撃されている、といった感覚を抱くことができる。したがって、前述と同様の作用効果を得ることができる。
さらに上述の図11のステップS43に記載のm発の予告弾に関しては、次のような変形例の追加も可能である。つまり、予告弾がm発目に達するまでの過程において、予告弾の着弾地点と命中地点(遊戯者の視点であるカメラ位置または遊戯者を模したキャラクタの位置)との間の距離を予告弾が増えるにつれて徐々に縮める。これにより、エネミの狙いが徐々に正確になってくるという感覚を演出でき、ゲーム上での「危険」状態をさらに強烈に示唆できるようになる。
<情動AI処理>
図13には、メインルーチン処理のステップS9で実行される情動AI処理の一例を示す。この情動AI処理は、ゲームに登場する人物のキャラクタを、感情のファクタを含めたAIにより制御し、より人間的な動きをさせることを目的している。
図13には、メインルーチン処理のステップS9で実行される情動AI処理の一例を示す。この情動AI処理は、ゲームに登場する人物のキャラクタを、感情のファクタを含めたAIにより制御し、より人間的な動きをさせることを目的している。
図13に示すように、この情動AI処理には、状況のファクタ(ステップS51)、感情のファクタ(ステップS52)、評価、決定のファクタ(ステップS53)、および行動のファクタ(ステップS54)がこの順に影響するように入る。感情のファクタは、この実施形態では図14に示すように、怒りと恐怖の2次元で表される。この感情は必ずしも2次元で表す必要はなく、適度な次元に採ればよい。また行動のファクタは再帰的に感情のファクタに反映する。感情のファクタが直接、行動のファクタに影響することもある。この情動AI処理は感情のファクタを導入したことが特徴であり、この感情のファクタが評価・決定、および行動のファクタとの間で相互に影響し合って、人物の最終的な行動が決められる。図15には、図13の処理に対比されるAI処理を示す。
図13の情動AI処理の具体例を示す。
a.「状況」が「感情」に与える影響として、以下のものを例示できる。
a−1:エネミの場合
・近くを遊戯者の弾が通ると「恐怖」が上昇。
・仲間が遊戯者に倒されると「怒り」が上昇。
・1発で死なないエネミがダメージを受けると「怒り」が上昇。
・遊戯者のキャラクタがダメージを受けると「怒り」、「恐怖」共に低下。
・弾を撃っても遊戯者に避けられて当たらないと「怒り」が上昇し、「恐怖」が低下。
・時間の経過と伴に「怒り」、「恐怖」共に少しずつ低下。
a−2:民間人の場合
・近くを弾が通ると「恐怖」が上昇。
・他の人が死ぬと「恐怖」が上昇。
・時間の経過と伴に「怒り」、「恐怖」共に少しずつ低下。
b.「行動」が「感情」に与える影響には、例えば、次のような事項を想定できる。
・弾を撃つとすっきりして「怒り」が低下。
・弾を打ちまくっていると麻痺してきて「恐怖」が低下。
c.「感情」から「評価・決定」が受ける影響には、例えば、次のようなものがある。
・「恐怖」が強いときは撃たないで隠れてしまう。
・「怒り」が強いときは避けたりせずに、撃ちまくってしまう。
・あまりに「恐怖」が強いと、立ちすくんでしまう。
d.「感情」から「行動」が受ける影響は、例えば次のようなものである。
・「恐怖」が弱いときは弾の命中率がよくなる。
・「恐怖」が強いときは弾の命中率が下がる。
・「怒り」が強いときは攻撃時の動きが速くなる。
a.「状況」が「感情」に与える影響として、以下のものを例示できる。
a−1:エネミの場合
・近くを遊戯者の弾が通ると「恐怖」が上昇。
・仲間が遊戯者に倒されると「怒り」が上昇。
・1発で死なないエネミがダメージを受けると「怒り」が上昇。
・遊戯者のキャラクタがダメージを受けると「怒り」、「恐怖」共に低下。
・弾を撃っても遊戯者に避けられて当たらないと「怒り」が上昇し、「恐怖」が低下。
・時間の経過と伴に「怒り」、「恐怖」共に少しずつ低下。
a−2:民間人の場合
・近くを弾が通ると「恐怖」が上昇。
・他の人が死ぬと「恐怖」が上昇。
・時間の経過と伴に「怒り」、「恐怖」共に少しずつ低下。
b.「行動」が「感情」に与える影響には、例えば、次のような事項を想定できる。
・弾を撃つとすっきりして「怒り」が低下。
・弾を打ちまくっていると麻痺してきて「恐怖」が低下。
c.「感情」から「評価・決定」が受ける影響には、例えば、次のようなものがある。
・「恐怖」が強いときは撃たないで隠れてしまう。
・「怒り」が強いときは避けたりせずに、撃ちまくってしまう。
・あまりに「恐怖」が強いと、立ちすくんでしまう。
d.「感情」から「行動」が受ける影響は、例えば次のようなものである。
・「恐怖」が弱いときは弾の命中率がよくなる。
・「恐怖」が強いときは弾の命中率が下がる。
・「怒り」が強いときは攻撃時の動きが速くなる。
このように情動AIとしたことで、人物として不自然な動き(例えば、それまで怖がっていたのに急に冷静なるなど)の表現を緩和または排除でき、よりリアルに表現したゲームになる。例えば、この実施形態のゲームでは、エネミの攻撃は1発で遊戯者のキャラクタに当たらず、連射の最後の弾が当たる軌道になるように設定している。このため、上述の情動AIによって、「弾の命中率」が良くなると、例えばそれまで4発目で当たっていたのが、3発目で当たるようになる。反対に、「恐怖・怒り共に高い」場合、ものすごい勢いで撃ちまくるが、なかなか当たらないという人間心理をついたパニック状態も的確に表現できる。
また、ゲーム中に人物が多数居た場合、それぞれの人物がかかる情動AIによって自立的に動くことができ、全体を制御する必要がなく、群衆の様子をよりリアルに表現できる。
さらに、従来の処理のように全ての行動を決する規則ベースを持つ必要がないから、データ量や演算量を減少または抑制できる利点もある。
<リアルタイム力学モーション処理>
図16には、メインルーチン処理のステップS11でCPU101により実行されるリアルタイム力学モーション処理の一例を示している。
このモーション処理は、人物のキャラクタを構成するバーツ(各パーツは複数のポリゴンから構成される)の特性に着目したものである。つまり、身体を構成するパーツの内、親パーツの方が子パーツよりも質量があるので、子パーツにとって親パーツとの接続点を固定点と見做すことができるという特性である。 本実施形態で採用している親パーツおよび子パーツの分けかたは便宜的なもので、子パーツを隣接する2パーツの内の身体末端側(胴体から遠い方)のパーツにとり、親パーツをその身体中心部側(胴体に近い方)のパーツにとっている。
図16には、メインルーチン処理のステップS11でCPU101により実行されるリアルタイム力学モーション処理の一例を示している。
このモーション処理は、人物のキャラクタを構成するバーツ(各パーツは複数のポリゴンから構成される)の特性に着目したものである。つまり、身体を構成するパーツの内、親パーツの方が子パーツよりも質量があるので、子パーツにとって親パーツとの接続点を固定点と見做すことができるという特性である。 本実施形態で採用している親パーツおよび子パーツの分けかたは便宜的なもので、子パーツを隣接する2パーツの内の身体末端側(胴体から遠い方)のパーツにとり、親パーツをその身体中心部側(胴体に近い方)のパーツにとっている。
図17には、16個のパーツを使用して人物を表現した例を示す。同図において、黒丸印がパーツ間の接続点を示している。
そこで、CPU101は図16に示すように、まず身体の最末端の子パーツを選択し(ステップS61)、その親パーツを特定する(ステップS62)。このとき、その子パーツと親パーツとの接続点を固定点と見做し、子パーツの動きを計算し(ステップS63)、その後、親パーツに与える力積(力×時間)を計算する(ステップS64)。ここでの子パーツの動き及び親パーツに与える力積は各パーツを剛体と見做して計算される。
この一連の処理を、身体を構成するそれぞれのパーツについて、末端のパーツから親のパーツへ、その親パーツを今度は子パーツとして、その子パーツに接続される親パーツへと、再帰的に繰り返す(ステップS65)。この繰り返しは、子パーツが最も中央のパーツ(これ以上、親パーツの無いパーツを言う。この中央パーツとして、重心位置が在る腰パーツを採用すると計算が簡単になる)になるまで継続される。
中央パーツまで到達すると、今度は反対に、親パーツを特定する(ステップS66)。最初の親パーツはその中央パーツである。次いで、子パーツを特定し(ステップS67)、親パーツの動きにより子パーツに掛かる力積を計算する(ステップS68)。この逆向きの計算は、子パーツを親パーツとして、末端まで順に再帰的に繰り返される(ステップS69)。
このようにキャラクタのモーションを制御することで、一つのモーションを起こすときに、人間の体は末端または末端側から動き、その動きを体の中央部側に伝えつつ、かつ中央部側からの動き、規制が末端側に加えられるという相互的な動きの形態を表し、より自然な滑らかなモーションを表現することができる。
なお、このモーション計算に種々の味付け的な処理を加えることができる。例えば、関節の動きには制約が伴うため、この制約を越えて動こうとしているパーツには逆向きモーメントを与える(ステップS70〜S72)。これにより、より人物に近い、正確な動きを表現できる。また、壁や床、弾丸などの外部の物体と接触してパーツに力が及ぼされる場合、さらには、重力などの外力が存在する場合には、その力を加味した計算を行う(ステップS73,S74)。このとき、計算のずれにより床にパーツがめり込むなどの現象が生じるならば、適宜な補正を施して、そのような現象を目立たなくする処理も行うことが望ましい。さらに、人間は痛みを感じた瞬間に筋肉が収縮するなどの現象に拠って内力が発生するため、弾丸が当たった瞬間にパーツに内力やモーメントを与える処理を行うことができる(ステップS75,S76)。これにより、動きをよりリアルに表現できる。さらにまた、人間は倒れないように自律的に姿勢を修正する機能を持っている。そこで「撃たれてもまだ死んではいない」という状態を表現するため、パーツの回転速度を減速する処理も好ましい(ステップS77,S78)。これにより、「耐えている」という表現が可能になり、動きのリアル性をさらに高めることができる。このステップS70〜S78の処理は、ステップS61〜S69による一連の処理中の適宜な位置で、選択した付加項目の分だけ適宜に組み合わせて実施すればよい。
なお、上述したリアルタイム力学モーション処理において、モーションの計算の順番は、身体を表す複数パーツの内、末端側から先に行うか、身体中央部から先に行うかの順番には限定されない。衝撃が加わった場合、そのパーツ順に行えばよい。
<非線形離散的モーション補間処理>
図18には、メインルーチン処理のステップS11でCPU101により実行される非線形離散的モーション補間処理の一例を示している。 ここでのモーション補間処理は、例えば「走って」から「振り向く」というような2つのモーションを繋ぐ動きを生成する補間処理を言う。この種の補間処理として従来知られている手法は、図19に示す線形補間処理と、図20に示す3次曲線補間処理である。線形補間処理によるモーション補間は、モーション間の繋ぎの動きを線形関数で表現するもので、計算量が軽いという利点はあるが、モーション間の繋ぎの滑らかさに欠ける。これに対し、3次曲線補間処理によるモーション補間は、モーション間の繋ぎの動きを3次曲線関数で表現するもので、モーションの繋ぎは滑らかになるが、現在のモーションと次のモーションを指定しないとファンクションカーブを計算できない。また、スプライン曲線を計算するために、計算量が多くなるという欠点もある。
図18には、メインルーチン処理のステップS11でCPU101により実行される非線形離散的モーション補間処理の一例を示している。 ここでのモーション補間処理は、例えば「走って」から「振り向く」というような2つのモーションを繋ぐ動きを生成する補間処理を言う。この種の補間処理として従来知られている手法は、図19に示す線形補間処理と、図20に示す3次曲線補間処理である。線形補間処理によるモーション補間は、モーション間の繋ぎの動きを線形関数で表現するもので、計算量が軽いという利点はあるが、モーション間の繋ぎの滑らかさに欠ける。これに対し、3次曲線補間処理によるモーション補間は、モーション間の繋ぎの動きを3次曲線関数で表現するもので、モーションの繋ぎは滑らかになるが、現在のモーションと次のモーションを指定しないとファンクションカーブを計算できない。また、スプライン曲線を計算するために、計算量が多くなるという欠点もある。
これらの問題を解決するため、非線形離散的モーション補間処理が提供される。このモーション補間処理は、モーションのファンクションカーブを連続的な関数としてではなく、離散的データとして直接計算する手法である。 具体的には、図18に示すように、現在の角度θo、目標角度θa、目標角度到達までのフレーム数fに基づき、目標到達に必要な角速度dθaを
dθa=(θa−θo)/f
の式により計算する(ステップS81)。これは図21(a)の状態をフレーム数、すなわち時間tで微分し、同図(b)の状態に変換したことになる。
dθa=(θa−θo)/f
の式により計算する(ステップS81)。これは図21(a)の状態をフレーム数、すなわち時間tで微分し、同図(b)の状態に変換したことになる。
次いで、前回の角速度dθoをメモリから読み出し(ステップS82)、計算した角速度dθaと読み出した前回の角速度dθoとの間の点を今回の角速度dθを仮定し、この角速度dθを
dθ=(A・dθo+B・dθa)/(A+B)
の式により計算する(ステップS83)。A,Bは図21(b)上での角速変dθa,dθoを結ぶ線分を分割して角速度dθの位置を決める距離である。この式により、図21(b)の状態を同図(c)の状態に変換できる。ここで、A=Bとれば、今回の角速度dθの位置が中点に定まる。距離Aの方を距離Bよりも大きく設定するほど、大きい慣性を表現できる。 今回演算した角速度dθは、次回のインターラプトにおける前回の角速度dθoとしてメモリに格納される(ステップS84)。
dθ=(A・dθo+B・dθa)/(A+B)
の式により計算する(ステップS83)。A,Bは図21(b)上での角速変dθa,dθoを結ぶ線分を分割して角速度dθの位置を決める距離である。この式により、図21(b)の状態を同図(c)の状態に変換できる。ここで、A=Bとれば、今回の角速度dθの位置が中点に定まる。距離Aの方を距離Bよりも大きく設定するほど、大きい慣性を表現できる。 今回演算した角速度dθは、次回のインターラプトにおける前回の角速度dθoとしてメモリに格納される(ステップS84)。
このようにインターラプト毎に計算される角速度dθを時間積分したファンクションカーブは図21(d)のように表される。
同図(d)から分かるように、現在のモーションから次のモーションに移行するときにモーションに慣性が付き、目標角度できっかり止まらずに、重さを感じるモーションになる。この慣性を適度に調整することで、慣性を積極的に利用でき、3次曲線補間に比べて、現実的な重みを感じさせる、しかも滑らかな繋ぎのモーションを表現できる。またモーションを途中で突然に切り替えた場合でも、かかる慣性によって、次のモーションに滑らかに繋ぐことができる。一方、連続関数ではなく、離散的な値として処理するので、線形補間と比べても、それほど重い処理にはならずに済む。モーション補間の滑らかさと演算負荷の軽さとを両立させる利点がある。
<移動コリジョン処理>
図22には、メインルーチン処理のステップS12にてCPU101により実行される移動コリジョン処理の一例を示している。
従来のゲームでは、ステージなどのコリジョンは移動されていなかった。本発明ではこれを移動可能にし、よりダイナミックなゲーム展開を行おうとするものである。この移動コリジョン処理は、コリジョン面に座標系を固定することで、コリジョン面の動きを見掛け上消して計算するものである。
図22には、メインルーチン処理のステップS12にてCPU101により実行される移動コリジョン処理の一例を示している。
従来のゲームでは、ステージなどのコリジョンは移動されていなかった。本発明ではこれを移動可能にし、よりダイナミックなゲーム展開を行おうとするものである。この移動コリジョン処理は、コリジョン面に座標系を固定することで、コリジョン面の動きを見掛け上消して計算するものである。
最初に、既存の処理である、移動させない固定コリジョンを説明する。図23に示すように、コリジョン平面(例えば地面、壁など)を移動させない場合、このコリジョン平面と通常のコリジョン線分(例えば弾丸の軌道)は、直線と平面の交点を計算することで簡単にコリジョン点pを求めることができる。
本発明はコリジョンをダイナミックに移動させるもので、CPU101は図22に示す如く、インターラプト毎に、コリジョンを移動させるか又はその移動中かを判断する(ステップS91)。この判断でNO(移動させない)のときは、ステップS92に移行し、上述した固定コリジョンの判定に処する。しかし、コリジョン移動のときは、ステップS93に移行して、さらに移動が平行かまたは回転かを判断する。
この判断が平行移動となるときは、ステップS94にて平行移動コリジョンの判定を行う。具体的には、図24(a),(b)に示す如く、コリジョン平面を平行移動させる場合、座標系をコリジョン平面に固定し、コリジョン線分の終点p1をコリジョンの平行移動ベクトルの逆ベクトル分だけ移動する。この上で、平面と線分の交点p´をコリジョン点として求め、この後で、p´の座標系を元に戻す変換を行い、交点pを得る。
一方、ステップS23の判断が回転移動となるときは、ステップS95にて回転移動コリジョンの判定を行う。具体的には、図25〜図27に示す如く、コリジョン平面を回転移動させる場合、平行移動のときと同様に、コリジョン線分の終点p1をコリジョン平面の平行移動ベクトルの逆ベクトル分だけ移動させ、p1´とする(図25、26参照)。これにより、平行移動による影響を見掛け上消すことができる。
次に、コリジョン線分の終点p1´をコリジョン平面の原点を軸に−θだけ回転させ、p1"とする(図27参照)。以上の操作により、コリジョン平面に座標系を固定し、コリジョンの移動および回転の影響を見掛け上消すことができる。そこで、線分p0−p1"とコリジョン平面との交点p"をコリジョン点として求め、この点に逆操作を行うことで交点pを求める。
以上により、壁や地面といったコリジョン面を移動させながら、弾丸などのコリジョン線分とのコリジョン判定を行うことで、従来には無かったダイナミックなゲーム画面を生成できる。
なお、コリジョン平面の回転移動を行う場合、その回転原点は必ずしもコリジョン平面上にある必要はなく、コリジョン平面外にあってもよい。また、実際の計算では、コリジョン線分は「p=p0+(p1−p0)t」のベクトル式で表される。p´またはp"の計算上、tが算出されたら、それを直接、この式に代入することで、p´やp"の座標を計算した後に座標を逆変換する手間を省くことがきる。さらに、上記実施形態では、コリジョン面は平面であるとして説明したが、コリジョン面が曲面であっても同様の手法で計算できる。さらに、コリジョン面の回転角度θは十分に小さい値であることが望ましい。この回転角度θがあまり大きいと、計算したコリジョン点の座標の誤差が大きくなるので、そのようなときには、回転を幾つかに分割して計算するとよい。
なお、ここで説明したエネミとは、ゲーム機本体側のコンピュータによって操作される標的、敵、あるいは攻撃対象等を意味する。
以上説明したように、本発明にかかる画像生成装置は、従来よりもリアル感および臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚でき、しかも従来に比べて演算処理も遜色なく、ガンシューティングゲームなどに好適な画像生成装置を提供できる。
具体的には、遊戯者がエネミから狙われている「危険な状態」を的確に認識させることで、臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚できる。また、カメラ視点を、エネミの移動に程よくかつエネミを見失うことなく移動させることで、ゲーム感やゲームへの興味感を大幅に高揚でき、ガンシューティングゲームなどに好適なゲーム装置としての画像生成装置を提供できる。
さらに、キャラクタを制御するAIに「感情」に起因した「行動」の要素を持たせることができ、かつ、その開発の手間や時間などを抑え、リアル感および臨場感に富み、しかも従来に比べて演算処理を重くすることなく、ガンシューティングゲームなどに好適なゲーム装置としての画像生成装置を提供できる。さらに、壁、障害物など、移動体以外の構造体とのコリジョンに迫力を持たせ、またダイナミックなゲーム展開を行って、臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚できるゲーム装置としての画像生成装置を提供できる。
さらにまた、キャラクタを構成するパーツの動きや、キャラクタのモーション間の動きのリアル性を向上させ、リアル感および臨場感に富み、しかも従来に比べて演算処理も遜色なく、ガンシューティングケームなどに好適なゲーム装置としての画像生成装置を提供することもできる。
Claims (24)
- 仮想3次元空間内を移動する移動体を当該仮想3次元空間内の移動可能な視点から捕捉した画像を生成する画像生成装置において、前記移動体に関して定めた注視点と現在のカメラ視点からの視線との位置関係を用いて前記カメラ視点の移動を制御する移動手段を備える画像生成装置。
- 前記仮想3次元空間はゲーム空間であり、前記移動体はそのゲーム空間で演じられるガンシューティングゲームのエネミである請求項1記載の画像生成装置。
- 前記ゲーム空間を画面に表示する表示手段と、遊戯者がトリガを操作して前記画面に向かって信号を発することができるガンユニットと、前記表示手段の画面上の前記信号の到達位置を検知するセンサと、前記到達位置に基づき前記エネミと遊戯者との間のガンシューティングゲームを実行するゲーム実行手段とを備える請求項2記載の画像生成装置。
- 前記注視点の位置は前記移動体とは別個の位置であり、この注視点を前記画像の1フレームの表示毎に前記移動体に向かって移動させる注視点移動手段を備える請求項3記載の画像生成装置。
- 前記注視点移動手段は、前記画像の1フレームの表示毎に、前記注視点と前記移動体の位置とを結んだ直線距離に沿って当該注視点を前記移動体側にその直線距離の所定距離分ずつ移動させる手段である請求項4の画像生成装置。
- 前記注視点移動手段は、前記カメラ視点から延びる現在の視線とそのカメラ視点から前記注視点と通って延びる線との間のなす開き角度を演算する手段と、その開き角度から所定の回転角度を演算する手段と、前記画像の1フレームの表示毎に前記回転角度だけ前記カメラ視点の向きを前記注視点側に回転させる手段とを備える請求項4の画像生成装置。
- 前記移動手段は、前記遊戯者の操作に応じて変化する前記カメラ視点と前記注視点との相対的位置関係の特定状況の発生を判断する判断手段と、この判断手段により前記特定状況が判断されたときに、前記注視点の位置を常に補足するように前記カメラ視点の位置を制御する視点移動制御手段とを備えた請求項3記載の画像生成装置。
- 前記視点移動制御手段は、前記カメラ視点を移動させる移動動作と、当該移動後のそのカメラ視点の位置から前記注視点へ向かう方向とその移動前の前記カメラ視点の視線方向との成す角度に応じた回転動作とを伴う位置制御を行う手段である請求項7記載の画像生成装置。
- 前記視点移動制御手段は、前記角度に応じて前記カメラ視点を前記注視点の側に回転させる視点回転手段を有する請求項8記載の画像生成装置。
- 前記視点回転手段は、前記角度を所定値だけ増減させた角度に基づき前記カメラ視点を前記注視点の側に回転させる手段である請求項9記載の画像生成装置。
- 遊戯者を模した前記画面上のキャラクタが前記エネミの発射弾丸を避ける操作をその遊戯者が行う避け操作手段を備え、前記判断手段は、その避け操作手段が操作された状態かどうかを判断する手段である請求項9記載の画像生成装置。
- 仮想ゲーム空間に存在するエネミのキャラクタとの間で遊戯者がガンシューティングゲームを行う画像をディスプレイに表示する画像生成装置において、前記エネミのキャラクタから前記遊戯者への攻撃を前記遊戯者に事前に示唆する画像表示を行う画像処理手段を備える画像生成装置。
- 前記画像表示は、前記エネミのキャラクタから発射され且つ実空間に居る前記遊戯者に向かって飛来する弾丸の表示である請求項12記載の画像生成装置。
- 前記弾丸の表示は、山なりの弾丸の表示である請求項13記載の画像生成装置。
- 仮想ゲーム空間に存在するエネミのキャラクタとの間で遊戯者がガンシューティングゲームを行う画像を生成する画像生成装置において、前記ゲームの状況、評価・決定、および行動のファクタとの間で影響し合う前記キャラクタの感情のファクタを取り入れたAI処理を実行するAI処理手段を備える画像生成装置。
- 前記感情のファクタは前記ゲームに関する恐怖と怒りの感情要素で表される請求項15記載の画像生成装置。
- 前記AI処理手段は、前記行動のファクタに基づく行動の結果を前記感情のファクタに反映させる処理を行う手段を有する請求項16記載の画像生成装置。
- 仮想3次元空間内で移動する人物を模した移動体を、接続点を介して接続した複数のパーツで表現した画像を生成する画像生成装置において、前記複数のパーツの内の隣接する2つのパーツについて末端側の子パーツと中央部側の親パーツを特定する第1の特定手段と、前記子パーツの前記親パーツへの接続点が固定点である仮定してその子パーツの動きが親パーツに与える力積を演算する第1の演算手段と、前記第1の特定手段と第1の演算手段の動作を前記移動体の末端側からその中央部に掛けて再帰的に繰り返させる第1の繰り返し手段と、前記複数のパーツの内の隣接する2つのパーツについて中央部側の親パーツと末端側の子パーツを特定する第2の特定手段と、前記親パーツの動きが前記子パーツに掛かる力積を演算する第2の演算手段と、前記第2の特定手段と第2の演算手段の動作を前記移動体の中央部からその末端に掛けて再帰的に繰り返させる第2の繰り返し手段とを備える画像生成装置。
- 前記第1および第2の演算手段の少なくとも一方の演算手段は、前記人物を模す上での味付け的な演算処理を実行する手段である請求項18記載の画像生成装置。
- 前記味付け的な演算処理は、前記人物の関節の動きの制約に伴って生じる逆むきモーメントを前記パーツに付与する演算、前記人物に及ぼされる外力を前記パーツに反映させる演算、計算のずれに伴って生じる前記パーツの位置の不自然さを補正する演算、前記人物の肉体的特質から生じる内力によるモーメントを前記パーツに付与する演算、および前記人物の精神性から生じる表現を前記パーツに反映させるための当該パーツの回転または移動速度の制御演算の内の1つまたは複数種の演算を含む請求項19記載の画像生成装置。
- 仮想3次元空間内で移動する移動体の2種類のモーションの間のモーションを補間した画像データを生成する画像生成装置において、前記2種類のモーション間のモーションのファンクションカーブを現在の回転角度、目標回転角度、および目標回転角度到達までのフレーム数に基づき離散的に演算する演算手段と、この演算手段の演算結果に基づきモーション補間を行う補間手段とを備える画像生成装置。
- 仮想3次元空間内で移動する移動体と同空間内に置かれた構造体とのコリジョンの判定を要する画像を生成する画像生成装置において、前記構造体を移動させながら前記移動体とのコリジョンを判定するコリジョン判定手段を備える画像生成装置。
- 前記コリジョン判定手段は、前記構造体を平行移動または回転移動のいずれかの態様で移動させながらコリジョンを判定する手段である請求項22記載の画像生成装置。
- 前記画像生成装置の各手段を実行するためのプログラムが記憶された記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008236995A JP2009064448A (ja) | 1997-11-25 | 2008-09-16 | 画像生成装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32328097 | 1997-11-25 | ||
JP2008236995A JP2009064448A (ja) | 1997-11-25 | 2008-09-16 | 画像生成装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000522563 Division | 1998-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009064448A true JP2009064448A (ja) | 2009-03-26 |
Family
ID=18153032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008236995A Pending JP2009064448A (ja) | 1997-11-25 | 2008-09-16 | 画像生成装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6972756B1 (ja) |
EP (2) | EP1829590A3 (ja) |
JP (1) | JP2009064448A (ja) |
KR (1) | KR100566366B1 (ja) |
CN (2) | CN100374175C (ja) |
DE (1) | DE69838734T2 (ja) |
ES (1) | ES2297896T3 (ja) |
HK (1) | HK1077769A1 (ja) |
WO (1) | WO1999027498A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012249799A (ja) * | 2011-06-02 | 2012-12-20 | Nintendo Co Ltd | 画像処理装置、画像処理方法、および画像処理装置の制御プログラム |
JP2013141527A (ja) * | 2012-01-11 | 2013-07-22 | Taito Corp | ゲーム機 |
JP2015217266A (ja) * | 2014-05-21 | 2015-12-07 | グリー株式会社 | ゲーム制御方法、コンピュータ及び制御プログラム |
JP2018134457A (ja) * | 2014-05-21 | 2018-08-30 | グリー株式会社 | ゲーム制御方法、コンピュータ及び制御プログラム |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000126454A (ja) * | 1998-10-23 | 2000-05-09 | Sega Enterp Ltd | 遊戯装置及び画像処理装置 |
JP3561463B2 (ja) | 2000-08-11 | 2004-09-02 | コナミ株式会社 | 3dビデオゲームにおける擬似カメラ視点移動制御方法及び3dビデオゲーム装置 |
JP4641602B2 (ja) * | 2000-09-19 | 2011-03-02 | 株式会社バンダイナムコゲームス | ゲームシステム及び情報記憶媒体 |
JP2003334382A (ja) * | 2002-05-21 | 2003-11-25 | Sega Corp | ゲーム装置、画像処理装置及び画像処理方法 |
JP3887819B2 (ja) | 2002-10-11 | 2007-02-28 | 株式会社セガ | コンピュータプログラム |
JP2005218463A (ja) * | 2004-02-03 | 2005-08-18 | Nintendo Co Ltd | シューティングゲーム装置およびゲームプログラム |
JP2006018476A (ja) | 2004-06-30 | 2006-01-19 | Sega Corp | 画像の表示制御方法 |
JP4244040B2 (ja) * | 2005-03-10 | 2009-03-25 | 任天堂株式会社 | 入力処理プログラムおよび入力処理装置 |
JP2006305176A (ja) * | 2005-04-28 | 2006-11-09 | Nintendo Co Ltd | ゲームプログラムおよびゲーム装置 |
FR2886800A1 (fr) * | 2005-06-03 | 2006-12-08 | France Telecom | Procede et dispositif de commande d'un deplacement d'une ligne de visee, systeme de visioconference, terminal et programme pour la mise en oeuvre du procede |
US20080026827A1 (en) * | 2006-04-21 | 2008-01-31 | Pokermatic, Inc. | Amusement gaming system |
US9327191B2 (en) * | 2006-05-08 | 2016-05-03 | Nintendo Co., Ltd. | Method and apparatus for enhanced virtual camera control within 3D video games or other computer graphics presentations providing intelligent automatic 3D-assist for third person viewpoints |
JP4642118B2 (ja) * | 2009-02-09 | 2011-03-02 | 株式会社バンダイナムコゲームス | 画像生成システム及び情報記憶媒体 |
JP4669054B2 (ja) * | 2009-03-23 | 2011-04-13 | 株式会社バンダイナムコゲームス | 画像生成システム及び情報記憶媒体 |
JP5161256B2 (ja) * | 2010-03-31 | 2013-03-13 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体、及び、画像生成装置 |
JP5816435B2 (ja) * | 2011-01-06 | 2015-11-18 | 任天堂株式会社 | 表示制御プログラム、表示制御装置、表示制御システム、表示制御方法 |
JP2015192753A (ja) * | 2014-03-31 | 2015-11-05 | 株式会社バンダイナムコエンターテインメント | ゲーム装置及びプログラム |
CN104915564B (zh) * | 2015-06-16 | 2017-03-22 | 深圳市腾讯计算机系统有限公司 | 实现虚拟角色转弯的方法和装置 |
JP6543313B2 (ja) * | 2017-10-02 | 2019-07-10 | 株式会社エイチアイ | 移動体用画像生成記録表示装置及びプログラム |
CN108536295B (zh) | 2018-03-30 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 虚拟场景中的对象控制方法、装置及计算机设备 |
US10545096B1 (en) | 2018-10-11 | 2020-01-28 | Nanotronics Imaging, Inc. | Marco inspection systems, apparatus and methods |
CN109754819B (zh) * | 2018-12-29 | 2021-08-10 | 努比亚技术有限公司 | 一种数据处理方法、装置及存储介质 |
CN109925720B (zh) * | 2019-04-12 | 2022-11-22 | 网易(杭州)网络有限公司 | 信息处理方法和装置 |
US10915992B1 (en) * | 2019-08-07 | 2021-02-09 | Nanotronics Imaging, Inc. | System, method and apparatus for macroscopic inspection of reflective specimens |
US11593919B2 (en) | 2019-08-07 | 2023-02-28 | Nanotronics Imaging, Inc. | System, method and apparatus for macroscopic inspection of reflective specimens |
CN110947182B (zh) * | 2019-11-26 | 2024-02-02 | 上海米哈游网络科技股份有限公司 | 事件应对方法、装置、游戏终端及介质 |
JP7233399B2 (ja) * | 2020-06-23 | 2023-03-06 | 任天堂株式会社 | ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU652209B2 (en) * | 1990-11-14 | 1994-08-18 | Robert Macandrew Best | Talking video games |
JPH04340669A (ja) * | 1991-05-17 | 1992-11-27 | Hitachi Ltd | 多関節構造体の動画像生成方法 |
JP3470822B2 (ja) * | 1994-03-03 | 2003-11-25 | 株式会社セガ | 画像表示方法及びその装置 |
TW266277B (en) * | 1994-12-31 | 1995-12-21 | Sega Of America Inc | Videogame system and methods for enhanced processing and display of graphical character elements |
JP3490169B2 (ja) * | 1995-02-20 | 2004-01-26 | 株式会社日立情報システムズ | 三次元アニメーション処理システム及び処理方法 |
JP3181808B2 (ja) * | 1995-04-17 | 2001-07-03 | 株式会社スクウェア | ビデオ・ゲーム装置,その制御方法および制御ディバイス |
KR100276598B1 (ko) * | 1995-05-19 | 2000-12-15 | 이리마지리 쇼우이치로 | 화상처리장치, 화상처리방법 및 이것을 이용한 게임장치 |
JP2850851B2 (ja) * | 1995-05-31 | 1999-01-27 | 日本電気株式会社 | 映像表示方法および映像表示装置 |
JP3141737B2 (ja) * | 1995-08-10 | 2001-03-05 | 株式会社セガ | 仮想画像生成装置及びその方法 |
US5853324A (en) * | 1995-09-07 | 1998-12-29 | Namco Ltd. | Shooting game machine and method of computing the same |
US6155926A (en) * | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US6139433A (en) * | 1995-11-22 | 2000-10-31 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control due to environmental conditions |
JPH09161095A (ja) * | 1995-12-07 | 1997-06-20 | Sega Enterp Ltd | 画像処理装置 |
KR100276549B1 (ko) * | 1995-12-07 | 2000-12-15 | 이리마지리 쇼우이치로 | 화상생성장치,화상생성방법및이것을이용한게임기 |
JP3745475B2 (ja) * | 1996-12-06 | 2006-02-15 | 株式会社セガ | ゲーム装置及び画像処理装置 |
-
1998
- 1998-11-25 DE DE69838734T patent/DE69838734T2/de not_active Expired - Lifetime
- 1998-11-25 CN CNB2004100929512A patent/CN100374175C/zh not_active Expired - Fee Related
- 1998-11-25 WO PCT/JP1998/005304 patent/WO1999027498A1/ja active IP Right Grant
- 1998-11-25 EP EP07011768A patent/EP1829590A3/en not_active Withdrawn
- 1998-11-25 KR KR1020007005725A patent/KR100566366B1/ko not_active IP Right Cessation
- 1998-11-25 US US09/555,117 patent/US6972756B1/en not_active Expired - Fee Related
- 1998-11-25 ES ES98955923T patent/ES2297896T3/es not_active Expired - Lifetime
- 1998-11-25 CN CNB988115247A patent/CN1183494C/zh not_active Expired - Fee Related
- 1998-11-25 EP EP98955923A patent/EP1047022B1/en not_active Expired - Lifetime
-
2005
- 2005-11-03 HK HK05109769A patent/HK1077769A1/xx not_active IP Right Cessation
-
2008
- 2008-09-16 JP JP2008236995A patent/JP2009064448A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012249799A (ja) * | 2011-06-02 | 2012-12-20 | Nintendo Co Ltd | 画像処理装置、画像処理方法、および画像処理装置の制御プログラム |
US10653959B2 (en) | 2011-06-02 | 2020-05-19 | Nintendo Co., Ltd. | Image processing apparatus and image processing method for displaying video image capable of achieving improved operability and realism, and non-transitory storage medium encoded with computer readable program for controlling image processing apparatus |
JP2013141527A (ja) * | 2012-01-11 | 2013-07-22 | Taito Corp | ゲーム機 |
JP2015217266A (ja) * | 2014-05-21 | 2015-12-07 | グリー株式会社 | ゲーム制御方法、コンピュータ及び制御プログラム |
JP2018134457A (ja) * | 2014-05-21 | 2018-08-30 | グリー株式会社 | ゲーム制御方法、コンピュータ及び制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN1279798A (zh) | 2001-01-10 |
CN1611286A (zh) | 2005-05-04 |
US6972756B1 (en) | 2005-12-06 |
CN100374175C (zh) | 2008-03-12 |
WO1999027498A1 (fr) | 1999-06-03 |
EP1829590A2 (en) | 2007-09-05 |
CN1183494C (zh) | 2005-01-05 |
KR20010032483A (ko) | 2001-04-25 |
EP1829590A3 (en) | 2008-12-17 |
DE69838734T2 (de) | 2008-10-30 |
EP1047022A1 (en) | 2000-10-25 |
EP1047022B1 (en) | 2007-11-14 |
KR100566366B1 (ko) | 2006-03-31 |
ES2297896T3 (es) | 2008-05-01 |
DE69838734D1 (de) | 2007-12-27 |
HK1077769A1 (en) | 2006-02-24 |
EP1047022A4 (en) | 2001-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009064448A (ja) | 画像生成装置 | |
EP1431923B1 (en) | Image processing device for determining the flight path of an object | |
CN102129343B (zh) | 运动捕捉系统中的受指导的表演 | |
KR100584706B1 (ko) | 화상 처리 시스템 및 화상 처리 방법 | |
US8648864B2 (en) | System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space | |
US6540612B1 (en) | Video game system and video game memory medium | |
JP5614956B2 (ja) | プログラム、画像生成システム | |
US7999812B2 (en) | Locality based morphing between less and more deformed models in a computer graphics system | |
JP4794343B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JPH09115004A (ja) | 画像生成/表示装置 | |
US20110305398A1 (en) | Image generation system, shape recognition method, and information storage medium | |
CN112316429A (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
JP2000140431A (ja) | ゲーム装置および画像処理装置 | |
JP4282112B2 (ja) | 仮想物体制御方法および仮想物体制御装置および記録媒体 | |
JP3990648B2 (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
US11780084B2 (en) | Robotic device, control method for robotic device, and program | |
JPH10137439A (ja) | ロボツト装置 | |
JP2011255114A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US11733705B2 (en) | Moving body and moving body control method | |
US11648672B2 (en) | Information processing device and image generation method | |
JP4003794B2 (ja) | 画像処理方法及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090423 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090521 |