JP2018524665A - リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体 - Google Patents

リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体 Download PDF

Info

Publication number
JP2018524665A
JP2018524665A JP2017558651A JP2017558651A JP2018524665A JP 2018524665 A JP2018524665 A JP 2018524665A JP 2017558651 A JP2017558651 A JP 2017558651A JP 2017558651 A JP2017558651 A JP 2017558651A JP 2018524665 A JP2018524665 A JP 2018524665A
Authority
JP
Japan
Prior art keywords
collider
bounding box
binary space
plane
cylindrical
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
JP2017558651A
Other languages
English (en)
Other versions
JP6480607B2 (ja
Inventor
西尼 匡
西尼 匡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2018524665A publication Critical patent/JP2018524665A/ja
Application granted granted Critical
Publication of JP6480607B2 publication Critical patent/JP6480607B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

以下を備える、リアルタイム仮想シーンにおいてコライダ間の衝突を検出するための方法:仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を獲得するステップと、その最短距離に従って第1のバイナリ空間分割コライダの各平面を拡張して第2のバイナリ空間分割コライダを形成するステップと、第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して、拡張された外縁境界ボックスを生成するステップと、生成された拡張された外縁境界ボックスと第2のバイナリ空間分割コライダを交差させるステップと、円柱状コライダと拡張された外縁境界ボックスと第2のバイナリ空間分割コライダを交差させることによって取得された結果とに衝突検出を実行するステップ。

Description

本出願は、参照によりその全体が本明細書に組み込まれている、2015年11月30日に中国特許庁に出願した、「METHOD AND APPARATUS FOR COLLISION DETECTION BETWEEN COLLIDERS IN REAL-TIME VIRTUAL SCENE」という題名の中国特許出願第201510860807.7号の優先権を主張するものである。
本開示は、コンピュータアプリケーション分野に関し、より詳細には、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法、端末、および不揮発性コンピュータ可読記憶媒体に関する。
仮想シーンは、コンピュータを使用することによってシミュレーションされたシーン、たとえば、ゲームシーンまたはアニメーションシーン、である。一例としてゲームシーンを使用すると、仮想オブジェクトが障害物に遭遇するとき、仮想オブジェクトは、障害物を迂回する、すなわち障害物との衝突を避ける必要がある。従来の処理方式は、仮想オブジェクトおよび障害物の両方を軸平行境界ボックス(AABB:axis-aligned bounding box)形のコライダに単純化することである。図1に示すように、仮想オブジェクトから単純化されたコライダ110は、壁コーナー120を迂回する必要があり、図に示された移動変更処理によれば、コライダ110は、完全に壁コーナーの外に移動し、壁の下縁に沿ってさらに前に進む必要がある。
しかしながら、コライダ110が、そのような方式で壁コーナーと衝突し、迂回するとき、オペレータは、動作が滑らかでないと感じることがあり、そして、コライダは、それの全身を外へ動かして壁コーナーを迂回するように制御される必要があり、低い移動効率をもたらす。
これを考慮して、動作の滑らかさを向上させ、移動効率を向上させるために、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法を提供することが必要である。
加えて、動作の滑らかさを向上させ、移動効率を向上させるために、端末および不揮発性コンピュータ可読記憶媒体を提供することもまた必要である。
リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法は、以下のステップを含む:
仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割(BSP:binary space partitioning)コライダの各平面までの最短距離を取得するステップと、
その最短距離に従って第1のBSPコライダの各平面を拡張して第2のBSPコライダを形成するステップと、
第1のBSPコライダのAABBを拡張して、外縁の拡張された境界ボックスを生成するステップと、
生成された外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットを取得するステップと、
円柱状コライダと外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットの取得の結果との間の衝突検出を実行するステップ。
端末は、メモリおよびプロセッサを含み、メモリは、コンピュータ可読命令を記憶し、プロセッサが以下のステップを実行するように、命令がプロセッサによって実行される:
仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離を取得するステップと、
その最短距離に従って第1のBSPコライダの各平面を拡張して第2のBSPコライダを形成するステップと、
第1のBSPコライダのAABBを拡張して、外縁の拡張された境界ボックスを生成するステップと、
生成された外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットを取得するステップと、
円柱状コライダと外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットの取得の結果との間の衝突検出を実行するステップ。
1つまたは複数の不揮発性コンピュータ可読記憶媒体が、コンピュータ実行可能命令を含み、コンピュータ実行可能命令は、1つまたは複数のプロセッサによって実行されるときに、以下のステップをプロセッサに実行させる:
仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離を取得するステップと、
その最短距離に従って第1のBSPコライダの各平面を拡張して第2のBSPコライダを形成するステップと、
第1のBSPコライダのAABBを拡張して、外縁の拡張された境界ボックスを生成するステップと、
生成された外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットを取得するステップと、
円柱状コライダと外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットの取得の結果との間の衝突検出を実行するステップ。
本発明の1つまたは複数の実施形態の詳細が、以下の添付の図面および説明において提供される。本開示の付加的特徴、目的、および利点が、本明細書、添付の図面および特許請求の範囲から明らかとなろう。
本発明の実施形態におけるまたは関連技術における技術的解決法をより明確に説明するために、以下に、実施形態または関連技術を説明するために必要とされる添付の図面を簡単に説明する。明らかに、以下の説明にある添付の図面は、本発明のいくつかの実施形態を単に示し、当業者は、これらの添付の図面から創造的努力なしに他の図面をさらに導出し得る。
リアルタイム仮想シーンにおけるコライダ間の衝突検出の従来のプロセスの概略図である。 一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法および装置の適用環境の概略図である。 一実施形態による端末の内部構造の概略図である。 一実施形態によるサーバの内部構造の概略図である。 一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法の流れ図である。 3本の線によって形成される三角形の概略図である。 3次元空間内の三角錐によって分割された空間の概略図である。 一実施形態による円柱状コライダの概略図である。 円柱状コライダからBSP平面までの最短距離を示す概略的上面図である。 円柱状コライダからBSPコライダの各平面までの距離と円柱状コライダからBSPコライダまでの実際の距離との差の概略図である。 BSPコライダの各平面の拡張の概略図である。 第2のBSPコライダに沿った円柱状コライダの移動の概略図である。 第2のBSPコライダおよび外縁の拡張された境界ボックスの交差セットの取得の概略図である。 円柱状コライダを使用することによる衝突検出の実行の理論的結果の概略図である。 一実施形態による外縁の拡張された境界ボックスの四隅へのベベルの追加の概略図である。 一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置の構造ブロック図である。 もう1つの実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置の構造ブロック図である。 もう1つの実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置の構造ブロック図である。
本開示の目的、技術的解決法、および利点をより明らかで分かりやすくするために、以下ではさらに、添付の図面および実施形態を参照して本開示を詳しく説明する。本明細書に記載される特定の実施形態は、本開示を説明することを単に意図されており、本開示を限定することは意図されていないことを理解されたい。
図2は、一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法および装置の適用環境の概略図である。図2に示すように、適用環境は、端末210およびサーバ220を含む。複数の端末210が存在し得る。複数の端末210は、サーバ220と通信する。リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法は、端末210で実行し得る。端末210は、サーバ220から仮想シーンに関するデータを取得し、仮想シーンにおいて第1のBSPコライダおよび仮想オブジェクトに対応する円柱状コライダを取得し、第1のBSPコライダと円柱状コライダとの間の衝突検出を実行する。リアルタイム仮想シーンは、リアルタイムのゲームシーンまたはリアルタイムのアニメーションシーンなどでもよい。仮想オブジェクトは、人または物質でもよい。第1のBSPコライダは、人または物質などでもよい。
図3Aは、一実施形態による端末210の内部構造の概略図である。図3Aに示すように、端末210は、システムバスを使用することによって接続された、プロセッサ、記憶媒体、メモリ、ネットワークインターフェース、収音装置、表示画面、スピーカ、および入力装置を含む。端末の記憶媒体は、オペレーティングシステムを記憶し、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置をさらに含む。リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置は、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法を実装するように構成される。プロセッサは、端末全体の実行をサポートするために、計算および制御能力を提供するように構成される。端末内のメモリは、記憶媒体内のリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置のための実行環境を提供する。ネットワークインターフェースは、サーバとのネットワーク通信を実行する、たとえば、サーバにデータ要求を送るおよびサーバから返された対応するデータを受信する、ように構成される。端末の表示画面は、液晶表示画面または電子インク表示画面などでもよい。入力装置は、表示画面を覆うタッチ層でもよく、あるいは端末収容箱に配置されたボタン、トラックボール、またはタッチパッド、あるいは、外部キーボード、タッチパッド、またはマウスなどでもよい。端末は、携帯電話、デスクトップコンピュータ、タブレットコンピュータ、または携帯情報端末などでもよい。図3Aに示される構造は、単に、本出願の解決法に関連する構造部分であり、本出願の解決法が適用される端末の制限にはならず、特定の端末は、図に示されるものより多数または少数の構成要素を含み得る、あるいは、いくつかの構成要素が結合され得る、あるいは、異なる構成要素配置が使用され得ることが、当業者には理解されよう。
図3Bは、一実施形態によるサーバ220の内部構造の概略図である。図3Bに示すように、サーバは、システムバスを使用することによって接続された、プロセッサ、記憶媒体、メモリ、ネットワークインターフェース、表示画面、および入力装置を含む。サーバの記憶媒体は、オペレーティングシステム、データベース、およびリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置を記憶する。データベースは、仮想シーンに関するデータを記憶する。リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置は、サーバに適用可能な、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法を実装するように構成される。サーバのプロセッサは、サーバ全体の実行をサポートするために、計算および制御能力を提供するように構成される。サーバのメモリは、記憶媒体内のリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置のための実行環境を提供する。サーバの表示画面は、液晶表示画面または電子インク表示画面などでもよい。入力装置は、表示画面を覆うタッチ層でもよく、あるいはサーバ収容箱に配置されたボタン、トラックボール、またはタッチパッドでもよく、あるいは、外部キーボード、タッチパッド、またはマウスなどでもよい。サーバのネットワークインターフェースは、ネットワーク接続を使用することによって外部端末と通信する、たとえば、端末によって送られたデータ交換要求を受信し、端末にデータを返す、ように構成される。サーバは、独立型サーバ、または、複数のサーバを含むサーバクラスタでもよい。図3Bに示される構造は、単に、本出願の解決法に関係する構造部分であり、本出願の解決法が適用されるサーバの制限にはならず、特定のサーバは、図に示されたものより多数または少数の構成要素を含み得る、あるいは、いくつかの構成要素が結合され得る、あるいは、異なる構成要素配置が使用され得ることが、当業者には理解されよう。
もう1つの適用環境では、端末210またはサーバ220のみが存在し得る。すなわち、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法は、端末またはサーバのみで実行する必要があり得る。たとえば、仮想オブジェクトは、スタンドアロンのリアルタイムのゲームシーンまたはリアルタイムのアニメーションシーンにおいて移動する。ユーザが、ダウンロードされたスタンドアロンのゲームを端末で実行する、または、テスト担当者が、スタンドアロンのゲームをサーバでテストする。
プレーヤが制御する仮想キャラクタおよびいくつかの他の移動する物質(たとえば、手りゅう弾およびカメラ)は、仮想シーン内のアクタタイプおよびそのサブタイプのオブジェクトとしてすべて表される。したがって、コライダ間の衝突検出を円滑にするために、衝突検出は、軸合わせを用いて実行される。仮想キャラクタのコライダを変更するために、アクタタイプは、仮想キャラクタが円柱状コライダを使用し、非キャラクタアクタが衝突検出のためのAABBを使用するように、修正される。仮想シーンでは、シーンオブジェクトは、主に、2つのタイプから成り、すなわち、BSPシーンオブジェクトおよび構成要素シーンオブジェクトを含む。異なるシーンオブジェクトは分類および記憶される、すなわち、オブジェクトはBSPまたは構成要素として分類される。衝突検出の間、衝突検出エントリポイント関数Uworld::MoveActor()が、使用されて、シーンオブジェクトタイプに従って粗いテーラリングを実行し、そのタイプのどのオブジェクトが、導入されたアクタオブジェクトコライダと衝突し得るかを決定し、次いで、返される結果を取得するために細かい衝突検出を実行する。粗いテーラリングは、粗い衝突を意味する。細かい衝突検出は、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための以下の方法による円柱状コライダとBSPコライダ(すなわち、BSPシーンオブジェクト)との間の細かい衝突検出の実装を意味する。衝突検出が終了した後、一連のチェック関数が、衝突検出結果を要約し、その結果をその後の計算、たとえば、状態変更または損害計算、のためのさらなる集計のためにUworld::MoveActor()に転送するために、使用される。BSPシーンオブジェクトについては、AABBではなくて円柱が、MoveActor()に導入されるコライダとして使用される。リアルタイム仮想シーンは、リアルタイムのゲームシーン、リアルタイムのアニメーションシーンなどを含み得る。本開示は、それに限定されない。
図4は、一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法の流れ図である。図4に示すように、図2の適用環境において実行する、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法は、以下のステップを含む。
ステップ402。仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離を取得する。
この実施形態では、先ず、BSP方法が、面を使用して形を作ることによって、空間を「内面」および「外面」に分割するために使用される。いくつかの平面が、空間をいくつかの凸体に分割するために使用され、次いで、凸体は、ブール演算を使用することによって、複雑な形に結合され得る。CylinderPushOut()関数が、円柱状コライダからBSPコライダの平面までの最短距離を測定するために使用される。
リアルタイム仮想シーンは、リアルタイムのゲームシーンまたはリアルタイムのアニメーションシーンなどである。リアルタイムのゲームシーンは、現在実行しているゲーム内のシーンを意味する。リアルタイムのアニメーションシーンは、現在実行しているアニメーション内のシーンを意味する。衝突検出は、衝突がコライダの間で生じるかどうかを検出することを意味する。衝突応答は、衝突が生じた後に、すなわち1つのコライダが別のコライダと衝突した後に、生成され、その1つのコライダは、元の移動方向に沿って移動し続けることはできず、その1つのコライダの移動方向は、別のコライダを迂回するように調整される。別法として、1つのコライダが別のコライダをヒットし、ヒット応答が生成される。この実施形態では、衝突検出は、主に、1つのコライダと別のコライダとの衝突を回避することと、1つのコライダの移動方向を調整して別のコライダを迂回することとを意味する。
図5は、3本の線によって形成された三角形の概略図である。図5に示すように、右側の3本の線によって分割された空間は、左側の三角形によって分割された空間を使用することによって取得され、すなわち、右側の3本の線の「内側」は、三角形のエリアを形成し、平面を使用する空間分割の状況が、3次元空間において三角形のエリアを拡張することによって、取得され得る。
図6は、3次元空間において三角錐によって分割された空間の概略図である。図6に示すように、空間は、三角錐の内側のエリアと三角錐の外側のエリアとに三角錐によって分割される。
第1のBSPコライダは、BSPを用いて分割された空間であり、第1のBSPコライダの平面は、BSPを用いて分割された空間の表面である。
仮想オブジェクトは、仮想シーンにおいて移動し得る人または物質でもよい。仮想オブジェクトは、円柱状コライダに構成される。コライダは、衝突が物質の間に生じるかどうかを計算するために使用される物質、すなわち、衝突アルゴリズム計算に実際に関わる物質、である。コライダのサイズは、仮想シーン内の仮想オブジェクトのサイズに従って、セットされ得る。たとえば、仮想オブジェクトは球体であり、仮想オブジェクトに対応する円柱状コライダの高さは、球体の直径としてセットされ得、円柱状コライダの半径は、その球体の半径よりわずかに大きくなるようにセットされ得る。垂直円柱を使用して計算されるコライダからBSP平面までの距離は、AABBを使用するのより短く、効果は、より自然である。したがって、仮想オブジェクトに対応する円柱状コライダは確実に垂直円柱である(ワールド座標系において)と想定される。AABBは、その縁がすべて座標軸と平行である境界ボックスを意味する。
BSPシーンオブジェクトについて、円柱状コライダから第1のBSPコライダの平面までの最短距離が先ず、測定される。その最短距離は、円柱状コライダがその平面にちょうど接触する(すなわち、平面が円柱状コライダを支持する)ときの円柱状コライダの中心点から平面までの距離である。すなわち、仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離は、仮想オブジェクトに対応する円柱状コライダが第1のBSPコライダの平面に接触するときの円柱状コライダの中心点から接触された第1のBSPコライダの平面までの距離である。本明細書では、平面は、任意の平面でよく、平面は、円柱状コライダの線に密着し得る、または1点のみを支持し得ることに留意されたい。
仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離を取得するステップは、以下を含む:
仮想オブジェクトに対応する円柱状コライダの軸方向が第1のBSPコライダの平面と平行であり、第1のBSPコライダの平面が円柱状コライダの側線と密着する場合に、仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの平面までの最短距離が円柱状コライダの半径であると判定するステップと、
第1のBSPコライダの平面が円柱状コライダの点と密着する場合に、円柱状コライダの半径および半分の高さと第1のBSPコライダの平面の法線ベクトルのX、Y、およびZ座標成分とに従って、円柱状コライダから第1のBSPコライダの平面までの最短距離を取得するステップ。
具体的には、円柱状コライダの半径および半分の高さと第1のBSPコライダの平面の法線ベクトルのX、Y、およびZ座標成分とに従って円柱状コライダから第1のBSPコライダの平面までの最短距離を取得するための計算式は:以下の式(1)に示すように、法線ベクトルのXおよびY座標成分の平方根と円柱状コライダの半径との積を先ず取得することと、円柱状コライダの半分の高さと法線ベクトルのZ座標成分の絶対値との積を次いで取得することと、2つの積の和を最後に取得すること:
Figure 2018524665
式(1)では、Sは円柱状コライダから第1のBSPコライダの平面までの最短距離であり、Rは円柱状コライダの半径であり、x、y、およびzは、X、Y、およびZ座標系における平面の法線ベクトルの3つの座標成分であり、Hは円柱状コライダの半分の高さであり、そして、|z|は法線ベクトルのz成分の絶対値である。
図7は、一実施形態による円柱状コライダの概略図である。図7に示すように、円柱タイプは垂直円柱を表すために使用され、その円柱タイプにおいて、横線72は半径を表すために使用され、縦線74は高さを表すために使用され、その値は半分の高さ(すなわち、円柱状コライダの高さの値の半分)である。
図8は、円柱状コライダからBSP平面までの最短距離を示す概略的上面図である。図8に示すように、円柱状コライダは、上から見ると円であり、円の中心からBSP辺までの垂直線分(平面は、上から見ると辺である)は、円柱からBSP平面までの距離である。円柱がBSP平面とちょうど接触するときに取得される距離は、最短距離である。実際の3次元状況では、円柱状コライダの軸方向が、BSP平面と完全に平行である場合、その平面は、円柱状コライダに密着する側線であり、この状況において、円柱状コライダの半径は、円柱状コライダからBSP平面までの距離である。他の状況において、平面は、円柱状コライダの点と密着する。円柱状コライダは、常に真っすぐに立ち、その半径は半径Rであり、高さの半分はHであり、平面の法線ベクトルはNであり(平面の基底ベクトルは、円柱状コライダの座標空間基底ベクトルと同じである)、そして、法線ベクトルのX、Y、およびZ座標軸の3つの成分、[x,y,z]であると想定される。次いで、円柱状コライダの中心からBSP平面までの最短距離が、式(1)を使用することによって、計算される。
図9は、円柱状コライダからBSPコライダの各平面までの距離と円柱状コライダからBSPコライダまでの実際の距離との差の概略図である。図9に示すように、円柱状コライダからBSP水平平面までの最短距離は、92によって表され、円柱状コライダからBSP垂直平面までの最短距離は、94によって表される。円柱について、円柱から各平面までの距離が計算され得るとしても、円柱からBSPコライダの平面の間の角までの実際の距離、すなわち図中の斜線96、はやはり計算され得ない。
ステップ404。最短距離に従って第1のBSPコライダの各平面を拡張して第2のBSPコライダを形成する。
この実施形態では、円柱状コライダは、点(すなわち、中心点)まで縮小され、BSPコライダ(第1のBSPコライダ)の各平面は、円柱状コライダから平面までの最短距離を拡張の長さとして拡張されて、新しいBSPコライダ、すなわち第2のBSPコライダ、を形成する。
図10は、BSPコライダの各平面の拡張の概略図である。図10に示すように、第1のBSPコライダ1002の各平面は、円柱状コライダから平面までの最短距離を拡張距離として拡張され、第2のBSPコライダ1004が、拡張の後に形成され、図中の1006は、円柱状コライダである。
図11は、第2のBSPコライダに沿った円柱状コライダの移動の概略図である。図11に示すように、点に縮小された後、拡張の後に取得されたBSPコライダに沿って移動するとき、円柱状コライダは、鋭角より遠くまで進んで曲がる必要がある。
ステップ406。第1のBSPコライダのAABBを拡張して外縁の拡張された境界ボックスを生成する。
この実施形態では、第1のBSPコライダのAABBを拡張して外縁の拡張された境界ボックスを生成するステップは、以下を含む:第1のBSPコライダのAABBについて、基準として円柱状コライダの中心点を使用することによって第1のBSPコライダのAABB全体をスキャンして、外縁の拡張された境界ボックスを生成する。
ステップ408。生成された外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットを取得する。
図12は、第2のBSPコライダおよび外縁の拡張された境界ボックスの交差セットの取得の概略図である。図12に示すように、円柱状コライダが、BSPコライダの周りをより自然に移動することができ、距離が減らされるように、BSPコライダのAABB1202が、基準として使用され、スキャンされ、拡張されて、外縁の拡張された境界ボックス1204を生成し、次いで、外縁の拡張された境界ボックスおよび第2のBSPコライダ1206の交差セットが、取得される。
ステップ410。円柱状コライダと外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットの取得の結果との間の衝突検出を実行する。
具体的には、円柱状コライダと第1のBSPコライダとの間の衝突検出が、円柱状コライダと交差セットとの間の衝突検出を実行することによって、実装される。
リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法において、第1のBSPコライダの各平面は、第2のBSPコライダを取得するために、最短距離に従って拡張され、拡張が、外縁の拡張された境界ボックスを取得するために、基準として円柱状コライダの中心点を使用することによって第1のBSPコライダについて実行され、第2のBSPコライダと外縁の拡張された境界ボックスとの交差セットが取得され、円柱状コライダと第1のBSPコライダとの間の衝突検出が、円柱状コライダと交差セットとの間の衝突を用いて実装される。衝突検出は、2つのコライダの間の衝突を避けるために実行される。2つのAABBに基づくコライダ間の従来の衝突検出と比較して、円柱状コライダと第1のBSPコライダのAABBとの間の衝突検出の間、仮想オブジェクトは、AABBが行うように第1のBSPコライダのコーナーを迂回するためにそれの全身を外へ移動させるように制御される必要はなく、円柱状コライダは、コーナーをスムーズに迂回することができる、すなわち、コーナーは、より短い距離を移動することによって迂回され得る。これは、移動距離を減らし、同移動速度での移動効率を向上させ、スムーズな移動によるより滑らかな動作を実装する。
図13は、円柱状コライダおよび本開示における衝突検出の理論的結果を使用することによって従来のアルゴリズムを使用して衝突検出を実行することの効果の概略図である。図13に示すように、左図は、衝突検出が、円柱状コライダを使用することによって、従来のアルゴリズムに従って実行されることを示し、その中で、円柱状コライダは、やはりそれの全身を外に移動させて黒いコライダの下縁に沿って移動する必要があることを示し、右図は、円柱状コライダおよびリアルタイム仮想シーンにおけるコライダ間の衝突検出のための前述の方法が使用された後に達成され得る理論的結果を示し、その中で、円柱状コライダは、移動プロセスにおいてより短い距離を移動し、移動効率は高く、動作は滑らかである。一実施形態では、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法は、以下をさらに含む:第1のBSPコライダのAABBを拡張して外縁の拡張された境界ボックスを生成するステップの後に、外縁の拡張された境界ボックスの四隅の各々にベベルを追加するステップ。
第1のBSPコライダにおけるおよび外縁の拡張された境界ボックスのベベルに対応する平面交差線からベベルまでの距離は、円柱状コライダの半径である。
次いで、交差セットもまたベベルを有し、丸角が、円柱状コライダがコーナーを迂回するためにそれをより便利にし、さらに距離を減らし、移動効率を向上させることができる、ベベルを使用することによってシミュレーションされるように、ベベルが、外縁の拡張された境界ボックスの四隅に追加され、外縁の拡張された境界ボックスと第2のBSPコライダとの交差セットが、取得される。
図14は、一実施形態による外縁の拡張された境界ボックスの四隅へのベベルの追加の概略図である。図14に示すように、ベベルが、面取りした表面として外縁の拡張された境界ボックスの四隅に追加される、すなわち、外縁の拡張された境界ボックスの四隅にある直角がカットされてベベルを形成する。直角がカットされるとき、カットされた部分の投影によって平面に形成される三角形の鋭角は、45度である。
一実施形態では、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法は、以下をさらに含む:第1のBSPコライダのAABBを拡張して外縁の拡張された境界ボックスを生成するステップの後に、外縁の拡張された境界ボックスの四隅の各々にキャンバ面を追加するステップ。
第1のBSPコライダにおけるおよび外縁の拡張された境界ボックスのキャンバ面に対応する平面交差線からキャンバ面までの最短距離は、円柱状コライダの半径である。
交差セットもまたキャンバ面を有するように、キャンバ面が、外縁の拡張された境界ボックスの四隅に追加され、次いで、外縁の拡張された境界ボックスと第2のBSPコライダとの交差セットが、取得される。キャンバ面は、円柱状コライダによりよく適合し、それを円柱状コライダがコーナーを迂回するのにより便利にし、さらに距離を減らし、移動効率を向上させることができる。
リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法の実装プロセスが、特定の適用シーンを使用することによって説明される。リアルタイムのゲームシーンが、一例として使用され、円柱状コライダは仮想キャラクタであり、第1のBSPコライダは壁である。図14を参照すると、円は、円柱状コライダの2次元の投影であり、三角形は、第1のBSPコライダの2次元の投影である。衝突検出プロセスは、以下を含む:
(1)リアルタイムのゲームシーンにおける仮想キャラクタに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離を取得するステップと、
(2)その最短距離に従って第1のBSPコライダの各平面を拡張して第2のBSPコライダを形成するステップと、
(3)第1のBSPコライダのAABBを拡張して外縁の拡張された境界ボックスを生成するステップ、および、外縁の拡張された境界ボックスの四隅の各々にキャンバ面を追加するステップと、
(4)生成された外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットを取得するステップと、
(5)円柱状コライダと外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットの取得の結果との間の衝突検出を実行するステップ。
衝突検出は、衝突がコライダの間で生じるかどうかを検出することを意味する。衝突が生じるとき、円柱状コライダの元の移動方向は、第2のBSPコライダを迂回するために、調整される。
円柱状コライダの移動経路が、図14に示すように、円柱状コライダの投影された円と外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットとの間の衝突検出を実行することによって、取得され得る。
図15は、一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置の構造ブロック図である。図15のリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置は、図4におけるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法を実装するために構築された機能的アーキテクチャである。機能モジュールの分割は、この実施形態において説明されるものに限定されず、別の形で実装され得る。図15に示すように、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置は、距離取得モジュール1510、拡張モジュール1520、生成モジュール1530、値取得モジュール1540、および衝突検出モジュール1550を含む。
距離取得モジュール1510は、仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離を取得するように構成される。
この実施形態では、先ず、BSP方法が、面を使用して形を作ることによって空間を「内面」および「外面」に分割するために使用される。いくつかの平面が、空間をいくつかの凸体に分割するために使用され、次いで、凸体は、ブール演算を使用することによって複雑な形に結合され得る。
第1のBSPコライダは、BSPを用いて分割された空間であり、第1のBSPコライダの平面は、BSPを用いて分割された空間の表面である。
仮想オブジェクトは、仮想シーンにおいて移動し得る人または物質でもよい。仮想オブジェクトは、円柱状コライダに構成される。コライダは、衝突が物質の間に生じるかどうかを計算するために使用される物質、すなわち、衝突アルゴリズム計算に実際に関わる物質、である。
仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの各平面までの最短距離は、仮想オブジェクトに対応する円柱状コライダが第1のBSPコライダの平面に接触するとき、円柱状コライダの中心点から第1のBSPコライダの接触された面までの距離である。
この実施形態では、距離取得モジュール1510はさらに、以下を行うように構成される:仮想オブジェクトに対応する円柱状コライダの軸方向が第1のBSPコライダの平面と平行であり、第1のBSPコライダの平面が円柱状コライダの側線と密着する場合に、仮想オブジェクトに対応する円柱状コライダから第1のBSPコライダの平面までの最短距離は円柱状コライダの半径であると判定することと、
第1のBSPコライダの平面が円柱状コライダの点と密着する場合に、円柱状コライダの半径および半分の高さと第1のBSPコライダの平面の法線ベクトルのX、Y、およびZ座標成分に従って円柱状コライダから第1のBSPコライダの平面までの最短距離を取得すること。
具体的には、円柱状コライダの半径および半分の高さと第1のBSPコライダの平面の法線ベクトルのX、Y、およびZ座標成分に従って円柱状コライダから第1のBSPコライダの平面までの最短距離を取得するための計算式は:以下の式(1)において示されるように、先ず、法線ベクトルのXおよびY座標成分の平方根と円柱状コライダの半径との積を取得することと、円柱状コライダの半分の高さと法線ベクトルのZ座標成分の絶対値との積を次いで取得することと、それらの2つの積の和を最後に取得することである:
Figure 2018524665
式(1)において、Sは、円柱状コライダから第1のBSPコライダの平面までの最短距離であり、Rは、円柱状コライダの半径であり、x、y、およびzは、X、Y、およびZ座標系における平面の法線ベクトルの3つの座標成分であり、Hは、円柱状コライダの半分の高さであり、|z|は、法線ベクトルのz成分の絶対値である。
拡張モジュール1520は、最短距離に従って第1のBSPコライダの各平面を拡張して第2のBSPコライダを形成するように構成される。
この実施形態では、円柱状コライダは、点(すなわち、中心点)に縮小され、BSPコライダ(第1のBSPコライダ)の各平面は、円柱状コライダから平面までの最短距離を拡張の長さとして拡張されて、新しいBSPコライダ、すなわち第2のBSPコライダ、を形成する。
生成モジュール1530は、第1のBSPコライダのAABBを拡張して外縁の拡張された境界ボックスを生成するように構成される。
具体的には、生成モジュール1530はさらに、以下を行うように構成される:第1のBSPコライダのAABBについて、基準として円柱状コライダの中心点を使用することによって第1のBSPコライダのAABB全体をスキャンして、外縁の拡張された境界ボックスを生成すること。
値取得モジュール1540は、生成された外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットを取得するように構成される。
衝突検出モジュール1550は、円柱状コライダと外縁の拡張された境界ボックスおよび第2のBSPコライダの交差セットの取得の結果との間の衝突検出を実行するように構成される。
具体的には、円柱状コライダと第1のBSPコライダとの間の衝突検出が、円柱状コライダと交差セットとの間の衝突を用いて実装される。
リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置において、第1のBSPコライダの各平面は、第2のBSPコライダを取得するために、最短距離に従って拡張され、拡張が、外縁の拡張された境界ボックスを取得するために、基準として円柱状コライダの中心点を使用することによって第1のBSPコライダについて実行され、第2のBSPコライダと外縁の拡張された境界ボックスとの交差セットが取得され、円柱状コライダと第1のBSPコライダとの間の衝突検出が、円柱状コライダと交差セットとの間の衝突を用いて実装される。衝突検出は、コライダ間の衝突を避けるために実行される。2つのAABBに基づくコライダ間の従来の衝突検出と比較して、円柱状コライダと第1のBSPコライダのAABBとの間の衝突検出の間、仮想オブジェクトは、AABBが行うように第1のBSPコライダのコーナーを迂回するためにそれの全身を外へ移動させるように制御される必要はなく、円柱状コライダは、コーナーをスムーズに迂回することができる、すなわち、コーナーは、より短い距離を移動することによって迂回され得る。これは、移動距離を減らし、同移動速度での移動効率を向上させ、スムーズな移動によるより滑らかな動作を実装する。
図16は、一実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置の構造ブロック図である。図16に示すように、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置は、距離取得モジュール1510、拡張モジュール1520、生成モジュール1530、値取得モジュール1540、および衝突検出モジュール1550を含み、カットモジュール1560をさらに含む。
カットモジュール1560は、以下を行うように構成される:第1のBSPコライダのAABBが、外縁の拡張された境界ボックスを生成するために拡張された後に、外縁の拡張された境界ボックスの四隅の各々にベベルを追加すること。
第1のBSPコライダにおけるおよび外縁の拡張された境界ボックスのベベルに対応する平面交差線からベベルまでの距離は、円柱状コライダの半径である。
交差セットもまたベベルを有し、丸角が、それを円柱状コライダがコーナーを迂回するのにより便利にし、さらに距離を減らし、移動効率を向上させることができる、ベベルを使用することによってシミュレーションされるように、ベベルが、外縁の拡張された境界ボックスの四隅に追加され、次いで、外縁の拡張された境界ボックスと第2のBSPコライダとの交差セットが、取得される。
図17は、もう1つの実施形態によるリアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置の構造ブロック図である。図17に示すように、リアルタイム仮想シーンにおけるコライダ間の衝突検出のための装置は、距離取得モジュール1510、拡張モジュール1520、生成モジュール1530、値取得モジュール1540、および衝突検出モジュール1550を含み、分割モジュール1570をさらに含む。
分割モジュール1570は、以下を行うように構成される:第1のBSPコライダのAABBが、外縁の拡張された境界ボックスを生成するために拡張された後に、キャンバ面を外縁の拡張された境界ボックスの四隅の各々に追加すること。
第1のBSPコライダにおけるおよび外縁の拡張された境界ボックスのキャンバ面に対応する平面交差線からキャンバ面までの最短距離は、円柱状コライダの半径である。
交差セットもまたキャンバ面を有するように、キャンバ面が、外縁の拡張された境界ボックスの四隅に追加され、次いで、外縁の拡張された境界ボックスと第2のBSPコライダとの交差セットが、取得される。キャンバ面は、円柱状コライダによりよく適合し、それを円柱状コライダがコーナーを迂回するのにより便利にし、さらに距離を減らし、移動効率を向上させることができる。
前述の実施形態における本方法のプロセスのすべてまたはいくつかは、関連ハードウェアに指示するコンピュータプログラムによって実装され得ることが、当業者には理解されよう。プログラムは、不揮発性コンピュータ可読記憶媒体に記憶され得る。プログラムが実行されるとき、前述の方法の実施形態のプロセスが、実行され得る。記憶媒体は、磁気ディスク、光ディスク、読み取り専用メモリ(ROM)などでもよい。
記載された実施形態は、単に、具体的で詳細な、本発明のいくつかの実施形態である。しかしながら、それは、本開示の特許の範囲の制限として理解されるべきではない。当業者は、本開示の概念を逸脱することなくいくつかの変更または改良をさらに行い得、それらの変更および改良は、本開示の保護範囲に属することに留意されたい。したがって、本開示の保護範囲は、添付の特許請求の範囲の保護範囲に従うものとする。
92 円柱状コライダからBSP水平面までの最短距離
94 円柱状コライダからBSP垂直面までの最短距離
96 円柱からBSPコライダの平面の間の角までの実際の距離
110 コライダ
120 壁コーナー
210 端末
220 サーバ
1002 第1のBSPコライダ
1004 第2のBSPコライダ
1006 円柱状コライダ
1510 距離取得モジュール
1520 拡張モジュール
1530 生成モジュール
1540 値取得モジュール
1550 衝突検出モジュール
1560 カットモジュール
1570 分割モジュール

Claims (24)

  1. リアルタイム仮想シーンにおけるコライダ間の衝突検出のための方法であって、
    仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を取得するステップと、
    前記最短距離に従って前記第1のバイナリ空間分割コライダの各平面を拡張して第2のバイナリ空間分割コライダを形成するステップと、
    前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して、外縁の拡張された境界ボックスを生成するステップと、
    前記生成された外縁の拡張された境界ボックスおよび前記第2のバイナリ空間分割コライダの交差セットを取得するステップと、
    前記円柱状コライダと前記外縁の拡張された境界ボックスおよび前記第2のバイナリ空間分割コライダの前記交差セットの取得の結果との間の衝突検出を実行するステップと
    を備える、方法。
  2. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップの後に、
    前記外縁の拡張された境界ボックスの四隅の各々にベベルを追加するステップ
    をさらに備える、請求項1に記載の方法。
  3. 前記第1のバイナリ空間分割コライダにおけるおよび前記外縁の拡張された境界ボックスのベベルに対応する平面交差線から前記ベベルまでの距離が、前記円柱状コライダの半径である、請求項2に記載の方法。
  4. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップの後に、
    前記外縁の拡張された境界ボックスの四隅の各々にキャンバ面を追加するステップ
    をさらに備える、請求項1に記載の方法。
  5. 前記第1のバイナリ空間分割コライダにおけるおよび前記外縁の拡張された境界ボックスのキャンバ面に対応する平面交差線から前記キャンバ面までの最短距離が、前記円柱状コライダの半径である、請求項4に記載の方法。
  6. 前記仮想オブジェクトに対応する前記円柱状コライダから前記第1のバイナリ空間分割コライダの各平面までの前記最短距離が、前記仮想オブジェクトに対応する前記円柱状コライダが前記第1のバイナリ空間分割コライダの平面に接触するときに、前記円柱状コライダの中心点から前記第1のバイナリ空間分割コライダの前記接触された面までの距離である、請求項1に記載の方法。
  7. 仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を取得する前記ステップが、
    前記仮想オブジェクトに対応する前記円柱状コライダの軸方向が前記第1のバイナリ空間分割コライダの平面と平行であり、前記第1のバイナリ空間分割コライダの前記平面が前記円柱状コライダの側線と密着する場合に、前記仮想オブジェクトに対応する前記円柱状コライダから前記第1のバイナリ空間分割コライダの前記平面までの最短距離は前記円柱状コライダの半径であると判定するステップと、
    前記第1のバイナリ空間分割コライダの平面が、前記円柱状コライダの点と密着する場合に、前記円柱状コライダの半径および半分の高さと前記第1のバイナリ空間分割コライダの前記平面の法線ベクトルのX、Y、およびZ座標成分とに従って、前記円柱状コライダから前記第1のバイナリ空間分割コライダの前記平面までの最短距離を取得するステップと
    を備える、請求項1に記載の方法。
  8. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップが、
    前記第1のバイナリ空間分割コライダの前記軸平行境界ボックスについて、基準として前記円柱状コライダの中心点を使用することによって前記第1のバイナリ空間分割コライダの前記軸平行境界ボックス全体をスキャンして、前記外縁の拡張された境界ボックスを生成するステップ
    を備える、請求項1に記載の方法。
  9. メモリおよびプロセッサを備える端末であって、前記メモリが、コンピュータ可読命令を記憶し、前記プロセッサが、
    仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を取得するステップと、
    前記最短距離に従って前記第1のバイナリ空間分割コライダの各平面を拡張して第2のバイナリ空間分割コライダを形成するステップと、
    前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して、外縁の拡張された境界ボックスを生成するステップと、
    前記生成された外縁の拡張された境界ボックスおよび前記第2のバイナリ空間分割コライダの交差セットを取得するステップと、
    前記円柱状コライダと前記外縁の拡張された境界ボックスおよび前記第2のバイナリ空間分割コライダの前記交差セットの取得の結果との間の衝突検出を実行するステップと
    を実行するように、前記命令が前記プロセッサによって実行される、端末。
  10. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップの後に、前記プロセッサがさらに、
    前記外縁の拡張された境界ボックスの四隅の各々にベベルを追加するステップ
    を実行する、請求項9に記載の端末。
  11. 前記第1のバイナリ空間分割コライダにおけるおよび前記外縁の拡張された境界ボックスのベベルに対応する平面交差線から前記ベベルまでの距離が、前記円柱状コライダの半径である、請求項10に記載の端末。
  12. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップの後に、前記プロセッサがさらに、
    前記外縁の拡張された境界ボックスの四隅の各々にキャンバ面を追加するステップ
    を実行する、請求項9に記載の端末。
  13. 前記第1のバイナリ空間分割コライダにおけるおよび前記外縁の拡張された境界ボックスのキャンバ面に対応する平面交差線から前記キャンバ面までの最短距離が、前記円柱状コライダの半径である、請求項12に記載の端末。
  14. 前記仮想オブジェクトに対応する前記円柱状コライダから前記第1のバイナリ空間分割コライダの各平面までの前記最短距離が、前記仮想オブジェクトに対応する前記円柱状コライダが前記第1のバイナリ空間分割コライダの前記平面に接触するときに、前記円柱状コライダの中心点から前記第1のバイナリ空間分割コライダの接触された面までの距離である、請求項9に記載の端末。
  15. 仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を取得する前記ステップが、
    前記仮想オブジェクトに対応する前記円柱状コライダの軸方向が前記第1のバイナリ空間分割コライダの平面と平行であり、前記第1のバイナリ空間分割コライダの前記平面が前記円柱状コライダの側線と密着する場合に、前記仮想オブジェクトに対応する前記円柱状コライダから前記第1のバイナリ空間分割コライダの前記平面までの最短距離が前記円柱状コライダの半径であると判定するステップと、
    前記第1のバイナリ空間分割コライダの平面が前記円柱状コライダの点と密着する場合に、前記円柱状コライダの半径および半分の高さと前記第1のバイナリ空間分割コライダの前記平面の法線ベクトルのX、Y、およびZ座標成分とに従って、前記円柱状コライダから前記第1のバイナリ空間分割コライダの前記平面までの最短距離を取得するステップと
    を備える、請求項9に記載の端末。
  16. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップが、
    前記第1のバイナリ空間分割コライダの前記軸平行境界ボックスについて、基準として前記円柱状コライダの中心点を使用することによって前記第1のバイナリ空間分割コライダの前記軸平行境界ボックス全体をスキャンして、前記外縁の拡張された境界ボックスを生成するステップ
    を備える、請求項9に記載の端末。
  17. コンピュータ実行可能命令を備える1つまたは複数の不揮発性コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、1つまたは複数のプロセッサによって実行されるときに、
    仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を取得するステップと、
    前記最短距離に従って前記第1のバイナリ空間分割コライダの各平面を拡張して第2のバイナリ空間分割コライダを形成するステップと、
    前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して、外縁の拡張された境界ボックスを生成するステップと、
    前記生成された外縁の拡張された境界ボックスおよび前記第2のバイナリ空間分割コライダの交差セットを取得するステップと、
    前記円柱状コライダと前記外縁の拡張された境界ボックスおよび前記第2のバイナリ空間分割コライダの前記交差セットの取得の結果との間の衝突検出を実行するステップと
    を前記プロセッサに実行させる、不揮発性コンピュータ可読記憶媒体。
  18. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップの後に、前記プロセッサがさらに、
    前記外縁の拡張された境界ボックスの四隅の各々にベベルを追加するステップ
    を実行する、請求項17に記載の不揮発性コンピュータ可読記憶媒体。
  19. 前記第1のバイナリ空間分割コライダにおけるおよび前記外縁の拡張された境界ボックスのベベルに対応する平面交差線から前記ベベルまでの距離が、前記円柱状コライダの半径である、請求項18に記載の不揮発性コンピュータ可読記憶媒体。
  20. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップの後に、前記プロセッサがさらに、
    前記外縁の拡張された境界ボックスの四隅の各々にキャンバ面を追加するステップ
    を実行する、請求項17に記載の不揮発性コンピュータ可読記憶媒体。
  21. 前記第1のバイナリ空間分割コライダにおけるおよび前記外縁の拡張された境界ボックスのキャンバ面に対応する平面交差線から前記キャンバ面までの最短距離が、前記円柱状コライダの半径である、請求項20に記載の不揮発性コンピュータ可読記憶媒体。
  22. 前記仮想オブジェクトに対応する前記円柱状コライダから前記第1のバイナリ空間分割コライダの各平面までの前記最短距離が、前記仮想オブジェクトに対応する前記円柱状コライダが前記第1のバイナリ空間分割コライダの前記平面に接触するときに、前記円柱状コライダの中心点から前記第1のバイナリ空間分割コライダの接触された面までの距離である、請求項17に記載の不揮発性コンピュータ可読記憶媒体。
  23. 仮想シーンにおける仮想オブジェクトに対応する円柱状コライダから第1のバイナリ空間分割コライダの各平面までの最短距離を取得する前記ステップが、
    前記仮想オブジェクトに対応する前記円柱状コライダの軸方向が前記第1のバイナリ空間分割コライダの平面と平行であり、前記第1のバイナリ空間分割コライダの前記平面が前記円柱状コライダの側線と密着する場合に、前記仮想オブジェクトに対応する前記円柱状コライダから前記第1のバイナリ空間分割コライダの前記平面までの最短距離は前記円柱状コライダの半径であると判定するステップと、
    前記第1のバイナリ空間分割コライダの平面が前記円柱状コライダの点と密着する場合に、前記円柱状コライダの半径および半分の高さと前記第1のバイナリ空間分割コライダの前記平面の法線ベクトルのX、Y、およびZ座標成分とに従って、前記円柱状コライダから前記第1のバイナリ空間分割コライダの前記平面までの最短距離を取得するステップと
    を備える、請求項17に記載の不揮発性コンピュータ可読記憶媒体。
  24. 前記第1のバイナリ空間分割コライダの軸平行境界ボックスを拡張して外縁の拡張された境界ボックスを生成する前記ステップが、
    前記第1のバイナリ空間分割コライダの前記軸平行境界ボックスについて、基準として前記円柱状コライダの中心点を使用することによって前記第1のバイナリ空間分割コライダの前記軸平行境界ボックス全体をスキャンして、前記外縁の拡張された境界ボックスを生成するステップ
    を備える、請求項17に記載の不揮発性コンピュータ可読記憶媒体。
JP2017558651A 2015-11-30 2016-05-20 リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体 Active JP6480607B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510860807.7 2015-11-30
CN201510860807.7A CN105488851B (zh) 2015-11-30 2015-11-30 实时虚拟场景中碰撞体之间碰撞探测的方法和装置
PCT/CN2016/082931 WO2017092252A1 (zh) 2015-11-30 2016-05-20 实时虚拟场景中碰撞体之间碰撞探测的方法、终端和存储介质

Publications (2)

Publication Number Publication Date
JP2018524665A true JP2018524665A (ja) 2018-08-30
JP6480607B2 JP6480607B2 (ja) 2019-03-13

Family

ID=55675815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017558651A Active JP6480607B2 (ja) 2015-11-30 2016-05-20 リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体

Country Status (5)

Country Link
US (1) US10235764B2 (ja)
JP (1) JP6480607B2 (ja)
KR (1) KR102009105B1 (ja)
CN (1) CN105488851B (ja)
WO (1) WO2017092252A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7519489B1 (ja) 2023-03-10 2024-07-19 カバー株式会社 プログラム、方法、およびシステム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488851B (zh) 2015-11-30 2017-07-07 腾讯科技(深圳)有限公司 实时虚拟场景中碰撞体之间碰撞探测的方法和装置
CN106197928A (zh) * 2016-06-30 2016-12-07 哈尔滨理工大学 一种基于虚拟球的包围盒碰撞检测方法
CN106582024B (zh) * 2016-10-14 2020-05-29 网易(杭州)网络有限公司 对象发生撞击的处理方法及装置
JP6609237B2 (ja) * 2016-11-17 2019-11-20 株式会社デンソー 衝突判定装置、及び衝突判定方法
CN106951631A (zh) * 2017-03-18 2017-07-14 李远阳 一种圆形与带旋转角度的矩形包围盒碰撞检测方法
CN107233733B (zh) * 2017-05-11 2018-07-06 腾讯科技(深圳)有限公司 目标对象的处理方法和装置
US11176288B2 (en) 2017-08-25 2021-11-16 Microsoft Technology Licensing, Llc Separation plane compression
CN108714303B (zh) * 2018-05-16 2023-04-18 深圳市腾讯网络信息技术有限公司 游戏中的碰撞检测方法,设备及计算机可读存储介质
CN110827411B (zh) * 2018-08-09 2023-07-18 北京微播视界科技有限公司 自适应环境的增强现实模型显示方法、装置、设备及存储介质
KR102497906B1 (ko) 2018-12-19 2023-02-10 한국전력공사 충돌체 구현 장치 및 방법
CN110180182B (zh) * 2019-04-28 2021-03-26 腾讯科技(深圳)有限公司 碰撞检测方法、装置、存储介质及电子装置
CN110232741B (zh) * 2019-06-17 2022-11-25 腾讯科技(深圳)有限公司 多层包围盒确定方法、碰撞检测及运动控制方法与设备
CN110321624B (zh) * 2019-06-28 2022-07-08 江苏艾佳家居用品有限公司 一种三维空间下3d对象碰撞检测方法及检测系统
CN110505493B (zh) * 2019-09-04 2022-07-15 广州方硅信息技术有限公司 基于游戏的碰撞检测方法、游戏交互方法及直播系统
CN110675500A (zh) * 2019-09-07 2020-01-10 创新奇智(重庆)科技有限公司 一种基于光学模拟的工业视觉成像系统设计工具
CN111068324B (zh) * 2019-11-26 2022-05-17 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、设备及存储介质
CN111346379B (zh) * 2020-03-12 2023-05-12 竞技世界(北京)网络技术有限公司 一种实现碰撞处理的方法及装置
CN111652908A (zh) * 2020-04-17 2020-09-11 国网山西省电力公司晋中供电公司 一种虚拟现实场景的操作碰撞检测方法
CN111514587B (zh) * 2020-04-27 2021-05-11 网易(杭州)网络有限公司 信息处理方法、装置、设备及存储介质
CN111569423B (zh) * 2020-05-14 2023-06-13 北京代码乾坤科技有限公司 碰撞形态的修正方法和装置
CN112619152A (zh) * 2021-01-05 2021-04-09 网易(杭州)网络有限公司 游戏包围盒的处理方法、装置及电子设备
CN113176063A (zh) * 2021-04-15 2021-07-27 中国工程物理研究院总体工程研究所 一种用于水平碰撞试验的速度存储测试装置
CN113551862B (zh) * 2021-06-30 2023-07-21 郑州捷安高科股份有限公司 虚拟列车碰撞检测方法、装置、设备及存储介质
CN114545877B (zh) * 2022-02-08 2024-04-05 燕山大学 一种面向散货的多工程机械数字孪生在线监控系统及方法
CN115035261B (zh) * 2022-06-06 2023-03-21 北京新唐思创教育科技有限公司 碰撞器的生成方法、装置、设备及介质
WO2023238637A1 (ja) * 2022-06-10 2023-12-14 ソニーグループ株式会社 情報処理装置および情報処理方法、並びにプログラム
CN115576424B (zh) * 2022-10-24 2023-09-01 广东外语外贸大学 一种增强vr教学交互操作实时性的方法
CN115908542B (zh) * 2022-10-31 2023-09-19 中交第四航务工程勘察设计院有限公司 基于bim的多面体间距离快速计算方法
CN116036604B (zh) * 2023-01-28 2023-05-30 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JP2003346186A (ja) * 2002-03-19 2003-12-05 Sony Corp 画像処理装置および方法、並びにプログラム
JP2005100134A (ja) * 2003-09-25 2005-04-14 Canon Inc 複合現実感装置
JP2008507056A (ja) * 2004-07-22 2008-03-06 コミサリア、ア、レネルジ、アトミク いくつかのデジタルシミュレーション化幾何学的オブジェクト間で近接領域を同定する方法およびシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747651B1 (en) * 1998-07-18 2004-06-08 National University Of Singapore System and method for creating bounding volume hierarchies utilizing model simplification
DE10106023A1 (de) * 2001-02-09 2002-08-29 Fraunhofer Ges Forschung Verfahren und Vorrichtung zur Kollisionserkennung von Objekten
FR2927184B1 (fr) * 2008-02-04 2010-04-02 Univ Joseph Fourier Procede et dispositif de simulation de contact par images a plan de profondeur.
CN101593366A (zh) * 2009-06-24 2009-12-02 北京航空航天大学 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法
CN102509317B (zh) * 2011-09-27 2013-12-25 北京像素软件科技股份有限公司 一种实时碰撞检测系统的实现方法
CN102368280A (zh) * 2011-10-21 2012-03-07 北京航空航天大学 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法
KR101309988B1 (ko) * 2011-12-22 2013-09-17 이화여자대학교 산학협력단 다각형 모델의 침투 깊이 연산 방법
CN102609992A (zh) * 2012-02-12 2012-07-25 北京航空航天大学 基于三角网格变形体的自碰撞检测方法
CN102663825A (zh) * 2012-02-29 2012-09-12 中山大学 一种三维碰撞检测方法
KR102059559B1 (ko) * 2012-07-10 2019-12-26 삼성전자주식회사 재구성 가능한 프로세서를 이용하여 가상의 장면에서 오브젝트의 충돌 검출을 위한 방법 및 장치
CN103729877A (zh) * 2013-12-18 2014-04-16 珠海金山网络游戏科技有限公司 一种三维模型的有向包围盒构造的方法和系统
US10635761B2 (en) * 2015-04-29 2020-04-28 Energid Technologies Corporation System and method for evaluation of object autonomy
CN105488851B (zh) * 2015-11-30 2017-07-07 腾讯科技(深圳)有限公司 实时虚拟场景中碰撞体之间碰撞探测的方法和装置
US10445442B2 (en) * 2016-09-01 2019-10-15 Energid Technologies Corporation System and method for game theory-based design of robotic systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JP2003346186A (ja) * 2002-03-19 2003-12-05 Sony Corp 画像処理装置および方法、並びにプログラム
JP2005100134A (ja) * 2003-09-25 2005-04-14 Canon Inc 複合現実感装置
JP2008507056A (ja) * 2004-07-22 2008-03-06 コミサリア、ア、レネルジ、アトミク いくつかのデジタルシミュレーション化幾何学的オブジェクト間で近接領域を同定する方法およびシステム
US20080319718A1 (en) * 2004-07-22 2008-12-25 Lionnel Joussemet Method and System for Identifying Proximity Areas Between Several Digitally Simulated Geometrical Objects

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
横小路泰義, 外2名: ""3次元空間内の複数の仮想物体を提示するための遭遇型ハプティックデバイスの軌道計画"", 計測自動制御学会論文集, vol. 第40巻, 第2号, JPN6018052301, 29 February 2004 (2004-02-29), JP, pages 139 - 147, ISSN: 0003953993 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7519489B1 (ja) 2023-03-10 2024-07-19 カバー株式会社 プログラム、方法、およびシステム

Also Published As

Publication number Publication date
WO2017092252A1 (zh) 2017-06-08
CN105488851A (zh) 2016-04-13
KR20180004766A (ko) 2018-01-12
CN105488851B (zh) 2017-07-07
JP6480607B2 (ja) 2019-03-13
KR102009105B1 (ko) 2019-08-08
US20180053311A1 (en) 2018-02-22
US10235764B2 (en) 2019-03-19

Similar Documents

Publication Publication Date Title
JP6480607B2 (ja) リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体
US10311544B2 (en) Method for detecting collision between cylindrical collider and convex body in real-time virtual scenario, terminal, and storage medium
US8576253B2 (en) Grasp simulation of a virtual object
CN108714303A (zh) 碰撞检测方法,设备及计算机可读存储介质
WO2014200914A1 (en) Scalable volumetric 3d reconstruction
US20230249076A1 (en) Collision data processing method and apparatus, storage medium, program product, and electronic device
WO2019057192A1 (zh) 知识图谱的展示方法及装置、移动终端及可读存储介质
US20230015214A1 (en) Planar contour recognition method and apparatus, computer device, and storage medium
CN115115773B (zh) 碰撞检测方法、装置、设备及存储介质
WO2023093739A1 (zh) 一种多视图三维重建的方法
WO2018090914A1 (zh) 三维视觉效果模拟方法及装置、存储介质及显示设备
CN115803782A (zh) 具有实时深度图的感受几何结构的增强现实效果
JP2023529790A (ja) フロアプランを生成するための方法、装置およびプログラム
Noborio et al. Experimental results of 2D depth-depth matching algorithm based on depth camera Kinect v1
KR20220026423A (ko) 지면에 수직인 평면들의 3차원 재구성을 위한 방법 및 장치
JP2003271988A (ja) 画像生成装置及びプログラム
Li et al. Haptic rendering method based on generalized penetration depth computation
CN109410304A (zh) 一种投影确定方法、装置及设备
Soukal et al. Surface point location by walking algorithm for haptic visualization of triangulated 3D models
Pastor et al. An agent-based paradigm for the reconstruction of conical perspectives
CN116824105A (zh) 建筑信息模型的显示调整方法、装置、设备及存储介质
CN114733192A (zh) 模型控制方法、装置、介质及设备
CN113902843A (zh) 一种相机2d点所在射线的交叉识别方法及装置
CN117576289A (zh) 一种新型连续碰撞检测方法
KR20210011586A (ko) 객체의 충돌 이벤트를 연산 처리하는 장치, 이를 이용한 연산 처리 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190207

R150 Certificate of patent or registration of utility model

Ref document number: 6480607

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