KR100916221B1 - Method for determining a enhanced moving path on the 3d map - Google Patents
Method for determining a enhanced moving path on the 3d map Download PDFInfo
- Publication number
- KR100916221B1 KR100916221B1 KR1020060029918A KR20060029918A KR100916221B1 KR 100916221 B1 KR100916221 B1 KR 100916221B1 KR 1020060029918 A KR1020060029918 A KR 1020060029918A KR 20060029918 A KR20060029918 A KR 20060029918A KR 100916221 B1 KR100916221 B1 KR 100916221B1
- Authority
- KR
- South Korea
- Prior art keywords
- path
- algorithm
- finding algorithm
- point
- optimal
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3635—Guidance using 3D or perspective road maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법에 관한 것으로, 특히 캐릭터를 이동시키기 위하여 이동할 시작점 및 끝점을 지정하는 단계; 상기 지정된 시작점 및 끝점을 기준으로 소정의 길 찾기 알고리즘에 의해 최적의 경로를 산출하여 표시하는 단계; 상기 경로의 변경을 원할 경우, 상기 최적의 알고리즘에 의해 표시된 이동 경로로부터 수정을 원하는 경로의 포인트를 선택하는 단계; 상기 선택된 경로를 다른 경로로 변경하고자 하는 수정 위치를 선택하는 단계; 및 상기 수정 위치에 따라 생성된 새로운 노드를 기준으로 소정의 길 찾기 알고리즘에 의해 최적의 경로를 재설정하는 단계;를 포함하는 것을 특징으로 한다.The present invention relates to an improved method for setting a character movement path in a three-dimensional map, and in particular, specifying a start point and an end point to move to move a character; Calculating and displaying an optimal path by a predetermined path finding algorithm based on the designated start point and end point; Selecting a point of the path to be modified from the moving path indicated by the optimal algorithm, if desired to change the path; Selecting a modification position to change the selected path to another path; And resetting an optimum path by a predetermined path finding algorithm based on the new node generated according to the corrected position.
3차원, 맵, 캐릭터, 이동 경로, 길 찾기, 알고리즘, 노드, 변경 3d, map, character, breadcrumb, pathfinding, algorithm, node, change
Description
도 1은 일반적인 3차원 영상 제작 절차를 나타낸 흐름도.1 is a flow chart showing a general three-dimensional image production procedure.
도 2는 종래의 A 스타 알고리즘에서 장애물이 없는 경우의 이동 경로를 나타낸 도면.2 is a view showing a movement path when there is no obstacle in the conventional A-star algorithm.
도 3은 종래의 A 스타 알고리즘에서 장애물이 있는 경우의 이동 경로를 나타낸 도면.3 is a diagram showing a movement path when there is an obstacle in the conventional A-star algorithm.
도 4는 본 발명에 따른 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 절차를 나타낸 흐름도.4 is a flowchart illustrating an improved character movement path setting procedure in a 3D map according to the present invention.
도 5는 본 발명의 실시 예에 따른 3차원 맵에서 캐릭터의 이동 경로 생성을 나타낸 도면.5 is a view showing the movement path generation of the character in the three-dimensional map according to an embodiment of the present invention.
도 6은 본 발명의 실시 예에 따른 길 찾기 알고리즘이 적용된 경로를 나타낸 도면.6 is a diagram illustrating a route to which a path finding algorithm according to an embodiment of the present invention is applied.
도 7 내지 도 9는 본 발명의 실시 예에 따른 설정된 이동 경로를 재지정하는 방법을 나타낸 도면.7 to 9 are diagrams illustrating a method for reassigning a set movement path according to an embodiment of the present invention.
본 발명은 3차원 영상 제작 방법에 관한 것으로, 보다 상세하게는 3차원 영상 제작에 있어서 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법에 관한 것이다.The present invention relates to a three-dimensional image production method, and more particularly to a method for setting an improved character movement path in a three-dimensional map in the three-dimensional image production.
과거 컴퓨터 등에 의해 제작되는 영상들은 기술적인 어려움으로 인해 2차원 영상이 대부분이었으나, 최근 들어 소프트웨어의 발전과 컴퓨터 처리 속도의 향상 등으로 인해 보다 현실감 있게 표현 가능한 3차원 영상이 많이 제작되고 있다. 또한, 최근에는 영화 등의 제작에 3차원 컴퓨터 그래픽(Computer Graghic; CG) 등이 많이 사용되고 있으나, 제작 기술이 정교해질수록 그 비용은 천문학적인 금액이 된다. 아울러, 근래에는 게임 등에도 3차원 애니메이션 기법들이 적용되어 보다 사실적인 게임 상황을 제공하게 된다.In the past, images produced by computers were mostly 2D images due to technical difficulties, but recently, 3D images that can be expressed more realistically have been produced due to development of software and improvement of computer processing speed. In addition, in recent years, 3D computer graphics (CG) and the like are widely used in the production of movies, etc., but the more sophisticated the production technology, the more the astronomical cost. In addition, recently, 3D animation techniques are applied to games, etc., to provide a more realistic game situation.
통상적으로 3차원 영상(즉, 3차원 애니메이션)을 제작하기 위해서는 컴퓨터상에서 실행되는 각종 3D 영상 제작용 소프트웨어(예컨대, 3D MAX 등)를 이용하게 된다. 그러나 일반적인 3차원 영상 제작 소프트웨어들은 그 기능이 복잡하고 사용법이 까다로워 전문적인 학습 과정이 없이는 일반인들이 사용하기에는 상당한 어려움이 있으며, 간단한 영상의 제작에도 상당히 많은 시간이 소요된다.In general, in order to produce a 3D image (ie, 3D animation), various 3D image production software (eg, 3D MAX, etc.) executed on a computer is used. However, the general 3D image production software is complicated and difficult to use, so it is difficult for the general public to use it without a professional learning process, and it takes a considerable time to produce a simple image.
한편, 3차원 영상을 제작하기 위한 기술로는 여러 가지 기술들이 있다. 예컨대, 스토리 보드의 작성, 물체의 표현, 키 프레임의 설정 및 인비틴(In-between) 프레임의 생성 과정을 거치는 키프레임 애니메이션 방법이 있으며, 3차원 모델의 각 부분들을 하나의 모델로 연결하는 역운동학(Inverse Kinematics) 방법이 있다. 상기 역운동학 방법은 인간이나 로봇과 같이 계층적으로 구성된 구조체를 표현하기에 적절한 방법이다. 또한, 인간의 움직임을 만들어내는 가장 자연스러운 방법으로 3차원 컴퓨터 애니메이션의 생성을 위해 가장 많이 사용되는 기술인 모션 캡처 (Motion Capture) 방법이 있다. 아울러, 특정 물체에 대한 알고리즘을 만들어 움직임을 생성하는 절차적 방식에 의한 애니메이션(Procedural Animation) 방법 등이 있다.On the other hand, there are a number of techniques for producing a three-dimensional image. For example, there is a keyframe animation method that creates a storyboard, expresses an object, sets a key frame, and generates an in-between frame. There is an Inverse Kinematics method. The inverse kinematics method is suitable for representing hierarchically structured structures such as humans and robots. In addition, the most natural way to generate human motion is the Motion Capture method, which is the most used technique for generating three-dimensional computer animation. In addition, there is a procedural animation method by creating an algorithm for a specific object and generating a motion.
이하, 3차원 영상 제작 과정을 도 1을 참조하여 간략히 설명한다. 상기 도 1을 참조하면, 먼저 영상에 대한 배경 제작을 위해 세트를 선택하여 배치(S101)하고, 각종 소품들을 배치(S102)하게 된다. 그런 다음, 상기 세트 상에 하나 이상의 캐릭터를 적절히 배치(S103)한 후, 상기 배치된 캐릭터에 대한 동작을 시간 순서에 따라 지정(S104)하게 되며, 이때 각 캐릭터에 말 풍선 기능을 추가함으로써 캐릭터의 대사를 표현할 수도 있다. 그런 다음, 카메라 등을 적절히 위치시킨 후 촬영(S105)을 수행하게 된다. 마지막으로, 상기 촬영된 영상에 각종 효과음(effect sound), 배경음(BGM; BackGround Music), 자막 등을 삽입하는 등의 영상 편집(S106) 과정을 거침으로써 최종적으로 3차원 영상물이 생성된다.Hereinafter, a 3D image production process will be briefly described with reference to FIG. 1. Referring to FIG. 1, first, a set is selected and arranged (S101), and various props are arranged (S102) to produce a background for an image. Then, after appropriately placing one or more characters on the set (S103), the action for the arranged character is specified in time order (S104), and at this time, by adding a speech balloon function to each character of the character You can also express metabolism. Then, after properly positioning the camera or the like to perform the shooting (S105). Finally, a three-dimensional image is finally generated by performing an image editing process (S106) such as inserting various effect sounds, background music (BGM), subtitles, and the like into the photographed image.
상술한 바와 같이 종래의 3차원 영상 제작은 숙련된 전문가가 상당히 복잡한 기능을 가지는 전용 소프트웨어를 이용하여 고난도의 작업을 통해 수행된다. 따라서, 전용 소프트웨어에 대한 전문적인 교육을 받지 않은 일반인들은 3차원 영상물을 제작하기 힘들뿐만 아니라, 전문가라 할지라도 상당한 제작 시간이 소요된다. 따라서, 일반인들이 용이하게 3차원 영상을 제작할 수 있는 소프트웨어의 필요성이 대두된다.As described above, the conventional three-dimensional image production is performed by a skilled person through highly difficult work using dedicated software having a fairly complicated function. Therefore, the general public who does not have professional education about the dedicated software is not only hard to produce 3D images, but also requires a considerable amount of production time even for professionals. Thus, there is a need for software that can easily produce 3D images for the general public.
한편, 3차원 영상 제작에 있어 캐릭터 이동의 구현은 매우 중요하다. 즉, 3차원 영상 제작에서 사용자가 구상한 시나리오에 의해 캐릭터를 이동시키면서 스토리를 전개하는 것이 필수적이다. 따라서, 이러한 캐릭터의 이동을 구현하기 위해서는 각 시간 프레임에 따라 캐릭터가 이동해주는 경로에 대한 각 포인트를 설정하여 이동을 나타내줄 수가 있다.On the other hand, the implementation of character movement is very important in the production of 3D image. In other words, it is essential to develop a story while moving a character according to a scenario envisioned by a user in 3D image production. Therefore, in order to implement the movement of the character, it is possible to indicate the movement by setting each point of the path that the character moves according to each time frame.
그러나 상기와 같은 캐릭터 이동 방법은 상당한 시간이 소요되며 작업의 효율도 상당히 떨어지게 된다. 이에 따라, 캐릭터가 이동하는 모든 경로를 지정하지 않고, 캐릭터 이동에 대한 시작점 및 끝점을 지정하며, 상기 지정된 시작점 및 끝점을 기반으로 한 소정의 길 찾기 알고리즘을 적용함으로써 효율적인 캐릭터 이동을 구현할 수 있다.However, such a character movement method takes a considerable time and the efficiency of the work is also significantly reduced. Accordingly, it is possible to implement efficient character movement by specifying a start point and an end point for character movement without applying all paths to which the character moves, and applying a predetermined path finding algorithm based on the designated start and end points.
길 찾기는 사용자에 의해서 직접적으로 조종되지 않는 적 캐릭터나 인공지능 유닛들이 스스로 장애물을 피해서 특정한 목적지를 찾아가도록 하는 알고리즘을 말한다. 예컨대, 스타 크래프트와 같은 게임 프로그램에서 아군 유닛이 막힌 지형을 피해서 길을 찾아가는 것도 길 찾기에 해당한다.Pathfinding is an algorithm that allows an enemy character or AI unit that is not directly controlled by the user to navigate to a specific destination by avoiding obstacles. For example, in a game program such as StarCraft, it is also possible to find a way for friendly units to avoid the blocked terrain.
현재, 상기 3차원 영상 제작에 적용될 수 있는 길 찾기 알고리즘은 다양한 방법들로 구현되고 있으며, 최근에는 'A 스타(A*) 알고리즘'이라는 길 찾기 알고리즘이 효율적인 길 찾기 알고리즘으로서 많은 동영상 또는 게임 등에 적용되고 있 다.Currently, the path finding algorithm that can be applied to the 3D image production is implemented by various methods, and recently, the path finding algorithm called 'A star (A * ) algorithm' is applied to many videos or games as an efficient path finding algorithm. It is becoming.
이하, 도 2 및 도 3을 참조하여 종래의 A 스타 알고리즘에 의한 길 찾기 방법에 대해 설명한다.Hereinafter, a path finding method using a conventional A-star algorithm will be described with reference to FIGS. 2 and 3.
도 2는 종래의 A 스타 알고리즘에서 장애물이 없는 경우의 이동 경로를 나타낸 도면이고, 도 3은 종래의 A 스타 알고리즘에서 장애물이 있는 경우의 이동 경로를 나타낸 도면이다.2 is a view showing a movement path when there is no obstacle in the conventional A star algorithm, Figure 3 is a view showing a movement path when there is an obstacle in the conventional A star algorithm.
A 스타 알고리즘은 맵상의 두 목표점을 찾아가는 길 찾기 알고리즘 중 하나로서, 두 목표점을 잇는 여러 개의 경로 중에서 최단 경로를 찾아주는 것이 상기 A 스타 알고리즘의 가장 큰 특징이다. 상기 A 스타 알고리즘은 두 개의 목록을 사용하는 것이 특징인데, 하나는 열린 목록(open list)으로, 아직 탐색이 되지 않은 노드들에 대한 목록이며, 다른 하나는 닫힌 목록(closed list)으로 이미 탐색이 이루어진 노드들에 대한 목록이다.The A star algorithm is one of the path finding algorithms for finding two target points on a map, and the biggest feature of the A star algorithm is to find the shortest path among several paths connecting the two target points. The A star algorithm is characterized by using two lists, one is an open list, a list of nodes that have not been searched yet, and the other is a closed list. List of configured nodes.
이때, 탐색이 이루어졌다는 것은 f, g, h라는 3개의 값에 대한 평가가 이루어졌다는 뜻이다. f, g, h란 각각 적합도(fitness), 목표(goal), 휴리스틱(heuristic) 값을 의미한다. 다시 말해서, 상기 A 스타 알고리즘이란, 시작(start) 지점에서 노드 탐색을 시작해서 이웃 노드들의 f, g, h값(g를 CostFromStart( ), h를 CostToGoal( ), f를 TotalCost( )라고도 한다. 특히 f = g+h로 이루어져 있다)을 구해서 그들 중 가장 적합한 노드를 다음 노드로 선정해서 닫힌 목록에 넣고, 나머지를 열린 목록에 넣어둔다.In this case, the search was performed, meaning that three values of f, g, and h were evaluated. f, g, and h mean fitness, goal, and heuristic values, respectively. In other words, the A-star algorithm starts searching for a node at a start point, and f, g, and h values of neighbor nodes (g is CostFromStart (), h is CostToGoal (), and f is TotalCost (). In particular, f = g + h), select the most suitable node as the next node, put it in the closed list, and put the rest in the open list.
그런 다음, 다음 노드에서 다시 주변 노드를 검색해서 다시 f, g, h값을 구 한다. 이 과정을 최종 목표 노드에 도달할 때까지 반복한다. 이때 만약 주변 노드를 검색했는데, 더 이상 갈 수 없는 상태라면 열린 목록에 있는 탐색하지 않은 노드로 다시 탐색을 시작한다. 만약 주변 노드도 존재하지 않고, 열린 목록도 비어있다면, 길이 없는 것이다. 이와 같은 방법에 의해 두 지점간의 최단 경로를 탐색하게 된다.Then, the next node is searched again for neighboring nodes to get f, g, and h again. This process is repeated until the final target node is reached. If you searched for neighboring nodes and can't go anymore, it starts searching again for unsearched nodes in the open list. If no neighbors exist and the open list is empty, there is no way. In this way, the shortest path between two points is searched.
상기 A 스타 알고리즘은 다음과 같은 프로그램 알고리즘으로 구현될 수 있다.The A-star algorithm may be implemented by the following program algorithm.
시작start
open에 시작 노드 pushpush start node to open
if(open이 비어 있는가) then 길 찾기 실패if (open is empty) then get directions failed
elseelse
{{
open에서 노드를 pop pop node in open
if(현재 노드가 Goal 인가) then if (current node is Goal) then
{노드의 내용을 거꾸로 출력한다. 종료한다} {Print the contents of the node backwards Ends}
현재 노드의 주변 노드 탐색하여 새로운 노드 생성(갈 수 없는 곳 제외) Explore neighbors of the current node and create new ones (except where you can't go)
새로운 노드의 F=G(x)+H(x)를 계산 Calculate F = G (x) + H (x) of new node
if(새로운 노드가 open이나 closed에 있는가) && (새로운 노드의 F값이 현재 노드의 F값 보다 큰가) then continue if (the new node is open or closed) && (the F value of the new node is greater than the F value of the current node) then continue
else else
{ {
새로운 노드가 open에 있으면 갱신 Update if a new node is open
closed에 있으면 closed에서 빼서 open에 넣고 갱신 If it's closed, it's subtracted from closed, put into open and updated
어느 쪽에도 없으면 open에 넣는다 If neither is present, put it in open.
} }
Node를 closed로 push Push Node to closed
}}
한편, 상술한 종래의 A 스타 길 찾기 알고리즘은 사용자가 지정한 시작 지점과 끝지점의 경로를 검색하여 최단 거리를 계산해주는 길 찾기 알고리즘으로 맵(Map) 상의 시작 지점의 8방향을 검색하여 시작 지점과 끝 지점을 잇는 최단 거리를 연산하여 경로를 찾아준다. 그런데 이러한 A 스타 길 찾기 알고리즘과 같은 종래의 길 찾기 알고리즘들은 시작 지점과 끝 지점의 최단 거리를 연산하기 때문에 사용자가 의도하지 않은 길 찾기 경로가 생성될 수 있다.Meanwhile, the above-described conventional A-star path finding algorithm is a path finding algorithm that calculates the shortest distance by searching the paths of the start point and the end point designated by the user, and searches the starting point and the eight points of the starting point on the map. Find the path by calculating the shortest distance between the end points. However, since the conventional path finding algorithms such as the A-star path finding algorithm calculate the shortest distance between the start point and the end point, a path finding path not intended by the user may be generated.
즉, 3차원 영상 제작에 있어서 사용자가 캐릭터를 이동시키고자 할 때, 최적의 길 찾기 알고리즘에서 탐색한 경로와는 다른 경로로 이동시키고자 할 경우도 많다. 따라서, 종래의 길 찾기 알고리즘을 이용하여 캐릭터의 이동을 편리하게 구현함과 동시에 사용자가 의도한 경로로 캐릭터가 이동할 수 있도록 용이하게 반영할 수 있는 방법이 절실히 요구된다.That is, when a user wants to move a character in 3D image production, there are many cases in which the user wants to move a path different from the path searched by the optimal path finding algorithm. Therefore, there is an urgent need for a method that can conveniently implement a character's movement using a conventional pathfinding algorithm and at the same time can be easily reflected to allow the character to move in a path intended by the user.
본 발명의 목적은 3차원 맵에서 캐릭터 이동 구현 시, 최적의 길 찾기 알고리즘을 적용함과 동시에 사용자가 원하지 않는 길 찾기 경로가 생성될 경우 사용자가 원하는 이동 경로를 편집할 수 있도록 하는 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법을 제공함에 있다.An object of the present invention is to implement a character movement in a three-dimensional map, while applying the optimal path finding algorithm at the same time when the user does not want to create a path in the three-dimensional map that allows the user to edit the desired movement path An improved character movement path setting method is provided.
또한, 본 발명의 목적은 3차원 맵에서 캐릭터 이동 구현 시, 길 찾기 알고리즘에서 사용자가 원하지 않는 길 찾기 경로가 생성될 경우 사용자가 원하는 이동 경로를 적용하여 최적의 경로를 생성하는 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법을 제공함에 있다.In addition, an object of the present invention is to implement a character movement in the three-dimensional map, when the path finding algorithm is generated in the path finding algorithm is generated in the three-dimensional map to create the optimal path by applying the user's desired movement path An improved character movement path setting method is provided.
상기한 목적을 달성하기 위한 본 발명의 방법은, 캐릭터를 이동시키기 위하여 이동할 시작점 및 끝점을 지정하는 단계; 상기 지정된 시작점 및 끝점을 기준으로 소정의 길 찾기 알고리즘에 의해 최적의 경로를 산출하여 표시하는 단계; 상기 경로의 변경을 원할 경우, 상기 최적의 알고리즘에 의해 표시된 이동 경로로부터 수정을 원하는 경로의 포인트를 선택하는 단계; 상기 선택된 경로를 다른 경로로 변경하고자 하는 수정 위치를 선택하는 단계; 및 상기 수정 위치에 따라 생성된 새로운 노드를 기준으로 소정의 길 찾기 알고리즘에 의해 최적의 경로를 재설정하는 단계;를 포함하는 것을 특징으로 한다.The method of the present invention for achieving the above object comprises the steps of specifying a starting point and end point to move to move the character; Calculating and displaying an optimal path by a predetermined path finding algorithm based on the designated start point and end point; Selecting a point of the path to be modified from the moving path indicated by the optimal algorithm, if desired to change the path; Selecting a modification position to change the selected path to another path; And resetting an optimum path by a predetermined path finding algorithm based on the new node generated according to the corrected position.
상기 최단 경로를 재설정하는 단계는, 최초의 시작점과 새로 지정된 수정 위치 사이에 길 찾기 알고리즘에 의한 최적의 이동 경로가 산출되는 단계; 및 상기 새로 지정된 수정 위치와 최초의 끝점 사이에 길 찾기 알고리즘에 의한 최적의 이동 경로가 산출되는 단계;를 포함하는 것을 특징으로 한다.The resetting of the shortest path may include: calculating an optimal moving path by a path finding algorithm between an initial starting point and a newly designated modified position; And calculating an optimum moving path by a path finding algorithm between the newly designated corrected position and the first end point.
상기 길 찾기 알고리즘은, A 스타 알고리즘인 것을 특징으로 한다.The path finding algorithm is characterized in that the A-star algorithm.
상기 재설정시 적용되는 길 찾기 알고리즘은 상기 최초 경로 설정시 적용되는 길 찾기 알고리즘과 동일한 알고리즘 또는 다른 알고리즘을 사용하는 것을 특징으로 한다.The path finding algorithm applied at the resetting may use the same algorithm or a different algorithm as the path finding algorithm applied at the initial path setting.
상기 수정 위치의 선택은, 상기 수정을 원하는 경로의 포인트로부터 마우스를 클릭한 후 드래그하여 선택하는 것을 특징으로 한다.The selection of the correction position is characterized in that the selection is made by clicking and dragging the mouse from a point of the path to be corrected.
한편, 상기 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법에 대한 정보는 서버 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, the information on the improved character movement path setting method in the 3D map may be stored in a recording medium readable by a server computer. Such recording media includes all kinds of recording media on which programs and data are stored so that they can be read by a computer system. Examples include Read Only Memory (ROM), Random Access Memory (RAM), Compact Disk (CD), Digital Video Disk (DVD) -ROM, Magnetic Tape, Floppy Disk, Optical Data Storage, etc. It also includes implementations in the form of (eg, transmission over the Internet). In addition, these recording media can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
본 발명은, 일반적으로 최단 거리를 찾아서 캐릭터의 이동 경로를 설정해주는 길 찾기 알고리즘에 각 상황별 새로운 옵션 등을 추가함으로써 실제와 가까운 3D 영상의 연출을 구현하게 해 주는 방법을 제안한다.The present invention generally proposes a method of realizing 3D imagery that is close to reality by adding a new option for each situation to a path finding algorithm that finds the shortest distance and sets a character's movement path.
즉, 종래의 길 찾기 알고리즘은 시작 지점과 끝 지점의 최단 거리를 연산하기 때문에 사용자가 의도하지 않은 길 찾기 경로가 생성될 수 있다. 따라서, 이러한 단점을 보완하고자, 후술할 본 발명에서 제안하는 새로운 길 찾기 알고리즘은 기존의 길 찾기 알고리즘의 장점을 그대로 계승하면서, 사용자가 원하지 않은 길 찾기 경로가 생성되었을 경우 사용자가 원하는 이동 경로를 재편집할 수 있도록 하는 방법을 제안한다. 한편, 이때 상기 사용자가 원하는 이동 경로가 반영된 후, 다시 상기 이동 경로를 포함한 최단 거리가 재산출된다.That is, since the conventional path finding algorithm calculates the shortest distance between the start point and the end point, a path finding path not intended by the user may be generated. Therefore, in order to compensate for this disadvantage, the new path finding algorithm proposed by the present invention to be described later inherits the advantages of the existing path finding algorithm as it is, and when the path path that the user does not want is generated, the user may re-move the desired path. Suggest ways to make it editable. In this case, after the movement path desired by the user is reflected, the shortest distance including the movement path is recalculated.
이하 본 발명의 바람직한 실시 예에 따른 상세한 설명을 첨부된 도면들을 참조하여 설명한다. 하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.DETAILED DESCRIPTION Hereinafter, a detailed description of a preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the following description, detailed descriptions of well-known functions or configurations will be omitted when it is determined that the detailed descriptions of the known functions or configurations may unnecessarily obscure the subject matter of the present invention.
먼저, 도 4를 참조하여, 본 발명에 따른 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법에 대한 개념을 설명하기로 한다.First, referring to FIG. 4, a concept of an improved character movement path setting method in a 3D map according to the present invention will be described.
도 4는 본 발명에 따른 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 절차를 나타낸 흐름도이다. 상기 도 4를 참조하면, 먼저 캐릭터를 이동시키기 위하여 이동할 시작점 및 끝점을 지정(S401)하게 된다. 그런 다음, 상기 시작점 및 끝점을 기준으로 최적의 길 찾기 알고리즘(예컨대, A 스타 알고리즘)에 의해 최단 거리 (즉, 최단 경로)를 산출(S402)하게 된다.4 is a flowchart illustrating an improved character movement path setting procedure in a 3D map according to the present invention. Referring to FIG. 4, first, a start point and an end point to be moved are designated to move a character (S401). Then, the shortest distance (ie, the shortest path) is calculated (S402) by an optimal path finding algorithm (eg, an A-star algorithm) based on the start point and the end point.
한편, 상기 최적의 길 찾기 알고리즘에 의해 산출된 경로가 사용자가 의도하는 경로와 다를 경우, 본 발명에 따라 변경 경로를 삽입(S403)하게 된다. 이때, 본 발명에 따른 길 찾기 알고리즘에서는 기설정된 최적의 알고리즘에 의한 이동 경로를 사용자에게 표시해주는 것이 바람직하다.On the other hand, if the path calculated by the optimal path finding algorithm is different from the path intended by the user, the modified path is inserted (S403) according to the present invention. At this time, in the path finding algorithm according to the present invention, it is preferable to display the movement path by the predetermined optimal algorithm to the user.
따라서, 상기 사용자가 이동 경로의 변경을 원할 경우, 상기 최적의 알고리즘에 의해 표시된 이동 경로로부터 수정을 원하는 경로의 포인트를 선택(S404)하게 된다. 그런 다음, 상기 선택된 경로를 다른 경로로 변경하고자 하는 수정 위치를 선택(S405)하게 된다. 마지막으로 본 발명에 따라 상기 수정 위치에 따라 생성된 새로운 노드를 기준으로 최단 경로를 재설정(S406)하게 된다.Therefore, when the user wants to change the moving path, the user selects a point of the path to be modified from the moving path displayed by the optimal algorithm (S404). Then, the modified position to change the selected path to another path is selected (S405). Finally, according to the present invention, the shortest path is reset based on the new node generated according to the modified position (S406).
예컨대, A 지점에서 B 지점으로 캐릭터를 이동하고자 할 경우, 먼저 최적의 길 찾기 알고리즘에 의해 상기 A 지점과 B 지점간의 최단 경로가 설정된다. 이때, 상기 설정된 경로가 사용자가 원하는 경로가 아닐 경우, 상기 설정된 경로에서 사용자가 원하는 경로를 벗어난 지점을 선택하고, 해당 경로가 변경되어야 할 상기 경로 밖의 새로운 지점 C를 선택하게 된다.For example, when a character is to be moved from point A to point B, the shortest path between the points A and B is first set by an optimal path finding algorithm. At this time, if the set path is not the path desired by the user, a point outside the desired path is selected from the set path, and a new point C outside the path to be changed is selected.
따라서, 사용자가 원하는 경로는 A->C->B의 경로가 되며, 본 발명에 따라 A 지점과 C 지점간의 최단 경로가 최적의 길 찾기 알고리즘에 의해 산출되며, C 지점과 B 지점간의 최단 경로가 최적의 길 찾기 알고리즘에 의해 산출된다. 이때, 상기 변경시 적용되는 길 찾기 알고리즘은 최초 적용되는 길 찾기 알고리즘과 동일할 수도 있고 다를 수도 있다.Therefore, the path desired by the user becomes A-> C-> B, and according to the present invention, the shortest path between A and C points is calculated by an optimal path finding algorithm, and the shortest path between C and B points is calculated according to the present invention. Is computed by an optimal path finding algorithm. In this case, the path finding algorithm applied at the time of the change may be the same as or different from the path finding algorithm first applied.
이렇게 함으로써, 사용자가 원하는 경로를 선택하면서 동시에 최적의 길 찾기 알고리즘을 적용할 수가 있게 된다. 또한, 종래에는 사용자가 원하는 경로를 설정하고자 할 경우, 각 이동 경로에 대한 포인트를 직접 지정해 주어야 했으나, 본 발명에서는 사용자가 원하는 경로를 포함하는 특정 포인트만을 지정해주고, 해당 포인트를 포함하는 최적의 경로를 산출함으로써 보다 용이하게 캐릭터 이동을 구현할 수가 있게 된다.In this way, the user can select the desired path and at the same time apply the optimal path finding algorithm. In addition, in the related art, when a user wants to set a desired path, the user should directly designate a point for each moving path. However, in the present invention, only a specific point including a desired path is designated by the user, and an optimal path including the corresponding point is provided. By calculating, it is possible to more easily implement character movement.
이하, 도 내지 도 9를 참조하여, 상술한 바와 같이 3차원 맵에서 향상된 캐릭터 이동 경로가 설정되는 방법을 설명한다.Hereinafter, a method of setting an improved character movement path in the 3D map as described above will be described with reference to FIGS. 9 to 9.
도 5는 본 발명의 실시 예에 따른 3차원 맵에서 캐릭터의 이동 경로 생성을 나타낸 도면이다. 상기 도 5를 참조하면, 3차원 맵에서 캐릭터에 이동 동작을 삽입하게 되면 이동 경로 표시선이 화면에 표시된다. 이때, 시작 지점은 캐릭터가 현재 위치한 지점이며, 끝 지점은 사용자가 이동 경로 표시선을 이용하여 임의대로 지정할 수 있다. 따라서, 끝 지점이 지정되면 최적의 길 찾기 알고리즘에 의해 캐릭터 이동 경로가 산출되어 생성된다.5 is a diagram illustrating a movement path generation of a character in a 3D map according to an exemplary embodiment of the present invention. Referring to FIG. 5, when the movement operation is inserted into the character in the 3D map, the movement path display line is displayed on the screen. At this time, the start point is the point where the character is currently located, and the end point may be arbitrarily designated by the user using the movement path display line. Therefore, when the end point is designated, the character movement path is calculated and generated by the optimal path finding algorithm.
도 6은 본 발명의 실시 예에 따른 길 찾기 알고리즘이 적용된 경로를 나타낸 도면이다. 상기 도 6을 참조하면, 상기 도 5에서와 같이 캐릭터를 이동시키고자 하는 끝 지점을 지정하게 되면, 시작 지점과 끝 지점 사이의 최단 거리를 검색하여 이동 경로를 표시해준다. 이때, 상기 최단 거리를 검색하는 방법으로는 상술한 바와 같이 A 스타 알고리즘 적용할 수도 있으며, 다른 길 찾기 알고리즘을 적용할 수도 있다. 한편, 상기 도 6에서는 이동 경로 생성 시 장애물이 이동 경로 상에 놓여 있으므로, 최적의 길 찾기 알고리즘에 의해 장애물을 피한 최단 거리 이동 경로를 생성하게 된다.6 is a diagram illustrating a route to which a path finding algorithm is applied according to an embodiment of the present invention. Referring to FIG. 6, when an end point to which the character is to be moved is designated as shown in FIG. 5, the shortest distance between the start point and the end point is searched for to display a movement path. In this case, as a method of searching for the shortest distance, the A-star algorithm may be applied as described above, or another path finding algorithm may be applied. Meanwhile, in FIG. 6, since the obstacle lies on the moving path when the moving path is generated, the shortest distance moving path is avoided by the optimal path finding algorithm.
상기 도 5 및 도 6에서와 같이 일단 두 지점간의 최적의 경로가 설정되었으나, 사용자가 원하는 경로가 아닐 경우에는 상술한 바와 같이 본 발명에 따라 경로의 수정 작업을 수행할 수 있다.As shown in FIG. 5 and FIG. 6, once the optimal path between the two points is set, if the path is not desired by the user, the path correction operation may be performed according to the present invention as described above.
도 7 내지 도 9는 본 발명의 실시 예에 따른 설정된 이동 경로를 재지정하는 방법을 나타낸 도면이다.7 to 9 are diagrams illustrating a method for reassigning a set movement path according to an embodiment of the present invention.
상기 도 6에 의해 현재 표시된 이동 경로가 사용자가 의도한 이동 경로가 아닐 경우 해당 이동 경로를 편집 수정하게 된다. 즉, 종래의 최적의 길 찾기 알고리즘(예컨대, A 스타 알고리즘)의 특성상 시작 지점과 끝 지점을 최단 거리를 계산하여 길 찾기를 해줌으로써, 사용자가 원하지 않는 이동 경로가 생성될 수 있으므로, 이와 같이 원하지 않은 이동 경로가 생성됐을 경우 본 발명에 따라 제공되는 새로운 형식의 길 찾기 알고리즘을 통하여 사용자가 원하는 이동 경로를 재지정할 수가 있게 된다.If the movement path currently displayed by FIG. 6 is not the movement path intended by the user, the movement path is edited and modified. In other words, by calculating the shortest distance from the start point and the end point due to the characteristics of the conventional optimal path finding algorithm (for example, the A-star algorithm), the user may create a moving path that is not desired by the user. If a moving route is generated, the user may be able to reassign the desired movement route through a new way finding algorithm provided in accordance with the present invention.
상기 이동 경로의 재지정을 위해서는, 우선 도 7에서와 같이 수정하고 싶은 이동 경로를 지정(예컨대, 마우스 왼쪽 더블 클릭)한다. 이와 같이 수정하고자 하는 지점이 선택되면, 도 8에서와 같이 기존의 이동 경로를 수정할 수 있는 경로 수정 표시 선이 마우스에 표시된다. 이때, 새로운 이동 경로를 설정(예컨대, 마우스 왼쪽 더블 클릭)하면 마우스가 지정한 포인트를 중심으로 새로운 이동 경로가 설정된다. 즉, 최초의 시작점 -> 새로 지정된 포인트 -> 최초의 끝점을 경유하는 최단 경로가 새롭게 설정된다.In order to reassign the movement path, first, the movement path to be corrected is designated as shown in FIG. When the point to be corrected is selected as described above, a path correction display line for modifying an existing moving path is displayed on the mouse as shown in FIG. 8. At this time, if a new moving path is set (for example, double-clicking with the left of the mouse), a new moving path is set around the point designated by the mouse. That is, the shortest path via the first starting point-> newly designated point-> the first end point is newly set.
즉, 최초의 시작점과 새로 지정된 포인트 사이에 길 찾기 알고리즘에 의한 최적의 이동 경로가 산출되어 생성되며, 상기 새로 지정된 포인트와 최초의 끝점 사이에 길 찾기 알고리즘에 의한 최적의 이동 경로가 산출되어 생성된다.That is, an optimal moving path is calculated and generated between the first starting point and a newly designated point by the path finding algorithm, and an optimal moving path is calculated and generated between the newly designated point and the first ending point. .
이렇게 함으로써, 종래의 최적의 길 찾기 알고리즘을 적용하면서도, 사용자가 원하는 이동 경로를 효과적으로 반영할 수 있다. 이에 따라, 사용자가 편집이 용이한 3차원 영상의 제작이 가능해지게 된다.By doing so, it is possible to effectively reflect the movement path desired by the user while applying the conventional optimal path finding algorithm. Accordingly, the 3D video can be easily produced by the user.
한편, 본 발명의 실시 예에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.On the other hand, in the embodiment of the present invention has been described with respect to specific embodiments, various modifications are possible without departing from the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the appended claims, but also by the equivalents of the claims.
본 발명에 따르면, 일반적인 게임 등에 사용되는 최적의 길 찾기 알고리즘에 각 상황별 새로운 옵션 등을 추가함으로써 실제와 가까운 3D 연출을 용이하게 구현하게 해 주는 장점이 있다.According to the present invention, by adding a new option for each situation to the optimum path finding algorithm used in a general game, etc., there is an advantage of facilitating the realization of 3D rendering.
또한, 본 발명에 따르면 캐릭터가 이동하는 모든 경로를 지정하지 않고서도 사용자가 원하는 경로에 길 찾기 알고리즘을 적용함으로써 효율적인 캐릭터 이동을 용이하게 구현할 수 있게 되는 장점이 있다.In addition, according to the present invention there is an advantage that it is possible to easily implement the efficient character movement by applying a path finding algorithm to the desired path without specifying all the paths that the character moves.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060029918A KR100916221B1 (en) | 2006-03-31 | 2006-03-31 | Method for determining a enhanced moving path on the 3d map |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060029918A KR100916221B1 (en) | 2006-03-31 | 2006-03-31 | Method for determining a enhanced moving path on the 3d map |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070098363A KR20070098363A (en) | 2007-10-05 |
KR100916221B1 true KR100916221B1 (en) | 2009-09-08 |
Family
ID=38804440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060029918A KR100916221B1 (en) | 2006-03-31 | 2006-03-31 | Method for determining a enhanced moving path on the 3d map |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100916221B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012108568A1 (en) * | 2011-02-09 | 2012-08-16 | 서울대학교산학협력단 | Motion control device and method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102265622B1 (en) * | 2019-07-11 | 2021-06-15 | 재단법인 차세대융합기술연구원 | Method, computer readable storage medium and system for calculating shortest path |
CN112870720B (en) * | 2021-03-09 | 2024-07-02 | 网易(杭州)网络有限公司 | Path finding method and device in game, storage medium and computer equipment |
CN113730915B (en) * | 2021-09-16 | 2023-08-25 | 腾讯科技(深圳)有限公司 | Determination method and device of target path, storage medium and electronic equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191743A (en) * | 1993-12-27 | 1995-07-28 | Toshiba Corp | Moving route generation method |
JP2004070522A (en) | 2002-08-02 | 2004-03-04 | Canon Inc | Device and method for image reproduction |
JP2006048278A (en) * | 2004-08-03 | 2006-02-16 | Fukui Computer Kk | Moving path setting device and moving path setting program |
-
2006
- 2006-03-31 KR KR1020060029918A patent/KR100916221B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191743A (en) * | 1993-12-27 | 1995-07-28 | Toshiba Corp | Moving route generation method |
JP2004070522A (en) | 2002-08-02 | 2004-03-04 | Canon Inc | Device and method for image reproduction |
JP2006048278A (en) * | 2004-08-03 | 2006-02-16 | Fukui Computer Kk | Moving path setting device and moving path setting program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012108568A1 (en) * | 2011-02-09 | 2012-08-16 | 서울대학교산학협력단 | Motion control device and method |
Also Published As
Publication number | Publication date |
---|---|
KR20070098363A (en) | 2007-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7125992B2 (en) | Building a virtual reality (VR) game environment using a virtual reality map of the real world | |
US8271962B2 (en) | Scripted interactive screen media | |
US9367942B2 (en) | Method, system and software program for shooting and editing a film comprising at least one image of a 3D computer-generated animation | |
US9443337B2 (en) | Run-time techniques for playing large-scale cloud-based animations | |
JP2981642B2 (en) | Video generator | |
US20090046097A1 (en) | Method of making animated video | |
KR102197067B1 (en) | Method and Apparatus for rendering same region of multi frames | |
US20060022983A1 (en) | Processing three-dimensional data | |
US20160182771A1 (en) | Apparatus and method for generating sensory effect metadata | |
KR100916221B1 (en) | Method for determining a enhanced moving path on the 3d map | |
US20230005192A1 (en) | Systems and methods for creating a 2d film from immersive content | |
US8363055B1 (en) | Multiple time scales in computer graphics | |
US9396574B2 (en) | Choreography of animated crowds | |
JP3566530B2 (en) | Spatial stroll video display method, space object search method, space object extraction method, their apparatuses, and recording media recording these methods | |
US9558578B1 (en) | Animation environment | |
US7646395B2 (en) | Adaptive closed group caricaturing | |
KR100916219B1 (en) | Method of setting a grid for making 3-d video | |
Ilisescu et al. | Responsive action-based video synthesis | |
WO2021085105A1 (en) | Information processing device, proposal device, information processing method, and proposal method | |
KR100916220B1 (en) | Method of making 3-d map using a sub map | |
US8773441B2 (en) | System and method for conforming an animated camera to an editorial cut | |
KR20070089503A (en) | Method of inserting a transition movement between two different movements for making 3-d video | |
Jovane et al. | Topology-aware camera control for real-time applications | |
KR20240114580A (en) | Technique making 3-d video | |
KR100801900B1 (en) | Constrained motion synthesis method by using motion capture data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |