KR100847754B1 - Method for detecting collision of objects in game engine - Google Patents

Method for detecting collision of objects in game engine Download PDF

Info

Publication number
KR100847754B1
KR100847754B1 KR1020050061073A KR20050061073A KR100847754B1 KR 100847754 B1 KR100847754 B1 KR 100847754B1 KR 1020050061073 A KR1020050061073 A KR 1020050061073A KR 20050061073 A KR20050061073 A KR 20050061073A KR 100847754 B1 KR100847754 B1 KR 100847754B1
Authority
KR
South Korea
Prior art keywords
collision
collider
information
game engine
game
Prior art date
Application number
KR1020050061073A
Other languages
Korean (ko)
Other versions
KR20070006069A (en
Inventor
김정주
Original Assignee
엔에이치엔(주)
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 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020050061073A priority Critical patent/KR100847754B1/en
Publication of KR20070006069A publication Critical patent/KR20070006069A/en
Application granted granted Critical
Publication of KR100847754B1 publication Critical patent/KR100847754B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof

Abstract

본 발명은 게임 엔진에서 오브젝트 간의 충돌검사를 수행하는 방법에 관한 것으로, 보다 상세하게는 상기 게임 엔진이 제1 오브젝트로부터 충돌검사를 요청받는 경우에 제2 오브젝트로 제2 충돌자 정보를 요청하여 수집하고, 상기 수집한 제2 충돌자 정보를 상기 제1 오브젝트로 전달하며, 상기 제1 오브젝트는 상기 제2 충돌자 정보 및 제1 충돌자 정보를 소정의 충돌검사 함수 클라스(class)를 통해 충돌검사를 수행 후 상기 게임 엔진으로 리턴하는 것을 요지로 하고 있다. 본 발명에 따르면, 충돌검사를 오브젝트로 위임하고, 상기 오브젝트로부터 상기 충돌검사의 결과를 리턴함으로써 게임 엔진에서 충돌자의 형태 변화 시 수정되는 코딩을 최소할 수 있다. 또한, 게임 엔진에서 오브젝트의 형태에 상관없이 충돌검사를 수행함으로써 범용화된 게임 엔진을 제공할 수 있다.The present invention relates to a method for performing collision checking between objects in a game engine. More specifically, when the game engine receives a collision check request from a first object, the second object information is collected and collected by a second object. And transmit the collected second collider information to the first object, wherein the first object collides the second collider information and the first collider information through a class of a collision collision function. The main purpose is to return to the game engine after performing. According to the present invention, by delegating a collision check to an object and returning a result of the collision check from the object, it is possible to minimize the coding to be modified when the shape of the collision in the game engine. In addition, the game engine can provide a generalized game engine by performing a collision check regardless of the shape of the object.

충돌검사, 게임 엔진, 오브젝트, 뷰, 객체 지향, 추상화 Collision Checking, Game Engines, Objects, Views, Object Orientation, Abstraction

Description

게임 엔진에서 오브젝트의 충돌검사 방법{METHOD FOR DETECTING COLLISION OF OBJECTS IN GAME ENGINE}How to check for collision in objects in game engines {METHOD FOR DETECTING COLLISION OF OBJECTS IN GAME ENGINE}

도 1은 본 발명에 따른 게임 엔진에서 사람 및 총알의 충돌검사를 수행하는 일례를 도시한 도면이다.1 is a diagram showing an example of performing a collision test of a person and a bullet in a game engine according to the present invention.

도 2는 도 1의 충돌검사를 수행하기 위한 단계를 도시한 흐름도이다.FIG. 2 is a flowchart illustrating steps for performing the collision test of FIG. 1.

도 3은 본 발명에 따른 함수 클라스에서 유지되는 충돌검사 함수를 도시한 도면이다.3 is a diagram illustrating a collision checking function maintained in a function class according to the present invention.

도 4는 본 발명에 따른 게임 엔진에서의 충돌검사 방법을 수행하는데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.4 is an internal block diagram of a general purpose computer system that may be employed to perform the collision detection method in the game engine according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

201: 쿼리 송신 단계 202: 쿼리 수신 단계201: Step for sending a query 202: Step for receiving a query

203: 충돌자 정보 수신 단계 204: 충돌자 정보 전송 단계203: Receiving collider information 204: Transmitting collider information

205: 충돌검사 요청 단계 206: 충돌검사 수행 단계205: Collision check request step 206: Collision check perform step

207: 충돌검사 연산 결과 반환 단계 208: 충돌검사 연산 결과 반환 단계207: Return of collision check operation result step 208: Return of collision check operation result

209: 충돌검사 처리 단계209: Collision check processing step

본 발명은 게임 엔진에서 오브젝트 간의 충돌검사를 수행하는 방법에 관한 것으로, 보다 상세하게는 상기 게임 엔진이 제1 오브젝트로부터 충돌검사를 요청받는 경우에 제2 오브젝트로 제2 충돌자 정보를 요청하여 수집하고, 상기 수집한 제2 충돌자 정보를 상기 제1 오브젝트로 전달하며, 상기 제1 오브젝트는 상기 제2 충돌자 정보 및 제1 충돌자 정보를 소정의 충돌검사 함수 클라스를 통해 충돌 여부를 판정 후 상기 게임 엔진으로 리턴하는 것을 요지로 하고 있다.The present invention relates to a method for performing collision checking between objects in a game engine. More specifically, when the game engine receives a collision check request from a first object, the second object information is collected and collected by a second object. And transfer the collected second collider information to the first object, and the first object determines whether the second collider information and the first collider information collide through a predetermined collision check function class. The point is to return to the game engine.

오늘날 컴퓨터의 발달과 더불어 컴퓨터와 관련된 3D 게임 산업이 나날이 발전하고 있다. 이에 따라, 게임의 종류도 다양하게 변화되고 있다. 이러한 게임 종류의 다양한 변화에 대하여 게임 내 오브젝트 간 충돌 여부를 판단하는 충돌검사도 다양한 방법으로 변화되고 있다. 현재 충돌검사의 대표적인 방법으로는 게임 엔진은 게임 내 오브젝트의 충돌검사를 수행하기 위하여 상기 오브젝트 대신에 소정의 충돌자로서 상기 충돌검사를 수행한다. 상기 충돌자는 사각형(rectangle) 형태, 경계상자(axis aligned bounding box) 형태, 구(sphere) 형태, 원통(cylinder) 형태, 원뿔(frustum) 형태, 레이(ray) 형태, 그물망(mesh) 형태 중에서 적어도 하나의 형태를 포함하는 도형의 단위이며, 복잡한 형태로 표현되는 오브젝트를 대표하여 충돌검사를 수행한다. 일례로, 총알과 사람의 충돌검사를 수행하기 위하여, 총알은 구 형태의 충돌자로 대신하여 충돌검사를 수행하고, 상기 사람은 경계상자 형태의 충돌자로 대신하여 충돌검사를 수행할 수 있다.Today, with the development of computers, the 3D game industry related to computers is developing day by day. Accordingly, the types of games have also changed in various ways. For such various changes in game types, collision tests for determining whether or not collisions between objects in a game are being changed in various ways. As a representative method of the current collision check, the game engine performs the collision check as a predetermined collider instead of the object in order to perform the collision check of the object in the game. The collider has at least one of a rectangle shape, an axis aligned bounding box shape, a sphere shape, a cylinder shape, a cone shape, a frustum shape, a ray shape and a mesh shape. It is a unit of figure that includes one shape and performs collision check on behalf of the object represented by complex shape. For example, in order to perform a collision test between a bullet and a person, the bullet may perform a collision test on behalf of a spherical collider, and the person may perform a collision test on behalf of a collider in the form of a bounding box.

상기 충돌검사를 수행하기 위하여 충돌 판정이 필요한 게임 엔진(Before) 측 의 종래 코딩의 일례를 살펴보면, 다음과 같다.Looking at an example of the conventional coding of the game engine (Before) side that needs a collision determination in order to perform the collision check, as follows.

제1 오브젝트의 충돌자 정보를 가져오기 위한 메소드((1), (2))를 구현하여 상기 제1 오브젝트의 충돌자 정보를 수집한다.Implement methods (1) and (2) for obtaining collider information of the first object to collect collider information of the first object.

Before vCenter = A -> GetSphereCollisionCenter(); - (1)Before vCenter = A-> GetSphereCollisionCenter (); - (One)

Float fRad = A -> GetSphereCollisionRadus(); - (2)Float fRad = A-> GetSphereCollisionRadus (); - (2)

이와 더불어, 제2 오브젝트의 충돌자 정보를 가져오기 위한 메소드((3), (4))를 구현하여 상기 제2 오브젝트의 충돌자 정보를 수집한다.In addition, by implementing methods (3) and (4) for obtaining collider information of the second object, collider information of the second object is collected.

Before vMin = B -> GetAABBCollisionMin(); - (3)Before vMin = B-> GetAABBCollisionMin (); -(3)

Before vMax = B -> GetAABBCollisionMax(); - (4)Before vMax = B-> GetAABBCollisionMax (); - (4)

상기 제1 오브젝트 및 상기 제2 오브젝트로부터 충돌자 정보의 수집이 완료되면, 상기 제1 오브젝트 및 상기 제2 오브젝트의 형태별로 제1 오브젝트 및 상기 제2 오브젝트의 충돌검사를 수행한다. 이 때, 게임 엔진은 상기 충돌검사를 수행하기 위하여 상기 제1 오브젝트 및 상기 제2 오브젝트의 형태에 따라 특화된(specified) 함수를 생성한다.When collection of collider information from the first object and the second object is completed, collision checking of the first object and the second object is performed for each type of the first object and the second object. At this time, the game engine generates a specialized function according to the shape of the first object and the second object to perform the collision check.

상기 함수는 제1 오브젝트의 형태인 구 형태 및 제2 오브젝트의 형태인 경계상자 형태의 충돌검사를 수행하는 함수를 포함하고, 상기 구 형태 및 상기 경계상 자 형태의 충돌검사를 수행하는 함수(5)의 일례는 다음과 같다.The function includes a function of performing a collision check in the form of a sphere in the form of a first object and a bounding box in the form of a second object, and performing a collision test in the form of the sphere and the bounding box. ) Is as follows.

bool bCollide CollisionQuerySphereAndAABB(&vCenter, fRad, &vMin, &vMax); - (5)bool bCollide CollisionQuerySphereAndAABB (& vCenter, fRad, & vMin, &vMax); -(5)

즉, 상기 제1 오브젝트 및 상기 제2 오브젝트로부터 수집한 충돌자 정보를 인자로서 상기 함수(5)에 적용하여 충돌검사를 수행한다.That is, collision inspection is performed by applying the collider information collected from the first object and the second object to the function 5 as a factor.

그러나, 상기와 같은 종래의 충돌검사 시 제1 오브젝트 측에서 구 형태로 대표되던 충돌자가 원통 형태로 대표되는 충돌자로 변경되는 일례의 경우에는 상기 원통 형태에 대응되는 메소드를 구현하여, 상기 변경된 제1 오브젝트로부터 새로운 충돌자 정보를 수집해야 한다. 즉, 게임 엔진에서 사용되었던 메소드((1), (2))가 새로운 메소드로 변경되어야 한다. 또한, 상기 새로 수집된 충돌자 정보는 상기 함수(5)에 적용하여 충돌검사를 수행할 수가 없다. 이는 "&vCenter" 및 "fRad"의 인자 대신에 원통 형태에 사용되는 인자를 적용하여 충돌검사를 수행해야 하기에 상기 함수(5)가 새로운 상기 원통 형태 및 상기 경계상자의 충돌검사를 수행하는 함수로 변경되어야 한다. 변경된 제1 오브젝트와 상기 제2 오브젝트의 충돌검사를 수행하는 함수의 일례는 다음과 같다.However, in the case of an example in which a collision collimator represented by a spherical shape on the first object side is changed to a collider represented by a cylindrical form in the conventional collision inspection as described above, the method corresponding to the cylindrical form is implemented to implement the modified first We need to collect new collider information from the object. In other words, the methods ((1), (2)) used in the game engine should be changed to the new methods. In addition, the newly collected collider information cannot be applied to the function 5 to perform a collision check. This function (5) performs a collision check of the new cylindrical shape and the bounding box because the collision check should be performed by applying the factor used in the cylindrical shape instead of the & vCenter and fRad arguments. Should be changed. An example of a function for performing collision checking between the changed first object and the second object is as follows.

bool bCollide CollisionQueryCylinderAndAABB(Cylinderinfo, &vMin, &vMax); - (6)bool bCollide CollisionQueryCylinderAndAABB (Cylinderinfo, & vMin, &vMax); -(6)

함수(6)은 "&vCenter" 및 "fRad"를 대신하여 "Cylinderinfo"라는 인자를 적용하여 충돌검사를 수행한다. 이때, "Cylinderinfo"는 3차원 공간에서 원통 형태를 표현하는 인자이다. 이와 더불어, 충돌검사를 수행하는 함수도 원통 형태 및 경계상자를 비교하는 함수를 사용하여야 한다. 이로써, 충돌검사를 수행하는 함수의 변경된다.Function 6 performs a collision check by applying an argument of "Cylinderinfo" on behalf of "& vCenter" and "fRad". At this time, "Cylinderinfo" is a factor expressing the cylindrical shape in the three-dimensional space. In addition, the function that performs the collision check should use the function that compares the cylindrical shape and the bounding box. This changes the function that performs the collision check.

즉, 종래 게임 엔진에서 오브젝트 간 충돌검사는 오브젝트를 대표하는 충돌자의 형태가 변경되는 경우에 인자 값을 전달 받기 위한 메소드 및 충돌검사를 수행하기 위한 함수 등 전반 적인 코딩이 현저하게 변화되어야만 한다. 이러한 대대적인 코딩의 변화는 게임 엔진의 속도 저하의 문제의 근본적인 원인이 될 뿐만 아니라, 게임 엔진의 범용화를 저해하는 결정적인 요인으로 작용하고 있다.That is, in the conventional game engine, the collision checking between objects should significantly change the overall coding such as a method for receiving argument values and a function for performing collision checking when the type of collider representing the object is changed. This massive change in coding is not only a fundamental cause of the problem of slowing down the game engine, but also acts as a decisive factor that hinders the generalization of the game engine.

또한, 게임 엔진 측에서의 대대적인 코딩의 변화는 게임의 수정 또는 유지보수 시에 상당량의 코딩 작업이 요구되고, 이때 많은 비용이 소비되고 있는 실정이다.In addition, a significant change in coding on the game engine side requires a large amount of coding work when modifying or maintaining a game, and at this time, a high cost is consumed.

본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 충돌검사를 오브젝트로 위임하고, 상기 오브젝트로부터 상기 충돌검사의 결과를 리턴함으로써 게임 엔진에서 충돌자의 형태 변화 시 수정되는 코딩을 최소화하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to improve the prior art as described above, which delegates collision checking to an object and returns the results of the collision checking from the object to minimize coding that is modified when the shape of the collision is changed in the game engine. .

본 발명은 게임 엔진에서 오브젝트의 형태에 상관없이 충돌검사를 수행함으로써 범용화된 게임 엔진을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a generalized game engine by performing a collision check regardless of the shape of the object in the game engine.

상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명에 따른 게임 엔진에서의 충돌검사 방법은 상기 제1 오브젝트로부터 상기 제2 오브젝트의 제2 충돌자 정보 - 상기 제2 오브젝트의 충돌자에 대한 위치 정보 - 를 요청하는 쿼리(query)를 수신하는 단계, 상기 쿼리에 따라 상기 제2 오브젝트로 상기 제2 충돌자 정보 요청 명령을 전송하고, 상기 제2 오브젝트로부터 상기 제2 충돌자 정보를 수신하는 단계, 상기 쿼리에 대한 응답으로 상기 제2 충돌자 정보를 상기 제1 오브젝트로 전송하는 단계, 및 상기 제1 오브젝트로부터 상기 제2 오브젝트와의 충돌검사결과를 수신하는 단계를 포함하고, 상기 제1 오브젝트는 소정의 충돌검사 함수 클라스(class)로 상기 제2 충돌자 정보 및 상기 제1 오브젝트의 제1 충돌자 정보를 전송하고, 상기 충돌검사 함수 클라스는 상기 제1 충돌자 정보 및 상기 제2 충돌자 정보에 대한 충돌검사 연산 결과를 상기 제1 오브젝트로 전송하고, 상기 제1 오브젝트는 상기 충돌검사 연산 결과에 대응하는 충돌검사 결과를 상기 충돌검사 함수 클라스로 전송하는 것을 특징으로 한다. In order to achieve the above object and solve the above-mentioned problems of the prior art, the collision inspection method in the game engine according to the present invention is the second collider information of the second object from the first object-the second object Receiving a query requesting-location information for the collider of the request, sending the second collider information request command to the second object according to the query, and transmitting the second collision from the second object. Receiving child information, transmitting the second collider information to the first object in response to the query, and receiving a collision check result with the second object from the first object. The first object transmits the second collider information and the first collider information of the first object to a predetermined collision check function class. The collision check function class transmits a collision check operation result for the first collider information and the second collider information to the first object, and the first object receives a collision check result corresponding to the collision check operation result. Characterized in that the transmission to the collision detection function class.

이하, 첨부된 도면을 참조하여 본 발명에 따른 충돌검사 방법에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a collision detection method according to the present invention.

도 1은 본 발명에 따른 게임 엔진에서 사람 및 총알의 충돌검사를 수행하는 일례를 도시한 도면이다.1 is a diagram showing an example of performing a collision test of a person and a bullet in a game engine according to the present invention.

도 1에서는 제1 오브젝트(110)의 일례로 사람(111)을 제2 오브젝트(120)의 일례로 총알을 도시하였다. 사람(111)과 총알(121)은 게임 내에서 소정의 변화율 에 따라 이동하며, 사람(111)은 총알(121)이 자신에게 충돌하였는지 여부를 판단하게 된다. 일반적으로 사람(111)이 총알(121)보다 시간에 따른 거리의 변화율이 적은 값으로 표현되기에 사람(111)이 대상 충돌자, 총알(121)이 충돌자가 된다. 따라서, 대상 충돌자인 사람(111)이 충돌자인 총알(121)의 충돌 여부를 판단한다. 상기 대상 충돌자 및 상기 충돌자는 게임을 제공하는 게임 어플리케이션의 소정의 룰(rule)에 따라서 다양하게 변경 가능하다.1 illustrates a person 111 as an example of the first object 110 and a bullet as an example of the second object 120. The person 111 and the bullet 121 move according to a predetermined change rate in the game, and the person 111 determines whether the bullet 121 has collided with itself. In general, since the person 111 is represented by a smaller change rate of distance over time than the bullet 121, the person 111 is the target collider and the bullet 121 is the collider. Therefore, it is determined whether the person 111 who is the target collider collides with the bullet 121 that is the collider. The target collider and the collider may be variously changed according to a predetermined rule of a game application providing a game.

일례로, 사람(111)은 충돌자로서 사각형 형태(112), 총알은 충돌자로서 구(122) 형태로 치환될 수 있다. 일반적으로, 총알(121)이 사람(111)에게 충돌하였는지 여부를 검사하기 위하여, 복잡한 오브젝트의 현재 좌표를 파악하지 않고 대략적으로 충돌자를 통해 충돌검사를 수행한다. 이러한 충돌자는 사각형(rectangle) 형태, 경계상자(axis aligned bounding box) 형태, 구(sphere) 형태, 원통(cylinder) 형태, 원뿔(frustum) 형태, 레이(ray) 형태, 그물망(mesh) 형태 중에서 적어도 하나의 형태를 포함하여 상기 오브젝트의 현재 좌표를 대표한다. 즉, 도 1의 게임 엔진(130)은 사람(111)과 총알(121)의 충돌검사에 따른 결과를 처리하기 위하여 사람(111) 대신 사각형 형태(112)의 충돌자, 총알(121) 대신 구 형태(122)의 충돌자의 위치 정보를 이용한다. 이러한 충돌자를 이용한 충돌검사는 주지된 관용 기술이므로 이하 상세한 설명은 생략한다.In one example, the person 111 may be replaced with a quadrangular form 112 as a collider, and the bullet may be replaced with a sphere 122 as a collider. In general, in order to check whether the bullet 121 has collided with the person 111, the collision test is performed through the collider roughly without grasping the current coordinates of the complex object. Such colliders are at least one of a rectangle, an axis aligned bounding box, a sphere, a cylinder, a cone, a ray, and a mesh. Represents the current coordinates of the object, including one form. That is, the game engine 130 of FIG. 1 uses a collider instead of the person 111 and the bullet 121 instead of the person 111 to process the result of the collision test between the person 111 and the bullet 121. Position information of the collider in form 122 is used. Since the collision test using such a collider is a well-known conventional technique, detailed description thereof will be omitted.

충돌검사를 수행하기 위하여, 제1 오브젝트(110)는 제2 오브젝트(120)의 충돌자인 구 형태(122)의 제2 충돌자 정보를 수집한다. 이 때, 상기 제2 충돌자 정보를 수집하기 위하여, 제1 오브젝트(110)는 게임 엔진(130)으로 상기 제2 충돌자 정보의 수집을 요청하여 수집한다. 제2 충돌자 정보를 수집한 제1 오브젝트(110)는 소정의 충돌자 검사 함수를 유지하는 충돌검사 함수 클라스(140)로 제1 오브젝트(110)의 제1 충돌자 정보 및 제2 오브젝트(120)의 제2 충돌자 정보를 전송하여 충돌검사를 요청한다. 이에 충돌검사 함수 클라수(140)는 상기 제1 충돌자 정보 및 상기 제2 충돌자 정보에 포함된 충돌자의 형태에 따른 충돌검사 함수를 검색하여 충돌검사를 수행하고, 이에 따라 생성된 충돌검사 결과를 제1 오브젝트(110)로 반환한다. 제1 오브젝트(110)는 게임 엔진(130)으로 상기 충돌검사 결과를 반환하고 게임 엔진(130)은 상기 충돌검사 결과에 따라 소정의 충돌 결과 처리를 수행한다. 상기 충돌 결과 처리는 게임의 제작과 관련된 제작자에 의하여 사전에 코딩된 함수이다.In order to perform the collision check, the first object 110 collects the second collider information of the spherical form 122 which is the collider of the second object 120. At this time, in order to collect the second collider information, the first object 110 requests the game engine 130 to collect the second collider information. The first object 110 that collects the second collider information is a collision check function class 140 that maintains a predetermined collider test function. The first collider information and the second object 120 of the first object 110 are maintained. Request collision check by transmitting second collider information The collision check function Clarsu 140 performs a collision check by searching for a collision check function according to the type of collider included in the first collider information and the second collider information, and generates a collision check result. Is returned to the first object 110. The first object 110 returns the collision check result to the game engine 130 and the game engine 130 performs a predetermined collision result process according to the collision check result. The collision result processing is a function previously coded by the creator associated with the production of the game.

즉, 도 1에 따르면 충돌검사를 수행하기 위하여 게임 엔진이 오브젝트 들의 충돌자 정보에 대한 인자값을 직접적으로 수집하여 소정의 서브루틴을 수행함에 따라 발생하는 코딩의 수정 등에 대한 문제점을 최소화할 수 있다.That is, according to FIG. 1, in order to perform a collision check, a game engine directly collects argument values of collider information of objects and minimizes a problem of coding modification that occurs when a predetermined subroutine is performed. .

도 2는 도 1의 충돌검사를 수행하기 위한 단계를 도시한 흐름도이다.FIG. 2 is a flowchart illustrating steps for performing the collision test of FIG. 1.

단계(201)에서 제1 오브젝트는 본 발명에 따른 게임 엔진으로 상기 제2 오브젝트의 제2 충돌자 정보를 요청하는 쿼리(query)를 전송한다. 상기 제2 충돌자 정보는 상기 제2 오브젝트의 충돌자에 대한 위치 정보이다. 일례로, 상기 제2 충돌자가 구 형태의 충돌자인 경우에 상기 제2 충돌자 정보는 상기 구 형태를 3차원 상에서 표현할 수 있는 중심점 및 반지름 길이 정보를 포함할 수 잇다. 다른 일례로, 충돌자가 원통 형태인 경우에 두 면의 중심점 및 반지름 길이 정보를 포함하 고, 원통이 높이를 더 포함하여 3차원 상에서 원통 형태를 표현할 수 있다. 또한, 상기 쿼리는 상기 제2 오브젝트가 소정의 주기로 상기 게임 엔진에 요구할 수 있으며, 제1 오브젝트의 시간에 따른 이동의 변화율이 제2 오브젝트의 시간에 따른 이동 변화율 보다 증가되는 시점에서 상기 게임 엔진으로 요구할 수도 있다.In step 201, the first object transmits a query for requesting second collider information of the second object to the game engine according to the present invention. The second collider information is positional information about the collider of the second object. For example, when the second collider is a sphere collider, the second collider information may include center point and radius length information capable of expressing the sphere form in three dimensions. As another example, when the collider is in the form of a cylinder, the center point and radius length information of two faces may be included, and the cylinder may further include a height to express the shape of the cylinder in three dimensions. In addition, the query may request the game engine to the game engine at a predetermined period, and when the change rate of movement with respect to the time of the first object is greater than the rate of change with movement with time of the second object, the query is sent to the game engine. May be required.

단계(202)에서, 상기 게임 엔진은 제1 오브젝트로부터 상기 쿼리를 수신하고 상기 쿼리에 따라 상기 제2 오브젝트로 상기 제2 충돌자 정보 요청 명령을 전송한다. 상기 제2 충돌자 정보 요청 명령을 수신한 상기 제2 오브젝트는 현재 자신의 위치 정보인 제2 충돌자 정보를 게임 엔진으로 전송하고, 상기 게임 엔진은 상기 제2 충돌자 정보를 수신한다(단계(203)). 상기 제2 충돌자 정보를 수신한 상기 게임 엔진은 상기 제1 오브젝트로 상기 제2 충돌자 정보를 전송한다(204).In step 202, the game engine receives the query from a first object and sends the second collider information request command to the second object according to the query. The second object having received the second collider information request command transmits second collider information, which is its own location information, to the game engine, and the game engine receives the second collider information (step ( 203)). The game engine receiving the second collider information transmits the second collider information to the first object (204).

단계(205)에서, 제1 오브젝트는 게임 엔진으로부터 수신한 제2 충돌자 정보 및 현재 자신의 위치 정보인 제1 충돌자 정보를 충돌검사 함수 클라스로 전송하여 충돌검사를 요청한다. 상기 제1 충돌자 정보 및 상기 제2 충돌자 정보를 수신한 충돌검사 함수 클라스는 상기 제1 충돌자 정보 및 상기 제2 충돌자 정보로부터 상기 제1 오브젝트 및 상기 제2 오브젝트의 형태를 파악하고 사전에 정의된 충돌검사 함수로부터 충돌검사를 수행한다(단계(206)). 상기 충돌검사 함수는 상기 제1 오브젝트 및 상기 제2 오브젝트 각각의 충돌자의 형태 개수(N)와 연관된 소정의(predetermined) 개수의 함수 집합이다. 충돌검사 함수 클라스에 유지되는 충돌검사 함수는 도 3에서 상세히 설명한다.In step 205, the first object transmits the second collider information received from the game engine and the first collider information which is its own position information to the collision check function class to request collision check. The collision check function class that receives the first collider information and the second collider information grasps the form of the first object and the second object from the first collider information and the second collider information, and A collision check is performed from the collision check function defined at (step 206). The collision checking function is a set of predetermined numbers of functions associated with the number N of collisions of each of the first object and the second object. Collision Check Function The collision check function maintained in the class will be described in detail with reference to FIG. 3.

도 3은 본 발명에 따른 함수 클라스에서 유지되는 충돌검사 함수를 도시한 도면이다.3 is a diagram illustrating a collision checking function maintained in a function class according to the present invention.

충돌검사 함수 클라스는 충돌자 타입(301)에 따라, 다수의 충돌검사 함수(302)를 유지한다. 도 3에서 보는 바와 같이, 충돌자 타입(301)이 사각형 형태, 경계상자 형태, 구 형태, 원통 형태, 원뿔 형태, 레이 형태, 및 그물망 형태를 포함하는 경우에 충돌검사 함수(302)는 사각형 형태와 사각형 형태를 비교, 사각형 형태와 경계상자 형태를 비교, 사각형 형태와 구 형태를 비교, …, 그물망 형태와 그물망 형태를 비교 하는 6+5+4+3+2+1 = 21개의 함수를 유지한다.The collision check function class maintains a number of collision check functions 302, depending on the collider type 301. As shown in FIG. 3, the collision check function 302 is rectangular when the collider type 301 includes a rectangular shape, a bounding box shape, a spherical shape, a cylindrical shape, a cone shape, a ray shape, and a mesh shape. Compares square and square shapes, compares square and bounding box shapes, compares square and sphere shapes,… We maintain 6 + 5 + 4 + 3 + 2 + 1 = 21 functions that compare the mesh form with the mesh form.

도 1의 일례에서 제1 오브젝트(110)의 사각형 형태(112)인 제1 충돌자와 제2 오브젝트(120)의 구 형태(122)인 제2 충돌자의 충돌검사를 수행하기 위해서는 식별번호<303>을 참조할 수 있다. 이 때, 사용되는 충돌검사 함수는 다음과 같다.In the example of FIG. 1, in order to perform a collision check between the first collider 112 having the square shape 112 of the first object 110 and the second collider having the spherical shape 122 of the second object 120, the identification number <303 See>. In this case, the collision check function used is as follows.

Collision(GoRectangleCollider * GoSphereCollider)Collision (GoRectangleCollider * GoSphereCollider)

도 2의 단계(207)에서, 충돌검사를 수행한 충돌검사 함수 클라스는 제1 오브젝트로 충돌검사 연산 결과를 반환하고, 단계(208)에서 제1 오브젝트는 상기 충돌검사 연산 결과를 게임 엔진으로 반환한다. 충돌검사 연산 결과를 수신한 게임 엔진은 상기 충돌검사 연산 결과에 따라 소정의 충돌 결과 처리를 수행한다. 상기 충돌 결과 처리는 게임의 제작자 등이 사전에 작성한 프로그램에 기초하여 동작한다.In step 207 of FIG. 2, the collision check function class that has performed the collision check returns the collision check operation result to the first object, and in step 208, the first object returns the collision check operation result to the game engine. do. The game engine receiving the collision check calculation result performs a predetermined collision result processing according to the collision check calculation result. The collision result processing operates based on a program previously created by the creator of the game or the like.

이로써, 본 발명에 따른 게임 엔진은 다양한 형태의 충돌자에 대한 충돌검사 를 수행하며, 상기 충돌검사에 따른 코딩의 수정을 최소화할 수 있다. 상기 게임 엔진은 상기 제1 오브젝트 또는 상기 제2 오브젝트의 속성 변화와 무관하게 변하지 아니하는 코딩 정보를 포함하여 충돌검사를 수행한다. 즉, 본 발명에 따른 게임 엔진은 충돌자의 변화에 동요되지 않는 범용화된 충돌검사 방법을 제공하게 된다.As a result, the game engine according to the present invention performs collision checks on various types of collisions, and can minimize coding modifications according to the collision checks. The game engine performs a collision check including coding information that does not change regardless of a property change of the first object or the second object. That is, the game engine according to the present invention provides a generalized collision checking method that is not shaken by the change of the collision.

결국 종래 기술에서 언급한 사람과 총알의 충돌에 따른 객체 지향 언어로 작성된 코딩은 다음과 같이 범용화될 수 있다.As a result, coding written in an object-oriented language due to a collision between a person and a bullet mentioned in the prior art may be generalized as follows.

먼저, 제2 오브젝트인 총알의 제2 충돌자 정보를 수집하기 위한 메소드를 생성한다.First, a method for collecting second collider information of a bullet, which is a second object, is generated.

class Bulletclass Bullet

{{

public:public:

GoCollider* GetCollider() { return &m_collider; }      GoCollider * GetCollider () {return &m_collider; }

protected:protected:

GoVisual m_BulletVisual; // 총알의 비주얼      GoVisual m_BulletVisual; // bullet visual

GoSphereCollider m_collider; // 총알의 충돌자      GoSphere Collider m_collider; // collider

};};

다음으로, 제1 오브젝트인 사람의 제1 충돌자 정보를 수집하기 위한 메소드를 생성한다.Next, a method for collecting first collider information of a person who is a first object is generated.

class Manclass Man

{{

public:public:

GoCollider* GetCollider() { return &m_collider; }      GoCollider * GetCollider () {return &m_collider; }

protected:protected:

GoVisual m_ManVisual; // 사람의 비주얼      GoVisual m_ManVisual; // human visual

GoAABBCollider m_collider; // 사람의 충돌자      GoAABBCollider m_collider; // collider

};};

다음으로, 게임 엔진에서는 총알과 사람의 충돌을 처리하기 위한 함수를 호출한다. 이 때, 총알과 사람은 각각 m_pBullet, m_pMan으로 인스턴스화 되었다고 가정한다.Next, the game engine calls a function to handle the collision between the bullet and the person. We assume that bullets and people are instantiated with m_pBullet and m_pMan, respectively.

bool CheckManHitByBullet() {bool CheckManHitByBullet () {

GoCollider* pBulletCollider = m_pBullet->GetCollider(); -(7)      GoCollider * pBulletCollider = m_pBullet-> GetCollider (); -(7)

GoCollider* pManCollider = m_pMan->GetCollider(); -(8)      GoCollider * pManCollider = m_pMan-> GetCollider (); -(8)

return pBulletCollider->Query( pManCollider ); -(9)return pBulletCollider-> Query (pManCollider); -(9)

}}

식별번호(7)에서 제2 오브젝트(총알)로부터 제2 충돌자 정보를 수집하고, 식 별번호(8)에서 제1 오브젝트(사람)로부터 제1 충돌자 정보를 수집한다. 식별번호(9)에서 게임 엔진은 제1 오브젝트(사람)로 충돌검사를 요청하는 쿼리를 전송하고, 리턴 값을 기다린다. 이는 종래 게임 엔진 상에서 수행되던 충돌검사를 각 오브젝트에 위임한 것이다. 또한, 이때 pBulletCollider의 Query 함수 내에서는 제1 오브젝트의 형태 및 제1 오브젝트의 형태를 판별하여 타입별 충돌검사 함수를 호출할 수 있다. 즉, 게임 엔진은 제1 오브젝트 및 제2 오브젝트에 대한 구체적인 충돌자 타입(GoSphereCollider나 GoAABBCollider)을 몰라도 추상적인 GoCollider를 통해서 오브젝트로 충돌검사를 위임하게 되면 객체 지향 언어의 특성상 Method Overriding기술을 이용해 구체적인 충돌검사를 수행할 수 있다.The second collider information is collected from the second object (bullet) at the identification number 7, and the first collider information is collected from the first object (person) at the identification number 8. At identification number 9 the game engine sends a query requesting collision checking to the first object (person) and waits for a return value. This delegates to each object a collision check that was previously performed on a game engine. In this case, within the Query function of pBulletCollider, the collision detection function for each type may be called by determining the shape of the first object and the shape of the first object. That is, if the game engine delegates collision checking to an object through an abstract GoCollider without knowing the specific collider type (GoSphereCollider or GoAABBCollider) for the first object and the second object, The test can be performed.

도 4는 본 발명에 따른 게임 엔진에서의 충돌검사 방법을 수행하는데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.4 is an internal block diagram of a general purpose computer system that may be employed to perform the collision detection method in the game engine according to the present invention.

도 4을 참조하면, 컴퓨터 시스템(400)은 램(RAM: Random Access Memory)(420)과 롬(ROM: Read Only Memory)(430)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(410)를 포함한다. 프로세서(410)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(430)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전달하는 역할을 하며, 램(420)은 통상적으로 데이터와 명령을 양방향성으로 전달하는 데 사용된다. 램(420) 및 롬(430)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(440)는 양방향성으로 프로세서(410)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(440)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드디스크와 같은 보조기억장치이다. CD 롬(460)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(410)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(450)와 연결된다. 마지막으로, 프로세서(410)는 네트워크 인터페이스(470)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.Referring to FIG. 4, the computer system 400 may include one or more processors 410 connected to a main memory including a random access memory (RAM) 420 and a read only memory (ROM) 430. Include. The processor 410 is also called a central processing unit (CPU). As is well known in the art, the ROM 430 serves to transfer data and instructions to the CPU unidirectionally, and the RAM 420 typically transfers data and instructions bidirectionally. Used to. RAM 420 and ROM 430 may include any suitable form of computer readable media. Mass storage 440 is bidirectionally coupled to processor 410 to provide additional data storage capabilities, and may be any of the computer readable recording media described above. The mass storage device 440 is used to store programs, data, and the like, and is a secondary memory device such as a hard disk which is generally slower than the main memory device. Certain mass storage devices such as CD ROM 460 may be used. The processor 410 may include one or more input / output interfaces, such as a video monitor, trackball, mouse, keyboard, microphone, touchscreen display, card reader, magnetic or paper tape reader, voice or handwriting reader, joystick, or other known computer input / output device. Connected with 450. Finally, the processor 410 may be connected to a wired or wireless communication network through the network interface 470. Through this network connection, the procedure of the method described above can be performed. The apparatus and tools described above are well known to those skilled in the computer hardware and software arts.

상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

본 발명에 따르면, 충돌검사를 오브젝트로 위임하고, 상기 오브젝트로부터 상기 충돌검사의 결과를 리턴함으로써 게임 엔진에서 충돌자의 형태 변화 시 수정 되는 코딩을 최소할 수 있다.According to the present invention, by delegating the collision check to the object and returning the result of the collision check from the object it is possible to minimize the coding to be modified when the shape change of the collision in the game engine.

본 발명에 따르면, 게임 엔진에서 오브젝트의 형태에 상관없이 충돌검사를 수행함으로써 범용 게임 엔진을 제공할 수 있다.According to the present invention, a general-purpose game engine can be provided by performing a collision check regardless of the shape of an object in the game engine.

Claims (7)

