JP2013030125A - Program, information storage medium, and game system - Google Patents
Program, information storage medium, and game system Download PDFInfo
- Publication number
- JP2013030125A JP2013030125A JP2011167491A JP2011167491A JP2013030125A JP 2013030125 A JP2013030125 A JP 2013030125A JP 2011167491 A JP2011167491 A JP 2011167491A JP 2011167491 A JP2011167491 A JP 2011167491A JP 2013030125 A JP2013030125 A JP 2013030125A
- Authority
- JP
- Japan
- Prior art keywords
- collision
- collision determination
- determined
- determination process
- collided
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 380
- 230000008569 process Effects 0.000 claims abstract description 343
- 238000012545 processing Methods 0.000 claims abstract description 256
- 230000004044 response Effects 0.000 claims abstract description 112
- 238000004364 calculation method Methods 0.000 claims description 81
- 230000000694 effects Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 15
- 238000004519 manufacturing process Methods 0.000 claims description 14
- 238000009877 rendering Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000002156 mixing Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は、プログラム、情報記憶媒体及びゲームシステムに関する。 The present invention relates to a program, an information storage medium, and a game system.
従来から、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。このようなゲームシステムでは、移動体の衝突によるオブジェクトの破壊を表現するために、オブジェクトを構成する破片に移動力を与えて物理法則に沿った移動制御を行うものが知られている(例えば、特許文献1)。 Conventionally, a game system that generates an image that can be seen from a given viewpoint in an object space that is a virtual three-dimensional space is known, and is popular as a device that can experience so-called virtual reality. In such a game system, in order to express the destruction of an object due to a collision of a moving body, one that performs movement control in accordance with the laws of physics by giving a moving force to the fragments constituting the object is known (for example, Patent Document 1).
このようなゲームシステムでは、物理演算の対象となるオブジェクトが多い場合に、正確な衝突判定や衝突応答の処理を行おうとすると、処理負荷が増大してしまうという問題点がある。 In such a game system, when there are many objects to be subjected to physics calculations, there is a problem that processing load increases if an accurate collision determination or collision response process is performed.
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、物理演算の処理負荷を効果的に低減させることが可能なプログラム、情報記憶媒体及びゲームシステムを提供することにある。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a program, an information storage medium, and a game system that can effectively reduce the processing load of physical operations. There is to do.
(1)本発明に係るプログラムは、
オブジェクト空間内のオブジェクト同士の衝突判定を行う衝突判定処理と、衝突したと判定されたオブジェクトに作用する物理量を演算する衝突応答処理とを行う物理演算部と、
前記物理演算部の演算結果に基づきオブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部としてコンピュータを機能させ、
前記物理演算部は、
オブジェクト空間内のオブジェクトについて第1の衝突判定処理を行い、前記第1の衝突判定処理で衝突したと判定された場合に、所定の条件が満たされたか否かを判断し、前記所定の条件が満たされたと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて第1の衝突応答処理を行い、前記所定の条件が満たされていないと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突判定処理よりも処理負荷の高い第2の衝突判定処理を行い、前記第2の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理よりも処理負荷の高い第2の衝突応答処理を行うプログラムに関する。
(1) The program according to the present invention is:
A physical calculation unit that performs a collision determination process for performing a collision determination between objects in the object space, and a collision response process for calculating a physical quantity acting on an object determined to have collided;
Causing the computer to function as a movement control unit that performs control to move the object in the object space based on the calculation result of the physical calculation unit;
The physical computation unit is
A first collision determination process is performed on an object in the object space. When it is determined that the object has collided in the first collision determination process, it is determined whether or not a predetermined condition is satisfied. If it is determined that the condition is satisfied, the first collision response process is performed on the object determined to have collided in the first collision determination process, and if it is determined that the predetermined condition is not satisfied, A second collision determination process having a processing load higher than that of the first collision determination process is performed on the object determined to have collided in the first collision determination process, and it is determined that a collision has occurred in the second collision determination process. The present invention relates to a program for performing a second collision response process having a processing load higher than that of the first collision response process.
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。また本発明は、上記各部を含むゲームシステムに関する。 The present invention also relates to an information storage medium that can be read by a computer and stores a program for causing the computer to function as each of the above-described units. The present invention also relates to a game system including the above-described units.
本発明によれば、処理負荷の高い第2の衝突判定処理及び第2の衝突応答処理を行う場合と、処理負荷の高い第2の衝突判定処理を省略し且つ処理負荷の低い第1の衝突応答処理を行う場合とを、条件分岐により切り替えることで、物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, when the second collision determination process and the second collision response process with a high processing load are performed, the second collision determination process with a high processing load is omitted, and the first collision with a low processing load is performed. By switching the case where response processing is performed by conditional branching, the processing load of physical calculation can be effectively reduced.
(2)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
第1の衝突判定処理は、オブジェクトを球体で近似して衝突判定を行う処理でもよい。
(2) In the program, information storage medium and game system according to the present invention,
The first collision determination process may be a process of performing a collision determination by approximating an object with a sphere.
本発明によれば、第1の衝突判定の処理負荷を低減させることができる。 According to the present invention, the processing load of the first collision determination can be reduced.
(3)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記物理演算部は、
前記所定の条件が満たされたと判断した場合に、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて、オブジェクトを複数の球体で近似して衝突判定を行う第3の衝突判定処理を行い、前記第3の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理、又は前記第1の衝突応答処理よりも処理負荷が高く前記第2の衝突応答処理よりも処理負荷の低い第3の衝突応答処理のいずれかを行うようにしてもよい。
(3) In the program, information storage medium and game system according to the present invention,
The physical computation unit is
A third collision determination process for determining a collision by approximating the object with a plurality of spheres for an object determined to have collided in the first collision determination process when it is determined that the predetermined condition is satisfied; The object determined to have collided in the third collision determination process has a higher processing load than the first collision response process or the first collision response process, and is processed more than the second collision response process. Any one of the third collision response processes with a low load may be performed.
本発明によれば、物理演算の処理負荷を条件分岐により多段階で変化させることができ、物理演算の処理負荷をより効果的に低減させることができる。 According to the present invention, the physical processing load can be changed in multiple stages by conditional branching, and the physical processing load can be more effectively reduced.
(4)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラからの距離、又は仮想カメラとの位置関係に関する条件でもよい。
(4) In the program, information storage medium and game system according to the present invention,
The predetermined condition may be a condition relating to a distance from the virtual camera of the object determined to have collided in the first collision determination process or a positional relationship with the virtual camera.
本発明によれば、例えば、仮想カメラからの距離が大きいオブジェクト、或いは、ビューボリューム内に位置しないオブジェクトについての物理演算の処理負荷を低減して物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, for example, it is possible to effectively reduce the processing load of physical calculation by reducing the processing load of physical calculation for an object having a large distance from the virtual camera or an object not located in the view volume. it can.
(5)また本発明に係るプログラム及び情報記憶媒体では、
オブジェクトの立体視画像を生成する画像生成部として更にコンピュータを機能させ、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトが、オブジェクト空間内の投影面よりも仮想カメラから見て手前側のエリアに位置するか否かに関する条件でもよい。
(5) In the program and information storage medium according to the present invention,
The computer further functions as an image generation unit that generates a stereoscopic image of the object,
The predetermined condition may be a condition regarding whether or not the object determined to have collided in the first collision determination process is positioned in an area on the near side as viewed from the virtual camera with respect to the projection plane in the object space. .
また本発明に係るゲームシステムでは、
オブジェクトの立体視画像を生成する画像生成部を更に含み、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトが、オブジェクト空間内の投影面よりも仮想カメラから見て手前側のエリアに位置するか否かに関する条件でもよい。
In the game system according to the present invention,
An image generation unit that generates a stereoscopic image of the object;
The predetermined condition may be a condition regarding whether or not the object determined to have collided in the first collision determination process is positioned in an area on the near side as viewed from the virtual camera with respect to the projection plane in the object space. .
本発明によれば、立体視画像を生成する場合に、例えば、プレーヤが立体視感をより強く感じる飛び出し空間を再現する領域(オブジェクト空間内の投影面よりも仮想カメラから見て手前側のエリア)に位置するオブジェクト以外のオブジェクトについての物理演算の処理負荷を低減して物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, when generating a stereoscopic image, for example, an area that reproduces a pop-up space in which the player feels more stereoscopic vision (an area closer to the front than the projection plane in the object space as viewed from the virtual camera). It is possible to effectively reduce the processing load of the physical calculation by reducing the processing load of the physical calculation for the object other than the object positioned at ().
(6)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラから見たときの画像サイズに関する条件でもよい。
(6) In the program, information storage medium and game system according to the present invention,
The predetermined condition may be a condition related to an image size when an object determined to have collided in the first collision determination process is viewed from a virtual camera.
本発明によれば、例えば、仮想カメラから見たときの画像サイズが小さいオブジェクトについての物理演算の処理負荷を低減して物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, for example, it is possible to effectively reduce the processing load of physical calculation by reducing the processing load of physical calculation for an object having a small image size when viewed from a virtual camera.
(7)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの透明度に関する条件でもよい。
(7) In the program, information storage medium, and game system according to the present invention,
The predetermined condition may be a condition related to transparency of an object determined to have collided in the first collision determination process.
本発明によれば、例えば、透明度が高いオブジェクトについての物理演算の処理負荷を低減して物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, for example, the physical processing load on an object with high transparency can be reduced to effectively reduce the physical processing load.
(8)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの速度に関する条件でもよい。
(8) In the program, information storage medium and game system according to the present invention,
The predetermined condition may be a condition related to a speed of an object determined to have collided in the first collision determination process.
本発明によれば、例えば、速度が大きいオブジェクトについての物理演算の処理負荷を低減して物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, for example, it is possible to effectively reduce the processing load of physical calculation by reducing the processing load of physical calculation for an object having a high speed.
(9)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトに設定された属性に関する条件でもよい。
(9) In the program, information storage medium and game system according to the present invention,
The predetermined condition may be a condition related to an attribute set for an object determined to have collided in the first collision determination process.
本発明によれば、例えば、属性としての重要度が低いオブジェクトについての物理演算の処理負荷を低減して物理演算の処理負荷を効果的に低減させることができる。 According to the present invention, for example, it is possible to effectively reduce the processing load of physical calculation by reducing the processing load of physical calculation for an object having a low importance as an attribute.
(10)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、衝突判定処理時の処理負荷に関する条件でもよい。
(10) In the program, information storage medium, and game system according to the present invention,
The predetermined condition may be a condition relating to a processing load during the collision determination process.
本発明によれば、例えば、処理負荷の高い場合に、オブジェクトの物理演算に係る処理負荷を低減させることができる。 According to the present invention, for example, when the processing load is high, the processing load related to the physical calculation of the object can be reduced.
(11)また本発明に係るプログラム、情報記憶媒体及びゲームシステムでは、
前記所定の条件は、オブジェクト空間内のオブジェクトの数に関する条件でもよい。
(11) In the program, information storage medium, and game system according to the present invention,
The predetermined condition may be a condition relating to the number of objects in the object space.
本発明によれば、例えば、オブジェクトの数が多い場合に、オブジェクトの物理演算に係る物理演算の処理負荷を低減させることができる。 According to the present invention, for example, when the number of objects is large, it is possible to reduce the processing load of the physical calculation related to the physical calculation of the object.
(12)また本発明に係るプログラム及び情報記憶媒体では、
オブジェクト同士の衝突の演出処理を行う演出部として更にコンピュータを機能させ、
前記演出部は、
前記所定の条件が満たされたか否かの判断結果に応じて処理負荷の異なる演出処理を行ってもよい。
(12) In the program and information storage medium according to the present invention,
Let the computer further function as a production unit that performs the production process of collision between objects,
The production section
An effect process with a different processing load may be performed according to a determination result of whether or not the predetermined condition is satisfied.
また本発明に係るゲームシステムでは、
オブジェクト同士の衝突の演出処理を行う演出部を更に含み、
前記演出部は、
前記所定の条件が満たされたか否かの判断結果に応じて処理負荷の異なる演出処理を行ってもよい。
In the game system according to the present invention,
It further includes a directing unit that performs a collision process between the objects,
The production section
An effect process with a different processing load may be performed according to a determination result of whether or not the predetermined condition is satisfied.
本発明によれば、処理負荷の高い演出処理を行う場合と、処理負荷の低い演出処理を行う場合とを、条件分岐により切り替えることで、演出演算の処理負荷を効果的に低減させることができる。 According to the present invention, it is possible to effectively reduce the processing load of the effect calculation by switching between the case where the effect process with a high processing load is performed and the case where the effect process with a low processing load is performed by conditional branching. .
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。 Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.
1.機能ブロック図
図1に第1の実施の形態のゲームシステム(ゲーム装置)の機能ブロック図の一例を示す。なお本実施形態のゲームシステムは図1の構成要素(各部)の一部を省略した構成としてもよい。
1. Functional Block Diagram FIG. 1 shows an example of a functional block diagram of the game system (game device) according to the first embodiment. Note that the game system of this embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.
操作部160は、プレーヤが操作情報(操作データ)を入力するためのものであり、ユーザの操作情報を処理部100に出力する。操作部160の機能は、ボタン、方向キー(十字キー)、方向入力可能なコントロールスティック(アナログキー)、レバー、キーボード、マウス、タッチパネル型ディスプレイ、加速度センサや傾きセンサ等を内蔵するコントローラなどのハードウェアにより実現することができる。
The
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部172と、最終的な表示画像等が記憶される描画バッファ174と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部176と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部178と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ179とを含む。なお、これらの一部を省略する構成としてもよい。
The
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の処理部100の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM). The
表示部190は、本実施形態により生成された画像(オブジェクト空間を所与の視点から見た画像)を出力するものであり、その機能は、CRT、LCD、或いはタッチパネル型ディスプレイなどにより実現できる。
The
なお表示部190は、立体視画像を表示するようにしてもよい。例えば、裸眼方式では、表示部190は、有限個の画素からなるLCDの前面又は背面に、パララックスバリアやレンチキュラ等の光学素子が配置される。例えば、垂直バリアまたは垂直レンチキュラによる2眼式の場合には、表示部190に、1枚(1フレーム)の左眼用画像を表示するための表示領域と、1枚の右眼用画像を表示するための表示領域とが、短冊状に左眼用短冊画像表示領域及び右眼用短冊画像表示領域として交互に配置されている。パララックスバリアが配置される場合、その隙間からは、プレーヤの左眼には左眼用短冊画像表示領域に表示される左眼用短冊画像、右眼には右眼用短冊画像表示領域に表示される右眼用短冊画像のみが見えるようになっている。また、レンチキュラが配置される場合、各短冊集合画像に対応したレンズの光屈折効果により、プレーヤの左眼には左眼用短冊画像表示領域に表示される左眼用短冊画像、右眼には右眼用短冊画像表示領域に表示される右眼用短冊画像のみが見えるようになっている。また、偏光眼鏡方式では、表示部190の奇数ラインと偶数ラインに偏光方向の異なる偏光フィルタ(例えば、左円偏光を透過する偏光フィルタと、右円偏光を透過する偏光フィルタ)が交互に配置され、表示部190の奇数ラインと偶数ラインに左眼用画像と右眼用画像を交互に表示し、これを偏光眼鏡(例えば、左眼に左円偏光を透過する偏光フィルタ、右眼に右円偏光を透過する偏光フィルタを付けた眼鏡)で見ることで立体視を実現する。また、ページフリップ方式では、表示部190に左眼用画像と右眼用画像を所定時間毎(例えば、1/120秒毎)に交互に表示する。そして、この表示の切り替えに連動して液晶シャッター付きの眼鏡の左眼、右眼の液晶シャッターを交互に開閉することで、立体視を実現する。
The
通信部196は他のゲームシステムやサーバとの間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
The
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信してゲームシステムを機能させる場合も本発明の範囲内に含む。
Note that a program or data for causing a computer to function as each unit of the present embodiment stored in the information storage medium or storage unit of the server is received via the network, and the received program or data is received by the
処理部100(プロセッサ)は、操作部160からの操作データ、通信部196を介して受信したデータやプログラムなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、GPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
The processing unit 100 (processor) performs processing such as game processing, image generation processing, and sound generation processing based on operation data from the
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、物理演算部114、演出部116、仮想カメラ制御部118、画像生成部120、音生成部130を含む。
The
オブジェクト空間設定部110は、キャラクタ(プレーヤキャラクタ、ノンプレーヤキャラクタ)、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
The object
移動・動作処理部112(移動制御部)は、オブジェクト(キャラクタ等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)、物理法則などに基づいて、オブジェクトをオブジェクト空間(ゲーム空間)内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒又は1/30秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。また移動・動作処理部112は、ネットワークを介して接続された他のゲームシステム(ゲーム装置)から通信部196を介して受信したオブジェクト(他のプレーヤに対応するオブジェクト)の移動情報や動作情報に基づき当該オブジェクトの移動情報や動作情報を更新する処理を行うようにしてもよい。また移動・動作処理部112は、他のゲーム装置から通信部196を介して受信した操作データ等に基づき、当該オブジェクトの移動・動作演算を行うようにしてもよい。
The movement / motion processing unit 112 (movement control unit) performs movement / motion calculation (movement / motion simulation) of an object (such as a character). That is, an object is moved in the object space (game space) based on operation data input by the player through the
物理演算部114は、オブジェクト空間内のオブジェクト同士の衝突判定を行う衝突判定処理と、衝突したと判定されたオブジェクトに作用する物理量(力、トルク等)を演算する衝突応答処理とを行う。移動・動作処理部112(移動制御部)は、物理演算部114の演算結果(力、トルク等の物理量)に基づき、オブジェクトをオブジェクト空間内で移動させる処理を行う。例えば、移動・動作処理部112は、物理演算部114によって演算された物理量とオブジェクトの質量、重力等に基づき、衝突したと判定されたオブジェクトの加速度及び速度を演算し、演算した加速度及び速度に基づき該オブジェクトの位置及び向きの情報を更新する。
The
特に本実施形態の物理演算部114は、オブジェクト空間内のオブジェクトについて第1の衝突判定処理を行い、前記第1の衝突判定処理で衝突したと判定された場合に、所定の条件が満たされたか否かを判断する。そして、前記所定の条件が満たされたと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて第1の衝突応答処理を行う。一方、前記所定の条件が満たされていないと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突判定処理よりも処理負荷の高い第2の衝突判定処理を行い、前記第2の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理よりも処理負荷の高い第2の衝突応答処理を行う。
In particular, the
また、前記第1の衝突判定処理では、オブジェクトを球体或いはAABB(軸並行バウンディングボックス)で近似して衝突判定を行うようにしてもよい、また、前記第2の衝突判定処理では、オブジェクトをOBB(有向バウンディングボックス)或いは凸多面体で近似して衝突判定を行うようにしてもよい。 Further, in the first collision determination process, the object may be approximated by a sphere or AABB (Axis Parallel Bounding Box) to perform the collision determination. In the second collision determination process, the object is detected as OBB. The collision determination may be performed by approximating with a (directed bounding box) or a convex polyhedron.
また、前記第1の衝突応答処理では、前記第2の衝突応答処理よりも処理負荷の低いペナルティ法を用いて衝突応答処理を行うようにしてもよい。また、前記第2の衝突応答処理では、前記第1の衝突応答処理よりも処理負荷の高いインパルス法(撃力ベース法)或いはLCP(線形相補性問題)等の解析法を用いて衝突応答処理を行うようにしてもよい。 In the first collision response process, the collision response process may be performed using a penalty method having a lower processing load than the second collision response process. Further, in the second collision response process, the collision response process is performed using an analysis method such as an impulse method (fire force base method) or LCP (linear complementarity problem), which has a higher processing load than the first collision response process. May be performed.
また、物理演算部114は、前記所定の条件が満たされたと判断した場合に、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて、オブジェクトを複数の球体で近似して衝突判定を行う第3の衝突判定処理を行い、前記第3の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理、又は前記第1の衝突応答処理よりも処理負荷が高く前記第2の衝突応答処理よりも処理負荷の低い第3の衝突応答処理のいずれかを行うようにしてもよい。
In addition, when the
また、物理演算部114は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトが所定の条件を満たすか否かを判断してもよい。そして、所定の条件を満たす判断されたオブジェクトについて前記第2の衝突応答処理よりも処理負荷の低い第1の衝突応答処理を行い、所定の条件を満たさないと判断されたオブジェクトについて前記第1の衝突判定処理よりも処理負荷の高い第2の衝突判定処理を行い、前記第2の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理よりも処理負荷の高い第2の衝突応答処理を行うようにしてもよい。
Further, the
すなわち、前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトに関する条件でもよい。例えば、前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラからの距離、又は仮想カメラとの位置関係に関する条件でもよい。また立体視画像を生成する場合には、前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトが、オブジェクト空間内の投影面よりも仮想カメラから見て手前側のエリアに位置するか否かに関する条件でもよい。また前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラから見たときの画像サイズに関する条件でもよいし、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの透明度に関する条件でもよいし、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの速度に関する条件でもよいし、前記第1の衝突判定処理で衝突したと判定されたオブジェクトに設定された属性に関する条件でもよい。 That is, the predetermined condition may be a condition related to an object determined to have collided in the first collision determination process. For example, the predetermined condition may be a condition relating to a distance from the virtual camera of the object determined to have collided in the first collision determination process or a positional relationship with the virtual camera. When generating a stereoscopic image, the predetermined condition is that the object determined to have collided in the first collision determination process is closer to the front than the projection plane in the object space when viewed from the virtual camera. It may be a condition regarding whether or not it is located in an area. The predetermined condition may be a condition related to an image size when the object determined to have collided in the first collision determination process is viewed from a virtual camera, or determined to have collided in the first collision determination process. The condition relating to the transparency of the object determined may be the condition relating to the speed of the object determined to have collided in the first collision determination process, or the object determined to have collided in the first collision determination process. It may be a condition related to the set attribute.
なお、前記所定の条件は、衝突判定処理時の処理負荷(CPUの処理負荷)に関する条件でもよいし、オブジェクト空間内のオブジェクトの数に関する条件でもよい。 The predetermined condition may be a condition related to the processing load (CPU processing load) during the collision determination process or a condition related to the number of objects in the object space.
演出部116は、オブジェクト同士の衝突の演出処理を行い、前記所定の条件が満たされたか否かの判断結果に応じて処理負荷の異なる演出処理を行う。例えば、演出部116は、所定の条件が満たされたと判断された場合に、第1の演出処理を行い、所定の条件が満たされていないと判断された場合に、前記第1の演出処理よりも処理負荷の高い(又は前記第1の演出処理よりも処理負荷の低い)第2の演出処理を行う。また、前記所定の条件が、前記第1の衝突判定処理で衝突したと判定されたオブジェクトに関する条件である場合には、演出部116は、所定の条件を満たすと判断されたオブジェクトについて前記第1の演出処理を行い、所定の条件を満たないと判断され、前記第2の衝突判定処理で衝突したと判定されたオブジェクトについて前記第2の演出処理を行ってもよい。
The
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、操作部160によりプレーヤが入力した操作データ或いはプログラム(移動・動作アルゴリズム)等に基づいて、ワールド座標系における仮想カメラの位置(X、Y、Z)又は光軸の方向(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度等)を制御する処理を行う。要するに、視点位置、仮想カメラの向き、画角を制御する処理を行う。
The virtual
また、2眼式の立体視方式により立体視画像を表示する場合には、仮想カメラ制御部118は、左眼用仮想カメラ及び右眼用仮想カメラの位置、向き及び画角を制御する。また、仮想カメラ制御部118は、左眼用仮想カメラと右眼用仮想カメラを設定するための基準となる基準仮想カメラ(センターカメラ)の制御を行い、基準仮想カメラの位置、向き及び左眼用及び右眼用仮想カメラ間の距離情報に基づいて、左眼用及び右眼用仮想カメラの位置、向きを制御するようにしてもよい。多眼立体視画像の場合も同様に、多眼仮想カメラのそれぞれについて位置、向きを制御すればよい。また、空間像方式(水平・垂直両方向に視差を持つ方式を含む)の場合には、仮想カメラの位置、向き及び画角の少なくとも1つを制御して、それに基づく空間座標変換により、仮想空間全体をいったん変換する。その後、変換後の空間内に配置されたオブジェクト等を、それぞれの立体視表示方式に基づいて描画することで、上記の効果を得ることができる。
When a stereoscopic image is displayed by the binocular stereoscopic method, the virtual
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。
The
いわゆる3次元画像を生成する場合には、まずオブジェクトの各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。 When generating a so-called three-dimensional image, first, object data (model data) including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the object is input. Based on the vertex data included in the input object data, vertex processing (shading by a vertex shader) is performed. When performing the vertex processing, vertex generation processing (tessellation, curved surface division, polygon division) for re-dividing the polygon may be performed as necessary.
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、射影変換(透視変換、投影変換)、ビューポート変換(スクリーン座標変換)、光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。ジオメトリ処理後のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部176に保存される。
In the vertex processing, according to the vertex processing program (vertex shader program, first shader program), vertex movement processing, coordinate transformation, for example, world coordinate transformation, visual field transformation (camera coordinate transformation), clipping processing, projective transformation (perspective transformation) , Projection conversion), viewport conversion (screen coordinate conversion), light source calculation, and other geometric processing are performed, and based on the processing results, the vertex data given to the vertex group constituting the object is changed (updated, adjusted). To do. Object data after the geometry processing (position coordinates of object vertices, texture coordinates, color data (luminance data), normal vector, α value, etc.) is stored in the object
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。 Then, rasterization (scan conversion) is performed based on the vertex data after the vertex processing, and the surface of the polygon (primitive) is associated with the pixel. Subsequent to rasterization, pixel processing (shading or fragment processing by a pixel shader) for drawing pixels (fragments forming a display screen) constituting an image is performed.
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。 In pixel processing, according to a pixel processing program (pixel shader program, second shader program), various processes such as texture reading (texture mapping), color data setting / change, translucent composition, anti-aliasing, etc. are performed, and an image is processed. The final drawing color of the constituent pixels is determined, and the drawing color of the perspective-transformed object is output (drawn) to a drawing buffer 174 (a buffer capable of storing image information in units of pixels; VRAM). That is, in pixel processing, per-pixel processing for setting or changing image information (color, normal, luminance, α value, etc.) in units of pixels is performed. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated.
そして描画部120は、オブジェクトを描画する際に、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
The
テクスチャマッピングは、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部178からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
Texture mapping is a process for mapping a texture (texel value) stored in the
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ179(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ179に格納されるZ値を参照する。そして参照されたZバッファ179のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ179のZ値を新たなZ値に更新する。
As the hidden surface removal processing, hidden surface removal processing by a Z buffer method (depth comparison method, Z test) using a Z buffer 179 (depth buffer) in which a Z value (depth information) of a drawing pixel is stored may be performed. it can. That is, when drawing pixels corresponding to the primitive of the object are drawn, the Z value stored in the
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。 α blending (α synthesis) is a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on an α value (A value). For example, in normal α blending, a process for obtaining a color obtained by combining two colors by performing linear interpolation with the α value as the strength of synthesis is performed. The α value is information that can be stored in association with each pixel (texel, dot), and is, for example, plus alpha information other than color information indicating the luminance of each RGB color component. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.
画像生成部120は、立体視画像を表示部190に出力するようにしてもよい。例えば、立体視方式が2眼式の場合であれば、画像生成部120は、左眼用画像生成部と右眼用画像生成部を含む。左眼用画像生成部は、オブジェクト空間内において左眼用仮想カメラから見える画像である左眼用画像を生成し、右眼用画像生成部は、オブジェクト空間内において右眼用仮想カメラから見える画像である右眼用画像を生成する。具体的には、左眼用画像生成部は、オブジェクト空間内の投影面に対してオブジェクトを左眼用仮想カメラの視点で透視投影して描画することで左眼用画像を生成し、右眼用画像生成部は、投影面に対してオブジェクトを右眼用仮想カメラの視点で透視投影して描画することで右眼用画像を生成する。
The
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
The
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他のゲームシステム(ゲーム装置)とデータを送受信してゲーム処理を行うようにしてもよいし、1つの画像生成システムが、複数の操作部からの操作情報に基づいて処理を行うようにしてもよい。 Note that the game system according to the present embodiment may be controlled so that the game can be played in a single player mode in which only one player can play or in a multiplayer mode in which a plurality of players can play. For example, when controlling in the multiplayer mode, the game processing may be performed by transmitting / receiving data to / from another game system (game device) via a network. Processing may be performed based on operation information from the operation unit.
また、本実施形態のゲームシステムをサーバシステムとして構成してもよい。サーバシステムは、1又は複数のサーバ(認証サーバ、ゲーム処理サーバ、通信サーバ、課金サーバ、データベースサーバ等)により構成することができる。この場合には、サーバシステムは、ネットワークを介して接続された1又は複数の端末装置(例えば、据え置き型ゲーム装置、携帯型ゲーム装置、プログラム実行可能な携帯電話等)から送信された操作情報に基づき各種処理を行って、画像を生成するための画像生成用データを生成し、生成した画像生成用データを各端末装置に対して送信する。ここで、画像生成用データとは、本実施形態の手法により生成された画像を各端末装置において表示するためのデータであり、画像データそのものでもよいし、各端末装置が画像を生成するために用いる各種データ(オブジェクトデータ、ゲーム処理結果データ等)であってもよい。 Moreover, you may comprise the game system of this embodiment as a server system. The server system can be composed of one or a plurality of servers (authentication server, game processing server, communication server, billing server, database server, etc.). In this case, the server system uses the operation information transmitted from one or more terminal devices (for example, a stationary game device, a portable game device, a mobile phone capable of executing a program, etc.) connected via the network. Various processes are performed based on this, and image generation data for generating an image is generated, and the generated image generation data is transmitted to each terminal device. Here, the image generation data is data for displaying an image generated by the method of the present embodiment on each terminal device, and may be image data itself or for each terminal device to generate an image. Various data to be used (object data, game process result data, etc.) may be used.
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
2. Next, the method of this embodiment will be described with reference to the drawings.
2−1.物理演算
図2は、本実施形態における物理演算(物理シミュレーション)の処理ステップの一例について説明するための模式図である。物理演算では、オブジェクト同士の衝突を検出する衝突判定処理と、衝突したオブジェクトに作用する物理量を演算する衝突応答処理が行われる。
2-1. Physical Calculation FIG. 2 is a schematic diagram for explaining an example of processing steps of physical calculation (physical simulation) in the present embodiment. In the physical calculation, a collision determination process for detecting a collision between objects and a collision response process for calculating a physical quantity acting on the collided object are performed.
本実施形態では、図2に示すように、まず、オブジェクト空間内の各オブジェクトを移動させる移動制御が行われ、次に、オブジェクト空間内のオブジェクトについて第1の衝突判定処理が行われる。第1の衝突判定処理(ブロードフェーズ衝突判定)では、後述する第2の衝突判定処理に比べて正確性に劣るものの処理負荷の低い手法を用いた衝突判定が行われる。 In the present embodiment, as shown in FIG. 2, first, movement control for moving each object in the object space is performed, and then a first collision determination process is performed on the object in the object space. In the first collision determination process (broad phase collision determination), a collision determination using a technique with a low processing load is performed although the accuracy is inferior to the second collision determination process described later.
次に、所定の条件(第1の衝突判定処理で衝突したと判定されたオブジェクトに関する所定の条件、又は処理負荷或いはオブジェクトの数に関する所定の条件)が満たされたか否かが判断される。 Next, it is determined whether or not a predetermined condition (a predetermined condition regarding an object determined to have collided in the first collision determination process, or a predetermined condition regarding a processing load or the number of objects) is satisfied.
所定の条件が満たされていないと判断された場合(図2のA1)には、第1の衝突判定処理で衝突したと判定されたオブジェクトのペア(衝突ペア)について第2の衝突判定処理が行われる。第2の衝突判定処理(ナローフェーズ衝突判定)では、第1の衝突判定処理に比べて処理負荷が高いものの精度の高い手法を用いた衝突判定が行われる。そして、第2の衝突判定処理で衝突したと判定されたオブジェクトについて第2の衝突応答処理が行われ、第2の衝突応答処理の処理結果に基づきオブジェクトの移動制御が行われる。第2の衝突応答処理では、後述する第1の衝突応答処理に比べて処理負荷が高いものの精度が高い手法を用いた衝突応答処理が行われる。 When it is determined that the predetermined condition is not satisfied (A1 in FIG. 2), the second collision determination process is performed for the pair of objects (collision pair) determined to have collided in the first collision determination process. Done. In the second collision determination process (narrow phase collision determination), although the processing load is higher than that of the first collision determination process, a collision determination using a highly accurate method is performed. Then, the second collision response process is performed on the object determined to have collided in the second collision determination process, and the movement control of the object is performed based on the processing result of the second collision response process. In the second collision response process, a collision response process is performed using a technique with a higher processing load but higher accuracy than the first collision response process described later.
一方、所定の条件が満たされたと判断された場合(図2のA2)には、第2の衝突判定処理を省略して、第1の衝突判定処理で衝突したと判定されたオブジェクトのペア(衝突ペア)について第1の衝突応答処理が行われ、第1の衝突応答処理の処理結果に基づきオブジェクトの移動制御が行われる。第1の衝突応答処理では、第2の衝突応答処理に比べて正確性に劣るものの処理負荷の低い手法を用いた衝突応答処理が行われる。 On the other hand, when it is determined that a predetermined condition is satisfied (A2 in FIG. 2), the second collision determination process is omitted, and a pair of objects determined to have collided in the first collision determination process ( The first collision response process is performed for the collision pair), and the movement control of the object is performed based on the processing result of the first collision response process. In the first collision response process, a collision response process is performed using a technique that is less accurate than the second collision response process but has a low processing load.
具体的には、第1の衝突判定処理では、図3(A)に示すように、各オブジェクトOBに設定する衝突判定領域DAとして、各オブジェクトOBを内包するバウンディング球(球体)を用いて、オブジェクト同士の衝突判定が行われる。衝突判定領域としてバウンディング球を用いると、バウンディング球の中心点同士の距離と半径とに基づき衝突判定を行えるため、衝突判定処理の処理負荷を低減することができる。 Specifically, in the first collision determination process, as shown in FIG. 3A, as a collision determination area DA set for each object OB, a bounding sphere (sphere) that includes each object OB is used. A collision determination between objects is performed. When a bounding sphere is used as the collision determination area, the collision determination can be performed based on the distance and radius between the center points of the bounding spheres, so that the processing load of the collision determination process can be reduced.
また、第1の衝突判定処理では、図3(B)に示すように、各オブジェクトOBに設定する衝突判定領域DAとして、各オブジェクトOBを内包する軸並行バウンディングボックス(AABB:Axis-Aligned Bounding Box)を用いて、オブジェクト同士の衝突判定を行うようにしてもよい。軸並行バウンディングボックスとは、各辺がオブジェクト空間(ワールド座標空間)のXYZ軸に対し平行な直方体である。衝突判定領域として軸並行バウンディングボックスを用いると、オブジェクトの回転(向き)を考慮せずに衝突判定を行えるため、バウンディング球を用いる場合と同様に衝突判定処理の処理負荷を低減することができる。 In the first collision determination process, as shown in FIG. 3B, as a collision determination area DA set for each object OB, an axis parallel bounding box (AABB: Axis-Aligned Bounding Box) that includes each object OB is included. ) May be used to determine collision between objects. The axis parallel bounding box is a rectangular parallelepiped whose sides are parallel to the XYZ axes of the object space (world coordinate space). When an axis parallel bounding box is used as the collision determination area, collision determination can be performed without considering the rotation (orientation) of the object, so that the processing load of the collision determination process can be reduced as in the case of using the bounding sphere.
また、第2の衝突判定処理では、図3(C)に示すように、各オブジェクトOBに設定する衝突判定領域DAとして、各オブジェクトOBを内包する有向バウンディングボックス(OBB:Oriented Bounding Box)を用いて、第1の衝突判定処理で衝突したと判定されたオブジェクト同士の衝突判定が行われる。有向バウンディングボックスとは、任意の軸を有する直方体であり、オブジェクトの向きも考慮して設定されるものである。 In the second collision determination process, as shown in FIG. 3C, a directed bounding box (OBB) containing each object OB is used as a collision determination area DA set for each object OB. The collision determination between the objects determined to have collided in the first collision determination processing is performed. The directed bounding box is a rectangular parallelepiped having an arbitrary axis, and is set in consideration of the direction of the object.
また、第2の衝突判定処理では、図3(D)に示すように、各オブジェクトOBに設定する衝突判定領域DAとして、各オブジェクトOBを内包する凸多面体を用いて衝突判定を行うようにしてもよい。有向バウンディングボックスや凸多面体を用いる第2の衝突判定処理では、バウンディング球や軸並行バウンディングボックスを用いる第1の衝突判定処理に比べて処理負荷が高いものの精度の高い衝突判定を行うことができる。また、第2の衝突判定処理では、図3(E)に示すように、各オブジェクトの形状と略同一形状の衝突判定領域DAを用いて衝突判定を行うようにしてもよい。 Further, in the second collision determination process, as shown in FIG. 3D, the collision determination is performed using a convex polyhedron containing each object OB as the collision determination area DA set for each object OB. Also good. In the second collision determination process using a directed bounding box or a convex polyhedron, a high-precision collision determination can be performed although the processing load is higher than that in the first collision determination process using a bounding sphere or an axis parallel bounding box. . In the second collision determination process, as shown in FIG. 3E, the collision determination may be performed using a collision determination area DA having substantially the same shape as each object.
また、第2の衝突応答処理では、インパルス法(撃力ベース法)を用いて第2の衝突判定処理で衝突したと判定されたオブジェクトについての衝突応答処理が行われる。インパルス法とは、衝突を2つのオブジェクトに働く瞬間的な力(インパルス、撃力)の連続として扱うことで、衝突したオブジェクトに作用する抗力を求める手法である。 In the second collision response process, a collision response process is performed for an object that is determined to have collided in the second collision determination process using the impulse method (striking force-based method). The impulse method is a technique for obtaining a drag force acting on a collided object by treating the collision as a series of instantaneous forces (impulse, striking force) acting on two objects.
また、第2の衝突応答処理では、解析法(直接法)を用いて第2の衝突判定処理で衝突したと判定されたオブジェクトについての衝突応答処理を行うようにしてもよい。解析法とは、例えば、拘束条件を運動方程式と連立させた線形相補性問題(LCP:Linear Complementary Proglem)を解くことで、衝突したオブジェクトに作用する物理量を求める手法である。インパルス法や解析法を用いる第2の衝突応答処理では、処理負荷は高いものの精度の高い衝突応答処理を行うことができる。 In the second collision response process, a collision response process may be performed on an object determined to have collided in the second collision determination process using an analysis method (direct method). The analysis method is, for example, a method for obtaining a physical quantity acting on a collided object by solving a linear complementarity problem (LCP) in which a constraint condition is coupled with an equation of motion. In the second collision response process using the impulse method or the analysis method, although the processing load is high, the collision response process with high accuracy can be performed.
また、第1の衝突応答処理では、ペナルティ法を用いて第1の衝突判定処理で衝突したと判定されたオブジェクトについての衝突応答処理が行われる。ペナルティ法とは、図4に示すように、衝突したオブジェクトOB間(各オブジェクトに設定された衝突判定領域DA間)のめり込み距離PN(浸透深度、ペナルティ)に応じたバネ及びダンパの力を仮想的に発生させることで、衝突したオブジェクトに作用する抗力を求める手法である。ペナルティ法を用いる第1の衝突応答処理では、運動方程式や巨大な逆行列を用いずにオブジェクトに作用する物理量を演算することができるため、インパルス法や解析法を用いる第2の衝突応答処理に比べて精度は劣るものの低い処理負荷で衝突応答処理を行うことができる。 In the first collision response process, a collision response process is performed for an object that is determined to have collided in the first collision determination process using the penalty method. As shown in FIG. 4, the penalty method is a method in which the force of the spring and the damper according to the penetration distance PN (penetration depth, penalty) between the collided objects OB (between the collision determination areas DA set for each object) is virtually calculated. This is a technique for determining the drag acting on the collided object. In the first collision response processing using the penalty method, the physical quantity acting on the object can be calculated without using the equation of motion or the huge inverse matrix, so the second collision response processing using the impulse method or the analysis method is used. Although the accuracy is inferior, the collision response process can be performed with a low processing load.
このように本実施形態では、第1の衝突判定処理を行った後に、所定の条件が満たされたか否かを判断し、所定の条件が満たされていないと判断した場合には、精度が高く処理負荷も高い第2の衝突判定処理及び第2の衝突応答処理を行い、所定の条件が満たされたと判断した場合には、処理負荷の高い第2の衝突判定処理を省略し、且つ、第2の衝突応答処理に代えて精度が低く処理負荷も低い第1の衝突応答処理を行う。このように本実施形態によれば、精度が高く処理負荷が高い物理演算を行う場合と、精度が低く処理負荷が低い物理演算を行う場合とを、衝突オブジェクトや処理負荷に応じて条件分岐により切り替えることで、物理演算の処理負荷を効果的に低減させることができる。 As described above, in the present embodiment, after performing the first collision determination process, it is determined whether or not a predetermined condition is satisfied, and when it is determined that the predetermined condition is not satisfied, the accuracy is high. When the second collision determination process and the second collision response process with a high processing load are performed and it is determined that the predetermined condition is satisfied, the second collision determination process with a high processing load is omitted, and the second Instead of the collision response process 2, the first collision response process with low accuracy and low processing load is performed. As described above, according to the present embodiment, a case where a physical operation with high accuracy and high processing load is performed and a case where physical operation with low accuracy and low processing load are performed by conditional branching according to the collision object and the processing load. By switching, the processing load of physical calculation can be reduced effectively.
なお、図5に示すように、3通りの条件分岐を行うようにしてもよい。すなわち、第1の条件を満たしていない場合(図5のA1)には、第1の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第2の衝突判定処理を行い、第1の条件を満たし且つ第2の条件を満たす場合(図5のA2)には、第1の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第1の衝突応答処理を行い、第1の条件を満たし且つ第2の条件を満たさない場合(図5のA3)には、第1の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第3の衝突判定処理を行い、第3の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第1の衝突応答処理を行うようにしてもよい。なお、第3の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第1の衝突応答処理よりも処理負荷が高く第2の衝突応答処理よりも処理負荷の低い第3の衝突応答処理を行うようにしてもよい。 As shown in FIG. 5, three kinds of conditional branching may be performed. That is, when the first condition is not satisfied (A1 in FIG. 5), the second collision determination process is performed on the pair of objects determined to have collided in the first collision determination process, and the first condition And the second condition is satisfied (A2 in FIG. 5), the first collision response process is performed on the pair of objects determined to have collided in the first collision determination process, and the first condition is If the second condition is satisfied (A3 in FIG. 5), the third collision determination process is performed on the pair of objects determined to have collided in the first collision determination process, and the third collision determination is performed. You may make it perform a 1st collision response process about the pair of the object determined with the process colliding. It should be noted that a third collision response process that has a higher processing load than the first collision response process and a lower processing load than the second collision response process for the pair of objects determined to have collided in the third collision determination process. You may make it perform.
第3の衝突判定処理(ミドルフェーズ衝突判定)では、オブジェクトを複数の球体で近似して衝突判定を行う。すなわち、第3の衝突判定処理では、図6に示すように、各オブジェクトOBに設定する衝突判定領域DAとして、各オブジェクトOBを内包する複数のバウンディング球(球体)を用いて、オブジェクト同士の衝突判定が行われる。複数のバウンディング球を用いる第3の衝突判定処理では、単一のバウンディング球を用いる第1の衝突判定処理に比べて精度が高く処理負荷が高い衝突判定であって、有向バウンディングボックスや凸多面体を用いる第2の衝突判定処理に比べて精度が低く処理負荷が低い衝突判定が行われる。なお、衝突判定領域DAとして設定するバウンディング球の数は任意であるが、バウンディング球の数を多くするほど精度は高くなり処理負荷も高くなる。なお、第3の衝突判定処理においてバウンディング球の数を可変として3通り以上の条件分岐を行うようにしてもよい。このように、物理演算の精度及び処理負荷を条件分岐により多段階で切り替えることで、物理演算の処理負荷をより効果的に低減させることができる。 In the third collision determination process (middle phase collision determination), the object is approximated by a plurality of spheres to determine the collision. That is, in the third collision determination process, as shown in FIG. 6, as a collision determination area DA set for each object OB, a plurality of bounding spheres (spheres) that contain each object OB are used to collide objects. A determination is made. The third collision determination process using a plurality of bounding spheres is a collision determination that is more accurate and has a higher processing load than the first collision determination process using a single bounding sphere, and is a directed bounding box or convex polyhedron. Compared to the second collision determination process using, the collision determination is performed with a low accuracy and a low processing load. The number of bounding spheres set as the collision determination area DA is arbitrary, but the accuracy increases and the processing load increases as the number of bounding spheres increases. Note that in the third collision determination process, the number of bounding spheres may be varied to perform three or more conditional branches. As described above, the processing load of the physical calculation can be more effectively reduced by switching the accuracy and the processing load of the physical calculation in multiple stages by conditional branching.
2−2.分岐条件(オブジェクトの仮想カメラからの距離・位置関係に関する条件)
次に、本実施形態における所定の条件(分岐条件)の詳細について説明する。まず、第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラからの距離(当該オブジェクトの奥行き値(Z値))、又は仮想カメラとの位置関係に関する条件を判断する場合について説明する。
2-2. Branch condition (Conditions regarding distance / positional relationship from the virtual camera of the object)
Next, details of the predetermined condition (branch condition) in the present embodiment will be described. First, a case will be described in which the distance from the virtual camera of the object determined to have collided in the first collision determination processing (depth value (Z value) of the object) or a condition regarding the positional relationship with the virtual camera is determined. .
例えば、図7に示す例において、仮想カメラVCからの距離が距離D1以内の位置にあるオブジェクトのペアOP1、OP2については、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、仮想カメラVCからの距離が距離D1以上の位置にあるオブジェクトのペアOP3については、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行う。なお、オブジェクトのペアのいずれか一方が距離D1以上の位置にある場合に、当該オブジェクトのペアについて所定の条件が満たされたと判断してもよい。また、オブジェクトペアのめり込み部分(図4のPN)の位置に基づき判断してもよい。 For example, in the example shown in FIG. 7, it is determined that the predetermined condition is not satisfied for the pair of objects OP1 and OP2 whose distance from the virtual camera VC is within the distance D1, and the second processing load is high. The collision determination process and the second collision response process are performed, and it is determined that the predetermined condition is satisfied for the object pair OP3 whose distance from the virtual camera VC is equal to or greater than the distance D1, and the second collision determination is performed. The first collision response process with a low processing load is performed by omitting the process. Note that when any one of the pair of objects is located at a position greater than or equal to the distance D1, it may be determined that a predetermined condition is satisfied for the pair of objects. Further, the determination may be made based on the position of the indented portion (PN in FIG. 4) of the object pair.
このように、仮想カメラVCから遠いところに位置するオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、仮想カメラから近いところに位置するオブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、仮想カメラから遠いため精度の低い物理演算を行ったとしても見た目の不自然さが視認され難いオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 As described above, a physical operation with low accuracy and low processing load is performed on an object located far from the virtual camera VC, and a physical operation with high accuracy and high processing load is performed on an object located near the virtual camera. By doing so, the processing load of the physical operation is reduced by reducing the processing load of the physical operation on the object whose visual unnaturalness is difficult to be visually recognized even if low-precision physical calculation is performed because it is far from the virtual camera. Can be effectively reduced.
また、図7に示す例において、仮想カメラVCからの距離が距離D2(D2<D1)以内の領域と、仮想カメラVCからの距離が距離D1以上の領域とを焦点が合わない領域として設定し、仮想カメラVCからの距離が距離D2以上であって距離D1以内の領域を焦点があう領域として設定して、焦点が合わない領域に位置するオブジェクトの画像をぼかす被写界深度処理を行う場合に、焦点が合う領域に位置するオブジェクトのペアOP2については、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、焦点が合わない領域に位置するオブジェクトのペアOP1、OP3については、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。なお、オブジェクトのペアのいずれか一方が焦点の合わない領域に位置する場合に、当該オブジェクトのペアについて所定の条件が満たされたと判断してもよい。また、オブジェクトペアのめり込み部分(図4のPN)の位置に基づき判断してもよい。 In the example shown in FIG. 7, an area where the distance from the virtual camera VC is within the distance D2 (D2 <D1) and an area where the distance from the virtual camera VC is equal to or more than the distance D1 are set as areas that are out of focus. When the depth from the virtual camera VC is set to a region where the distance is equal to or greater than the distance D2 and within the distance D1, and the image of the object located in the unfocused region is blurred. In addition, for the object pair OP2 located in the in-focus area, it is determined that the predetermined condition is not satisfied, and the second collision determination process and the second collision response process with a high processing load are performed. For the object pairs OP1 and OP3 located in the mismatched region, it is determined that a predetermined condition is satisfied, and the second collision determination process is omitted, and the first collision response with a low processing load It may be performed sense. When any one of the pair of objects is located in an out-of-focus area, it may be determined that a predetermined condition is satisfied for the pair of objects. Further, the determination may be made based on the position of the indented portion (PN in FIG. 4) of the object pair.
このように、被写界深度処理によってぼかし処理が施されるオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、ぼかし処理が施されないオブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、ぼかし処理が施されるため精度の低い物理演算を行ったとしても見た目の不自然さが視認され難いオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 In this way, physical operations with low accuracy and low processing load are performed for objects that are blurred by depth-of-field processing, and physical operations with high accuracy and high processing load are performed for objects that are not subjected to blur processing. By doing so, the processing load of physics calculations on objects that are difficult to visually perceive even if physics calculations with low accuracy are performed is reduced. The processing load can be effectively reduced.
また、図7に示す例において、ビューボリュームVV内に位置するオブジェクトのペアOP1〜OP3については、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、ビューボリュームVVの外に位置するオブジェクトのペアOP4については、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。なお、ビューボリュームVVは、仮想カメラVCの位置、向き、画角及び投影面の位置によって上下左右の構成面が決定される視錐台の領域である。なお、オブジェクトのペアのいずれか一方がビューボリュームVVの外に位置する場合に、当該オブジェクトのペアについて所定の条件が満たされたと判断してもよい。また、オブジェクトペアのめり込み部分(図4のPN)の位置に基づき判断してもよい。 Further, in the example shown in FIG. 7, it is determined that the predetermined condition is not satisfied for the pair of objects OP1 to OP3 located in the view volume VV, and the second collision determination processing and the second processing load with a high processing load are performed. For the object pair OP4 located outside the view volume VV, it is determined that a predetermined condition is satisfied, the second collision determination process is omitted, and the first collision with a low processing load is performed. Response processing may be performed. The view volume VV is a view frustum region in which the upper, lower, left, and right constituent planes are determined by the position, orientation, angle of view, and projection plane position of the virtual camera VC. When any one of the pair of objects is located outside the view volume VV, it may be determined that a predetermined condition is satisfied for the pair of objects. Further, the determination may be made based on the position of the indented portion (PN in FIG. 4) of the object pair.
このように、ビューボリューム外に位置するオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、ビューボリューム内に位置するオブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、ビューボリューム外に位置するため描画対象とはならないオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 In this way, physical operations with low accuracy and low processing load are performed for objects located outside the view volume, and physical operations with high accuracy and high processing load are performed for objects located within the view volume. Thus, it is possible to reduce the processing load of the physical calculation for the object that is located outside the view volume and is not a drawing target, and to effectively reduce the processing load of the physical calculation.
また、立体視画像を生成する場合に、第1の衝突判定処理で衝突したと判定されたオブジェクトが、表示部から飛び出して見える飛び出し空間を再現する領域に位置する場合に、所定の条件が満たされたと判断してもよい。 In addition, when generating a stereoscopic image, a predetermined condition is satisfied when an object determined to have collided in the first collision determination process is located in a region that reproduces a pop-up space that appears to pop out from the display unit. It may be determined that
図8に示すように、2眼式の立体視方式では、プレーヤの両眼の幅に対応する距離だけ離れた左眼用仮想カメラVCLと右眼用仮想カメラVCRをオブジェクト空間に設定する。そして、左眼用仮想カメラVCLに対応して左眼用ビューボリュームVVLが設定され、右眼用仮想カメラVCRに対応して右眼用ビューボリュームVVRが設定される。投影面SPは、表示部の画面に対応する面であり、プレーヤの視点位置に相当する左眼用、右眼用仮想カメラVCL、VCRの位置及び向きと、プレーヤの視点位置と表示部の画面との位置関係とに基づき設定される。なお、図8において、NPL、FPLは、それぞれ左眼用ビューボリュームVVLのニアクリップ面、ファークリップ面であり、NPR、FPRは、それぞれ右眼用ビューボリュームVVRのニアクリップ面、ファークリップ面である。左眼用仮想カメラVCLから見える画像である左眼用画像は、左眼用ビューボリュームVVL内に存在するオブジェクトを投影面SPに透視投影して描画することで生成される。同様に、右眼用仮想カメラVCRから見える画像である右眼用画像は、右眼用ビューボリュームVVR内に存在するオブジェクトを投影面SPに透視投影して描画することで生成される。 As shown in FIG. 8, in the binocular stereoscopic method, the left-eye virtual camera VCL and the right-eye virtual camera VCR that are separated by a distance corresponding to the width of both eyes of the player are set in the object space. Then, a left-eye view volume VVL is set corresponding to the left-eye virtual camera VCL, and a right-eye view volume VVR is set corresponding to the right-eye virtual camera VCR. The projection plane SP is a plane corresponding to the screen of the display unit, the positions and orientations of the left-eye and right-eye virtual cameras VCL and VCR corresponding to the viewpoint position of the player, the viewpoint position of the player, and the screen of the display unit. Is set based on the positional relationship between and. In FIG. 8, NPL and FPL are the near clip plane and the far clip plane of the left eye view volume VVL, respectively. NPR and FPR are the near clip plane and the far clip plane of the right eye view volume VVR, respectively. is there. An image for the left eye, which is an image that can be seen from the left-eye virtual camera VCL, is generated by perspectively projecting an object existing in the left-eye view volume VVL onto the projection plane SP and drawing it. Similarly, an image for the right eye, which is an image that can be viewed from the virtual camera for right eye VCR, is generated by perspectively projecting an object that exists in the view volume for right eye VVR onto the projection plane SP and drawing it.
ここで、オブジェクトが、投影面SPよりも左眼用、右眼用仮想カメラVCL、VCRからみて手前側のエリア(投影面SPとニアクリップ面NPL、NPRに挟まれたエリア)である第1のエリアAR1に位置する場合には、プレーヤからはオブジェクトが表示部の画面よりも手前側に飛び出しているように見える。また、オブジェクトが、投影面SPよりも左眼用、右眼用仮想カメラVCL、VCRからみて奥側のエリア(投影面SPとファークリップ面FPL、FPRに挟まれたエリア)である第2のエリアAR2に位置する場合には、プレーヤからはオブジェクトが表示部の画面よりも奥側に引っ込んでいるように見える。 Here, the object is a first area (an area sandwiched between the projection plane SP and the near clip planes NPL and NPR) as viewed from the left-eye and right-eye virtual cameras VCL and VCR with respect to the projection plane SP. When the object is located in the area AR1, it appears to the player that the object has jumped out from the screen of the display unit. The object is a second area (an area sandwiched between the projection plane SP and the far clip planes FPL and FPR) as viewed from the left-eye and right-eye virtual cameras VCL and VCR with respect to the projection plane SP. When located in the area AR2, it appears to the player that the object has been retracted further back than the screen of the display unit.
例えば、図8に示す例において、画面よりも手前側に飛び出しているように見える飛び出し空間を再現する第1のエリアAR1に位置するオブジェクトのペアOP5については、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、画面よりも奥側に引っ込んでいるように見える奥行き空間を再現する第2のエリアAR2に位置するオブジェクトのペアOP6については、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行う。なお、オブジェクトのペアのいずれか一方が第2のエリアAR2に位置する場合に、当該オブジェクトのペアについて所定の条件が満たされたと判断してもよい。また、オブジェクトペアのめり込み部分(図4のPN)の位置に基づき判断してもよい。 For example, in the example shown in FIG. 8, the predetermined condition is not satisfied for the pair OP5 of objects located in the first area AR1 that reproduces the pop-out space that appears to pop out from the screen. The second collision determination process and the second collision response process with a high processing load are performed, and the object located in the second area AR2 that reproduces the depth space that seems to be retracted to the back side of the screen is determined. For the pair OP6, it is determined that a predetermined condition is satisfied, the second collision determination process is omitted, and the first collision response process with a low processing load is performed. When any one of the pair of objects is located in the second area AR2, it may be determined that a predetermined condition is satisfied for the pair of objects. Further, the determination may be made based on the position of the indented portion (PN in FIG. 4) of the object pair.
このように、立体視画像を生成する際に、飛び出し空間を再現する領域に位置するオブジェクトについては、精度が高く処理負荷も高い物理演算を行い、奥行き空間を再現する領域に位置するオブジェクトについては精度が低く処理負荷も低い物理演算を行うようにすることで、プレーヤが立体視感をより強く感じる飛び出し空間を再現する領域に位置するオブジェクト以外のオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 As described above, when generating a stereoscopic image, for an object located in a region that reproduces the pop-up space, a physical operation with high accuracy and high processing load is performed, and for an object located in the region that reproduces the depth space, By performing physics calculations with low accuracy and low processing load, the processing load of physics calculations for objects other than objects located in the area that reproduces the pop-up space where the player feels more stereoscopic is reduced. The processing load of physical calculation can be effectively reduced.
2−3.分岐条件(オブジェクトの画像サイズに関する条件)
次に、第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラから見たときの画像サイズに関する条件を判断する場合について説明する。
2-3. Branch condition (Conditions related to object image size)
Next, a case will be described in which a condition relating to the image size when the object determined to have collided in the first collision determination process is viewed from the virtual camera is determined.
例えば、図9に示すゲーム画像GI(オブジェクト空間を仮想カメラから見た画像)において、画像サイズが所定の閾値よりも大きいオブジェクトのペアOP7については、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、画像サイズが所定の閾値よりも小さいオブジェクトのペアOP8については、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。なお、オブジェクトの画像サイズは、オブジェクト(オブジェクトのペア、又はオブジェクトのペアのいずれか一方)がゲーム画像GIにおいて占める面積に基づき求めてもよいし、オブジェクト(オブジェクトのペア、又はオブジェクトのペアのいずれか一方)のオブジェクト空間内におけるサイズ及び仮想カメラからの距離に基づき求めてもよい。 For example, in the game image GI (image obtained by viewing the object space from the virtual camera) shown in FIG. 9, it is determined that the predetermined condition is not satisfied for the pair OP7 of the object whose image size is larger than a predetermined threshold value, The second collision determination process and the second collision response process with a high processing load are performed, and it is determined that the predetermined condition is satisfied for the object pair OP8 whose image size is smaller than the predetermined threshold, and the second collision is performed. The determination process may be omitted, and the first collision response process with a low processing load may be performed. Note that the image size of the object may be obtained based on the area occupied by the object (one of the object pair or the object pair) in the game image GI, or either the object (the object pair or the object pair). Alternatively, it may be obtained based on the size in the object space and the distance from the virtual camera.
このように、画像サイズが小さいオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、画像サイズが大きいオブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、画像サイズが小さいため精度の低い物理演算を行ったとしても見た目の不自然さが視認され難いオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 In this way, for an object with a small image size, a physical operation with low accuracy and low processing load is performed, and for an object with a large image size, a physical operation with high accuracy and high processing load is performed. It is possible to effectively reduce the processing load of the physical calculation by reducing the processing load of the physical calculation for the object whose visual unnaturalness is difficult to be visually recognized even when the low-precision physical calculation is performed due to the small size. .
2−4.分岐条件(オブジェクトの透明度に関する条件)
次に、第1の衝突判定処理で衝突したと判定されたオブジェクトの透明度に関する条件を判断する場合について説明する。
2-4. Branch condition (Conditions related to object transparency)
Next, the case where the condition regarding the transparency of the object determined to have collided in the first collision determination processing is determined will be described.
例えば、透明度が所定の閾値よりも低いオブジェクトのペアについては、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、透明度が所定の閾値よりも高いオブジェクトのペアについては、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。なお、オブジェクトの透明度は、オブジェクトの各頂点に設定される透明度(α値)でもよいし、オブジェクトにマッピングされるテクスチャに設定される透明度(α値)でもよい。また、オブジェクトのペアのそれぞれの透明度の平均値を、オブジェクトのペアの透明度として求めてもよいし、オブジェクトのペアのいずれか一方の透明度をオブジェクトのペアの透明度としてもよい。 For example, for a pair of objects whose transparency is lower than a predetermined threshold, it is determined that the predetermined condition is not satisfied, and the second collision determination process and the second collision response process with a high processing load are performed. For a pair of objects higher than a predetermined threshold value, it may be determined that a predetermined condition is satisfied, and the second collision determination process may be omitted and the first collision response process with a low processing load may be performed. The transparency of the object may be the transparency (α value) set at each vertex of the object or the transparency (α value) set at the texture mapped to the object. The average value of the transparency of each object pair may be obtained as the transparency of the object pair, or the transparency of either one of the object pairs may be used as the transparency of the object pair.
このように、透明度が高いオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、透明度が小さい(不透明度が高い)オブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、透明度が高いため精度の低い物理演算を行ったとしても見た目の不自然さが視認され難いオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 As described above, for an object with high transparency, a physical calculation with low accuracy and low processing load is performed, and for an object with low transparency (high opacity), physical calculation with high accuracy and high processing load is performed. Therefore, even if a low-accuracy physics calculation is performed due to high transparency, the processing load of the physics calculation is effectively reduced by reducing the processing load of the physics calculation on an object whose visual unnaturalness is difficult to be visually recognized. be able to.
2−5.分岐条件(オブジェクトの速度に関する条件)
次に、第1の衝突判定処理で衝突したと判定されたオブジェクトの速度に関する条件を判断する場合について説明する。
2-5. Branch condition (Conditions related to object speed)
Next, the case where the condition regarding the speed of the object determined to have collided in the first collision determination processing is determined will be described.
例えば、速度が所定の閾値よりも小さいオブジェクトのペアについては、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、速度が所定の閾値よりも大きいオブジェクトのペアについては、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。なお、オブジェクトのペアのそれぞれの速度の平均値を、オブジェクトのペアの速度として求めてもよいし、オブジェクトのペアのいずれか一方の速度をオブジェクトのペアの速度としてもよい。 For example, for a pair of objects whose speed is smaller than a predetermined threshold, it is determined that the predetermined condition is not satisfied, and the second collision determination process and the second collision response process with high processing load are performed. For a pair of objects larger than a predetermined threshold, it may be determined that a predetermined condition is satisfied, and the second collision determination process may be omitted and the first collision response process with a low processing load may be performed. Note that an average value of the speeds of the object pairs may be obtained as the speed of the object pair, or one of the object pairs may be set as the speed of the object pair.
このように、速度が大きいオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、速度が小さいオブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、速度が大きいため精度の低い物理演算を行ったとしても見た目の不自然さが視認され難いオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 In this way, for an object with a high speed, a physical operation with a low accuracy and a low processing load is performed, and for an object with a low speed, a physical operation with a high accuracy and a high processing load is performed to increase the speed. Therefore, even if a physical calculation with low accuracy is performed, it is possible to reduce the processing load of the physical calculation for an object whose visual unnaturalness is difficult to be visually recognized, and to effectively reduce the processing load of the physical calculation.
2−6.分岐条件(オブジェクトの属性に関する条件)
次に、第1の衝突判定処理で衝突したと判定されたオブジェクトに設定された属性(重要度、オブジェクトの種類)に関する条件を判断する場合について説明する。
2-6. Branch condition (Conditions related to object attributes)
Next, a case where conditions relating to attributes (importance, object type) set for an object determined to have collided in the first collision determination process will be described.
例えば、属性として設定された重要度が高いオブジェクトのペアについては、所定の条件が満たされていないと判断し、処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、属性として設定された重要度が低いオブジェクトのペアについては、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。なお、オブジェクトのペアのいずれか一方の重要度が低い場合に、当該オブジェクトのペアについて所定の条件が満たされたと判断してもよいし、オブジェクトのペアの両方の重要度が低い場合に、当該オブジェクトのペアについて所定の条件が満たされたと判断してもよい。 For example, for a pair of objects having high importance set as an attribute, it is determined that a predetermined condition is not satisfied, and a second collision determination process and a second collision response process with a high processing load are performed. For the pair of objects with low importance set as, it is determined that the predetermined condition is satisfied, and the second collision determination process is omitted and the first collision response process with a low processing load is performed. Good. When the importance level of either one of the object pair is low, it may be determined that the predetermined condition is satisfied for the object pair, or when the importance level of both the object pair is low, It may be determined that a predetermined condition is satisfied for the pair of objects.
例えば、背景物であるオブジェクトの重要度を低くし、キャラクタオブジェクトの重要度を高くしてもよい。また、キャラクタの中でも、プレーヤキャラクタの重要度を高くし、ノンプレーヤキャラクタ(NPC)の重要度を低くしてもよい。また、キャラクタのうち、プレーヤキャラクタを攻撃するキャラクタの重要度を高くし、攻撃しないキャラクタの重要度を低くしてもよい。また、パーティクルオブジェクト等のエフェクト表現に用いられるオブジェクトの重要度を低くしてもよい。 For example, the importance of an object that is a background object may be reduced and the importance of a character object may be increased. Further, among the characters, the importance of the player character may be increased, and the importance of the non-player character (NPC) may be decreased. In addition, among the characters, the importance of the character that attacks the player character may be increased, and the importance of the character that does not attack may be decreased. Also, the importance of an object used for effect expression such as a particle object may be lowered.
このように、属性としての重要度が低いオブジェクトについては、精度が低く処理負荷も低い物理演算を行い、属性としての重要度が高いオブジェクトについては、精度が高く処理負荷も高い物理演算を行うようにすることで、プレーヤの注目度が低いと想定されるため精度の低い物理演算を行ったとしても見た目の不自然さがプレーヤに気付かれ難いオブジェクトについての物理演算の処理負荷を低減して、物理演算の処理負荷を効果的に低減させることができる。 In this way, physical operations with low accuracy and low processing load are performed on objects with low importance as attributes, and physical operations with high accuracy and high processing load are performed on objects with high importance as attributes. By doing so, it is assumed that the player's attention level is low, so even if low-precision physics calculation is performed, the processing load of physics calculation for objects that are difficult for the player to notice unnatural appearance is reduced, The processing load of physical calculation can be reduced effectively.
2−7.分岐条件(処理負荷、オブジェクトの数に関する条件)
次に、第1の衝突判定処理を行った際の処理負荷やオブジェクト空間内に存在するオブジェクトの数に関する条件を判断する場合について説明する。
2-7. Branch conditions (conditions regarding processing load and number of objects)
Next, a description will be given of a case where conditions regarding the processing load and the number of objects existing in the object space when the first collision determination process is performed are described.
例えば、第1の衝突判定処理を行った際の処理負荷(処理部100を実現するCPU等のプロセッサの処理負荷)が所定の閾値よりも低い場合には、所定の条件が満たされていないと判断し、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについて処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、第1の衝突判定処理を行った際の処理負荷が所定の閾値よりも高い場合には、所定の条件が満たされたと判断し、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについて第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。 For example, when the processing load (processing load of a processor such as a CPU that implements the processing unit 100) when performing the first collision determination process is lower than a predetermined threshold, the predetermined condition is not satisfied. The second collision determination process and the second collision response process with a high processing load are performed on all pairs of objects determined and determined to have collided in the first collision determination process, and the first collision determination process is performed. If the processing load is higher than a predetermined threshold value, it is determined that the predetermined condition is satisfied, and the second collision determination is performed for all object pairs determined to have collided in the first collision determination processing. The first collision response process with a low processing load may be performed by omitting the process.
また、第1の衝突判定処理を行った際にオブジェクト空間内に存在するオブジェクトの数が所定の閾値よりも小さい場合には、所定の条件が満たされていないと判断し、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについて処理負荷の高い第2の衝突判定処理と第2の衝突応答処理を行い、第1の衝突判定処理を行った際にオブジェクト空間内に存在するオブジェクトの数が所定の閾値よりも大きい場合には、所定の条件が満たされたと判断し、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについて第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。 In addition, when the number of objects existing in the object space is smaller than a predetermined threshold when the first collision determination process is performed, it is determined that the predetermined condition is not satisfied, and the first collision determination The second collision determination process and the second collision response process, which have a high processing load, are performed on all object pairs determined to have collided in the process, and exist in the object space when the first collision determination process is performed. When the number of objects to be performed is larger than a predetermined threshold value, it is determined that the predetermined condition is satisfied, and the second collision determination process is performed for all object pairs determined to have collided in the first collision determination process. May be omitted, and the first collision response process with a low processing load may be performed.
このように、処理負荷が所定の閾値よりも低い場合或いはオブジェクトの数が少ないため処理負荷が低いと推定される場合には、全てのオブジェクトのペアについて精度が高く処理負荷も高い物理演算を行い、処理負荷が所定の閾値よりも高い場合或いはオブジェクトの数が多いため処理負荷が高いと推定される場合には、全てのオブジェクトのペアについて精度が低く処理負荷も低い物理演算を行うようにすることで、プロセッサの処理負荷が高い場合にオブジェクトの物理演算に必要な処理負荷を低減して、処理負荷の増大によるフレーム落ち等の発生を防止することができる。 As described above, when the processing load is lower than the predetermined threshold or when it is estimated that the processing load is low because the number of objects is small, a physical calculation with high accuracy and high processing load is performed for all object pairs. When the processing load is higher than a predetermined threshold value or when the processing load is estimated to be high due to a large number of objects, physical calculation with low accuracy and low processing load is performed for all object pairs. As a result, when the processing load of the processor is high, the processing load necessary for the physical calculation of the object can be reduced, and the occurrence of frame dropping or the like due to an increase in the processing load can be prevented.
2−8.衝突演出
本実施形態では、第1または第2の衝突判定処理で衝突したと判定された場合に、衝突の演出処理(例えば、オブジェクト同士の衝突によって生ずる火花等を画像処理で表すエフェクト処理)を行う。また、所定の条件が満たされたか否かの判断結果に応じて処理負荷の異なる演出処理を行う。
2-8. Collision effect In this embodiment, when it is determined that a collision has occurred in the first or second collision determination process, a collision effect process (for example, an effect process in which sparks generated by the collision between objects are represented by image processing) is performed. Do. In addition, an effect process with a different processing load is performed according to a determination result as to whether or not a predetermined condition is satisfied.
具体的には、第1の衝突判定処理で衝突したと判定され、且つ所定の条件が満たされたと判断されたオブジェクトについては第1の演出処理を行い、所定の条件が満たされていないと判断され、且つ第2の衝突判定処理で衝突したと判定されたオブジェクトについては第1の演出処理よりも処理負荷の高い第2の演出処理を行う。例えば、演出処理をパーティクル等のオブジェクトを用いて行う場合には、第1の演出処理では、少ない数のオブジェクト(或いは簡易な形状のオブジェクト)を用いて簡易的な演出処理を行い、第2の演出処理では、第1の演出処理に比べて多くのオブジェクト(或いは詳細な形状のオブジェクト)を用いた詳細な演出処理を行う。 Specifically, for the object that is determined to have collided in the first collision determination process and the predetermined condition is determined to be satisfied, the first effect process is performed, and it is determined that the predetermined condition is not satisfied. For the object determined to have collided in the second collision determination process, the second effect process having a higher processing load than the first effect process is performed. For example, when performing the effect process using an object such as a particle, the first effect process performs a simple effect process using a small number of objects (or objects having a simple shape), and the second effect process. In the effect process, a detailed effect process using more objects (or objects having detailed shapes) than the first effect process is performed.
このように、詳細度が高く処理負荷が高い演出処理を行う場合と、詳細度が低く処理負荷が低い演出を行う場合とを、条件分岐により切り替えることで、演出の処理負荷を効果的に低減させることができる。また、所定の条件を満たすオブジェクトについては処理負荷の低い簡易的な演出処理を行い、所定の条件を満たさないオブジェクトについて処理負荷の高い詳細な演出処理を行うことで、簡易的な演出処理を行ったとしても見た目の不自然さが視認され難いオブジェクト(注目度が低いオブジェクト)についての演出の処理負荷を低減して、演出の処理負荷を効果的に低減させることができる。 In this way, the processing load of the production is effectively reduced by switching between the case of performing the production process with a high level of detail and the high processing load and the case of performing the production with a low level of detail and a low processing load. Can be made. In addition, a simple presentation process with a low processing load is performed for an object that satisfies a predetermined condition, and a simple presentation process with a high processing load is performed for an object that does not satisfy the predetermined condition. Even if the appearance is unnatural, it is possible to reduce the processing load of the effect on the object (an object with a low level of attention) and to effectively reduce the processing load of the effect.
また、且つ所定の条件が満たされたと判断されたオブジェクト(第2の衝突判定処理が省略され第1の衝突応答処理が行われるオブジェクト)について詳細度が高く処理負荷が高い第2の演出処理を行い、所定の条件が満たされていないと判断されたオブジェクト(第2の衝突判定処理と第2の衝突応答処理が行われるオブジェクト)について詳細度が低く処理負荷が低い第1の演出処理を行うようにしてもよい。このようにすると、所定の条件が満たされたと判断されたために精度が低い物理演算が行われたオブジェクトの見た目の不自然さを、詳細な演出処理によって視認させ難くすることができる。 In addition, a second effect process with a high degree of detail and a high processing load is performed for an object that is determined to satisfy a predetermined condition (an object for which the second collision determination process is omitted and the first collision response process is performed). And performing a first effect process with a low level of detail and a low processing load on an object that is determined not to satisfy the predetermined condition (an object on which the second collision determination process and the second collision response process are performed). You may do it. In this way, it is possible to make it difficult to visually recognize the unnatural appearance of the object on which the physical calculation with low accuracy is performed because it is determined that the predetermined condition is satisfied.
3.処理
次に、本実施形態の画像生成システムの処理の一例について図10、図11のフローチャートを用いて説明する。図10は、二通りの条件分岐を行う場合(図2参照)の処理の一例を示すフローチャート図である。
3. Processing Next, an example of processing of the image generation system according to the present embodiment will be described with reference to the flowcharts of FIGS. FIG. 10 is a flowchart showing an example of processing when two types of conditional branching are performed (see FIG. 2).
まず、移動・動作処理部112は、オブジェクトをオブジェクト空間内で移動させる移動制御を行う(ステップS10)。すなわち、オブジェクト空間内のオブジェクトの速度と位置を更新する処理を行う。
First, the movement /
次に、物理演算部114は、オブジェクト空間内のオブジェクトについて第1の衝突判定処理を行う(ステップS12)。第1の衝突判定処理では、各オブジェクトに設定する衝突判定領域として、バウンディング球或いは軸並行バウンディングボックス(AABB)を用いた衝突判定処理が行われる。
Next, the
次に、物理演算部114は、第1の衝突判定処理で衝突したと判定されたオブジェクトのペアが所定の条件を満たすか否かを判断する(ステップS14)。例えば、第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラからの距離・位置関係、画像サイズ、透明度、速度、或いは属性が所定の条件を満たすか否かを判断する。
Next, the
次に、物理演算部114は、ステップS14で所定の条件を満たさないと判断されたオブジェクトのペアについて第2の衝突判定処理を行う(ステップS16)。第2の衝突判定処理では、各オブジェクトに設定する衝突判定領域として、有向バウンディングボックス(OBB)或いは凸多面体を用いた衝突判定処理が行われる。
Next, the
次に、物理演算部114は、第2の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第2の衝突応答処理を行う(ステップS18)。第2の衝突応答処理では、インパルス法(撃力ベース法)或いはLCP等の解析法を用いて、衝突したオブジェクトのペア(衝突ペア)に作用する物理量を演算する。次に、演出部116は、第2の衝突判定処理で衝突したと判定されたオブジェクトのペアについての第2の演出処理を行う(ステップS19)。
Next, the
一方、物理演算部114は、ステップS14で所定の条件を満たすと判断されたオブジェクトのペアについて第1の衝突応答処理を行う(ステップS20)。第1の衝突応答処理では、ペナルティ法を用いて、衝突したオブジェクトのペア(衝突ペア)に作用する物理量を演算する。次に、演出部116は、ステップS14で所定の条件を満たすと判断されたオブジェクトのペアについての第1の演出処理を行う(ステップS21)
また、物理演算部114は、ステップS14において、処理部100の処理負荷(例えば、プロセッサの使用率)、或いはオブジェクト空間内のオブジェクトの数が所定の条件を満たすか否かを判断してもよい。この場合、物理演算部114は、ステップS14で所定の条件を満たさないと判断した場合には、ステップS16において、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについて第2の衝突判定処理を行い、ステップS14で所定の条件を満たすと判断した場合には、ステップS20において、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについて第1の衝突応答処理を行う。また、演出部116は、ステップS14で所定の条件を満たすと判断した場合には、ステップS21において、第1の衝突判定処理で衝突したと判定された全てのオブジェクトのペアについての第1の演出処理を行う。
On the other hand, the
Further, in step S14, the
次に、処理部100は、処理を続けるか否かを判断し(ステップS22)、処理を続ける場合には、ステップS10の処理に進む。すなわち、移動・動作処理部112は、ステップS18及びステップS20において演算された物理量(衝突ペアに作用する物理量(例えば、抗力))に基づいて、オブジェクトの速度、位置を更新する移動制御を行う。そして、ステップS10以降の処理を1フレーム毎に繰り返す。
Next, the
図11は、三通りの条件分岐を行う場合(図5参照)の処理の一例を示すフローチャート図である。図11のステップS30〜ステップS39の処理は、図11のステップS10〜ステップS19と同様の処理である。 FIG. 11 is a flowchart showing an example of processing when three kinds of conditional branching are performed (see FIG. 5). The process of step S30 to step S39 in FIG. 11 is the same process as step S10 to step S19 of FIG.
図11の例では、物理演算部114は、図10のステップS14に相当するステップS34において、第1の衝突判定処理で衝突したと判定されたオブジェクトのペアが第1の条件を満たすか否かを判断し、第1の条件を満たさないと判断されたオブジェクトのペアについて第2の衝突判定処理を行う(ステップS36)。
In the example of FIG. 11, the
また、物理演算部114は、ステップS34で第1の条件を満たすと判断されたオブジェクトのペアが第2の条件を満たすか否かを判断し(ステップ40)、第2の条件を満たすと判断されたオブジェクトのペアについて第1の衝突応答処理を行う(ステップS42)。また、ステップS42において、第1の衝突応答処理を行うことに代えて、第1の衝突応答処理よりも処理負荷が高く第2の衝突応答処理よりも処理負荷の低い第3の衝突応答処理を行うようにしてもよい。また、演出部116は、第2の条件を満たすと判断されたオブジェクトのペアについての第1の演出処理を行う(ステップS43)。
Further, the
また、物理演算部114は、ステップS40で第2の条件を満たさないと判断されたオブジェクトのペアについて第3の衝突判定処理を行い(ステップS44)、第3の衝突判定処理で衝突したと判定されたオブジェクトのペアについて第1の衝突応答処理を行う(ステップS42)。第3の衝突判定処理では、各オブジェクトに設定する衝突判定領域として、複数のバウンディング球を用いた衝突判定処理が行われる。また、演出部116は、第3の衝突判定処理で衝突したと判定されたオブジェクトのペアについての第1の演出処理を行う(ステップS43)。
Further, the
ここで、例えば、分岐条件(第1及び第2の条件)として、オブジェクトの仮想カメラからの距離に関する条件を判断する場合には、仮想カメラからの距離Dが第1の閾値TH1以上であるオブジェクトのペアについては、第1の条件が満たされたと判断し、さらに、仮想カメラからの距離Dが第2の閾値TH2(TH2>TH1)以上であるオブジェクトのペアについては、第2の条件が満たされたと判断すればよい。すなわち、距離Dが第1の閾値TH1未満であるオブジェクトのペアについて第2の衝突判定処理及び第2の衝突応答処理を行い、距離Dが第1の閾値TH1以上であって第2の閾値TH2未満であるオブジェクトのペアについて第3の衝突判定処理及び第1の衝突応答処理を行い、距離Dが第2の閾値TH2以上であるオブジェクトのペアについて第1の衝突応答処理を行えばよい。 Here, for example, when determining a condition relating to the distance of the object from the virtual camera as the branching condition (first and second conditions), the object whose distance D from the virtual camera is equal to or greater than the first threshold value TH1. For the pair of objects, it is determined that the first condition is satisfied, and for the object pair whose distance D from the virtual camera is equal to or greater than the second threshold TH2 (TH2> TH1), the second condition is satisfied. What is necessary is just to judge that it was done. That is, the second collision determination process and the second collision response process are performed on the object pair whose distance D is less than the first threshold value TH1, and the distance D is equal to or greater than the first threshold value TH1 and the second threshold value TH2. The third collision determination process and the first collision response process may be performed for a pair of objects that are less than the first, and the first collision response process may be performed for a pair of objects whose distance D is equal to or greater than a second threshold value TH2.
4.変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
4). Modifications The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced with broad or synonymous terms in other descriptions in the specification or drawings.
例えば、上記実施形態では、第1の衝突判定処理で衝突したと判定されたオブジェクトに関する所定の条件として、オブジェクトの仮想カメラからの距離・位置関係、画像サイズ、透明度、速度或いは属性に関する条件を判断する場合について説明したが、本発明はこれに限られない。例えば、第1の衝突判定処理で衝突したと判定されたオブジェクトの向き、寿命(発生したから消滅するまでの時間)、或いは質量に関する条件を判断してもよい。この場合、仮想カメラの方向を向いていないオブジェクト、寿命が短いオブジェクト、或いは質量が小さいオブジェクトについては、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。また、プレーヤの注目している注視点(又はその予測点)に関する条件を判断してもよい。この場合、プレーヤの注視点付近に位置するオブジェクト以外のオブジェクトについては、所定の条件が満たされたと判断し、第2の衝突判定処理を省略して処理負荷の低い第1の衝突応答処理を行うようにしてもよい。 For example, in the above embodiment, as the predetermined condition regarding the object determined to have collided in the first collision determination process, the condition regarding the distance / position relationship from the virtual camera of the object, the image size, the transparency, the speed, or the attribute is determined. However, the present invention is not limited to this. For example, the condition related to the direction, life (time from occurrence to disappearance), or mass of the object determined to have collided in the first collision determination processing may be determined. In this case, for an object that is not facing the virtual camera, an object with a short life span, or an object with a small mass, it is determined that the predetermined condition is satisfied, and the second collision determination process is omitted to reduce the processing load. You may make it perform a 1st collision response process. In addition, a condition relating to the gazing point (or the predicted point) that the player is paying attention to may be determined. In this case, it is determined that a predetermined condition is satisfied for an object other than the object located near the player's gazing point, and the first collision response process with a low processing load is performed by omitting the second collision determination process. You may do it.
100 処理部、110 オブジェクト空間設定部、112 移動・演算処理部(移動制御部)、114 物理演算部、116 演出部、118 仮想カメラ制御部、120 画像生成部、130 音生成部、160 操作部、170 記憶部、180 情報記憶媒体、190 表示部、192、音出力部、196 通信部 100 processing unit, 110 object space setting unit, 112 movement / calculation processing unit (movement control unit), 114 physical calculation unit, 116 rendering unit, 118 virtual camera control unit, 120 image generation unit, 130 sound generation unit, 160 operation unit , 170 storage unit, 180 information storage medium, 190 display unit, 192, sound output unit, 196 communication unit
Claims (14)
前記物理演算部の演算結果に基づきオブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部としてコンピュータを機能させ、
前記物理演算部は、
オブジェクト空間内のオブジェクトについて第1の衝突判定処理を行い、前記第1の衝突判定処理で衝突したと判定された場合に、所定の条件が満たされたか否かを判断し、前記所定の条件が満たされたと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて第1の衝突応答処理を行い、前記所定の条件が満たされていないと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突判定処理よりも処理負荷の高い第2の衝突判定処理を行い、前記第2の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理よりも処理負荷の高い第2の衝突応答処理を行うことを特徴とするプログラム。 A physical calculation unit that performs a collision determination process for performing a collision determination between objects in the object space, and a collision response process for calculating a physical quantity acting on an object determined to have collided;
Causing the computer to function as a movement control unit that performs control to move the object in the object space based on the calculation result of the physical calculation unit;
The physical computation unit is
A first collision determination process is performed on an object in the object space. When it is determined that the object has collided in the first collision determination process, it is determined whether or not a predetermined condition is satisfied. If it is determined that the condition is satisfied, the first collision response process is performed on the object determined to have collided in the first collision determination process, and if it is determined that the predetermined condition is not satisfied, A second collision determination process having a processing load higher than that of the first collision determination process is performed on the object determined to have collided in the first collision determination process, and it is determined that a collision has occurred in the second collision determination process. A program for performing a second collision response process, which has a higher processing load than the first collision response process, on a given object.
前記第1の衝突判定処理は、オブジェクトを球体で近似して衝突判定を行う処理であることを特徴とするプログラム。 In claim 1,
The first collision determination process is a program for performing collision determination by approximating an object with a sphere.
前記物理演算部は、
前記所定の条件が満たされたと判断した場合に、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて、オブジェクトを複数の球体で近似して衝突判定を行う第3の衝突判定処理を行い、前記第3の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理、又は前記第1の衝突応答処理よりも処理負荷が高く前記第2の衝突応答処理よりも処理負荷の低い第3の衝突応答処理のいずれかを行うことを特徴とするプログラム。 In claim 2,
The physical computation unit is
A third collision determination process for determining a collision by approximating the object with a plurality of spheres for an object determined to have collided in the first collision determination process when it is determined that the predetermined condition is satisfied; The object determined to have collided in the third collision determination process has a higher processing load than the first collision response process or the first collision response process, and is processed more than the second collision response process. A program that performs any one of the third collision response processes with a low load.
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラからの距離、又は仮想カメラとの位置関係に関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition related to a distance from the virtual camera of the object determined to have collided in the first collision determination process or a positional relationship with the virtual camera.
オブジェクトの立体視画像を生成する画像生成部として更にコンピュータを機能させ、
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトが、オブジェクト空間内の投影面よりも仮想カメラから見て手前側のエリアに位置するか否かに関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 4,
The computer further functions as an image generation unit that generates a stereoscopic image of the object,
The predetermined condition is a condition regarding whether or not the object determined to have collided in the first collision determination process is positioned in an area on the near side as viewed from the virtual camera with respect to the projection plane in the object space. A program characterized by that.
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの仮想カメラから見たときの画像サイズに関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition relating to an image size of an object determined to have collided in the first collision determination process when viewed from a virtual camera.
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの透明度に関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition related to transparency of an object determined to have collided in the first collision determination process.
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトの速度に関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition relating to a speed of an object determined to have collided in the first collision determination process.
前記所定の条件は、前記第1の衝突判定処理で衝突したと判定されたオブジェクトに設定された属性に関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition relating to an attribute set for an object determined to have collided in the first collision determination process.
前記所定の条件は、衝突判定処理時の処理負荷に関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition relating to a processing load at the time of a collision determination process.
前記所定の条件は、オブジェクト空間内のオブジェクトの数に関する条件であることを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The program according to claim 1, wherein the predetermined condition is a condition relating to the number of objects in the object space.
オブジェクト同士の衝突の演出処理を行う演出部として更にコンピュータを機能させ、
前記演出部は、
前記所定の条件が満たされたか否かの判断結果に応じて処理負荷の異なる演出処理を行うことを特徴とするプログラム。 In any one of Claims 1 thru | or 11,
Let the computer further function as a production unit that performs the production process of collision between objects,
The production section
A program for performing an effect process having a different processing load in accordance with a determination result of whether or not the predetermined condition is satisfied.
前記物理演算部の演算結果に基づきオブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部とを含み、
前記物理演算部は、
オブジェクト空間内のオブジェクトについて第1の衝突判定処理を行い、前記第1の衝突判定処理で衝突したと判定された場合に、所定の条件が満たされたか否かを判断し、前記所定の条件が満たされたと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて第1の衝突応答処理を行い、前記所定の条件が満たされていないと判断した場合には、前記第1の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突判定処理よりも処理負荷の高い第2の衝突判定処理を行い、前記第2の衝突判定処理で衝突したと判定されたオブジェクトについて前記第1の衝突応答処理よりも処理負荷の高い第2の衝突応答処理を行うことを特徴とするゲームシステム。 A physical calculation unit that performs a collision determination process for performing a collision determination between objects in the object space, and a collision response process for calculating a physical quantity acting on an object determined to have collided;
A movement control unit that performs control to move the object in the object space based on the calculation result of the physical calculation unit,
The physical computation unit is
A first collision determination process is performed on an object in the object space. When it is determined that the object has collided in the first collision determination process, it is determined whether or not a predetermined condition is satisfied. If it is determined that the condition is satisfied, the first collision response process is performed on the object determined to have collided in the first collision determination process, and if it is determined that the predetermined condition is not satisfied, A second collision determination process having a processing load higher than that of the first collision determination process is performed on the object determined to have collided in the first collision determination process, and it is determined that a collision has occurred in the second collision determination process. A game system, wherein a second collision response process having a processing load higher than that of the first collision response process is performed on the object that has been made.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011167491A JP5766540B2 (en) | 2011-07-29 | 2011-07-29 | Program and game system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011167491A JP5766540B2 (en) | 2011-07-29 | 2011-07-29 | Program and game system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013030125A true JP2013030125A (en) | 2013-02-07 |
JP5766540B2 JP5766540B2 (en) | 2015-08-19 |
Family
ID=47787075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011167491A Active JP5766540B2 (en) | 2011-07-29 | 2011-07-29 | Program and game system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5766540B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019008623A (en) * | 2017-06-27 | 2019-01-17 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, computer program, and storage medium |
WO2019177351A1 (en) * | 2018-03-14 | 2019-09-19 | (주)크래프톤 | Device for increasing processing speed of game implementing multiple threads and method therefor |
US20220262142A1 (en) * | 2019-08-14 | 2022-08-18 | Intel Corporation | Automatic generation of 3d bounding boxes from multi-camera 2d image data |
JP2023503942A (en) * | 2019-11-29 | 2023-02-01 | 北京字節跳動網絡技術有限公司 | Methods, apparatus, electronics and computer readable storage media for displaying objects in video |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08287292A (en) * | 1995-04-17 | 1996-11-01 | Daikin Ind Ltd | Hierarchical sphere model generating method, interference check method, and device for same |
JP2001243498A (en) * | 2000-02-29 | 2001-09-07 | Square Co Ltd | Method and device for deciding collision, method for moving and displaying character of video game, video game device, and computer-readable recording medium with recorded program for deciding collision between polygon models |
JP2001250129A (en) * | 2000-03-03 | 2001-09-14 | Namco Ltd | Game system and information storage medium |
JP2003323636A (en) * | 2002-04-30 | 2003-11-14 | Canon Inc | Three-dimensional supplying device and method and image synthesizing device and method and user interface device |
JP2004348187A (en) * | 2003-05-20 | 2004-12-09 | Sony Corp | Program, recording medium, information processing method, and device |
JP2005071285A (en) * | 2003-08-28 | 2005-03-17 | New Industry Research Organization | Collision detection method that change detail degree according to interaction in space and virtual space formation device using its method |
JP2005246071A (en) * | 2005-03-25 | 2005-09-15 | Namco Ltd | Image forming system and information storage medium |
JP2008119223A (en) * | 2006-11-10 | 2008-05-29 | Namco Bandai Games Inc | Program, information storage medium, and game device |
JP2010142264A (en) * | 2008-12-16 | 2010-07-01 | Taito Corp | Electronic device, and game program |
JP2011061255A (en) * | 2009-09-04 | 2011-03-24 | Sega Corp | Stereoscopic image display device |
-
2011
- 2011-07-29 JP JP2011167491A patent/JP5766540B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08287292A (en) * | 1995-04-17 | 1996-11-01 | Daikin Ind Ltd | Hierarchical sphere model generating method, interference check method, and device for same |
JP2001243498A (en) * | 2000-02-29 | 2001-09-07 | Square Co Ltd | Method and device for deciding collision, method for moving and displaying character of video game, video game device, and computer-readable recording medium with recorded program for deciding collision between polygon models |
JP2001250129A (en) * | 2000-03-03 | 2001-09-14 | Namco Ltd | Game system and information storage medium |
JP2003323636A (en) * | 2002-04-30 | 2003-11-14 | Canon Inc | Three-dimensional supplying device and method and image synthesizing device and method and user interface device |
JP2004348187A (en) * | 2003-05-20 | 2004-12-09 | Sony Corp | Program, recording medium, information processing method, and device |
JP2005071285A (en) * | 2003-08-28 | 2005-03-17 | New Industry Research Organization | Collision detection method that change detail degree according to interaction in space and virtual space formation device using its method |
JP2005246071A (en) * | 2005-03-25 | 2005-09-15 | Namco Ltd | Image forming system and information storage medium |
JP2008119223A (en) * | 2006-11-10 | 2008-05-29 | Namco Bandai Games Inc | Program, information storage medium, and game device |
JP2010142264A (en) * | 2008-12-16 | 2010-07-01 | Taito Corp | Electronic device, and game program |
JP2011061255A (en) * | 2009-09-04 | 2011-03-24 | Sega Corp | Stereoscopic image display device |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019008623A (en) * | 2017-06-27 | 2019-01-17 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, computer program, and storage medium |
WO2019177351A1 (en) * | 2018-03-14 | 2019-09-19 | (주)크래프톤 | Device for increasing processing speed of game implementing multiple threads and method therefor |
US11433308B2 (en) | 2018-03-14 | 2022-09-06 | Krafton, Inc. | Device for increasing processing speed of game implementing multiple threads and method therefor |
US20220262142A1 (en) * | 2019-08-14 | 2022-08-18 | Intel Corporation | Automatic generation of 3d bounding boxes from multi-camera 2d image data |
JP2023503942A (en) * | 2019-11-29 | 2023-02-01 | 北京字節跳動網絡技術有限公司 | Methods, apparatus, electronics and computer readable storage media for displaying objects in video |
US12026896B2 (en) | 2019-11-29 | 2024-07-02 | Beijing Bytedance Network Technology Co., Ltd. | Method and apparatus for displaying object in video, and electronic device and computer readable storage medium |
JP7518168B2 (en) | 2019-11-29 | 2024-07-17 | 北京字節跳動網絡技術有限公司 | Method, device, electronic device, and computer-readable storage medium for displaying an object in a video |
Also Published As
Publication number | Publication date |
---|---|
JP5766540B2 (en) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9106906B2 (en) | Image generation system, image generation method, and information storage medium | |
US20120306860A1 (en) | Image generation system, image generation method, and information storage medium | |
JP2010033296A (en) | Program, information storage medium, and image generation system | |
JP2009237680A (en) | Program, information storage medium, and image generation system | |
JP2012212237A (en) | Image generation system, server system, program, and information storage medium | |
JP5766540B2 (en) | Program and game system | |
JP4804120B2 (en) | Program, information storage medium, and image generation system | |
JP4772952B2 (en) | Stereoscopic image generation apparatus and information storage medium | |
JP2012249978A (en) | Program, information storage medium, game device and server system | |
JP4717622B2 (en) | Program, information recording medium, and image generation system | |
JP5620202B2 (en) | Program, information storage medium, and image generation system | |
JP4305903B2 (en) | Image generation system, program, and information storage medium | |
JP4749198B2 (en) | Program, information storage medium, and image generation system | |
JP2011053737A (en) | Program, information storage medium and image generation device | |
JP2012234411A (en) | Image generation device, image generation system, image generation program and image generation method | |
JP4754384B2 (en) | Program, information recording medium, and image generation system | |
JP2009169471A (en) | Program, information storage medium, and image generation system | |
JP5701638B2 (en) | Program and image generation system | |
JP5701637B2 (en) | Program and image generation system | |
JP2009064355A (en) | Program, information storage medium, and image producing system | |
JP4592087B2 (en) | Image generation system, program, and information storage medium | |
JP2007164651A (en) | Program, information storage medium and image generation system | |
JP2012059009A (en) | Program, information storage medium and image generation system | |
JP3861866B2 (en) | 3D graphics display device | |
JP2010231364A (en) | Image generation system, program and information recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140612 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20140619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140811 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150427 |
|
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: 20150520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5766540 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |