KR20230115841A - Method and system for producing 3d content based on game engine - Google Patents

Method and system for producing 3d content based on game engine Download PDF

Info

Publication number
KR20230115841A
KR20230115841A KR1020220046998A KR20220046998A KR20230115841A KR 20230115841 A KR20230115841 A KR 20230115841A KR 1020220046998 A KR1020220046998 A KR 1020220046998A KR 20220046998 A KR20220046998 A KR 20220046998A KR 20230115841 A KR20230115841 A KR 20230115841A
Authority
KR
South Korea
Prior art keywords
node
quest
nodes
outputting
mission
Prior art date
Application number
KR1020220046998A
Other languages
Korean (ko)
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 주식회사 버추얼플로우
Publication of KR20230115841A publication Critical patent/KR20230115841A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시는 전문적인 코딩 지식 없이도 게임 엔진 기반의 3D 콘텐츠를 제작할 수 있는 프레임워크를 제공하는 방법에 관한 것이다. 이 방법은, 3D 콘텐츠의 퀘스트를 생성하기 위한 인터페이스 화면을 출력하는 단계, 인터페이스 화면의 적어도 일부 영역에 루트 노드를 출력하는 단계, 루트 노드에서 연결되도록 퀘스트 노드를 출력하는 단계, 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 퀘스트를 생성하는 단계 및 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행하는 단계를 포함한다.The present disclosure relates to a method of providing a framework capable of producing 3D content based on a game engine without professional coding knowledge. In this method, the step of outputting an interface screen for generating a quest of 3D content, the step of outputting a root node on at least a part of the interface screen, the step of outputting a quest node to be connected from the root node, the quest node can be connected It includes generating a quest by outputting at least one node among a plurality of nodes present therein, and executing a plurality of nodes in the generated quest according to a predetermined order.

Description

게임 엔진 기반의 3D 콘텐츠를 제작하는 방법 및 시스템{METHOD AND SYSTEM FOR PRODUCING 3D CONTENT BASED ON GAME ENGINE}Method and system for producing 3D contents based on game engine {METHOD AND SYSTEM FOR PRODUCING 3D CONTENT BASED ON GAME ENGINE}

본 개시는 전문적인 코딩 지식 없이도 게임 엔진 기반의 3D 콘텐츠를 제작할 수 있는 프레임워크(framework)를 제공하는 방법 및 시스템에 관한 것이다.The present disclosure relates to a method and system for providing a framework capable of producing game engine-based 3D content without professional coding knowledge.

게임 기술이 급속히 발전하고 있고, 이를 기반으로 다양한 게임 콘텐츠들이 범람하고 있다. 특히, 3차원 화상을 지원하는 3D 게임 및 3D 콘텐츠의 수요가 증가하여, 콘텐츠 제공업체들도 다양한 3D 콘텐츠 개발에 힘을 쏟고 있다. Game technology is developing rapidly, and based on this, various game contents are overflowing. In particular, as demand for 3D games and 3D contents supporting 3D images increases, content providers are also concentrating their efforts on developing various 3D contents.

하지만, 기존에 3D 콘텐츠 제작을 하려면 프로그래밍이나 스크립팅 작업과 같은 전문 개발 지식이 필요했다. 유니티(Unity) 엔진 및 언리얼(Unreal) 엔진과 같은 게임 엔진을 사용하더라도, 여전히 사용자는 최소한의 프로그래밍 언어에 대한 지식이 있어야 콘텐츠 제작에 도움을 받을 수 있었다.However, in the past, professional development knowledge such as programming or scripting was required to create 3D content. Even if game engines such as Unity engine and Unreal engine were used, users still had to have knowledge of a minimum programming language to get help in content creation.

본 개시는 상기와 같은 문제점을 해결하기 위한, 게임 엔진 기반의 3D 콘텐츠를 제작하는 방법 및 시스템을 제공한다.The present disclosure provides a method and system for producing 3D content based on a game engine to solve the above problems.

본 개시는 방법, 장치(시스템), 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 매체를 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in various ways, including a method, an apparatus (system), a computer program stored in a computer readable storage medium or a computer readable storage medium in which a computer program is stored.

본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 콘텐츠를 제작하는 방법에 있어서, 3D 콘텐츠의 퀘스트(quest)를 생성하기 위한 인터페이스 화면을 출력하는 단계, 인터페이스 화면의 적어도 일부 영역에 루트(root) 노드를 출력하는 단계, 루트 노드에서 연결되도록 퀘스트 노드를 출력하는 단계, 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 퀘스트를 생성하는 단계 및 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행하는 단계를 포함하고, 인터페이스 화면은 복수의 노드(node)와 노드를 연결하는 에지(edge)로 구성된 그래프(Graph) 구조를 포함한다.In the method for producing 3D content based on a game engine according to an embodiment of the present disclosure, outputting an interface screen for generating a quest of 3D content, adding a root to at least a portion of the interface screen A step of outputting a node, a step of outputting a quest node to be connected from a root node, a step of generating a quest by outputting at least one node among a plurality of nodes that can be connected from the quest node, and a plurality of nodes within the generated quest. The interface screen includes a graph structure composed of a plurality of nodes and edges connecting the nodes.

본 개시의 일 실시예에 따르면, 게임 엔진은 언리얼(unreal) 엔진을 포함할 수 있고, 인터페이스 화면은 언리얼 엔진을 기초로 3D 콘텐츠를 제작할 수 있는 프레임워크(framework) 상에서 출력되는 화면을 포함한다.According to one embodiment of the present disclosure, the game engine may include an Unreal engine, and the interface screen includes a screen output on a framework capable of producing 3D content based on the Unreal engine.

본 개시의 일 실시예에 따르면, 그래프 구조는 복수의 콤퍼짓(composite) 노드를 포함하고, 콤퍼짓 노드는 하위에 적어도 하나의 태스크(task) 노드를 포함한다.According to an embodiment of the present disclosure, the graph structure includes a plurality of composite nodes, and the composite node includes at least one task node under the composite node.

본 개시의 일 실시예에 따르면, 복수의 콤퍼짓 노드는 미션 노드, 대화 노드, 액션 노드 및 브랜치 노드를 포함할 수 있고, 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 퀘스트를 생성하는 단계는, 복수의 콤퍼짓 노드 중에서 적어도 한 개의 노드를 출력하는 단계를 포함한다.According to one embodiment of the present disclosure, the plurality of composite nodes may include a mission node, a dialogue node, an action node, and a branch node, and outputs at least one or more nodes among a plurality of nodes connectable from a quest node to complete a quest. The generating step includes outputting at least one node among a plurality of composite nodes.

본 개시의 일 실시예에 따르면, 복수의 콤퍼짓 노드 중에서 적어도 한 개의 노드를 출력하는 단계는, 복수의 콤퍼짓 노드의 각각의 하위에 연결될 수 있는 적어도 하나의 태스크 노드를 출력하는 단계를 포함한다.According to an embodiment of the present disclosure, outputting at least one node from among a plurality of composite nodes includes outputting at least one task node that can be connected to a lower part of each of the plurality of composite nodes.

본 개시의 일 실시예에 따르면, 그래프 구조를 구성하는 복수의 노드는 콘텍스트(context) 메뉴를 포함할 수 있고, 콘텍스트(context) 메뉴를 이용하여 적어도 하나의 노드를 편집하는 단계, 콘텍스트(context) 메뉴를 이용하여 적어도 하나의 노드에 대한 조건을 추가하는 단계를 더 포함한다.According to an embodiment of the present disclosure, a plurality of nodes constituting a graph structure may include a context menu, and editing at least one node using the context menu; The method may further include adding a condition for at least one node using a menu.

본 개시의 일 실시예에 따르면, 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행하는 단계는, 그래프 구조를 구성하는 복수의 노드의 각각을 루트 노드에서 리프(leaf) 노드로 순차적으로 실행하는 단계, 그래프 구조를 구성하는 복수의 노드 중에서 적어도 하나의 노드가 동일한 레벨의 복수의 하위 노드를 포함하고 있는 경우에는 좌측 노드에서 우측 노드로 순차적으로 실행하는 단계를 포함한다.According to an embodiment of the present disclosure, the step of executing a plurality of nodes in the generated quest in a predetermined order includes sequentially executing each of the plurality of nodes constituting the graph structure from a root node to a leaf node. and, when at least one node among a plurality of nodes constituting the graph structure includes a plurality of lower nodes of the same level, sequentially executing from the left node to the right node.

본 개시의 일 실시예에 따르면, 미션 노드에 설정된 미션 완료 조건이 충족되면, 플레이어에게 보상을 제공하는 단계를 더 포함하고, 보상은 NFT(Non-Fungible Token)를 포함한다.According to an embodiment of the present disclosure, when a mission completion condition set in a mission node is satisfied, the method further includes providing a reward to the player, and the reward includes a Non-Fungible Token (NFT).

본 개시의 일 실시예에 따르면, 상술된 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램을 포함한다According to one embodiment of the present disclosure, a computer program stored in a computer readable recording medium to execute the above-described method on a computer is included.

본 개시의 일 실시예에 따르면, 정보 처리 시스템은 하나 이상의 인스트럭션을 저장하는 메모리 및 메모리의 하나 이상의 인스트럭션을 실행함으로써, 3D 콘텐츠의 퀘스트를 생성하기 위한 인터페이스 화면을 출력하고, 인터페이스 화면은 복수의 노드와 노드를 연결하는 에지로 구성된 그래프 구조를 포함하고, 인터페이스 화면의 적어도 일부 영역에 루트 노드를 출력하고, 루트 노드에서 연결되도록 퀘스트 노드를 출력하고, 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 퀘스트를 생성하도록 구성된 적어도 하나의 프로세서를 포함한다.According to an embodiment of the present disclosure, the information processing system outputs an interface screen for generating a quest of 3D content by executing a memory storing one or more instructions and one or more instructions in the memory, and the interface screen is a plurality of nodes. and a graph structure composed of edges connecting nodes, outputting a root node to at least some area of the interface screen, outputting a quest node to be connected from the root node, and connecting at least one of a plurality of nodes that can be connected from the quest node. and at least one processor configured to generate a quest by outputting one or more nodes.

본 개시의 일부 실시예에 따르면, 3D 콘텐츠의 퀘스트(quest)를 생성하기 위한 인터페이스 화면은 복수의 노드(node)와 노드를 연결하는 에지(edge)로 구성된 그래프(Graph) 구조를 포함할 수 있다. 이렇게 그래프 구조의 인터페이스를 이용함으로써, 코딩 지식 없이도 쉽게 3D 콘텐츠를 기획하고, 구현할 수 있다. 특히, 사용자는 콘텐츠를 만드는데 필요한 다양한 캐릭터 및 장비 등을 프레임워크 상에서 손쉽게 로딩하여 편집할 수 있기 때문에, 비전문가도 높은 품질의 3D 콘텐츠를 제작할 수 있다.According to some embodiments of the present disclosure, an interface screen for generating a quest of 3D content may include a graph structure composed of a plurality of nodes and edges connecting the nodes. . By using the graph-structured interface, 3D content can be easily planned and implemented without coding knowledge. In particular, since the user can easily load and edit various characters and equipment necessary for content creation on the framework, even non-experts can produce high-quality 3D content.

본 개시의 일부 실시예에 따르면, 그래프 구조를 구성하는 복수의 노드의 각각을 루트(root) 노드에서 리프(leaf) 노드로 순차적으로 실행할 수 있다. 또한, 그래프 구조를 구성하는 복수의 노드 중에서 적어도 하나의 노드가 동일한 레벨의 복수의 하위 노드를 포함하고 있는 경우에는 좌측 노드에서 우측 노드로 순차적으로 실행할 수 있다. 이와 같이 누구나 직관적으로 콘텐츠의 진행 순서를 이해할 수 있게 함으로써, 사용자가 손 쉽게 3D 콘텐츠를 제작 및 수정할 수 있다.According to some embodiments of the present disclosure, each of a plurality of nodes constituting a graph structure may be sequentially executed from a root node to a leaf node. In addition, when at least one node among a plurality of nodes constituting the graph structure includes a plurality of lower nodes of the same level, the left node to the right node may be sequentially executed. In this way, by enabling anyone to intuitively understand the progress sequence of content, users can easily create and modify 3D content.

본 개시의 일부 실시예에 따르면, 미션 노드에 설정된 미션 완료 조건이 충족되면, 플레이어에게 보상을 제공하는 단계를 더 포함하고, 보상은 NFT(Non-Fungible Token)를 포함할 수 있다. 이러한 보상은 3D 콘텐츠 소비자에게 게임의 구매 욕구나 재미를 더 느끼게 할 수 있다. 또한, 보상은 사용자 선택에 따라 다양한 방식으로(예를 들어, NFT 등) 부여될 수 있다.According to some embodiments of the present disclosure, the method further includes providing a reward to the player when a mission completion condition set in a mission node is satisfied, and the reward may include a Non-Fungible Token (NFT). These rewards can make 3D content consumers feel more desire to purchase or have more fun in the game. In addition, compensation may be given in various ways (eg, NFT, etc.) according to user selection.

본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 3D 콘텐츠의 퀘스트를 생성하기 위한 인터페이스 화면의 예시를 나타내는 개요도이다.
도 2은 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 콘텐츠를 제작하는 정보 처리 시스템을 나타내는 도면이다.
도 3는 본 개시의 일 실시예에 따른 프로세서의 내부 구성을 나타내는 도면이다.
도 4은 본 개시의 일 실시예에 따른 그래프 구조를 구성하는 복수의 노드를 생성하고 연결하는 예시를 나타내는 도면이다.
도 5은 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 게임 콘텐츠를 제작하는 그래프 구조 예시를 나타내는 도면이다.
도 6는 본 개시의 일 실시예에 따른 캐릭터의 감정 변화를 출력하는 대화 창 초상화 이미지의 예시를 나타내는 도면이다.
도 7는 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 프리젠테이션을 제작하는 그래프 구조 예시를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 3D 프리젠테이션을 실행한 화면을 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 콘텐츠를 제작하는 방법의 예시를 나타내는 흐름도이다.
Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein like reference numbers indicate like elements, but are not limited thereto.
1 is a schematic diagram illustrating an example of an interface screen for generating a quest of 3D content according to an embodiment of the present disclosure.
2 is a diagram illustrating an information processing system for producing 3D content based on a game engine according to an embodiment of the present disclosure.
3 is a diagram showing an internal configuration of a processor according to an embodiment of the present disclosure.
4 is a diagram illustrating an example of generating and connecting a plurality of nodes constituting a graph structure according to an embodiment of the present disclosure.
5 is a diagram illustrating an example of a graph structure for producing 3D game contents based on a game engine according to an embodiment of the present disclosure.
6 is a diagram illustrating an example of a conversation window portrait image outputting a change in emotion of a character according to an embodiment of the present disclosure.
7 is a diagram illustrating an example of a graph structure for producing a 3D presentation based on a game engine according to an embodiment of the present disclosure.
8 is a diagram illustrating a screen on which a 3D presentation is executed according to an embodiment of the present disclosure.
9 is a flowchart illustrating an example of a method of producing 3D content based on a game engine according to an embodiment of the present disclosure.

이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for the implementation of the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.

첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding elements are given the same reference numerals. In addition, in the description of the following embodiments, overlapping descriptions of the same or corresponding components may be omitted. However, omission of a description of a component does not intend that such a component is not included in an embodiment.

개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the following embodiments in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms, but only the present embodiments make the present disclosure complete, and the present disclosure does not extend the scope of the invention to those skilled in the art. It is provided only for complete information.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary according to the intention of a person skilled in the related field, a precedent, or the emergence of new technology. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the general content of the present disclosure, not simply the names of the terms.

본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.Expressions in the singular number in this specification include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part includes a certain component in the entire specification, this means that it may further include other components without excluding other components unless otherwise stated.

또한, 명세서에서 사용되는 '모듈', '기' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈', '기' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만, '모듈', '기' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈', '기' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, '모듈', '기' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈', '기' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈', '기' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈', '기' 또는 '부'들로 더 분리될 수 있다.In addition, the terms 'module', 'unit' or 'unit' used in the specification mean a software or hardware component, and the 'module', 'unit' or 'unit' performs certain roles. However, 'module', 'unit' or 'unit' is not meant to be limited to software or hardware. A 'module', 'unit' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a 'module', 'group' or 'unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, and functions. properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables. can do. Components and functions provided within 'modules', 'units' or 'units' may be combined with a smaller number of components and 'modules', 'groups' or 'units', or may be combined with additional components and 'units'. It may be further separated into 'modules', 'units' or 'units'.

본 개시의 일 실시예에 따르면, '모듈', '기' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신, 가속기 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA), 뉴럴 처리 장치(Neural Processing Unit) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, 중앙 처리 장치와 가속기의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to one embodiment of the present disclosure, a 'module', 'unit' or 'unit' may be implemented as a processor and a memory. 'Processor' should be broadly interpreted to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, accelerators, and the like. In some circumstances, 'processor' may refer to an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Neural Processing Unit, or the like. 'Processor' refers to a combination of processing devices, such as, for example, a combination of a central processing unit and an accelerator, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or any other such configuration. may also refer to Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like. A memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory. Memory integrated with the processor is in electronic communication with the processor.

본 개시에서, '시스템'은 서버 장치와 클라우드 장치 중 적어도 하나의 장치를 포함할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 시스템은 하나 이상의 서버 장치로 구성될 수 있다. 다른 예로서, 시스템은 하나 이상의 클라우드 장치로 구성될 수 있다. 또 다른 예로서, 시스템은 서버 장치와 클라우드 장치가 함께 구성되어 동작될 수 있다. 또 다른 예로서, 시스템은 강화 학습 기반의 가이드 와이어의 네비게이션을 자동 제어하기 위한 클라이언트 장치를 지칭할 수 있다. In the present disclosure, a 'system' may include at least one of a server device and a cloud device, but is not limited thereto. For example, a system may consist of one or more server devices. As another example, a system may consist of one or more cloud devices. As another example, the system may be operated by configuring a server device and a cloud device together. As another example, a system may refer to a client device for automatically controlling the navigation of a guide wire based on reinforcement learning.

본 개시에서, '기계학습 모델'은 주어진 입력에 대한 해답(answer)을 추론하는데 사용하는 임의의 모델을 포함할 수 있다. 일 실시예에 따르면, 기계학습 모델은 입력 레이어(층), 복수 개의 은닉 레이어 및 출력 레이어를 포함한 인공신경망 모델을 포함할 수 있다. 여기서, 각 레이어는 복수의 노드를 포함할 수 있다. 또한, 본 개시에서, 기계학습 모델은 인공신경망 모델을 지칭할 수 있으며, 인공신경망 모델은 기계학습 모델을 지칭할 수 있다. 또한, 기계학습 모델은 강화 학습 모델을 지칭할 수 있으며, 강화 학습 모델은 기계학습 모델을 지칭할 수 있다. 또한, 기계학습 모델은 모델로 지칭될 수 있고, 모델은 기계학습 모델을 지칭할 수 있다. In the present disclosure, a 'machine learning model' may include any model used to infer an answer to a given input. According to one embodiment, the machine learning model may include an artificial neural network model including an input layer (layer), a plurality of hidden layers, and an output layer. Here, each layer may include a plurality of nodes. Also, in the present disclosure, a machine learning model may refer to an artificial neural network model, and an artificial neural network model may refer to a machine learning model. Also, a machine learning model may refer to a reinforcement learning model, and a reinforcement learning model may refer to a machine learning model. Also, a machine learning model may be referred to as a model, and a model may refer to a machine learning model.

본 개시에서, '복수의 A의 각각' 또는 '복수의 A 각각'은 복수의 A에 포함된 모든 구성 요소의 각각을 지칭하거나, 복수의 A에 포함된 일부 구성 요소의 각각을 지칭할 수 있다. 예를 들어, 복수의 목표 지점의 각각은 복수의 목표 지점에 포함된 모든 지점의 각각을 지칭하거나 복수의 목표 지점에 포함된 일부의 목표 지점의 각각을 지칭할 수 있다. In the present disclosure, 'each of a plurality of A' or 'each of a plurality of A' may refer to each of all components included in a plurality of A's, or each of some components included in a plurality of A's. . For example, each of the plurality of target points may refer to each of all points included in the plurality of target points or each of a part of the target points included in the plurality of target points.

본 개시에서, '그래프 구조'는 노드(node)와 그 노드를 연결하는 에지(edge)로 구성된 자료구조를 지칭할 수 있다. 그래프는 항상 루트(root)노드에서 시작될 수 있고, 루트 노드는 부모(parent) 노드가 없이 자식(child) 노드를 가질 수 있다. 노드들은 서로 에지로 연결되고, 더 이상 자식이 없는 리프(leaf) 노드까지 연결될 수 있다. 또한, 차수(degree)는 각 노드의 자식 노드의 개수를 지칭할 수 있고, 레벨(level)은 루트 노드를 기준(레벨 0)으로 하위에 연결된 노드의 깊이를 지칭할 수 있다.In the present disclosure, a 'graph structure' may refer to a data structure composed of nodes and edges connecting the nodes. A graph can always start at a root node, and a root node can have child nodes without a parent node. Nodes are connected by edges to each other, and can be connected to leaf nodes that have no more children. In addition, the degree may refer to the number of child nodes of each node, and the level may refer to the depth of a node connected to a lower node based on the root node (level 0).

본 개시에서, '프레임워크'는 소프트웨어 개발에 있어서, 작업자가 복잡한 문제를 손쉽게 해결할 수 있도록 개발에 필요한 기능을 한 곳에 모아서 작업자에게 편리한 환경을 제공하는 구조를 지칭할 수 있다.In the present disclosure, a 'framework' may refer to a structure that provides a convenient environment to a worker by gathering functions necessary for development in one place so that a worker can easily solve a complicated problem in software development.

본 개시에서, '게임 엔진'은 비디오 게임 같은 실시간 그래픽 표시 기능을 갖춘 게임 개발 소프트웨어를 지칭할 수 있다. 게임 개발자는 이러한 게임 엔진을 통해서 개발 과정을 단축시킬 수 있을 뿐만 아니라, 게임을 다양한 플랫폼에서 실행할 수 있게 한다. 예를 들어, 본 개시에 있어서 게임 엔진은 유니티(Unity) 엔진 및/또는 언리얼(Unreal) 엔진을 포함할 수 있으며, 이에 한정되지 않고 3D 콘텐츠 제작을 위한 게임 엔진은 모두 포함될 수 있다.In the present disclosure, 'game engine' may refer to game development software having a real-time graphic display function such as a video game. Game developers can not only shorten the development process through these game engines, but also enable games to run on various platforms. For example, in the present disclosure, the game engine may include a Unity engine and/or an Unreal engine, but is not limited thereto, and all game engines for producing 3D content may be included.

본 개시에서, '퀘스트'는 3D 게임 콘텐츠 내에서 플레이어에게 주어지는 일종의 임무를 지칭할 수 있다. 플레이어는 퀘스트를 통하여 게임 내에서 대화를 진행할 수 있고, 미션을 수행하거나, 미션 완료에 따른 보상도 받을 수 있다. 특히, RPG 게임에서는 플레이어를 원하는 동선으로 이동시키거나, 이벤트를 발생시켜 게임 스토리를 자연스럽게 연출하는 용도 등으로 활용될 수 있다. 이와 유사하게, 3D 프리젠테이션 콘텐츠 내에서도 사용자는 다양한 발표 내용을 퀘스트로 구성할 수 있고, 3D 가상 환경에서 스폰(spawn)된 참가자는 마치 퀘스트를 수행하는 것처럼 발표내용을 따라갈 수 있다. 즉, 다양한 3D 콘텐츠 제작에 있어서, 사용자는 퀘스트를 원하는 대로 연출함으로써 콘텐츠의 내러티브(narrative)를 만들 수 있다.In the present disclosure, a 'quest' may refer to a kind of mission given to a player within 3D game content. Players can conduct conversations in the game through quests, perform missions, and receive rewards for completing missions. In particular, in an RPG game, it can be used to move a player to a desired movement line or to naturally direct a game story by generating an event. Similarly, within the 3D presentation content, a user can compose various presentation contents as a quest, and a participant spawned in a 3D virtual environment can follow the presentation contents as if performing a quest. That is, in producing various 3D contents, the user can create a narrative of the contents by directing the quest as desired.

도 1은 본 개시의 일 실시예에 따른 3D 콘텐츠의 퀘스트를 생성하기 위한 인터페이스 화면의 예시를 나타내는 개요도이다. 도 1에 도시된 화면은, 사용자가 사용자 단말(예를 들어, 데스크 탑, 테블릿 PC 등)에서 3D 콘텐츠 개발 프레임워크(framework)를 실행하여, 3D 콘텐츠의 퀘스트(quest)를 생성하는 예시를 보여준다. 사용자는 이러한 프레임워크를 통하여 전문적인 코딩 지식 없이도 3D 콘텐츠 제작을 위한 퀘스트를 생성할 수 있다. 1 is a schematic diagram illustrating an example of an interface screen for generating a quest of 3D content according to an embodiment of the present disclosure. The screen shown in FIG. 1 shows an example in which a user executes a 3D content development framework on a user terminal (eg, desktop, tablet PC, etc.) to create a 3D content quest. show Through this framework, users can create quests for 3D content creation without professional coding knowledge.

일 실시예에 따르면, 사용자 단말(예를 들어, 사용자 단말의 적어도 하나의 프로세서 등)은 퀘스트 생성을 위해 그래프 구조에 포함된 복수의 노드 구성을 위한 정보를 수신할 수 있다. 예를 들어, 사용자 단말은 실행된 프레임워크 상에서 입력 장치(예를 들어, 키보드, 마우스 등)를 통해 사용자로부터 입력되는 그래프 구조의 복수의 노드 구성에 관한 정보를 수신할 수 있다. 여기서, 그래프 구조의 복수의 노드 구성에 관한 정보는 노드와 관련된 작업명령을 지칭할 수 있는데, 노드를 생성하기 위한 명령, 노드의 추가 조건을 설정하기 위한 명령, 노드의 연결을 끊기 위한 명령 등을 포함할 수 있다. 추가적으로 또는 대안적으로, 사용자는 미리 저장되어 있는 복수의 노드 구성에 관한 정보를 메모리로부터 로딩시킬 수 있다.According to an embodiment, a user terminal (eg, at least one processor of the user terminal) may receive information for configuring a plurality of nodes included in a graph structure in order to generate a quest. For example, the user terminal may receive information about a configuration of a plurality of nodes of a graph structure input from a user through an input device (eg, a keyboard, a mouse, etc.) on the executed framework. Here, the information on the configuration of a plurality of nodes in the graph structure may refer to a node-related work command, such as a command to create a node, a command to set additional conditions for a node, a command to disconnect a node, and the like. can include Additionally or alternatively, the user may load previously stored information about the configuration of a plurality of nodes from memory.

일 실시예에 따르면, 사용자 단말은 사용자의 노드와 관련된 작업명령에 응답하여, 인터페이스 화면의 그래프 영역(100)에 하나 이상의 노드를 생성할 수 있다. 일 실시예에서, 사용자 단말은 루트 노드(140)를 생성함으로써 퀘스트를 시작할 수 있다. 여기서, 루트 노드는 퀘스트의 시작을 의미하는 노드로서, 부모 노드가 없고, 자식 노드만 가진 노드를 지칭할 수 있다. According to an embodiment, the user terminal may create one or more nodes in the graph area 100 of the interface screen in response to a user's node-related work command. In one embodiment, a user terminal may start a quest by creating a root node 140 . Here, the root node is a node meaning the start of a quest, and may refer to a node having only child nodes without a parent node.

일 실시예에 따르면, 사용자 단말은 루트 노드(140)에서 연결되도록 퀘스트 노드(150)를 출력할 수 있다. 여기서, 퀘스트의 시작을 알리는 루트 노드(140) 하위에는 한 개의 퀘스트 노드(150)만 연결될 수 있다. 이에 반해, 다양한 액션, 대사, 미션 등을 추가할 수 있는 퀘스트 노드(150) 하위에는 콤퍼짓 노드(예를 들어, 미션 노드, 대화 노드, 액션 노드, 브랜치 노드 등) 또는 태스크 노드(예를 들어, 퀘스트 웨이트 노드)가 연결될 수 있다. 다른 실시예에서, 3D 콘텐츠는 복수의 퀘스트를 포함할 수 있고, 복수의 퀘스트의 각각은 루트 노드(140)에 연결된 퀘스트 노드(150)에서 시작될 수 있고, 퀘스트 웨이트 노드(160)에서 종료될 수 있다. According to one embodiment, the user terminal may output the quest node 150 to be connected at the root node 140 . Here, only one quest node 150 may be connected below the root node 140 indicating the start of the quest. On the other hand, a composite node (eg, a mission node, a dialog node, an action node, a branch node, etc.) or a task node (eg, a mission node, a dialogue node, etc.) or a task node (eg, Quest weight node) can be connected. In another embodiment, the 3D content may include a plurality of quests, each of the plurality of quests starting at a quest node 150 connected to a root node 140 and ending at a quest weight node 160. there is.

일 실시예에 따르면, 사용자 단말은 퀘스트 노드(150)에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력할 수 있다. 여기서, 복수의 노드는 콤퍼짓(composite) 노드 또는 태스크(task) 노드를 지칭할 수 있다. 예를 들어, 사용자 단말은 사용자의 작업명령에 따라, 퀘스트 노드(150) 하위에 미션 노드(170)를 연결할 수 있고, 연결된 미션 노드(170)는 하나 이상의 자식 노드(예를 들어, 대화 노드 등)와 연결될 수 있다. 또한, 미션 노드(170)는 미션 웨이트 노드(180)에서 종료될 수 있다. 이렇게, 퀘스트 노드(150)는 미션의 생성과 종료에 관련된 하위 노드와 연결될 수 있는데, 이는 도 4를 참조하여 상세히 후술된다.According to one embodiment, the user terminal may output at least one or more nodes from among a plurality of nodes connectable from the quest node 150 . Here, the plurality of nodes may refer to composite nodes or task nodes. For example, the user terminal may connect the mission node 170 under the quest node 150 according to the user's work command, and the connected mission node 170 may connect one or more child nodes (eg, a dialog node, etc.) ) can be associated with Additionally, the mission node 170 may terminate at the mission weight node 180 . In this way, the quest node 150 may be connected to lower nodes related to creation and termination of missions, which will be described later in detail with reference to FIG. 4 .

일 실시예에 따르면, 사용자 단말은 복수의 노드의 각각에 대하여 노드의 상세 정보를 수집할 수 있다. 예를 들어, 사용자는 노드 상세 정보를 인테페이스 화면 우측의 노드 정보 영역(110)에 입력할 수 있다. 여기서, 노드 상세 정보는 각 노드의 특성에 따른 정보를 포함할 수 있다. 예를 들어, 대화 노드의 경우에는 대화 내용을 지칭할 수 있고, 미션 노드의 경우에는 미션 룰(rule)에 대한 정보를 지칭할 수 있다. 일 실시예에서 사용자는 대화 노드의 하위 노드(190)를 클릭하면, 노드 정보 영역(110)에 해당 노드의 상세 정보를 볼 수 있고, 편집할 수 있다.According to one embodiment, the user terminal may collect detailed information of a node for each of a plurality of nodes. For example, the user may input detailed node information into the node information area 110 on the right side of the interface screen. Here, the detailed node information may include information according to characteristics of each node. For example, in the case of a conversation node, content of a conversation may be indicated, and in the case of a mission node, information on a mission rule may be indicated. In one embodiment, when a user clicks a lower node 190 of a dialog node, detailed information of the corresponding node can be viewed and edited in the node information area 110 .

일 실시예에 따르면, 사용자는 복수의 퀘스트를 생성함으로써 콘텐츠의 내러티브(narrative)를 이어갈 수 있다. 도 1에 도시된 바와 같이, 복수의 퀘스트는 인터페이스 화면 상단에 탭 형식(120)으로 구분되어 보일 수 있고, 각각의 탭은 퀘스트 각각에 대응하는 그래프 구조를 포함할 수 있다. 여기서, 3D 콘텐츠는 반드시 복수의 퀘스트에 한정되지 않고, 하나의 퀘스트만으로 내러티브를 구성할 수도 있다. 예를 들어, 프리젠테이션 또는 교육 목적으로 3D 콘텐츠를 만드는 경우에 하나의 퀘스트만으로도 콘텐츠의 목적을 달성할 수 있다. 이와 같은 3D 프리젠테이션 관련은 도 7 및 도 8을 참조하여 상세히 후술된다.According to one embodiment, the user may continue the narrative of the content by creating a plurality of quests. As shown in FIG. 1 , a plurality of quests may be displayed in a tab form 120 at the top of the interface screen, and each tab may include a graph structure corresponding to each quest. Here, 3D content is not necessarily limited to a plurality of quests, and a narrative may be composed of only one quest. For example, when creating 3D content for presentation or educational purposes, the purpose of the content can be achieved with just one quest. This 3D presentation will be described in detail with reference to FIGS. 7 and 8 .

일 실시예에 따르면, 사용자 단말은 생성된 퀘스트를 하나의 파일로 저장할 수 있다. 예를 들어, 사용자에 의해 생성된 복수의 노드, 생성된 노드와 관련된 다양한 작업정보 등이 하나의 파일로 저장될 수 있다. 사용자는 이렇게 저장된 파일을 실행함으로써, 퀘스트 편집 및/또는 실행을 위한 환경을 손쉽게 로딩할 수 있다.According to one embodiment, the user terminal may store the created quest as a single file. For example, a plurality of nodes created by a user and various job information related to the created nodes may be stored as a single file. The user can easily load the environment for editing and/or executing the quest by executing the saved file.

일 실시예에 따르면, 사용자 단말은 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행할 수 있다. 여기서, 퀘스트의 실행은 사용자 단말이 퀘스트에 대한 시뮬레이션 모드를 활성화시켜서 디스플레이 장치를 통해 출력하는 단계를 포함할 수 있다. 예를 들어, 사용자 단말은 퀘스트 노드(150)에서 연결될 수 있는 복수의 노드를 연결함으로써 퀘스트를 생성할 수 있고, 이렇게 생성된 퀘스트는 인터페이스 화면 상단의 버튼 메뉴(130) 중 하나를 클릭하여 실행될 수 있다. 여기서, 인터페이스 화면 상단의 버튼 메뉴(130)에는 퀘스트 실행뿐만 아니라, 퀘스트를 저장하거나, 저장된 퀘스트를 로딩할 수 있는 버튼이 포함될 수 있다. 이에 추가적으로 또는 대안적으로, 사용자 단말은 퀘스트 실행을 위한 단축키(예를 들어, '/' 등) 입력에 대응하여 퀘스트를 실행할 수 있다. According to one embodiment, the user terminal may execute a plurality of nodes in the generated quest according to a predetermined order. Here, the execution of the quest may include activating a simulation mode for the quest by the user terminal and outputting the result through a display device. For example, the user terminal can create a quest by connecting a plurality of nodes that can be connected from the quest node 150, and the quest created in this way can be executed by clicking one of the button menus 130 at the top of the interface screen. there is. Here, the button menu 130 at the top of the interface screen may include a button for not only executing a quest, but also saving a quest or loading a saved quest. Additionally or alternatively, the user terminal may execute the quest in response to a shortcut (eg, '/', etc.) input for the quest execution.

상술된 바와 같이, 본 개시에 따른 프레임워크에 의해, 사용자는 코딩에 대한 전문적인 지식 없이도 직관적으로 퀘스트를 구성할 수 있고, 이미 구성된 퀘스트의 흐름을 쉽게 이해할 수 있으며, 또한, 미리 정해진 버튼을 클릭함으로써 손쉽게 시뮬레이션할 수 있다.As described above, with the framework according to the present disclosure, a user can intuitively compose a quest without professional knowledge of coding, easily understand the flow of an already configured quest, and click a predetermined button. This can be easily simulated.

일 실시예에 따르면, 사용자 단말은 언리얼 엔진을 기반으로 하는 프레임워크 상에 3D 콘텐츠를 제작할 수 있는 인터페이스를 출력할 수 있다. 여기서 언리얼 엔진은 미국의 에픽게임즈에서 개발한 3차원 게임 엔진을 지칭할 수 있다. 이러한 언리얼 엔진은 프로그래밍 언어(예를 들어, C++ 등)를 기반으로 운영되기 때문에, 전문적인 코딩 지식 없이는 이용에 어려움이 많았다. 이에 따라, 본 개시의 언리얼 엔진 기반의 프레임워크는 코딩에 대한 전문적인 지식이 없는 작업자가 손쉽게 3D 콘텐츠를 만들 수 있도록 직관적인 인터페이스 구성을 사용자에게 제공할 수 있다. According to one embodiment, the user terminal may output an interface capable of producing 3D content on a framework based on Unreal Engine. Here, Unreal Engine may refer to a 3D game engine developed by Epic Games of the United States. Since this Unreal Engine is operated based on a programming language (for example, C++, etc.), it was difficult to use without professional coding knowledge. Accordingly, the framework based on the Unreal engine of the present disclosure can provide users with an intuitive interface configuration so that workers without professional knowledge of coding can easily create 3D content.

도 2은 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 콘텐츠를 제작하는 정보 처리 시스템을 나타내는 도면이다. 게임 엔진 기반의 3D 콘텐츠를 제작하는 정보 처리 시스템(200)은 메모리(210), 프로세서(220), 통신 모듈(230) 및 입출력 인터페이스(240)를 포함할 수 있다. 도 2에 도시된 바와 같이, 정보 처리 시스템(200)은 통신 모듈(230)을 이용하여 네트워크를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다.2 is a diagram illustrating an information processing system for producing 3D content based on a game engine according to an embodiment of the present disclosure. The information processing system 200 for producing 3D contents based on a game engine may include a memory 210, a processor 220, a communication module 230, and an input/output interface 240. As shown in FIG. 2 , the information processing system 200 may be configured to communicate information and/or data through a network using the communication module 230 .

메모리(210)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(210)는 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 정보 처리 시스템(200)에 포함될 수 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 정보 처리 시스템(200)에 설치되어 구동되는 3D 콘텐츠 제작을 위한 프레임워크 등)가 저장될 수 있다. 도 2에서, 메모리(210)는 단일 메모리인 것으로 도시되었지만, 이는 설명의 편의를 위한 것일 뿐이며, 메모리(210)는 복수의 메모리를 포함할 수 있다.Memory 210 may include any non-transitory computer readable recording medium. According to one embodiment, the memory 210 may include a permanent mass storage device such as a disk drive, a solid state drive (SSD), or a flash memory. As another example, a non-perishable mass storage device such as a ROM, SSD, flash memory, disk drive, etc. may be included in the information processing system 200 as a separate permanent storage device separate from memory. In addition, the memory 210 may store an operating system and at least one program code (eg, a framework for producing 3D contents installed and driven in the information processing system 200). In FIG. 2 , the memory 210 is illustrated as a single memory, but this is only for convenience of explanation, and the memory 210 may include a plurality of memories.

이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 이러한 정보 처리 시스템(200)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(230)을 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(230)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(예를 들어, 게임 엔진 기반의 3D 콘텐츠 제작 프레임워크 프로그램 등)에 기반하여 메모리(210)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the memory 210 . A recording medium readable by such a separate computer may include a recording medium directly connectable to the information processing system 200, for example, a floppy drive, a disk, a tape, a DVD/CD-ROM drive, a memory card, etc. It may include a computer-readable recording medium. As another example, software components may be loaded into the memory 210 through the communication module 230 rather than a computer-readable recording medium. For example, the at least one program is a computer program installed by files provided by developers or a file distribution system that distributes application installation files through the communication module 230 (eg, a game engine-based 3D computer program). Content production framework program, etc.) may be loaded into the memory 210.

프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 모듈(230)에 의해 사용자 단말(미도시) 또는 다른 외부 시스템으로 제공될 수 있다. 예를 들어, 프로세서(220)는 그래프 구조를 구성하는 복수의 노드를 정해진 순서에 따라 실행할 수 있다. 이렇게 실행된 그래프 구조는 디스플레이 출력 가능 장치(예를 들어, 터치 스크린, 액정 디스플레이 판넬, 데스크 탑과 연결된 모니터 등)를 통해 3D 콘텐츠 형태로 표시될 수 있다.The processor 220 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to a user terminal (not shown) or other external system by the memory 210 or the communication module 230 . For example, the processor 220 may execute a plurality of nodes constituting a graph structure in a predetermined order. The graph structure executed in this way can be displayed in the form of 3D content through a display output capable device (eg, a touch screen, a liquid crystal display panel, a monitor connected to a desktop, etc.).

통신 모듈(230)은 네트워크를 통해 사용자 단말(미도시)과 정보 처리 시스템(200)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 정보 처리 시스템(200)이 외부 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 정보 처리 시스템(200)의 프로세서(220)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(230)과 네트워크를 거쳐 사용자 단말 및/또는 외부 시스템의 통신 모듈을 통해 사용자 단말 및/또는 외부 시스템으로 전송될 수 있다. 예를 들어, 정보 처리 시스템(200)은 외부 시스템(예: 게임 개발사 서버)으로부터 영상정보(예: 캐릭터 이미지, 보상 정보 등) 등을 수신할 수 있다.The communication module 230 may provide a configuration or function for a user terminal (not shown) and the information processing system 200 to communicate with each other through a network, and the information processing system 200 may provide an external system (for example, a separate configuration or function to communicate with a cloud system, etc.). For example, control signals, commands, data, etc. provided under the control of the processor 220 of the information processing system 200 are transmitted through the communication module 230 and the network to the user terminal and/or the communication module of the external system. It may be transmitted to a terminal and/or an external system. For example, the information processing system 200 may receive image information (eg, character image, reward information, etc.) from an external system (eg, a game developer server).

또한, 정보 처리 시스템(200)의 입출력 인터페이스(240)는 정보 처리 시스템(200)과 연결되거나 정보 처리 시스템(200)이 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 예를 들면, 입출력 인터페이스(240)는 PCI express 인터페이스, 이더넷(ethernet) 인터페이스 중 적어도 하나를 포함할 수 있다. 도 2에서는 입출력 인터페이스(240)가 프로세서(220)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(240)가 프로세서(220)에 포함되도록 구성될 수 있다. 정보 처리 시스템(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다.In addition, the input/output interface 240 of the information processing system 200 is connected to the information processing system 200 or means for interface with a device (not shown) for input or output that the information processing system 200 may include. can be For example, the input/output interface 240 may include at least one of a PCI express interface and an Ethernet interface. In FIG. 2 , the input/output interface 240 is shown as an element configured separately from the processor 220 , but is not limited thereto, and the input/output interface 240 may be included in the processor 220 . The information processing system 200 may include more components than those of FIG. 2 . However, there is no need to clearly show most of the prior art components.

정보 처리 시스템(200)의 프로세서(220)는 복수의 사용자 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 일 실시예에 따르면, 프로세서(220)는 하나 이상의 혈관이 촬영된 이미지를 획득할 수 있다. 프로세서(220)는 수신된 혈관 이미지로부터 가이드와이어의 평행이동 또는 회전 중 적어도 하나를 포함한 액션에 대한 확률 분포를 추정할 수 있고, 이를 기초로 제어 명령을 결정할 수 있다. 도 2에서, 프로세서(220)는 단일 프로세서인 것으로 도시되었지만, 이는 설명의 편의를 위한 것일 뿐이며, 프로세서(220)는 복수의 프로세서를 포함할 수 있다. The processor 220 of the information processing system 200 may be configured to manage, process, and/or store information and/or data received from a plurality of user terminals and/or a plurality of external systems. According to an embodiment, the processor 220 may obtain an image in which one or more blood vessels are photographed. The processor 220 may estimate a probability distribution for an action including at least one of translation or rotation of the guide wire from the received blood vessel image, and determine a control command based on the probability distribution. In FIG. 2 , processor 220 is illustrated as a single processor, but this is only for convenience of description, and processor 220 may include a plurality of processors.

도 3는 본 개시의 일 실시예에 따른 프로세서의 내부 구성을 나타내는 도면이다. 프로세서(220)는 퀘스트 설정부(310), 대화 연출부(320), 보상부(330) 및 실행부(340)를 포함할 수 있다. 도 3에서는 프로세서(220)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로, 복수의 구성 요소가 실제 물리적 환경에서 서로 통합되는 형태로 구현될 수 있다. 예를 들어, 퀘스트 설정부(310), 대화 연출부(320) 및 보상부(330)는 하나의 구성 요소로 구현될 수 있다.3 is a diagram showing an internal configuration of a processor according to an embodiment of the present disclosure. The processor 220 may include a quest setting unit 310, a dialog directing unit 320, a compensation unit 330, and an execution unit 340. In FIG. 3 , each component of the processor 220 represents functionally differentiated functional elements, and a plurality of components may be implemented in a form integrated with each other in an actual physical environment. For example, the quest setting unit 310, the dialogue directing unit 320, and the compensation unit 330 may be implemented as one component.

또한, 도 3에서는 프로세서(220)가 퀘스트 설정부(310), 대화 연출부(320), 보상부(330), 실행부(340)로 나누어서 구현되었으나, 이에 한정되지 않으며, 일부 구성이 생략되거나 다른 구성이 추가될 수 있다. In addition, in FIG. 3, the processor 220 is implemented by dividing the quest setting unit 310, the conversation directing unit 320, the compensation unit 330, and the execution unit 340, but it is not limited thereto, and some components are omitted or other components are omitted. Configurations can be added.

일 실시예에 따르면, 프로세서(220)는 복수의 프로세서를 포함할 수 있다. 여기서, 퀘스트 설정부(310), 대화 연출부(320), 보상부(330), 실행부(340) 중 일부는 하나의 프로세서에서 동작될 수 있으며, 나머지 일부는 다른 프로세서에 의해 동작될 수 있다. 이 경우, 복수의 프로세서는 중앙 처리 장치를 포함할 수 있으며, 이러한 중앙 처리 장치는 퀘스트 설정부(310), 대화 연출부(320), 보상부(330), 실행부(340)의 적어도 일부를 제어할 수 있다. 예를 들어, 실행부(340)에 포함된 그래프 구조 내의 복수의 노드를 실행하는 연산은 GPU, NPU 등의 가속기를 통해 구현될 수 있다. According to one embodiment, the processor 220 may include a plurality of processors. Here, some of the quest setting unit 310, the dialog directing unit 320, the compensation unit 330, and the execution unit 340 may be operated by one processor, and the remaining parts may be operated by another processor. In this case, the plurality of processors may include a central processing unit, and the central processing unit controls at least a part of the quest setting unit 310, the dialog directing unit 320, the compensation unit 330, and the execution unit 340. can do. For example, an operation for executing a plurality of nodes in a graph structure included in the execution unit 340 may be implemented through an accelerator such as a GPU or NPU.

일 실시예에 따르면, 퀘스트 설정부(310)는 그래프 구조를 구성하는 복수의 노드 중에서 적어도 하나의 노드를 출력할 수 있다. 여기서, 복수의 노드는 콤퍼짓(composite) 노드를 포함할 수 있고, 콤퍼짓 노드는 하위에 적어도 하나의 태스크(task) 노드를 포함할 수 있다. 예를 들어, 사용자는 입력 장치(예를 들어, 키보드, 마우스 등)를 통해 콤퍼짓 노드가 생성되도록 입력을 할 수 있다. 여기서 사용자의 입력 방식은 코딩에 대한 지식 없이도 쉽게 할 수 있는 방식(예를 들어, 마우스 클릭 및 드래그)을 포함할 수 있다. 이에 따라, 퀘스트 설정부(310)는 사용자가 입력한 데이터를 수신할 수 있고, 수신된 입력에 대응하여 콤퍼짓 노드를 인터페이스 상에 출력할 수 있다. According to one embodiment, the quest setting unit 310 may output at least one node from among a plurality of nodes constituting the graph structure. Here, the plurality of nodes may include a composite node, and the composite node may include at least one task node below it. For example, a user may input an input to create a composite node through an input device (eg, a keyboard, a mouse, etc.). Here, the user's input method may include a method that can be easily performed without coding knowledge (eg, mouse click and drag). Accordingly, the quest setting unit 310 may receive data input by the user, and may output a composite node on the interface in response to the received input.

일 실시예에 따르면, 퀘스트 설정부(310)는 출력된 노드의 상세 정보를 설정할 수 있다. 예를 들어, 사용자는 콘텍스트(context) 메뉴를 이용하여 적어도 하나의 노드를 편집할 수 있다. 여기서, 편집은 노드의 삭제, 잘라내기, 복사, 붙여넣기, 연결 끊기 등을 포함할 수 있다. 다른 예로, 사용자는 콘텍스트 메뉴를 이용하여 적어도 하나의 노드에 대한 조건을 추가할 수 있다. 여기서 조건은 대화 결과에 대한 조건, 객체와의 상호작용에 대한 조건, 객체의 특정 정보(예를 들어, 체력, 인종 등)에 대한 조건 등을 포함할 수 있다. 추가적으로 또는 대안적으로, 사용자는 노드 상세 정보를 인테페이스 화면 우측의 노드 정보 영역(110)에 입력할 수 있다. 여기서, 노드 상세 정보는 대화 노드의 경우에는 대화 내용을 지칭할 수 있고, 미션 노드의 경우에는 미션 룰(rule)에 대한 정보를 지칭할 수 있다.According to one embodiment, the quest setting unit 310 may set detailed information of the output node. For example, a user can edit at least one node using a context menu. Here, editing may include deleting, cutting, copying, pasting, and disconnecting nodes. As another example, a user may add a condition for at least one node by using a context menu. Here, the condition may include a condition for a conversation result, a condition for interaction with an object, a condition for specific information (eg, physical strength, race, etc.) of the object, and the like. Additionally or alternatively, the user may input node detailed information into the node information area 110 on the right side of the interface screen. Here, the detailed node information may refer to conversation contents in the case of a dialog node, and may refer to information about a mission rule in the case of a mission node.

일 실시예에 따르면, 대화 연출부(320)는 퀘스트에 포함된 캐릭터 간의 대화를 연출할 수 있다. 예를 들어, 그래프 구조에서 대화 노드가 하위에 하나 이상의 태스크 노드를 포함하고 있는 경우에, 사용자는 해당 태스크 노드에 캐릭터의 초상화 및 대화 내용 텍스트에 대한 정보를 입력할 수 있다. 여기서, 대화 연출부(320)는 사용자 입력에 따라 캐릭터의 초상화를 상황에 맞게 설정할 수 있다. 예를 들어, 대화 연출부(320)는 캐릭터의 결투 상황에서 캐릭터 초상화의 표정을 화난 표정으로 적절히 변경함으로써, 3D 콘텐츠의 전체적인 내러티브를 자연스럽게 이어줄 수 있는데, 이는 도 6을 참조하여 상세히 후술된다.According to an embodiment, the dialogue directing unit 320 may direct dialogue between characters included in the quest. For example, if a dialog node includes one or more task nodes under a graph structure, a user may input information about a portrait of a character and text of a conversation in a corresponding task node. Here, the dialogue directing unit 320 may set the portrait of the character according to the situation according to the user input. For example, the conversation directing unit 320 can naturally connect the overall narrative of 3D content by appropriately changing the expression of a character portrait to an angry expression in a duel situation, which will be described later in detail with reference to FIG. 6 .

일 실시예에 따르면, 보상부(330)는 퀘스트의 미션 달성에 따른 보상을 캐릭터에게 부여할 수 있다. 예를 들어, 그래프 구조에서 미션 노드(170)가 하위에 미션 웨이트 노드(180)를 태스크 노드로서 포함하고 있는 경우에, 사용자는 미션 웨이트 노드(180)에 미션 완료 시 플레이어에게 지급되는 보상(예를 들어, 플레이어의 체력 회복, 플레이어에게 필요한 아이템 제공, NPC와 거래할 수 있는 코인 제공 등)에 대한 정보를 입력할 수 있다. 이에 따라, 보상부(330)는 플레이어로 하여금 미션을 달성하도록 유도함으로써, 3D 콘텐츠 소비자에게 게임의 재미와 몰입감을 제공해줄 수 있다. According to one embodiment, the compensation unit 330 may grant a reward according to achievement of a quest mission to a character. For example, if the mission node 170 in the graph structure includes the mission weight node 180 as a task node under it, the user may send the mission weight node 180 a reward given to the player when the mission is completed (eg For example, you can enter information about recovery of the player's health, provision of necessary items to the player, provision of coins that can be traded with NPCs, etc.). Accordingly, the compensation unit 330 may provide fun and immersion in the game to 3D content consumers by inducing the player to achieve a mission.

일 실시예에 따르면, 사용자는 본 개시의 프레임워크를 이용하여 P2E(Play to Earn) 형태로 퀘스트를 제작할 수 있다. 여기서, P2E는 게임을 하면서 돈을 번다는 개념으로, 사용자가 게임을 하며 획득한 재화나 아이템이 블록체인 생태계에서 자산으로 활용되는 모델을 지칭할 수 있다. 이 경우, 보상부(330)는 플레이어가 미션을 완료할 시에 보상으로 NFT(Non-Fungible Token)를 제공할 수 있다. 예를 들어, 본 개시에 의한 프레임워크를 이용하여 제작된 P2E 게임에서, 사용자 단말은 복수의 플레이어를 가상 공간에 스폰(spawn)할 수 있고, 스폰된 플레이어는 퀘스트 진행에 따라 미션을 수행할 수 있다. 여기서, 보상부(330)는 미션 수행 완료의 보상으로 NFT를 플레이어에게 제공할 수 있고, 플레이어는 획득한 NFT를 가상 공간 내에서 다른 플레이어와 교환할 수도 있다.According to an embodiment, a user may create a quest in a P2E (Play to Earn) format using the framework of the present disclosure. Here, P2E is the concept of making money while playing games, and can refer to a model in which goods or items acquired by users while playing games are used as assets in the blockchain ecosystem. In this case, the compensation unit 330 may provide a non-fungible token (NFT) as a reward when the player completes the mission. For example, in a P2E game produced using the framework according to the present disclosure, a user terminal may spawn a plurality of players in a virtual space, and the spawned players may perform missions according to the progress of a quest. there is. Here, the compensation unit 330 may provide NFTs to the player as a reward for completing the mission, and the player may exchange the acquired NFTs with other players in the virtual space.

일 실시예에 따르면, 실행부(340)는 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행할 수 있다. 예를 들어, 실행부(340)는 루트 노드에서 리프(leaf) 노드 방향으로 순차적으로 각 노드를 실행하여 디스플레이 출력 가능 장치를 통해 3D 콘텐츠를 디스플레이할 수 있다. 여기서, 적어도 하나의 노드가 동일한 레벨의 복수의 하위 노드를 포함하고 있는 경우에는, 실행부(340)는 좌측 노드에서 우측 노드로 순차적으로 각 노드를 실행할 수 있다. 이와 같은 노드의 실행 순서 관련은 도 5를 참조하여 상세히 후술된다.According to one embodiment, the execution unit 340 may execute a plurality of nodes in the generated quest according to a predetermined order. For example, the execution unit 340 may display 3D content through a device capable of display output by sequentially executing each node from a root node to a leaf node. Here, when at least one node includes a plurality of lower nodes of the same level, the execution unit 340 may sequentially execute each node from the left node to the right node. The execution sequence of such nodes will be described later in detail with reference to FIG. 5 .

일 실시예에 따르면, 실행부(340)는 퀘스트 웨이트 노드(160)에서 실행을 종료시킬 수 있다. 여기서, 사용자는 퀘스트 웨이트 노드(160)에 퀘스트 완료 여부 판단 대기 시간을 설정할 수 있다. 예를 들어, 사용자가 퀘스트 완료 여부 판단 대기 시간을 0.5초로 설정하면, 실행부(340)는 매 0.5초마다 퀘스트가 완료 조건을 충족하였는지 여부를 체크할 수 있다. 다른 실시예로, 실행부(340)는 퀘스트 웨이트 노드(160)의 설정에 따라 다른 퀘스트를 실행할 수 있다. 이에 따라, 실행부(340)는 복수의 퀘스트를 연속적으로 실행할 수 있다.According to an embodiment, the execution unit 340 may terminate execution in the quest weight node 160 . Here, the user may set a waiting time for determination of whether or not to complete the quest in the quest weight node 160 . For example, if the user sets the waiting time for determining whether the quest has been completed to 0.5 seconds, the execution unit 340 may check whether the quest has satisfied the completion condition every 0.5 seconds. In another embodiment, the execution unit 340 may execute another quest according to the setting of the quest weight node 160 . Accordingly, the execution unit 340 may continuously execute a plurality of quests.

상술된 바와 같이, 정보 처리 시스템(200)은 코딩에 대한 전문적인 지식이 없는 작업자로부터 단순한 마우스 클릭 및 드래그 입력를 통해 퀘스트 생성을 위한 그래프 구조를 생성할 수 있고, 미션 완료에 따른 보상을 제공하도록 퀘스트를 설정할 수 있다. 이에 따라, 사용자는 높은 품질의 3D 콘텐츠를 손 쉽게 제작할 수 있다.As described above, the information processing system 200 can generate a graph structure for quest generation through simple mouse click and drag input from a worker without professional knowledge of coding, and provide a quest reward according to mission completion. can be set. Accordingly, the user can easily produce high-quality 3D content.

도 4은 본 개시의 일 실시예에 따른 그래프 구조를 구성하는 복수의 노드를 생성하고 연결하는 예시를 나타내는 도면이다. 도시된 바와 같이, 사용자는 마우스의 클릭 및 드래그 입력을 통해 복수의 노드를 생성하고 연결할 수 있다. 예를 들어, 사용자는 미션 노드(400)에서 연결될 수 있는 미션 웨이트 노드(410)를 마우스의 클릭 및 드래그 입력을 통해 생성할 수 있다. 여기서 미션 노드(400)는 플레이어에게 주어진 임무가 설정되는 노드를 지칭할 수 있고, 3D 공간에서 스폰된 각 객체마다 다른 미션 형태(예를 들어, 몬스터 제거, 특정 객체와 관련된 이벤트 발생 등)가 주어질 수 있다. 미션 노드(400)에 화살표(440)로 연결된 미션 웨이트 노드(410)는 미션 완료 여부 판단을 위한 대기 시간이 설정되는 노드를 지칭할 수 있다. 여기서 화살표(440)는 미리 정해진 방향으로 자동 생성될 수 있다. 이를 통해 사용자는 노드의 흐름을 쉽게 파악할 수 있다.4 is a diagram illustrating an example of generating and connecting a plurality of nodes constituting a graph structure according to an embodiment of the present disclosure. As shown, a user may create and connect a plurality of nodes through mouse click and drag input. For example, a user can create a mission weight node 410 that can be connected to the mission node 400 through a mouse click and drag input. Here, the mission node 400 may refer to a node where a mission given to the player is set, and a different mission type (eg, monster removal, event related to a specific object, etc.) will be given for each object spawned in 3D space. can The mission weight node 410 connected to the mission node 400 by an arrow 440 may refer to a node where a waiting time for determining whether a mission is completed is set. Here, the arrow 440 may be automatically generated in a predetermined direction. Through this, users can easily understand the flow of nodes.

일 실시예에 따르면, 사용자는 노드의 하단 중앙 박스(420)를 클릭하고 생성할 노드 위치까지 끌어당김으로써(click and drag), 하위 노드(430)를 생성할 수 있다. 이 경우, 정보 처리 시스템(200)은 해당 노드가 가질 수 있는 콤퍼짓 노드 및 태스크 노드를 화면에 출력할 수 있고, 사용자는 마우스로 원하는 노드를 클릭함으로써 하위 노드 생성 작업을 완료할 수 있다. 이와 같이, 사용자는 코딩 지식이 없더라도, 마우스 클릭 및 드래그 입력을 통하여 노드를 생성하고 연결함으로써 퀘스트 생성을 할 수 있다.According to one embodiment, the user can create the lower node 430 by clicking the lower center box 420 of the node and dragging it to the location of the node to be created (click and drag). In this case, the information processing system 200 may output on the screen a composite node and a task node that the corresponding node may have, and the user may click a desired node with a mouse to complete the sub-node creation task. In this way, the user can create a quest by creating and connecting nodes through mouse click and drag input, even without coding knowledge.

도시된 바와 같이, 사용자는 미션 노드(400)가 가질 수 있는 태스크 노드 중에서 미션 웨이트 노드(410)를 선택하여 생성할 수 있다. 다른 예로, 미션 노드(400)는 태스크 노드가 아닌 콤퍼짓 노드(예를 들어, 대화 노드)를 생성하여 미션 노드와 연결할 수 있다. 이 경우, 사용자 단말은 대화 노드의 대화가 종료되면, 해당 미션을 종료시킬 수 있다. 또 다른 예로, 미션 노드는 영상을 재생할 수 있는 컷신(cutscene) 노드를 하위 노드로서 선택하여 생성하여 콘텐츠 목적에 맞는 영상을 사용자에게 디스플레이할 수 있다. As shown, a user may select and create a mission weight node 410 from task nodes that the mission node 400 may have. As another example, the mission node 400 may create a composite node (eg, a dialogue node) other than a task node and connect it to the mission node. In this case, the user terminal may end the corresponding mission when the conversation of the conversation node is ended. As another example, the mission node may select and create a cutscene node capable of reproducing an image as a lower node to display an image suitable for the purpose of the content to the user.

일 실시예에 따르면, 복수의 노드의 각각에 썸네일(thumbnail)을 설정할 수 있다. 여기서, 썸네일은 노드에 나타나는 이미지로서, 해당 노드가 실행됐을 때의 화면을 캡쳐한 사진의 축소판을 지칭할 수 있다. 도 4에서, 미션 노드(400)는 썸네일이 설정된 상태를 보여주고, 미션 웨이트 노드(410)는 썸네일이 설정되지 않은 상태를 나타낸다. 여기서, 미션 웨이트 노드(410)의 느낌표 이미지는 썸네일이 없다는 것을 나타낼 수 있다. 이와 같이, 사용자는 주요 노드에 썸네일을 설정함으로써, 사용자가 퀘스트를 반드시 시뮬레이션 하지 않더라도 퀘스트의 내용을 이해할 수 있다.According to one embodiment, a thumbnail may be set for each of a plurality of nodes. Here, the thumbnail is an image displayed on the node, and may refer to a thumbnail of a photo captured when the corresponding node is executed. In FIG. 4 , the mission node 400 shows a state where thumbnails are set, and the mission weight node 410 shows a state where thumbnails are not set. Here, the exclamation point image of the mission weight node 410 may indicate that there is no thumbnail. In this way, the user can understand the contents of the quest even if the user does not necessarily simulate the quest by setting thumbnails in the main nodes.

도 5은 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 게임 콘텐츠를 제작하는 그래프 구조 예시를 나타내는 도면이다. 사용자는 본 개시의 프레임워크를 이용하여 다양한 3D 콘텐츠(예를 들어, 3D 게임, 3D 프리젠테이션 등)를 제작할 수 있다. 이에 따라, 도 5 및 도 6에서는 3D 게임에 대한 예시를 설명하고, 3D 프리젠테이션에 대한 실시예는 도 7 및 도 8을 참조하여 상세히 후술된다. 5 is a diagram illustrating an example of a graph structure for producing 3D game contents based on a game engine according to an embodiment of the present disclosure. Users can create various 3D contents (eg, 3D games, 3D presentations, etc.) using the framework of the present disclosure. Accordingly, an example of a 3D game is described in FIGS. 5 and 6 , and an embodiment of a 3D presentation will be described later in detail with reference to FIGS. 7 and 8 .

도 5에 도시된 그래프 구조는 3D 게임의 가상 공간에서 미리 정해진 NPC(예를 들어, 경비병 등)을 만나면 NPC와 대화를 하고, NPC를 처치하여 아이템과 체력회복의 보상을 획득하는 퀘스트를 나타낼 수 있다. 여기서, NPC(Non Player Character)는 플레이가 불가능한 캐릭터를 지칭할 수 있고, 사용자가 조작하는 플레이어 외의 다른 모든 캐릭터가 포함될 수 있다.The graph structure shown in FIG. 5 may represent a quest to obtain a reward for items and physical recovery by talking to the NPC when meeting a predetermined NPC (eg, guard, etc.) in the virtual space of the 3D game, and defeating the NPC. there is. Here, NPC (Non Player Character) may refer to a non-playable character, and may include all characters other than the player manipulated by the user.

일 실시예에서, 사용자 단말은 3D 게임을 위한 퀘스트를 루트 노드(500)에서 시작할 수 있고, 하위에 퀘스트 노드(510)를 연결할 수 있다. 여기서, 퀘스트 노드(510)는 미션을 시작하는 미션 노드(520)와 퀘스트를 종료하는 퀘스트 웨이트 노드(570)로 연결될 수 있다. In one embodiment, the user terminal may start a quest for a 3D game from the root node 500 and connect a quest node 510 to a lower level. Here, the quest node 510 may be connected to a mission node 520 that starts a mission and a quest weight node 570 that ends a quest.

일 실시예에서, 미션 노드(520)는 미션 규칙 및 미션 유형에 대한 정보를 포함할 수 있다. 예를 들어, 사용자는 미션 규칙으로서 특정 객체(object)를 스폰(spawn)하도록 설정할 수 있고, 미션 유형으로는 제거(kill)를 선택할 수 있다. 이에 따라, 사용자는 스폰된 객체를 제거하는 미션을 간단하게 생성할 수 있다.In one embodiment, the mission node 520 may include information about mission rules and mission types. For example, a user may set a specific object to spawn as a mission rule, and may select kill as a mission type. Accordingly, the user can simply create a mission to remove the spawned object.

일 실시예에서, 사용자 단말은 사용자가 미션의 내용을 이해할 수 있도록 미션 노드(520) 하위에 대화 노드(530)를 연결할 수 있다. 여기서 플레이어 및 NPC의 대화를 각각 설정하기 위하여 대화 노드(530) 하위에 복수의 태스크가 연결될 수 있다. 일 실시예로, 플레이어가 NPC를 만났을 때, 사용자 단말은 대화 노드(530)의 첫번째 태스크 노드(540)를 통해 NPC의 정해진 대사를 디스플레이 시킬 수 있다. 예를 들어, "못 보던 녀석이군. 너는 누구냐!"라고 NPC가 대화를 시작할 수 있다. 그리고 나서, 사용자 단말은 대화 노드(530)의 두번째 태스크 노드(550)를 통해 플레이어의 정해진 대사를 디스플레이 시킬 수 있다. 예를 들어, "앗, 들켰다! 어쩔 수 없지. 해치울 수 밖에"라고 플레이어가 대화를 이어갈 수 있다.In one embodiment, the user terminal may connect a conversation node 530 under the mission node 520 so that the user can understand the contents of the mission. Here, a plurality of tasks may be connected under the dialog node 530 in order to set up a conversation between the player and the NPC, respectively. In one embodiment, when the player meets the NPC, the user terminal may display the NPC's predetermined dialogue through the first task node 540 of the dialogue node 530. For example, an NPC might start a conversation by saying, "You're a stranger. Who are you!" Then, the user terminal may display the player's predetermined dialogue through the second task node 550 of the dialogue node 530 . For example, "Oh, I got caught! I can't help it. I have to deal with it", the player might continue the conversation.

일 실시예에서, 사용자 단말은 미션 노드(520)를 미션 웨이트 노드(570)에서 종료시킬 수 있다. 여기서, 사용자는 미션 웨이트 노드(570)에 미션 완료 여부 판단 대기 시간을 설정할 수 있다. 예를 들어, 사용자는 스폰된 객체가 제거되었는지를 0.5초마다 판단하도록 미션 웨이트 노드(570)를 설정할 수 있다. 또한, 사용자는 미션 웨이트 노드(570)에 미션 완료 시 제공되는 보상에 대한 정보를 입력할 수 있다. 예를 들어, 사용자는 스폰된 객체가 제거된 경우에 플레이어가 보상으로서 체력이 회복되거나 또는 필요한 아이템을 제공받을 수 있도록 설정할 수 있다. 이렇게 설정된 보상은 보상부(330)를 통해 플레이어에게 제공될 수 있다.In one embodiment, the user terminal may terminate mission node 520 at mission weight node 570 . Here, the user may set a waiting time for determining whether the mission is complete in the mission weight node 570 . For example, the user could set the mission weight node 570 to determine every 0.5 seconds whether a spawned object has been removed. In addition, the user may input information about a reward provided when a mission is completed in the mission weight node 570 . For example, the user may set the player to recover health or receive a necessary item as a reward when the spawned object is removed. The compensation set in this way may be provided to the player through the compensation unit 330 .

일 실시예에 따르면, 사용자 단말은 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행할 수 있다. 여기서 정해진 순서는 그래프 구조를 구성하는 복수의 노드의 각각을 루트 노드에서 리프(leaf) 노드 방향으로 정해질 수 있다. 예를 들어, 사용자 단말은 퀘스트 노드(510)를 시작으로 미션 노드(520), 대화 노드(530), 대화 노드의 첫번째 태스크 노드(540) 순서로 실행할 수 있다. According to one embodiment, the user terminal may execute a plurality of nodes in the generated quest according to a predetermined order. Here, the determined order may be determined in a direction from a root node to a leaf node for each of a plurality of nodes constituting the graph structure. For example, the user terminal may execute a quest node 510 as a start, a mission node 520, a conversation node 530, and a first task node 540 of the conversation nodes in order.

추가적으로 또는 대안적으로, 사용자 단말은 그래프 구조를 구성하는 복수의 노드 중에서 적어도 하나의 노드가 동일한 레벨의 복수의 하위 노드를 포함하고 있는 경우에는 좌측 노드에서 우측 노드로 순차적으로 실행할 수 있다. 예를 들어, 대화 노드(530) 하위에 두 개의 태스크 노드가 동일한 레벨로 연결될 수 있다. 이 경우, 사용자 단말은 좌측에 있는 첫 번째 태스크 노드(540)를 먼저 실행하고, 그 다음 우측에 있는 두 번째 태스크 노드(550)를 실행할 수 있다. 이를 통해, 사용자는 그래프 구조의 실행 순서를 직관적으로 이해할 수 있을 뿐만 아니라, 사용자는 시각적으로도 각 노드의 우측 상단에 표시된 실행 번호(580)를 통해 노드 각각의 실행 순서를 확인할 수 있다.Additionally or alternatively, the user terminal may sequentially execute from a left node to a right node when at least one node among a plurality of nodes constituting the graph structure includes a plurality of lower nodes of the same level. For example, two task nodes below the dialog node 530 may be connected at the same level. In this case, the user terminal may first execute the first task node 540 on the left side and then execute the second task node 550 on the right side. Through this, the user can not only intuitively understand the execution sequence of the graph structure, but also visually check the execution sequence of each node through the execution number 580 displayed on the upper right of each node.

상술된 바와 같이, 사용자는 본 개시의 프레임워크를 통하여 3D 게임 콘텐츠를 위한 퀘스트를 손쉽게 생성할 수 있다. 또한, 사용자는 도 5와 같은 퀘스트를 복수의 퀘스트로 연결하여 구성할 수 있고, 이를 통해 게임의 스토리를 이어갈 수 있다.As described above, the user can easily create a quest for 3D game content through the framework of the present disclosure. In addition, the user can configure the quest as shown in FIG. 5 by connecting it to a plurality of quests, and through this, the story of the game can be continued.

도 6는 본 개시의 일 실시예에 따른 캐릭터의 감정 변화를 출력하는 대화 창 초상화 이미지의 예시를 나타내는 도면이다. 일 실시예에 따르면, 사용자는 대화형 스토리를 만들기 위하여, 하나 이상의 대화 노드(530)를 생성할 수 있다. 도 6은, 실행부(340)가 대화 노드(530)를 실행할 때 디스플레이에 출력하는 대화모드(600)의 예시이다. 여기서, 실행부(340)는 화자의 초상화 및 대화 내용을 디스플레이 하단(610)에 표시할 수 있다.6 is a diagram illustrating an example of a conversation window portrait image outputting a change in emotion of a character according to an embodiment of the present disclosure. According to one embodiment, a user may create one or more conversation nodes 530 to create an interactive story. 6 is an example of a dialog mode 600 output to a display when the execution unit 340 executes the dialog node 530 . Here, the execution unit 340 may display the speaker's portrait and conversation contents on the lower part of the display 610 .

일 실시예에 따르면, 사용자는 대화모드(600)에서 나타나는 화자의 초상화를 대화 내용에 따라 감정을 드러내는 초상화로 변경시킬 수 있다. 예를 들어, 대화 연출부(320)는 사용자의 설정에 따라 초상화의 기본 모습(630)을 화난 모습(640)으로 변경할 수 있다. According to an embodiment, the user may change the portrait of the speaker appearing in the conversation mode 600 to a portrait revealing emotions according to conversation content. For example, the dialogue director 320 may change the basic appearance 630 of the portrait to an angry appearance 640 according to the user's setting.

일 실시예에 따르면, 사용자 단말은 캐릭터의 감정을 표현할 수 있는 애니매이션을 메모리(210)에 미리 저장시킬 수 있고, 사용자는 대화 연출부(320)를 통해 저장된 애니매이션을 로딩하여 사용할 수 있다. 예를 들어, 사용자는 대화모드의 초상화에 화난 캐릭터 이미지를 생성하기 위해서, 미리 저장된 화난 캐릭터의 애니매이션을 로딩할 수 있다. 그리고 나서, 사용자는 대화 연출부(320)를 통해 원하는 애니매이션 동작을 선택하여 화자의 초상화로 변경시킬 수 있다. 다른 예로, 사용자는 애니매이션 동작 중에서 특정 모션을 캐릭터가 취할 때 일시 정지를 하여 화난 이미지를 획득할 수 있다. 이에 따라, 사용자는 단조로운 대화 형식이 아닌, 감정을 표현하는 애니매이션 및 이미지를 통해 시각적 효과를 줄 수 있는 대화를 연출할 수 있다.According to an embodiment, the user terminal may pre-store animations capable of expressing emotions of the characters in the memory 210 , and the user may load and use the stored animations through the dialog directing unit 320 . For example, the user may load a pre-stored animation of an angry character in order to create an angry character image in a conversation mode portrait. Then, the user can select a desired animation motion through the dialog directing unit 320 and change it to a portrait of a speaker. As another example, the user may acquire an angry image by temporarily stopping when a character takes a specific motion among animation motions. Accordingly, the user can direct a conversation that can give a visual effect through animations and images expressing emotions, rather than a monotonous conversation format.

도 7는 본 개시의 일 실시예에 따른 게임 엔진 기반의 3D 프리젠테이션을 제작하는 그래프 구조 예시를 나타내는 도면이다. 도 7은, 3D 프리젠테이션을 실시하기 위한 그래프 구조를 나타내며, 도 5에서 설명된 기본적인 노드의 구성은 생략된다. 또한, 도 7에 개시된 그래프 구조의 시뮬레이션 실시예는 도 8을 이용하여 상세히 후술된다.7 is a diagram illustrating an example of a graph structure for producing a 3D presentation based on a game engine according to an embodiment of the present disclosure. 7 shows a graph structure for performing a 3D presentation, and the configuration of the basic nodes described in FIG. 5 is omitted. In addition, a simulation embodiment of the graph structure disclosed in FIG. 7 will be described later in detail using FIG. 8 .

종래의 발표 형식은 프리젠테이션 소프트웨어(예를 들어, 파워포인트, 키노트 등)를 이용하여 문자 및 이미지가 포함된 자료를 만들고, 이것을 슬라이드 쇼 형식으로 보여주는 방식이었다. 이와 달리, 본개시에 의한 3D 프리젠테이션은 가상 공간 내에서 객체와 상호작용하며 실시될 수 있다. 예를 들어, 사용자 단말이 발표를 듣고자 하는 객체(예를 들어, NPC)를 가상 공간 내에 스폰(spawn)할 수 있고, 스폰된 객체는 가상 공간 내에서 자유롭게 발표 영상을 볼 수 있고, 함께 참여한 다른 객체와 상호 교류도 할 수 있다.A conventional presentation format is a method of creating data including text and images using presentation software (eg, PowerPoint, Keynote, etc.) and presenting the data in a slide show format. Unlike this, the 3D presentation according to the present disclosure may be performed while interacting with an object in a virtual space. For example, a user terminal can spawn an object (eg, NPC) to listen to an announcement in a virtual space, and the spawned object can freely watch the announcement video in the virtual space and participate together. It can also interact with other objects.

일 실시예에 따르면, 사용자는 루트 노드(700)에서 3D 프리젠테이션을 위한 그래프 구조를 시작할 수 있고, 루트 노드(700)는 퀘스트 노드(710)와 미션 노드(720)로 연결될 수 있다. 여기서, 미션 노드(720)는 게임 콘텐츠 경우와 달리, NPC를 처치하는 액션 없이도, 그래프 구조에 포함된 모든 노드가 실행이 되었을 때 미션을 종료시킬 수 있다. According to an embodiment, a user may start a graph structure for 3D presentation from a root node 700, and the root node 700 may be connected to a quest node 710 and a mission node 720. Here, the mission node 720 may end the mission when all nodes included in the graph structure are executed without an action of killing NPCs, unlike in the case of game content.

일 실시예에 따르면, 사용자는 미션 노드(720)에 3D 프리젠테이션 제작을 위한 다양한 하위 노드들을 연결할 수 있다. 예를 들어, 사용자는 미션 노드(720) 하위에 미디어 노드(730)를 연결하여 인트로 동영상을 전체 화면으로 디스플레이할 수 있다. 이어서, 사용자는 컷신 노드(740)를 미디어 노드(730)와 동일한 레벨로 연결하여 인트로 동영상 재생 후에, 가상 공간내에서 카메라 워크(camera work)가 수행되도록 할 수 있다. 여기서, 사용자는 카메라 워크를 통해 가상 공간 내 화면을 입체적으로 연출함으로써, 3D 콘텐츠로서의 효과를 극대화시킬 수 있다.According to one embodiment, a user may connect various sub-nodes for producing a 3D presentation to the mission node 720 . For example, the user can display the intro video in full screen by connecting the media node 730 under the mission node 720 . Subsequently, the user connects the cutscene node 740 at the same level as the media node 730 so that camera work can be performed in the virtual space after playing the intro video. Here, the user can maximize the effect as 3D content by directing the screen in the virtual space three-dimensionally through camera work.

일 실시예에 따르면, 사용자는 가상 공간의 일부 영역에 프랍 미디어를 디스플레이할 수 있는 액션 노드(750)를 미션 노드(720) 하위에 연결할 수 있다. 여기서, 프랍 미디어는 전체 화면으로 제공되지 않고, 가상 공간의 일부 영역에 디스플레이되는 영상을 지칭할 수 있다. 사용자는 이와 같은 프랍 미디어 재생을 통해, 3D 프리젠테이션에 참가하는 객체가 가상 공간 내에 속해 있다는 느낌을 받을 수 있다. According to an embodiment, a user may connect an action node 750 capable of displaying prop media in a partial region of a virtual space to a lower portion of the mission node 720 . Here, the prop media may refer to an image displayed in a partial area of the virtual space rather than being provided on the entire screen. A user may feel that an object participating in a 3D presentation belongs to a virtual space through such prop media playback.

일 실시예에 따르면, 사용자는 상술된 복수의 노드를 3D 프리젠테이션 내용에 따라, 반복적으로 미션 노드(720)에 연결시킬 수 있다. 예를 들면, 사용자는 액션 노드(750) 우측으로 컷신 노드(760) 및 액션 노드(770)를 다시 연결하여 사용할 수 있다. 사용자는 단순히 복수의 노드를 마우스 클릭 및 드래그 입력을 통해 쉽게 연결시킬 수 있기 때문에, 3D 프리젠테이션의 구성을 원하는대로 쉽게 제작할 수 있다.According to one embodiment, the user may repeatedly connect the above-described plurality of nodes to the mission node 720 according to the 3D presentation. For example, the user can connect the cutscene node 760 and the action node 770 to the right of the action node 750 and use them. Since the user can easily connect a plurality of nodes simply by clicking and dragging a mouse, the composition of the 3D presentation can be easily produced as desired.

일 실시예에 따르면, 사용자는 미션의 종료를 위해 미션 웨이트 노드(780)를 미션 노드(720) 하위에 연결할 수 있다. 또한, 사용자는 모든 노드의 실행이 완료된 경우 퀘스트 웨이트 노드(790)를 퀘스트 노드(710)에 연결하여 퀘스트를 종료할 수 있다. 추가적으로 또는 대안적으로 퀘스트 웨이트 노드(790)는 또 다른 퀘스트의 루트 노드(미도시)로 연결될 수 있다.According to one embodiment, the user may connect the mission weight node 780 to the lower part of the mission node 720 to complete the mission. In addition, the user may end the quest by connecting the quest weight node 790 to the quest node 710 when execution of all nodes is completed. Additionally or alternatively, the quest weight node 790 may be connected to the root node (not shown) of another quest.

도 8은 본 개시의 일 실시예에 따른 3D 프리젠테이션을 실행한 화면을 나타내는 도면이다. 도시된 바와 같이, 실행부(340)는 도 7에서 설명된 3D 프리젠테이션의 그래프 구조(800)에 대한 시뮬레이션 모드를 활성화시켜서 3D 프리젠테이션을 디스플레이할 수 있다.8 is a diagram illustrating a screen on which a 3D presentation is executed according to an embodiment of the present disclosure. As shown, the execution unit 340 may display the 3D presentation by activating a simulation mode for the graph structure 800 of the 3D presentation described in FIG. 7 .

일 실시예에 따르면, 실행부(340)는 미션 노드(720) 하위 노드 중에서, 가장 좌측에 위치하는 미디어 노드(730)를 먼저 실행하여 디스플레이할 수 있다. 예를 들어, 사용자는 미디어 노드(730)를 이용하여 발표 시작 영상(820)이 전체 화면으로 디스플레이 되도록 설정할 수 있다. According to an embodiment, the execution unit 340 may first execute and display the media node 730 located at the leftmost side among the lower nodes of the mission node 720 . For example, the user can set the presentation start video 820 to be displayed in full screen using the media node 730 .

일 실시예에 따르면, 실행부(340)는 발표 시작 영상(820)에 이어서, 분위기 전환을 위한 카메라 워크(830)를 실행할 수 있다. 여기서, 카메라의 움직임에 따라 가상 공간 내에 스폰된 객체들이 화면에 보일 수 있다.According to an embodiment, the execution unit 340 may execute a camera walk 830 for changing the atmosphere following the presentation start video 820 . Here, objects spawned in the virtual space may be displayed on the screen according to the movement of the camera.

일 실시예에 따르면, 실행부(340)는 카메라 워크(830)에 이어서, 가상 공간의 일부 영역에 프랍 미디어(예를 들어, 발표 시작 영상과 이어지는 발표 중간 영상)를 재생할 수 있다. 여기서, 실행부(340)는 프랍 미디어 재생(850) 전에 디스플레이 화면을 흑백으로 전환(840)할 수 있다. 또한, 실행부(340)는 프랍 미디어 재생(850) 후에 프랍 미디어가 종료된 흑백 화면으로 전환(860)함으로써 프랍 미디어 재생이 완료된 효과를 줄 수 있다.According to an embodiment, following the camera walk 830, the execution unit 340 may reproduce prop media (eg, a presentation start video and a subsequent presentation middle video) in a partial area of the virtual space. Here, the execution unit 340 may convert the display screen to black and white before playing the prop media (850) (840). In addition, the execution unit 340 can give an effect that reproduction of the prop media has been completed by converting 860 the black-and-white screen on which the prop media has ended after playing the prop media (850).

일 실시예에 따르면, 실행부(340)는 분위기 전환을 위하여 다시 카메라 워크(870)를 실행할 수 있고, 이어서 또 다른 프랍 미디어를 재생(880)할 수 있다. 여기서, 사용자의 설정에 따라 실행부(340)는 가상 공간 내에서 프랍 미디어 재생(880) 위치를 변경할 수 있다. 예를 들어, 가상 공간 내에는 프랍 미디어가 재생될 수 있는 복수의 장소가 존재할 수 있고, 사용자는 발표 초반에 재생된 프랍 미디어(850)의 위치와 발표 후반에 재생되는 프랍 미디어(880)의 위치를 다르게 설정할 수 있다. 이를 통해, 스폰된 객체가 3D 프리젠테이션에 능동적으로 참여할 수 있는 효과를 가져올 수 있다. 여기서, 스폰된 객체는 NPC를 지칭할 수 있고, NPC는 미션 노드(720) 하위 노드로 연결된 NPC 스폰 노드(미도시)를 통하여 3D 가상 공간 내에 스폰될 수 있다.According to an embodiment, the execution unit 340 may execute the camera walk 870 again to change the atmosphere, and then reproduce another prop media (880). Here, according to the user's settings, the execution unit 340 may change the position of the prop media playback 880 in the virtual space. For example, a plurality of places where prop media can be reproduced may exist in the virtual space, and the user can select the location of the prop media 850 played at the beginning of the presentation and the location of the prop media 880 played at the end of the presentation. can be set differently. Through this, an effect in which the spawned object can actively participate in the 3D presentation can be brought about. Here, the spawned object may refer to an NPC, and the NPC may be spawned in the 3D virtual space through an NPC spawn node (not shown) connected to a lower node of the mission node 720 .

일 실시예로, 마지막 프랍 미디어(880)가 실행이 완료되면 사용자 단말은 미션을 종료할 수 있고, 이어서 퀘스트를 종료할 수 있다. 다른 실시예로, 퀘스트 웨이트 노드(790)가 또 다른 퀘스트로 연결되도록 설정된 경우에는 사용자 단말은 현재 퀘스트에 다음 퀘스트가 이어지도록 디스플레이할 수 있다.As an embodiment, when the execution of the last prop media 880 is completed, the user terminal may end the mission, and then may end the quest. In another embodiment, when the quest weight node 790 is set to be connected to another quest, the user terminal may display the next quest to follow the current quest.

도 9는 본 개시의 일 실시예에 따른 강화학습 기반의 가이드와이어 네비게이션을 자동 제어하는 방법의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 방법(900)은 적어도 하나의 프로세서(예: 정보 처리 시스템(200)의 적어도 하나의 프로세서(220))에 의해 3D 콘텐츠의 퀘스트(quest)를 생성하기 위한 인터페이스 화면을 출력함으로써 개시될 수 있다(S910). 여기서, 인터페이스 화면은 복수의 노드(node)와 노드를 연결하는 에지(edge)로 구성된 그래프(Graph) 구조를 포함할 수 있다. 9 is a flowchart illustrating an example of a method for automatically controlling reinforcement learning-based guidewire navigation according to an embodiment of the present disclosure. According to one embodiment, the method 900 outputs an interface screen for generating a quest of 3D content by at least one processor (eg, at least one processor 220 of the information processing system 200) It can be initiated by doing (S910). Here, the interface screen may include a graph structure composed of a plurality of nodes and edges connecting the nodes.

그리고 나서, 프로세서는 인터페이스 화면의 적어도 일부 영역에 루트(root) 노드를 출력할 수 있다(S920). 여기서, 루트 노드는 부모 노드가 없고, 자식 노드만 가진 노드를 지칭할 수 있다.Then, the processor may output a root node on at least a partial region of the interface screen (S920). Here, the root node may refer to a node having no parent node and only child nodes.

그 후, 프로세서는 루트 노드에서 연결되도록 퀘스트 노드를 출력할 수 있다(S930). 여기서, 퀘스트 노드 하위에는 콤퍼짓 노드(예를 들어, 미션 노드, 대화 노드, 액션 노드, 브랜치 노드 등) 또는 태스크 노드(예를 들어, 퀘스트 웨이트 노드)가 연결될 수 있다. After that, the processor may output a quest node to be connected from the root node (S930). Here, a composite node (eg, a mission node, a dialogue node, an action node, a branch node, etc.) or a task node (eg, a quest weight node) may be connected under the quest node.

그런 다음, 프로세서는 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 퀘스트를 생성할 수 있다(S940). 여기서, 복수의 노드는 콤퍼짓(composite) 노드 또는 태스크(task) 노드를 지칭할 수 있다. 일 실시예에서, 사용자 단말은 사용자의 작업명령에 따라, 퀘스트 노드 하위에 미션 노드를 연결할 수 있고, 연결된 미션 노드는 하나 이상의 자식 노드(예를 들어, 대화 노드 등)와 연결될 수 있다. Then, the processor may generate a quest by outputting at least one node among a plurality of nodes connectable from the quest node (S940). Here, the plurality of nodes may refer to composite nodes or task nodes. In one embodiment, the user terminal may connect a mission node under a quest node according to a user's work command, and the connected mission node may be connected to one or more child nodes (eg, a conversation node).

그리고 나서, 프로세서는 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행할 수 있다(S950). 여기서, 퀘스트의 실행은 사용자 단말이 퀘스트에 대한 시뮬레이션 모드를 활성화시켜서 디스플레이 장치를 통해 출력하는 단계를 포함할 수 있다. 예를 들어, 실행부는 루트 노드에서 리프 노드 방향으로 순차적으로 각 노드를 실행하여 디스플레이 출력 가능 장치를 통해 3D 콘텐츠를 디스플레이할 수 있다. 여기서, 적어도 하나의 노드가 동일한 레벨의 복수의 하위 노드를 포함하고 있는 경우에는, 실행부는 좌측 노드에서 우측 노드로 순차적으로 각 노드를 실행할 수 있다.Then, the processor may execute a plurality of nodes in the generated quest according to a predetermined order (S950). Here, the execution of the quest may include activating a simulation mode for the quest by the user terminal and outputting the result through a display device. For example, the execution unit may display 3D content through a display output capable device by sequentially executing each node in a direction from a root node to a leaf node. Here, when at least one node includes a plurality of lower nodes of the same level, the execution unit may sequentially execute each node from a left node to a right node.

상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록 수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The above method may be provided as a computer program stored in a computer readable recording medium to be executed on a computer. The medium may continuously store programs executable by a computer or temporarily store them for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto optical media such as floptical disks, and Anything configured to store program instructions may include a ROM, RAM, flash memory, or the like. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.

본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는 지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안 된다.The methods, acts or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or combinations thereof. Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchange of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and the design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.

하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.In a hardware implementation, the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.

따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다.Accordingly, the various illustrative logical blocks, modules, and circuits described in connection with this disclosure may be incorporated into a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or may be implemented or performed in any combination of those designed to perform the functions described in A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.

펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.In firmware and/or software implementation, the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM ( on a computer readable medium, such as programmable read-only memory (EPROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage device, or the like. It can also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.

소프트웨어로 구현되는 경우, 상기 기법들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다.If implemented in software, the techniques may be stored on or transmitted over as one or more instructions or code on a computer readable medium. Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of non-limiting example, such computer readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or desired program code in the form of instructions or data structures. It can be used for transport or storage to and can include any other medium that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium.

예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크(disk) 와 디스크(disc)는, CD, 레이저 디스크, 광 디스크, DVD(digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들(disks)은 보통 자기적으로 데이터를 재생하고, 반면 디스크들(discs) 은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, the coaxial cable , fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of medium. Disk and disc as used herein include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc, where disks are usually magnetic data is reproduced optically, whereas discs reproduce data optically using a laser. Combinations of the above should also be included within the scope of computer readable media.

소프트웨어 모듈은, RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 연결될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 구성요소들로서 존재할 수도 있다.A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium can be coupled to the processor such that the processor can read information from or write information to the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and storage medium may reside within an ASIC. An ASIC may exist within a user terminal. Alternatively, the processor and storage medium may exist as separate components in a user terminal.

이상 설명된 실시예들이 하나 이상의 독립형 컴퓨터 시스템에서 현재 개시된 주제의 양태들을 활용하는 것으로 기술되었으나, 본 개시는 이에 한정되지 않고, 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 본 개시에서 주제의 양상들은 복수의 프로세싱 칩들이나 장치들에서 구현될 수도 있고, 스토리지는 복수의 장치들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 장치들은 PC들, 네트워크 서버들, 및 휴대용 장치들을 포함할 수도 있다.Although the embodiments described above have been described as utilizing aspects of the presently-disclosed subject matter in one or more stand-alone computer systems, the disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. . Further, aspects of the subject matter in this disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across multiple devices. These devices may include PCs, network servers, and portable devices.

본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in relation to some embodiments in this specification, various modifications and changes may be made without departing from the scope of the present disclosure that can be understood by those skilled in the art. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.

100: 그래프 영역
110: 노드 정보 영역
120: 탭 형식
130: 버튼 메뉴
140: 루트 노드
150: 퀘스트 노드
160: 퀘스트 웨이트 노드
170: 미션 노드
180: 미션 웨이트 노드
190: 대화 노드의 하위 노드
100: graph area
110: node information area
120: tab format
130: button menu
140: root node
150: Quest Node
160: quest weight node
170: mission node
180: mission weight node
190: child node of dialog node

Claims (10)

적어도 하나의 프로세서에 의해 수행되는, 게임 엔진 기반의 3D 콘텐츠를 제작하는 방법에 있어서,
상기 3D 콘텐츠의 퀘스트(quest)를 생성하기 위한 인터페이스 화면을 출력하는 단계 - 상기 인터페이스 화면은 복수의 노드(node)와 상기 노드를 연결하는 에지(edge)로 구성된 그래프(graph) 구조를 포함함 -;
상기 인터페이스 화면의 적어도 일부 영역에 루트(root) 노드를 출력하는 단계;
상기 루트 노드에서 연결되도록 퀘스트 노드를 출력하는 단계;
상기 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 상기 퀘스트를 생성하는 단계; 및
상기 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행하는 단계
를 포함하는, 게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
A method for producing 3D content based on a game engine, performed by at least one processor,
Outputting an interface screen for generating a quest of the 3D content, wherein the interface screen includes a graph structure composed of a plurality of nodes and an edge connecting the nodes. ;
outputting a root node on at least a partial region of the interface screen;
outputting a quest node to be connected from the root node;
generating the quest by outputting at least one node among a plurality of nodes connectable from the quest node; and
Executing a plurality of nodes in the generated quest in a predetermined order
A method for producing 3D content based on a game engine comprising a.
제1항에 있어서,
상기 게임 엔진은 언리얼(unreal) 엔진을 포함할 수 있고,
상기 인터페이스 화면은 상기 언리얼 엔진을 기초로 3D 콘텐츠를 제작할 수 있는 프레임워크(framework) 상에서 출력되는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 1,
The game engine may include an unreal engine,
The interface screen is output on a framework capable of producing 3D content based on the Unreal Engine,
How to create 3D content based on a game engine.
제1항에 있어서,
상기 그래프 구조는 복수의 콤퍼짓(composite) 노드를 포함하고,
상기 콤퍼짓 노드는 하위에 적어도 하나의 태스크(task) 노드를 포함하는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 1,
The graph structure includes a plurality of composite nodes,
The composite node includes at least one task node below it,
How to create 3D content based on a game engine.
제3항에 있어서,
상기 콤퍼짓 노드는 미션 노드, 대화 노드, 액션 노드 및 브랜치 노드를 포함할 수 있고,
상기 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 상기 퀘스트를 생성하는 단계는,
상기 콤퍼짓 노드 중에서 적어도 한 개의 노드를 출력하는 단계를 포함하는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 3,
The composite node may include a mission node, a dialogue node, an action node, and a branch node,
Generating the quest by outputting at least one node among a plurality of nodes connectable from the quest node,
Including the step of outputting at least one node among the composite nodes,
How to create 3D content based on a game engine.
제4항에 있어서,
상기 콤퍼짓 노드 중에서 적어도 한 개의 노드를 출력하는 단계는,
상기 콤퍼짓 노드의 하위에 연결될 수 있는 적어도 하나의 태스크 노드를 출력하는 단계를 포함하는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 4,
The step of outputting at least one node among the composite nodes,
Including the step of outputting at least one task node that can be connected to a subordinate of the composite node,
How to create 3D content based on a game engine.
제1항에 있어서,
상기 그래프 구조를 구성하는 복수의 노드는 콘텍스트(context) 메뉴를 포함할 수 있고,
상기 방법은,
상기 콘텍스트(context) 메뉴를 이용하여 적어도 하나의 노드를 편집하는 단계; 및
상기 콘텍스트(context) 메뉴를 이용하여 적어도 하나의 노드에 대한 조건을 추가하는 단계를 더 포함하는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 1,
A plurality of nodes constituting the graph structure may include a context menu,
The method,
editing at least one node using the context menu; and
Further comprising adding a condition for at least one node using the context menu,
How to create 3D content based on a game engine.
제1항에 있어서,
상기 생성된 퀘스트 내에 복수의 노드를 정해진 순서에 따라 실행하는 단계는,
상기 그래프 구조를 구성하는 복수의 노드의 각각을 루트 노드에서 리프(leaf) 노드로 순차적으로 실행하는 단계; 및
상기 그래프 구조를 구성하는 복수의 노드 중에서 적어도 하나의 노드가 동일한 레벨의 복수의 하위 노드를 포함하고 있는 경우에는 좌측 노드에서 우측 노드로 순차적으로 실행하는 단계를 포함하는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 1,
The step of executing a plurality of nodes in a predetermined order in the generated quest,
sequentially executing each of a plurality of nodes constituting the graph structure from a root node to a leaf node; and
When at least one of the plurality of nodes constituting the graph structure includes a plurality of lower nodes of the same level, sequentially executing from the left node to the right node,
How to create 3D content based on a game engine.
제4항에 있어서,
상기 미션 노드에 설정된 미션 완료 조건이 충족되면, 플레이어에게 보상을 제공하는 단계를 더 포함하고,
상기 보상은 NFT(Non-Fungible Token)를 포함하는,
게임 엔진 기반의 3D 콘텐츠를 제작하는 방법.
According to claim 4,
When a mission completion condition set in the mission node is satisfied, providing a reward to the player;
The reward includes a Non-Fungible Token (NFT),
How to create 3D content based on a game engine.
제1항 내지 제8항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer readable recording medium to execute the method according to any one of claims 1 to 8 on a computer.
정보 처리 시스템에 있어서,
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리의 하나 이상의 인스트럭션을 실행함으로써, 3D 콘텐츠의 퀘스트를 생성하기 위한 인터페이스 화면을 출력하고, 상기 인터페이스 화면은 복수의 노드와 상기 노드를 연결하는 에지로 구성된 그래프 구조를 포함하고, 상기 인터페이스 화면의 적어도 일부 영역에 루트 노드를 출력하고, 상기 루트 노드에서 연결되도록 퀘스트 노드를 출력하고, 상기 퀘스트 노드에서 연결될 수 있는 복수의 노드 중에서 적어도 하나 이상의 노드를 출력함으로써 상기 퀘스트를 생성하도록 구성된 적어도 하나의 프로세서를 포함하는,
정보 처리 시스템.
In the information processing system,
a memory that stores one or more instructions; and
By executing one or more instructions in the memory, an interface screen for generating a quest of 3D content is output, the interface screen includes a graph structure composed of a plurality of nodes and edges connecting the nodes, and of the interface screen At least one processor configured to generate the quest by outputting a root node to at least a partial area, outputting a quest node to be connected from the root node, and outputting at least one or more nodes among a plurality of nodes connectable from the quest node. including,
information processing system.
KR1020220046998A 2022-01-27 2022-04-15 Method and system for producing 3d content based on game engine KR20230115841A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220011976 2022-01-27
KR1020220011976 2022-01-27

Publications (1)

Publication Number Publication Date
KR20230115841A true KR20230115841A (en) 2023-08-03

Family

ID=87568049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220046998A KR20230115841A (en) 2022-01-27 2022-04-15 Method and system for producing 3d content based on game engine

Country Status (1)

Country Link
KR (1) KR20230115841A (en)

Similar Documents

Publication Publication Date Title
Blackman Beginning 3D Game Development with Unity 4: All-in-one, multi-platform game development
Cossu Game Development With Game Maker Studio 2
US10786737B2 (en) Level editor with word-free coding system
Rogers et al. Learning Android game programming: a hands-on guide to building your first Android game
Baddam Pushing the Boundaries: Advanced Game Development in Unity
Mack et al. Unreal Engine 4 virtual reality projects: build immersive, real-world VR applications using UE4, C++, and unreal blueprints
Love Tkinter GUI Programming by Example: Learn to create modern GUIs using Tkinter by building real-world projects in Python
KR20230115841A (en) Method and system for producing 3d content based on game engine
Bertolini Hands-On Game Development without Coding: Create 2D and 3D games with Visual Scripting in Unity
Badger Scratch 2.0 Beginner's Guide Second Edition
Salmela Game development using the open-source Godot Game Engine
Jackson Mastering Unity 2D Game Development
Zammetti Learn Corona SDK game development
Ferro et al. Unity 2017 2D Game Development Projects
Odom HoloLens Beginner's Guide
Kano Natural language interfaces for procedural content generation in games
Thorn Mastering Unity 2017 Game Development with C#: Create professional games with solid gameplay features and professional-grade workflow
Thorn Unity 2018 By Example: Learn about game and virtual reality development by creating five engaging projects
Nguyen Creating a game using Visual Novel Maker
Shekar et al. Swift Game Development: Learn IOS 12 Game Development Using SpriteKit, SceneKit and ARKit 2.0
Thai How to create intuitive game mechanics
Berntsen et al. Enabling learning by teaching: Intuitive composing of e-learning modules
Vasileva Establishment of a system for interactive products testing with modern technologies
Green et al. Beginning Android Games
Timoner Romero Aplicación de la Inteligencia Artificial generativa al arte del videojuego y creación de Assets

Legal Events

Date Code Title Description
E902 Notification of reason for refusal