게임 엔진에서, 제1 오브젝트로부터 쿼리(query)를 수신하는 단계;At the game engine, receiving a query from the first object; 상기 게임 엔진에서, 상기 쿼리에 따라 상기 제1 오브젝트와 충돌하는 제2 오브젝트로부터 상기 제2 오브젝트 위치에 관한 제2 충돌자 정보를 수신하는 단계;Receiving, at the game engine, second collider information about the location of the second object from a second object colliding with the first object according to the query; 상기 게임 엔진에서, 상기 수신된 제2 충돌자 정보를 상기 제1 오브젝트로 전송하는 단계;Sending, at the game engine, the received second collider information to the first object; 상기 제1 오브젝트에서, 충돌검사 함수 클라스(class)로 상기 제2 충돌자 정보 및 자신의 위치에 관한 제1 충돌자 정보를 전송하는 단계;Transmitting, at the first object, a second collision information and a first collision information about its location in a collision checking function class; 상기 충돌검사 함수 클라스에서 (1) 상기 제1 충돌자 정보 및 상기 제2 충돌자 정보에 기초하여 상기 제1 오브젝트 및 상기 제2 오브젝트의 형태를, 사각형(rectangle) 형태, 경계상자(axis aligned bounding box) 형태, 구(sphere) 형태, 원통(cylinder) 형태, 원뿔(frustum) 형태, 레이(ray) 형태, 그물망(mesh) 형태 중에서 적어도 하나로 파악하고, (2) 상기 파악된 형태가 서로 같거나 또는 서로 다른 두 형태에 대한 충돌 비교를 통해 충돌검사결과를 생성 함에 따라, 상기 제1 오브젝트에서, 상기 충돌검사 함수 클라스로부터 상기 충돌검사결과를 수신하는 단계; 및In the collision checking function class, (1) the first object and the second object based on the first collider information and the second collider information are formed in the form of a rectangle and an axis aligned bounding. identify at least one of a box form, a sphere form, a cylinder form, a cone form, a frustum form, a ray form, and a mesh form, and (2) the identified forms are the same Or receiving the collision check result from the collision check function class at the first object, as the collision check result is generated through collision comparison with respect to two different types; And 상기 제1 오브젝트에서, 상기 충돌검사결과를 상기 게임 엔진으로 반환하는 단계를 포함하고,Returning, from the first object, the collision check result to the game engine; 상기 게임 엔진은,The game engine, 상기 제1 오브젝트로부터 수신한 상기 충돌검사결과를 이용하여, 게임 중에 상기 제1 오브젝트와 상기 제2 오브젝트의 충돌에 대한 게임 처리를 진행하는 것을 특징으로 하는 충돌검사 방법.And a game process for collision between the first object and the second object during a game by using the collision check result received from the first object. 삭제delete 삭제delete 삭제delete 제1항에 있어서,The method of claim 1, 상기 게임 엔진은 오브젝트 지향 언어(Object Oriented Program Language)로 구현된 것을 특징으로 하는 충돌검사 방법.The game engine is a collision detection method, characterized in that implemented in the Object Oriented Program Language. 제1항에 있어서,The method of claim 1, 상기 제1 충돌자 정보 또는 상기 제2 충돌자 정보는,The first collider information or the second collider information, 상기 제1 오브젝트 및 상기 제2 오브젝트의 형태에 따른 중심점, 높이, 반지름 중에서 적어도 하나의 정보를 포함하는 것을 특징으로 하는 충돌검사 방법.And at least one of a center point, a height, and a radius according to the shape of the first object and the second object. 제1항, 제5항, 및 제6항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium for recording a program for executing the method of any one of claims 1, 5 and 6 on a computer.
KR1020050061073A 2005-07-07 2005-07-07 Method for detecting collision of objects in game engine KR100847754B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050061073A KR100847754B1 (en) 2005-07-07 2005-07-07 Method for detecting collision of objects in game engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050061073A KR100847754B1 (en) 2005-07-07 2005-07-07 Method for detecting collision of objects in game engine

Publications (2)

Publication Number Publication Date
KR20070006069A KR20070006069A (en) 2007-01-11
KR100847754B1 true KR100847754B1 (en) 2008-07-22

Family

ID=37871383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050061073A KR100847754B1 (en) 2005-07-07 2005-07-07 Method for detecting collision of objects in game engine

Country Status (1)

Country Link
KR (1) KR100847754B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200108628A (en) * 2019-03-11 2020-09-21 아주큐엠에스 주식회사 Device and Method for Testing Game Using Script Based on Object

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888475B1 (en) * 2007-02-02 2009-03-12 삼성전자주식회사 Method and apparatus for detecting model collision

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040010038A (en) * 2002-07-26 2004-01-31 이남재 Server for online role playing game
US6747651B1 (en) * 1998-07-18 2004-06-08 National University Of Singapore System and method for creating bounding volume hierarchies utilizing model simplification

Patent Citations (2)

* 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
KR20040010038A (en) * 2002-07-26 2004-01-31 이남재 Server for online role playing game

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200108628A (en) * 2019-03-11 2020-09-21 아주큐엠에스 주식회사 Device and Method for Testing Game Using Script Based on Object
KR102313845B1 (en) * 2019-03-11 2021-10-18 아주큐엠에스 주식회사 Device and Method for Testing Game Using Script Based on Object

Also Published As

Publication number Publication date
KR20070006069A (en) 2007-01-11

Similar Documents

Publication Publication Date Title
EP1086385B1 (en) Location system
Hudson et al. V-COLLIDE: Accelerated collision detection for VRML
CN102592133B (en) The method and system that probability of use advances tree to assess
JP2018524664A (en) Method, terminal and storage medium for detecting a collision between a cylindrical collider and a convex body in a real-time virtual scene
CN109413023A (en) The training of machine recognition model and machine identification method, device, electronic equipment
WO2021077982A1 (en) Mark point recognition method, apparatus and device, and storage medium
CN116157841A (en) System and method for accelerating ray tracing
CN113723361A (en) Video monitoring method and device based on deep learning
KR100847754B1 (en) Method for detecting collision of objects in game engine
Zhigang et al. Efficient collision detection using bounding volume hierarchies of OBB-AABBs and its application
US20210406432A1 (en) Calculation method, medium and system for real-time physical engine enhancement based on neural network
CN112528428B (en) Method and device for displaying physical parameters of engineering structure and computer equipment
Burelli et al. Virtual camera composition with particle swarm optimization
JPWO2019229979A1 (en) Information processing equipment, control methods, and programs
CN111274602A (en) Image characteristic information replacement method, device, equipment and medium
Hutchinson et al. Applying uncertainty reasoning to model based object recognition
US20090326888A1 (en) Vectorized parallel collision detection pipeline
Wan et al. Improved Vision-Based Method for Detection of Unauthorized Intrusion by Construction Sites Workers
Kamat et al. Interactive collision detection in three-dimensional visualizations of simulated construction operations
Chiatti et al. A spatial reasoning framework for commonsense reasoning in visually intelligent agents
Rivera-Alvarado et al. Bounding volume hierarchy acceleration through tightly coupled heterogeneous computing
KR102656142B1 (en) Device for managing field monitoring video and method of operating the device
JP2014063406A (en) Verification support program, verification support method and verification support device
US20230259665A1 (en) Occupancy mapping based on geometric entities with hierarchical relationships
US11532171B1 (en) Representation learning using machine learning classification tasks based on point clouds of interacting 3D surfaces

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20071022

Effective date: 20080626

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160628

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180626

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 12