JP2012247832A - 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造 - Google Patents

情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造 Download PDF

Info

Publication number
JP2012247832A
JP2012247832A JP2011116858A JP2011116858A JP2012247832A JP 2012247832 A JP2012247832 A JP 2012247832A JP 2011116858 A JP2011116858 A JP 2011116858A JP 2011116858 A JP2011116858 A JP 2011116858A JP 2012247832 A JP2012247832 A JP 2012247832A
Authority
JP
Japan
Prior art keywords
information
thickness
virtual space
information processing
collision
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
Application number
JP2011116858A
Other languages
English (en)
Other versions
JP5498437B2 (ja
Inventor
Yasushi Matsuo
裕史 松生
Naoki Hirai
直樹 平井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2011116858A priority Critical patent/JP5498437B2/ja
Priority to US13/478,357 priority patent/US9495485B2/en
Publication of JP2012247832A publication Critical patent/JP2012247832A/ja
Application granted granted Critical
Publication of JP5498437B2 publication Critical patent/JP5498437B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Abstract

【課題】仮想空間における面と対象物との衝突判定において、いわゆる衝突抜けが発生する場合がある。
【解決手段】情報処理プログラムであって、仮想空間上における対象物の位置及び領域を示す対象物情報を取得する対象物情報取得手段、前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得する面情報取得手段、及び、前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う衝突判定手段、としてコンピュータを機能させる。
【選択図】図9

Description

情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造に関する。
仮想空間における2の対象物の衝突判定を行う技術として、例えば、分離軸法やGJK法が知られている。例えば、分離軸法による衝突判定は、2の対象物の間に、分離できる平面(分離平面)が存在するか否かを判定し、当該分離平面が存在しなければ、当該2の対象物が衝突していると判定する。
しかしながら、上記のような衝突判定方法は、アルゴリズムの特性上、いわゆる凸形状の対象物間における衝突判定にしか適用できないため、例えば、仮想空間における地形のような複雑な形状を有する対象物とキャラクタ等の対象物との衝突判定に対しては、当該形状を面に分解して、当該面とキャラクタ等の対象物との衝突判定を行う。ここで、コンピュータを用いて仮想空間における対象物を表現する場合、例えば、1フレーム期間毎等、離散時間を用いて画面を更新する。よって、当該面と対象物との衝突判定を行う場合、いわゆる衝突抜けの問題が発生する場合がある。
本発明は、上記課題に鑑みて、例えば、仮想空間における地形のような複雑な形状を有する対象物とキャラクタ等の対象物との衝突判定についても、より適切に衝突の有無を判定可能な情報処理プログラム、情報処理装置、情報処理方法、仮想空間における面に関するデータ構造、当該データ構造または情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、等を実現することを目的とする。
また、本発明の他の目的は、例えば、仮想空間における地形のような複雑な形状を有する対象物とキャラクタ等の対象物との衝突判定についても、より適切に衝突の有無を判定可能とするために、仮想空間における面に対して厚み領域を設定する厚み領域設定プログラム、厚み領域設定装置、厚み領域設定方法、仮想空間における面に関するデータ構造、当該データ構造または厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、等を実現することを目的とする。
本発明の情報処理プログラムは、仮想空間上における対象物の位置及び領域を示す対象物情報を取得する対象物情報取得手段、前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得する面情報取得手段、及び、前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う衝突判定手段、としてコンピュータを機能させる。
本発明の情報処理装置は、仮想空間上における対象物の位置及び領域を示す対象物情報を取得する対象物情報取得手段と、前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得する面情報取得手段と、前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う衝突判定手段と、を有する。
本発明の情報処理方法は、仮想空間上における対象物の位置及び領域を示す対象物情報を取得し、前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得し、前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う。
本発明の仮想空間における面の厚み領域設定プログラムは、仮想空間における第1の面の各頂点を示す頂点情報と、前記第1の面の法線方向を示す法線情報と、前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、前記第1の面の厚みに関する厚み情報と、を含むメッシュ情報を取得するメッシュ情報取得手段、及び、前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成される厚み領域を設定する厚み領域設定手段、としてコンピュータを機能させる。
本発明の仮想空間における面の厚み領域設定装置は、仮想空間における第1の面の各頂点を示す頂点情報と、前記第1の面の法線方向を示す法線情報と、前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、前記第1の面の厚みに関する厚み情報と、を含むメッシュ情報を取得するメッシュ情報取得手段と、前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成される厚み領域を設定する厚み領域設定手段と、を有する。
本発明の仮想空間における面の厚み領域設定方法は、仮想空間における第1の面の各頂点を示す頂点情報と、前記第1の面の法線方向を示す法線情報と、前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、前記第1の面の厚みに関する厚み情報と、を含むメッシュ情報を取得し、前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成される厚み領域を設定する。
本発明の仮想空間における面に関するデータ構造は、仮想空間における第1の面の各頂点を示す頂点情報と、前記第1の面の法線方向を示す法線情報と、前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、前記第1の面の厚みに関する厚み情報と、を含むメッシュ情報と、前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成された厚み領域が設定された厚み領域に関する厚み領域情報と、を含む。
本発明の実施の形態における情報処理装置及び厚み領域設定装置の構成の概要について説明するための図である。 厚み領域設定装置の機能的な構成について説明するための図である。 メッシュ情報のデータ構造の一例について説明するための図である。 仮想空間における背景画像の一例を示す図である。 仮想空間におけるポリゴンの構成を説明するための図である。 厚み領域の設定について説明するための図である。 厚み領域として設定される領域の一例を示す図である。 情報処理装置の機能的な構成の概要について説明するための図である。 仮想空間における剛体と面の衝突判定の一例について説明するための図である。 図9に示した衝突判定の詳細について説明するための図である。 厚み領域設定の他の一例を説明するための図である。 厚み領域設定の他の一例を説明するための図である。
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
図1は、本発明の実施の形態における情報処理装置の構成の概要について説明するための図である。図1に示すように、情報処理装置100は、例えば、CPUやメモリ等で構成されるコンピュータで構成され、例えば、制御部111、記憶部112、通信部113、操作部114、表示部115を有する。なお、制御部111、記憶部112、通信部113、操作部114、表示部115は、内部バス116により互いに接続される。
制御部111は、例えば、CPU、MPU等であって、記憶部112に格納されたプログラムに従って動作する。記憶部112は、例えば、ROMやRAM、ハードディスク等の情報記録媒体で構成され、制御部111によって実行されるプログラムを保持する情報記録媒体である。また、記憶部112は、制御部111のワークメモリとしても動作する。なお、当該プログラムは、例えば、ネットワークを介して、ダウンロードされて提供されてもよいし、または、CD−ROMやDVD−ROM等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。
通信部113は、当該情報処理装置100を、ネットワークを介して、他の情報処理装置やデータベース等(図示なし)と接続する。操作部114は、例えば、キーボードやマウス、コントローラ等で構成され、ユーザーの指示操作に応じて、当該指示操作の内容を制御部111に出力する。表示部115は、例えば、液晶ディスプレイ、有機ELディスプレイ等であって、制御部111からの指示に従い、情報を表示する。
なお、上記情報処理装置100の構成は、一例であってこれに限定されるものではない。また、本実施の形態における厚み領域設定装置200についても、上記情報処理装置100の構成と同様であるので、説明を省略する。
図2は、本実施の形態における厚み領域設定装置200の機能的な構成について説明するための図である。図2に示すように、厚み領域設定装置200は、メッシュ情報記憶部201と、厚み領域設定部202と、を有する。
メッシュ情報記憶部201は、ポリゴンで表現される面の集合についての情報(メッシュ情報)を記憶する。メッシュ情報は、例えば、図3(A)に示すように、各面の頂点の位置座標を示す頂点情報、各面に関する情報を含む面情報、各面のエッジ(辺)に関する情報を含むエッジ情報を、配列の形式で保持される。
ここで、例えば、本実施の形態においては、図4に示すように、仮想空間における背景としての建物や地形等(図4は、建物の例を示す)は、三角の形状を有するポリゴンで表現される面の集合で表現されるメッシュ構造を有する。また、各面(ポリゴン)500は、図5に示すように、各頂点501とエッジ502(辺に相当する)を含む。この場合、図4及び図5に示した頂点501、面500、エッジ502を表す情報がそれぞれ、上記頂点情報、面情報、エッジ情報に相当する。
より具体的には、例えば、上記図4及び図5に示すように、各ポリゴンが三角形で表現される場合、頂点情報は、例えば、仮想空間上における3の位置座標を含み、面情報は、図3(B)に示すように、当該面の3の頂点へのリンクを示すリンク情報と、当該面のエッジ情報へのリンクを示す3のエッジ情報と、当該面の法線方向を示す法線ベクトルと、後述する当該面の厚み距離を示す厚み情報とを含む。また、エッジ情報は、図3(C)に示すように、各エッジの頂点へのリンクを示す2のリンク情報、エッジを介して隣接する各面との間の角度を示す角度情報を含む。なお、当該角度は、例えば、エッジを介して隣接する2の面の各法線ベクトルによって形成される角度に相当する。
厚み領域設定部202は、メッシュ情報記憶部201から取得した法線情報、角度情報、頂点情報、厚み情報に基づき、各面から延伸して形成される厚み領域を設定する。具体的には、メッシュ情報記憶部201から取得した面についての法線情報、角度情報、頂点情報に基づき、当該面と、当該面を形成する各辺から延伸して形成される各面の交点とで形成される領域のうち、当該面からの距離が厚み情報で示される厚み距離を超える部分を切り取った領域を、当該面の厚さ領域として設定する。なお、当該面と交点との距離が、厚み情報で示される厚み距離以下である場合には、当該面と当該交点で形成される領域を厚み領域として設定する。
次に、厚み領域設定部202の機能的構成の詳細について説明する。厚み領域設定部202は、図2に示すように、機能的に、法線ベクトル算出部203、交点算出部204、距離算出部205、割合算出部206、座標算出部207と、を含む。なお、図2に示した構成は例示であって、これに限られるものではない。
法線ベクトル算出部203は、メッシュ情報記憶部201から取得した頂点情報、角度情報に基づいて、対象とする面(対象面)から垂直に厚み方向に延伸させた各面の法線ベクトル、及び、対象面の各辺から厚み方向に延伸させた面の法線ベクトルを算出する。
例えば、図6(A)に示した場合、幾何学的に、図6(B)に示すように、法線ベクトルnと、対象面から垂直に厚み方向に延伸させた面の法線ベクトルnは垂直であり、対象面の各辺から厚み方向に交点を通過するように延伸させて形成される面の法線ベクトルn’と法線ベクトルnとの間の角度はθとなることから、法線ベクトルn’は、次式を用いて求められる。
Figure 2012247832
ここで、図6(A)及び図6(B)においては、厚み領域を設定する面(対象面)の頂点を示すベクトル(以下、単に頂点という)をp、p、pとし、対象面の各辺から厚み方向(厚み領域を設定する方向)に延伸させた面の交点を、qとする。また、対象面から垂直に厚み方向に延伸させた各面の法線ベクトルをn、n、nとし、対象面の各辺から厚み方向に交点を通過するように延伸させて形成される面の法線ベクトルをn’、n’、n’とする。また、頂点pとpで表されるエッジについて対象面と隣接する面との角度を、θとし、頂点pとpで表されるエッジについて対象面と隣接する面との角度を、θとする。また、厚み領域設定部202により、厚み領域として設定される領域を図7に示す。つまり、図7に示すように、厚み領域は、例えば、頂点p、p、p、p’、p’、p’で形成される領域に相当し、当該厚み領域がどのように設定されるかについて説明する。
なお、頂点p、p、p、角度θ、θ、法線ベクトルnは、メッシュ情報記憶部201から取得されることは前述のとおりである。また、法線ベクトルn’、n’についても上記と同様にして求められる。更に、法線ベクトルn、n、nは、頂点p乃至pの位置座標及び法線ベクトルnに垂直であることから算出されることはいうまでもない。
交点算出部204は、上記算出された対象面の各辺から厚み方向に交点を通過するように延伸させて形成される面の法線ベクトルと対象面の各位置座標に基づいて、交点の位置座標を算出する。
具体的には、上記例の場合、交点qは、対象面の各辺から厚み方向に延伸させた面上に存在するように設定することから、交点qは、次式を満たす。
Figure 2012247832
上記(2)を連立させて解くことにより、下記(3)、(4)に示すように、交点qの位置座標を求めることができる。
Figure 2012247832
Figure 2012247832
なお、上記(3)、(4)において、n’0x等は、x、y、z軸を用いて表現される仮想空間における法線ベクトルn等の座標成分を示したものであり、同様にq等も交点qの座標成分を示すものであることはいうまでもない。
距離算出部205は、交点算出部204で算出された交点の座標から対象面までの距離を算出するとともに、当該距離がメッシュ情報記憶部201から取得された厚み距離以下であるか否かを判定する。当該距離が厚み距離以下である場合には、後述するように対象面と交点とで形成される領域を厚み領域として設定する。
割合算出部206は、距離算出部205において交点座標から対象面までの距離が厚み距離以上であると判定された場合には、距離算出部205で算出された距離、及び、メッシュ情報記憶部201から取得された厚み距離に基づいて、対象面に設定された厚み距離と、対象面から交点までの距離の割合を算出する。
具体的には、上記例の場合、対象面から交点qまでの割合をtとすると、tは次式を用いて求められる。
Figure 2012247832
座標算出部207は、割合算出部206により算出された割合、頂点の位置座標、交点の位置座標に基づいて、割合厚み領域として設定される領域の頂点の位置座標を算出する。
具体的には、次式を用いて、割合厚み領域として設定される領域の頂点の位置座標を算出する。
Figure 2012247832
上記のようにして算出された厚み領域の頂点p’乃至p’または交点と、頂点p乃至pとで構成される領域を衝突判定に用いられる厚み領域として設定する。当該厚み領域に関する情報、つまり、厚み領域を形成する対象面に対向する面または点の位置座標は、例えば、メッシュ情報記憶部201に記憶される。また、当該位置座標へのリンクは、例えば、メッシュ情報記憶部201に面情報として記憶されるとともに、対象面の各辺から厚み方向に延伸させた面の法線ベクトルもメッシュ情報記憶部201に面情報として記憶される。上記のようにして設定される厚み領域は、凸形状となることから、上述の分離軸法等既存の衝突判定法を用いることができる。
次に、図8を用いて、情報処理装置100の機能的な構成の概要について説明する。図8に示すように、情報処理装置100は、オブジェクト情報取得部801、メッシュ情報取得部802、衝突判定部803、衝突情報取得部804、物理エンジン805、画像情報生成部806を含む。
なお、下記においては、説明の簡略化のために、図9(A)乃至(F)に示すように、現在のフレーム期間(例えば、1フレーム期間)において、仮想空間上において対象となるオブジェクトとしての球形状の剛体と上記のように厚み領域が設定された面とが衝突する場合を例として説明する。また、下記においては、上記厚み領域に関する情報は、上記のように厚み領域設定装置200等により算出され、例えばメッシュ情報記憶部201に記憶されている場合を想定して説明するが、これに限られず、情報処理装置100が、上記厚み領域設定装置200の機能を含み、厚み領域に関する情報を設定する構成であってもよい。
オブジェクト情報取得部801は、対象となるオブジェクト901の位置、移動方向、速度、サイズを含むオブジェクト情報を、所定期間毎、例えば1フレーム期間毎に取得する。具体的には、例えば、図9に示したオブジェクト901(剛体)の位置、移動方向、速度、サイズを取得する。なお、図9においては、オブジェクト情報に含まれる剛体の移動方向及び速度をベクトルvで示した。なお、対象となるオブジェクト901とは、例えば、ゲームプログラムの仮想空間においてユーザーにより操作されるキャラクタであってもよいし、CG(Computer Graphics)等で表現される仮想空間におけるボール等の特定の対象物であってもよい。また、当該オブジェクト情報取得部801が、例えば、特許請求の範囲に記載の対象物情報取得手段に相当する。
メッシュ情報取得部802は、メッシュ情報記憶部201に記憶されたメッシュ情報を取得する。具体的には、面と当該面に対応する厚み領域に関する情報、例えば、図9に示した面902と対応する厚み領域903に対応する頂点情報等を取得する。なお、当該面と当該面902に対応する厚み領域903に関する情報が、例えば、特許請求の範囲の面情報に相当する。
衝突判定部803は、上記取得されたオブジェクト情報及びメッシュ情報に基づいて、対象とするオブジェクト901が対象とする面が衝突したか否かを判定する。以下、図10を用いて、より具体的に説明する。
まず、衝突判定部803は、図10に示すように、面の法線(分離軸904に相当する)に対してオブジェクト901及び厚み領域903を投影し、当該分離軸904上において、オブジェクト901が投影されて形成される線分の端点、法線方向から順にAMAX、AMINとし、厚み領域903が投影されて形成される線分の端点を、法線方向から順にBMAX、BMINとして、AMAX、AMIN、BMAX、BMINの分離軸上の位置座標を取得する。
次に、交差距離(AMIN−BMAX)が0以上であるか否かを判定する。そして、交差距離(AMIN−BMAX)が0以上である場合には、衝突していないと判定する。
一方、交差距離が0より小さい場合には、例えば、図10(D)に示すように、更に、厚み領域903の分離軸905(厚み領域903の面の法線)に対して、同様に、オブジェクト901及び厚み領域903を投影し、AMAX、AMIN、BMAX、BMINの分離軸上の位置座標を取得する。そして、同様に交差距離(AMIN−BMAX)が0以上であるか否かを判定する。
交差距離(AMIN−BMAX)が0以上である場合には、衝突していないと判定する。例えば、図10(D)(図(C)に対応する)に示す場合は、交差距離が0以上となるので、衝突していないと判定する。一方、交差距離が0より小さい場合は、衝突したと判定する。例えば、図10(A)及び(B)に示した場合は、交差距離が0より小さい値となるので、衝突していると判定する。
衝突情報取得部804は、衝突判定部803が衝突したと判定した場合には、衝突座標、貫通の深さ、反発方向を含む衝突情報を算出し、当該衝突情報を物理エンジン805へ入力する。具体的には、例えば、図9(C)、図10(E)、及び、図10(F)に示すように、上記面の分離軸904、オブジェクト901及び面902の位置に基づいて、幾何計算により、剛体の2の衝突座標906を算出するとともに、2の衝突座標906で形成されるベクトル(衝突ベクトル)907の長さを貫通の深さを示す情報として算出する。また、面902の法線ベクトルで示される方向を反発方向とする。また、2の衝突座標906は、例えば、オブジェクト901の中心から面902の分離軸904に平行に面に投影した座標(第1の衝突座標)、及び、面の分離軸に平行に第1の衝突座標から面902の厚み方向に最も離れた点の座標(第2の衝突座標)に相当する。また、上記衝突ベクトルの方向は、例えば、第1の衝突座標から第2の衝突座標に向かう方向とする。
物理エンジン805は、例えば、図9(D)乃至図9(F)に示したように、衝突判定部803が衝突したと判定した場合には、当該衝突情報に基づいて、衝突の反発力を算出し、当該反発力に基づいて次のタイミング(例えば、次のフレーム期間)におけるオブジェクト901の速度を算出する。また、物理エンジン805は、更に、衝突情報及び算出されたオブジェクト901の速度に基づき、次のタイミングにおけるオブジェクト901の位置を算出する。なお、衝突判定部803が衝突していないと判定した場合には、オブジェクト情報に基づいて、次のタイミングにおけるオブジェクト901の位置を算出する。なお、物理エンジン805とは、周知のように、質量・速度・摩擦・風といった、古典力学的な法則をシミュレーションするコンピュータソフトウェアに相当する。
画像情報生成部806は、メッシュ情報に基づいて背景画像を生成するとともに、オブジェクト情報や物理エンジン805により算出されたオブジェクト901の位置情報に基づいてオブジェクト901の画像を生成し、例えば、背景画像に当該オブジェクト901の画像が重畳された画像を画像情報として生成する。生成された画像情報は、例えば、情報処理装置100の表示部115で表示される。なお、当該画像情報は、通信部113を介して外部の表示装置等(図示なし)に送信されてもよい。
上記のように構成することで、仮想空間における衝突判定において、面に厚みがないことに伴ういわゆる衝突抜けを防止することができ、仮想空間における面と対象物との間の衝突判定をより適切に行うことができる。また、衝突したと判定した場合には、単に、面を突き抜けることを防止するのみではなく、当該面に衝突した対象物を面で反射させて戻すようにすることができる。
なお、本発明は、上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。
例えば、上記厚み領域の設定は一例であって、これに限られない。例えば、図11(A)乃至(C)に示すように、隣接する面500に設定された厚み情報に基づいて、各面500から延伸した厚み領域503を設定し(図11(B))、当該隣接する面の辺に設定された角度情報に基づいて、重なった領域及び当該重なった領域から他方の面側に延伸した領域を排除することにより厚み領域503を設定してもよい(図11(C))。また、図12(A)乃至図12(C)に示すように、仮想空間におけるメッシュの凸エッジに隣接する面120と当該面120と隣接する面121、122の間の角度を設定するとともに、当該一方の面121と当該一方の面と隣接しない他方の面122との厚み領域125が干渉しないように厚み距離を当該各面121、122に設定し、上記設定された角度に応じて、かつ、重なった領域を排除することにより、当該各面120、121、122の厚み領域125を設定してもよい。なお、図12(B)は、一例として、一方の面121及び他方の面122の厚み距離として、当該各面121、122を延伸した場合に双方の面121、122が干渉する干渉点126までの距離を厚み領域として設定した場合を示す。更に、この場合において、例えば、図12(C)に示すようにメッシュの凹エッジ付近124において、厚み領域が設定されない場合については、当該部分が隣接する各面122、123の厚み領域を調整して当該部分が各面122、123の厚み領域を延伸して含まれるようにしてもよい。この場合においても、面122と123との間の角度情報として設定された角度情報に応じて、各面122、123の厚み領域を調整してもよいことはいうまでもない。更に、上記においては、衝突判定において分離軸判定法を適用する場合について説明したが、これに限られず、いわゆる凸形状に適用可能な衝突判定法であれば、GJK法等その他の方法を適用してもよい。
100 情報処理装置、111 制御部、112 記憶部、113 通信部、114 操作部、115 表示部、116 内部バス、200 厚み領域設定装置、201 メッシュ情報記憶部、202 厚み領域設定部、203 法線ベクトル算出部、204 交点算出部、205 距離算出部、206 割合算出部、207 座標算出部、801 オブジェクト情報取得部、802 メッシュ情報取得部、803 衝突判定部、804 衝突情報取得部、805 物理エンジン、806 画像情報生成部。

Claims (14)

  1. 仮想空間上における対象物の位置及び領域を示す対象物情報を取得する対象物情報取得手段、
    前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得する面情報取得手段、及び、
    前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う衝突判定手段、
    としてコンピュータを機能させるための情報処理プログラム。
  2. 前記情報処理プログラムは、更に、
    前記衝突判定手段が、前記対象物と前記面とが衝突したと判定した場合には、衝突した際における、衝突の位置、前記面から前記対象物までの距離、及び、反発方向に関する衝突情報を取得する衝突情報取得手段、
    としてコンピュータを機能させることを特徴とする請求項1記載の情報処理プログラム。
  3. 前記情報処理装置は、更に、
    前記仮想空間上における物理演算を行う物理演算手段、としてコンピュータを機能させ、
    前記物理演算手段は、前記衝突情報に基づいて、衝突後に表示される対象物の位置を算出することを特徴とする請求項2記載の情報処理プログラム。
  4. 前記衝突判定手段は、前記面の法線に相当する分離軸に投影された前記対象物と前記厚み領域の位置に基づいて、前記衝突判定を行うことを特徴とする請求項1乃至3のいずれかに記載の情報処理プログラム。
  5. 前記衝突判定手段は、更に、厚み領域を形成する面の法線に相当する分離軸に投影された前記対象物と前記厚み領域の位置に基づいて、前記衝突判定を行うことを特徴とする請求項4に記載の情報処理プログラム。
  6. 仮想空間上における対象物の位置及び領域を示す対象物情報を取得する対象物情報取得手段と、
    前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得する面情報取得手段と、
    前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う衝突判定手段と、
    を有する情報処理装置。
  7. 仮想空間上における対象物の位置及び領域を示す対象物情報を取得し、
    前記仮想空間上における面及び該面に付加された所定の厚みとで形成される厚み領域の位置及び領域を示す面情報を取得し、
    前記対象物情報と前記面情報とに基づいて、前記対象物と前記面との衝突判定を行う、
    ことを特徴とする情報処理方法。
  8. 仮想空間における第1の面の各頂点を示す頂点情報と、
    前記第1の面の法線方向を示す法線情報と、
    前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、
    前記第1の面の厚みに関する厚み情報と、
    を含むメッシュ情報を取得するメッシュ情報取得手段、及び、
    前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成される厚み領域を設定する厚み領域設定手段、
    としてコンピュータを機能させるための仮想空間における面の厚み領域設定プログラム。
  9. 前記厚み領域設定手段は、前記第1の面と、前記法線情報、前記角度情報、及び、前記頂点情報に基づき該第1の面を形成する各辺から延伸して形成される各面の交点と、で形成される領域のうち、前記第1の面からの距離が前記厚みを超える部分を切り取った領域を、該第1の面の厚み領域として設定することを特徴とする請求項8記載の厚み領域設定プログラム。
  10. 前記厚み領域設定手段は、前記第1の面と、前記法線情報、前記角度情報、及び、前記頂点情報に基づき該第1の面を形成する各辺から延伸して形成される各面の交点と、で形成される領域を、前記交点と前記第1の面との距離が前記厚み以下である場合に、厚み領域として設定することを特徴とする請求項8記載の厚み領域設定プログラム。
  11. 仮想空間における第1の面の各頂点を示す頂点情報と、
    前記第1の面の法線方向を示す法線情報と、
    前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、
    前記第1の面の厚みに関する厚み情報と、
    を含むメッシュ情報を取得するメッシュ情報取得手段と、
    前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成される厚み領域を設定する厚み領域設定手段と、
    を有することを特徴とする仮想空間における面の厚み領域設定装置。
  12. 仮想空間における第1の面の各頂点を示す頂点情報と、
    前記第1の面の法線方向を示す法線情報と、
    前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、
    前記第1の面の厚みに関する厚み情報と、
    を含むメッシュ情報を取得し、
    前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成される厚み領域を設定する、
    ことを特徴とする仮想空間における面の厚み領域設定方法。
  13. 仮想空間における第1の面の各頂点を示す頂点情報と、
    前記第1の面の法線方向を示す法線情報と、
    前記第1の面における各辺において隣接する第2の面との間の角度を示す角度情報と、
    前記第1の面の厚みに関する厚み情報と、
    を含むメッシュ情報と、
    前記法線情報、前記角度情報、前記頂点情報、及び、前記厚み情報に基づき、前記第1の面から延伸して形成された厚み領域が設定された厚み領域に関する厚み領域情報と、
    を含むことを特徴とする仮想空間における面に関するデータ構造。
  14. 請求項1記載の情報処理プログラム、請求項8記載の厚み領域設定プログラム、または、請求項14記載のデータ構造のいずれかを記憶したコンピュータ読み取り可能な記録媒体。
JP2011116858A 2011-05-25 2011-05-25 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造 Active JP5498437B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011116858A JP5498437B2 (ja) 2011-05-25 2011-05-25 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造
US13/478,357 US9495485B2 (en) 2011-05-25 2012-05-23 Information processing device, information processing method, computer readable storage medium storing information processing program, thickness area setting device, thickness area setting method, and computer readable storage medium storing thickness area setting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011116858A JP5498437B2 (ja) 2011-05-25 2011-05-25 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造

Publications (2)

Publication Number Publication Date
JP2012247832A true JP2012247832A (ja) 2012-12-13
JP5498437B2 JP5498437B2 (ja) 2014-05-21

Family

ID=47219811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011116858A Active JP5498437B2 (ja) 2011-05-25 2011-05-25 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造

Country Status (2)

Country Link
US (1) US9495485B2 (ja)
JP (1) JP5498437B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180012792A (ko) * 2015-11-30 2018-02-06 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 실시간 가상 장면에서 원통형 충돌기와 볼록형 바디 간의 충돌을 검출하기 위한 방법, 및 단말, 및 저장 매체
JP6439132B1 (ja) * 2018-03-09 2018-12-19 株式会社コナミデジタルエンタテインメント 表示システム、表示制御装置、及びプログラム
JP6452014B1 (ja) * 2018-03-09 2019-01-16 株式会社コナミデジタルエンタテインメント 表示システム、表示制御装置、及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104941180B (zh) * 2014-03-31 2018-08-10 北京畅游天下网络技术有限公司 一种2d游戏的碰撞检测方法和装置
US20170124726A1 (en) * 2015-11-02 2017-05-04 Canon Kabushiki Kaisha System and method for determining wall thickness
US11176288B2 (en) 2017-08-25 2021-11-16 Microsoft Technology Licensing, Llc Separation plane compression
US10885242B2 (en) * 2017-08-31 2021-01-05 Microsoft Technology Licensing, Llc Collision detection with advanced position
JP2019197069A (ja) * 2019-07-22 2019-11-14 東京貿易テクノシステム株式会社 厚み測定装置、および厚み測定プログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660151A (ja) * 1992-08-06 1994-03-04 Hitachi Ltd 設計支援装置
JPH0896025A (ja) * 1994-07-28 1996-04-12 Hitachi Ltd 図形処理方法および装置
JP2001243498A (ja) * 2000-02-29 2001-09-07 Square Co Ltd 衝突判定方法及び装置、ビデオゲームにおけるキャラクタ移動表示方法、ビデオゲーム装置、ポリゴンモデル同士の衝突を判定するプログラムを記録したコンピュータ読み取り可能な記録媒体、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004295255A (ja) * 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
JP2005027921A (ja) * 2003-07-08 2005-02-03 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP2008040800A (ja) * 2006-08-07 2008-02-21 Konami Digital Entertainment:Kk シミュレーション装置、シミュレーション方法、ならびに、プログラム
JP2011192205A (ja) * 2010-03-16 2011-09-29 Fujitsu Ltd 表示制御装置、表示制御方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7084869B2 (en) * 2000-03-31 2006-08-01 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects
US10360685B2 (en) * 2007-05-24 2019-07-23 Pillar Vision Corporation Stereoscopic image capture with performance outcome prediction in sporting environments
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
JP2004252756A (ja) * 2003-02-20 2004-09-09 Fujitsu Ltd 物体干渉表現装置
US7446777B2 (en) * 2003-09-26 2008-11-04 Rensselaer Polytechnic Institute System and method of computing and displaying property-encoded surface translator descriptors
US20060277466A1 (en) * 2005-05-13 2006-12-07 Anderson Thomas G Bimodal user interaction with a simulated object
WO2008144729A2 (en) * 2007-05-21 2008-11-27 World Golf Tour, Inc. Electronic game utilizing photographs
US8734214B2 (en) * 2007-11-29 2014-05-27 International Business Machines Corporation Simulation of sporting events in a virtual environment
US7955190B2 (en) * 2008-06-02 2011-06-07 Origin Inc. Relative position between center of gravity and hit center in a golf club
US8909506B2 (en) * 2011-05-31 2014-12-09 Sony Corporation Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660151A (ja) * 1992-08-06 1994-03-04 Hitachi Ltd 設計支援装置
JPH0896025A (ja) * 1994-07-28 1996-04-12 Hitachi Ltd 図形処理方法および装置
JP2001243498A (ja) * 2000-02-29 2001-09-07 Square Co Ltd 衝突判定方法及び装置、ビデオゲームにおけるキャラクタ移動表示方法、ビデオゲーム装置、ポリゴンモデル同士の衝突を判定するプログラムを記録したコンピュータ読み取り可能な記録媒体、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004295255A (ja) * 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
JP2005027921A (ja) * 2003-07-08 2005-02-03 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP2008040800A (ja) * 2006-08-07 2008-02-21 Konami Digital Entertainment:Kk シミュレーション装置、シミュレーション方法、ならびに、プログラム
JP2011192205A (ja) * 2010-03-16 2011-09-29 Fujitsu Ltd 表示制御装置、表示制御方法及びプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180012792A (ko) * 2015-11-30 2018-02-06 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 실시간 가상 장면에서 원통형 충돌기와 볼록형 바디 간의 충돌을 검출하기 위한 방법, 및 단말, 및 저장 매체
JP2018524664A (ja) * 2015-11-30 2018-08-30 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 リアルタイムの仮想シーン内の円柱コライダと凸体との間の衝突を検出するための方法および端末およびストレージ媒体
KR101986037B1 (ko) 2015-11-30 2019-06-04 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 실시간 가상 장면에서 원통형 충돌기와 볼록형 바디 간의 충돌을 검출하기 위한 방법, 및 단말, 및 저장 매체
JP6439132B1 (ja) * 2018-03-09 2018-12-19 株式会社コナミデジタルエンタテインメント 表示システム、表示制御装置、及びプログラム
JP6452014B1 (ja) * 2018-03-09 2019-01-16 株式会社コナミデジタルエンタテインメント 表示システム、表示制御装置、及びプログラム
JP2019159614A (ja) * 2018-03-09 2019-09-19 株式会社コナミデジタルエンタテインメント 表示システム、表示制御装置、及びプログラム
JP2019159615A (ja) * 2018-03-09 2019-09-19 株式会社コナミデジタルエンタテインメント 表示システム、表示制御装置、及びプログラム

Also Published As

Publication number Publication date
US20120303340A1 (en) 2012-11-29
JP5498437B2 (ja) 2014-05-21
US9495485B2 (en) 2016-11-15

Similar Documents

Publication Publication Date Title
JP5498437B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造
US8154544B1 (en) User specified contact deformations for computer graphics
JP4948218B2 (ja) 画像処理装置及びその制御方法
US8267781B2 (en) Visual target tracking
US9050538B2 (en) Collision detection and motion simulation in game virtual space
JP4851504B2 (ja) デジタル・イメージ・キャプチャを用いて対話型エンタテインメントのためにアセットを生成する方法
JP2019534510A5 (ja)
JP5708196B2 (ja) 衝突検出システム、ロボットシステム、衝突検出方法及びプログラム
JP6291155B2 (ja) プログラム及びサーバ
JP2017191492A5 (ja)
EP1505546B1 (en) Method for drawing a three-dimensional image by modeling a second object connected to a first object
EP4020398A1 (en) Method and system for displaying a large 3d model on a remote device
US10319132B2 (en) Method and system for representing objects with velocity-dependent particles
US9111391B2 (en) Image generating device, image generating method, and non-transitory information storage medium
JP6329616B1 (ja) プログラム、コンピュータ装置、及び、判定方法
CN107798734A (zh) 三维模型自适应变形方法
CN112486319A (zh) 基于触觉渲染设备的vr交互方法、装置、设备及介质
JP2009066137A (ja) ゲーム装置、方法およびプログラム
JP2001266175A (ja) 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体
JP6960968B2 (ja) プログラム及びサーバ
JP6948363B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20220180589A1 (en) Physics engine with collision detection neighbor welding
JP6588114B2 (ja) プログラム及びサーバ
JP6258552B1 (ja) 情報処理装置、情報処理方法、プログラム、ならびに、端末
Volarević et al. Freeform spatial modelling using depth-sensing camera

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140307

R150 Certificate of patent or registration of utility model

Ref document number: 5498437

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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