KR20240034986A - Method and device for ray tracing to route light based on distance between objects - Google Patents

Method and device for ray tracing to route light based on distance between objects Download PDF

Info

Publication number
KR20240034986A
KR20240034986A KR1020220113874A KR20220113874A KR20240034986A KR 20240034986 A KR20240034986 A KR 20240034986A KR 1020220113874 A KR1020220113874 A KR 1020220113874A KR 20220113874 A KR20220113874 A KR 20220113874A KR 20240034986 A KR20240034986 A KR 20240034986A
Authority
KR
South Korea
Prior art keywords
virtual
information
user terminal
server
virtual space
Prior art date
Application number
KR1020220113874A
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 주식회사 하이메타코어
Priority to KR1020220113874A priority Critical patent/KR20240034986A/en
Publication of KR20240034986A publication Critical patent/KR20240034986A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시의 일 실시예에 따르는, 메타버스 구현을 위한 레이 트레이싱 기반 렌더링 방법은, 가상공간을 향하여 시점으로부터 투사되는 1차 레이를 생성하고 상기 1차 레이가 특정 객체와 교차하는 제1 교차점(hit point)을 확인하는 단계; 상기 특정 객체의 속성 정보에 따라 상기 제1교차점에서 발생하는 2차 레이를 생성하여 상기 2차 레이가 다른 객체와 교차하는 제2교차점을 확인하고 상기 제1교차점과 상기 제2교차점 사이의 거리를 파악하는 단계; 및 상기 거리에 기초하여 상기 2차 레이 및 상기 2차 레이에서 파생되는 서브 레이의 경로를 결정하고 상기 경로에 따라 상기 제1교차점에 대응하는 픽셀의 색상값을 도출하는 단계를 포함하되, 상기 가상공간을 계층적 트리 형태로 분할하는 가속 구조(Acceleration Structure)가 미리 구축되어 있으며, 상기 객체는 상기 가상공간에 포함되는 오브젝트이거나 오브젝트를 구성하는 프리미티브(primitive)인 것이다.According to an embodiment of the present disclosure, a ray tracing-based rendering method for metaverse implementation generates a primary ray projected from a viewpoint toward a virtual space and creates a first intersection point (hit) where the primary ray intersects a specific object. step of checking point); According to the attribute information of the specific object, a secondary ray occurring at the first intersection is generated, a second intersection point where the secondary ray intersects another object is identified, and the distance between the first intersection point and the second intersection point is determined. step of understanding; and determining a path of the secondary ray and a sub-ray derived from the secondary ray based on the distance and deriving a color value of a pixel corresponding to the first intersection according to the path, wherein the virtual An acceleration structure that divides the space into a hierarchical tree form is built in advance, and the object is an object included in the virtual space or a primitive that constitutes the object.

Description

오브젝트 간 거리에 따라 빛의 경로를 설정하는 레이 트레이싱 방법 및 장치{METHOD AND DEVICE FOR RAY TRACING TO ROUTE LIGHT BASED ON DISTANCE BETWEEN OBJECTS}Ray tracing method and device for setting the path of light according to the distance between objects {METHOD AND DEVICE FOR RAY TRACING TO ROUTE LIGHT BASED ON DISTANCE BETWEEN OBJECTS}

본 개시는 메타버스를 구현하기 위하여 오브젝트 간 거리에 따라 빛의 경로를 설정하는 레이 트레이싱(ray tracing) 방법 및 장치에 관한 것이다.This disclosure relates to a ray tracing method and device for setting a light path according to the distance between objects to implement a metaverse.

컴퓨터 기술의 발전으로 하이퍼 리얼리티의 가상공간을 생성하는 것이 가능하게 되었다. 하이퍼 리얼리티의 공간을 생성하기 위해서는 현실의 물체를 렌더링하여 가상공간으로 옮기는 과정이 필요하다.With the advancement of computer technology, it has become possible to create a virtual space of hyper reality. In order to create a space of hyper reality, the process of rendering real objects and moving them to virtual space is necessary.

렌더링(Rendering)은 게임 등에 사용하는 컴퓨터 그래픽 기술로 현실세계 또는 가상의 세계를 표현하는 기술로 컴퓨터 프로그램을 사용하여 모델로부터 영상을 만들어내는 과정을 말하는데 이 모델은 자료구조나 강력하게 정의된 언어로 구성된 3차원 물체에 대한 설명이다.Rendering is a computer graphics technology used in games, etc. to express the real world or the virtual world. It refers to the process of creating an image from a model using a computer program. This model is expressed in a data structure or a strongly defined language. This is a description of a constructed three-dimensional object.

여기에는 기하학, 시점, 텍스처 매핑, 조명, 세이딩 정보를 포함하고 있으며, 이러한 영상을 디지털 이미지, 레스터 그래픽스 이미지라고 부르며 그래픽 파이프 라인에서 렌더링은 모델과 애니메이션의 최종 모습을 제공하는 마지막 단계이다.It contains geometry, perspective, texture mapping, lighting, and shading information. These images are called digital images or raster graphics images. In the graphics pipeline, rendering is the final step in providing the final look of models and animations.

이러한 렌더링 기술을 통해 사물이나 장소를 직접 만들거나 가보지 않아도 실제 보는 것과 같은 현실적 체험이 가능한 것이다.Through this rendering technology, it is possible to have a realistic experience like seeing an object or place in person without having to create or visit it.

최근 비대면 상황의 장기화 및 부동산 가격의 폭등으로 실제공간에서 전시회, 갤러리, 또는 모델하우스 등을 마련하는 것이 점점 어려워지고 있다. 반면 최근 기술적 한계가 극복되어 가상의 공간에 전시회, 갤러리, 또는 모델하우스를 구현하는 것이 가능하다. 사용자들은 가상의 공간에서 실제와 다르지 않은 전시회, 갤러리, 또는 모델하우스를 감상하는 것이 가능하다. 다만, 가상공간을 구현하는 비용 및 시간이 과도하여, 일반적인 사용자들은 전문 업체에 가상공간의 구현을 맡겨야 하는 상황이다. 또한, 가상공간에 마련된 다양한 오브젝트 들을 수정하는 것도 전문 업체에 일일이 요청을 해야해서 불편함이 많다. 따라서, 일반 사용자들도 간편하게 가상공간을 마련하여 가상의 전시회, 갤러리, 또는 모델하우스를 개최할 수 있는 기술이 요구되는 상황이다.Recently, due to the prolonged non-face-to-face situation and the surge in real estate prices, it has become increasingly difficult to set up exhibitions, galleries, or model houses in real spaces. On the other hand, technological limitations have recently been overcome, making it possible to create exhibitions, galleries, or model houses in virtual spaces. Users can view exhibitions, galleries, or model houses that are no different from the real thing in a virtual space. However, because the cost and time to implement a virtual space are excessive, general users must entrust the implementation of the virtual space to a professional company. In addition, modifying various objects in the virtual space is inconvenient because you have to request one by one from a professional company. Therefore, there is a need for technology that allows ordinary users to easily create a virtual space and hold a virtual exhibition, gallery, or model house.

한편, 렌더링 기술은 3차원 객체를 화면에 투영하면서 영상을 생성하는 래스터화(rasterization) 기법과 카메라나 사용자의 시점에서 화면의 각 픽셀을 향해 광선을 투사하여 빛의 경로를 추적함으로써 영상을 생성하는 레이 트레이싱(ray tracing) 기법 등이 있다.Meanwhile, rendering technology includes rasterization, which creates an image by projecting a 3D object onto the screen, and creating an image by tracing the path of light by projecting a ray toward each pixel on the screen from the camera or user's perspective. There are ray tracing techniques, etc.

이 중 레이 트레이싱은 전역 조명(Global Illumination)에 따른 렌더링 방식으로, 다른 물체에서 반사되거나 굴절된 빛이 현재 물체의 영상에 미치는 영향을 고려하여 반사, 굴절, 그림자 효과가 표현되기 때문에 현실감 있는 가상공간을 생성할 수 있다.Among these, ray tracing is a rendering method based on global illumination. It considers the effect of light reflected or refracted from other objects on the image of the current object and expresses reflection, refraction, and shadow effects, creating a realistic virtual space. can be created.

이와 같이, 빛의 물리적 성질을 자연적으로 렌더링 결과에 반영하므로 고품질의 영상을 확보할 수 있는 장점이 있으나, 물체에서 광원까지 도달하는 수많은 빛에 대한 경로를 추적하므로 상대적으로 많은 연산량과 넓은 메모리 대역폭이 요구되며 고속으로 렌더링을 수행하는 데 어려움이 존재한다.In this way, there is an advantage in securing high-quality images because the physical properties of light are naturally reflected in the rendering results. However, since the paths of numerous lights reaching from the object to the light source are traced, a relatively large amount of calculations and a wide memory bandwidth are required. It is required and there are difficulties in performing rendering at high speed.

본 개시의 일 실시예는, 오브젝트 간 거리를 고려하여 1차 레이부터 광원까지 도달하는 빛의 경로를 달리 설정함으로써, 연산량이 감소된 레이 트레이싱 기법을 제공하는 데 그 목적이 있다.The purpose of an embodiment of the present disclosure is to provide a ray tracing technique with a reduced computational amount by setting a different path of light reaching the light source from the primary ray in consideration of the distance between objects.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenges that this embodiment aims to achieve are not limited to the technical challenges described above, and other technical challenges may exist.

본 개시의 일 실시예에 따르는, 메타버스 구현을 위한 레이 트레이싱 기반 렌더링 방법은, 가상공간을 향하여 시점으로부터 투사되는 1차 레이를 생성하고 상기 1차 레이가 특정 객체와 교차하는 제1 교차점(hit point)을 확인하는 단계; 상기 특정 객체의 속성 정보에 따라 상기 제1교차점에서 발생하는 2차 레이를 생성하여 상기 2차 레이가 다른 객체와 교차하는 제2교차점을 확인하고 상기 제1교차점과 상기 제2교차점 사이의 거리를 파악하는 단계; 및 상기 거리에 기초하여 상기 2차 레이 및 상기 2차 레이에서 파생되는 서브 레이의 경로를 결정하고 상기 경로에 따라 상기 제1교차점에 대응하는 픽셀의 색상값을 도출하는 단계를 포함하되, 상기 가상공간을 계층적 트리 형태로 분할하는 가속 구조(Acceleration Structure)가 미리 구축되어 있으며, 상기 객체는 상기 가상공간에 포함되는 오브젝트이거나 오브젝트를 구성하는 프리미티브(primitive)인 것이다.According to an embodiment of the present disclosure, a ray tracing-based rendering method for metaverse implementation generates a primary ray projected from a viewpoint toward a virtual space and creates a first intersection point (hit) where the primary ray intersects a specific object. step of checking point); According to the attribute information of the specific object, a secondary ray occurring at the first intersection is generated, a second intersection point where the secondary ray intersects another object is identified, and the distance between the first intersection point and the second intersection point is determined. step of understanding; and determining a path of the secondary ray and a sub-ray derived from the secondary ray based on the distance and deriving a color value of a pixel corresponding to the first intersection according to the path, wherein the virtual An acceleration structure that divides the space into a hierarchical tree form is built in advance, and the object is an object included in the virtual space or a primitive that constitutes the object.

본 개시의 일 실시예에 따르면, 상기 거리를 파악하는 단계는, 상기 제1교차점을 중심으로 기 설정된 제1반경을 가지는 제1구 및 기 설정된 제2반경을 가지는 제2구를 형성하는 단계; 상기 제1구의 내부를 제1영역으로, 상기 제2구의 외부를 제2영역으로, 상기 제1구의 외부와 상기 제2구의 내부가 중첩되는 영역을 제3영역으로 설정하는 단계; 및 상기 제2교차점이 상기 제1영역에 위치하는 경우 상기 다른 객체를 제1객체로 판정하고, 상기 제2교차점이 상기 제2영역에 위치하는 경우 상기 다른 객체를 제2객체로 판정하고, 상기 제2교차점이 상기 제3영역에 위치하는 경우 상기 다른 객체를 제3객체로 판정하는 단계를 포함하되, 상기 제2반경은 상기 제1반경 보다 크게 설정되는 것이며, 상기 제1객체는 상기 특정 객체와 인접한 객체이고, 상기 제2객체는 상기 특정 객체와 멀리 떨어진 객체이고, 상기 제3객체는 상기 픽셀의 색상값에 관여하지 않는 객체를 의미하는 것이다.According to one embodiment of the present disclosure, determining the distance includes forming a first sphere with a preset first radius and a second sphere with a preset second radius centered on the first intersection; Setting the inside of the first sphere as a first area, the outside of the second sphere as a second area, and the overlapping area between the outside of the first sphere and the inside of the second sphere as a third area; And if the second intersection point is located in the first area, the other object is determined to be a first object, and if the second intersection point is located in the second area, the other object is determined to be a second object, and When the second intersection is located in the third area, determining the other object as a third object, wherein the second radius is set larger than the first radius, and the first object is the specific object is an object adjacent to , the second object is an object far away from the specific object, and the third object is an object that is not involved in the color value of the pixel.

본 개시의 일 실시예에 따르면, 상기 거리를 파악하는 단계는, 상기 제3영역 내에만 위치하는 바운딩 박스(Bounding box)가 존재하는 경우, 상기 바운딩 박스에 대응하는 노드 및 상기 노드에 포함된 하위 노드와 객체를 모두 제거하여 상기 가속 구조를 수정하는 단계; 수정된 가속 구조를 탐색하여 상기 2차 레이와 교차하는 노드에 포함된 객체를 파악하고 상기 제2교차점을 확인하는 단계; 및 상기 제2교차점이 상기 제1영역 내지 제3영역 중 어느 영역에 위치하는지 파악하는 단계를 포함한다.According to an embodiment of the present disclosure, the step of determining the distance includes, when a bounding box located only within the third area exists, a node corresponding to the bounding box and a child included in the node. modifying the acceleration structure by removing all nodes and objects; Searching the modified acceleration structure to identify objects included in nodes that intersect the second ray and confirming the second intersection point; and determining which of the first to third areas the second intersection point is located in.

본 개시의 일 실시예에 따르면, 상기 거리를 파악하는 단계는, 상기 특정 객체와 상기 다른 객체가 공통적으로 속하는 노드가 상기 가속 구조 내 기 설정된 제1계층 및 상기 제1계층에 포함된 하위 계층에 위치하는 경우, 상기 다른 객체를 제1객체로 판정하고, 상기 특정 객체와 상기 다른 객체가 공통적으로 속하는 노드가 상기 제1계층 보다 상위 계층인 제2계층에 위치하는 경우, 상기 다른 객체를 제2객체로 판정하고, 상기 제1계층과 상기 제2계층 사이에 적어도 하나 이상의 계층이 존재하고 상기 특정 객체와 상기 다른 객체가 공통적으로 속하는 노드가 상기 적어도 하나 이상의 계층 중 하나의 계층에 위치하는 경우, 상기 다른 객체를 제3객체로 판정하는 단계를 포함한다.According to an embodiment of the present disclosure, the step of determining the distance includes determining that a node to which the specific object and the other object commonly belong is located in a preset first layer in the acceleration structure and a lower layer included in the first layer. If located, the other object is determined to be the first object, and if the node to which the specific object and the other object commonly belong is located in the second layer, which is a higher layer than the first layer, the other object is determined to be the second object. If it is determined to be an object, and at least one layer exists between the first layer and the second layer, and a node to which the specific object and the other object commonly belong is located in one of the at least one layer, and determining the other object as a third object.

본 개시의 일 실시예에 따르면, 상기 픽셀의 색상값을 도출하는 단계는, 상기 다른 객체가 상기 제1객체로 판정된 경우 상기 다른 객체의 속성 정보에 따라 상기 2차 레이에서 파생되는 서브 레이를 순차적으로 생성하여 또 다른 객체와 교차하는 후속 교차점을 재귀적으로 확인하고, 상기 다른 객체가 상기 제2객체로 판정된 경우 상기 제2교차점을 상기 가상공간에 기 포함된 광원과는 다른 별개의 광원으로 설정하고, 상기 다른 객체가 상기 제3객체로 판정된 경우 상기 제3객체로 투사되는 2차 레이는 발생하지 않았던 것으로 간주하는 단계를 포함한다.According to an embodiment of the present disclosure, the step of deriving the color value of the pixel includes selecting a sub-ray derived from the secondary ray according to attribute information of the other object when the other object is determined to be the first object. A subsequent intersection point that intersects another object is sequentially generated and recursively checked, and if the other object is determined to be the second object, the second intersection point is a separate light source different from the light source already included in the virtual space. , and if the other object is determined to be the third object, it is considered that the secondary ray projected to the third object has not occurred.

본 개시의 일 실시예에 따르면, 상기 후속 교차점을 재귀적으로 확인하는 과정은, 상기 서브 레이 중 하나의 서브 레이가 상기 제3객체로 판정되는 객체와 교차하는 경우 상기 하나의 서브 레이는 발생하지 않은 것으로 간주하고, 상기 서브 레이 중 하나의 서브 레이가 상기 제2객체로 판정되는 객체와 교차하는 경우 상기 하나의 서브 레이에 의한 후속 교차점을 또 다른 광원으로 설정하는 것이다.According to an embodiment of the present disclosure, the process of recursively checking the subsequent intersection point is such that when one of the sub-rays intersects an object determined to be the third object, the one sub-ray does not occur. If one of the sub-rays intersects an object determined to be the second object, the subsequent intersection point by the one sub-ray is set as another light source.

본 개시의 일 실시예에 따르면, 상기 픽셀의 색상값을 도출하는 단계는, 상기 다른 객체가 상기 제2객체로 판정된 경우, 상기 시점과 상기 제2교차점 사이의 거리에 따라 상기 제2교차점을 상기 가상공간에 기 포함된 광원과는 다른 별개의 광원으로 설정하거나 상기 다른 객체에서 빛의 반사 및 굴절 현상은 발생하지 않는 것으로 설정하는 단계를 포함한다.According to an embodiment of the present disclosure, the step of deriving the color value of the pixel includes determining the second intersection point according to the distance between the viewpoint and the second intersection point when the other object is determined to be the second object. It includes setting the light source as a separate light source different from the light source already included in the virtual space, or setting it as a light source that does not reflect or refract light in the other object.

본 개시의 일 실시예에 따르면, 상기 픽셀의 색상값을 도출하는 단계는, 상기 2차 레이에 의해 상기 제1객체와 교차하여 형성된 제2교차점의 색상값과 상기 제2객체와 교차하여 형성된 제2교차점의 색상값이 모두 수집되는 경우, 수집된 각 색상값의 평균값 또는 수집된 각 색상값 중 가장 높은 레벨을 보이는 색상값을 상기 픽셀의 색상값을 도출하는 연산에 포함시키는 것이다.According to an embodiment of the present disclosure, the step of deriving the color value of the pixel includes the color value of the second intersection formed by intersecting the first object by the secondary ray and the second intersection formed by intersecting the second object. When all color values of two intersection points are collected, the average value of each collected color value or the color value showing the highest level among each collected color value is included in the calculation to derive the color value of the pixel.

본 개시의 일 실시예는 렌더링을 위한 연산량을 대폭 감소시키되 현실감이 확보되는 레이 트레이싱 기법을 제공하며, 이는 모델링 비용의 절감 및 안정적인 메타버스 구현에 기여한다.An embodiment of the present disclosure provides a ray tracing technique that significantly reduces the amount of calculations for rendering but ensures realism, which contributes to reducing modeling costs and implementing a stable metaverse.

도 1은 본 개시의 일 실시예에 따른 메타버스 시스템의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 메타버스 시스템의 하드웨어를 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 나타낸 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 7은 본 개시의 일 실시예에 따라 가상공간에 일조량과 관련된 정보를 시각화하기 위한 과정을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따라 가상공간에 일조량과 관련된 정보를 시각화하기 위한 과정을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따라 가상공간에 일조량과 관련된 정보를 시각화하기 위한 과정을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 설명하기 위한 도면이다.
도 12은 본 개시의 일 실시예에 따라 사용자 단말기(130)에 표시되는 화면을 나타낸다.
도 13은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.
도 14는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작 방법을 나타낸 흐름도이다.
도 15는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 16은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.
도 17은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.
도 18은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.
도 19은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 나타낸 흐름도이다.
도 20은 본 개시의 일 실시예에 따른 주차공간에 대한 정보를 표시하기 위한 방법을 설명하기 위한 도면이다.
도 21은 본 개시의 일 실시예에 따른 실제공간에 대한 정보를 제공하기 위한 방법을 설명하기 위한 도면이다.
도 22는 레이 트레이싱을 설명하기 위한 개념도이다.
도 23은 본 개시의 일 실시예에 따른 레이 트레이싱 장치의 구조에 대한 블록도이다.
도 24는 가속 구조를 설명하기 위한 개념도이다.
도 25는 본 개시의 일 실시예에 따른 레이 트레이싱 기반 렌더링 방법에 대한 흐름도이다.
도 26은 본 개시의 일 실시예에 따른 오브젝트 간 거리를 판정하는 방법에 대한 흐름도이다.
도 27은 본 개시의 일 실시예에 따른 오브젝트 간 거리를 판정하는 방법을 설명하기 위하여 가상공간을 평면에 투영한 예시도이다.
도 28은 오브젝트 간 거리를 판정하는 방법의 또 다른 실시예를 설명하기 위한 가속 구조의 예시도이다.
도 29는 본 개시의 일 실시예에 따른 픽셀의 색상값을 도출하는 방법에 대한 흐름도이다.
도 30은 본 개시의 일 실시예에 따른 픽셀의 색상값을 도출하는 방법을 설명하기 위하여 가상공간을 평면에 투영한 예시도이다.
Figure 1 is a block diagram of a metaverse system according to an embodiment of the present disclosure.
Figure 2 is a diagram for explaining the hardware of a metaverse system according to an embodiment of the present disclosure.
Figure 3 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 4 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 5 is a flowchart showing the operation of the metaverse system according to an embodiment of the present disclosure.
FIG. 6 is a flowchart illustrating a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 7 is a diagram for explaining a process for visualizing information related to the amount of sunlight in virtual space according to an embodiment of the present disclosure.
Figure 8 is a diagram for explaining a process for visualizing information related to the amount of sunlight in virtual space according to an embodiment of the present disclosure.
Figure 9 is a diagram for explaining a process for visualizing information related to the amount of sunlight in virtual space according to an embodiment of the present disclosure.
Figure 10 is a diagram for explaining the operation of the metaverse system according to an embodiment of the present disclosure.
Figure 11 is a diagram for explaining the operation of the metaverse system according to an embodiment of the present disclosure.
Figure 12 shows a screen displayed on the user terminal 130 according to an embodiment of the present disclosure.
Figure 13 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 14 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
FIG. 15 is a flowchart illustrating a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 16 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 17 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 18 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.
Figure 19 is a flowchart showing the operation of the metaverse system according to an embodiment of the present disclosure.
Figure 20 is a diagram for explaining a method for displaying information about a parking space according to an embodiment of the present disclosure.
FIG. 21 is a diagram for explaining a method for providing information about a real space according to an embodiment of the present disclosure.
Figure 22 is a conceptual diagram for explaining ray tracing.
Figure 23 is a block diagram of the structure of a ray tracing device according to an embodiment of the present disclosure.
Figure 24 is a conceptual diagram for explaining the acceleration structure.
Figure 25 is a flowchart of a ray tracing-based rendering method according to an embodiment of the present disclosure.
Figure 26 is a flowchart of a method for determining the distance between objects according to an embodiment of the present disclosure.
Figure 27 is an example diagram of virtual space projected onto a plane to explain a method of determining the distance between objects according to an embodiment of the present disclosure.
Figure 28 is an example of an acceleration structure to explain another embodiment of a method for determining the distance between objects.
Figure 29 is a flowchart of a method for deriving the color value of a pixel according to an embodiment of the present disclosure.
Figure 30 is an example diagram of virtual space projected onto a plane to explain a method of deriving the color value of a pixel according to an embodiment of the present disclosure.

개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments and methods for achieving them will become clear by referring to the embodiments described below 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. The present embodiments are merely provided to ensure that the present disclosure is complete and to those skilled in the art to which the present disclosure pertains. It is only provided to fully inform the user of the scope of the invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail.

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

본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.In this specification, singular expressions include plural expressions, unless the context clearly specifies the singular. Additionally, plural expressions include singular expressions, unless the context clearly specifies plural expressions.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. When it is said that a part "includes" a certain element throughout the specification, this means that, unless specifically stated to the contrary, it does not exclude other elements but may further include other elements.

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

본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.According to one embodiment of the present disclosure, “unit” may be implemented with a processor and memory. The term “processor” should be interpreted broadly to include general purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, etc. In some contexts, “processor” may refer to an application-specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), etc. The term “processor” refers to a combination of processing devices, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in combination with a DSP core, or any other such combination of configurations. It may also refer to

용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.The term “memory” should be interpreted broadly to include any electronic component capable of storing electronic information. The terms memory include 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), electrical may refer to various types of processor-readable media, such as erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read information from and/or write information to the memory. The memory integrated into the processor is in electronic communication with the processor.

아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Below, with reference to the attached drawings, embodiments will be described in detail so that those skilled in the art can easily implement them. In order to clearly explain the present disclosure in the drawings, parts unrelated to the description are omitted.

도 1은 본 개시의 일 실시예에 따른 메타버스 시스템의 블록도이다.Figure 1 is a block diagram of a metaverse system according to an embodiment of the present disclosure.

메타버스 시스템(100)은 서버(110), 관리자 단말기(120), 및 사용자 단말기(130)를 포함할 수 있다. 서버(110)는 메타버스가 구현되어 있는 장치이다. 즉, 서버(110)는 가상공간이 렌더링 되어 있는 장치이다. 서버(110)는 관리자 단말기(120) 및 사용자 단말기(130)와 유무선으로 연결되어 있을 수 있다. 관리자 단말기(120) 및 사용자 단말기(130)는 서버(110)를 통하여 서로 데이터를 송수신할 수 있다.The metaverse system 100 may include a server 110, an administrator terminal 120, and a user terminal 130. The server 110 is a device in which the metaverse is implemented. In other words, the server 110 is a device in which virtual space is rendered. The server 110 may be connected to the administrator terminal 120 and the user terminal 130 by wire or wirelessly. The administrator terminal 120 and the user terminal 130 can transmit and receive data with each other through the server 110.

메타버스 시스템(100)은 미리 결정된 오브젝트를 활용하여 메타버스를 구현할 수 있다. 미리 결정된 오브젝트는 사용자 단말기(130) 또는 관리자 단말기(120)로부터 서버(110)로 수신될 수 있다. 미리 결정된 오브젝트는 사용자 단말기(130) 또는 관리자 단말기(120)로부터 수신한 데이터에 기초하여 서버(110)에서 생성될 수 있다. 오브젝트는 가상공간을 구성하는 다양한 물체 또는 마감재를 의미할 수 있다. 가상공간은 3차원으로 이루어진 공간이며, 가상공간은 벽(벽지), 가구, 가로수, 계단, 천장, 바닥, 조명, 창, 문 등의 물체 또는 마감재로 채워질 수 있다. 이러한 가상공간에 배치되는 다양한 물체 또는 마감재를 오브젝트라고 할 수 있다.The metaverse system 100 can implement a metaverse using predetermined objects. The predetermined object may be received from the user terminal 130 or the manager terminal 120 to the server 110. A predetermined object may be created in the server 110 based on data received from the user terminal 130 or the manager terminal 120. Objects can refer to various objects or finishing materials that make up a virtual space. A virtual space is a three-dimensional space, and the virtual space can be filled with objects or finishing materials such as walls (wallpaper), furniture, street trees, stairs, ceilings, floors, lights, windows, and doors. Various objects or finishing materials placed in this virtual space can be called objects.

관리자 단말기(120)의 제어 신호에 기초하여 서버(110)는 미리 결정되어 있는 오브젝트에 기초하여 가상공간을 생성하고, 미리 저장되어 있는 오브젝트를 이용하여 가상공간을 채울 수 있다. Based on a control signal from the administrator terminal 120, the server 110 can create a virtual space based on a predetermined object and fill the virtual space using a pre-stored object.

사용자 단말기(130)의 제어 신호에 기초하여 서버(110)는 사용자 단말기 또는 사용자에 대응되는 가상인물을 가상공간에 배치할 수 있다. 또한, 사용자 단말기(130)의 제어신호에 기초하여 서버(110)는 가상인물이 가상공간을 돌아다니도록 제어할 수 있으며, 가상인물이 오브젝트와 상호작용하도록 제어할 수 있다. 또한, 상호작용 과정에서, 서버(110)는 가상공간의 오브젝트들을 변형할 수 있다. Based on the control signal from the user terminal 130, the server 110 can place the user terminal or a virtual person corresponding to the user in the virtual space. Additionally, based on the control signal from the user terminal 130, the server 110 can control the virtual character to move around the virtual space and control the virtual character to interact with objects. Additionally, during the interaction process, the server 110 may transform objects in the virtual space.

도 2는 본 개시의 일 실시예에 따른 메타버스 시스템의 하드웨어를 설명하기 위한 도면이다.Figure 2 is a diagram for explaining the hardware of a metaverse system according to an embodiment of the present disclosure.

메타버스 시스템(100)에 포함된 서버(110), 관리자 단말기(120) 및 사용자 단말기(130)는 프로세서(210) 및 메모리(220)를 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장되어 있는 명령어에 기초하여 동작을 수행할 수 있다. 하지만 이에 한정되는 것은 아니며, 서버(110), 관리자 단말기(120) 및 사용자 단말기(130)는 메모리를 포함하지 않고 프로세서(210)만 포함할 수 있다. 프로세서(210)는 입력 신호에 기초하여 미리 설정된 신호를 미리 설정된 시간동안 출력 라인으로 출력하도록 설정되어 있을 수 있다. 서버(110), 관리자 단말기(120) 및 사용자 단말기(130)의 각 부품은 신호에 따라 미리 설정된 동작을 수행할 수 있다. The server 110, administrator terminal 120, and user terminal 130 included in the metaverse system 100 may include a processor 210 and memory 220. The processor 210 may perform operations based on instructions stored in the memory 220. However, it is not limited to this, and the server 110, administrator terminal 120, and user terminal 130 may include only the processor 210 and not memory. The processor 210 may be set to output a preset signal to an output line for a preset time based on the input signal. Each component of the server 110, the administrator terminal 120, and the user terminal 130 may perform preset operations according to signals.

이하, 서버(110), 관리자 단말기(120) 및 사용자 단말기(130)의 동작에 대하여 보다 자세히 설명한다.Hereinafter, the operations of the server 110, the administrator terminal 120, and the user terminal 130 will be described in more detail.

도 3은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.Figure 3 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

관리자 단말기(120)는 관리자의 입력에 기초하여 가상공간의 속성을 획득할 수 있다. 가상공간의 속성은 가상공간을 생성하기 위해 필요한 것으로써, 가상공간의 종류 정보, 가상공간의 크기 정보, 가상공간에 대응되는 실제공간의 위치 정보, 가상공간의 시간 정보, 가상공간의 모양, 가상공간의 가격, 또는 가상공간의 소유자 중 적어도 하나를 포함할 수 있다. The administrator terminal 120 may acquire the properties of the virtual space based on the administrator's input. The properties of virtual space are necessary to create a virtual space, such as information on the type of virtual space, size information of the virtual space, location information of the real space corresponding to the virtual space, time information of the virtual space, shape of the virtual space, and virtual space. It may include at least one of the price of the space or the owner of the virtual space.

가상공간의 종류 정보는 가상공간의 목적과 관련된 것일 수 있다. 가상공간의 종류 정보는 전시관, 미술관, 단독주택, 다세대 주택, 오피스텔, 원룸, 아파트, 절, 및 교회 중 적어도 하나를 포함할 수 있다.Information on the type of virtual space may be related to the purpose of the virtual space. Information on the type of virtual space may include at least one of an exhibition hall, an art gallery, a single-family house, a multi-family house, an officetel, a studio, an apartment, a temple, and a church.

가상공간의 크기 정보는, 가상공간의 지표면의 면적을 나타낼 수 있다. 가상공간의 크기 정보는 픽셀(복셀)의 개수로 나타날 수 있다. 예를 들어 가상공간의 크기 정보는 가로 변에 포함된 픽셀(복셀)의 개수 세로 변에 포함된 픽셀(복셀)의 개수를 포함할 수 있다. 또한 가상공간의 크기 정보는 실제공간의 면적으로 나타날 수 있으며, 단위는 평방미터 또는 평일 수 있다. 가상공간의 크기 정보는 공간의 높이를 포함할 수도 있다. 본 개시의 메타버스 시스템은 픽셀(복셀)의 한 변의 길이와 실제공간의 단위 길이의 비율을 미리 정해둘 수 있다. 예를 들어 실제공간의 1cm는 1 내지 100개의 픽셀이 일차원 적으로 늘어선 길이에 대응될 수 있다. 하지만 이에 한정되는 것은 아니며, 본 개시의 메타버스 시스템은 픽셀(복셀)의 한 변의 길이와 실제공간의 단위 길이의 비율은 동적으로 변할 수 있다. 예를 들어, 사용자가 사용자 단말기를 이용하여 화면을 확대할 수록 실제공간 1cm에 대응되는 일차원 적으로 배치된 픽셀의 개수는 많아질 수 있다. 또한 사용자가 사용자 단말기를 이용하여 화면을 축소할 수록 실제공간 1cm에 대응되는 일차원 적으로 배치된 픽셀의 개수는 적어질 수 있다.The size information of the virtual space may represent the area of the ground surface of the virtual space. Information on the size of the virtual space can be expressed as the number of pixels (voxels). For example, the size information of the virtual space may include the number of pixels (voxels) included in the horizontal side and the number of pixels (voxels) included in the vertical side. Additionally, the size information of the virtual space may be expressed as the area of the real space, and the unit may be square meters or pyeong. The size information of the virtual space may include the height of the space. The metaverse system of the present disclosure can predetermine the ratio between the length of one side of a pixel (voxel) and the unit length of real space. For example, 1 cm of real space may correspond to the length of 1 to 100 pixels lined up in one dimension. However, it is not limited to this, and in the metaverse system of the present disclosure, the ratio of the length of one side of a pixel (voxel) and the unit length of real space can dynamically change. For example, as the user enlarges the screen using the user terminal, the number of one-dimensionally arranged pixels corresponding to 1 cm of real space may increase. Additionally, as the user reduces the screen using the user terminal, the number of one-dimensionally arranged pixels corresponding to 1 cm of real space may decrease.

가상공간에 대응되는 실제공간의 위치 정보는 실제공간의 GPS 좌표정보 또는 주소정보를 포함할 수 있다. 본 개시의 메타버스 시스템의 서버는 실제공간에 대응되는 위치에 가상공간을 하이퍼 리얼리티로 구현하기 위하여 실제공간의 위치 정보를 이용할 수 있다. 실제공간의 위치 정보는 3차원 좌표정보일 수 있다. 실제공간의 위치 정보는 위도정보, 경도정보, 및 높이(고도) 정보를 포함할 수 있다. 실제공간의 위치 정보에 포함된 높이 정보는 건물 내에서 해당 실제공간의 층수 정보를 포함할 수 있다. 예를 들어 아파트라는 건물 내에서 하나의 세대에 해당하는 실제공간이 몇 층에 위치하는 지와 관련된 정보가 높이 정보에 포함될 수 있다. 제공간의 위치 정보는 2차원 정보인 GPS 정보에 높이 정보를 더 포함할 수 있다. 위치 정보에 포함된 높이는 서버(110) 또는 사용자 단말기는 가상공간에 대응되는 실제공간의 위치 정보에 기초하여 가상공간의 강 또는 산과 같은 지형, 나무 또는 건물과 같은 지물을 자동으로 생성할 수 있다. 서버(110) 또는 사용자 단말기(130)는 실제공간의 위치 정보에 대응되는 지형 또는 지물에 대한 정보를 미리 저장하고 있을 수 있다. 가상공간의 위치 정보는 실제공간의 위치 정보와 동일할 수 있다. 즉 가상 월드는 실제 월드와 동일한 좌표계를 가질 수 있다. 따라서 사용자가 사용자 단말기에 실제공간의 위치 정보를 입력하는 경우, 가상 월드 내에서 실제공간에 대응되는 가상공간으로 이동할 수 있다. 가상공간에서도 실제공간과 동일한 좌표를 이용하기 때문이다.Location information in real space corresponding to virtual space may include GPS coordinate information or address information in real space. The server of the metaverse system of the present disclosure can use the location information of the real space to implement the virtual space as hyper reality at a location corresponding to the real space. Location information in real space may be 3D coordinate information. Location information in real space may include latitude information, longitude information, and height (altitude) information. Height information included in the location information of the real space may include information on the number of floors of the corresponding real space within the building. For example, in an apartment building, height information may include information related to which floor the actual space corresponding to one household is located on. The location information provided may further include height information in addition to GPS information, which is two-dimensional information. The height included in the location information can be used by the server 110 or the user terminal to automatically generate terrain such as a river or mountain, or a feature such as a tree or building in the virtual space based on the location information of the real space corresponding to the virtual space. The server 110 or the user terminal 130 may previously store information about terrain or features corresponding to location information in real space. Location information in virtual space may be the same as location information in real space. In other words, the virtual world can have the same coordinate system as the real world. Therefore, when a user inputs real space location information into the user terminal, the user can move to a virtual space corresponding to the real space within the virtual world. This is because the same coordinates are used in virtual space as in real space.

가상공간의 시간 정보는 가상의 시간을 나타낼 수 있다. 가상의 시간은 날짜, 요일, 시, 분, 또는 초 중 적어도 하나를 포함할 수 있다. 가상의 시간에 기초하여 서버(110), 또는 사용자 단말기(130)는 해의 위치, 달의 위치, 가로등의 켜짐 여부, 자동차의 헤드라이트 켜짐 여부, 가상공간 및 가상공간 주변의 조명의 켜짐 여부를 결정할 수 있다. 이와 같이 가상공간의 시간 정보에 기초하여 가상공간 및 가상공간 주변의 빛이 자동으로 제어되므로, 사용자는 사용자 단말기를 이용하여 가상공간을 실제공간처럼 느낄 수 있다. 가상공간의 시간 정보는 현재 시간과 동일할 수 있다. 하지만 이에 한정되지 않는다. 가상공간의 시간 정보는 가상공간에 대응되는 실제공간의 위치 정보에 기초하여 결정될 수 있다. 즉, 서버(110)는 가상공간의 위치 정보에 대응되는 시간대를 가상공간의 시간 정보로 결정할 수 있다. 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)의 입력에 기초하여 실제 시간과 다르게 가상공간의 시간 정보를 결정할 수 있다.Time information in virtual space may represent virtual time. The virtual time may include at least one of date, day, hour, minute, or second. Based on the virtual time, the server 110 or the user terminal 130 determines the position of the sun, the position of the moon, whether street lights are turned on, whether headlights of a car are turned on, and whether the virtual space and lights around the virtual space are turned on. You can decide. In this way, the virtual space and the light around the virtual space are automatically controlled based on the time information of the virtual space, so the user can feel the virtual space as a real space using the user terminal. Time information in virtual space may be the same as the current time. However, it is not limited to this. Time information in virtual space may be determined based on location information in real space corresponding to the virtual space. That is, the server 110 can determine the time zone corresponding to the location information of the virtual space as the time information of the virtual space. The server 110 may determine time information in the virtual space to be different from the actual time based on the input of the administrator terminal 120 or the user terminal 130.

가상공간의 모양은 3차원의 다면체형상일 수 있다. 가상공간의 모양은 예를 들어 직육면체일 수 있다. 하지만 이에 한정되는 것은 아니며, 가상공간의 종류 정보가 아파트인 경우, 복수의 방, 거실, 및 주방 등을 포함하므로 복잡한 다면체 형상을 가질 수 있다. 또한 복층을 가지는 가상공간의 경우, 다면체가 위아래로 쌓여서 하나의 가상공간이 형성될 수 있다.The shape of the virtual space may be a three-dimensional polyhedron shape. The shape of the virtual space may be, for example, a rectangular parallelepiped. However, it is not limited to this, and if the type information of the virtual space is an apartment, it may have a complex polyhedral shape because it includes a plurality of rooms, a living room, and a kitchen. Additionally, in the case of a virtual space with multiple layers, polyhedra can be stacked top and bottom to form one virtual space.

관리자 단말기(120)가 가상공간의 속성을 획득하는 과정에 대해서는 추후 보다 자세히 설명한다.The process by which the administrator terminal 120 acquires the properties of the virtual space will be described in more detail later.

서버(110)는 가상공간의 시간 정보 및 실제공간의 위치 정보를 포함하는 가상공간의 속성을 관리자 단말기(120)로부터 획득하는 단계(311)를 수행할 수 있다. 서버(110)는 가상 오브젝트 또는 가상공간의 속성을 사용자 단말기(130) 또는 관리자 단말기(120)로부터 획득하는 단계(311)를 수행할 수 있다. 가상공간의 시간 정보 및 실제공간의 위치 정보에 대해서는 위에서 미리 설명하였으므로 자세한 설명은 생략한다. 가상공간의 속성은 서버(110)가 가상공간의 뼈대를 만들기 위한 정보를 포함하고 있을 수 있다. 서버(110)는 가상공간의 속성에 기반하여 사용자가 접근할 수 있는 영역과 접근할 수 없는 영역을 구분할 수 있다. 예를 들어 가상공간이 집이라면 서버(110)는 사용자의 시점이 가상공간인 집의 내부에 위치하도록 할 수 있다. 즉, 사용자는 사용자 단말기를 이용하여 시점을 가상공간의 외부로 이동시키기 어려울 수 있다. 하지만 이에 한정되는 것은 아니며, 서버(110)는 사용자의 시점이 가상공간으로부터 미리 정해진 범위 이내에 사용자의 시점이 위치하도록 할 수 있다. 사용자의 시점은 가상공간 내에서 사용자가 가상공간을 바라보는 위치 정보를 의미할 수 있다.The server 110 may perform step 311 of acquiring virtual space properties including time information of the virtual space and location information of the real space from the administrator terminal 120. The server 110 may perform step 311 of acquiring properties of a virtual object or virtual space from the user terminal 130 or the administrator terminal 120. Since time information in virtual space and location information in real space have been previously described above, detailed explanations will be omitted. The properties of the virtual space may include information for the server 110 to create the framework of the virtual space. The server 110 can distinguish between areas that the user can access and areas that the user cannot access based on the properties of the virtual space. For example, if the virtual space is a house, the server 110 can position the user's viewpoint inside the virtual space of the house. In other words, it may be difficult for the user to move the viewpoint outside the virtual space using the user terminal. However, it is not limited to this, and the server 110 may ensure that the user's viewpoint is located within a predetermined range from the virtual space. The user's viewpoint may refer to location information within the virtual space from which the user views the virtual space.

서버(110)는 가상공간의 속성에 기초하여 3차원의 가상공간을 생성하는 단계(321)를 수행할 수 있다. 서버(110)는 기본 가상 오브젝트의 속성 및 가상공간의 속성에 기초하여 3차원의 가상공간을 생성하는 단계(321)를 수행할 수 있다. 서버(110)는 가상공간의 속성에 포함된 가상공간의 종류 정보에 기초하여 미리 저장된 복수의 후보 가상공간의 모양을 메모리로부터 획득할 수 있다. 또한 서버(110)는 가상공간의 종류 정보에 기초하여 가상공간에 배치될 수 있는 복수의 후보 가상 오브젝트들을 획득할 수 있다. 서버(110)는 관리자 단말기(120)로부터의 신호에 기초하여 복수의 후보 가상공간의 모양 중 하나의 가상공간의 모양을 결정하고, 복수의 후보 가상 오브젝트들 중 가상공간에 배치될 가상 오브젝트를 결정할 수 있다.The server 110 may perform step 321 of creating a three-dimensional virtual space based on the properties of the virtual space. The server 110 may perform step 321 of creating a three-dimensional virtual space based on the properties of the basic virtual object and the properties of the virtual space. The server 110 may obtain the shapes of a plurality of candidate virtual spaces stored in advance from memory based on the type information of the virtual space included in the properties of the virtual space. Additionally, the server 110 may obtain a plurality of candidate virtual objects that can be placed in the virtual space based on the type information of the virtual space. The server 110 determines the shape of one virtual space among the shapes of a plurality of candidate virtual spaces based on a signal from the administrator terminal 120, and determines a virtual object to be placed in the virtual space among the plurality of candidate virtual objects. You can.

서버(110)는 미리 저장되어 있는 가상월드에서 실제공간의 위치 정보에 대응되는 3차원(2차원) 맵을 불러올 수 있다. 가상월드는 가상공간을 포함한다. 가상월드는 가상공간보다 넓은 공간이다. 가상월드는, 도시, 국가 또는 지구를 구현한 메타버스일 수 있다. 가상월드는 3차원 맵일 수 있다. 여기서 가상월드는 지형, 지물을 3차원으로 표시한 지도를 포함할 수 있다. 본 개시의 다양한 실시예에 따르면, 가상월드는 기업, 국가기관, 또는 지방자치단체 등에서 제공될 수 있다. 예를 들어 3차원 맵은 서울시에서 제공하는 3차원 맵과 같을 수 있다. 본 개시에서 3차원 맵은 2차원 맵으로 대체될 수 있다.The server 110 can load a three-dimensional (two-dimensional) map corresponding to location information in real space from a pre-stored virtual world. Virtual world includes virtual space. A virtual world is a larger space than a virtual space. A virtual world may be a metaverse that embodies a city, country, or earth. The virtual world may be a 3D map. Here, the virtual world may include a map that displays terrain and features in three dimensions. According to various embodiments of the present disclosure, a virtual world may be provided by a company, a national agency, or a local government. For example, the 3D map may be the same as the 3D map provided by the Seoul Metropolitan Government. In the present disclosure, the 3D map may be replaced with a 2D map.

가상공간은 계층(hierarchy)을 가질 수 있다. 이미 설명한 바와 같이 가상월드는 가상공간을 포함할 수 있다. 가상월드는 가상지구(earth)에 포함될 수 있다. 또한 가상지구는 가상우주에 포함될 수 있다. 이와 같이 가상공간은 더 작은 공간을 포함할 수 있으며, 가상공간은 더 큰 공간에 포함될 수 있다. 가상공간의 속성은 계층정보를 포함할 수 있다. 계층정보는 숫자로 표시될 수 있다. 계층정보가 커질 수록 넓은 공간을 나타낼 수 있다. 하지만 이에 한정되는 것은 아니며, 계층정보는 작아질 수록 넓은 공간을 나타낼 수도 있다. 예를 들어, 계층정보가 제 레벨 1인 경우, 가상공간이 유닛, 실내공간, 또는 방임을 나타낼 수 있다. 여기서 유닛은 1평방미터, 1평과 같은 단위 공간을 의미할 수 있다. 실내공간은 거실, 방, 또는 주방 등을 의미할 수 있다. 또한 계층정보가 레벨 2인 경우, 가상공간이 집 한 채 또는 가상공간의 거래의 단위임을 나타낼 수 있다. 또한 계층정보가 레벨 3인 경우, 가상공간이 아파트 한 동임을 나타낼 수 있다. 또한 계층정보가 레벨 4인 경우, 가상공간이 아파트 단지임을 나타낼 수 있다. 또한 계층정보가 레벨 5인 경우, 가상공간이 도시임을 나타낼 수 있다. 이와 같이 가상공간의 계층정보는 무한히 확장될 수 있다.Virtual space can have a hierarchy. As already explained, the virtual world may include a virtual space. A virtual world can be included in a virtual Earth. Additionally, the virtual Earth can be included in the virtual universe. In this way, a virtual space can include a smaller space, and a virtual space can include a larger space. Properties of virtual space may include layer information. Hierarchy information can be displayed as numbers. The larger the hierarchical information, the wider the space can be represented. However, it is not limited to this, and as hierarchical information becomes smaller, it may represent a wider space. For example, if the hierarchical information is level 1, it may indicate that the virtual space is a unit, indoor space, or room. Here, a unit may mean a unit space such as 1 square meter or 1 pyeong. Indoor space may refer to a living room, room, or kitchen. Additionally, if the hierarchical information is level 2, it can indicate that the virtual space is a unit of a house or a virtual space transaction. Additionally, if the hierarchy information is level 3, it may indicate that the virtual space is one apartment building. Additionally, if the hierarchy information is level 4, it may indicate that the virtual space is an apartment complex. Additionally, if the hierarchical information is level 5, it can indicate that the virtual space is a city. In this way, the hierarchical information of virtual space can be infinitely expanded.

서버(110)는 가상공간의 속성에 포함된 가상공간의 모양에 기초하여 가상공간의 모양을 결정할 수 있다. 가상공간은 다면체형상일 수 있다. 가상공간은 바닥, 벽, 창문, 문, 천정을 포함할 수 있다. 가상공간은 단층을 가진 공간일 수 있지만 이에 한정되는 것은 아니며 복수의 층을 가진 공간일 수도 있다.The server 110 may determine the shape of the virtual space based on the shape of the virtual space included in the properties of the virtual space. The virtual space may have a polyhedral shape. The virtual space may include floors, walls, windows, doors, and ceilings. A virtual space may be a space with a single layer, but is not limited to this and may also be a space with multiple layers.

서버(110)는 가상공간의 속성에 포함된 가상공간의 크기 정보에 기초하여 가상공간의 모양을 결정할 수도 있다. 예를 들어, 가상공간의 모양이 직육면체로 결정된 경우, 서버(110)는 가상공간의 크기 정보에 기초하여 자동으로 가상공간의 모양을 결정할 수 있다. 가상공간의 크기 정보는 가로폭, 세로폭 및 높이를 포함할 수 있다.The server 110 may determine the shape of the virtual space based on the size information of the virtual space included in the virtual space properties. For example, if the shape of the virtual space is determined to be a rectangular parallelepiped, the server 110 may automatically determine the shape of the virtual space based on the size information of the virtual space. Size information of the virtual space may include horizontal width, vertical width, and height.

이미 설명한 바와 같이 실제공간의 위치 정보는 3차원 좌표정보일 수 있다. 즉 실제공간의 위치는 지면에서의 위치 정보 뿐만 아니라, 높이 정보를 포함할 수 있다. 서버(110)는 3차원 맵에서 실제공간의 위치 정보에 대응되는 곳에 다면체형상의 가상공간을 배치할 수 있다. As already explained, location information in real space may be three-dimensional coordinate information. That is, the location in real space may include not only location information on the ground but also height information. The server 110 may place a polyhedral-shaped virtual space in a location corresponding to the location information of the real space on the 3D map.

또한, 서버(110)는 가상공간의 속성에 포함된 가상공간의 시간 정보에 기초하여 해의 위치, 달의 위치, 가로등의 켜짐 여부, 자동차의 헤드라이트 켜짐 여부, 가상공간 및 가상공간 주변의 조명의 켜짐 여부를 결정할 수 있다. 예를 들어 가상공간의 시간 정보가 낮인 경우, 빛을 낼 수 있는 오브젝트들은 불을 켜지 않을 수 있다. 또한, 가상공간의 시간 정보가 밤인 경우, 빛을 낼 수 있는 오브젝트들은 불을 켜지 않을 수 있다. 빛을 낼 수 있는 오브젝트는, 해, 달, 실내 조명등, 가로등, 또는 자동차 등일 수 있다. In addition, the server 110 determines the position of the sun, the position of the moon, whether street lights are turned on, whether headlights of cars are turned on, and the lighting in the virtual space and around the virtual space based on the time information of the virtual space included in the properties of the virtual space. You can decide whether to turn it on or not. For example, if the time information in the virtual space is daytime, objects that can emit light may not light up. Additionally, if the time information in the virtual space is night, objects that can emit light may not light up. Objects that can emit light may be the sun, the moon, indoor lighting, street lights, or cars.

서버(110)는 관리자 단말기(120)로부터 관리자의 입력을 수신하지 않고도 가상공간의 주변에 배치되는 기본 가상 오브젝트를 가상공간의 주변에 배치할 수 있다. 기본 가상 오브젝트는 가상공간의 외부에 배치되어 가상공간의 분위기를 형성하고, 하이퍼 리얼리티를 구현하기 위한 구성일 수 있다. 기본 가상 오브젝트의 속성은 오브젝트의 식별정보, 종류, 질감(Texture), 색, 모양, 크기, 위치, 가상 오브젝트에 대응되는 실제 오브젝트의 제조사, 제조년도, 제품식별번호, 및 실제 오브젝트의 판매처 중 적어도 하나를 포함할 수 있다. 서버(110)는 기본 가상 오브젝트의 속성에 기초하여 가상공간의 내부 및 가상공간의 주변에 가상 오브젝트들을 배치할 수 있다. 기본 가상 오브젝트는 가상공간에 대한 가상 오브젝트의 초기 설정일 수 있다. 예를 들어 가상 공간 외부의 나무, 해, 달, 가로등, 나무, 풀, 지형물, 구조물(건물), 또는 자동차 등을 포함할 수 있다. 서버(110)는 실제공간의 위치 별로 미리 조사된 자료를 저장하고 있을 수 있다. 서버(110)는 실제공간의 위치에 기초하여 기본 가상 오브젝트를 가상공간의 주변에 자동으로 배치할 수 있다. 미리 조사된 자료는 거리뷰 영상에 물체 인식프로그램을 적용하여 생성될 수 있다. 관리자 단말기(120)로부터 수신된 관리자의 입력에 기초하여 서버(110)는 기본 가상 오브젝트의 위치, 종류, 색상, 모양, 또는 개수 등을 수정할 수 있다.The server 110 can place basic virtual objects placed around the virtual space around the virtual space without receiving an administrator's input from the administrator terminal 120. The basic virtual object may be placed outside the virtual space to create the atmosphere of the virtual space and implement hyper reality. The properties of the basic virtual object include at least the object's identification information, type, texture, color, shape, size, location, manufacturer, manufacturing year, product identification number, and seller of the real object corresponding to the virtual object. It can contain one. The server 110 may place virtual objects inside and around the virtual space based on the properties of the basic virtual object. The default virtual object may be the initial setting of the virtual object for the virtual space. For example, it may include trees, sun, moon, street lights, trees, grass, terrain, structures (buildings), or cars outside the virtual space. The server 110 may store pre-researched data for each location in real space. The server 110 may automatically place basic virtual objects around the virtual space based on the location of the real space. Pre-researched data can be generated by applying an object recognition program to street view images. Based on the administrator's input received from the administrator terminal 120, the server 110 may modify the location, type, color, shape, or number of the basic virtual object.

가상 오브젝트의 속성은 가상 오브젝트에 대응하는 실제 오브젝트의 제조사, 실제 오브젝트의 제조년도, 실제 오브젝트의 제품식별번호, 가격, 및 판매처 중 적어도 하나를 포함할 수 있다. 따라서 사용자는 가상 오브젝트의 속성에 기반하여 쉽게 실제공간을 꾸밀 수도 있다.The properties of the virtual object may include at least one of the manufacturer of the real object corresponding to the virtual object, the manufacturing year of the real object, the product identification number of the real object, the price, and the seller. Therefore, users can easily decorate the real space based on the properties of virtual objects.

또한, 서버(110)는 가상공간의 시간 정보에 기초하여 도로의 차량의 수를 조절할 수 있다. 예를 들어 서버(110)는 교통량에 대한 정보를 외부의 서버로부터 수신할 수 있다. 서버(110)는 요일, 도로, 시간에 따른 교통량에 대한 정보를 수신할 수 있다. 서버(110)는 교통량을 미리 정해진 시간동안 저장할 수 있다. 여기서 미리 정해진 시간은 4주 이상 52주 이하일 수 있다. 또한 서버(110)는 미리 정해진 시간동안 획득된 교통량에 기초하여 평균적인 교통량을 획득할 수 있다. 서버(110)는 가상공간의 시간 정보에 기초하여 가상공간에 대응되는 실제공간의 위치의 주변의 도로의 평균적인 교통량을 획득할 수 있다. 여기서 가상공간의 시간 정보는 요일, 또는 시간과 관련될 수 있다. 또한 서버(110)는 주변의 도로의 평균적인 교통량에 대응되는 가상 오브젝트인 차량의 수를 결정할 수 있다. 서버(110)는 평균적인 교통량과 차량의 수를 대응시킨 테이블을 미리 저장하고 있을 수 있다. 또한 서버(110)는 사용자 단말기(130)가 결정된 차량의 수만큼 차량을 도로에 표시하도록 제어할 수 있다. 사용자 단말기(130)는 결정된 차량의 수에 기초한 소음을 발생시킬 수 있다. 즉, 결정된 차량의 수가 많을 수록 소음이 커질 수 있다. 사용자는 실제공간에 가보지 않고서도, 가상의 공간에서 소음의 정도를 체감해볼 수 있다. 또한 시간이 밤인 경우, 서버(110)는 차량들이 헤드라이트를 켜도록 할 수 있다. 따라서 사용자는 사용자 단말기(130)에 표시된 차량의 헤드라이트에 기초하여 빛공해를 체험하거나, 실제공간에서의 밤의 정취를 가상공간에서 미리 즐겨볼 수 있다.Additionally, the server 110 may adjust the number of vehicles on the road based on time information in virtual space. For example, the server 110 may receive information about traffic volume from an external server. The server 110 can receive information about traffic volume according to day of the week, road, and time. Server 110 may store traffic information for a predetermined period of time. Here, the predetermined time may be between 4 weeks and 52 weeks. Additionally, the server 110 may obtain an average traffic volume based on the traffic volume obtained during a predetermined time. The server 110 may obtain the average traffic volume on roads around a location in real space corresponding to the virtual space based on time information in the virtual space. Here, time information in virtual space may be related to day of the week or time. Additionally, the server 110 may determine the number of vehicles, which are virtual objects, corresponding to the average traffic volume on surrounding roads. The server 110 may previously store a table that corresponds the average traffic volume to the number of vehicles. Additionally, the server 110 may control the user terminal 130 to display a determined number of vehicles on the road. The user terminal 130 may generate noise based on the determined number of vehicles. In other words, the larger the number of vehicles determined, the larger the noise may be. Users can experience the level of noise in a virtual space without having to go to the actual space. Additionally, if the time is night, the server 110 may cause vehicles to turn on their headlights. Therefore, the user can experience light pollution based on the headlights of the vehicle displayed on the user terminal 130, or enjoy the atmosphere of the night in real space in advance in virtual space.

가상공간의 속성은 가상공간의 가격을 포함할 수 있다. 가상공간은 사용자들 간에 거래될 수 있다. 가상공간의 가격은 최초에 서버(110)또는 관리자 단말기(120)를 이용하는 관리자에 의하여 결정될 수 있다. 서버(110)는 가상공간의 크기에 미리 정해진 단위 크기당 가격을 곱하여 가격을 결정할 수 있다. 가격은 현실 세계의 현금으로 매겨질 수 있다. 하지만 이에 한정되는 것은 아니며, 가상공간의 가격은 가상공간에서 통용되는 가상화폐로 매겨질 수 있다. 가상화폐와 현실 세계의 현금은 미리 정해진 환율에 의하여 교환될 수 있다.Properties of the virtual space may include the price of the virtual space. Virtual space can be traded between users. The price of the virtual space can be initially determined by an administrator using the server 110 or the administrator terminal 120. The server 110 may determine the price by multiplying the size of the virtual space by a predetermined price per unit size. Prices can be set in real-world cash. However, it is not limited to this, and the price of the virtual space can be set in the virtual currency used in the virtual space. Cryptocurrency and real-world cash can be exchanged at a predetermined exchange rate.

가상공간의 속성은 가상공간의 소유자 정보를 포함할 수 있다. 소유자 정보는 가상공간의 사용자의 아이디 또는 고유식별자를 포함할 수 있다. 하지만 이에 한정되는 것은 아니며, 가상공간의 소유자 정보는 현실 세계의 사용자의 주민번호, 이름, 성별, 휴대폰번호, 및 계좌번호 중 적어도 하나를 포함하거나, 이들의 조합에 의하여 생성된 암호화된 코드일 수 있다. 가상공간의 소유자는 서버(110)로부터 가상공간의 수정에 대한 권한을 부여받을 수 있다. 가상공간의 소유자는 사용자 단말기(130)를 이용하여 가상공간의 크기, 또는 모양을 수정하거나, 가상공간에 포함되어 잇는 가상 오브젝트를 수정할 수 있다. 이에 대해서는 추후 설명한다.Properties of the virtual space may include owner information of the virtual space. Owner information may include the user ID or unique identifier of the virtual space. However, it is not limited to this, and the owner information of the virtual space may include at least one of the resident registration number, name, gender, mobile phone number, and account number of the user in the real world, or may be an encrypted code generated by a combination of these. there is. The owner of the virtual space may be granted permission to modify the virtual space by the server 110. The owner of the virtual space can use the user terminal 130 to modify the size or shape of the virtual space or modify virtual objects included in the virtual space. This will be explained later.

서버(110)는 사용자 단말기(130)로부터 3차원의 가상공간에 대한 구매 신호를 획득하는 단계(331)를 수행할 수 있다. 가상공간에 대한 구매 신호는 사용자 단말기(130)와 관련된 식별정보를 포함할 수 있다. 사용자 단말기와 관련된 식별정보는 사용자 단말기의 고유식별코드, 제조코드, 전화번호, 구매자의 식별정보 중 적어도 하나를 포함할 수 있다. 구매자의 식별정보는 현실 세계의 구매자의 주민번호, 이름, 성별, 휴대폰번호, 및 계좌번호 중 적어도 하나를 포함하거나, 이들의 조합에 의하여 생성된 암호화된 코드일 수 있다. 가상공간에 대한 구매 신호는 가상화폐의 액수를 포함할 수 있다. 여기서 사용자 단말기(130)는 구매를 원하는 사용자의 단말기를 의미할 수 있다. 가상화폐의 액수는 사용자가 가상공간을 구매하기 위하여 지불할 액수를 나타낼 수 있다. 사용자는 미리 정해진 액수를 지불하고 가상공간을 구매할 수도 있다. 하지만 이에 한정되는 것은 아니며, 사용자는 자신이 지불할 수 있는 액수를 기재하면, 사용자 단말기(130)는 구매 신호를 생성할 수 있다. 즉 경매 같이 적어도 하나의 사용자가 지불할 수 있는 가상화폐를 서버(110)에 제출하면 서버(110)는 가장 높은 가격을 제시한 사용자에게 가상공간의 소유권을 넘길 수 있다.The server 110 may perform step 331 of obtaining a purchase signal for a three-dimensional virtual space from the user terminal 130. The purchase signal for the virtual space may include identification information related to the user terminal 130. Identification information related to the user terminal may include at least one of the user terminal's unique identification code, manufacturing code, phone number, and purchaser's identification information. The buyer's identification information may include at least one of the buyer's social security number, name, gender, mobile phone number, and account number in the real world, or may be an encrypted code generated by a combination of these. Buy signals for virtual space may include amounts of virtual currency. Here, the user terminal 130 may refer to the terminal of a user who wishes to make a purchase. The amount of virtual currency may represent the amount the user will pay to purchase virtual space. Users can also purchase a virtual space by paying a predetermined amount. However, it is not limited to this, and when the user enters the amount he or she can pay, the user terminal 130 can generate a purchase signal. That is, when at least one user submits a payable virtual currency to the server 110, such as in an auction, the server 110 can transfer ownership of the virtual space to the user who offers the highest price.

서버(110)는 가상공간에 대한 구매 신호가 미리 정해진 구매 조건을 만족하는 경우, 가상공간의 속성에 포함된 소유자 정보를 가상공간에 대한 구매 신호에 포함된 사용자 단말기와 관련된 식별정보로 변경하는 단계(322)를 수행할 수 있다. 구매 조건은 적어도 하나일 수 있다. 예를 들어 서버(110)는 구매 신호에 포함된 가상화폐의 액수가 원래 소유자의 매매 가격 이상인 경우, 구매 조건을 만족하였다고 결정할 수 있다. 또한, 서버(110)는 원래 소유자가 구매 신호를 전송한 것은 아닌지 확인할 수 있다. 예를 들어, 원래 소유자가 가상공간의 가격을 높이기 위하여 자기 자신의 가상공간을 사는 것은 방지하기 위하여 서버(110)는 자신이 소유한 가상공간을 자신이 사는 것을 방지할 수 있다. 또한 서버(110)는 가상공간의 원래 소유자가 구매 신호를 승인하는 것에 기초하여 구매 조건을 만족하였다고 결정할 수 있다.When the purchase signal for the virtual space satisfies predetermined purchase conditions, the server 110 changes owner information included in the properties of the virtual space into identification information related to the user terminal included in the purchase signal for the virtual space. (322) can be performed. There may be at least one purchase condition. For example, the server 110 may determine that the purchase condition has been satisfied if the amount of virtual currency included in the purchase signal is greater than or equal to the original owner's sale price. Additionally, the server 110 can check whether the purchase signal was sent by the original owner. For example, in order to prevent the original owner from purchasing his or her own virtual space in order to increase the price of the virtual space, the server 110 may prevent the server 110 from purchasing the virtual space it owns. Additionally, the server 110 may determine that the purchase condition has been satisfied based on the original owner of the virtual space approving the purchase signal.

이와 같이 서버(110)는 가상공간에 대한 구매 신호가 미리 정해진 구매 조건을 만족하는 경우, 가상공간의 속성에 포함된 소유자 정보를 가상공간에 대한 구매 신호에 포함된 사용자 단말기와 관련된 식별정보로 변경하는 단계(322)를 수행할 수 있다. 사용자 단말기와 관련된 식별정보는 사용자 단말기의 고유식별코드, 제조코드, 전화번호, 및 구매자의 식별정보 중 적어도 하나를 포함할 수 있다.In this way, when the purchase signal for the virtual space satisfies the predetermined purchase conditions, the server 110 changes the owner information included in the properties of the virtual space to identification information related to the user terminal included in the purchase signal for the virtual space. Step 322 can be performed. Identification information related to the user terminal may include at least one of the user terminal's unique identification code, manufacturing code, phone number, and purchaser's identification information.

서버(110)는 가상공간의 속성을 사용자 단말기(130)로 송신하는 단계(332)를 수행할 수 있다. 서버(110)는 기본 가상 오브젝트의 속성도 송신할 수 있다. 또는 서버(110)는 기존 사용자에 의해 변경된 기본 가상 오브젝트의 속성을 사용자 단말기(130)로 송신할 수 있다. 사용자 단말기(130)는 서버(110)로부터 송신받은 가상공간의 속성, 가상 오브젝트의 속성에 기초하여 가상공간 및 오브젝트를 생성하여 표시할 수 있다. 사용자는 가상공간 및 가상 오브젝트를 확인하고, 이를 수정할 수 있다. 사용자 단말기(130)는 가상공간의 속성 및 가상 오브젝트의 속성을 로컬에서 저장하고 있으므로 오프라인에서 가상공간 및 가상 오브젝트를 수정할 수 있다. 하지만 이에 한정되는 것은 아니며, 사용자 단말기(130)는 서버(110)에 가상공간의 속성 및 가상 오브젝트의 속성을 수신하고, 수정된 가상공간의 속성 및 수정된 가상 오브젝트의 속성을 실시간으로 서버(110)로 전송할 수도 있다.The server 110 may perform step 332 of transmitting the properties of the virtual space to the user terminal 130. Server 110 may also transmit properties of the basic virtual object. Alternatively, the server 110 may transmit the properties of the basic virtual object changed by the existing user to the user terminal 130. The user terminal 130 may create and display a virtual space and an object based on the properties of the virtual space and the properties of the virtual object transmitted from the server 110. Users can check virtual space and virtual objects and modify them. Since the user terminal 130 locally stores the properties of the virtual space and the properties of the virtual object, the virtual space and the virtual object can be modified offline. However, it is not limited to this, and the user terminal 130 receives the properties of the virtual space and the properties of the virtual object from the server 110, and sends the properties of the modified virtual space and the properties of the modified virtual object to the server 110 in real time. ) can also be sent.

사용자 단말기(130)는 가상 오브젝트 수정 요청 정보를 서버(110)로 송신하는 단계(333)를 수행할 수 있다. 사용자 단말기(130)는 가상공간의 수정 요청 정보를 서버(110)로 송신하는 단계를 더 수행할 수 있다. 이미 설명한 바와 같이 사용자 단말기(130)는 가상공간 및 가상 오브젝트를 표시할 수 있으며, 사용자의 입력에 기초하여 가상공간 및 가상 오브젝트 중 적어도 하나를 수정할 수 있다. 사용자 단말기(130)는 수정 내용을 가상공간의 속성 및 가상 오브젝트의 속성 중 적어도 하나에 반영할 수 있다. 또한 사용자 단말기(130)는 가상 오브젝트 수정 요청 정보를 서버(110)로 송신함으로써, 서버(110)에도 수정 내용이 반영되도록 할 수 있다. 가상 오브젝트 수정 요청 정보는 수정된 가상 오브젝트의 속성을 포함할 수 있다. 또한 가상공간의 수정 요청 정보는 수정된 가상공간의 속성을 포함할 수 있다. 가상공간의 수정 요청 정보는 사용자 단말기와 관련된 식별정보를 포함할 수 있다.The user terminal 130 may perform step 333 of transmitting virtual object modification request information to the server 110. The user terminal 130 may further perform the step of transmitting virtual space modification request information to the server 110. As already described, the user terminal 130 can display a virtual space and virtual objects, and can modify at least one of the virtual space and virtual objects based on the user's input. The user terminal 130 may reflect the modified content in at least one of the properties of the virtual space and the properties of the virtual object. Additionally, the user terminal 130 can transmit virtual object modification request information to the server 110 so that the modification contents are also reflected in the server 110. Virtual object modification request information may include properties of the modified virtual object. Additionally, the virtual space modification request information may include properties of the modified virtual space. The virtual space modification request information may include identification information related to the user terminal.

서버(110)는 가상 오브젝트 수정 요청 정보에 포함된 사용자 단말기와 관련된 식별정보가 가상공간의 속성에 포함된 소유자 정보와 일치하는지 여부를 결정하는 단계(323)를 수행할 수 있다. 서버(110)는 가상 오브젝트 수정 요청 정보에 포함된 사용자 단말기와 관련된 식별정보가 서버(110)에 저장되어 있는 가상공간의 속성에 포함된 소유자 정보와 일치하는지 확인하여, 수정 권한이 있는 자만 가상 오브젝트 또는 가상공간을 변경하도록 할 수 있다. 서버(110)에 수정된 가상공간의 속성 및 수정된 가상 오브젝트의 속성이 반영되는 경우, 제 3 자 단말기에서도 수정된 가상공간 및 수정된 가상 오브젝트가 표시될 수 있다. 따라서 아무나 가상공간 및 가상 오브젝트를 변경하는 경우, 가상공간의 소유자의 사용 권리를 침해하는 것이므로, 서버(110)는 가상공간의 소유자만 가상공간 및 가상 오브젝트를 수정하도록 할 수 있다. The server 110 may perform step 323 of determining whether identification information related to the user terminal included in the virtual object modification request information matches owner information included in the properties of the virtual space. The server 110 checks whether the identification information related to the user terminal included in the virtual object modification request information matches the owner information included in the properties of the virtual space stored in the server 110, and only those with modification permission can access the virtual object. Alternatively, you can change the virtual space. When the properties of the modified virtual space and the properties of the modified virtual object are reflected in the server 110, the modified virtual space and the modified virtual object may be displayed on a third-party terminal. Therefore, if anyone modifies the virtual space and virtual objects, it is a violation of the virtual space owner's right to use the virtual space. Therefore, the server 110 can allow only the virtual space owner to modify the virtual space and virtual objects.

가상 오브젝트 수정 요청 정보에 포함된 사용자 단말기와 관련된 식별정보가 가상공간의 속성에 포함된 소유자 정보와 일치하는 경우, 서버가 사용자 단말기로부터 가상 오브젝트의 속성을 획득하는 단계(334)를 수행할 수 있다.If the identification information related to the user terminal included in the virtual object modification request information matches the owner information included in the properties of the virtual space, the server may perform step 334 of acquiring the properties of the virtual object from the user terminal. .

이미 설명한 바와 같이 가상 오브젝트 수정 요청 정보가 수정된 가상 오브젝트의 속성을 포함할 수도 있지만, 가상 오브젝트 수정 요청 정보는 가상 오브젝트 속성과 별도로 사용자 단말기(130)에서 서버(110)로 송신될 수 있다. 사용자 단말기(130)는 가상 오브젝트가 변경될 때마다 가상 오브젝트의 속성의 서버(110)로 송신할 수 있다. 즉, 서버(110)는 가상 오브젝트가 변경될 때마다 실시간으로 변경사항을 반영할 수 있고, 제 3 자 단말기도 수정 과정을 실시간으로 확인할 수 있다. 사용자 단말기(130)의 소유자는 인테리어 과정을 퍼포먼스의 형식으로 보여줄 수 있는 장점이 있다. 서버(110)는 가상 오브젝트의 속성을 시간별로 저장하고 있을 수 있다. 하지만 이에 한정되는 것은 아니다. 사용자 단말기(130)는 사용자로부터 "완료"를 나타내는 신호를 획득한 후에, 가상 오브젝트의 속성을 서버(110)로 송신할 수 있다. 즉, 서버(110)는 가상공간 내의 가상 오브젝트의 변화과정에 대한 정보를 보유하지 않을 수 있다. 다만, 이와 같은 경우, 서버(110)와 사용자 단말기(130)의 사이의 데이터 전송량이 줄 수 있다.As already described, the virtual object modification request information may include the properties of the modified virtual object, but the virtual object modification request information may be transmitted from the user terminal 130 to the server 110 separately from the virtual object properties. The user terminal 130 may transmit the properties of the virtual object to the server 110 whenever the virtual object is changed. That is, the server 110 can reflect the changes in real time whenever the virtual object is changed, and a third-party terminal can also check the modification process in real time. The owner of the user terminal 130 has the advantage of being able to show the interior design process in the form of a performance. The server 110 may store properties of virtual objects by time. However, it is not limited to this. After obtaining a signal indicating “completion” from the user, the user terminal 130 may transmit the properties of the virtual object to the server 110. That is, the server 110 may not retain information about the change process of virtual objects in the virtual space. However, in this case, the amount of data transmission between the server 110 and the user terminal 130 may be reduced.

여기서 가상 오브젝트는 가상공간의 내부 및 외부에 배치되는 가상의 오브젝트를 의미할 수 있다. 가상 오브젝트의 속성은 오브젝트의 식별정보, 종류, 질감(Texture), 색, 모양, 크기, 및 위치 중 적어도 하나를 포함할 수 있다. 가상 오브젝트의 종류는 배경(나무, 풀, 화단, 인공물), 건물(벽, 계단, 창문, 문), 가구, 자동차 등을 포함할 수 있다. 가상 오브젝트는 기본 가상 오브젝트를 포함할 수 있다. 가상 오브젝트 각각은 식별정보를 포함할 수 있다. 서버(110), 관리자 단말기(120) 및 사용자 단말기(130)는 가상 오브젝트의 식별정보에 기초하여 가상 오브젝트를 특정 지을 수 있다. 서버(110)는 가상 오브젝트에 대한 3차원 모델 및 색깔을 저장하고 있을 수 있다. 가상 오브젝트의 속성에 대한 설명은 가상 아이템의 속성에 대해 적용될 수 있다. 가상 오브젝트는 가상공간을 꾸미기 위해 사용된다면, 가상 아이템은 가상인물을 꾸미기 위해 사용될 수 있다. Here, the virtual object may refer to a virtual object placed inside or outside the virtual space. The properties of the virtual object may include at least one of the object's identification information, type, texture, color, shape, size, and location. Types of virtual objects may include backgrounds (trees, grass, flower beds, artifacts), buildings (walls, stairs, windows, doors), furniture, cars, etc. Virtual objects may include basic virtual objects. Each virtual object may include identification information. The server 110, the administrator terminal 120, and the user terminal 130 may specify the virtual object based on the identification information of the virtual object. The server 110 may store 3D models and colors for virtual objects. Descriptions of the properties of a virtual object may be applied to the properties of a virtual item. While virtual objects can be used to decorate virtual spaces, virtual items can be used to decorate virtual people.

서버(110)는 가상 오브젝트의 속성에 포함되는 질감(Texture)의 정보를 미리 저장하고 있을 수 있다. 즉, 서버(110)는 가상 오브젝트에 적용될 수 있는 복수의 질감의 정보를 질감 데이터베이스로서, 미리 저장하고 있을 수 있다. 질감의 정보는 가상 오브젝트의 표면의 2차원 정보, 3차원 정보, 무늬 또는 색 중 적어도 하나를 포함할 수 있다. 예를 들어 동일한 벽이라고 하더라도, 벽지의 종류가 바뀌면 질감이 달라질 수 있다. 마찬가지로 서버(110)는 질감의 정보에 기초하여 가상 오브젝트의 표면의 느낌을 다르게 설정할 수 있다. 질감의 정보는 단위 면적에 대한 정보만 표현할 수 있다. 가상 오브젝트의 단위 면적보다 큰 영역을 커버하기 위하여, 서버(110)는 가상 오브젝트의 표면에 질감의 정보를 반복적으로 반영할 수 있다.The server 110 may previously store texture information included in the properties of the virtual object. That is, the server 110 may previously store information on a plurality of textures that can be applied to the virtual object as a texture database. The texture information may include at least one of two-dimensional information, three-dimensional information, pattern, or color of the surface of the virtual object. For example, even if it is the same wall, the texture may change if the type of wallpaper changes. Likewise, the server 110 may set the surface feel of the virtual object differently based on texture information. Texture information can only express information about a unit area. In order to cover an area larger than the unit area of the virtual object, the server 110 may repeatedly reflect texture information on the surface of the virtual object.

질감의 정보는 2차원 정보일 수 있으나 이에 한정되는 것은 아니고 3차원을 형태를 가질 수 있다. 질감의 정보가 3차원 정보인 경우, 하이퍼 리얼리티를 보다 쉽게 구현할 수 있다. 예를 들어, 가상 오브젝트인 내벽에 대한 질감의 정보는, 2차원 정보에 표현된 무늬 또는 색일 수 있다. 실제 세계에서 내벽은 대부분 2차원의 벽지로 마감되므로, 내벽에 대한 질감 정보는 2차원의 면에 표현된 무늬 또는 색으로 충분할 수 있다. 하지만, 실제 세계의 외벽의 경우, 벽돌 및 벽돌들 사이의 줄눈이 포함될 수 있으며, 3차원의 굴곡이 있을 수 있다. 이러한 3차원의 질감을 가상 공간에 구현하기 위하여 본 개시의 질감의 정보는 3차원 모양을 포함할 수 있다. 질감의 정보는 부조형태를 나타내는 정보일 수 있다. 즉, 가상 공간에서 외부로 노출되는 부분은 3차원으로 구현되지만, 외부로 노출되지 않는 부분은 평면이거나 구현되지 않을 수 있다. 3차원의 질감의 정보는 평평한 기준면에 대하여 굴곡을 가지는 표면 정보, 표면에 표현되는 무늬 및 색을 포함할 수 있다. 기준면은 가상공간의 가상 오브젝트와 맞닿는 면일 수 있고 표면 정보는 기준면의 반대면으로써, 가상 공간에서 사용자에게 보여지는 면일 수 있다. 표면 정보는 기준면에 대한 서로 다른 거리를 가지는 점들의 집합일 수 있다.Texture information may be two-dimensional information, but is not limited to this and may have a three-dimensional form. If the texture information is 3D information, hyper reality can be more easily implemented. For example, texture information about an inner wall, which is a virtual object, may be a pattern or color expressed in two-dimensional information. In the real world, most interior walls are finished with two-dimensional wallpaper, so the texture information for the interior wall may be sufficient as a pattern or color expressed on a two-dimensional surface. However, in the case of real-world exterior walls, they may include bricks and joints between bricks, and may have three-dimensional curves. In order to implement such a three-dimensional texture in virtual space, the texture information of the present disclosure may include a three-dimensional shape. Texture information may be information representing the relief form. In other words, the part that is exposed to the outside in the virtual space is implemented in three dimensions, but the part that is not exposed to the outside may be flat or not implemented. Three-dimensional texture information may include surface information that has a curve with respect to a flat reference surface, and patterns and colors expressed on the surface. The reference surface may be a surface in contact with a virtual object in a virtual space, and the surface information may be a surface opposite to the reference surface, which may be a surface shown to the user in the virtual space. Surface information may be a set of points with different distances to a reference surface.

서버(110)는 가상 오브젝트의 외면을 표현하기 위하여 적어도 하나의 3차원의 질감 정보를 포함할 수 있다. 또한 서버(110)는 단위 면적에 대한 3차원의 질감의 정보를 가상 오브젝트의 표면에 반복적으로 적용하여 넓은 면적의 가상 오브젝트의 표면을 구성할 수 있다. 단위 면적은 정사각형일 수 있다. 단위 면적의 질감의 정보에 포함된 표면 정보의 가장자리의 기준면에 대한 거리는 일정할 수 있다. 따라서 복수의 단위 면적의 질감의 정보가 결합되어도 이어지는 느낌이 날 수 있다. 하지만 이에 한정되는 것은 아니다.The server 110 may include at least one piece of three-dimensional texture information to represent the outer surface of the virtual object. Additionally, the server 110 may configure the surface of a virtual object of a large area by repeatedly applying three-dimensional texture information for a unit area to the surface of the virtual object. The unit area may be a square. The distance of the edge of the surface information included in the texture information of the unit area to the reference plane may be constant. Therefore, even if the texture information of multiple unit areas is combined, a sense of continuity can be created. However, it is not limited to this.

서버(110)는 가상 오브젝트에 대하여 초기 질감의 정보를 설정할 수 있다. 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터의 신호에 기초하여 가상 오브젝트에 반영된 질감의 정보를 변경할 수 있다. 보다 구체적으로 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터 가상 오브젝트에 대한 질감 식별자를 수신할 수 있다. 서버(110)는 수신된 질감 식별자에 대응하는 질감의 정보를 가상 오브젝트에 반영할 수 있다. 같은 모양의 오브젝트라도 서로 다른 질감의 정보가 적용되어 다른 가상 오브젝트의 느낌을 사용자에게 제공할 수 있다. 예를 들어 벽에 서로 다른 질감의 정보가 적용되어 가상 공간이 구현되는 경우, 사용자는 가상 공간으로부터 서로 다른 느낌을 받을 수 있다. 본 개시에 따르면, 질감 데이터베이스에 저장된 복수의 질감의 정보를 이용하여 사용자는 가상 공간에 적용된 직감의 정보를 쉽게 변경할 수 있으며, 가상 공간을 실제공간에 가깝게 구현할 수 있다. 또한 사용자는, 실제공간에 서로 다른 질감의 마감을 사용할 경우, 공간이 뿜어내는 분위기를 가상공간에서 미리 느껴볼 수 있다.The server 110 may set initial texture information for the virtual object. The server 110 may change the texture information reflected in the virtual object based on a signal from the administrator terminal 120 or the user terminal 130. More specifically, the server 110 may receive a texture identifier for a virtual object from the administrator terminal 120 or the user terminal 130. The server 110 may reflect texture information corresponding to the received texture identifier to the virtual object. Even for objects of the same shape, different texture information can be applied to provide the user with the feeling of a different virtual object. For example, when a virtual space is created by applying different texture information to the walls, users can receive different feelings from the virtual space. According to the present disclosure, a user can easily change intuition information applied to a virtual space by using information on a plurality of textures stored in a texture database, and can implement the virtual space closer to the real space. Additionally, users can feel the atmosphere emitted by the space in advance in the virtual space when different textured finishes are used in the real space.

질감의 정보는 가상 오브젝트의 종류별로 분류되어 있을 수 있다. 사용자 단말기(130) 또는 관리자 단말기(120)는 먼저 가상 오브젝트의 종류를 선택할 수 있다. 사용자 단말기(130) 또는 관리자 단말기(120)는 선택된 가상 오브젝트의 종류에 대응되는 복수의 질감의 정보를 표시할 수 있다. 사용자 단말기(130) 또는 관리자 단말기(120)는 사용자 또는 관리자의 입력에 기초하여 출력된 복수의 질감 정보 중 하나의 질감 정보를 선택할 수 있다.Texture information may be classified by type of virtual object. The user terminal 130 or the administrator terminal 120 may first select the type of virtual object. The user terminal 130 or the administrator terminal 120 may display information on a plurality of textures corresponding to the type of the selected virtual object. The user terminal 130 or the administrator terminal 120 may select one texture information from among a plurality of texture information output based on the user's or administrator's input.

서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터 가상 오브젝트의 속성을 수신할 수 있다. 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터 수신한 가상 오브젝트의 속성에 기초하여 가상공간에 가상 오브젝트를 배치할 수 있다. 즉, 서버(110)는 미리 저장되어 있는 복수의 후보 가상 오브젝트 중에서 관리자 단말기(120) 또는 사용자 단말기(130)로부터 가상 오브젝트의 속성에 기초하여 선택된 가상 오브젝트를 가상공간에 배치할 수 있다. 또한 가상 오브젝트의 속성은 관리자 또는 사용자가 입력한 것일 수도 있고 관리자 단말기(120) 또는 사용자 단말기(130)가 자동으로 생성한 것일 수 있다. 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터 수신한 가상 오브젝트의 속성에 기초하여 가상 오브젝트의 3차원 모델의 색, 모양, 크기를 수정할 수 있다. 서버(110)는 가상공간에 가상 오브젝트를 미리 배치함으로써, 가상 오브젝트가 미리 배치된 가상공간의 영상을 생성할 수 있으며, 사용자 단말기(130)에 송신할 수 있다. 사용자 단말기(130)는 그래픽 처리 능력이 부족하여 가상공간 및 가상 오브젝트를 직접 렌더링하기 힘들 수 있다. 서버(110)는 가상 오브젝트가 배치된 가상공간의 영상을 생성한 후, 이를 압축하여 사용자 단말기(130)에 송신할 수 있다. 또한 서버(110)는 사용자 단말기(130)로부터 사용자의 입력을 수신하여 시점, 또는 시야의 방향을 변경하여 가상 오브젝트가 배치된 가상공간의 영상을 생성한 후, 이를 압축하여 사용자 단말기(130)에 송신할 수도 있다. 따라서 처리 능력이 부족한 사용자 단말기(130)에도 가상 오브젝트가 배치된 가상공간의 영상을 표시할 수 있다. 가상 오브젝트의 속성에 포함된 위치 정보는 가상공간 내에서 가상 오브젝트의 위치를 의미할 수 있다. 가상 오브젝트의 속성에 포함된 위치 정보는 3차원 좌표계로 표현될 수 있다. 가상 오브젝트의 속성에 포함된 위치 정보는 가상 오브젝트의 오리엔테이션 정보를 포함할 수 있다. 오리엔테이션 정보는 가상공간에서 가상 오브젝트의 배치방향 및 회전정도를 포함할 수 있다. 배치방향 및 회전정도 역시 3차원 좌표계로 표현될 수 있다.The server 110 may receive the properties of the virtual object from the administrator terminal 120 or the user terminal 130. The server 110 may place a virtual object in a virtual space based on the properties of the virtual object received from the administrator terminal 120 or the user terminal 130. That is, the server 110 may place a virtual object selected from the administrator terminal 120 or the user terminal 130 among a plurality of pre-stored candidate virtual objects based on the properties of the virtual object in the virtual space. Additionally, the properties of the virtual object may be input by an administrator or user, or may be automatically generated by the administrator terminal 120 or the user terminal 130. The server 110 may modify the color, shape, and size of the three-dimensional model of the virtual object based on the properties of the virtual object received from the administrator terminal 120 or the user terminal 130. The server 110 can generate an image of the virtual space in which the virtual object is pre-arranged by pre-arranging the virtual object in the virtual space, and transmit it to the user terminal 130. The user terminal 130 may have difficulty directly rendering virtual spaces and virtual objects due to insufficient graphics processing capabilities. The server 110 may generate an image of a virtual space where a virtual object is placed, compress the image, and transmit it to the user terminal 130. In addition, the server 110 receives the user's input from the user terminal 130, changes the viewpoint or direction of view, creates an image of the virtual space where the virtual object is placed, and then compresses the image and sends it to the user terminal 130. You can also send it. Therefore, an image of a virtual space where virtual objects are placed can be displayed even on a user terminal 130 that has insufficient processing power. Location information included in the properties of a virtual object may mean the location of the virtual object within the virtual space. Location information included in the properties of a virtual object can be expressed in a three-dimensional coordinate system. Location information included in the properties of the virtual object may include orientation information of the virtual object. Orientation information may include the placement direction and rotation degree of the virtual object in virtual space. The placement direction and degree of rotation can also be expressed in a three-dimensional coordinate system.

서버(110)는 3차원의 가상공간에 가상 오브젝트의 속성에 기초한 가상 오브젝트를 배치하는 단계(324)를 수행할 수 있다. 여기서 가상 오브젝트의 속성은 사용자 단말기(130)에 의하여 수정된 가상 오브젝트의 속성일 수 있다. 만약 사용자가 기존의 가상 오브젝트의 속성을 수정하지 않았다면, 기존의 가상 오브젝트의 속성이 유지될 수도 있다.The server 110 may perform step 324 of placing a virtual object based on the properties of the virtual object in a three-dimensional virtual space. Here, the properties of the virtual object may be properties of the virtual object modified by the user terminal 130. If the user does not modify the properties of the existing virtual object, the properties of the existing virtual object may be maintained.

서버(110)는 가상공간에 가상 오브젝트의 속성에 기초한 가상 오브젝트를 배치하는 단계를 수행할 때 다음과 같은 과정을 더 수행할 수 있다. 서버(110)는 가상공간에 가상 오브젝트가 배치된 영상을 사용자 단말기(130)로 송신할 수 있다. 송신할 때, 서버(110)는 영상을 압축할 수 있다. 또는 서버(110)는 가상공간의 속성 또는 가상 오브젝트의 속성을 사용자 단말기(130)에 송신할 수도 있다. 사용자 단말기(130)는 가상공간의 속성 또는 가상 오브젝트의 속성에 기초하여 직접 가상공간 및 가상 오브젝트를 렌더링할 수 있다. 또한 사용자 단말기(130)는 렌더링된 가상공간 및 가상 오브젝트를 표시할 수 있다.When performing the step of placing a virtual object based on the properties of the virtual object in a virtual space, the server 110 may further perform the following process. The server 110 may transmit an image of a virtual object placed in a virtual space to the user terminal 130. When transmitting, the server 110 may compress the video. Alternatively, the server 110 may transmit the properties of the virtual space or the properties of the virtual object to the user terminal 130. The user terminal 130 may directly render the virtual space and virtual object based on the properties of the virtual space or the properties of the virtual object. Additionally, the user terminal 130 may display rendered virtual space and virtual objects.

서버(110)는 가상 오브젝트를 가상공간과 함께 표시하도록 제어할 수 있다. 사용자 단말기(130) 및 제 3 자 단말기는 가상공간 및 가상 오브젝트를 화면에 표시할 수 있다. The server 110 can control the virtual object to be displayed together with the virtual space. The user terminal 130 and a third-party terminal can display virtual space and virtual objects on the screen.

본 개시의 다양한 실시예에 따르면, 3차원의 가상공간에 대한 정보는 가상공간의 속성 및 가상 오브젝트의 속성을 포함할 수 있다. 따라서 서버(110)는 가상공간에 대한 정보만을 사용자 단말기(130)에 송신하면, 사용자 단말기(130)는 서버(110)에 구현된 가상공간 및 가상 오브젝트를 디스플레이에 표시할 수 있다.According to various embodiments of the present disclosure, information about a three-dimensional virtual space may include properties of the virtual space and properties of a virtual object. Therefore, if the server 110 transmits only information about the virtual space to the user terminal 130, the user terminal 130 can display the virtual space and virtual objects implemented in the server 110 on the display.

본 개시의 다양한 실시예에 따르면, 서버(110)는 3차원의 가상공간에 대한 정보를 사용자 단말기(130)로 송신하는 단계를 수행할 수 있다. 서버(110)는 3차원의 가상공간에 대한 정보를 제 3 자 단말기로 송신하는 단계를 수행할 수 있다. 서버(110)는 3차원의 가상공간에 대한 정보 중 일부를 사용자 단말기(130) 또는 제 3 자 단말기에 송신할 수도 있다. 예를 들어 서버(110)는 사용자 단말기(130) 또는 제 3 자 단말기가 가상공간 및 가상 오브젝트를 표시하는데 필요한 정보만을 송신할 수 있다. 사용자 단말기(130) 또는 제 3 자 단말기는 3차원의 가상공간에 대한 정보를 수신할 수 있다. 사용자 단말기(130) 또는 제 3 자 단말기는 3차원의 가상공간에 대한 정보에 기초하여 가상공간 및 가상 오브젝트를 디스플레이에 표시할 수 있다.According to various embodiments of the present disclosure, the server 110 may transmit information about a three-dimensional virtual space to the user terminal 130. The server 110 may transmit information about the three-dimensional virtual space to a third-party terminal. The server 110 may transmit some of the information about the three-dimensional virtual space to the user terminal 130 or a third-party terminal. For example, the server 110 may transmit only the information necessary for the user terminal 130 or a third-party terminal to display a virtual space and a virtual object. The user terminal 130 or a third-party terminal can receive information about the three-dimensional virtual space. The user terminal 130 or a third-party terminal can display virtual space and virtual objects on the display based on information about the three-dimensional virtual space.

본 개시의 다양한 실시예에 따르면, 사용자 단말기(130)는 가상인물에 대한 정보를 획득하는 단계를 수행할 수 있다. 사용자 단말기(130)는 가상인물에 대한 정보를 사용자 단말기(130)의 메모리에서 획득하거나, 서버(110)로부터 수신할 수 있다.According to various embodiments of the present disclosure, the user terminal 130 may perform a step of obtaining information about a virtual person. The user terminal 130 may obtain information about the virtual person from the memory of the user terminal 130 or receive it from the server 110.

가상인물에 대한 정보는 가상인물의 외모에 대한 렌더링 정보를 포함할 수 있다. 가상인물의 외모는 가상인물의 피부색, 체형 모델, 얼굴의 모델을 포함할 수 있다. 체형 모델은 어린이 타입, 청소년 타입, 어른 타입, 노인 타입을 포함할 수 있다. 체형 모델은 신장 정보를 포함할 수 있다. 얼굴의 모델은, 눈의 위치, 눈 사이의 거리, 눈의 크기, 눈의 모양, 눈의 색, 코의 위치, 코의 모양, 코의 높이, 입의 위치, 입의 모양, 머리 스타일, 또는 머리 색 등을 포함할 수 있다.Information about the virtual person may include rendering information about the virtual person's appearance. The virtual character's appearance may include the virtual character's skin color, body type model, and face model. Body type models may include child types, youth types, adult types, and elderly types. The body type model may include height information. The face model includes eye position, distance between eyes, eye size, eye shape, eye color, nose position, nose shape, nose height, mouth position, mouth shape, hair style, or This may include hair color, etc.

가상인물에 대한 정보는 소지아이템(아이템)에 대한 정보를 포함할 수 있다. 소지아이템은 가상인물이 착용하는 옷, 장신구, 가방 등을 포함할 수 있다. 가상인물에 대한 정보는 옷의 식별정보, 옷의 색 중 적어도 하나를 포함할 수 있다. 옷의 식별정보는 옷의 모양에 따라 달라질 수 있다. 가상인물에 대한 정보는 장신구의 식별정보, 장신구의 색, 가방의 식별정보 및 가방의 색 중 적어도 하나를 포함할 수 있다. 사용자 단말기(130)는 가상인물에 대한 정보에 기초하여 가상공간에 가상인물을 표시할 수 있다. 본 개시에서 아이템은 가상인물을 꾸미기 위해 사용되며, 오브젝트는 가상공간을 꾸미기 위해 사용된다.Information about a virtual person may include information about a possessed item (item). Possessed items may include clothes, accessories, bags, etc. worn by the virtual person. Information about the virtual person may include at least one of clothing identification information and clothing color. Identification information for clothes may vary depending on the shape of the clothes. Information about the virtual person may include at least one of the identification information of the accessory, the color of the accessory, the identification information of the bag, and the color of the bag. The user terminal 130 may display a virtual person in a virtual space based on information about the virtual person. In this disclosure, items are used to decorate virtual characters, and objects are used to decorate virtual spaces.

사용자 단말기(130)는 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(335)를 수행할 수 있다. 또한, 사용자 단말기(130)가 3차원의 가상공간에 대한 정보 및 가상인물에 대한 정보 중 적어도 하나에 기초하여 디스플레이에 가상인물, 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계를 수행할 수 있다. 사용자 단말기(130)가 가상공간을 1인칭 시점으로 구현하는 경우, 가상인물은 디스플레이에 표시되지 않을 수 있다. 사용자는 사용자 단말기(130)를 통하여 1인칭 시점으로 가상공간을 체험할 수 있다. 사용자 단말기(130)가 가상공간을 3인칭 시점으로 구현하는 경우, 가상인물은 디스플레이에 표시될 수 있다. 사용자는 자신의 가상인물이 가상공간에 있는 모습을 체험하면서 가상공간이 풍겨내는 분위기를 느낄 수 있다. 가상공간에서 복수의 사용자의 가상인물이 활동할 수 있다. 하지만 이에 한정되는 것은 아니며, 가상공간에서 하나의 사용자의 가상인물만이 활동할 수 있다.The user terminal 130 may perform step 335 of displaying at least one of a virtual space and a virtual object on the display. Additionally, the user terminal 130 may perform a step of displaying at least one of a virtual person, a virtual space, and a virtual object on the display based on at least one of information about a three-dimensional virtual space and information about a virtual person. . When the user terminal 130 implements a virtual space from a first-person perspective, virtual people may not be displayed on the display. The user can experience the virtual space from a first-person perspective through the user terminal 130. When the user terminal 130 implements a virtual space from a third-person perspective, a virtual person may be displayed on the display. Users can feel the atmosphere of the virtual space by experiencing their virtual character in the virtual space. Multiple users' virtual characters can operate in a virtual space. However, it is not limited to this, and only one user's virtual character can be active in the virtual space.

사용자 단말기(130)는 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(335)를 수행하기 전에 다음과 같은 과정을 수행할 수 있다. 사용자 단말기(130)는 3차원(2차원) 맵을 표시할 수 있다. 사용자는 3차원(2차원) 맵을 둘러보면서 정보를 보고 싶은 지역을 확인할 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 3차원(2차원) 맵에 표시된 실제공간에 대한 정보와 관련된 항목을 표시할 수 있다. 사용자 단말기(130)는 실제공간에 대한 정보와 관련된 항목을 팝업창으로 표시할 수 있다. 또는 사용자 단말기(130)는 사용자의 입력에 기초하여 3차원(2차원) 맵에 실제공간에 대한 정보를 표시할 수 있다. 사용자 단말기(130)는 실제공간에 대한 정보를 화면의 좌측, 우측, 하단, 또는 상단 중 적어도 하나에 표시할 수 있다. 또한 사용자 단말기(130)는 실제공간에 대한 정보를 3차원(2차원) 맵에서 실제공간에 대응되는 위치에 표시할 수 있다. 이상에서는 3차원 맵을 중심으로 설명하였으나, 이에 한정되는 것은 아니다. 본 개시에서 3차원 맵은 2차원 맵으로 대체될 수 있다.The user terminal 130 may perform the following process before performing step 335 of displaying at least one of a virtual space and a virtual object on the display. The user terminal 130 can display a three-dimensional (two-dimensional) map. Users can look around the 3D (2D) map and check the area for which they want to see information. The user terminal 130 may display items related to information about the real space displayed on the three-dimensional (two-dimensional) map based on the user's input. The user terminal 130 may display items related to information about the real space in a pop-up window. Alternatively, the user terminal 130 may display information about the real space on a three-dimensional (two-dimensional) map based on the user's input. The user terminal 130 may display information about the real space on at least one of the left, right, bottom, or top of the screen. Additionally, the user terminal 130 can display information about the real space at a location corresponding to the real space on a 3D (2D) map. The above description focuses on the 3D map, but it is not limited thereto. In the present disclosure, the 3D map may be replaced with a 2D map.

또한 사용자 단말기(130)는 사용자 입력에 기초하여 3차원(2차원) 맵에 표시된 가상공간을 보기 위한 아이템을 표시할 수 있다. 사용자가 가상공간을 보기 위한 아이템을 선택하는 경우, 사용자 단말기(130)는 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시할 수 있다. 즉, 사용자 단말기(130)는 가상공간을 표시하기 위한 모드, 맵에 실제공간에 대한 정보를 표시하기 위한 모드를 별도로 구비하고 있을 수 있다. Additionally, the user terminal 130 may display items for viewing the virtual space displayed on the three-dimensional (two-dimensional) map based on user input. When the user selects an item to view the virtual space, the user terminal 130 may display at least one of the virtual space and the virtual object on the display. That is, the user terminal 130 may be separately equipped with a mode for displaying a virtual space and a mode for displaying information about a real space on a map.

서버(110)는 실제공간의 위치 정보를 포함하는 가상공간의 속성을 획득하는 단계를 수행할 수 있다. 서버(110)는 가상 오브젝트의 속성을 사용자 단말기(130) 또는 관리자 단말기(120)로부터 획득하는 단계를 수행할 수 있다. 사용자 단말기(130)는 서버(110)로부터 실제공간의 위치 정보에 기초하여 미리 저장되어 있는 실제공간에 대한 정보를 획득하는 단계를 수행할 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 가상공간을 표시하기 위한 모드 및 실제공간에 대한 정보를 표시하기 위한 모드를 선택하는 단계를 수행할 수 있다. 또한 선택된 모드에 기초하여 사용자 단말기(130)는 가상공간, 가상 오브젝트 및 실제공간에 대한 정보 중 적어도 하나를 표시하는 단계를 수행할 수 있다.The server 110 may perform a step of acquiring properties of the virtual space including location information of the real space. The server 110 may perform a step of obtaining the properties of the virtual object from the user terminal 130 or the administrator terminal 120. The user terminal 130 may perform a step of obtaining information about the real space that is previously stored based on the location information of the real space from the server 110. The user terminal 130 may perform the step of selecting a mode for displaying a virtual space and a mode for displaying information about a real space based on the user's input. Additionally, based on the selected mode, the user terminal 130 may display at least one of information about virtual space, virtual object, and real space.

가상공간, 가상 오브젝트 및 실제공간에 대한 정보 중 적어도 하나를 표시하는 단계는 다음과 같은 과정을 포함할 수 있다.The step of displaying at least one of information about virtual space, virtual object, and real space may include the following process.

가상 공간을 표시하기 위한 모드가 선택된 경우, 서버(110)는 가상공간의 속성에 기초하여 3차원의 가상월드의 일부에 3차원의 가상공간을 생성하는 단계를 수행할 수 있다. 서버(110)는 가상공간에 가상 오브젝트의 속성에 기초한 가상 오브젝트를 배치하는 단계를 수행할 수 있다. 서버(110)는 가상공간에 가상 오브젝트가 배치된 영상을 사용자 단말기(130)로 송신할 수 있다. 송신할 때, 서버(110)는 영상을 압축할 수 있다. 또는 서버(110)는 가상공간의 속성 또는 가상 오브젝트의 속성을 사용자 단말기(130)에 송신할 수도 있다. 사용자 단말기(130)는 가상공간의 속성 또는 가상 오브젝트의 속성에 기초하여 직접 가상공간 및 가상 오브젝트를 렌더링할 수 있다. 또한, 사용자 단말기(130)는 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계를 수행할 수 있다.When a mode for displaying a virtual space is selected, the server 110 may perform a step of creating a three-dimensional virtual space in a portion of the three-dimensional virtual world based on the properties of the virtual space. The server 110 may perform the step of placing a virtual object based on the properties of the virtual object in a virtual space. The server 110 may transmit an image of a virtual object placed in a virtual space to the user terminal 130. When transmitting, the server 110 may compress the video. Alternatively, the server 110 may transmit the properties of the virtual space or the properties of the virtual object to the user terminal 130. The user terminal 130 may directly render the virtual space and virtual object based on the properties of the virtual space or the properties of the virtual object. Additionally, the user terminal 130 may display at least one of a virtual space and a virtual object on the display.

실제공간에 대한 정보를 표시하기 위한 모드가 선택된 경우, 사용자 단말기(130)는 디스플레이에 2차원 맵과 함께 실제공간에 대한 정보를 표시하는 단계를 수행할 수 있다. 2차원 맵 및 실제공간에 대한 정보 중 적어도 하나는 서버(110)로부터 수신될 수 있다.When a mode for displaying information about the real space is selected, the user terminal 130 may perform a step of displaying the information about the real space along with a two-dimensional map on the display. At least one of information about a 2D map and real space may be received from the server 110.

이와 같이 가상공간을 표시하기 위한 모드 및 실제공간에 대한 정보를 표시하기 위한 모드가 별도로 구비됨으로써, 실제공간에 대한 정보 또는 시각화된 가상공간과 같은 사용자는 원하는 정보를 빠르게 확인할 수 있다.In this way, a mode for displaying virtual space and a mode for displaying information about real space are separately provided, so that users can quickly check desired information, such as information about real space or visualized virtual space.

도 4는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.Figure 4 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

도 3에서 서버(110)가 가상 오브젝트의 속성을 획득하는 단계(334)는 다음과 같은 과정을 포함할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 영상획득장치를 이용하여 실제 오브젝트 또는 실제 아이템이 포함된 소스 영상을 획득하는 단계(411)를 수행할 수 있다. 영상획득장치는 2D 카메라 또는 3D 카메라일 수 있다. 영상획득장치가 2D카메라인 경우, 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트 또는 실제 아이템의 6면에 대한 소스 영상을 획득할 수 있다. 6면은 정면도, 배면도, 좌측면도, 우측면도, 평면도, 저면도를 포함할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트 또는 실제 아이템의 6면도를 이용하여 직육면체의 3차원 형태에 대한 정보를 생성할 수 있다. 영상획득장치가 3D 카메라인 경우, 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트 또는 실제 아이템의 3차원 형태에 대한 정보를 소스 영상으로써 획득할 수 있다. 3차원 형태에 대한 정보는 3차원 모델링 데이터일 수 있다. 3차원 형태에 대한 정보는 닫힌 다면체에 대한 것일 수 있다.In FIG. 3 , step 334 in which the server 110 acquires the properties of a virtual object may include the following process. The administrator terminal 120 or the user terminal 130 may perform step 411 of acquiring a source image containing a real object or real item using an image acquisition device. The image acquisition device may be a 2D camera or a 3D camera. When the image acquisition device is a 2D camera, the administrator terminal 120 or the user terminal 130 can acquire source images for six sides of a real object or real item. The six sides may include front view, rear view, left side view, right side view, top view, and bottom view. The administrator terminal 120 or the user terminal 130 may generate information about the three-dimensional shape of a rectangular parallelepiped using a six-sided view of a real object or real item. When the image acquisition device is a 3D camera, the administrator terminal 120 or the user terminal 130 can obtain information about the 3D shape of a real object or real item as a source image. Information about the 3D shape may be 3D modeling data. Information about a three-dimensional shape may be about a closed polyhedron.

실제 오브젝트 또는 실제 아이템이 포함된 소스 영상은 실제 오브젝트 또는 실제 아이템에 대한 태그, 6면도, 3차원 형태에 대한 정보 중 적어도 하나를 포함할 수 있다. 실제 오브젝트 또는 실제 아이템에 대한 태그는 실제 오브젝트 또는 실제 아이템을 설명하기 위한 적어도 하나의 용어일 수 있다. 태그는, 실제 오브젝트 또는 실제 아이템의 종류, 브랜드, 중 적어도 하나를 포함할 수 있다. 태그는 실제 오브젝트 또는 실제 아이템에 부착된 QR, 또는 바코드 등의 표식일 수 있다.A source image containing a real object or real item may include at least one of information about a tag, a six-sided view, and a three-dimensional shape of the real object or real item. A tag for a real object or real item may be at least one term for describing the real object or real item. The tag may include at least one of a type or brand of an actual object or an actual item. A tag may be a mark such as a QR or barcode attached to a real object or real item.

관리자 단말기(120) 또는 사용자 단말기(130)는 소스 영상으로부터 실제 오브젝트의 속성 또는 실제 아이템의 속성을 획득하는 단계(412)를 수행할 수 있다. 실제 오브젝트의 속성 또는 실제 아이템의 속성은 이미 설명한 가상 오브젝트의 속성 또는 가상 아이템의 속성에 대응될 수 있다. 실제 오브젝트의 속성 또는 실제 아이템의 속성은 오브젝트 또는 아이템의 식별정보, 종류, 질감(Texture), 색, 모양, 크기, 및 위치 중 적어도 하나를 포함할 수 있다. 실제 오브젝트의 속성 또는 실제 아이템의 속성에 포함되는 정보들에 대한 설명은 가상 오브젝트의 속성 또는 가상 아이템의 속성에 포함되는 정보들에 대한 설명과 중복되므로 생략한다.The manager terminal 120 or the user terminal 130 may perform step 412 of acquiring properties of a real object or properties of a real item from a source image. The properties of the real object or the properties of the real item may correspond to the properties of the already described virtual object or virtual item. The properties of a real object or a real item may include at least one of identification information, type, texture, color, shape, size, and location of the object or item. The description of the information included in the properties of the real object or the properties of the real item is omitted because it overlaps with the description of the information included in the properties of the virtual object or the properties of the virtual item.

관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 속성 또는 실제 아이템의 속성을 서버(110)로부터 수신할 수 있다. 예를 들어 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 태그의 영상을 획득할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 촬영부를 포함할 수 있으며, 촬영부를 이용하여 태그의 영상을 획득할 수 있다. 관리자 단말기(120)는 태그의 영상으로부터 실제 오브젝트의 식별정보를 획득할 수 있다. 실제 오브젝트의 식별정보는 실제 오브젝트의 품목, 일렬번호, 브랜드, 또는 제조일자 중 적어도 하나와 관련될 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 식별정보를 서버(110)로 송신할 수 있다. 서버(110)는 실제 오브젝트의 식별정보에 대응되는 실제 오브젝트의 속성을 미리 저장되어 있는 데이터베이스로부터 획득할 수 있다. 서버(110)는 가상 오브젝트의 속성을 관리자 단말기(120) 또는 사용자 단말기(130)로 송신할 수 있다. 사용자 또는 관리자는 수신한 가상 오브젝트의 속성을 확인할 수 있다. 만약 미리 저장되어 있는 데이터베이스에 실제 오브젝트의 식별정보에 대응되는 실제 오브젝트의 속성이 없다면, 서버(110)는 실제 오브젝트의 속성을 요청하는 신호를 관리자 단말기(120) 또는 사용자 단말기(130)로 송신할 수 있다.The administrator terminal 120 or the user terminal 130 may receive properties of a real object or properties of a real item from the server 110. For example, the manager terminal 120 or the user terminal 130 may acquire an image of a tag of an actual object. The administrator terminal 120 or the user terminal 130 may include a photographing unit, and may acquire an image of the tag using the photographing unit. The manager terminal 120 can obtain identification information of the actual object from the tag image. The identification information of the real object may be related to at least one of the item, serial number, brand, or manufacturing date of the real object. The administrator terminal 120 or the user terminal 130 may transmit identification information of the actual object to the server 110. The server 110 may obtain the properties of the real object corresponding to the identification information of the real object from a database in which the real object is stored in advance. The server 110 may transmit the properties of the virtual object to the administrator terminal 120 or the user terminal 130. The user or administrator can check the properties of the received virtual object. If there are no properties of the real object corresponding to the identification information of the real object in the pre-stored database, the server 110 may transmit a signal requesting the properties of the real object to the administrator terminal 120 or the user terminal 130. You can.

관리자 단말기(120) 또는 사용자 단말기(130)는 소스 영상에 기초하여 실제 오브젝트의 속성 중 일부를 획득할 수 있다. 예를 들어 관리자 단말기(120) 또는 사용자 단말기(130)는 소스 영상에 기초하여 실제 오브젝트에 표시된 그림 또는 모양을 획득할 수 있다. 보다 구체적으로 실제 오브젝트가 간판이라면, 관리자 단말기(120) 또는 사용자 단말기(130)는 소스 영상에 기초하여 간판에 표시되는 글자, 도형, 또는 그림을 자동으로 획득 가능할 수 있다.The administrator terminal 120 or the user terminal 130 may acquire some of the properties of the actual object based on the source image. For example, the administrator terminal 120 or the user terminal 130 may obtain a picture or shape displayed on an actual object based on the source image. More specifically, if the actual object is a sign, the manager terminal 120 or the user terminal 130 may be able to automatically obtain letters, shapes, or pictures displayed on the sign based on the source image.

관리자 단말기(120) 또는 사용자 단말기(130)는 소스 영상에 물체 인식 알고리즘을 적용하여 물체의 종류를 획득할 수 있다. 물체 인식 알고리즘은 기계학습모델에 기반하여 구현될 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 인식된 물체의 종류를 표시할 수 있다. 또한 사용자의 확인 신호를 수신하는 경우, 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 종류를 인식된 물체의 종류로 결정할 수 있다.The administrator terminal 120 or the user terminal 130 may obtain the type of object by applying an object recognition algorithm to the source image. Object recognition algorithms can be implemented based on machine learning models. The administrator terminal 120 or the user terminal 130 may display the type of recognized object. Additionally, when receiving a user's confirmation signal, the manager terminal 120 or the user terminal 130 may determine the type of the actual object as the type of the recognized object.

관리자 단말기(120) 또는 사용자 단말기(130) 실제 오브젝트의 속성에 포함되는 식별정보를 관리자 또는 사용자로부터 수신할 수 있다. 또는 관리자 단말기(120) 또는 사용자 단말기(130)는 서버(110)에서 식별정보를 생성해줄 것을 요청할 수 있고, 서버(110)는 자동으로 식별정보를 생성할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 자동으로 생성된 식별정보를 실제 오브젝트의 식별정보로 결정할 수 있다. The administrator terminal 120 or the user terminal 130 may receive identification information included in the properties of the actual object from the administrator or user. Alternatively, the administrator terminal 120 or the user terminal 130 may request the server 110 to generate identification information, and the server 110 may automatically generate the identification information. The administrator terminal 120 or the user terminal 130 may determine the automatically generated identification information as the identification information of the actual object.

관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 종류를 관리자 또는 사용자로부터 수신할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 질감, 색을 소스 영상으로부터 획득할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 질감 또는 색을 소스 영상의 오브젝트에 포함되는 영역에서 추출할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 모양을 3차원 형태에 대한 정보로부터 획득할 수 있다. 관리자 단말기(120) 및 사용자 단말기(130)는 실제 오브젝트의 모양을 전문적인 3차원 모델링 툴을 이용하여 생성할 수도 있다. 또한 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 크기를 관리자 또는 사용자로부터 획득하거나, 3차원 형태에 대한 정보로부터 획득할 수 있다. 관리자 단말기(120) 또는 사용자 단말기(130)는 실제 오브젝트의 위치를 관리자 또는 사용자로부터 획득할 수 있다.The manager terminal 120 or the user terminal 130 may receive the type of the actual object from the manager or user. The administrator terminal 120 or the user terminal 130 can obtain the texture and color of the actual object from the source image. The administrator terminal 120 or the user terminal 130 may extract the texture or color of the actual object from the area included in the object of the source image. The administrator terminal 120 or the user terminal 130 may obtain the shape of the actual object from information about the three-dimensional shape. The administrator terminal 120 and the user terminal 130 may generate the shape of an actual object using a professional 3D modeling tool. Additionally, the manager terminal 120 or the user terminal 130 may obtain the size of the actual object from the manager or user, or from information about its three-dimensional shape. The administrator terminal 120 or the user terminal 130 may obtain the location of the actual object from the administrator or user.

서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터 소스 영상 및 실제 오브젝트의 속성 또는 실제 아이템의 속성을 수신하는 단계(413)를 수행할 수 있다. 서버(110)는 소스 영상을 실제 오브젝트의 속성 또는 실제 아이템의 속성과 함께 저장하는 단계(421)를 수행할 수 있다. 서버(110)는 소스 영상, 실제 오브젝트의 속성 또는 실제 아이템의 속성 중 적어도 하나에 기초하여 가상 오브젝트의 속성 또는 가상 아이템의 속성을 획득하는 단계(422)를 수행할 수 있다. 보다 구체적으로 서버(110)는 실제 오브젝트의 속성 또는 실제 아이템의 속성을 가상 오브젝트의 속성 또는 가상 아이템의 속성으로 결정할 수 있다. 위와 같은 방식으로 서버(110)는 가상 오브젝트의 속성 또는 가상 아이템의 속성을 누적하여 저장할 수 있다. 또한 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)의 제어 신호에 기초하여 복수의 가상 오브젝트의 속성 중 적어도 하나를 이용하여 가상공간을 채울 수 있다. 또한 서버(110)는 사용자 단말기(130)의 제어 신호에 기초하여 복수의 가상 아이템의 속성 중 적어도 하나를 이용하여 가상인물을 꾸밀 수 있다. 사용자 또는 다른 사용자가 사용자 단말기를 이용하여 가상인물이 가지고 있는 가상 아이템을 클릭(터치)하는 경우, 가상 아이템의 3차원 형태가 팝업 될 수 있다. 예를 들어 3차원 형태는 실제 아이템의 6면에 대한 소스 영상일 수 있다. 6면에 대한 소스 영상은 6면체의 표면에 표시될 수 있다. 이 경우, 가상 공간에서 아이템의 리얼리티는 떨어질 수 있으나, 사용자가 실제로 소유한 물건을 가상 공간에서 뽐낼 수 있도록 하며, 아이템의 라이센스에 대해 크게 문제를 일으키지 않으면서도 사용자의 과시욕을 쉽게 충족시킬 수 있는 효과가 있다.The server 110 may perform step 413 of receiving the source image and the properties of the real object or the properties of the real item from the manager terminal 120 or the user terminal 130. The server 110 may perform step 421 of storing the source image together with the properties of an actual object or an actual item. The server 110 may perform step 422 of acquiring the properties of the virtual object or the properties of the virtual item based on at least one of the source image, the properties of the real object, and the properties of the real item. More specifically, the server 110 may determine the properties of a real object or a property of a real item as the properties of a virtual object or a property of a virtual item. In the above manner, the server 110 can accumulate and store the properties of the virtual object or the properties of the virtual item. Additionally, the server 110 may fill the virtual space using at least one of the properties of a plurality of virtual objects based on a control signal from the administrator terminal 120 or the user terminal 130. Additionally, the server 110 may decorate a virtual character using at least one of the properties of a plurality of virtual items based on a control signal from the user terminal 130. When a user or another user clicks (touches) a virtual item held by a virtual person using a user terminal, the three-dimensional shape of the virtual item may pop up. For example, a 3D shape could be the source image of six sides of a real item. The source image for the six faces can be displayed on the surface of the hexahedron. In this case, the reality of the item may be reduced in the virtual space, but it allows the user to show off the items he or she actually owns in the virtual space, an effect that can easily satisfy the user's desire to show off without causing major problems with the item's license. There is.

이하에서는 도 5와 함께, 사용자 단말기(130)가 디스플레이에 가상인물, 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(335)를 보다 자세히 설명한다. Hereinafter, the step 335 in which the user terminal 130 displays at least one of a virtual person, a virtual space, and a virtual object on the display will be described in more detail with reference to FIG. 5.

도 5는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 나타낸 흐름도이다.Figure 5 is a flowchart showing the operation of the metaverse system according to an embodiment of the present disclosure.

도 5를 참조하면, 사용자 단말기(130)는 디스플레이에 가상인물, 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(335)를 수행하기 위하여 다음과 같은 과정을 더 수행할 수 있다. Referring to FIG. 5, the user terminal 130 may further perform the following process to perform step 335 of displaying at least one of a virtual person, a virtual space, and a virtual object on the display.

사용자 단말기(130)는 3차원의 가상공간에 대한 정보에 포함된 실제공간의 위치 정보에 기초하여, 미리 저장되어 있는 3차원 맵 중 일부에 가상공간을 위치시키는 단계(510)를 수행할 수 있다. 즉, 서버(110)가 3차원 맵에서 실제공간의 위치 정보에 대응되는 곳에 가상공간을 배치한 것과 동일하게 사용자 단말기(130)는 미리 저장되어 있는 3차원 맵 중 상기 실제공간의 위치 정보에 대응되는 위치에 가상공간을 위치시킬 수 있다. 서버(110)가 사용하는 3차원 맵은 사용자 단말기(130)가 사용하는 3차원 맵과 동일할 수 있다. 사용자 단말기(130)는 서버(110)로부터 3차원 맵을 미리 수신하여 저장하고 있을 수 있다.The user terminal 130 may perform step 510 of locating the virtual space in some of the 3D maps stored in advance, based on the location information of the real space included in the information about the 3D virtual space. . In other words, just as the server 110 places the virtual space in a location corresponding to the location information of the real space in the 3D map, the user terminal 130 corresponds to the location information of the real space in the pre-stored 3D map. You can place the virtual space in a location that is suitable for you. The 3D map used by the server 110 may be the same as the 3D map used by the user terminal 130. The user terminal 130 may receive and store the 3D map in advance from the server 110.

서버(110)가 기본 가상 오브젝트를 가상공간의 주변에 배치한 것과 같이, 사용자 단말기(130)는 기본 가상 오브젝트들을 가상공간에 배치할 수 있다. 이미 설명한 바와 같이 기본 가상 오브젝트는 가상공간의 외부에 배치되어 가상공간의 분위기를 형성하고, 하이퍼리얼리티를 구현하기 위한 구성일 수 있다. 예를 들어 가상 공간 외부의 나무, 해, 달, 가로등, 나무, 풀, 지형물, 구조물(건물), 또는 자동차 등을 포함할 수 있다. 서버(110)는 실제공간의 위치 별로 미리 조사된 자료를 저장하고 있을 수 있으며 미리 조사된 자료는 사용자 단말기(130)로 송신될 수 있다. 사용자 단말기(130)는 실제공간의 위치 및 서버로부터 수신된 미리 조사된 자료에 기초하여 기본 가상 오브젝트를 가상공간의 주변에 자동으로 배치할 수 있다. 또한 사용자 단말기(130)는 사용자의 입력에 기초하여 기본 가상 오브젝트의 위치, 종류, 또는 숫자 등을 수정할 수 있다. 실제공간의 위치 정보는 3차원 위치정보일 수 있다. 즉 3개의 축에 대한 값을 포함할 수 있다. 또한 사용자 단말기(130)가 사용하는 공간의 위치 정보는 실제공간의 위치 정보에 대응될 수 있다. 서버(110)가 가상공간 주변의 차량의 수를 결정하는 과정에 대해서는 이미 설명하였으며, 사용자 단말기(130) 역시 동일한 과정을 수행할 수 있다.Just as the server 110 places basic virtual objects around the virtual space, the user terminal 130 can place basic virtual objects in the virtual space. As already explained, the basic virtual object may be placed outside the virtual space to form the atmosphere of the virtual space and implement hyperreality. For example, it may include trees, sun, moon, street lights, trees, grass, terrain, structures (buildings), or cars outside the virtual space. The server 110 may store pre-searched data for each location in real space, and the pre-searched data may be transmitted to the user terminal 130. The user terminal 130 can automatically place basic virtual objects around the virtual space based on the location of the real space and pre-researched data received from the server. Additionally, the user terminal 130 may modify the location, type, or number of the basic virtual object based on the user's input. Location information in real space may be 3D location information. That is, it can include values for three axes. Additionally, location information of the space used by the user terminal 130 may correspond to location information of real space. The process by which the server 110 determines the number of vehicles around the virtual space has already been described, and the user terminal 130 can also perform the same process.

사용자 단말기(130)는 3차원의 가상공간에 대한 정보에 포함된 가상공간의 시간 정보에 기초하여 가상공간의 빛의 방향 및 빛의 세기를 결정하는 단계(520)를 수행할 수 있다. 예를 들어 사용자 단말기(130)는 가상공간의 시간 정보에 기초하여 태양의 위치 및 달의 위치를 결정할 수 있다. 또한 달의 크기를 결정할 수 있다. 여기서 가상공간의 태양 및 달은 기본 가상 오브젝트에 포함될 수 있다. 사용자 단말기(130)는 태양의 위치, 달의 위치 및 달의 크기 중 적어도 하나를 이용하여 가상공간의 빛의 방향 및 빛의 세기를 렌더링할 수 있다. 이와 같이 빛의 방향 및 빛의 세기가 현실과 유사하게 결정되므로 사용자는 가상공간에서 하이퍼 리얼리티를 느낄 수 있다.The user terminal 130 may perform step 520 of determining the direction and intensity of light in the virtual space based on the time information of the virtual space included in the information about the three-dimensional virtual space. For example, the user terminal 130 may determine the position of the sun and the moon based on time information in virtual space. It can also determine the size of the moon. Here, the sun and moon in virtual space may be included in the basic virtual objects. The user terminal 130 may render the direction and intensity of light in virtual space using at least one of the position of the sun, the position of the moon, and the size of the moon. In this way, the direction of light and intensity of light are determined similarly to reality, so users can feel hyper reality in virtual space.

사용자 단말기(130)는 3차원의 가상공간에 대한 정보에 포함된 가상 오브젝트의 속성에 기초하여 가상공간에 적어도 하나의 가상 오브젝트를 배치하는 단계(530)를 수행할 수 있다. 가상 오브젝트의 속성에 포함된 위치 정보는 가상공간 내에서 가상 오브젝트의 위치를 의미할 수 있다. 가상 오브젝트의 속성에 포함된 위치 정보는 3차원 좌표계로 표현될 수 있다. 가상 오브젝트의 속성에 포함된 위치 정보는 가상 오브젝트의 오리엔테이션 정보를 포함할 수 있다. 오리엔테이션 정보는 가상공간에서 가상 오브젝트의 배치방향 및 회전정도를 포함할 수 있다. 배치방향 및 회전정도 역시 3차원 좌표계로 표현될 수 있다.The user terminal 130 may perform step 530 of placing at least one virtual object in the virtual space based on the properties of the virtual object included in the information about the three-dimensional virtual space. Location information included in the properties of a virtual object may mean the location of the virtual object within the virtual space. Location information included in the properties of a virtual object can be expressed in a three-dimensional coordinate system. Location information included in the properties of the virtual object may include orientation information of the virtual object. Orientation information may include the placement direction and rotation degree of the virtual object in virtual space. The placement direction and degree of rotation can also be expressed in a three-dimensional coordinate system.

사용자는 사용자 단말기(130)를 이용하여 현실의 공간을 구현한 하이퍼리얼리티의 가상공간을 체험할 수 있다. 가상 공간은 실제공간의 위치에 대응되는 가상의 위치에 구현되므로, 사용자는 실제공간을 미리 체험해볼 수 있는 효과가 있다. 예를 들어 가상공간에 배치된 오브젝트들은 실제공간의 과거의 오브젝트들일 수 있다. 따라서 사용자는 실제공간의 과거모습을 가상공간에서 체험할 수 있다. 또한 가상공간에 배치된 오브젝트들은 실제공간의 미래 예상 오브젝트들일 수 있다. 따라서 사용자는 실제공간의 미래모습을 가상공간에서 체험할 수 있다. 예를 들어 서버(110)는 복수의 시간대에 각각 대응되는 가상 오브젝트의 속성을 저장하고 있을 수 있다. 또한 서버(110)는 사용자 단말기(130)로부터 날짜 정보 또는 시대 정보를 획득하는 경우, 해당 날짜 정보 또는 시대 정보에 대응되는 가상 오브젝트의 속성을 획득할 수 있다. 또한 서버(110)는 획득된 가상 오브젝트의 속성에 기초하여 가상공간에 가상 오브젝트들을 배치할 수 있다. 따라서 사용자는 시간에 따른 공간의 변화를 쉽게 체험할 수 있다.The user can use the user terminal 130 to experience a hyper-reality virtual space that embodies a real space. Since the virtual space is implemented in a virtual location that corresponds to the location of the real space, the user has the effect of being able to experience the real space in advance. For example, objects placed in virtual space may be past objects in real space. Therefore, users can experience the past appearance of real space in virtual space. Additionally, objects placed in virtual space may be expected future objects in real space. Therefore, users can experience the future appearance of real space in virtual space. For example, the server 110 may store properties of virtual objects corresponding to a plurality of time zones. Additionally, when the server 110 obtains date information or era information from the user terminal 130, the server 110 may obtain properties of a virtual object corresponding to the date information or era information. Additionally, the server 110 may place virtual objects in the virtual space based on the properties of the acquired virtual objects. Therefore, users can easily experience changes in space over time.

도 6은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작 방법을 설명하기 위한 흐름도이다. 도 7은 본 개시의 일 실시예에 따라 가상공간에 일조량과 관련된 정보를 시각화하기 위한 과정을 설명하기 위한 도면이다. 도 8은 본 개시의 일 실시예에 따라 가상공간에 일조량과 관련된 정보를 시각화하기 위한 과정을 설명하기 위한 도면이다. 도 9는 본 개시의 일 실시예에 따라 가상공간에 일조량과 관련된 정보를 시각화하기 위한 과정을 설명하기 위한 도면이다.FIG. 6 is a flowchart illustrating a method of operating a metaverse system according to an embodiment of the present disclosure. Figure 7 is a diagram for explaining a process for visualizing information related to the amount of sunlight in virtual space according to an embodiment of the present disclosure. Figure 8 is a diagram for explaining a process for visualizing information related to the amount of sunlight in virtual space according to an embodiment of the present disclosure. Figure 9 is a diagram for explaining a process for visualizing information related to the amount of sunlight in virtual space according to an embodiment of the present disclosure.

도 6 및 도 7을 참조하면, 사용자 단말기(130)가 가상공간의 빛의 방향 및 빛의 세기를 결정하는 단계(520)는 다음과 같은 과정을 더 포함할 수 있다. 아래의 설명은 동짓날 또는 하짓날을 기준으로 설명하지만 이에 한정되는 것은 아니다. 동짓날 또는 하짓날은 1년에 포함된 365일 중 사용자가 입력한 날로 대체될 수 있다.Referring to FIGS. 6 and 7 , step 520 of the user terminal 130 determining the direction and intensity of light in the virtual space may further include the following processes. The explanation below is based on the winter solstice or summer solstice, but is not limited to this. The winter solstice or summer solstice day can be replaced with a day entered by the user among the 365 days included in a year.

사용자 단말기(130)는 가상공간의 시간 정보를 동짓날의 미리 정해진 측정 시각으로 설정하는 단계(610)를 수행할 수 있다. 미리 정해진 측정 시각은 정오, 태양이 남중고도에 있는 시각, 오전 6시 또는 오후 6 중 적어도 하나를 포함할 수 있다. 미리 정해진 측정 시각은 서버(110), 관리자 단말기(120) 또는 사용자 단말기(130)에 의하여 설정될 수 있다.The user terminal 130 may perform step 610 of setting time information in the virtual space to the predetermined measurement time of the winter solstice. The predetermined measurement time may include at least one of noon, the time when the sun is at mid-south altitude, 6 a.m., or 6 p.m. The predetermined measurement time may be set by the server 110, the administrator terminal 120, or the user terminal 130.

사용자 단말기(130)는 가상공간에 배치된 가상 오브젝트에 의하여 가려지지 않고 가상공간(730)의 실내로 들어오는 빛이 가상공간의 바닥에 형성하는 2차원 동짓날 도형을 획득하는 단계(620)를 수행할 수 있다. 도 7을 참조하면, 사용자 단말기(130)는 동짓날의 미리 정해진 측정 시각에서의 태양의 위치(710)를 결정할 수 있다. 또한 사용자 단말기(130)는 태양의 위치(710)에 따라 가상공간(730)의 내부에 들어오는 빛의 경로(721)를 시뮬레이션할 수 있다. 또한 사용자 단말기(130)는 빛의 경로(721)에 의하여 가상공간(730)의 바닥에 형성하는 2차원 동짓날 도형(720)을 획득할 수 있다. 여기서 도형은 가상 오브젝트에 의하여 가려지지 않은 빛에 의하여 가상공간(730)의 바닥에 형성되는 도형을 의미할 수 있다. 단계(620)에서 가상 오브젝트에 의하여 가려지지 않는다는 것은 가상공간(730)의 내부에 위치한 가상 오브젝트 뿐만 아니라 가상공간(730)의 외부에 위치한 가상 오브젝트를 포함할 수 있다. 가상공간(730)의 내부에 위치한 가상 오브젝트는 가구, 벽, 등 불투명한 물체일 수 있다. 또한, 가상공간(730)의 외부에 위치한 가상 오브젝트는 가상공간의 외부에 위치한 나무, 다른 건물, 가로등, 또는 산 등을 의미할 수 있다. The user terminal 130 performs a step 620 of acquiring a two-dimensional winter solstice shape formed on the floor of the virtual space by light entering the interior of the virtual space 730 without being obscured by virtual objects placed in the virtual space. You can. Referring to FIG. 7 , the user terminal 130 may determine the position of the sun 710 at a predetermined measurement time on the winter solstice. Additionally, the user terminal 130 can simulate the path 721 of light entering the virtual space 730 according to the position of the sun 710. Additionally, the user terminal 130 can obtain a two-dimensional winter solstice figure 720 formed on the floor of the virtual space 730 through the light path 721. Here, the shape may mean a shape formed on the floor of the virtual space 730 by light that is not obscured by the virtual object. In step 620, not being obscured by a virtual object may include not only a virtual object located inside the virtual space 730 but also a virtual object located outside the virtual space 730. A virtual object located inside the virtual space 730 may be an opaque object such as furniture, a wall, or the like. Additionally, a virtual object located outside the virtual space 730 may mean a tree, another building, a street lamp, or a mountain located outside the virtual space.

사용자 단말기(130)는 가상공간(730)의 바닥에서 빛의 방향에 있는 가장자리(731)로부터 2차원 동짓날 도형(720)의 가장자리(722)까지의 최대 거리를 동짓날 일조 거리(740)로써 획득하는 단계(630)를 수행할 수 있다. 동짓날 일조 거리(740)는 동짓날 최대 일조 거리와 동일한 의미일 수 있다.The user terminal 130 obtains the maximum distance from the edge 731 in the direction of light at the bottom of the virtual space 730 to the edge 722 of the two-dimensional winter solstice shape 720 as the winter solstice solar distance 740. Step 630 may be performed. The solar solstice distance 740 may have the same meaning as the maximum solar solstice distance on the winter solstice.

도 6 및 도 8을 참조하면, 사용자 단말기(130)는 가상공간의 시간 정보를 하짓날의 미리 정해진 측정 시각으로 설정하는 단계(640)를 수행할 수 있다. 미리 정해진 측정 시각은 정오, 태양이 남중고도에 있는 시각, 오전 6시 또는 오후 6 중 적어도 하나를 포함할 수 있다. 미리 정해진 측정 시각은 서버(110), 관리자 단말기(120) 또는 사용자 단말기(130)에 의하여 설정될 수 있다.Referring to FIGS. 6 and 8 , the user terminal 130 may perform step 640 of setting time information in the virtual space to a predetermined measurement time of the summer solstice. The predetermined measurement time may include at least one of noon, the time when the sun is at mid-south altitude, 6 a.m., or 6 p.m. The predetermined measurement time may be set by the server 110, the administrator terminal 120, or the user terminal 130.

사용자 단말기(130)는 가상공간(830)에 배치된 가상 오브젝트에 의하여 가려지지 않고 가상공간의 실내로 들어오는 빛이 가상공간의 바닥에 형성하는 2차원 하짓날 도형을 획득하는 단계(650)를 수행할 수 있다. 도 8을 참조하면, 사용자 단말기(130)는 하짓날의 미리 정해진 측정 시각에서의 태양의 위치(810)를 결정할 수 있다. 동짓날의 미리 정해진 측정 시각에서의 태양의 위치(710)는 하짓날의 미리 정해진 측정 시각에서의 태양의 위치(810)와 다를 수 있다. 또한 사용자 단말기(130)는 태양의 위치(810)에 따라 가상공간(830)의 내부에 들어오는 빛의 경로(821)를 결정할 수 있다. 또한 사용자 단말기(130)는 빛의 경로(821)에 의하여 가상공간(830)의 바닥에 형성하는 2차원 하짓날 도형(820)을 획득할 수 있다. 여기서 도형은 가상 오브젝트에 의하여 가려지지 않은 빛에 의하여 가상공간(830)의 바닥에 형성되는 도형을 의미할 수 있다. 단계(650)에서 가상 오브젝트에 의하여 가려지지 않는다는 것은 가상공간(830)의 내부에 위치한 가상 오브젝트 뿐만 아니라 가상공간(830)의 외부에 위치한 가상 오브젝트를 포함할 수 있다. 가상공간(830)의 내부에 위치한 가상 오브젝트는 가구, 벽, 등 불투명한 물체일 수 있다. 또한, 가상공간(830)의 외부에 위치한 가상 오브젝트는 가상공간의 외부에 위치한 나무, 다른 건물, 가로등, 또는 산 등을 의미할 수 있다. The user terminal 130 performs a step 650 of acquiring a two-dimensional summer solstice shape formed on the floor of the virtual space by light entering the interior of the virtual space without being obscured by the virtual object placed in the virtual space 830. You can. Referring to FIG. 8, the user terminal 130 may determine the position 810 of the sun at a predetermined measurement time on the day of summer solstice. The position 710 of the sun at a predetermined measurement time on the winter solstice may be different from the position 810 of the sun at a predetermined measurement time on the summer solstice. Additionally, the user terminal 130 may determine the path 821 of light entering the virtual space 830 according to the position 810 of the sun. Additionally, the user terminal 130 can obtain a two-dimensional summer solstice shape 820 formed on the floor of the virtual space 830 through the light path 821. Here, the shape may mean a shape formed on the floor of the virtual space 830 by light that is not obscured by the virtual object. In step 650, not being obscured by a virtual object may include not only a virtual object located inside the virtual space 830 but also a virtual object located outside the virtual space 830. A virtual object located inside the virtual space 830 may be an opaque object such as furniture, a wall, or the like. Additionally, a virtual object located outside the virtual space 830 may mean a tree, another building, a street lamp, or a mountain located outside the virtual space.

사용자 단말기(130)는 가상공간(830)의 바닥의 가장자리(831)로부터 2차원 하짓날 도형(820)의 가장자리(822)까지의 최대 거리를 하짓날 일조 거리(840)로써 획득하는 단계(660)를 수행할 수 있다. 하짓날 일조 거리(840)는 하짓날 최대 일조 거리와 동일한 의미일 수 있다.The user terminal 130 performs a step 660 of obtaining the maximum distance from the edge 831 of the floor of the virtual space 830 to the edge 822 of the two-dimensional summer solstice shape 820 as the summer solstice day sunlight distance 840. It can be done. The summer solstice solar distance 840 may have the same meaning as the summer solstice maximum solar distance.

사용자 단말기(130)는 동짓날 일조 거리(740) 및 하짓날 일조 거리(840) 중 적어도 하나를 표시하는 단계를 수행할 수 있다. 사용자는 사용자 단말기(130)의 동짓날 일조 거리(740) 및 하짓날 일조 거리(840)를 확인하고, 가상공간에 대응하는 실제공간의 일조량을 알 수 있다. 또한, 사용자는 일조량을 고려하여 실제 공간의 구매를 고려할 수 있다. The user terminal 130 may perform a step of displaying at least one of the solar solstice distance 740 and the summer solstice solar distance 840. The user can check the winter solstice sunlight distance 740 and the summer solstice sunlight distance 840 of the user terminal 130 and know the amount of sunlight in the real space corresponding to the virtual space. Additionally, users can consider purchasing actual space by considering the amount of sunlight.

위에서는 동짓날과 하짓날을 중심으로 설명하였으나 이에 한정되는 것은 아니다. 사용자 단말기(130)는 사용자의 입력에 기초하여 가상 공간의 시간(날짜) 정보를 결정할 수 있다. 사용자 단말기(130)는 가상 공간의 시간 정보에 대응하는 태양의 위치, 달의 위치 또는 가로등의 위치를 획득할 수 있다. 또한 사용자 단말기(130)는 태양의 위치, 달의 위치 또는 가로등의 위치에 기초하여 빛의 경로 및 가상공간의 바닥에 형성되는 도형을 획득할 수 있다. 사용자는 가상공간의 빛의 경로 및 바닥에 형성되는 도형을 고려하여 가상공간에 대응되는 실제 공간의 구매를 고려해볼 수 있다.The explanation above focuses on the winter solstice and summer solstice days, but is not limited to these. The user terminal 130 may determine time (date) information of the virtual space based on the user's input. The user terminal 130 may obtain the position of the sun, the position of the moon, or the position of a street light corresponding to time information in virtual space. Additionally, the user terminal 130 may obtain a light path and a shape formed on the floor of the virtual space based on the position of the sun, the position of the moon, or the position of a street light. Users can consider purchasing a real space corresponding to the virtual space by considering the light path of the virtual space and the shapes formed on the floor.

또한, 사용자 단말기(130)는 가상공간의 빛의 방향 및 빛의 세기를 결정하는 단계(520)는 다음과 같은 과정을 더 포함할 수 있다.In addition, step 520 of the user terminal 130 determining the direction and intensity of light in the virtual space may further include the following processes.

도 9를 참조하면 사용자 단말기(130)는 가상공간(930)의 시간 정보를 하짓날 또는 동짓날의 미리 정해진 복수의 측정 시각을 획득하는 단계를 수행할 수 있다. 사용자 단말기(130)는 하짓날 또는 동짓날의 미리 정해진 복수의 측정 시각에, 가상공간에 배치된 가상 오브젝트에 의하여 가려지지 않고 가상공간의 실내로 들어오는 빛이 가상공간의 바닥에 형성하는 복수의 2차원 하짓날 도형(921, 922, 923) 또는 복수의 2차원 동짓날 도형(921, 922, 923)을 획득하는 단계를 수행할 수 있다. 사용자 단말기(130)는 하짓날 또는 동짓날의 미리 정해진 복수의 측정 시각에 각각 대응되는 복수의 태양의 위치(911, 912, 913)를 획득할 수 있다. 사용자 단말기(130)는 복수의 태양의 위치(911, 912, 913)에 대응하는 빛의 경로를 시뮬레이션할 수 있다. 사용자 단말기(130)는 시뮬레이션된 빛의 경로에 기초하여 바닥에 형성하는 복수의 2차원 하짓날 도형(921, 922, 923) 또는 복수의 2차원 동짓날 도형(921, 922, 923)을 획득할 수 있다. 복수의 도형(921, 922, 923)은 하루 내에 태양에 의하여 가상공간(930)에 들어오는 빛의 이동을 나타낼 수 있다.Referring to FIG. 9 , the user terminal 130 may perform a step of obtaining a plurality of predetermined measurement times of the summer solstice or winter solstice using time information of the virtual space 930. The user terminal 130 is a plurality of two-dimensional summer solstice images formed on the floor of the virtual space by light entering the room of the virtual space without being obscured by virtual objects placed in the virtual space at a plurality of predetermined measurement times of the summer solstice or winter solstice day. Steps for acquiring shapes 921, 922, and 923 or a plurality of two-dimensional winter solstice shapes 921, 922, and 923 may be performed. The user terminal 130 may acquire a plurality of sun positions 911, 912, and 913 respectively corresponding to a plurality of predetermined measurement times of the summer solstice or winter solstice. The user terminal 130 may simulate light paths corresponding to a plurality of sun positions 911, 912, and 913. The user terminal 130 may obtain a plurality of two-dimensional summer solstice shapes (921, 922, 923) or a plurality of two-dimensional winter solstice shapes (921, 922, 923) formed on the floor based on the simulated light path. . The plurality of shapes 921, 922, and 923 may represent the movement of light entering the virtual space 930 by the sun within a day.

사용자 단말기(130)는 가상공간(930)에 복수의 2차원 하짓날 도형(921, 922, 923) 또는 복수의 2차원 동짓날 도형(921, 922, 923)을 표시하는 단계를 수행할 수 있다. 복수의 도형(921, 922, 923)은 미리 정해진 투명도를 가질 수 있다. 따라서 사용자는 복수의 도형(921, 922, 923)이 겹쳐진 부분을 확인할 수 있다. 도 9에서는 복수의 도형(921, 922, 923)이 중복된 부분은 어두워져 있으나, 이에 한정되는 것은 아니다. 복수의 도형(921, 922, 923)이 중복된 부분은 밝아질 수 있다. 복수의 도형(921, 922, 923)은 서로 다른 색을 가질 수 있으나 이에 한정되는 것은 아니다. The user terminal 130 may perform the step of displaying a plurality of two-dimensional summer solstice shapes 921, 922, and 923 or a plurality of two-dimensional winter solstice shapes 921, 922, and 923 in the virtual space 930. The plurality of shapes 921, 922, and 923 may have predetermined transparency. Therefore, the user can check the overlapped portion of the plurality of shapes 921, 922, and 923. In FIG. 9 , the overlapping portions of the plurality of figures 921, 922, and 923 are darkened, but the display is not limited thereto. Areas where multiple shapes 921, 922, and 923 overlap may become brighter. The plurality of figures 921, 922, and 923 may have different colors, but are not limited thereto.

위에서는 동짓날과 하짓날을 중심으로 설명하였으나 이에 한정되는 것은 아니다. 사용자 단말기(130)는 사용자의 입력에 기초하여 가상 공간의 시간(날짜) 정보를 결정할 수 있다. 사용자는 가상공간의 빛의 경로 및 바닥에 형성되는 복수의 도형(921, 922, 923)을 고려하여 가상공간에 대응되는 실제 공간의 구매를 고려해볼 수 있다.The explanation above focuses on the winter solstice and summer solstice days, but is not limited to these. The user terminal 130 may determine time (date) information of the virtual space based on the user's input. The user can consider purchasing a real space corresponding to the virtual space by considering the light path of the virtual space and the plurality of shapes 921, 922, and 923 formed on the floor.

본 개시의 일 실시예에 따르면 사용자 단말기(130)가 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(335)는 다음과 같은 과정을 더 포함할 수 있다.According to an embodiment of the present disclosure, the step 335 of the user terminal 130 displaying at least one of a virtual space and a virtual object on the display may further include the following process.

사용자 단말기(130)는 서버(110)로부터 실제공간의 위치 정보에 기초하여 미리 저장되어 있는 실제공간에 대한 정보를 획득하는 단계를 수행할 수 있다. 예를 들어, 사용자 단말기(130)는 가상월드를 표시할 수 있다. 가상월드는 2D 맵(지도) 또는 3D 맵(지도)일 수 있다. 이미 설명한 바와 같이 가상월드는 가상공간을 포함할 수 있다. 즉, 사용자 단말기(130)는 가상월드를 표시할 때, 가상공간의 위치에 가상공간을 나타내는 아이콘을 표시할 수 있다. 사용자가 가상월드에서 가상공간의 위치에 표시된 아이콘을 터치하는 경우, 사용자 단말기(130)는 서버(110)로부터 실제공간에 대한 정보를 획득할 수 있다. 실제공간은 상기 가상공간에 대응되는 현실의 공간을 의미할 수 있다. 예를 들어 가상공간이 A아파트에 대한 것이라면 실제공간은 현실의 A아파트를 의미할 수 있다. 가상월드 상에서 가상공간인 A아파트의 위치는 현실 세계에서 A아파트의 위치에 대응될 수 있다. 또한 가상월드 상에서 가상공간인 A아파트의 형태는 현실 세계에서 A아파트의 형태와 대응될 수 있다.The user terminal 130 may perform a step of obtaining information about the real space that is previously stored based on the location information of the real space from the server 110. For example, the user terminal 130 may display a virtual world. The virtual world may be a 2D map or a 3D map. As already explained, a virtual world may include a virtual space. That is, when displaying a virtual world, the user terminal 130 may display an icon representing the virtual space at the location of the virtual space. When a user touches an icon displayed at a virtual space location in the virtual world, the user terminal 130 can obtain information about the real space from the server 110. Real space may mean a real space corresponding to the virtual space. For example, if the virtual space is about apartment A, the real space can refer to apartment A in reality. The location of Apartment A, a virtual space, in the virtual world can correspond to the location of Apartment A in the real world. Additionally, the shape of Apartment A, which is a virtual space in the virtual world, can correspond to the shape of Apartment A in the real world.

또한, 사용자 단말기(130)는 실제공간에 대한 정보를 가상공간 및 가상 오브젝트 중 적어도 하나와 함께 디스플레이에 표시하는 단계를 수행할 수 있다. 사용자 단말기(130)는 가상월드에서 가상공간의 위치에 표시된 아이콘과 함께 실제공간에 대한 정보 중 일부를 제공할 수 있다. 또한 사용자가 실제공간에 대한 정보를 자세히 보고 싶은 경우, 사용자는 아이콘을 한 번 더 클릭할 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 실제공간에 대한 자세한 정보를 표시하는 화면을 표시할 수 있다. 사용자 단말기(130)는 자세한 정보를 표시하는 화면에 실제공간에 대한 정보를 모두 표시할 수 있다. 하지만 실제공간에 대한 정보를 모두 표시하는 경우, 정보가 너무 많아 사용자가 보기 쉽지 않을 수 있다. 따라서 사용자 단말기(130)는 자세한 정보를 표시하는 화면에 항목을 표시할 수 있다. 항목은 아파트 정보, 랭킹 및 순위 분석 정보, 실제매물조회정보, 지역별 규제사항 정보, 부동산 스터디(투자) 정보, 투자힌트정보, 빅데이터 분석 정보, 시장강도 관련 정보 및 상업용/노후도 정보 중 적어도 하나에 대한 것일 수 있다. 사용자가 항목을 선택하는 경우, 사용자 단말기(130)는 해당 항목의 자세한 정보를 표시할 수 있다. 사용자 단말기는 항목에 포함되는 정보를 그래프, 텍스트, 숫자 등으로 표시할 수 있다.Additionally, the user terminal 130 may display information about the real space on the display along with at least one of the virtual space and the virtual object. The user terminal 130 may provide some information about the real space along with an icon displayed at the location of the virtual space in the virtual world. Additionally, if the user wants to view information about the real space in detail, the user can click the icon one more time. The user terminal 130 may display a screen that displays detailed information about the real space based on the user's input. The user terminal 130 can display all information about the real space on a screen that displays detailed information. However, if all information about the actual space is displayed, there may be too much information and it may not be easy for users to view. Accordingly, the user terminal 130 can display items on a screen that displays detailed information. The items include at least one of the following: apartment information, ranking and ranking analysis information, actual property inquiry information, regional regulation information, real estate study (investment) information, investment hint information, big data analysis information, market strength-related information, and commercial/obsolescence information. It may be about. When the user selects an item, the user terminal 130 may display detailed information about the item. The user terminal can display information included in the item in the form of graphs, text, numbers, etc.

실제공간에 대한 정보는 아파트 정보, 랭킹 및 순위 분석 정보, 실제매물조회정보, 지역별 규제사항 정보, 부동산 스터디(투자) 정보, 투자힌트정보, 빅데이터 분석 정보, 시장강도 관련 정보 및 상업용/노후도 정보 중 적어도 하나를 포함할 수 있다. Information on actual space includes apartment information, ranking and ranking analysis information, actual listing inquiry information, regional regulation information, real estate study (investment) information, investment hint information, big data analysis information, market strength-related information, and commercial/obsolescence status. It may contain at least one piece of information.

아파트 정보는 실거래가, 전세가율, 거래회전율, 유형, 매매전세갭, 광역버스 정보, 평형, 임대사업률, 입주민 의견, 가격, 월세수익률, 공시가, 보유세, 세대수, 주차공간, 분위지도, 입주년차, 현관/난방유무, 용적률, 평당가격, 외지인 거래량 변동, 건폐율, 및 대지면적 중 적어도 하나를 포함할 수 있다. Apartment information includes actual transaction price, lease rate, transaction turnover rate, type, sale and lease gap, metropolitan bus information, floor space, rental business rate, residents' opinions, price, monthly rental yield, public price, ownership tax, number of households, parking space, ambience map, and occupancy. It may include at least one of the following: year, presence/absence of entrance/heating, floor area ratio, price per pyeong, change in transaction volume by outsiders, building-to-land ratio, and land area.

아파트 정보는 주차장에 대한 정보를 포함할 수 있다. 주차장에 대한 정보는, 총 주차공간의 수, 주차공간의 크기, 세대 당 주차공간의 수, 주차장의 종류에 대한 정보, 주차공간까지 접근하기 위한 방법에 대한 정보, 및 주차공간의 종류 중 적어도 하나를 포함할 수 있다.Apartment information may include information about parking lots. Information about the parking lot includes at least one of the total number of parking spaces, size of the parking spaces, number of parking spaces per household, information about the type of parking lot, information about how to access the parking space, and type of parking space. may include.

주차장에 대한 정보는 아파트에 포함되어 있는 총 주차공간의 수를 포함할 수 있다. 본 개시에서 주차공간은 차량 한 대가 주차할 수 있는 공간을 의미하며, 주차장은 적어도 하나의 주차공간의 집합을 의미할 수 있다. 주차장에 대한 정보는 주차공간의 크기를 포함할 수 있다. 또한 주차장에 대한 정보는 주차공간의 크기별 개수를 포함할 수 있다. 또한 주차장에 대한 정보는 세대 당 주차공간의 수에 대한 정보를 포함할 수 있다. 세대 당 주차공간의 수에 대한 정보는 아파트 단지에 포함되어 있는 주차공간의 수를 아파트 단지에 포함된 세대의 수로 나눈 값일 수 있다. 주차장에 대한 정보는 주차장의 종류에 대한 정보를 포함할 수 있다. 예를 들어, 주차장에 대한 정보는 야외 주차공간여부, 실내(지하)주차공간 여부, 또는 주차타워 여부를 포함할 수 있다. 주차장에 대한 정보는 야외 주차공간의 수, 실내(지하)주차공간의 수, 또는 주차타워의 주차공간의 수 중 적어도 하나를 포함할 수 있다. 야외 주차공간과 실내 주차공간의 차이는 지붕이 있고 없고의 차이일 수 있다. 또한 야외 주차공간은 단층으로 이루어진 주차공간을 의미할 수 있다. 주차타워는 독립된 2층 이상의 건물형태로 주차장이 제공되는 경우를 의미할 수 있다. 또한 실내주차공간 또는 주차타워의 경우, 주차장에 대한 정보는 주차장의 층수에 대한 정보를 더 포함할 수 있다. 층수는 지하 몇층부터 몇층까지 또는 지상 몇층부터 몇층까지과 같이 제공될 수 있다. 주차장에 대한 정보는 주차공간까지 접근하기 위한 방법에 대한 정보를 포함할 수 있다. 예를 들어, 주차공간까지 접근하기 위한 방법은 도로 및 차량 엘리베이터 중 적어도 하나를 포함할 수 있다. 주차장에 대한 정보는 해당 접근 방법에 따라 접근 가능한 주차공간의 수를 포함할 수 있다. 즉, 주차장에 대한 정보는 도로로 접근가능한 주차공간의 수 및 차량 엘리베이터로 접근가능한 주차공간의 수를 포함할 수 있다. 주차장에 대한 정보는 주차공간의 종류를 포함할 수 있다. 예를 들어 주차장에 대한 정보는 일반주차공간, 장애인주차공간, 여성전용주차공간 또는 기계식주차공간을 포함할 수 있다. 또한 주차장에 대한 정보는 일반주차공간의 수, 장애인주차공간의 수, 여성전용주차공간의 수 및 기계식주차공간의 수를 포함할 수 있다. Information about parking may include the total number of parking spaces included in the apartment. In the present disclosure, a parking space refers to a space where one vehicle can park, and a parking lot may refer to a set of at least one parking space. Information about the parking lot may include the size of the parking space. Additionally, information about parking lots may include the number of parking spaces by size. Additionally, information about parking lots may include information about the number of parking spaces per household. Information on the number of parking spaces per household may be the number of parking spaces included in the apartment complex divided by the number of households included in the apartment complex. Information about the parking lot may include information about the type of parking lot. For example, information about the parking lot may include whether it is an outdoor parking space, whether it is an indoor (underground) parking space, or whether there is a parking tower. Information about parking lots may include at least one of the number of outdoor parking spaces, the number of indoor (underground) parking spaces, or the number of parking spaces in a parking tower. The difference between an outdoor parking space and an indoor parking space can be whether there is a roof or not. Additionally, an outdoor parking space may mean a single-story parking space. A parking tower may refer to a case where a parking lot is provided in the form of an independent building of two or more stories. Additionally, in the case of an indoor parking space or a parking tower, information about the parking lot may further include information about the number of floors of the parking lot. The number of floors may be provided as from several floors underground to several floors or from several floors above ground to several floors. Information about the parking lot may include information about how to access the parking space. For example, a method for accessing a parking space may include at least one of a road and a vehicle elevator. Information about parking may include the number of accessible parking spaces depending on the access method. That is, information about parking lots may include the number of parking spaces accessible by road and the number of parking spaces accessible by vehicle elevator. Information about the parking lot may include the type of parking space. For example, information about parking spaces may include general parking spaces, disabled parking spaces, women-only parking spaces, or mechanical parking spaces. Additionally, information about parking lots may include the number of general parking spaces, the number of disabled parking spaces, the number of women-only parking spaces, and the number of mechanical parking spaces.

도 20은 본 개시의 일 실시예에 따른 주차공간에 대한 정보를 표시하기 위한 방법을 설명하기 위한 도면이다.Figure 20 is a diagram for explaining a method for displaying information about a parking space according to an embodiment of the present disclosure.

주차공간에 대한 정보는 계층 트리 구조로 표시될 수 있다. 도 20의 (A)를 참조하면, 사용자 단말기(130)는 서버(110)의 정보에 기초하여 주차공간에 대한 정보를 표시할 수 있다. 사용자 단말기(130)는 최상위 계층에서 총주차공간의 수(N0)를 표시할 수 있다. 또한 사용자 단말기(130)는 그 하위 계층에 주차장의 종류 별 주차공간의 수를 표시할 수 있다. 예를 들어 야외주차공간의 수(N1), 실내주차공간의 수(N2), 및 주차타워의 주차공간의 수(N3)를 표시할 수 있다. 만약, N1, N2, N3 중 0과 동일한 것은 표시되지 않을 수 있다. N0= N1 + N2 + N3일 수 있다. 또한 사용자 단말기(130)는 주차장의 종류의 하위 계층에 주차공간까지 접근방법에 대한 정보를 포함할 수 있다. 예를 들어 도로로 접근가능한 주차공간의 수(N11, N21, N31), 엘리베이터로 접근가능한 주차공간의 수(N12, N22, N32)를 표시할 수 있다. 주차공간이 도로와 엘리베이터로 동시에 접근가능할 수 있으므로 N11+N12는 N1보다 크거나 같을 수 있다. N21+N22는 N2보다 크거나 같을 수 있다. N31+N32는 N3보다 크거나 같을 수 있다. 사용자 단말기(130)는 주차공간까지의 접근방법의 하위 계층에 종류별 주차공간의 수를 표시할 수 있다. 예를 들어, 종류별 주차공간의 수는 일반주차공간의 수(N111, N121, N211, N221, N311, N321), 및 기계식주차공간(N112, N122, N212, N222, N312, N322)을 포함할 수 있다. 도 20의 (A)에는 표시되지 않았으나 사용자 단말기(130)는 장애인주차공간의 수 및 여성전용주차공간의 수를 더 표시할 수 있다.Information about parking spaces can be displayed in a hierarchical tree structure. Referring to (A) of FIG. 20, the user terminal 130 may display information about the parking space based on information from the server 110. The user terminal 130 may display the total number of parking spaces (N0) at the highest level. Additionally, the user terminal 130 may display the number of parking spaces for each type of parking lot in the lower layer. For example, the number of outdoor parking spaces (N1), the number of indoor parking spaces (N2), and the number of parking spaces in the parking tower (N3) can be displayed. If N1, N2, or N3 is equal to 0, it may not be displayed. N0=N1 + N2 + N3. Additionally, the user terminal 130 may include information on how to access the parking space in the lower layer of the type of parking lot. For example, the number of parking spaces accessible by road (N11, N21, N31) and the number of parking spaces accessible by elevator (N12, N22, N32) can be displayed. N11+N12 may be greater than or equal to N1 since the parking space may be accessible both by road and elevator. N21+N22 can be greater than or equal to N2. N31+N32 can be greater than or equal to N3. The user terminal 130 may display the number of parking spaces by type in the lower layer of the access method to the parking space. For example, the number of parking spaces by type may include the number of general parking spaces (N111, N121, N211, N221, N311, N321) and mechanical parking spaces (N112, N122, N212, N222, N312, N322). there is. Although not displayed in (A) of FIG. 20, the user terminal 130 can further display the number of disabled parking spaces and the number of women-only parking spaces.

사용자 단말기(130)는 계층을 다르게 표시할 수도 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 계측을 다르게 표시할 수 있다. 도 20의 (A)는 주차장까지 접근방법의 하위 계층에 주차공간의 종류를 표시하였다. 하지만 이에 한정되는 것은 아니다. 도 20의 (B)와 같이 사용자 단말기(130)는 주차공간의 종류의 하위 계층에 주차장까지 접근방법을 표시할 수도 있다. 또한 도 20에는 개시되어 있지 않으나, 사용자 단말기(130)는 주차공간의 크기 별 주차공간의 수를 트리 형식으로 표시할 수 있다.The user terminal 130 may display the hierarchy differently. The user terminal 130 may display the measurement differently based on the user's input. Figure 20 (A) displays the types of parking spaces in the lower layer of the approach method to the parking lot. However, it is not limited to this. As shown in (B) of FIG. 20, the user terminal 130 may display the access method to the parking lot in the lower layer of the type of parking space. Additionally, although not shown in FIG. 20, the user terminal 130 may display the number of parking spaces for each size of the parking space in a tree format.

랭킹 및 순위 분석정보는 평당가, 대단지, 최고가, 입주시기, 거래량, 가격 상승률, 거래회전율, 가격 상승률, 매매전세갭, 미분양, 전세가율, 및 전출입 중 적어도 하나를 포함할 수 있다.Ranking and ranking analysis information may include at least one of price per pyeong, large lot, highest price, move-in period, transaction volume, price increase rate, transaction turnover rate, price increase rate, sale and lease gap, unsold units, lease rate, and move-in.

실제매물조회정보는 아파트 매매/전월세의 실거래가 조회, 빌라, 원룸, 오피스텔, 및 창업오피스의 전월세매물의 실거래가 중 적어도 하나를 포함할 수 있다.The actual property inquiry information may include at least one of the actual transaction price of apartment sales/monthly rent, the actual transaction price of villas, studio apartments, officetels, and start-up offices.

지역별 규제사항 정보는 투기지역, 투기 과열 지구, 조정대상지역, 및 대출 청약 세금 전매 제한 중 적어도 하나를 포함할 수 있다.Regional regulatory information may include at least one of speculation areas, overheated speculation districts, adjustment target areas, and loan subscription tax resale restrictions.

부동산 스터디(투자) 정보는 매물증감, 외지인투자 증가지역, 매수 심리, 많이 산 아파트, 최고가 상승 아파트, 아파트 거주자 커뮤니티, 최고가 아파트, 학군 비교, 경쟁 분양단지 가격비교, 여러 아파트 가격비교, 두개 단지 가격비교, 사이버 모델하우스, 부동산 빅데이터, 아파트 공급 물량, 갭투자 증가지역, 및 아파트 미분양 중 적어도 하나를 포함할 수 있다. Real estate study (investment) information includes increase or decrease in listings, areas with increased foreign investment, buying sentiment, apartments purchased in large quantities, apartments with the highest price increase, apartment resident communities, highest price apartments, comparison of school districts, price comparison of competitive sales complexes, price comparison of multiple apartments, prices of two complexes. It may include at least one of comparison, cyber model house, real estate big data, apartment supply volume, gap investment increase area, and unsold apartments.

투자힌트정보는 신고가, 학원가, 분양단지, 변동, 상권, 재건축단계, 인구(전출입), 직장인 연봉, 경매/공매, 공급(공급량), 개발호재, 뉴스, 경사도, 개별단지, 교통망, 출근(자가용 출근시간 분석), 실시간 인기 아파트, 주택가격 심리지수, 거래량, 및 현재 보는 사용자(관심도)에 대한 정보 중 적어도 하나를 포함할 수 있다.Investment hint information includes reported price, academy price, sales complex, change, commercial district, reconstruction stage, population (moving in and out), salary of office workers, auction/public auction, supply (quantity of supply), favorable development, news, slope, individual complex, transportation network, commute ( It may include at least one of the following: analysis of commute time by car), real-time popular apartments, housing price sentiment index, transaction volume, and information about the currently viewing user (level of interest).

빅데이터 분석 정보는 시세, 입주, 거래, 인구, 경제, 및 전출입 항목 중 적어도 하나를 포함할 수 있다. 빅데이터 분석 정보에 포함된 시세 항목은 매매, 전세(면적, 연차), 시세증감, 증감률, 매매전세갭, 매매전세갭증감, 전세율, 전세율 증감, 시장강도, 및 시장강도증감 중 적어도 하나를 포함할 수 있다. 빅데이터 분석 정보에 포함된 입주항목은 아파트, 공동주택, 및 미분양에 대한 정보를 포함할 수 있다. 빅데이터 분석 정보에 포함된 거래정보는 및 매매(거래량, 면적, 연차), 전세(거래량, 면적, 연차) 중 적어도 하나를 포함할 수 있다. 빅데이터 분석 정보에 포함된 인구 항목은 인구(수, 증감수, 증감률, 연령범위), 세대(수, 증감수, 증감률, 연령범위) 중 적어도 하나를 포함할 수 있다. 빅데이터 분석 정보에 포함된 경제 항목은 소상공업, 법인사업체에 대한 정보 중 적어도 하나를 포함할 수 있다. 빅데이터 분석 정보에 포함된 전출입(연령범위) 항목은 해당 지역의 인구, 세대, 전출입, 순이동에 대한 정보 중 적어도 하나를 포함할 수 있다.Big data analysis information may include at least one of the following items: market price, occupancy, transaction, population, economy, and transfer. Market price items included in big data analysis information include at least one of sales, lease (area, annual leave), market price increase/decrease, increase/decrease rate, sale/lease gap, sale/lease gap increase/decrease, lease rate, lease rate increase/decrease, market intensity, and market intensity increase/decrease. It can contain one. Occupancy items included in big data analysis information may include information on apartments, apartment complexes, and unsold units. Transaction information included in big data analysis information may include at least one of sales (transaction volume, area, annual leave) and lease (transaction volume, area, annual leave). Population items included in big data analysis information may include at least one of population (number, increase/decrease, increase/decrease rate, age range) or generation (number, increase/decrease number, increase/decrease rate, age range). Economic items included in big data analysis information may include at least one of information on small businesses and corporations. The transfer/exit (age range) item included in the big data analysis information may include at least one of information on population, generation, transfer/exit, and net migration of the region.

시장강도 관련 정보는 시장강도, 거래량, 가격상승률, 미분양, 거래비율, 전출입, 미분양, 인구/세대수, 아파트 상승률, 및 청약에 대한 정보 중 적어도 하나를 포함할 수 있다. Information related to market strength may include at least one of information on market strength, transaction volume, price increase rate, unsold units, transaction ratio, move-ins, unsold units, population/number of households, apartment increase rate, and subscription.

상업용/노후도 정보는 노후도, 영역그리기 및 분석(접도율, 호수밀도, 세대수, 영역 내 필지), 보도 자료 정리, 건물탐색 및 AI추가, 마켓리포트, 신축분양 정보, 청약경쟁률, 분양예정단지, 입주예정단지, 3D 단지 투어, 건물이력 및 건물 정보, 및 월세카드납부 가부 중 적어도 하나를 포함할 수 있다.Commercial/obsolete information includes deterioration, area drawing and analysis (access rate, lake density, number of households, parcels within the area), press release summary, building search and AI addition, market report, new construction sales information, subscription competition rate, and scheduled sales complex. , it may include at least one of the expected complex, 3D complex tour, building history and building information, and availability of monthly rent card payment.

사용자 단말기(130)는 사용자의 설정에 기초하여 가상공간에 대응하는 실제공간에 대한 실제거래신고가 알람을 제공할 수 있다. 또한 사용자 단말기(130)는 사용자의 선택에 기초하여 일일 이벤트, 모의부동산 투자, 유저활동에 의한 포인트 적립과 관련된 정보를 제공할 수 있다.The user terminal 130 may provide a real transaction report alarm for the real space corresponding to the virtual space based on the user's settings. Additionally, the user terminal 130 may provide information related to daily events, simulated real estate investment, and point accumulation based on user activity based on the user's selection.

도 21은 본 개시의 일 실시예에 따른 실제공간에 대한 정보를 제공하기 위한 방법을 설명하기 위한 도면이다.FIG. 21 is a diagram for explaining a method for providing information about a real space according to an embodiment of the present disclosure.

실제공간에 대한 정보는 방사형 그래프(차트)로 표현될 수 있다. 사용자 단말기(130)는 방사형 그래프로 실제공간에 대한 정보를 표시할 수 있다. 사용자 단말기(130)는 실제공간의 최신 거래가, 실제공간(아파트) 단지의 사용승인년도, 실제공간(아파트) 단지에 포함된 세대수, 주차가능수 및 실제공간의 용적률을 방사형 그래프로 표시할 수 있다. 즉, 방사형 그래프에 포함된 복수의 축은 각각 최신 거래가, 사용승인년도, 세대수, 주차가능수 및 용적률을 나타낼 수 있다. 주차가능수는 세대당 주차가능수를 의미할 수 있다. 최신 거래가, 용적률, 주차가능수, 및 세대수는 높을 수록 방사형 그래프의 중심으로부터 멀게 표시될 수 있다. 사용승인년도는 오래되었을 수록 방사형 그래프의 중심으로부터 멀게 표시될 수 있다. 도 21은 최신 거래가, 용적률, 주차가능수, 및 세대수를 그래프에 표시하였으나, 이에 한정되는 것은 아니다. 그래프에는 일조량, 한달 평균 거래량, 건폐율, 대지면적, 또는 가격 등이 표시될 수도 있다.Information about real space can be expressed as a radial graph (chart). The user terminal 130 can display information about real space in a radial graph. The user terminal 130 can display the latest transaction price of the real space, the year of approval for use of the real space (apartment) complex, the number of households included in the real space (apartment) complex, the number of parking spaces available, and the floor area ratio of the real space in a radial graph. . In other words, the plurality of axes included in the radial graph can each represent the latest transaction price, year of approval for use, number of households, number of parking spaces, and floor area ratio. The number of parking spaces available may refer to the number of parking spaces available per household. The higher the latest transaction price, floor area ratio, number of available parking spaces, and number of households, the farther they can be displayed from the center of the radial graph. The older the year of approval for use, the further away it can be displayed from the center of the radial graph. Figure 21 shows the latest transaction price, floor area ratio, number of parking spaces, and number of households in a graph, but is not limited to this. The graph may display the amount of sunlight, average monthly transaction volume, building-to-land ratio, land area, or price.

서버(110) 또는 사용자 단말기(130)는 실제공간(아파트) 단지별로 그래프(2110)를 획득할 수 있다. 또한 서버(110) 또는 사용자 단말기(130)는 그래프(2110)의 넓이를 평가점수로 결정할 수 있다. 즉 메타버스 시스템은 그래프(2110)의 넓이가 클 수록 평가점수를 높게 결정하고, 그래프(2110)의 넓이가 작을 수록 평가점수를 낮게 결정할 수 있다. The server 110 or the user terminal 130 may obtain the graph 2110 for each real space (apartment) complex. Additionally, the server 110 or the user terminal 130 may determine the area of the graph 2110 as an evaluation score. That is, the metaverse system determines a higher evaluation score as the area of the graph 2110 is larger, and determines a lower evaluation score as the area of the graph 2110 becomes smaller.

서버(110) 또는 사용자 단말기(130)는 실제공간(아파트) 단지를 평가점수에 따라 정렬할 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 실제공간(아파트) 단지를 평가점수에 따라 오름차순 또는 내림차순으로 정렬할 수 있다. 사용자 단말기(130) 또는 서버(110)는 평가점수에 기초하여 실제공간(아파트) 단지의 순위를 결정할 수 있다. 사용자 단말기(130)는 실제공간의 순위를 표시할 수 있다.The server 110 or the user terminal 130 can sort real space (apartment) complexes according to evaluation scores. The user terminal 130 may sort real space (apartment) complexes in ascending or descending order according to evaluation scores based on the user's input. The user terminal 130 or the server 110 may determine the ranking of the actual space (apartment) complex based on the evaluation score. The user terminal 130 can display the ranking in real space.

또한, 사용자 단말기(130)는 평가점수를 실제공간(아파트)의 평당가격으로 나눈 점수를 가격대비평가점수로써 결정할 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 실제공간(아파트) 단지를 가격대비평가점수의 오름차순 또는 내림차순으로 정렬할 수 있다. 사용자 단말기(130)는 가격대비평가점수에 기초하여 실제공간(아파트) 단지의 순위를 결정할 수 있다. 사용자는 실제공간(아파트)의 가치를 평가점수 또는 가격대비평가점수에 기초하여 쉽게 파악할 수 있다. 서버(110) 또는 사용자 단말기(130)는 실제공간(아파트) 단지를 거래량 순위에 따라 내림차순 또는 오름차순으로 정렬할 수도 있다. 메타버스 시스템은 이와 같이 방사형 그래프 및 실제공간(아파트)의 순위를 제공함으로써, 사용자가 쉽게 실제공간(아파트)의 투자가치를 판단할 수 있다.Additionally, the user terminal 130 may determine the score obtained by dividing the evaluation score by the price per pyeong of the actual space (apartment) as the price-related evaluation score. The user terminal 130 may sort real space (apartment) complexes in ascending or descending order of price/evaluation score based on the user's input. The user terminal 130 may determine the ranking of the actual space (apartment) complex based on the price/evaluation score. Users can easily determine the value of the actual space (apartment) based on the evaluation score or price comparison score. The server 110 or the user terminal 130 may sort real space (apartment) complexes in descending or ascending order according to transaction volume ranking. The Metaverse system provides radial graphs and rankings of real spaces (apartments) like this, allowing users to easily judge the investment value of real spaces (apartments).

메타버스 시스템은 사용자가 실제공간(아파트)을 비교할 수 있는 유저 인터페이스를 제공할 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 복수의 실제공간(아파트) 단지를 선택할 수 있다. 사용자 단말기(130)는 선택된 복수의 실제공간(아파트) 단지의 매물증감, 사용승인년도, 세대수, 용적률, 건폐율, 대지면적, 세대당 주차면적, 또는 난방방식 중 적어도 하나를 나란히 표시할 수 있다. 예를 들어, 사용자 단말기(130)는 선택된 복수의 실제공간(아파트) 단지의 매물증감, 사용승인년도, 세대수, 용적률, 건폐율, 대지면적, 세대당 주차면적, 또는 난방방식 중 적어도 하나를 표로 정리하여 표시할 수 있다. 예를 들어, 사용자 단말기(130)는 선택된 복수의 실제공간(아파트) 단지의 매물증감, 사용승인년도, 세대수, 용적률, 건폐율, 대지면적, 세대당 주차면적, 또는 난방방식 중 적어도 하나를 막대 그래프, 방사형 그래프 등으로 정리하여 표시할 수 있다.The Metaverse system can provide a user interface that allows users to compare real spaces (apartments). The user terminal 130 may select a plurality of real space (apartment) complexes based on the user's input. The user terminal 130 can display at least one of the increase or decrease in listings, use approval year, number of households, floor area ratio, building-to-land ratio, site area, parking area per household, or heating method of a plurality of selected real space (apartment) complexes side by side. For example, the user terminal 130 organizes in a table at least one of the increase or decrease in listings, year of approval for use, number of households, floor area ratio, building-to-land ratio, site area, parking area per household, or heating method of a plurality of selected real space (apartment) complexes. It can be displayed. For example, the user terminal 130 displays at least one of the increase or decrease in listings, year of approval for use, number of households, floor area ratio, building-to-land ratio, site area, parking area per household, or heating method of a plurality of selected real space (apartment) complexes in a bar graph, It can be organized and displayed in a radial graph, etc.

도 10은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 설명하기 위한 도면이다.Figure 10 is a diagram for explaining the operation of the metaverse system according to an embodiment of the present disclosure.

메타버스 시스템(100)은 실제공간의 미리 정해진 위치에서 미리 정해진 방향을 촬영하는 설치된 카메라를 더 포함할 수 있다. 미리 정해진 위치는 가상공간에 대응되는 실제공간의 위치의 근처일 수 있다. 또한 카메라가 향하는 방향은 가상공간에 대응되는 실제공간을 촬영하기 위한 방향일 수 있다. 즉, 메타버스 시스템(100)에 포함되는 카메라는 가상공간에 대응되는 실제공간의 영상을 촬영할 수 있다. 카메라는 서버(110)에 연결되어, 촬영된 영상을 서버(110)로 전송할 수 있다. 서버(110)는 카메라로부터 영상을 수신할 수 있다. The metaverse system 100 may further include an installed camera that photographs a predetermined direction at a predetermined location in real space. The predetermined location may be near a location in real space corresponding to the virtual space. Additionally, the direction the camera faces may be a direction for photographing a real space corresponding to a virtual space. In other words, the camera included in the metaverse system 100 can capture images of a real space corresponding to a virtual space. The camera is connected to the server 110 and can transmit captured images to the server 110. The server 110 can receive images from a camera.

사용자 단말기(130)가 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(335)는 다음과 같은 과정을 더 포함할 수 있다. Step 335 of the user terminal 130 displaying at least one of a virtual space and a virtual object on the display may further include the following process.

사용자의 입력이 가상공간의 실물 모습을 볼 것을 나타내는 경우, 사용자 단말기(130)는 카메라의 실시간 영상 데이터(1020)를 서버(110)로부터 수신하는 단계를 수행할 수 있다. 실시간 영상 데이터는 사진 또는 동영상일 수 있다. 본 개시에서는 실시간 영상 데이터를 중심으로 설명하지만 이에 한정되는 것은 아니다. 실시간 영상 데이터는 서버(110)에 카메라에 의해 촬영되어 미리 저장되어 있는 영상 데이터로 대체될 수 있다.When the user's input indicates that he or she wants to view the actual image of the virtual space, the user terminal 130 may receive real-time image data 1020 from the camera from the server 110. Real-time video data may be photos or videos. The present disclosure focuses on real-time video data, but is not limited thereto. Real-time video data can be replaced with video data captured by a camera and stored in advance on the server 110.

사용자 단말기(130)는 미리 정해진 위치에 대응되는 가상공간 또는 가상월드 내에서의 위치에서 미리 정해진 방향에 대응되는 가상공간에서의 방향으로 시점을 이동하는 단계를 수행할 수 있다. 사용자 단말기(130)는 실제공간의 카메라의 위치를 서버(110)로부터 수신할 수 있다. 이미 설명한 바와 같이 실제공간의 위치 정보는 가상공간의 위치정보와 동일하게 표현될 수 있다. 사용자 단말기는 실제공간의 카메라위 위치 정보에 기초하여 가상공간 또는 가상월드 상에서 시점을 이동시킬 수 있다. 시점은 가상공간을 바라보는 위치를 의미할 수 있다. 또한 사용자 단말기(130)는 카메라의 미리 정해진 방향을 서버(110)로부터 획득할 수 있다. 사용자 단말기(130)는 가상공간 내에서 상기 시점에서 상기 카메라의 미리 정해진 방향에 대응되는 방향을 바라보는 가상공간(1010)을 디스플레이에 표시할 수 있다. 이미 설명한 바와 같이 가상공간은 실제공간을 동일하게 모사하고 있으므로, 사용자 단말기(130)에 표시된 가상공간의 모습은 카메라가 촬영한 실시간 영상은 유사할 수 있다. 다만 카메라가 촬영한 실시간 영상은 실제공간의 주변을 지나다니는 동물, 사람, 차량 등을 표시하고 있을 수 있다. 하지만 가상공간에는 미리 정해진 가상 오브젝트가 표현되어 있을 뿐일 수 있다.The user terminal 130 may perform a step of moving the viewpoint from a position in the virtual space or virtual world corresponding to a predetermined location to a direction in the virtual space corresponding to a predetermined direction. The user terminal 130 may receive the location of the camera in real space from the server 110. As already explained, location information in real space can be expressed in the same way as location information in virtual space. The user terminal can move the viewpoint in virtual space or virtual world based on location information on the camera in real space. The viewpoint may refer to the position from which the virtual space is viewed. Additionally, the user terminal 130 may obtain a predetermined direction of the camera from the server 110. The user terminal 130 may display on the display a virtual space 1010 looking in a direction corresponding to the predetermined direction of the camera from the viewpoint within the virtual space. As already explained, since the virtual space identically replicates the real space, the appearance of the virtual space displayed on the user terminal 130 may be similar to the real-time image captured by the camera. However, the real-time video captured by the camera may display animals, people, vehicles, etc. passing around the real space. However, virtual space may only represent predetermined virtual objects.

사용자 단말기(130)는 카메라의 실시간 영상 데이터(1020)를 디스플레이에 표시된 가상공간(1010)의 위에 미리 정해진 투명도로 표시하는 단계를 수행할 수 있다. 미리 정해진 투명도는 0이상 100%이하일 수 있다. 즉, 미리 정해진 투명도는 완전 투명이거나, 완전 불투명일 수 있다. 사용자 단말기(130)는 실시간 영상 데이터(1020)를 가상공간(1010)의 위에 오버랩하여 오버랩 영상(1030)을 표시할 수 있다. 또한 사용자 단말기(130)는 사용자의 선택에 기초하여 가상공간(1010)만 출력하거나, 실시간 영상 데이터(1020)만을 출력할 수도 있다. 이와 같이 사용자는 실시간 영상 데이터(1020) 및 가상공간(1010)을 동시에 봄으로써, 실제공간이 주는 분위기를 느낄 수 있다.The user terminal 130 may perform a step of displaying real-time image data 1020 from a camera with predetermined transparency on the virtual space 1010 displayed on the display. The predetermined transparency can be between 0 and 100%. That is, the predetermined transparency may be completely transparent or completely opaque. The user terminal 130 may display an overlap image 1030 by overlapping the real-time image data 1020 on the virtual space 1010. Additionally, the user terminal 130 may output only the virtual space 1010 or only real-time image data 1020 based on the user's selection. In this way, the user can feel the atmosphere of the real space by simultaneously viewing the real-time image data 1020 and the virtual space 1010.

또한, 사용자 단말기(130)는 실시간 영상에서 움직이는 물체만의 영상(1021)을 획득할 수 있다. 실시간 영상에서 움직이는 물체는 사람, 동물, 차량 등일 수 있다. 사용자 단말기(130)는 실시간 영상 데이터에서 프레임별 비교를 통하여 움직이는 물체만의 영상(1021)을 추출할 수 있다. 사용자 단말기(130)는 실시간 영상 데이터 및 가상공간(1010)을 비교하여 움직이는 물체만의 영상(1021)을 추출할 수 있다. 사용자 단말기(130)는 실시간 영상 데이터 및 가상공간(1010)의 픽셀의 차이를 통하여 픽셀의 차이가 미리 정해진 임계값 이상인 부분을 움직이는 물체만의 영상(1021)로 결정할 수 있다. 사용자 단말기(130)는 움직이는 물체만의 영상(1021)을 가상공간(1010)의 위에 오버랩하여 오버랩 영상(1040)을 표시할 수 있다. 움직이는 물체만의 영상(1021)은 미리 정해진 투명도를 가질 수 있다. 이와 같이 사용자는 실시간 영상 데이터(1020) 및 가상공간(1010)을 동시에 봄으로써, 실제공간이 주는 분위기를 느낄 수 있다. 따라서 사용자는 오버랩 영상(1030, 1040)을 통하여 실제공간에 가지 않고도 실제공간의 분위기를 알 수 있고 실제공간의 구매를 고려할 수 있다.Additionally, the user terminal 130 may acquire an image 1021 of only a moving object in a real-time image. Moving objects in real-time video may be people, animals, vehicles, etc. The user terminal 130 can extract an image 1021 of only a moving object through frame-by-frame comparison from real-time image data. The user terminal 130 may compare real-time image data and the virtual space 1010 to extract an image 1021 of only the moving object. The user terminal 130 may determine the portion where the pixel difference is greater than a predetermined threshold as the image 1021 of only the moving object through the difference between the real-time image data and the pixels of the virtual space 1010. The user terminal 130 may display an overlap image 1040 by overlapping the image 1021 of only the moving object on the virtual space 1010. An image 1021 of only a moving object may have a predetermined transparency. In this way, the user can feel the atmosphere of the real space by simultaneously viewing the real-time image data 1020 and the virtual space 1010. Therefore, the user can know the atmosphere of the real space without going to the real space through the overlap images 1030 and 1040 and can consider purchasing the real space.

도 11은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 설명하기 위한 도면이다.Figure 11 is a diagram for explaining the operation of the metaverse system according to an embodiment of the present disclosure.

도 11을 참조하면 사용자 단말기(130)가 사용자의 입력에 기초하여 가상인물이 가상공간에서 이동하고, 가상 오브젝트와 상호작용하도록 제어하는 단계(1110)를 수행할 수 있다. 가상인물은 가상 오브젝트와 미리 정해져 있는 상호작용할 수 있다. 미리 정해진 상호작용은 가상인물의 자세를 변형하거나, 가상 오브젝트의 위치, 색 또는 형태를 변형할 수 있다. 예를 들어 가상 오브젝트가 의자라면 가상인물은 가상 오브젝트에 앉는 상호작용을 할 수 있다. 가상인물은 가상 오브젝트에 앉는 동작을 취할 수 있다. 또한 가상 오브젝트가 전등이라면, 가상인물은 전등을 켜거나 끄는 동작을 취할 수 있다. 가상 오브젝트는 가상인물의 동작에 대응하여 불이 켜지거나 꺼질 수 있다. 가상 오브젝트가 시소라면, 가상인물은 가상 오브젝트에 앉는 상호작용을 할 수 있으며, 가상 오브젝트인 시소는 가상인물이 앉는 동작에 대응하여 움직일 수 있다.Referring to FIG. 11 , the user terminal 130 may perform step 1110 of controlling a virtual character to move in a virtual space and interact with a virtual object based on the user's input. Virtual characters can have predetermined interactions with virtual objects. Predetermined interactions may change the posture of a virtual character or the position, color, or shape of a virtual object. For example, if the virtual object is a chair, the virtual person can interact by sitting on the virtual object. The virtual character can make the motion of sitting on the virtual object. Additionally, if the virtual object is a light, the virtual person can take actions to turn the light on or off. Virtual objects can turn on or off in response to the virtual person's movements. If the virtual object is a seesaw, the virtual person can interact by sitting on the virtual object, and the virtual object, the seesaw, can move in response to the virtual person's sitting motion.

사용자 단말기(130)는 가상인물의 가상공간에서의 위치, 가상인물이 가상공간에서의 위치에 머문 시간, 가상인물의 위치에서 사용자 단말기의 디스플레이에 표시된 가상 오브젝트, 및 가상 오브젝트와 상호작용한 내역을 포함하는 로그 정보를 획득하는 단계(1120)를 수행할 수 있다. The user terminal 130 records the location of the virtual person in the virtual space, the time the virtual person stayed at the location in the virtual space, the virtual object displayed on the display of the user terminal at the virtual person's location, and the history of interactions with the virtual object. A step 1120 of acquiring log information may be performed.

가상인물의 가상공간에서의 위치는 3차원 좌표로 나타날 수 있다. 사용자 단말기(130)는 미리 정해진 주기로 가상인물의 위치를 획득할 수 있다. 미리 정해진 주기는 5초, 10초 또는 1분, 또는 10분 등일 수 있다.The location of a virtual person in virtual space can be expressed as three-dimensional coordinates. The user terminal 130 may obtain the location of the virtual person at a predetermined period. The predetermined period may be 5 seconds, 10 seconds, or 1 minute, or 10 minutes, etc.

사용자 단말기(130)는 가상인물이 가상공간을 적어도 하나의 영역으로 나눌 수 있다. 예를 들어 가상공간이 집이라면, 적어도 하나의 영역은, 현관, 거실, 주방, 방, 또는 베란다 등으로 나뉠 수 있다. 사용자 단말기(130)는 가상인물이 적어도 하나의 영역에 머문 시간을 가상공간에서의 위치에 머문 시간으로 결정할 수 있다. 사용자 단말기(130)는 적어도 하나의 영역의 식별정보 및 적어도 하나의 영역에서 머문 시간을 함께 획득할 수 있다. 가상인물이 적어도 하나의 영역에 머문 시간은 분 또는 초의 단위를 가질 수 있다. The user terminal 130 allows the virtual character to divide the virtual space into at least one area. For example, if the virtual space is a house, at least one area may be divided into an entrance, living room, kitchen, room, or veranda. The user terminal 130 may determine the time the virtual person stays in at least one area as the time the virtual person stays in the location in the virtual space. The user terminal 130 may obtain identification information of at least one area and time spent in at least one area. The time a virtual character stays in at least one area may have units of minutes or seconds.

사용자 단말기(130)는 가상인물의 위치에서 사용자 단말기의 디스플레이에 표시된 가상 오브젝트를 획득할 수 있다. 사용자 단말기(130)는 가상인물이 가상 오브젝트와 상호작용하지 않더라도, 사용자 단말기(130)에 표시된 가상 오브젝트의 식별정보를 미리 정해진 주기로 획득할 수 있다. 미리 정해진 주기는 5초, 10초 또는 1분, 또는 10분 등일 수 있다. 예를 들어, 가상공간이 공원이고 가상인물이 공원 벤치에 앉아 있다면, 가상인물은 가상 오브젝트인 공원 벤치와 상호작용하고 있는 것이다. 사용자 단말기(130)는 가상인물이 벤치에 앉아 있는 모습 뿐만 아니라, 가상인물 주위의 나무, 풀, 가로등을 표시할 수 있다. 사용자 단말기(130)는 가상인물 주위에 있으면서, 사용자 단말기에 표시된 가상 오브젝트들의 식별정보를 주기적으로 획득할 수 있다. 이러한 표시된 가상 오브젝트 식별정보는 사용자의 예측된 선호 오브젝트로써 활용될 수 있다. 즉, 표시된 가상 오브젝트 식별정보는 사용자의 취향을 나타내는 정보로써 활용될 수 있다.The user terminal 130 may obtain a virtual object displayed on the display of the user terminal at the location of the virtual person. The user terminal 130 may obtain identification information of the virtual object displayed on the user terminal 130 at a predetermined period even if the virtual person does not interact with the virtual object. The predetermined period may be 5 seconds, 10 seconds, or 1 minute, or 10 minutes, etc. For example, if the virtual space is a park and a virtual character is sitting on a park bench, the virtual character is interacting with the park bench, which is a virtual object. The user terminal 130 can display not only an image of a virtual person sitting on a bench, but also trees, grass, and streetlights around the virtual person. The user terminal 130 may periodically obtain identification information of virtual objects displayed on the user terminal while being around the virtual person. This displayed virtual object identification information can be utilized as the user's predicted preferred object. In other words, the displayed virtual object identification information can be used as information indicating the user's taste.

서버(110)는 시간에 따른 가상공간의 속성 또는 가상 오브젝트의 속성 중 적어도 하나를 데이터베이스에 미리 저장하고 있을 수 있다. 서버(110)가 저장하고 있는 가상공간의 속성 또는 가상 오브젝트의 속성 중 적어도 하나는, 실제공간에 있었던 건물을 모사한 것일 수 있다. 현실에서 하나의 건물은 시간이 지남에 따라 변화한다. 또한, 하나의 건물이 다른 건물로 재건축되는 경우도 있다. 즉, 실제공간 및 실제공간에 적용된 실제 오브젝트는 시간이 지만에 따라, 크기, 형태, 색채 등이 변화한다. 서버(110)는 시간의 변화에 따른 복수의 가상공간의 속성 또는 복수의 가상 오브젝트의 속성을 저장하고 있을 수 있다. 하나의 가상공간의 속성 또는 하나의 가상 오브젝트의 속성은 특정 시점의 실제공간 및 실제 오브젝트를 모사하기 위한 것일 수 있다.The server 110 may previously store at least one of the properties of a virtual space or a virtual object according to time in a database. At least one of the properties of the virtual space or the properties of the virtual object stored by the server 110 may be a replica of a building that existed in real space. In reality, a building changes over time. Additionally, there are cases where one building is rebuilt into another building. In other words, real space and real objects applied to real space change in size, shape, color, etc. depending on time. The server 110 may store attributes of a plurality of virtual spaces or attributes of a plurality of virtual objects according to changes in time. The properties of one virtual space or the properties of one virtual object may be intended to replicate the real space and real object at a specific point in time.

사용자 단말기(130)는 사용자입력에 기초하여 가상시각을 획득할 수 있다. 사용자는 자신이 원하는 가상시각을 입력할 수 있다. 사용자는 미리 정해진 보기 중에서 가상시각을 선택할 수도 있다. 가상시각은 가상공간의 시간 정보와 동일할 수 있다. 가상시각은 가상공간에서 사용되는 시각일 수 있다. 사용자 단말기(130)는 서버(110)에 상기 가상시각에 대응되는 가상공간의 속성 또는 가상 오브젝트의 속성을 요청할 수 있다. 서버(110)는 관리자 단말기(120) 또는 사용자 단말기(130)로부터 가상공간의 시간 정보(가상시각)를 수신하는 단계를 수행할 수 있다. 서버(110)는 데이터베이스로부터 가상시각에 대응되는 가상공간의 속성 및 가상 오브젝트의 속성을 획득하는 단계를 수행할 수 있다. 서버(110)는 가상시각에 대응되는 가상공간의 속성에 기초하여 3차원의 가상월드의 일부에 3차원의 가상공간을 생성하는 단계를 수행할 수 있다. 서버(110)는 3차원의 가상공간에 가상시각에 대응되는 가상 오브젝트의 속성에 기초한 가상 오브젝트를 배치하는 단계를 수행할 수 있다. 사용자 단말기(130)는 디스플레이에 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계를 수행할 수 있다.The user terminal 130 can acquire virtual time based on user input. Users can enter their desired virtual time. Users can also select a virtual time from predefined views. Virtual time may be the same as time information in virtual space. Virtual time may be time used in virtual space. The user terminal 130 may request the server 110 for properties of a virtual space or properties of a virtual object corresponding to the virtual time. The server 110 may receive time information (virtual time) of the virtual space from the administrator terminal 120 or the user terminal 130. The server 110 may perform a step of obtaining the properties of the virtual space and the properties of the virtual object corresponding to the virtual time from the database. The server 110 may perform the step of creating a three-dimensional virtual space in a portion of the three-dimensional virtual world based on the properties of the virtual space corresponding to the virtual time. The server 110 may perform the step of placing a virtual object based on the properties of the virtual object corresponding to the virtual time in a three-dimensional virtual space. The user terminal 130 may display at least one of a virtual space and a virtual object on the display.

사용자 단말기(130)는 상기 가상시각에 대응되는 실제공간에 대한 정보를 서버(110)로부터 획득하여 사용자에게 제공할 수 있다. 서버(110)는 시간별로 실제공간에 대한 정보를 누적하여 저장하고 있을 수 있다. 사용자 단말기(130)는 사용자의 입력에 기초하여 가상공간을 표시하기 위한 모드 및 실제공간에 대한 정보를 표시하기 위한 모드를 선택하는 단계를 수행할 수 있다. 가상공간을 표시하기 위한 모드가 선택된 경우 사용자 단말기(130)는 가상시각에 대응되는 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계를 수행할 수 있다.The user terminal 130 may obtain information about the real space corresponding to the virtual time from the server 110 and provide it to the user. The server 110 may accumulate and store information about the actual space by time. The user terminal 130 may perform the step of selecting a mode for displaying a virtual space and a mode for displaying information about a real space based on the user's input. When a mode for displaying a virtual space is selected, the user terminal 130 may perform a step of displaying at least one of the virtual space and virtual object corresponding to the virtual time.

실제공간에 대한 정보를 표시하기 위한 모드가 선택된 경우, 사용자 단말기(130)는 가상공간의 속성에 포함된 위치정보에 기초하여 가상시각에 대응되는 실제공간에 대한 정보를 획득하는 단계를 수행할 수 있다. 사용자 단말기(130)는 디스플레이에 2차원 맵과 함께 가상시각에 대응되는 실제공간에 대한 정보를 표시하는 단계를 수행할 수 있다.When a mode for displaying information about the real space is selected, the user terminal 130 may perform a step of acquiring information about the real space corresponding to the virtual time based on the location information included in the properties of the virtual space. there is. The user terminal 130 may display information about the real space corresponding to the virtual time along with a two-dimensional map on the display.

도 12을 잠시 참조하여 로그 정보를 획득하는 과정을 보다 자세히 설명한다.The process of obtaining log information will be described in more detail with brief reference to FIG. 12.

도 12은 본 개시의 일 실시예에 따라 사용자 단말기(130)에 표시되는 화면을 나타낸다.Figure 12 shows a screen displayed on the user terminal 130 according to an embodiment of the present disclosure.

사용자 단말기(130)는 로그 정보를 획득하는 단계(1120)를 수행하기 위하여 다음과 같은 과정을 더 수행할 수 있다. 사용자 단말기(130)는 사용자 단말기(130)의 디스플레이(1210)의 해상도를 획득하는 단계를 수행할 수 있다. 디스플레이(1210)의 해상도는 디스플레이의 최대 해상도를 의미할 수 있다. 해상도는 가로 픽셀의 개수 및 세로 픽셀의 개수를 포함할 수 있다. 사용자 단말기(130)는 디스플레이(1210)의 해상도에 기초하여 디스플레이의 미리 정해진 일부 영역을 관심 영역(1220)으로 설정하는 단계를 수행할 수 있다. 예를 들어, 사용자 단말기(130)는 관심 영역(1220)이 디스플레이(1210)의 해상도의 넓이의 1/8이상 1/4이하의 넓이를 가지도록 결정할 수 있다. 또한 사용자 단말기(130)는 관심 영역(1220)의 중점이 디스플레이(1210)의 중점과 일치하도록 결정할 수 있다. 사용자 단말기(130)는 관심 영역 내에 미리 정해진 임계 시간 이상 표시된 가상 오브젝트의 식별정보를 포함하는 관심 가상 오브젝트 정보를 로그 정보에 포함시키는 단계를 수행할 수 있다. 여기서 임계 시간은 10초 이상의 값을 가질 수 있다. 적어도 일정 시간 이상 가상 오브젝트를 화면의 가운데에 위치시켰다는 것은, 사용자가 가상 오브젝트에 관심을 표현하였다는 것을 나타낼 수 있다. 따라서 사용자 단말기(130)는 로그 정보에 관심 영역에 임계 시간 이상 표시된 가상 오브젝트의 식별정보를 포함할 수 있다. 사용자 단말기(130) 또는 서버(110)는 추후 로그 정보를 빅데이터로 이용하여 사용자에 따라 선호하는 가상 오브젝트를 도출할 수 있다. 따라서 사용자 단말기(130) 또는 서버(110)는 사용자 맞춤형 가상 오브젝트를 제공할 수 있다.The user terminal 130 may further perform the following process to perform the step 1120 of acquiring log information. The user terminal 130 may perform a step of obtaining the resolution of the display 1210 of the user terminal 130. The resolution of the display 1210 may mean the maximum resolution of the display. Resolution may include the number of horizontal pixels and the number of vertical pixels. The user terminal 130 may perform a step of setting a predetermined area of the display as the area of interest 1220 based on the resolution of the display 1210. For example, the user terminal 130 may determine that the area of interest 1220 has an area of 1/8 to 1/4 of the resolution of the display 1210. Additionally, the user terminal 130 may determine that the midpoint of the region of interest 1220 matches the midpoint of the display 1210. The user terminal 130 may perform a step of including virtual object of interest information including identification information of a virtual object displayed within the area of interest for more than a predetermined threshold time in log information. Here, the threshold time may have a value of 10 seconds or more. Placing a virtual object in the center of the screen for at least a certain period of time may indicate that the user has expressed interest in the virtual object. Accordingly, the user terminal 130 may include identification information of the virtual object displayed in the area of interest for more than a threshold time in the log information. The user terminal 130 or the server 110 may later use the log information as big data to derive a preferred virtual object according to the user. Accordingly, the user terminal 130 or the server 110 can provide a user-customized virtual object.

다시 도 11를 참조하면, 사용자 단말기(130)는 로그 정보를 사용자 단말기의 식별정보와 함께 서버(110)로 송신하는 단계(1130)를 수행할 수 있다. 사용자 단말기(130)는 로그 정보를 미리 정해진 시간동안 수집할 수 있다. 또한 사용자 단말기(130)는 미리 정해진 시간동안 수집한 로그 정보를 서버(110)로 송신할 수 있다. 사용자 단말기(130)는 로그 정보를 사용자 식별정보에 대응하여 서버(110)에 송신할 수 있다. 사용자 단말기(130)는 서버(110)로 송신된 로그 정보를 삭제할 수 있다. 서버(110)는 로그 정보를 누적하여 저장할 수 있다. 이와 같이 사용자 단말기(130)에서 로그 정보를 삭제함으로써, 사용자 단말기(130)의 메모리를 절약할 수 있다. 또한 로그 정보는 서버(110)에서 빅데이터로 활용될 뿐, 사용자 단말기(130)에서 활용되지 않으므로, 필요한 곳에만 저장되어 있는 효과가 있다.Referring again to FIG. 11, the user terminal 130 may perform step 1130 of transmitting log information along with identification information of the user terminal to the server 110. The user terminal 130 may collect log information for a predetermined period of time. Additionally, the user terminal 130 may transmit log information collected during a predetermined period of time to the server 110. The user terminal 130 may transmit log information to the server 110 in response to user identification information. The user terminal 130 may delete log information transmitted to the server 110. The server 110 may accumulate and store log information. By deleting log information from the user terminal 130 in this way, the memory of the user terminal 130 can be saved. In addition, log information is only used as big data in the server 110 and is not used in the user terminal 130, so it has the effect of being stored only where it is needed.

도 13은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.Figure 13 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

도 13은 도 3과 중복되는 구성을 포함하고 있다. 보다 구체적으로 도 13 및 도 3은 모두 단계(311), 단계(321), 단계(332), 단계(333), 단계(323), 단계(334), 단계(324), 및 단계(335) 중 적어도 하나를 포함한다. 따라서 도 13 중 도 3과 중복되는 구성의 설명은 생략한다. FIG. 13 includes a configuration overlapping with FIG. 3 . More specifically, Figures 13 and 3 all show step 311, step 321, step 332, step 333, step 323, step 334, step 324, and step 335. Contains at least one of Therefore, the description of the components in FIG. 13 that overlap with FIG. 3 will be omitted.

서버(110)는 가상 오브젝트의 속성에 대하여 현재(원본) NFT(Non-fungible token)를 발행하는 단계(1325)를 수행할 수 있다. NFT는 이더리움 기반으로 발행될 수 있다. 가상 오브젝트의 속성은 NFT에 포함될 수도 있다. 하지만 이에 한정되는 것은 아니며 서버(110)는 가상 오브젝트의 속성을 사용자 단말기(130)로부터 수신할 수 있다. 또한 서버(110)는 가상 오브젝트의 속성을 암호화하여 저장할 수 있다. 서버(110)는 저장된 가상 오브젝트의 속성을 위한 주소정보를 생성할 수 있다. 주소정보는 사용자 단말기(130) 또는 제 3 자 단말기가 가상 오브젝트의 속성에 접근하기 위한 위치일 수 있다. 주소정보는 IP주소, 포트번호, 통신 프로토콜에 대한 정보, 및 디렉터리(폴더) 정보 중 적어도 하나를 포함할 수 있다. NFT는 가상 오브젝트의 속성의 주소정보를 포함하고 있을 수 있다. The server 110 may perform step 1325 of issuing a current (original) non-fungible token (NFT) for the properties of the virtual object. NFTs can be issued based on Ethereum. The properties of virtual objects may also be included in NFTs. However, it is not limited to this, and the server 110 may receive the properties of the virtual object from the user terminal 130. Additionally, the server 110 may encrypt and store the properties of the virtual object. The server 110 may generate address information for the properties of the stored virtual object. The address information may be a location for the user terminal 130 or a third-party terminal to access the properties of the virtual object. Address information may include at least one of an IP address, a port number, information about a communication protocol, and directory (folder) information. NFT may contain address information of the properties of the virtual object.

서버(110)는 사용자 단말기(130)로부터 수신한 사용자의 NFT생성 신호에 기초하여 NFT를 발행할 수 있다. 서버(110)는 NFT의 소유자를 사용자 단말기와 관련된 식별정보로 결정할 수 있다. 사용자 단말기와 관련된 식별정보는 단계(334)에서 가상 오브젝트의 속성을 서버(110)로 송신한 사용자 단말기(130)에 대한 것일 수 있다. 메타버스 시스템(100)에서 NFT의 소유는 가상 오브젝트의 속성의 저작권을 가짐을 의미할 수 있다. 즉 NFT를 타인에게 팔았다는 것은 가상 오브젝트의 속성의 저작권을 타인에게 넘겼음을 의미할 수 있다.The server 110 may issue an NFT based on the user's NFT creation signal received from the user terminal 130. The server 110 may determine the owner of the NFT using identification information related to the user terminal. Identification information related to the user terminal may be for the user terminal 130 that transmitted the properties of the virtual object to the server 110 in step 334. In the metaverse system 100, ownership of an NFT may mean having the copyright of the properties of the virtual object. In other words, selling an NFT to another person may mean that the copyright of the properties of the virtual object has been transferred to another person.

서버(110)가 현재 NFT(Non-fungible token)를 발행하는 단계(1325)는 다음과 같은 과정을 포함할 수 있다. 서버(110)는 사용자에 의하여 기존에 발행된 적어도 하나의 NFT에 대한 거래 내역을 획득하는 단계를 수행할 수 있다. 적어도 하나의 NFT에 대한 거래 내역은 NFT에 대응되는 가상 오브젝트의 속성을 판매한 거래 내역을 포함할 수 있다. 가상 오브젝트의 속성을 판매한다는 것은 가상 오브젝트의 속성에 포함된 오브젝트 종류 및 배치 중 적어도 하나에 대한 정보를 판매한다는 것을 의미한다. 본 개시에서 NFT는 가상 오브젝트의 속성에 대한 저작권과 동일한 의미를 가질 수 있다. 저작권자는 가상 오브젝트의 속성을 판매하여 수익을 얻을 수 있다. 저작권자가 가상 오브젝트의 속성을 판매한다고 하여 저작권이 구매자에게 전달되는 것이 아니다. 이와 같이 NFT의 소유는 계속적으로 원래 소유자 또는 저작권자에게 귀속될 것이며, 저작권자(또는 원래 소유자)는 가상 오브젝트의 속성을 판매하여 계속적인 수익을 얻을 수 있다. The step 1325 in which the server 110 currently issues a non-fungible token (NFT) may include the following processes. The server 110 may perform a step of obtaining transaction details for at least one NFT previously issued by the user. Transaction history for at least one NFT may include transaction history for selling the properties of a virtual object corresponding to the NFT. Selling the properties of a virtual object means selling information about at least one of the object type and arrangement included in the properties of the virtual object. In the present disclosure, NFT may have the same meaning as copyright for the properties of a virtual object. Copyright holders can make money by selling the properties of virtual objects. Just because a copyright holder sells the properties of a virtual object does not mean that the copyright is transferred to the buyer. In this way, ownership of the NFT will continue to belong to the original owner or copyright holder, and the copyright holder (or original owner) can continue to earn profits by selling the properties of the virtual object.

하지만 이에 한정되는 것은 아니며, 소유자는 저작권을 판매할 수도 있다. 이때에는 NFT의 소유권이 변경될 수 있다. 적어도 하나의 NFT에 대한 거래 내역은 NFT의 소유자가 변경된 내역을 포함할 수 있다.However, it is not limited to this, and the owner can also sell the copyright. At this time, the ownership of the NFT may change. Transaction history for at least one NFT may include details of changes in the owner of the NFT.

서버(110)는 기존에 발행된 적어도 하나의 NFT에 대한 거래 내역에 기초하여 현재 NFT의 가격을 자동으로 결정하는 단계를 수행할 수 있다. 즉, 사용자가 지속적으로 가상공간에 대한 적어도 하나의 가상 오브젝트의 속성을 창작해왔고, 가상 오브젝트의 속성에 대한 NFT로 만들어왔다면 NFT에 대한 가격이 형성되어 있을 수 있다. 가상공간에 대한 적어도 하나의 가상 오브젝트의 속성을 창작한다는 것은 가상공간을 꾸미는 것을 의미할 수 있다. 즉 가상공간의 인테리어를 수행함을 의미할 수 있다. 서버(110)는 동일한 사용자가 만든 과거의 NFT의 가격에 기초하여 현재 발행된 NFT의 가격을 자동으로 결정할 수 있다. 예를 들어 서버(110)는 기존에 발행된 적어도 하나의 NFT의 가격의 평균 또는 중앙값을 현재 발행된 NFT의 가격으로 결정할 수 있다. 또한 기존의 적어도 하나의 NFT에 대응되는 적어도 하나의 가상 오브젝트의 속성의 판매 가격에 기초하여 현재 발행된 NFT의 가격을 결정할 수 있다. 서버(110)는 적어도 하나의 가상 오브젝트의 속성의 판매 가격의 평균값 또는 중앙값 과 NFT의 가격을 대응시킨 NFT가격 결정 테이블을 저장하고 있을 수 있다. NFT가격 결정 테이블은 관리자에 의하여 결정될 수 있다. 서버(110)는 동일 사용자가 창작한 적어도 하나의 가상 오브젝트의 속성의 판매 가격의 평균값 또는 중앙값을 NFT가격 결정 테이블에 적용하여 현재 발행된 NFT의 가격을 자동으로 결정할 수 있다. 하지만 이에 한정되는 것은 아니며, 현재 발행된 NFT의 가격은 사용자의 입력에 의하여 결정될 수도 있다.The server 110 may automatically determine the price of the current NFT based on transaction history for at least one previously issued NFT. In other words, if a user has continuously created at least one attribute of a virtual object in virtual space and made an NFT for the attribute of the virtual object, a price for the NFT may be established. Creating properties of at least one virtual object for a virtual space may mean decorating the virtual space. In other words, it may mean performing the interior of a virtual space. The server 110 can automatically determine the price of the currently issued NFT based on the price of past NFTs created by the same user. For example, the server 110 may determine the average or median price of at least one previously issued NFT as the price of the currently issued NFT. Additionally, the price of the currently issued NFT can be determined based on the selling price of the properties of at least one virtual object corresponding to at least one existing NFT. The server 110 may store an NFT price determination table that matches the average or median sales price of the attributes of at least one virtual object with the price of the NFT. The NFT price determination table can be determined by the administrator. The server 110 can automatically determine the price of the currently issued NFT by applying the average or median value of the sales price of the attributes of at least one virtual object created by the same user to the NFT price determination table. However, it is not limited to this, and the price of the currently issued NFT may be determined by user input.

또한, 서버(110)는 사용자의 명성정보에 기초하여 현재 NFT의 가격을 자동으로 결정하는 단계를 수행할 수 있다. 서버(110)는 사용자의 계정에 사용자의 명성정보를 저장하고 있을 수 있다. 사용자의 명성정보는 사용자의 메타버스 시스템 내의 사용자의 활동에 기초하여 결정될 수 있다. 서버(110)는 신규사용자에게 기본명성정보를 부여할 수 있다. 사용자가 지속적으로 가상공간에 대한 적어도 하나의 가상 오브젝트의 속성을 창작해왔다면, 창작된 적어도 하나의 가상 오브젝트에 대하여 다른 사용자들의 평가점수를 받을 수 있다. 서버(110)는 미리 정해진 임계 명수 이상의 다른 사용자들의 평가점수를 획득한 경우, 평가점수를 평균할 수 있다. 서버(110)는 평균 평가점수에 기반하여 명성정보를 높이거나 낮출 수 있다. 예를 들어 제 1 가상공간에 대한 평균 평가점수에 비례하여 가감점수를 획득할 수 있다. 가감점수와 평균 평가점수의 대응관계는 미리 정해진 테이블에 기재되어 있을 수 있다. 가감점수는 음수 또는 양수일 수 있다. 평균 평가점수가 최소점인 경우, 가감점수는 음수일 것이며, 평균 평가점수가 최대점인 경우 가감점수는 양수일 수 있다. 서버(110)는 가감점수를 기본명성정보에 더하여 사용자의 명성점수를 획득할 수 있다. 가감점수는 가상공간마다 결정될 수 있다. 사용자가 복수의 가상 공간에 대하여 가상 오브젝트의 속성을 창작하면 복수의 가감점수가 획득될 수 있다. 서버(110)는 기본명성정보에 복수의 가감점수를 모두 더하여 명성점수를 획득할 수 있다. 서버(110)는 명성점수에 대응하는 현재 NFT의 가격을 결정할 수 있다. 현재 NFT의 가격과 사용자의 명성점수의 대응관계는 미리 정해진 테이블에 기재되어 있을 수 있다.Additionally, the server 110 may perform a step of automatically determining the current price of the NFT based on the user's reputation information. The server 110 may store the user's reputation information in the user's account. A user's reputation information may be determined based on the user's activities within the user's metaverse system. The server 110 may grant basic reputation information to new users. If the user has continuously created the properties of at least one virtual object for the virtual space, he or she can receive evaluation scores from other users for the at least one created virtual object. When the server 110 obtains evaluation scores from other users exceeding a predetermined threshold, the server 110 may average the evaluation scores. The server 110 may increase or decrease reputation information based on the average evaluation score. For example, points may be added or subtracted in proportion to the average evaluation score for the first virtual space. The correspondence between the added and subtracted scores and the average evaluation score may be written in a predetermined table. The added or subtracted points can be negative or positive. If the average evaluation score is the minimum point, the addition or subtraction score will be a negative number, and if the average evaluation score is the maximum point, the addition or subtraction score may be a positive number. The server 110 may obtain the user's reputation score by adding the addition or subtraction score to the basic reputation information. The addition or subtraction score can be determined for each virtual space. When a user creates virtual object properties for multiple virtual spaces, multiple addition or subtraction points can be obtained. The server 110 may obtain a reputation score by adding all of the plurality of addition and subtraction points to the basic reputation information. The server 110 can determine the current price of the NFT corresponding to the reputation score. The correspondence between the current NFT price and the user's reputation score may be listed in a predetermined table.

도 14는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작 방법을 나타낸 흐름도이다.Figure 14 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

제 3 자 단말기는 서버(110)로부터 가상 오브젝트가 배치된 3차원의 가상공간에 대한 미리 보기 정보를 수신하는 단계(1410)를 수행할 수 있다. 제 3 자 단말기는 가상 오브젝트 속성을 창작한 사용자와 다른 사용자가 보유하고 있는 단말기일 수 있다. 서버(110)는 가상 오브젝트 속성을 제 3 자 단말기에 송신하지 않을 수 있다. 제 3 자 단말기가 가상 오브젝트의 속성을 수신하는 경우, 가상 오브젝트를 손쉽게 수정할 수도 있기 때문이다. 서버(110)는 가상공간의 속성 및 가상 오브젝트의 속성에 기반하여 가상공간에 가상 오브젝트를 배치한 영상을 생성할 수 있다. 또한 서버(110)는 가상공간에 가상 오브젝트를 배치한 영상을 미리 보기 정보로써 제 3 자 단말기에 송신할 수 있다. 제 3 자는 제 3 자 단말기에 표시된 미리 보기 정보를 살펴보면서 가상공간에 배치된 가상 오브젝트를 감상할 수 있다. 또한 제 3 자는 가상 오브젝트의 속성을 구매할 것을 결정할 수 있다. 왜냐하면 자신의 실제공간에 가상공간에 적용된 가상 오브젝트를 적용하기 위해서이다. 이미 설명한 바와 같이 가상 오브젝트의 속성은 오브젝트의 식별정보, 종류, 질감(Texture), 색, 모양, 크기, 및 위치 중 적어도 하나를 포함할 수 있다. 즉, 가상 오브젝트의 속성을 가지고 있는 경우, 손쉽게 실제공간에 가상공간에 배치된 가상 오브젝트와 동일한 실제 오브젝트를 배치할 수 있다. 가상 오브젝트의 속성은 일종의 인테리어 설계도면이 되는 것이다. The third-party terminal may perform step 1410 of receiving preview information about the three-dimensional virtual space in which the virtual object is placed from the server 110. The third-party terminal may be a terminal owned by a user different from the user who created the virtual object attribute. The server 110 may not transmit virtual object properties to a third-party terminal. This is because when a third-party terminal receives the properties of a virtual object, the virtual object can be easily modified. The server 110 may generate an image in which a virtual object is placed in a virtual space based on the properties of the virtual space and the properties of the virtual object. Additionally, the server 110 may transmit an image of a virtual object placed in a virtual space to a third-party terminal as preview information. A third party can appreciate the virtual object placed in the virtual space by looking at the preview information displayed on the third party terminal. Additionally, a third party may decide to purchase the properties of the virtual object. This is because you want to apply the virtual object applied to the virtual space to your real space. As already described, the properties of the virtual object may include at least one of the object's identification information, type, texture, color, shape, size, and location. In other words, if it has the properties of a virtual object, it is possible to easily place a real object in real space that is identical to the virtual object placed in virtual space. The property of the virtual object is to become a kind of interior design drawing.

서버(110)는 제 3 자 단말기로부터 가상 오브젝트의 속성에 대한 구매 신호를 획득하는 단계(1420)를 수행할 수 있다. 구매 신호는 구매를 나타내는 신호, 제 3 자 단말기와 관련된 식별정보 및 구매를 위해 지불할 가상화폐의 액수 중 적어도 하나를 포함할 수 있다. The server 110 may perform step 1420 of obtaining a purchase signal for the attributes of the virtual object from a third-party terminal. The purchase signal may include at least one of a signal indicating a purchase, identification information related to a third-party terminal, and the amount of virtual currency to be paid for the purchase.

가상 오브젝트의 속성에 대한 구매 신호가 미리 정해진 구매 조건을 만족하는 경우, 서버(110)는 가상 오브젝트의 속성 및 가상공간의 속성을 제 3 자 단말기로 송신하는 단계(1430)를 수행할 수 있다. 구매 조건은 서버(110)가 자동으로 설정하거나, 가상 오브젝트의 속성의 소유자가 설정할 수 있다. 구매 조건은 적어도 하나일 수 있다. 예를 들어 서버(110)는 구매 신호에 포함된 가상화폐의 액수가 가상 오브젝트의 속성의 가격 이상인 경우, 구매 조건을 만족하였다고 결정할 수 있다. 또한, 서버(110)는 가상 오브젝트의 속성의 소유자가 구매 신호를 전송한 것은 아닌지 확인할 수 있다. 예를 들어, 가상 오브젝트의 속성의 소유자가 가상공간의 가격을 높이기 위하여 자기 자신의 가상공간을 사는 것은 방지하기 위하여 서버(110)는 자신이 소유한 가상 오브젝트의 속성을 자신이 사는 것을 방지할 수 있다. 또한 서버(110)는 가상 오브젝트의 속성의 소유자가 구매 신호를 승인하는 것에 기초하여 구매 조건을 만족하였다고 결정할 수 있다.If the purchase signal for the properties of the virtual object satisfies a predetermined purchase condition, the server 110 may perform step 1430 of transmitting the properties of the virtual object and the properties of the virtual space to the third-party terminal. Purchase conditions can be set automatically by the server 110 or by the owner of the virtual object's properties. There may be at least one purchase condition. For example, if the amount of virtual currency included in the purchase signal is greater than or equal to the price of the virtual object attribute, the server 110 may determine that the purchase condition has been satisfied. Additionally, the server 110 may check whether the owner of the attribute of the virtual object has transmitted the purchase signal. For example, in order to prevent the owner of the properties of the virtual object from buying his or her own virtual space to increase the price of the virtual space, the server 110 can prevent the owner from purchasing the properties of the virtual object that he or she owns. there is. Additionally, the server 110 may determine that the purchase condition has been satisfied based on the owner of the attribute of the virtual object approving the purchase signal.

구매 조건이 만족된 경우, 서버(110)는 가상 오브젝트의 속성 및 가상공간의 속성을 제 3 자 단말기로 송신할 수 있다. 제 3 자는 가상 오브젝트의 속성에 기반하여 자신의 실제공간을 가상 오브젝트의 속성에 기반하여 꾸밀 수 있다. 제 3 자의 실제공간의 형태는 가상공간의 형태와 동일할 수 있다. 또한 제 3 자는 가상 오브젝트의 속성을 수정할 수 있다. 따라서 제 3 자는 수신한 가상 오브젝트의 속성을 변형하여 자신의 실제공간에 반영할 수 있다.If the purchase condition is satisfied, the server 110 may transmit the properties of the virtual object and the properties of the virtual space to the third-party terminal. A third party can decorate their real space based on the properties of the virtual object. The form of the third party's real space may be the same as the form of the virtual space. Additionally, third parties can modify the properties of virtual objects. Therefore, a third party can modify the properties of the received virtual object and reflect it in their real space.

도 15는 본 개시의 일 실시예에 따른 메타버스 시스템의 동작 방법을 설명하기 위한 흐름도이다.FIG. 15 is a flowchart illustrating a method of operating a metaverse system according to an embodiment of the present disclosure.

도 15에 포함된 단계들은 도 14의 단계들 이후에 수행될 수 있다.The steps included in Figure 15 may be performed after the steps in Figure 14.

가상 오브젝트의 속성 및 가상공간의 속성을 제 3 자 단말기로 송신한 후, 서버(110)는 제 3 자 단말기로부터 수정된 가상 오브젝트의 속성을 획득하는 단계(1510)를 수행할 수 있다. 수정된 가상 오브젝트의 속성은 오브젝트의 식별정보, 종류, 질감(Texture), 색, 모양, 크기, 및 위치 중 적어도 하나를 포함할 수 있다. 서버(110)가 제 3 자 단말기로부터 수정된 가상 오브젝트의 속성을 획득하는 단계(1510)는 도 3의 단계(334)에 동일 대응될 수 있다. 따라서 중복되는 설명은 생략한다.After transmitting the properties of the virtual object and the properties of the virtual space to the third-party terminal, the server 110 may perform a step 1510 of obtaining the properties of the modified virtual object from the third-party terminal. The properties of the modified virtual object may include at least one of the object's identification information, type, texture, color, shape, size, and location. Step 1510 of the server 110 acquiring the properties of the modified virtual object from the third-party terminal may correspond to step 334 of FIG. 3 . Therefore, redundant explanations are omitted.

서버(110)는 3차원의 가상공간에 수정된 가상 오브젝트의 속성에 기초한 가상 오브젝트를 배치하는 단계(1520)를 수행할 수 있다. 이 단계(1520)는 도 3의 단계(324)에 동일 대응될 수 있다. 따라서 중복되는 설명은 생략한다.The server 110 may perform step 1520 of placing a virtual object based on the properties of the modified virtual object in a three-dimensional virtual space. This step 1520 may correspond identically to step 324 in FIG. 3 . Therefore, redundant explanations are omitted.

서버(110)는 수정된 가상 오브젝트의 속성에 대하여 연쇄 NFT를 발행하는 단계(1530)를 수행할 수 있다. 단계(1530)는 단계(1325)와 유사할 수 있다. 단계(1530)에 대해서는 단계(1325)와 차이가 있는 점을 중심으로 설명한다.The server 110 may perform a step 1530 of issuing a chained NFT for the properties of the modified virtual object. Step 1530 may be similar to step 1325. Step 1530 will be explained focusing on differences from step 1325.

연쇄 NFT는 이더리움 기반으로 발행될 수 있다. 수정된 가상 오브젝트의 속성은 NFT에 포함될 수도 있다. 하지만 이에 한정되는 것은 아니며 서버(110)는 수정된 가상 오브젝트의 속성을 제 3 자 단말기로부터 수신할 수 있다. 또한 서버(110)는 수정된 가상 오브젝트의 속성을 암호화하여 저장할 수 있다. 서버(110)는 수정된 가상 오브젝트의 속성을 위한 주소정보를 생성할 수 있다. 주소정보는 사용자 단말기(130) 또는 제 3 자 단말기가 수정된 가상 오브젝트의 속성에 접근하기 위한 위치일 수 있다. 주소정보는 IP주소, 포트번호, 통신 프로토콜에 대한 정보, 및 디렉터리(폴더) 정보 중 적어도 하나를 포함할 수 있다. 연쇄 NFT는 수정된 가상 오브젝트의 속성의 주소정보를 포함하고 있을 수 있다.Chain NFTs can be issued based on Ethereum. Properties of modified virtual objects may also be included in NFTs. However, it is not limited to this, and the server 110 may receive the properties of the modified virtual object from a third-party terminal. Additionally, the server 110 may encrypt and store the properties of the modified virtual object. The server 110 may generate address information for the properties of the modified virtual object. The address information may be a location for the user terminal 130 or a third-party terminal to access the properties of the modified virtual object. Address information may include at least one of an IP address, a port number, information about a communication protocol, and directory (folder) information. Chain NFT may contain address information of the properties of the modified virtual object.

서버(110)는 제 3 단말기로부터 수신한 사용자의 연쇄 NFT생성 신호에 기초하여 수정된 NFT를 발행할 수 있다. 서버(110)는 연쇄 NFT의 소유자를 제 3 자 단말기와 관련된 식별정보로 결정할 수 있다. 제 3 자 단말기와 관련된 식별정보는 단계(1510)에서 수정된 가상 오브젝트의 속성을 서버(110)로 송신한 제 3 자 단말기에 대한 것일 수 있다. 메타버스 시스템(100)에서 연쇄 NFT의 소유는 가상 오브젝트의 속성의 저작권을 가짐을 의미할 수 있다. 즉 연쇄 NFT를 타인에게 팔았다는 것은 가상 오브젝트의 속성의 저작권을 타인에게 넘겼음을 의미할 수 있다. 연쇄 NFT는 현재(원본) NFT에 연쇄되어 생성된 NFT일 수 있다. 즉, 연쇄 NFT의 수익 중 일부는 원본 NFT의 소유자에게 돌아갈 수 있다. 이를 위하여 다음과 같은 과정이 더 수행할 수 있다.The server 110 may issue a modified NFT based on the user's chain NFT creation signal received from the third terminal. The server 110 may determine the owner of the chained NFT using identification information related to the third-party terminal. The identification information related to the third-party terminal may be for the third-party terminal that transmitted the properties of the virtual object modified in step 1510 to the server 110. In the metaverse system 100, ownership of a chain NFT may mean having the copyright of the properties of the virtual object. In other words, selling a chain NFT to another person may mean that the copyright of the properties of the virtual object has been transferred to another person. A chained NFT may be an NFT created by chaining to the current (original) NFT. In other words, some of the profits from chained NFTs can go to the owner of the original NFT. For this purpose, the following process can be further performed.

서버(110)는 연쇄 NFT를 발행하기 전에 가상 오브젝트와 수정된 가상 오브젝트의 차이가 특정 범위 이상인지 결정할 수 있다. 예를 들어 기존 가상 오브젝트의 속성이 50%초과 변경되어야 할 수 있다. 여기서 변경은 다음과 같은 의미일 수 있다. 서버(110)는 하나의 가상 오브젝트가 다른 오브젝트로 대체된 경우 100/N(%)의 변경이 발생했음을 결정할 수 있다. 여기서 N은 가상공간에 배치된 모든 오브젝트의 개수를 의미할 수 있다. 또한 기존 가상 오브젝트를 삭제한 경우, 서버(110)는 1/2*100/N(%)의 변경이 있음을 결정할 수 있다. 서버(110)는 모든 가상 오브젝트에 대하여 변화 퍼센트를 결정하고 모두 더한 후 미리 정해진 임계퍼센트를 넘었는지 결정할 수 있다. 미리 정해진 임계퍼센트는 예를 들어 50%일 수 있다. 서버(110)는 모두 더한 변화 퍼센트가 미리 정해진 임계퍼센트의 이상인 경우, 연쇄 NFT를 발행할 수 있다. The server 110 may determine whether the difference between the virtual object and the modified virtual object is greater than a certain range before issuing a chained NFT. For example, the properties of an existing virtual object may need to be changed by more than 50%. Here, change may mean the following: The server 110 may determine that a change of 100/N (%) has occurred when one virtual object is replaced with another object. Here, N may mean the number of all objects placed in the virtual space. Additionally, when an existing virtual object is deleted, the server 110 may determine that there is a change of 1/2*100/N (%). The server 110 may determine the change percentage for all virtual objects, add them all up, and then determine whether a predetermined threshold percentage has been exceeded. The predetermined threshold percentage may be 50%, for example. The server 110 may issue a chained NFT if the total change percentage is greater than a predetermined threshold percentage.

서버(110)는 현재(원본) NFT와 연쇄 NFT 사이의 관계를 현재(원본) NFT와 연쇄 NFT의 장부에 기록할 수 있다. 서버(110)는 현재 NFT의 장부의 2차저작물 정보에 연쇄 NFT에 대한 정보를 기록하는 단계(1540)를 수행할 수 있다. 또한 서버(110)는 연쇄 NFT의 장부의 원본 정보에 현재 NFT에 대한 정보를 기록하는 단계(1550)를 수행할 수 있다. 또한 암호화폐의 노드들은 현재 NFT의 장부의 2차저작물 정보에 연쇄 NFT에 대한 정보가 기록되었고, 연쇄 NFT의 장부의 원본 정보에 현재 NFT에 대한 정보가 기록되었는지 확인할 수 있다. 암호화폐의 노드들은 현재 NFT의 장부 및 연쇄 NFT의 장부를 공유할 수 있다. 이를 통하여 원저작권자와 이용 저작권자의 관계가 명확해질 수 있다. 원저작권자는 연쇄 저작권에 대해서도 수익을 만들 수 있으므로 적극적으로 자신의 저작권이 이용되기를 바랄 것이다. 즉 원저작권자는 자신의 창작물을 적극적으로 공개할 것이다. 이를 통하여 인테리어 산업에서 창작활동이 활발해져서 본 개시의 메타버스 시스템(100)은 인테리어 산업의 발전을 도모할 수 있다.The server 110 may record the relationship between the current (original) NFT and the chained NFT in the ledger of the current (original) NFT and the chained NFT. The server 110 may perform a step 1540 of recording information about the chained NFT in the secondary work information of the current NFT ledger. Additionally, the server 110 may perform a step (1550) of recording information about the current NFT in the original information of the ledger of the chained NFT. Additionally, cryptocurrency nodes can check whether information about the chain NFT has been recorded in the secondary work information of the current NFT's ledger and whether information about the current NFT has been recorded in the original information of the chain NFT's ledger. Cryptocurrency nodes can currently share the ledger of NFTs and the ledger of chained NFTs. Through this, the relationship between the original copyright holder and the using copyright holder can be clarified. Since the original copyright holder can make profits from serial copyrights, he or she will want to actively use his or her copyright. In other words, the original copyright holder will actively disclose his/her creation. Through this, creative activities in the interior design industry become more active, and the metaverse system 100 of the present disclosure can promote the development of the interior design industry.

본 개시의 메타버스 시스템(100)은 3차 저작물은 인정하지 않을 수 있다. 서버(110)는 현재(원본) NFT에 기반하여 복수의 연쇄 NFT를 발행할 수 있다. 하지만 서버(110)는 연쇄 NFT에 기반하여 새로운 연쇄 NFT를 만들지 못할 수 있다. 복수의 연쇄 NFT의 관계는 대등할 수 있다.The metaverse system 100 of the present disclosure may not recognize third-party works. The server 110 may issue multiple chained NFTs based on the current (original) NFT. However, the server 110 may not be able to create a new chain NFT based on the chain NFT. The relationship between multiple chain NFTs can be equal.

하지만 이에 한정되는 것은 아니며, 연쇄 NFT의 손자연쇄 NFT가 발행될 수도 있다. 이 때 손자연쇄 NFT에 대응되는 손자 가상 오브젝트의 속성은 원본 가상 오브젝트 및 수정된 가상 오브젝트의 속성과 차이가 있는지 확인될 수 있다. 서버(110)는 손자 가상 오브젝트의 속성이 원본 가상 오브젝트의 속성과 임계퍼센트의 이상 차이나며, 수정된 가상 오브젝트의 속성과도 임계퍼센트이상 차이나는 경우에 손자연쇄 NFT를 발행할 수 있다.However, it is not limited to this, and chain NFTs may be issued. At this time, it can be confirmed whether the properties of the grandchild virtual object corresponding to the grandchild chain NFT are different from the properties of the original virtual object and the modified virtual object. The server 110 may issue a grandchild chain NFT when the properties of the grandchild virtual object differ from the properties of the original virtual object by more than a critical percentage and also differ from the properties of the modified virtual object by more than a critical percent.

제 3 자는 구매한 가상 오브젝트의 속성에 기반하여 자신의 실제공간을 꾸미고 싶을 수 있다. 이를 위하여 메타버스 시스템(100)은 제 3 자의 편의를 위하여 가상공간에 대응하는 가상 오브젝트가 실제공간에 쉽게 적용되기 위한 인터페이스를 제공할 수 있다.A third party may want to decorate their real space based on the properties of the purchased virtual object. To this end, the metaverse system 100 can provide an interface for easily applying virtual objects corresponding to virtual space to real space for the convenience of third parties.

보다 구체적으로 제 3 자 단말기는 3차원의 가상공간에 포함된 가상 오브젝트의 리스트를 추출하는 단계를 수행할 수 있다. 가상공간에는 적어도 하나의 가상 오브젝트를 포함할 수 있다. 제 3 자 단말기는 가상공간에 포함되어 있는 가상 오브젝트의 리스트를 추출할 수 있다. 제 3 자 단말기는 가상 오브젝트의 속성을 이용하여 가상 오브젝트의 리스트를 획득할 수 있다. 제 3 자 단말기는 제 3 자의 입력에 기초하여 특정 종류의 가상 오브젝트의 리스트만 획득할 수 있다. 예를 들어 제 3 자가 "가구" 종류를 선택한 경우, 제 3 자 단말기는 가구 종류의 가상 오브젝트의 리스트를 획득할 수 있다. 이미 설명한 바와 같이 가상 오브젝트의 속성은 가상 오브젝트에 대응하는 실제 오브젝트의 제조사, 실제 오브젝트의 제조년도, 실제 오브젝트의 제품식별번호, 가격, 및 판매처 중 적어도 하나를 포함할 수 있다. 가상 오브젝트의 리스트는 가상 오브젝트에 대응하는 실제 오브젝트의 제조사, 실제 오브젝트의 제조년도, 실제 오브젝트의 제품식별번호, 가격, 및 판매처 중 적어도 하나를 포함할 수 있다. 여기서 가격은 판매처별 가격일 수 있다. 제 3 자 단막리는 제품식별번호에 기반하여 서버(110)로부터 판매처별 가격을 획득할 수 있다. 또한 제 3 자 단막리는 제품식별번호에 기반하여 서버(110)로부터 구매가능여부에 대한 정보를 획득할 수도 있다. 가상 오브젝트의 리스트는 구매가능여부에 대한 정보를 포함할 수 있다.More specifically, the third-party terminal may perform the step of extracting a list of virtual objects included in the three-dimensional virtual space. A virtual space may include at least one virtual object. A third-party terminal can extract a list of virtual objects included in the virtual space. A third-party terminal can obtain a list of virtual objects using the properties of the virtual object. A third-party terminal can only obtain a list of specific types of virtual objects based on the third-party input. For example, if a third party selects the “furniture” type, the third party terminal can obtain a list of virtual objects of the furniture type. As already described, the properties of the virtual object may include at least one of the manufacturer of the real object corresponding to the virtual object, the manufacturing year of the real object, the product identification number of the real object, the price, and the seller. The list of virtual objects may include at least one of the manufacturer of the real object corresponding to the virtual object, the manufacturing year of the real object, the product identification number of the real object, the price, and the seller. Here, the price may be the price of each seller. Danmakri, a third party, can obtain prices for each seller from the server 110 based on the product identification number. Additionally, a third-party Danmakri may obtain information about purchase availability from the server 110 based on the product identification number. The list of virtual objects may include information about availability for purchase.

제 3 자 단말기는 가상 오브젝트의 리스트를 표시하는 단계를 수행할 수 있다. 제 3 자 단말기는 제 3 자의 입력에 기반하여 가상 오브젝트 리스트를 판매 사이트에 송신할 수 있다. 또한 제 3 자 단말기는 판매 사이트로부터 총 소요비용, 구매가능여부를 회신받을 수 있다.The third-party terminal may perform the step of displaying a list of virtual objects. The third-party terminal may transmit a virtual object list to the sales site based on the third-party input. Additionally, third-party terminals can receive a reply from the sales site about the total cost and availability of the product.

제 3 자 단말기는 가상 오브젝트의 리스트를 서버(110)로 송신하는 단계를 수행할 수 있다. 제 3 자는 서버(110)에 송신하기 전에 가상 오브젝트의 리스트를 검토한 후 일부 가상 오브젝트를 변경할 수 있다. The third-party terminal may perform the step of transmitting a list of virtual objects to the server 110. A third party may change some virtual objects after reviewing the list of virtual objects before sending them to the server 110.

서버(110)는 적어도 하나의 업체 단말기로 가상 오브젝트의 리스트 및 3차원의 가상공간의 미리 보기 정보를 송신하는 단계를 수행할 수 있다. 업체 단말기는 인테리어 업체 또는 공사 물품 소매업체의 PC, 태블릿, 또는 스마트폰 포함할 수 있다. The server 110 may transmit a list of virtual objects and preview information of a 3D virtual space to at least one company terminal. Company terminals may include PCs, tablets, or smartphones from interior design companies or construction supply retailers.

서버(110)는 적어도 하나의 업체 단말기로부터, 가상 오브젝트의 리스트에 대한 견적 정보를 수신하는 단계를 수행할 수 있다. 서버(110)는 제 3 자 단말기로 견적 정보를 송신하는 단계를 수행할 수 있다. 제 3 자는 제 3 자 단말기에 표시된 견적 정보를 확인하여 인테리어 업체를 선정할 수 있다. 이와 같이 제 3 자는 본 개시의 메타버스 시스템(100)이 제공하는 가상 오브젝트 속성, 가상공간 속성을 이용하여 손쉽게 실제공간의 인테리어를 수행할 수 있다.The server 110 may perform a step of receiving quotation information for a list of virtual objects from at least one company terminal. The server 110 may perform the step of transmitting quotation information to a third-party terminal. A third party can select an interior design company by checking the quotation information displayed on the third party terminal. In this way, a third party can easily perform the interior of a real space using the virtual object properties and virtual space properties provided by the metaverse system 100 of the present disclosure.

도 16은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.Figure 16 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

이미 설명한 바와 같이 메타버스 시스템은 사용자 단말기(130) 및 서버(110)를 포함할 수 있다. 사용자 단말기(130)는 사용자가 소유한 아이템에 부착된 태그를 스캔하여 인증정보를 획득하는 단계(1611)를 수행할 수 있다. 사용자가 소유한 아이템은 사용자가 현실세계에서 실제로 소유한 의류, 가방, 전자제품, 및 신발, 등일 수 있다. 사용자가 소유한 아이템에는 태그가 부착되어 있을 수 있다. 태그에는 사용자가 소유한 아이템에는 일련번호가 기재되어 있을 수 있다. 일련번호는 아이템의 고유한 식별정보 및 인증정보가 포함되어 있을 수 있다. 즉, 일련번호가 특정 패턴을 가지는 경우 해당 아이템은 진품인 것이며, 특정 패턴을 가지지 않은 경우, 해당 아이템은 진품이 아닐 수 있다.As already described, the metaverse system may include a user terminal 130 and a server 110. The user terminal 130 may perform step 1611 of obtaining authentication information by scanning a tag attached to an item owned by the user. Items owned by the user may be clothing, bags, electronics, shoes, etc. that the user actually owns in the real world. Items owned by the user may have tags attached to them. The tag may include a serial number for items owned by the user. The serial number may contain unique identification and authentication information for the item. In other words, if the serial number has a specific pattern, the item may be genuine, and if the serial number does not have a specific pattern, the item may not be genuine.

본 개시의 일 실시예에 따르면, 사용자 단말기(130)는 카메라를 이용하여 태그를 촬영할 수 있다. 사용자 단말기(130)는 태그에 대한 영상에 기초하여 인증정보를 획득할 수 있다. 예를 들어 태그는 바코드 또는 QR코드일 수 있다. 하지만 이에 한정되는 것은 아니다. According to an embodiment of the present disclosure, the user terminal 130 can photograph a tag using a camera. The user terminal 130 may obtain authentication information based on the image for the tag. For example, a tag can be a barcode or QR code. However, it is not limited to this.

또한, 태그는 통신부를 포함할 수 있다. 태그의 통신부는 사용자 단말기(130)와 통신할 수 있다. 통신 방식은 NFC(Near Field Communication), 또는 블루투스 등을 이용할 수 있다. 사용자 단말기(130)는 태그와 통신하여 인증정보를 획득할 수 있다. Additionally, the tag may include a communication unit. The communication unit of the tag can communicate with the user terminal 130. The communication method can be NFC (Near Field Communication) or Bluetooth. The user terminal 130 can obtain authentication information by communicating with the tag.

본 개시의 다른 실시예에 따르면, 인증정보는 One Time Password일 수 있다. 인증정보는 시간에 따라 변경되는 값을 가질 수 있다. 예를 들어 사용자가 소유한 아이템은 배터리 및 빛에 의하여 발전하는 발전부를 포함할 수 있다. 사용자가 소유한 아이템의 제어부는 배터리 및 발전부에 의하여 전력을 공급받을 수 있다. 또한 사용자가 소유한 아이템의 제어부는 현재 시간에 소정의 알고리즘을 적용하여 시간에 따라 변경되는 인증번호를 생성할 수 있다. 서버(110) 역시 현재 시간에 소정의 알고리즘을 적용하여 시간에 따라 변경되는 인증번호를 생성할 수 있다. 즉 사용자가 소유한 아이템이 생성하는 인증번호는 서버(110)가 생성하는 인증번호와 동일할 수 있다. 사용자 단말기(130)는 자동 또는 수동으로 사용자가 소유한 아이템이 생성한 인증번호를 획득할 수 있다.According to another embodiment of the present disclosure, the authentication information may be One Time Password. Authentication information may have values that change over time. For example, an item owned by a user may include a battery and a power generation unit that generates electricity by light. The control unit of the item owned by the user can be supplied with power by the battery and power generation unit. Additionally, the control unit of the item owned by the user can apply a predetermined algorithm to the current time to generate an authentication number that changes with time. The server 110 can also generate an authentication number that changes with time by applying a predetermined algorithm to the current time. That is, the authentication number generated by the item owned by the user may be the same as the authentication number generated by the server 110. The user terminal 130 can automatically or manually obtain an authentication number generated by an item owned by the user.

사용자 단말기(130)는 인증정보, 사용자의 식별정보, 및 사용자 단말기의 식별정보를 서버(110)로 송신하는 단계(1612)를 수행할 수 있다. 사용자의 식별정보는 사용자별로 고유한 정보일 수 있다. 사용자의 식별정보는 이름, 생체정보(홍채, 지문), 주민등록번호, 생년월일 또는 전화번호 중 적어도 하나에 대한 정보를 포함할 수 있다. 또한 사용자의 식별정보는 이름, 주민등록번호, 생년월일 또는 전화번호 중 적어도 하나에 대한 정보에 기초하여 생성된 고유 정보일 수 있다. 또한 사용자의 식별정보는 사용자가 입력한 고유 정보일 수 있다.The user terminal 130 may perform step 1612 of transmitting authentication information, user identification information, and user terminal identification information to the server 110 . The user's identification information may be unique information for each user. The user's identification information may include information about at least one of name, biometric information (iris, fingerprint), resident registration number, date of birth, or phone number. Additionally, the user's identification information may be unique information generated based on information about at least one of name, resident registration number, date of birth, or phone number. Additionally, the user's identification information may be unique information entered by the user.

사용자 단말기의 식별정보는 사용자 단말기 별로 고유한 정보일 수 있다. 사용자 단말기의 식별정보는 전화번호, 기기 시리얼 넘버, 제조사, 생산 번호, 생산 날짜, 또는 모델명 중 적어도 하나에 대한 정보를 포함할 수 있다. 또한 사용자 단말기의 식별정보는 전화번호, 기기 시리얼 넘버, 제조사, 생산 번호, 생산 날짜, 또는 모델명 중 적어도 하나에 대한 정보에 기초하여 생성된 고유 정보일 수 있다.The identification information of the user terminal may be unique information for each user terminal. The identification information of the user terminal may include information about at least one of a phone number, device serial number, manufacturer, production number, production date, or model name. Additionally, the identification information of the user terminal may be unique information generated based on information about at least one of a phone number, device serial number, manufacturer, production number, production date, or model name.

단계(1612)에서 사용자 단말기(130)는 서버(110)로 인증을 요청하는 명령을 더 송신할 수 있다. 서버(110)는 인증을 요청하는 명령에 기초하여 사용자 단말기(130)에 대한 인증을 수행할 수 있다. 하지만 이에 한정되는 것은 아니다. 사용자 단말기(130)에 인증을 요청하는 명령을 서버(110)에 송신하지 않을 수 있다. 서버(110)는 인증정보, 사용자의 식별정보, 및 사용자 단말기의 식별정보를 수신하는 경우, 사용자 단말기에 대한 인증을 수행할 수 있다.In step 1612, the user terminal 130 may further transmit a command requesting authentication to the server 110. The server 110 may perform authentication for the user terminal 130 based on a command requesting authentication. However, it is not limited to this. A command requesting authentication from the user terminal 130 may not be transmitted to the server 110. The server 110 may perform authentication for the user terminal when receiving authentication information, user identification information, and user terminal identification information.

단계(1612)에서 사용자 단말기(130)는 인증정보, 사용자의 식별정보, 및 사용자 단말기의 식별정보를 암호화할 수 있으며, 서버(110)는 인증정보, 사용자의 식별정보, 및 사용자 단말기의 식별정보를 복호화할 수 있다.In step 1612, the user terminal 130 may encrypt the authentication information, the user's identification information, and the user terminal's identification information, and the server 110 may encrypt the authentication information, the user's identification information, and the user terminal's identification information. can be decrypted.

서버(110)는 인증정보가 미리 저장되어 있는 가상 아이템에 대응되며 정당한 것인지 여부를 결정하는 단계(1621)를 수행할 수 있다. 서버(110)는 가상 아이템의 식별정보를 미리 저장하고 있을 수 있다. 또한 서버(110)는 인증정보를 가상 아이템의 식별정보에 대응되도록 저장하고 있을 수 있다. 서버(110)는 저장하고 있는 인증정보 및 가상 아이템의 식별정보를 사용자 단말기(130)로부터 수신한 인증정보 및 가상 아이템의 식별정보와 비교할 수 있다. 저장하고 있는 인증정보 및 가상 아이템의 식별정보가 사용자 단말기(130)로부터 수신한 인증정보 및 가상 아이템의 식별정보와 동일한 경우, 서버(110)는 인증정보가 가상 아이템의 식별정보에 대응하며 정당한 것으로 결정할 수 있다.The server 110 may perform a step 1621 of determining whether the authentication information corresponds to a pre-stored virtual item and is legitimate. The server 110 may store identification information of the virtual item in advance. Additionally, the server 110 may store authentication information to correspond to identification information of the virtual item. The server 110 may compare the stored authentication information and virtual item identification information with the authentication information and virtual item identification information received from the user terminal 130 . If the stored authentication information and virtual item identification information are the same as the authentication information received from the user terminal 130 and the virtual item identification information, the server 110 determines that the authentication information corresponds to the virtual item identification information and is legitimate. You can decide.

저장하고 있는 인증정보 및 가상 아이템의 식별정보가 사용자 단말기(130)로부터 수신한 인증정보 및 가상 아이템의 식별정보와 동일하지 않은 경우, 서버(110)는 인증정보가 가상 아이템의 식별정보에 대응하지 않거나 정당하지 않은 것으로 결정할 수 있다. 서버(110)는 미리 저장되어 있는 인증정보가 사용자 단말기(130)로부터 수신한 인증정보와 다른 경우, 사용자 단말기(130)가 오류 메시지를 표시하도록 제어할 수 있다.If the stored authentication information and identification information of the virtual item are not the same as the authentication information received from the user terminal 130 and the identification information of the virtual item, the server 110 determines that the authentication information does not correspond to the identification information of the virtual item. It may be decided that it is not or is not justified. If the pre-stored authentication information is different from the authentication information received from the user terminal 130, the server 110 may control the user terminal 130 to display an error message.

또한 서버(110)는 미리 저장되어 있는 가상 아이템의 식별정보가 사용자 단말기(130)로부터 수신한 가상 아이템의 식별정보와 다른 경우, 서버(110)에 저장되어 있는 가상 아이템 중 사용자가 소유한 아이템과 가장 유사한 가상 아이템을 정당한 것으로 결정할 수 있다. 서버(110)는 미리 저장되어 있는 가상 아이템을 복수의 그룹으로 나누어서 저장하고 있을 수 있다. 서버(110)는 사용자 단말기(130)로부터 수신한 가상 아이템의 식별정보와 동일한 그룹에 속해 있으면서, 비라이센스의 가상 아이템을 사용자 단말기(130)가 표시하도록 제어할 수 있다. 여기서 비라이센스는 라이센스문제가 생기지 않는 가상 아이템을 의미할 수 있다. 예를 들어, 메타버스 시스템 제공자가 미리 계약을 하여 자유롭게 사용할 수 있는 가상 아이템 또는 라이센스 프리(license free)의 가상 아이템을 의미할 수 있다. 서버(110)는 사용자 단말기(130)로부터 수신한 사용자의 선택 정보에 기초하여 하나의 가상 아이템을 정당한 아이템으로써 결정할 수 있다.In addition, if the identification information of the virtual item stored in advance is different from the identification information of the virtual item received from the user terminal 130, the server 110 selects the item owned by the user among the virtual items stored in the server 110. The most similar virtual item can be determined as legitimate. The server 110 may store pre-stored virtual items by dividing them into a plurality of groups. The server 110 may control the user terminal 130 to display an unlicensed virtual item that belongs to the same group as the identification information of the virtual item received from the user terminal 130. Here, non-licensed may mean a virtual item that does not cause licensing problems. For example, it may mean a virtual item that can be freely used by a pre-contract with the metaverse system provider or a license-free virtual item. The server 110 may determine one virtual item as a legitimate item based on the user's selection information received from the user terminal 130.

인증정보가 가상 아이템의 식별정보에 대응하며 정당한 것으로 결정된 경우, 서버(110)는 사용자의 식별코드에 대응되는 인증된 사용자 아이템 리스트에 가상 아이템의 식별정보 및 사용자 단말기의 식별정보를 저장하는 단계(1622)를 수행할 수 있다. 서버(110)는 인증된 사용자 아이템 리스트를 사용자 별로 생성할 수 있다. 서버(110)는 사용자의 식별코드에 대응되는 인증된 사용자 아이템 리스트를 획득할 수 있다. 또한 서버(110)는 사용자의 식별코드에 대응되는 인증된 사용자 아이템 리스트에 가상 아이템의 식별정보 및 사용자 단말기의 식별정보를 저장할 수 있다. 인증된 사용자 아이템 리스트는 인증된 가상 아이템의 식별정보를 포함할 수 있다. 즉, 서버(110)에 의하여 인증되지 않은 가상 아이템의 식별정보는 인증된 사용자 아이템 리스트에 포함되지 않을 수 있다. 사용자 아이템 리스트에 가상 아이템의 식별정보 및 사용자 단말기의 식별정보를 동시에 저장하는 이유는 사용자의 가상인물이 가상 아이템을 착용할 수 있는지 여부를 결정하기 위해서일 수 있다. 서버(110)는 사용자 단말기의 식별정보에 대응되는 사용자 단말기(130)의 요청이 있었으며, 사용자 아이템 리스트에 포함된 가상 아이템의 식별정보에 대응하는 가상 아이템을 가상인물이 착용할 수 있도록 허용할 수 있다. 따라서 가상 아이템은 특정한 사용자 단말기(130)에서만 사용될 수 있다. 이를 통하여 복수의 사용자 단말기(130)에서 가상 아이템이 사용되는 것이 방지될 수 있으며, 저작권자 또는 브랜드 라이센서의 권리는 보호될 수 있다.If the authentication information corresponds to the identification information of the virtual item and is determined to be legitimate, the server 110 stores the identification information of the virtual item and the identification information of the user terminal in the authenticated user item list corresponding to the user's identification code ( 1622) can be performed. The server 110 may generate an authenticated user item list for each user. The server 110 may obtain a list of authenticated user items corresponding to the user's identification code. Additionally, the server 110 may store the identification information of the virtual item and the identification information of the user terminal in an authenticated user item list corresponding to the user's identification code. The authenticated user item list may include identification information of the authenticated virtual item. That is, identification information of virtual items that have not been authenticated by the server 110 may not be included in the list of authenticated user items. The reason for simultaneously storing the identification information of the virtual item and the identification information of the user terminal in the user item list may be to determine whether the user's virtual person can wear the virtual item. The server 110 has received a request from the user terminal 130 corresponding to the identification information of the user terminal, and may allow the virtual person to wear the virtual item corresponding to the identification information of the virtual item included in the user item list. there is. Therefore, the virtual item can only be used in a specific user terminal 130. Through this, virtual items can be prevented from being used in multiple user terminals 130, and the rights of the copyright holder or brand licensor can be protected.

인증정보가 가상 아이템의 식별정보에 대응하지 않거나 정당하지 않은 것으로 결정된 경우, 서버(110)는 사용자 단말기(130)에 인증이 되지 않았음을 나타내는 정보를 송신할 수 있다. 사용자 단말기(130)는 인증이 되지 않았음을 나타내는 정보를 출력하여 사용자가 정상적으로 인증을 수행하도록 도울 수 있다.If the authentication information does not correspond to the identification information of the virtual item or is determined to be invalid, the server 110 may transmit information indicating that authentication has not been completed to the user terminal 130. The user terminal 130 may help the user perform authentication normally by outputting information indicating that authentication has not been completed.

서버(110)는 인증된 사용자 아이템 리스트에 대한 정보를 사용자 단말기(130)로 송신하는 단계(1623)를 수행할 수 있다. 인증된 사용자 아이템 리스트에 대한 정보는 인증된 가상 아이템에 대한 정보를 포함할 수 있다. 인증된 사용자 아이템 리스트에 대한 정보는 인증된 가상 아이템 또는 사용자가 소유한 아이템의 저작권자, 제작자, 아이템의 제작시기, 아이템의 출시시기, 아이템의 제작순번, 브랜드, 아이템의 품목, 아이템의 형상, 또는, 아이템의 재질 중 적어도 하나에 대한 정보를 포함할 수 있다. 사용자 단말기(130)는 인증된 사용자 아이템 리스트에 대한 정보를 출력하는 단계를 수행할 수 있다. 이와 같이 사용자는 사용자가 소유한 아이템을 메타버스에서 사용할 수 있다. 따라서 사용자는 자신이 좋아하는 아이템을 현실 및 가상공간에서 모두 이용할 수 있어 만족도가 높아질 수 있다.The server 110 may perform step 1623 of transmitting information about the authenticated user item list to the user terminal 130. Information about the authenticated user item list may include information about authenticated virtual items. Information on the list of authenticated user items includes the copyright holder of the authenticated virtual item or item owned by the user, the creator, the item's creation time, the item's release date, the item's production order, the brand, the item's item, the item's shape, or , may include information about at least one of the materials of the item. The user terminal 130 may perform a step of outputting information about the authenticated user item list. In this way, users can use items they own in the metaverse. Therefore, users can use their favorite items in both real and virtual spaces, which can increase satisfaction.

디스플레이에 가상인물, 가상공간 및 가상 오브젝트를 표시하는 단계(332)는 다음과 같은 과정을 더 포함할 수 있다. 사용자 단말기(130)는 사용자의 선택에 기초하여 사용자 아이템 리스트에 포함된 적어도 하나의 아이템 중 적어도 하나를 이용하여 가상인물에 대한 정보를 획득하는 단계(1631)를 수행할 수 있다. 미리 설명한 바와 같이 가상인물에 대한 정보는 가상인물의 소지아이템에 대한 정보를 포함할 수 있으며, 사용자 아이템 리스트에 포함된 적어도 하나의 가상 아이템은 가상인물의 소지아이템으로 결정될 수 있다.The step 332 of displaying virtual people, virtual spaces, and virtual objects on the display may further include the following processes. The user terminal 130 may perform step 1631 of acquiring information about a virtual person using at least one of at least one item included in the user item list based on the user's selection. As previously described, the information about the virtual person may include information about the items owned by the virtual person, and at least one virtual item included in the user item list may be determined to be an item owned by the virtual person.

사용자 단말기를 이용하여 인증된 가상 아이템을 가상공간에 확인할 수 있다.Authenticated virtual items can be checked in virtual space using the user terminal.

도 17은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.Figure 17 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

도 17은 도 16의 이후에 수행될 수 있다. 서버(110)는 태그를 스캔하여 획득된 인증정보를 미리 결정된 주기로 사용자 단말기에 요청하는 단계(1710)를 수행할 수 있다. 미리 결정된 주기는 일주일, 한 달, 일년 또는 3년 중 하나일 수 있다. 미리 결정된 주기는 가상 아이템 또는 사용자가 소유한 아이템의 출시 시점으로부터 지난 시간에 기반하여 점점 길어질 수 있다. 즉, 미리 결정된 주기는 가상 아이템 또는 사용자가 소유한 아이템의 출시 시점으로부터 지난 시간에 비례하여 증가할 수 있다. 예를 들어 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 1개월까지 미리 결정된 주기는 일주일일 수 있다. 하지만 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 1개월 이후에는 미리 결정된 주기는 한 달일 수 있으며, 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 1년 이후에는 미리 결정된 주기는 1 년일 수 있다. 또한 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 임계 시간이 지난 이후에는 미리 결정된 주기는 없을 수 있다. 즉, 임계 시간이 지난 이후에는 가상 아이템 또는 사용자가 소유한 아이템에 대한 인증이 수행되지 않을 수 있다.Figure 17 can be performed after Figure 16. The server 110 may perform step 1710 of requesting authentication information obtained by scanning a tag from the user terminal at a predetermined period. The predetermined period may be one week, one month, one year, or three years. The predetermined cycle may become increasingly longer based on the time elapsed since the release of the virtual item or item owned by the user. That is, the predetermined cycle may increase in proportion to the time elapsed from the release of the virtual item or the item owned by the user. For example, the predetermined cycle up to one month after the release of a virtual item or a user-owned item may be one week. However, after one month after the release of the virtual item or the user-owned item, the predetermined cycle may be one month, and after one year after the release of the virtual item or the user-owned item, the predetermined cycle may be one year. Additionally, there may be no predetermined cycle after a critical time has passed after the release of a virtual item or an item owned by a user. That is, after the critical time has passed, authentication for virtual items or items owned by the user may not be performed.

또한 서버(110)는 미리 결정된 주기에 관계없이 추가적인 인증을 수행할 수 있다. 서버(110)는 사용자의 인증된 사용자 아이템 리스트에 저장되지 않은 사용자 단말기가 가상 아이템에 접근하려고 할 때, 위에서 설명한 바와 같은 방식으로 재인증을 수행할 수 있다.Additionally, the server 110 may perform additional authentication regardless of the predetermined period. The server 110 may perform re-authentication in the manner described above when a user terminal that is not stored in the user's authenticated user item list attempts to access a virtual item.

서버(110)는 인증된 사용자 아이템 리스트 별로 미리 결정된 주기를 설정할 수 있다. 서버(110)는 미리 결정된 주기가 도래한 경우 인증된 사용자 아이템 리스트에 저장된 사용자 단말기의 식별정보에 기초하여 사용자 단말기로 인증정보를 요청할 수 있다.The server 110 may set a predetermined cycle for each authenticated user item list. When a predetermined period arrives, the server 110 may request authentication information from the user terminal based on the identification information of the user terminal stored in the authenticated user item list.

서버(110)의 요청에 대응하여, 사용자 단말기(130)가 태그를 스캔하여 인증정보를 획득해야 함을 나타내는 정보를 출력하는 단계(1721)를 수행할 수 있다. 출력된 정보에 기초하여 사용자는 사용자 단말기(130)를 이용하여 태그를 스캔할 수 있다. 사용자 단말기(130)는 인증정보를 획득할 수 있다.In response to the request from the server 110, the user terminal 130 may perform step 1721 of outputting information indicating that authentication information must be obtained by scanning the tag. Based on the output information, the user can scan the tag using the user terminal 130. The user terminal 130 may obtain authentication information.

서버(110)는 태그를 스캔하여 획득된 인증정보, 사용자의 식별정보 및 사용자 단말기의 식별정보를 사용자 단말기로부터 재수신하는 단계(1722)를 수행할 수 있다. 도 16에서 서버(110)는 인증정보, 사용자의 식별정보 및 사용자 단말기의 식별정보를 수신하였으므로, 도 17에서 재인증을 위하여 서버(110)가 수신한 정보를 재수신된 인증정보, 재수신된 사용자의 식별정보 및 재수신된 사용자 단말기의 식별정보라고 칭한다.The server 110 may perform step 1722 of re-receiving authentication information, user identification information, and user terminal identification information obtained by scanning the tag from the user terminal. In FIG. 16, the server 110 has received the authentication information, the user's identification information, and the user terminal's identification information, so in FIG. 17, the information received by the server 110 for re-authentication is divided into re-received authentication information and re-received This is referred to as user identification information and re-received user terminal identification information.

재수신된 인증정보가 재수신된 가상 아이템의 식별정보에 대응하며 정당하고, 재수신된 사용자 식별코드에 대응되는 인증된 사용자 아이템 리스트 내에 재수신된 가상 아이템의 식별정보 및 재수신된 사용자 단말기의 식별정보가 포함되어 있는 경우, 서버(110)는 인증된 사용자 아이템 리스트 내의 가상 아이템의 식별정보 및 사용자 단말기의 식별정보를 유지하는 단계를 수행할 수 있다. The re-received authentication information corresponds to the identification information of the re-received virtual item and is legitimate, and the identification information of the re-received virtual item and the re-received user terminal within the authenticated user item list corresponding to the re-received user identification code. If identification information is included, the server 110 may perform a step of maintaining the identification information of the virtual item and the user terminal in the authenticated user item list.

도 16과와 다르게, 서버(110)는 재수신된 사용자 식별코드에 대응되는 인증된 사용자 아이템 리스트 내에 재수신된 가상 아이템의 식별정보 및 재수신된 사용자 단말기의 식별정보가 포함되어 있는지 여부를 더 판단할 수 있다. 또한 서버(110)는 조건을 만족하는 경우, 인증된 사용자 아이템 리스트 내의 가상 아이템의 식별정보 및 사용자 단말기의 식별정보를 유지할 수 있다. Unlike FIG. 16, the server 110 further determines whether the identification information of the re-received virtual item and the identification information of the re-received user terminal are included in the authenticated user item list corresponding to the re-received user identification code. You can judge. Additionally, if the condition is satisfied, the server 110 may maintain the identification information of the virtual item and the user terminal in the authenticated user item list.

재수신된 인증정보가 재수신된 가상 아이템의 식별정보에 대응하며 정당하고, 재수신된 사용자 식별코드에 대응되는 인증된 사용자 아이템 리스트 내에 재수신된 가상 아이템의 식별정보 및 재수신된 사용자 단말기의 식별정보가 포함되어 있지 않은 경우, 서버(110)는 인증된 사용자 아이템 리스트에 재수신된 가상 아이템의 식별정보 및 재수신된 사용자 단말기의 식별정보를 저장하는 단계를 수행할 수 있다. 서버(110)는 인증된 사용자 아이템 리스트에 재수신된 가상 아이템의 식별정보 및 재수신된 사용자 단말기의 식별정보를 저장함으로써, 사용자가 자신의 가상 아이템을 깜박하고 서버(110)에 등록하지 않는 상황을 방지할 수 있다. 또한, 오류로 서버(110)의 사용자 아이템 리스트에서 가상 아이템의 식별정보가 삭제되어도 위와 같은 과정에 의하여 가상 아이템의 식별정보가 복구할 수 있다. 따라서 사용자는 오류가 발생하더라도 불편을 느끼지 않을 수 있다.The re-received authentication information corresponds to the identification information of the re-received virtual item and is legitimate, and the identification information of the re-received virtual item and the re-received user terminal within the authenticated user item list corresponding to the re-received user identification code. If the identification information is not included, the server 110 may store the identification information of the re-received virtual item and the identification information of the re-received user terminal in the authenticated user item list. The server 110 stores the identification information of the re-received virtual item and the identification information of the re-received user terminal in the authenticated user item list, so that the user forgets his or her virtual item and does not register it with the server 110. can be prevented. Additionally, even if the identification information of the virtual item is deleted from the user item list of the server 110 due to an error, the identification information of the virtual item can be recovered through the above process. Therefore, users may not feel any inconvenience even if an error occurs.

재수신된 인증정보가 재수신된 가상 아이템의 식별정보에 대응하지 않거나, 정당하지 않은 경우, 서버(110)가 인증된 사용자 아이템 리스트에서 가상 아이템의 식별정보를 삭제하는 단계를 수행할 수 있다. 따라서 이후에 사용자가 사용자 단말기(130)를 이용하여 가상 아이템을 요청하더라도, 서버(110)는 가상 아이템 데이터를 사용자 단말기(130)에 제공하지 않을 수 있다. 따라서 사용자가 이용하는 가상인물은 해당 가상 아이템을 착용하지 못할 수 있다.If the re-received authentication information does not correspond to the identification information of the re-received virtual item or is invalid, the server 110 may perform a step of deleting the identification information of the virtual item from the authenticated user item list. Therefore, even if the user later requests a virtual item using the user terminal 130, the server 110 may not provide virtual item data to the user terminal 130. Therefore, the virtual character used by the user may not be able to wear the corresponding virtual item.

이미 설명한 바와 같이 서버(110)는 인증정보를 미리 결정된 주기로 사용자 단말기(130)에 요청하는 단계(1710)를 수행할 수 있다. 사용자 단말기(130)는 인증정보를 획득해야 함을 나타내는 정보를 출력할 수 있다. 하지만 사용자는 사용자가 소유한 아이템을 가지고 있지 않아서 사용자가 소유한 아이템으로부터 인증정보를 획득하지 못할 수 있다.As already described, the server 110 may perform step 1710 of requesting authentication information from the user terminal 130 at a predetermined period. The user terminal 130 may output information indicating that authentication information must be obtained. However, since the user does not have an item owned by the user, authentication information may not be obtained from the item owned by the user.

인증정보 요청 후 서버(110)가 소정의 기간 안에 사용자 단말기로부터 회신을 수신하지 못하는 경우, 인증된 사용자 아이템 리스트에서 가상 아이템의 식별정보 및 사용자 단말기의 식별정보 중 적어도 하나를 삭제하는 단계를 수행할 수 있다. 여기서 소정의 기간은 일주일, 한 달, 일년 또는 3년일 수 있다. 하지만 이에 한정되는 것은 아니다. 서버(110)는 소정의 기간이 가상 아이템 또는 사용자가 소유한 아이템의 출시 시점으로부터 지난 시간에 비례하여 증가되도록 제어할 수 있다. 예를 들어 가상 아이템 출시 후 1개월까지 소정의 기간은 일주일일 수 있다. 하지만 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 1개월 이후에는 소정의 기간은 한 달일 수 있으며, 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 1년 이후에는 소정의 기간은 1 년일 수 있다. 또한 가상 아이템 또는 사용자가 소유한 아이템의 출시 후 임계 시간이 지난 이후에는 소정의 기간은 없을 수 있다. 즉, 임계 시간이 지난 이후에는 가상 아이템 또는 사용자가 소유한 아이템에 대한 인증이 수행되지 않을 수 있다.If the server 110 does not receive a reply from the user terminal within a predetermined period after requesting authentication information, a step of deleting at least one of the identification information of the virtual item and the identification information of the user terminal from the authenticated user item list is performed. You can. Here, the predetermined period may be a week, a month, a year, or 3 years. However, it is not limited to this. The server 110 may control the predetermined period to be increased in proportion to the time elapsed from the release of the virtual item or the item owned by the user. For example, the predetermined period of time up to one month after the virtual item is released may be a week. However, after one month after the launch of the virtual item or the item owned by the user, the predetermined period may be one month, and after one year after the launch of the virtual item or the item owned by the user, the predetermined period may be one year. Additionally, there may not be a predetermined period of time after a critical time has passed after the release of a virtual item or an item owned by a user. That is, after the critical time has passed, authentication for virtual items or items owned by the user may not be performed.

사용자 단말기(130)는 사용자로부터 인증된 사용자 아이템 리스트에 대한 정보 중 적어도 하나의 가상 아이템의 사용을 요청하기 위한 입력을 수신하는 단계를 수행할 수 있다. 이미 설명한 바와 같이 사용자 단말기(130)는 서버(110)로부터 인증된 사용자 아이템 리스트에 대한 정보를 수신할 수 있다. 사용자 단말기(130)는 인증된 사용자 아이템 리스트에 대한 정보를 출력할 수 있다. 출력은 영상 또는 소리로 될 수 있다. 인증된 사용자 아이템 리스트에 대한 정보는 인증된 가상 아이템의 저작권자, 제작자, 아이템의 제작시기, 아이템의 출시시기, 아이템이 제작순번, 브랜드, 아이템의 품목, 아이템의 형상, 또는, 아이템의 재질 중 적어도 하나에 대한 정보를 포함할 수 있다. 사용자는 사용자 단말기(130)의 입력부를 이용하여 인증된 사용자 아이템 리스트에 대한 정보 중 하나의 가상 아이템을 사용하도록 사용자 단말기(130)에 입력할 수 있다.The user terminal 130 may perform a step of receiving an input from the user for requesting the use of at least one virtual item among the information on the authenticated user item list. As already described, the user terminal 130 may receive information about an authenticated user item list from the server 110. The user terminal 130 may output information about a list of authenticated user items. Output can be video or sound. Information on the authenticated user item list includes at least the copyright holder of the authenticated virtual item, the creator, the item's creation time, the item's release date, the item's production order, the brand, the item's item, the item's shape, or the item's material. It can contain information about one thing. The user may use the input unit of the user terminal 130 to input into the user terminal 130 one virtual item among the information on the authenticated user item list.

적어도 하나의 가상 아이템을 사용하기 위한 입력을 수신하는 것에 대응하여, 사용자 단말기(130)는 요청된 가상 아이템에 대한 식별정보, 사용자 식별정보 및 사용자 단말기의 식별정보를 포함하는 사용 요청 정보를 서버(110)로 송신하는 단계를 수행할 수 있다.In response to receiving an input for using at least one virtual item, the user terminal 130 sends use request information including identification information for the requested virtual item, user identification information, and identification information of the user terminal to the server ( 110) can be performed.

본 개시의 일 실시예에 따르면, 사용자 단말기(130)는 별도의 명령어 없이 요청된 가상 아이템에 대한 식별정보, 사용자 식별정보 및 사용자 단말기의 식별정보를 서버(110)에 송신하는 것 만으로도 서버(110)는 가상 아이템의 사용을 요청하고 있다는 것을 알 수 있다. 본 개시의 다른 실시예에 따르면, 사용자 단말기(130)는 사용을 요청하는 명령어를 요청된 가상 아이템에 대한 식별정보, 사용자 식별정보 및 사용자 단말기의 식별정보와 함께 서버(110)로 송신할 수 있다. 서버(110)는 사용을 요청하는 명령어에 기반하여 사용자 단말기(130)가 사용을 요청하고 있다는 것을 알 수 있다.According to an embodiment of the present disclosure, the user terminal 130 can be used by the server 110 simply by transmitting the identification information for the requested virtual item, the user identification information, and the identification information of the user terminal to the server 110 without a separate command. ) can be seen to be requesting the use of a virtual item. According to another embodiment of the present disclosure, the user terminal 130 may transmit a command requesting use to the server 110 along with identification information for the requested virtual item, user identification information, and identification information of the user terminal. . The server 110 may know that the user terminal 130 is requesting use based on the command requesting use.

서버(110)가 사용 요청 정보에 포함되는 사용자의 식별정보에 대응되는 인증된 사용자 아이템 리스트 내에 요청된 가상 아이템에 대한 식별정보 및 사용자 단말기의 식별정보가 포함되는지 결정하는 단계를 수행할 수 있다. 서버(110)는 사용 요청 정보에 포함되는 사용자의 식별정보에 기초하여 사용자의 인증된 사용자 아이템 리스트를 획득할 수 있다. 또한 서버(110)는 획득된 인증된 사용자 아이템 리스트 내에 재생 요청 정보에 포함된 요청된 가상 아이템에 대한 식별정보 및 사용자 단말기의 식별정보가 포함되는지 여부를 결정할 수 있다.The server 110 may perform a step of determining whether the identification information for the requested virtual item and the identification information for the user terminal are included in the authenticated user item list corresponding to the user's identification information included in the use request information. The server 110 may obtain the user's authenticated user item list based on the user's identification information included in the use request information. Additionally, the server 110 may determine whether identification information for the requested virtual item and identification information for the user terminal included in the playback request information are included in the acquired authenticated user item list.

인증된 사용자 아이템 리스트에 요청된 가상 아이템에 대한 식별정보 및 사용자 단말기의 식별정보가 포함되는 경우, 서버(110)는 요청된 가상 아이템에 대한 식별정보에 대응되는 가상 아이템의 데이터를 사용자 단말기(130)로 송신하는 단계를 수행할 수 있다. 가상 아이템의 데이터는 서버(110)가 저장하고 있을 수 있다. 하지만 이에 한정되는 것은 아니며, 서버(110)는 별도의 가상 아이템 클라우드 서버가 가상 아이템의 데이터를 사용자 단말기(130)로 제공하도록 제어할 수 있다. 여기서 가상 아이템의 데이터는 가상 아이템의 모델링 데이터를 포함할 수 있다.If the authenticated user item list includes identification information for the requested virtual item and identification information for the user terminal, the server 110 sends data of the virtual item corresponding to the identification information for the requested virtual item to the user terminal 130. ) can be performed. Data on virtual items may be stored by the server 110. However, it is not limited to this, and the server 110 may control a separate virtual item cloud server to provide virtual item data to the user terminal 130. Here, the data of the virtual item may include modeling data of the virtual item.

가상 아이템의 데이터는 사용자가 소유한 아이템에 포함되지 않은 컨텐츠가 포함될 수 있다. 예를 들어, 사용자가 소유한 아이템에서는 음악 또는 영상이 재생되지 않지만, 가상인물이 가상 아이템을 착용하면 음악 또는 영상이 재생될 수도 있다. 따라서 서버(110)는 사용자들이 자신이 실제로 소유한 아이템을 서버(110)에 인증할 것을 유도할 수 있다.The data of the virtual item may include content that is not included in the item owned by the user. For example, music or video may not be played on an item owned by the user, but music or video may be played when a virtual person wears the virtual item. Accordingly, the server 110 can induce users to authenticate to the server 110 the items they actually own.

도 18은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작방법을 나타내는 흐름도이다.Figure 18 is a flowchart showing a method of operating a metaverse system according to an embodiment of the present disclosure.

구매자 단말기(1810)는 인증정보를 획득하는 단계(1821)를 수행할 수 있다. 구매자 단말기(1810)는 사용자 단말기(130)와 다를 수 있다. 또한 구매자 단말기(1810)의 소유자는 사용자 단말기(130)의 소유자와 다를 수 있다. 사용자는 사용자가 소유한 아이템을 최초로 구입한 사용자일 수 있다. 또한, 사용자 단말기(130)는 사용자가 소유한 아이템을 최초로 인증한 사용자 단말기 일 수 있다. 구매자는 사용자로부터 사용자가 소유한 아이템을 구입한 사람일 수 있다. 구매자 단말기(1810)는 구매자의 단말기 일 수 있다.The purchaser terminal 1810 may perform step 1821 of acquiring authentication information. The buyer terminal 1810 may be different from the user terminal 130. Additionally, the owner of the purchaser terminal 1810 may be different from the owner of the user terminal 130. The user may be the first user to purchase an item owned by the user. Additionally, the user terminal 130 may be the user terminal that first authenticated the item owned by the user. A buyer may be a person who purchases an item owned by the user from the user. The buyer terminal 1810 may be a buyer's terminal.

본 개시의 일 실시예에 따르면, 구매자 단말기(1810)가 인증정보를 획득하는 과정은 사용자 단말기(130)가 인증정보를 획득하는 과정과 동일할 수 있다. 예를 들어, 구매자 단말기(1810)는 카메라를 이용하여 태그로부터 인증정보를 획득할 수 있다. 태그는 통신부를 포함할 수 있다. 태그의 통신부는 구매자 단말기(1810)와 통신할 수 있다. 통신 방식은 NFC(Near Field Communication), 또는 블루투스 등을 이용할 수 있다. 구매자 단말기(1810)는 태그와 통신하여 인증정보를 획득할 수 있다. 이미 설명한 바와 같이 인증정보는 One Time Password일 수 있다.According to an embodiment of the present disclosure, the process by which the purchaser terminal 1810 acquires authentication information may be the same as the process by which the user terminal 130 acquires authentication information. For example, the purchaser terminal 1810 can obtain authentication information from a tag using a camera. The tag may include a communication unit. The communication unit of the tag can communicate with the purchaser terminal 1810. The communication method can be NFC (Near Field Communication) or Bluetooth. The buyer terminal 1810 can obtain authentication information by communicating with the tag. As already explained, the authentication information may be One Time Password.

본 개시의 일 실시예에 따르면, 구매자 단말기(1810)가 인증정보를 획득하는 과정은 사용자 단말기(130)가 인증정보를 획득하는 과정과 다를 수 있다.According to an embodiment of the present disclosure, the process by which the purchaser terminal 1810 acquires authentication information may be different from the process by which the user terminal 130 acquires authentication information.

사용자 단말기(130)는 구매자 단말기(1810)로 인증정보의 송신을 요청할 수 있다. 사용자 단말기(130)가 구매자 단말기(1810)로 인증정보의 송신을 요청하는 경우, 사용자 단말기(130)가 인증정보에 대한 송수신내역정보를 서버, 사용자 단말기, 및 구매자 단말기에 분산하여 공유하는 단계를 수행할 수 있다. 서버, 사용자 단말기, 및 구매자 단말기는 블록체인 네트워크로 상호 연결되어 있을 수 있다.The user terminal 130 may request transmission of authentication information to the purchaser terminal 1810. When the user terminal 130 requests transmission of authentication information to the purchaser terminal 1810, the user terminal 130 distributes and shares the transmission and reception history information for the authentication information to the server, user terminal, and purchaser terminal. It can be done. Servers, user terminals, and buyer terminals may be interconnected through a blockchain network.

여기서 송수신내역정보는 인증정보와 관련된 가상 아이템에 대한 저작권자명 또는 상표권자명을 포함하는 권리자 상세정보를 포함할 수 있다. 송수신내역정보는 인증정보와 관련된 가상 아이템에 대한 상세정보를 포함할 수 있다. 송수신내역정보는 인증정보와 관련된 가상 아이템에 대한 상표권여부, 상표권자, 저작권자, 저작권만료일, 재판매 가능횟수제한 또는 재판매 유효기간 정보를 포함하는 권리 상세정보를 포함할 수 있다. 송수신내역정보는 인증정보와 관련된 가상 아이템을 구매 또는 판매한 사용자 단말기 및 구매자 단말기 관련 상세정보를 포함할 수 있다.Here, the transmission/reception history information may include detailed information on the rights holder including the name of the copyright holder or trademark holder for the virtual item related to the authentication information. Transmission/reception history information may include detailed information about virtual items related to authentication information. The transmission/reception history information may include detailed rights information, including trademark status, trademark holder, copyright holder, copyright expiration date, limit on the number of resaleable items, or resale validity period information for the virtual item related to the authentication information. The transmission/reception history information may include detailed information about the user terminal and buyer terminal that purchased or sold the virtual item related to the authentication information.

서버(110), 사용자 단말기(130), 및 구매자 단말기(1810)는 인증정보에 대한 송수신내역정보에 기초하여 해시값을 각각 도출하는 단계를 수행할 수 있다.The server 110, the user terminal 130, and the purchaser terminal 1810 may each perform a step of deriving a hash value based on transmission/reception history information for authentication information.

서버(110), 사용자 단말기(130), 및 구매자 단말기(1810)는 가상 아이템 데이터의 송수신내역정보를 해싱알고리즘에 의해 가공처리하여 해시값을 생성할 수 있다.The server 110, the user terminal 130, and the buyer terminal 1810 may generate a hash value by processing transmission/reception history information of virtual item data using a hashing algorithm.

서버(110), 사용자 단말기(130), 및 구매자 단말기(1810)의 해시값이 상호 일치하면, 구매자 단말기(1810)가 인증정보에 대한 결제정보를 서버로 송신하는 단계를 수행할 수 있다. 서버(110), 사용자 단말기(130), 및 구매자 단말기(1810)의 해시값이 일치하는지 판단하기 위하여, 각각의 장치에서 생성된 해시값은 상호 공유될 수 있다. 즉, 서버(110)에서 생성된 해시값은 사용자 단말기(130) 및 구매자 단말기(1810)로 공유될 수 있고, 사용자 단말기(130)에서 생성된 해시값은 서버(110) 및 구매자 단말기(1810)로 공유될 수 있으며, 구매자 단말기(1810)에서 생성된 해시값은 서버(110) 및 사용자 단말기(130)로 공유될 수 있다. 서버(110), 사용자 단말기(130), 및 구매자 단말기(1810)는 상호 공유된 해시값이 서로 일치함을 결정할 수 있다.If the hash values of the server 110, the user terminal 130, and the purchaser terminal 1810 match each other, the purchaser terminal 1810 may perform a step of transmitting payment information for authentication information to the server. In order to determine whether the hash values of the server 110, the user terminal 130, and the purchaser terminal 1810 match, the hash values generated by each device may be shared with each other. That is, the hash value generated in the server 110 can be shared with the user terminal 130 and the buyer terminal 1810, and the hash value generated in the user terminal 130 can be shared with the server 110 and the buyer terminal 1810. It can be shared, and the hash value generated in the purchaser terminal 1810 can be shared with the server 110 and the user terminal 130. The server 110, the user terminal 130, and the purchaser terminal 1810 may determine that the mutually shared hash values match each other.

인증정보에 대한 결제정보는 구매자가 구매자 단말기(1810)를 이용하여 사용자가 소유한 아이템 또는 가상 아이템의 데이터를 사용자로부터 구입하기 위한 결제정보일 수 있다. 결제정보는 결제에 필요한 정보를 포함할 수 있다. 예를 들어 결제정보는 결제금액, 신용카드에 대한 정보, 또는 결제 은행에 대한 정보 등을 포함할 수 있다. 구매자 단말기(1810)가 인증정보에 대한 결제정보를 서버(110)로 송신하는 것은 구매자 단말기(1810)가 서버(110)로 결제금액을 지불했음을 의미할 수 있다.Payment information for authentication information may be payment information for a purchaser to purchase data of an item or virtual item owned by the user from the user using the purchaser terminal 1810. Payment information may include information necessary for payment. For example, payment information may include payment amount, credit card information, or payment bank information. The fact that the buyer terminal 1810 transmits payment information for authentication information to the server 110 may mean that the buyer terminal 1810 has paid the payment amount to the server 110.

서버(110)가 결제정보를 수신하는 경우, 서버(110)는 사용자 단말기(130)로 거래승인정보를 송신하는 단계를 수행할 수 있다. 거래승인정보는 서버(110)가 사용자 단말기(130) 및 구매자 단말기(1810) 사이의 가상 아이템 데이터의 거래를 승인했음을 나타낼 수 있다. 서버(110)는 구매자 단말기로부터 수신한 금액 중 서비스 업체의 수수료 또는 저작권자에 대한 저작권료를 차감한 금액을 사용자에게 전달할 수 있다.When the server 110 receives payment information, the server 110 may perform a step of transmitting transaction approval information to the user terminal 130. Transaction approval information may indicate that the server 110 has approved the transaction of virtual item data between the user terminal 130 and the buyer terminal 1810. The server 110 may deliver to the user the amount received from the purchaser terminal, minus the service provider's fee or the copyright fee for the copyright holder.

거래승인정보에 기초하여 사용자 단말기(130)는 구매자 단말기(1810)로 인증정보를 송신하는 단계를 수행할 수 있다. 즉, 사용자 단말기(130)는 거래승인정보를 수신하고, 거래승인정보가 정당한 것으로 결정된 경우, 인증정보를 구매자 단말기(1810)로 송신할 수 있다. 사용자 단말기(130) 및 구매자 단말기(1810) 사이에서는 가상 아이템의 데이터의 전송이 생기지 않을 수 있다. 구매자 단말기(1810)는 인증정보에 기초하여 서버(110)를 통하여 가상 아이템의 데이터를 수신할 수 있다.Based on the transaction approval information, the user terminal 130 may transmit authentication information to the purchaser terminal 1810. That is, the user terminal 130 receives transaction approval information, and when the transaction approval information is determined to be valid, it can transmit authentication information to the buyer terminal 1810. Virtual item data may not be transmitted between the user terminal 130 and the purchaser terminal 1810. The buyer terminal 1810 may receive data on the virtual item through the server 110 based on the authentication information.

이제까지 구매자 단말기(1810)가 인증정보를 수신하는 과정에 대하여 설명하였다. 이하에서는 도 18과 함께 구매자 단말기(1810)가 인증정보에 기초하여 서버(110)에 인증된 사용자 아이템 리스트를 갱신하는 과정을 설명한다.So far, the process by which the purchaser terminal 1810 receives authentication information has been described. Hereinafter, a process in which the purchaser terminal 1810 updates the user item list authenticated in the server 110 based on authentication information will be described with reference to FIG. 18 .

도 18을 참조하면, 구매자 단말기(1810)가 인증정보, 사용자가 소유한 실물 아이템에 기초한 가상 아이템의 식별정보, 구매자의 식별정보, 및 구매자 단말기의 식별정보를 서버(110)로 송신하는 단계(1822)를 수행할 수 있다. 단계(1822)는 수행의 주체만 다를 뿐, 단계(1612) 또는 단계(1722)와 동일할 수 있다. 따라서 중복되는 설명은 생략한다.Referring to FIG. 18, the purchaser terminal 1810 transmits authentication information, identification information of a virtual item based on a physical item owned by the user, identification information of the purchaser, and identification information of the purchaser terminal to the server 110 ( 1822) can be performed. Step 1822 may be the same as step 1612 or step 1722, except that the subject of execution is different. Therefore, redundant explanations are omitted.

서버(110)는 인증정보가 가상 아이템의 식별정보에 대응하고, 정당한 것인지 여부를 결정하는 단계(1831)를 수행할 수 있다. 이 단계는 단계(1621)와 동일할 수 있다. 따라서 중복되는 설명은 생략한다.The server 110 may perform step 1831 of determining whether the authentication information corresponds to the identification information of the virtual item and is legitimate. This step may be the same as step 1621. Therefore, redundant explanations are omitted.

인증정보가 가상 아이템의 식별정보에 대응하며 정당한 것으로 결정된 경우, 서버(110)는 사용자의 식별코드에 대응되는 인증된 사용자 아이템 리스트에서 가상 아이템의 식별정보를 삭제하는 단계(1832)를 수행할 수 있다. 가상 아이템에 대한 사용권리가 사용자에서 구매자로 이전되었으므로, 서버(110)는 사용자의 식별코드에 대응되는 인증된 사용자 아이템 리스트에서 가상 아이템의 식별정보를 삭제함으로써, 사용자가 더이상 가상 아이템을 사용하지 못하도록 할 수 있다. 서버(110)는 사용자의 식별코드에 대응되는 인증된 사용자 아이템 리스트에서 가상 아이템의 식별정보를 삭제하기 전에, 인증된 사용자 아이템 리스트에서 가상 아이템의 식별정보가 삭제될 것임을 나타내는 정보를 사용자 단말기(130)에 전송할 수 있다. 이에 따라 사용자는 자신이 가상 아이템을 사용하지 못하게 될 것임을 명확히 알 수 있다.If the authentication information corresponds to the identification information of the virtual item and is determined to be legitimate, the server 110 may perform step 1832 of deleting the identification information of the virtual item from the list of authenticated user items corresponding to the user's identification code. there is. Since the right to use the virtual item has been transferred from the user to the purchaser, the server 110 deletes the identification information of the virtual item from the list of authenticated user items corresponding to the user's identification code to prevent the user from using the virtual item any longer. can do. Before deleting the identification information of the virtual item from the authenticated user item list corresponding to the user's identification code, the server 110 sends information indicating that the identification information of the virtual item will be deleted from the authenticated user item list to the user terminal 130. ) can be transmitted to. Accordingly, the user can clearly see that he or she will not be able to use the virtual item.

서버(110)가 구매자의 식별코드에 대응되는 인증된 구매자 아이템 리스트에 가상 아이템의 식별정보 및 구매자 단말기(1810)의 식별정보를 저장하는 단계(1833)를 수행할 수 있다. 구매자는 가상 아이템에 대한 정당한 권리를 확보하였으므로, 서버(110)는 구매자 아이템 리스트에 가상 아이템의 식별정보 및 구매자 단말기의 식별정보를 저장함으로써, 구매자 단말기(1810)가 가상 아이템을 사용할 수 있도록 허용할 수 있다.The server 110 may perform step 1833 of storing the identification information of the virtual item and the identification information of the purchaser terminal 1810 in the authenticated purchaser item list corresponding to the purchaser's identification code. Since the buyer has secured a legitimate right to the virtual item, the server 110 stores the identification information of the virtual item and the identification information of the buyer terminal in the buyer item list, thereby allowing the buyer terminal 1810 to use the virtual item. You can.

서버(110)는 구매자의 식별코드에 대응되는 인증된 구매자 아이템 리스트에 대한 정보를 구매자 단말기(1810)로 송신하는 단계(1834)를 수행할 수 있다. 단계(1834)는 단계(1623)와 유사할 수 있다. 따라서 중복되는 설명은 생략한다. 또한 구매자 단말기(1810)가 구매자의 선택에 기초하여 구매자의 식별코드에 대응되는 구매자 아이템 리스트에 포함된 적어도 하나의 아이템 중 적어도 하나를 이용하여 구매자의 가상인물에 대한 정보를 획득하는 단계(1841)를 수행할 수 있다. 단계(1841)는 단계(1631)와 유사할 수 있다. 따라서 중복되는 설명은 생략한다.The server 110 may perform step 1834 of transmitting information about the authenticated buyer item list corresponding to the buyer's identification code to the buyer terminal 1810. Step 1834 may be similar to step 1623. Therefore, redundant explanations are omitted. Additionally, the buyer terminal 1810 acquires information about the buyer's virtual person using at least one item included in the buyer item list corresponding to the buyer's identification code based on the buyer's selection (1841). can be performed. Step 1841 may be similar to step 1631. Therefore, redundant explanations are omitted.

도 19은 본 개시의 일 실시예에 따른 메타버스 시스템의 동작을 나타낸 흐름도이다.Figure 19 is a flowchart showing the operation of the metaverse system according to an embodiment of the present disclosure.

서버(110)가 3차원의 가상공간의 속성을 사용자 단말기(130)로 송신하는 단계(332)는 다음과 같은 과정을 포함할 수 있다. 관리자 단말기(120)가 서버(110)에 사용자 단말기(130)의 식별정보, 사용자의 식별정보, 및 가상공간에 대응되는 실제공간의 매매 또는 임대 계약과 관련된 정보를 송신하는 단계(1911)를 수행할 수 있다. 관리자는 실제공간의 임대업자, 실제공간의 판매자, 또는 실제공간의 중계업자 중 하나일 수 있다. 가상공간에 대응되는 실제공간의 매매 또는 임대 계약과 관련된 정보는 계약일자, 계약 대상의 식별정보, 계약 대상의 가격, 계약의 당사자 및 계약 내용에 대한 정보를 포함할 수 있다. 여기서 계약 대상은 실제공간일 수 있다. 또한 계약 대상의 식별정보는 실제공간의 소재지, 지목, 또는 넓이를 포함할 수 있다. 계약 내용은 임대계약, 또는 매매계약 등을 포함할 수 있다. 계약의 당사자는, 매수자, 매도자, 임대인, 또는 임차인 중 적어도 하나를 포함할 수 있다. 관리자 단말기(120)는 계약을 체결하기 위하여 서버(110)에 계약과 관련된 정보를 송신할 수 있다. 즉, 계약과 관련된 정보는 계약 체결 전에 필요한 다양한 정보를 포함할 수 있다. 이러한 과정을 통하여 관리자 단말기(120)는 계약의 청약을 할 수 있다.Step 332, in which the server 110 transmits the properties of the three-dimensional virtual space to the user terminal 130, may include the following process. The administrator terminal 120 performs a step (1911) of transmitting to the server 110 the identification information of the user terminal 130, the user's identification information, and information related to the sale or rental contract of a real space corresponding to the virtual space. can do. The manager may be one of a real space lessor, a real space seller, or a real space broker. Information related to a sales or rental contract of a real space corresponding to a virtual space may include the contract date, identification information of the contract subject, price of the contract subject, information on the parties to the contract and contract contents. Here, the subject of the contract may be actual space. Additionally, the identification information of the contract subject may include the location, land area, or area of the actual space. The content of the contract may include a lease contract or a sales contract. The parties to the contract may include at least one of the buyer, seller, lessor, or lessee. The administrator terminal 120 may transmit contract-related information to the server 110 in order to conclude a contract. In other words, information related to a contract may include various information required before concluding a contract. Through this process, the manager terminal 120 can subscribe to a contract.

서버(110)는 사용자 단말기(130)에게 실제공간의 매매 또는 임대 계약과 관련된 정보를 송신하는 단계(1921)를 수행할 수 있다. 서버(110)는 가상공간에 대응되는 실제공간의 매매 또는 임대 계약과 관련된 정보를 저장할 수 있다. 본 개시의 메타버스 시스템은 서버(110)를 통하여 관리자 단말기(120)가 사용자 단말기(130)로 계약과 관련된 정보를 전송하여야 하므로 계약 내용의 변조 가능성을 줄일 수 있다.The server 110 may perform a step 1921 of transmitting information related to the sale or rental contract of a real space to the user terminal 130. The server 110 may store information related to a sales or rental contract of a real space corresponding to a virtual space. The metaverse system of the present disclosure requires the administrator terminal 120 to transmit contract-related information to the user terminal 130 through the server 110, thereby reducing the possibility of falsification of contract contents.

사용자 단말기(130)는 실제공간의 매매 또는 임대 계약과 관련된 정보에 대한 승낙 정보 및 사용자 단말기의 식별정보 및 사용자의 식별정보를 서버(110)로 송신하는 단계(1931)를 수행할 수 있다. 즉 사용자는 사용자 단말기(130)를 통하여 계약의 승낙을 할 수 있다.The user terminal 130 may perform a step 1931 of transmitting consent information for information related to a sales or rental contract of a real space, identification information of the user terminal, and user identification information to the server 110. That is, the user can accept the contract through the user terminal 130.

서버(110)는 승낙 정보를 수신한 경우, 관리자 단말기(120)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보가 사용자 단말기(130)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보와 동일한지 결정하는 단계(1941)를 수행할 수 있다. 사용자는 관리자 단말기(120)에도 사용자의 식별정보 및 단말기의 식별정보를 입력할 수 있다. 즉, 사용자와 관리자는 같은 공간에 있어야 할 수 있다. 서버(110)는 관리자 단말기(120)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보가 사용자 단말기(130)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보와 동일한 경우, 승낙 정보가 정당한 것임을 결정할 수 있다. 서버(110)는 관리자 단말기(120)로부터는 관리자 단말기의 식별정보 및 관리자 식별정보를 수신하여 저장하고, 사용자 단말기(130)로부터 사용자 단말기의 식별정보 및 사용자 식별정보를 수신하여 저장할 수 있다.When the server 110 receives consent information, the identification information of the user terminal and the user's identification information received from the administrator terminal 120 are combined with the identification information of the user terminal and the user's identification information received from the user terminal 130. A step 1941 of determining whether they are identical may be performed. The user can also input the user's identification information and terminal's identification information into the administrator terminal 120. That is, users and administrators may need to be in the same space. If the identification information of the user terminal and the user's identification information received from the administrator terminal 120 are the same as the identification information of the user terminal and the user's identification information received from the user terminal 130, the server 110 determines that the consent information is legitimate. You can decide that it is. The server 110 may receive and store the identification information of the administrator terminal and the administrator identification information from the administrator terminal 120, and may receive and store the identification information of the user terminal and the user identification information from the user terminal 130.

하지만 이에 한정되는 것은 아니다. 서버(110)는 승낙 정보를 수신하고, 관리자 단말기(120)로부터는 관리자 단말기의 식별정보 및 관리자 식별정보를 수신하여 저장하고, 사용자 단말기(130)로부터 사용자 단말기의 식별정보 및 사용자 식별정보를 수신하여 저장할 수 있다. 서버(110)는 별다른 확인 없이 승낙 정보가 정당한 것이라고 결정할 수 있다.However, it is not limited to this. The server 110 receives consent information, receives and stores identification information of the administrator terminal and administrator identification information from the administrator terminal 120, and receives identification information of the user terminal and user identification information from the user terminal 130. You can save it. The server 110 may determine that the acceptance information is legitimate without any confirmation.

관리자 단말기(120)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보가 사용자 단말기(130)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보와 동일한 경우, 서버(110)는 사용자 단말기(130)로 3차원의 가상공간에 대한 정보를 송신하는 단계(1942)를 수행할 수 있다. 따라서 사용자는 사용자 단말기(130)를 이용하여 가상공간을 이용할 수 있다. 사용자가 가상인물을 이용하여 가상공간을 돌아다니는 것은 단계(410)에서 이미 설명한 바 있으므로 중복되는 설명은 생략한다. 또한 서버는 관리자 단말기(120)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보가 사용자 단말기(130)로부터 수신한 사용자 단말기의 식별정보 및 사용자의 식별정보와 동일한지 여부에 관계없이, 사용자 단말기로부터 승낙 정보를 수신한 경우, 사용자 단말기(130)로 3차원의 가상공간에 대한 정보를 사용자 단말기로 송신하는 단계(1942)를 수행할 수 있다.If the identification information of the user terminal and the user's identification information received from the administrator terminal 120 are the same as the identification information of the user terminal and the user's identification information received from the user terminal 130, the server 110 ), the step 1942 of transmitting information about the three-dimensional virtual space can be performed. Therefore, the user can use the virtual space using the user terminal 130. Since the user's movement around the virtual space using the virtual character has already been described in step 410, redundant description will be omitted. In addition, regardless of whether the identification information of the user terminal and the user's identification information received from the administrator terminal 120 are the same as the identification information of the user terminal and the user's identification information received from the user terminal 130, the server When acceptance information is received from the user terminal 130, a step 1942 of transmitting information about the three-dimensional virtual space to the user terminal 130 may be performed.

서버(110)가 승낙 정보를 수신한 경우, 가상공간에 대응되는 실제공간의 매매 또는 임대 계약과 관련된 정보 및 사용자 식별정보, 사용자 단말기의 식별정보, 관리자 식별정보 및 관리자 단말기의 식별정보 중 적어도 하나는 서버(110)의 수정불가한 저장소에 저장될 수 있다. 저장소는 IPFS(Inter-Planetary File System)일 수 있다. 서버는 실제공간의 매매 또는 임대 계약과 관련된 정보에 2개의 NFT(Non Fungible Token)를 발행할 수 있다. 발행된 NFT는 각각 관리자 단말기 및 사용자 단말기에 송신될 수 있다. 관리자 단말기(120) 및 사용자 단말기(130)는 NFT의 해시값에 의하여 IPFS에 저장된 실제공간의 매매 또는 임대 계약과 관련된 정보에 접근할 수 있으나, 계약 내용을 임의로 변경하지 못할 수 있다. 따라서 계약 내용의 변조가능성이 크게 줄어들 수 있다.When the server 110 receives consent information, at least one of information related to the sale or rental contract of a real space corresponding to the virtual space, user identification information, user terminal identification information, administrator identification information, and administrator terminal identification information May be stored in an unmodifiable storage of the server 110. The storage may be IPFS (Inter-Planetary File System). The server can issue two NFTs (Non Fungible Tokens) for information related to the sale or rental contract of real space. The issued NFT can be transmitted to the administrator terminal and user terminal, respectively. The administrator terminal 120 and the user terminal 130 can access information related to the sale or rental contract of real space stored in IPFS using the hash value of the NFT, but may not arbitrarily change the contract details. Therefore, the possibility of falsification of contract contents can be greatly reduced.

이미 설명한 바와 같이, 서버(110)는 사용자 단말기(130)로 3차원의 가상공간에 대한 정보를 사용자 단말기로 송신하는 단계(1942)를 수행할 수 있다. 그 이후, 사용자는 사용자 단말기(130)를 이용하여 가상공간 내에서 가상인물을 조작할 수 있다. 또한 사용자는 사용자 단말기(130)를 이용하여 가상공간 내의 다른 사용자들과 소통을 할 수 있다. 다른 사용자들 역시 위와 같은 과정을 통하여 3차원 가상공간에 대한 정보를 서버로부터 수신한 사용자들일 수 있다.As already described, the server 110 may perform step 1942 of transmitting information about the three-dimensional virtual space to the user terminal 130. After that, the user can manipulate the virtual character in the virtual space using the user terminal 130. Additionally, the user can communicate with other users in the virtual space using the user terminal 130. Other users may also be users who received information about the 3D virtual space from the server through the above process.

보다 구체적으로, 우리나라의 아파트 청약 시스템에서 사용자가 아파트를 분양 받은 후 아파트가 지어지기까지 아파트의 삶을 전혀 체험해볼 수 없다. 하지만 본 개시에 따른 메타버스 시스템은 가상공간에 지어질 아파트 단지를 구현해 놓을 수 있다. 따라서 아파트를 분양받은 사용자들은 가상공간의 아파트를 돌아다니면서 실제 아파트에서의 삶을 즐겨볼 수 있다. 즉, 본 개시의 메타버스 시스템은 입주 전에는 사용자들이 아파트 단지를 미리 체험하는 가상공간을 마련하며, 가상공간은 입주 전의 상황과 관련된 다양한 정보를 제공하기 위한 공간으로 활용될 수 있다. 예를 들어 본 개시의 메타버스 시스템은 사용자들에게 공사 진척 상황을 알려주거나 중도금, 잔금 납입 방법, 납입일 등을 알려줄 수 있다. 또한 본 개시의 메타버스 시스템은 가상공간의 아파트의 커뮤니티로 활용될 수 있다. 입주민들은 메타버스를 이용하여 가상공간에서 다양한 친목활동을 할 수 있으며, 온라인 서비스를 제공받을 수 있다.More specifically, in Korea's apartment subscription system, users cannot experience life in an apartment at all after receiving it and until the apartment is built. However, the metaverse system according to the present disclosure can implement an apartment complex to be built in virtual space. Therefore, users who have purchased an apartment can enjoy life in a real apartment while moving around the apartment in virtual space. In other words, the metaverse system of the present disclosure provides a virtual space where users can experience the apartment complex in advance before moving in, and the virtual space can be used as a space to provide various information related to the situation before moving in. For example, the Metaverse system of the present disclosure can inform users of construction progress, or inform them of the intermediate payment, the method of paying the balance, the payment date, etc. Additionally, the metaverse system of the present disclosure can be used as a community of apartments in virtual space. Residents can use Metaverse to engage in various social activities in virtual space and receive online services.

사용자 단말기(130)는 로그 정보를 획득하는 단계(420)를 수행할 수 있다. 보다 구체적으로, 사용자 단말기(130)는 사용자 단말기(130)의 디스플레이(1210)의 해상도를 획득하는 단계를 수행할 수 있다. 디스플레이의 해상도는 메모리에 미리 저장되어 있을 수 있다. 사용자 단말기(130)는 디스플레이의 해상도에 기초하여 디스플레이의 미리 정해진 일부 영역을 관심 영역(1220)으로 설정하는 단계를 수행할 수 있다. 사용자 단말기(130)는 관심 영역 내에 미리 정해진 임계 시간 이상 표시된 가상 오브젝트의 식별정보를 포함하는 관심 가상 오브젝트 정보를 로그 정보에 포함시키는 단계를 수행할 수 있다. 여기서 임계 시간은 10초 이상의 값을 가질 수 있다. 적어도 일정 시간 이상 가상 오브젝트를 화면의 가운데에 위치시켰다는 것은, 사용자가 가상 오브젝트에 관심을 표현하였다는 것을 나타낼 수 있다. 따라서 사용자 단말기(130)는 로그 정보에 관심 영역에 임계 시간 이상 표시된 가상 오브젝트의 식별정보를 포함할 수 있다. 사용자 단말기(130) 또는 서버(110)는 추후 로그 정보를 빅데이터로 이용하여 사용자에 따라 선호하는 가상 오브젝트를 도출할 수 있다. 따라서 사용자 단말기(130) 또는 서버(110)는 사용자 맞춤형 가상 오브젝트를 제공할 수 있다.The user terminal 130 may perform step 420 of acquiring log information. More specifically, the user terminal 130 may perform a step of obtaining the resolution of the display 1210 of the user terminal 130. The resolution of the display may be pre-stored in memory. The user terminal 130 may perform the step of setting a predetermined area of the display as the area of interest 1220 based on the resolution of the display. The user terminal 130 may perform a step of including virtual object of interest information including identification information of a virtual object displayed within the area of interest for more than a predetermined threshold time in log information. Here, the threshold time may have a value of 10 seconds or more. Placing a virtual object in the center of the screen for at least a certain period of time may indicate that the user has expressed interest in the virtual object. Accordingly, the user terminal 130 may include identification information of the virtual object displayed in the area of interest for more than a threshold time in the log information. The user terminal 130 or the server 110 may later use the log information as big data to derive a preferred virtual object according to the user. Accordingly, the user terminal 130 or the server 110 can provide a user-customized virtual object.

사용자 단말기(130)는 가상인물이 상호작용한 가상 오브젝트 및 상호작용의 내용을 포함하는 관심 가상 오브젝트 정보를 로그 정보에 포함시키는 단계를 수행할 수 있다. 가상인물과 가상 오브젝트의 상호작용은 미리 정해져 있을 수 있다. 예를 들어, 미리 정해진 상호작용은 가상인물의 자세를 변형하거나, 가상 오브젝트의 위치, 색 또는 형태를 변형할 수 있다. 예를 들어 가상 오브젝트가 의자라면 가상인물은 가상 오브젝트에 앉는 상호작용을 할 수 있다. 가상인물은 가상 오브젝트에 앉는 동작을 취할 수 있다. 또한 가상 오브젝트가 전등이라면, 가상인물은 전등을 켜거나 끄는 동작을 취할 수 있다. 가상 오브젝트는 가상인물의 동작에 대응하여 불이 켜지거나 꺼질 수 있다. 가상 오브젝트가 시소라면, 가상인물은 가상 오브젝트에 앉는 상호작용을 할 수 있으며, 가상 오브젝트인 시소는 가상인물이 앉는 동작에 대응하여 움직일 수 있다. 미리 정해진 상호작용은 식별정보가 부여되어 있을 수 있다. 사용자 단말기(130)는 가상인물이 상호작용한 가상 오브젝트의 식별정보 및 상호작용의 식별정보를 관심 가상 오브젝트 정보에 포함시킬 수 있다.The user terminal 130 may perform a step of including virtual object information of interest, including the virtual object with which the virtual person interacted and the content of the interaction, in the log information. The interaction between virtual characters and virtual objects may be predetermined. For example, a predetermined interaction may change the posture of a virtual character or change the position, color, or shape of a virtual object. For example, if the virtual object is a chair, the virtual person can interact by sitting on the virtual object. The virtual character can make the motion of sitting on the virtual object. Additionally, if the virtual object is a light, the virtual person can take actions to turn the light on or off. Virtual objects can turn on or off in response to the virtual person's movements. If the virtual object is a seesaw, the virtual person can interact by sitting on the virtual object, and the virtual object, the seesaw, can move in response to the virtual person's sitting motion. Predetermined interactions may be assigned identification information. The user terminal 130 may include identification information of the virtual object with which the virtual person interacted and identification information of the interaction in the virtual object information of interest.

사용자 단말기(130)는 가상인물이 다른 사용자들의 가상인물들 또는 NPC(non-player character)와 대화한 내용을 로그 정보에 포함시키는 단계를 수행할 수 있다. 대화의 내용에는 가상공간에서 개선되면 하는 점 또는 관심 가상 오브젝트에 대한 내용이 포함되어 있을 수 있다. 만약 가상공간이 입주 전의 아파트단지인 경우, 분양을 받은 사용자들은 본 개시의 메타버스 시스템이 제공하는 가상공간에서 아파트 입주 후의 삶을 체험해볼 수 있다. 또한 가상공간에서 아파트 단지의 상가공간은 프로모션차원에서 입주민들이 쿠폰을 수신할 수 있는 공간으로 활용될 수 있다. 예를 들어 사용자는 사용자 단말기(130)를 이용하여 가상공간의 특정 공간으로 이동할 수 있다. 특정 공간은 서버(110)가 지정한 위치의 공간일 수 있다. 특정 공간은 상가공간에 포함될 수 있다. 서버(110)는 상가공간에 있는 가상인물들에게 쿠폰을 발급할 수 있다. 쿠폰은 일련번호, QR코드 또는 바코드를 포함할 수 있다. 사용자는 메타버스에서 수신한 쿠폰을 현실의 매장에서 이용할 수 있다. 또한 쿠폰은 디지털 할인권일 수 있다. 사용자 단말기(130)는 쿠폰을 서버(110)에 송신할 수 있다. 서버(110)는 쿠폰에 대응하는 적어도 하나의 가상 아이템을 사용자 단말기(130)에 표시하도록 제어할 수 있다. 사용자는 사용자 단말기(130)를 이용하여 적어도 하나의 가상 아이템 중 하나를 선택할 수 있다. 서버(110)는 사용자의 선택에 대응하여 선택된 가상 아이템의 식별정보 및 사용자 단말기의 식별정보를 사용자 아이템 리스트에 저장할 수 있다. 위와 같은 과정을 통하여 메타버스 시스템은 가상인물들이 가상공간에서 이곳 저곳을 돌아다니도록 유도할 수 있다.The user terminal 130 may perform a step of including the contents of the virtual character's conversation with other users' virtual characters or NPC (non-player character) in the log information. The content of the conversation may include things that need to be improved in the virtual space or content about virtual objects of interest. If the virtual space is an apartment complex before moving in, users who have received the apartment can experience life after moving into the apartment in the virtual space provided by the metaverse system of this disclosure. Additionally, in virtual space, the commercial space of an apartment complex can be used as a space where residents can receive coupons for promotional purposes. For example, a user can move to a specific space in virtual space using the user terminal 130. The specific space may be a space at a location designated by the server 110. Specific spaces may be included in commercial space. The server 110 can issue coupons to virtual people in the commercial space. Coupons may include a serial number, QR code, or barcode. Users can use coupons received from Metaverse at real stores. Additionally, a coupon may be a digital discount coupon. The user terminal 130 may transmit the coupon to the server 110. The server 110 may control the user terminal 130 to display at least one virtual item corresponding to the coupon. The user may select one of at least one virtual item using the user terminal 130. The server 110 may store the identification information of the selected virtual item and the user terminal in the user item list in response to the user's selection. Through the above process, the metaverse system can induce virtual characters to move around in virtual space.

서버(110)는 가상인물들의 동선을 누적하여 저장할 수 있다. 서버(110)는 가상인물들의 동선 중 미리 설계된 도로 미리 정해진 거리 이상 떨어진 동선이 있는 경우, 해당 동선을 관리자 단말기(120)로 송신할 수 있다. 관리자 단말기(120)는 해당 동선을 디스플레이에 표시할 수 있다. 가상인물들의 동선 중 미리 설계된 도로 미리 정해진 거리 이상 떨어진 동선들은 사용자들이 일 지점에서 다른 지점으로 갈 때, 최적의 경로일 수 있다. 하지만 해당 동선에 도로가 설계되지 않은 경우, 현실에서 거주민의 불편을 초래할 수도 있다. 관리자는 해당 동선에 도로 설계가 필요한지 여부를 결정할 수 있다.The server 110 may accumulate and store the movements of virtual characters. If there is a route among the virtual characters' movements that is more than a predetermined distance from a pre-designed road, the server 110 may transmit the movement route to the administrator terminal 120. The administrator terminal 120 can display the corresponding route on the display. Among the virtual characters' movements, those that are more than a predetermined distance from a pre-designed road may be the optimal route for users when going from one point to another. However, if the road is not designed along the route, it may cause inconvenience to residents in reality. Managers can decide whether a road design is needed for the route in question.

서버(110)는 로그 정보에 기초하여, 복수의 사용자들이 가상공간에서 자주 들리는 혼잡 위치에 대한 정보를 결정하는 단계를 수행할 수 있다. 이미 설명한 바와 같이 로그 정보는 사용자의 위치를 주기적으로 획득할 수 있다. 서버(110)는 동일 시간에 가상인물의 분포를 획득할 수 있다. 서버(110)는 가상인물의 분포에 기초하여 시간에 따른 혼잡 위치를 결정할 수 있다. 예를 들어 일 시점에 임계숫자 이상의 가상인물들이 일 위치의 주변에 몰려 있다면, 일 위치는 일 시점에 혼잡하다고 결정할 수 있다. 또한 일 시점에 임계숫자 미만의 가상인물들이 일 위치의 주변에 있다면, 일 위치는 일 시점에 혼잡하지 않다고 결정할 수 있다.The server 110 may perform a step of determining information about a crowded location that a plurality of users frequently hear in a virtual space, based on log information. As already explained, log information can periodically obtain the user's location. The server 110 can obtain the distribution of virtual characters at the same time. The server 110 may determine the location of congestion over time based on the distribution of virtual people. For example, if more than a critical number of virtual people are gathered around a location at a certain point in time, the location may be determined to be crowded at that point in time. Additionally, if there are less than a critical number of virtual people around a location at a point in time, it may be determined that the location is not crowded at a point in time.

서버(110)는 혼잡 위치에 대응하는 실제공간의 위치로부터 가까울 수록 상가의 임대료 또는 매매가를 높게 결정하는 단계를 수행할 수 있다. 즉, 가상공간에서 가상인물들의 패턴에 기초하여 현실의 사용자들의 패턴을 시뮬레이션해볼 수 있으며, 이를 통하여 혼잡도가 높을 것으로 예측된 위치 주변의 임대료 또는 매매가를 높게 결정할 수 있다. 따라서 상가 분양가의 현실화를 이룰 수 있다.The server 110 may perform a step of determining the rent or sale price of a commercial building to be higher the closer it is to the location of the actual space corresponding to the crowded location. In other words, the patterns of real users can be simulated based on the patterns of virtual people in virtual space, and through this, the rent or sale price around locations predicted to be highly crowded can be determined to be high. Therefore, the commercial sale price can be realized.

서버(110)는 로그 정보에 포함된 관심 가상 오브젝트 정보에 기초하여 복수의 사용자들이 자주 이용하는 가상 오브젝트를 결정하는 단계를 수행할 수 있다. 관심 가상 오브젝트 정보는 이미 설명하였으므로 중복되는 설명은 생략한다. 관심 가상 오브젝트 정보는 복수의 가상인물에 대하여 획득될 수 있다. 서버(110)는 복수의 가상인물의 관심 가상 오브젝트 정보를 획득하여, 가장 관심이 높거나 자주 이용하는 가상 오브젝트 정보를 결정할 수 있다. 또한, 서버(110)는 자주 이용하는 가상 오브젝트를 관리자 단말기(120)에 송신하는 단계를 수행할 수 있다. 가상공간이 현실에서 아직 공사 중이라면, 관리자는 자주 이용하는 가상 오브젝트를 현실에서 구현할 수 있다. 예를 들어 가상인물이 특정 위치의 벤치에 앉아 있는 경우가 많다면, 현실의 해당 위치에 벤치의 개수를 늘릴 수 있다. 또한 가상공간에서 다양한 디자인의 벤치 중 하나의 디자인에 대한 선호도가 높다면, 현실에서 선호도가 높은 벤치로 단지 내의 벤치를 구현할 수 있다.The server 110 may determine a virtual object frequently used by a plurality of users based on virtual object information of interest included in the log information. Since the virtual object information of interest has already been described, redundant description will be omitted. Virtual object information of interest may be obtained for a plurality of virtual characters. The server 110 may obtain virtual object information of interest for a plurality of virtual characters and determine the virtual object information of the highest interest or frequently used. Additionally, the server 110 may perform a step of transmitting a frequently used virtual object to the manager terminal 120. If the virtual space is still under construction in reality, administrators can implement frequently used virtual objects in reality. For example, if a virtual person often sits on a bench in a specific location, the number of benches in that location in real life can be increased. Additionally, if you have a high preference for one design among the various bench designs in the virtual space, you can implement a bench in the complex with the bench with the highest preference in reality.

사용자 단말기(130)는 서버(110)에 저장된 복수의 후보 가상 오브젝트에 포함된 구매 오브젝트에 대한 구매 신호, 사용자의 식별정보, 및 사용자 단말기의 식별정보를 서버(110)로 송신하는 단계를 수행할 수 있다. 구매 오브젝트에 대한 구매 신호는 구매 오브젝트에 대한 식별정보를 포함할 수 있다.The user terminal 130 performs a step of transmitting a purchase signal for a purchase object included in a plurality of candidate virtual objects stored in the server 110, the user's identification information, and the user terminal's identification information to the server 110. You can. A purchase signal for a purchase object may include identification information for the purchase object.

서버(110)는 구매 신호가 정당한 것인지 여부를 결정하는 단계를 수행할 수 있다. 예를 들어, 서버(110), 사용자 단말기(130), 및 관리자 단말기(120)는 구매 오브젝트에 대한 구매 신호에 대한 송수신내역정보에 기초하여 해시값을 각각 도출하는 단계를 수행할 수 있다. 서버(110), 사용자 단말기(130), 및 관리자 단말기(120)는 구매 오브젝트에 대한 구매 신호의 송수신내역정보를 해싱알고리즘에 의해 가공처리하여 해시값을 생성할 수 있다. 서버(110), 사용자 단말기(130), 및 관리자 단말기(120)의 해시값이 상호 일치하면, 서버(110)는 구매 신호가 정당한 것으로 결정할 수 있다. 또한 사용자 단말기(130)는 구매 오브젝트에 대한 구매 신호에 대한 결제정보를 서버(110)로 송신하는 단계를 수행할 수 있다.Server 110 may perform steps to determine whether the purchase signal is legitimate. For example, the server 110, the user terminal 130, and the administrator terminal 120 may each perform a step of deriving a hash value based on transmission/reception history information about a purchase signal for a purchase object. The server 110, the user terminal 130, and the administrator terminal 120 can generate a hash value by processing the transmission/reception history information of the purchase signal for the purchase object using a hashing algorithm. If the hash values of the server 110, the user terminal 130, and the administrator terminal 120 match each other, the server 110 may determine that the purchase signal is legitimate. Additionally, the user terminal 130 may transmit payment information for a purchase signal for a purchase object to the server 110.

오브젝트에 대한 구매 신호가 정당한 것으로 결정된 경우, 서버(110)는 사용자의 식별정보에 대응되는 사용자 오브젝트 리스트에 구매 오브젝트의 식별정보 및 사용자 단말기(130)의 식별정보를 저장하는 단계를 수행할 수 있다. 따라서 사용자는 구매 오브젝트를 전자적으로 소유할 수 있다. If the purchase signal for the object is determined to be legitimate, the server 110 may perform a step of storing the identification information of the purchase object and the identification information of the user terminal 130 in the user object list corresponding to the user's identification information. . Therefore, the user can take possession of the purchase object electronically.

구매 신호가 정당한 것으로 결정된 경우, 구매 오브젝트의 속성에 포함된 구매 오브젝트의 기한까지 서버가 구매 오브젝트를 활성화하는 단계를 포함할 수 있다. 즉, 구매 오브젝트에는 기한이 있을 수 있다. 기한은 무한대일 수도 있다. 하지만 기한은 유한일 수 있다. 서버(110)는 기한이 도과한 경우, 사용자 오브젝트 리스트에서 구매 오브젝트의 식별정보를 삭제할 수 있다. 또한 서버(110)는 구매 오브젝트를 관심 가상 오브젝트로 결정할 수 있다. 서버(110)는 관심 가상 오브젝트를 로그 정보로 저장할 수 있다. 또한 서버(110)는 관심 가상 오브젝트를 선호도가 높은 가상 오브젝트로 결정할 수 있다. 서버(1100는 관심 가상 오브젝트를 관리자 단말기(120)로 송신하여, 관리자가 현실세계에 관심 가상 오브젝트에 대응되는 실제 오브젝트를 구현하도록 할 수 있다.If the purchase signal is determined to be legitimate, the server may include activating the purchase object by the deadline of the purchase object included in the properties of the purchase object. In other words, a purchase object may have a deadline. The deadline may be infinite. However, the deadline may be finite. If the deadline has expired, the server 110 may delete the identification information of the purchase object from the user object list. Additionally, the server 110 may determine the purchase object as a virtual object of interest. The server 110 may store virtual objects of interest as log information. Additionally, the server 110 may determine the virtual object of interest as a virtual object with high preference. The server 1100 may transmit the virtual object of interest to the manager terminal 120, allowing the manager to implement a real object corresponding to the virtual object of interest in the real world.

사용자 단말기(130)는 디스플레이에 가상인물, 가상공간 및 가상 오브젝트 중 적어도 하나를 표시하는 단계(332)를 수행할 수 있다. 이 때, 사용자 단말기(130)는 활성화된 구매 오브젝트를 표시하는 단계를 수행할 수 있다. 즉, 사용자가 구매한 가상 오브젝트는 가상공간에 표시될 수 있다. 반대로 사용자가 구매하지 않은 가상 오브젝트는 가상공간에 표시되지 않거나 반투명한 윤곽만 표시될 수 있다. The user terminal 130 may perform step 332 of displaying at least one of a virtual person, a virtual space, and a virtual object on the display. At this time, the user terminal 130 may perform a step of displaying the activated purchase object. In other words, the virtual object purchased by the user can be displayed in virtual space. Conversely, virtual objects that the user has not purchased may not be displayed in virtual space or may only display a translucent outline.

보다 구체적으로, 구매 오브젝트는 사찰의 기왓장 형상의 가상 오브젝트일 수 있다. 위와 같은 과정에 의하여 사용자가 기왓장을 구매한 경우, 가상공간의 사찰건물의 일부로써, 사용자가 구매한 기왓장이 가상 오브젝트로써, 표시될 수 있다. 사용자 또는 다른 사용자들이 자신의 단말기를 이용하여 가상 오브젝트인 기왓장을 클릭(터치)하는 경우, 해당 가상 오브젝트의 구매자 정보가 디스플레이에 표시될 수 있다. 예를 들어 구매자 정보는 구매자의 성명 및 소원메시지일 수 있다. 이를 통하여 사용자들이 가상 오브젝트인 기왓장을 구매할 수록 가상공간의 사찰건물이 완성되어갈 수 있다. 따라서 사용자들의 참여를 유도할 수 있다. 또한 사용자가는 자신의 기여로 가상의 공간에 건물이 완성되어 가는 과정을 봄으로써, 성취감을 느낄 수 있으며, 다른 사용자가 자신의 기여를 확인할 수 있으므로 만족감을 느낄 수 있다.More specifically, the purchase object may be a virtual object in the shape of a temple tile. When a user purchases roof tiles through the above process, the roof tiles purchased by the user may be displayed as a virtual object as part of a temple building in virtual space. When a user or other users click (touch) a tile that is a virtual object using their terminal, buyer information of the virtual object may be displayed on the display. For example, buyer information may be the buyer's name and wish message. Through this, as users purchase tiles, which are virtual objects, the temple building in virtual space can be completed. Therefore, it can encourage user participation. Additionally, users can feel a sense of accomplishment by seeing the process of building a building being completed in a virtual space through their contributions, and can feel satisfied because other users can confirm their contributions.

또한, 구매 오브젝트는 사찰의 기왓장 형상의 가상 오브젝트일 수 있다. 위와 같은 과정에 의하여 사용자가 기왓장을 구매한 경우, 가상공간의 사찰건물의 일부로써, 사용자가 구매한 기왓장이 가상 오브젝트로써, 표시될 수 있다. 사용자 또는 다른 사용자들이 자신의 단말기를 이용하여 가상 오브젝트인 기왓장을 클릭(터치)하는 경우, 해당 가상 오브젝트의 구매자 정보가 디스플레이에 표시될 수 있다. 예를 들어 구매자 정보는 구매자의 성명 및 소원메시지일 수 있다. 이를 통하여 사용자들이 가상 오브젝트인 기왓장을 구매할 수록 가상공간의 사찰건물이 완성되어갈 수 있다. 따라서 사용자들의 참여를 유도할 수 있다.Additionally, the purchase object may be a virtual object in the shape of a temple tile. When a user purchases roof tiles through the above process, the roof tiles purchased by the user may be displayed as a virtual object as part of a temple building in virtual space. When a user or other users click (touch) a tile that is a virtual object using their terminal, buyer information of the virtual object may be displayed on the display. For example, buyer information may be the buyer's name and wish message. Through this, as users purchase tiles, which are virtual objects, the temple building in virtual space can be completed. Therefore, it can encourage user participation.

위에서는 가상 오브젝트를 기준으로 설명하였으나, 가상공간에 대해서도 동일한 설명이 가능할 수 있다. 보다 구체적으로 사용자 단말기(130)는 서버(110)에 저장된 복수의 후보 가상공간에 포함된 구매 공간에 대한 구매 신호, 사용자의 식별정보, 및 사용자 단말기의 식별정보를 서버(110)로 송신하는 단계를 수행할 수 있다. 구매 공간에 대한 구매 신호는 구매 공간에 대한 식별정보를 포함할 수 있다. 사용자가 구매 공간을 구매한 경우, 서버(110)는 사용자 단말기(130)가 구매 공간을 표시하도록 제어할 수 있다. 서버(110)는 가상공간에서 가상인물이 이동하도록 제어할 수 있다. 또한 사용자 단말기(130)는 사용자 오브젝트 리스트에 포함된 적어도 하나의 오브젝트를 구매 공간에 배치하도록 제어할 수 있다.The above explanation was based on virtual objects, but the same explanation may be possible for virtual space. More specifically, the user terminal 130 transmits a purchase signal for a purchase space included in a plurality of candidate virtual spaces stored in the server 110, the user's identification information, and the user terminal's identification information to the server 110. can be performed. The purchase signal for the purchase space may include identification information for the purchase space. When a user purchases a purchased space, the server 110 can control the user terminal 130 to display the purchased space. The server 110 can control the movement of virtual characters in virtual space. Additionally, the user terminal 130 may control placement of at least one object included in the user object list into the purchase space.

한편, 본 개시의 일 실시예에 따르면, 서버(110) 또는 사용자 단말기(130)는 레이 트레이싱 장치를 포함할 수 있으며, 이에 따라 레이 트레이싱 기법을 활용한 렌더링이 수행될 수 있다. 즉, 가상공간에 배치되는 오브젝트를 표시할 때, 광원으로부터 해당 오브젝트를 거쳐 사용자의 시점까지 도달하는 빛의 경로를 추적하여 색상을 결정함으로써 보다 현실감 있는 가상공간을 구현할 수 있다.Meanwhile, according to an embodiment of the present disclosure, the server 110 or the user terminal 130 may include a ray tracing device, and rendering using the ray tracing technique may be performed accordingly. In other words, when displaying an object placed in a virtual space, a more realistic virtual space can be realized by determining the color by tracing the path of light from the light source through the object to the user's viewpoint.

이하, 첨부된 도 22 내지 30을 활용하여 본 개시의 레이 트레이싱 장치 및 레이 트레이싱 기반 렌더링 방법에 대한 일 실시예를 상세히 설명하도록 한다.Hereinafter, an embodiment of the ray tracing device and ray tracing-based rendering method of the present disclosure will be described in detail using the attached FIGS. 22 to 30.

도 22는 레이 트레이싱을 설명하기 위한 개념도이다.Figure 22 is a conceptual diagram for explaining ray tracing.

도 22를 참조하면, 가상공간 모델링에서 레이 트레이싱 장치는 3차원 영상을 생성하기 위해 시점(2210)을 결정할 수 있다. 시점(2210)의 위치는 메타버스 시스템(100)이 포함하는 미리 정해진 위치에서 미리 정해진 방향을 촬영하도록 설치된 카메라에 대응될 수 있다. 또한, 시점(2210)의 위치 및 방향은 사용자 단말기(130)를 통한 사용자의 입력에 따라 프레임 별로 달리 설정될 수 있다.Referring to FIG. 22, in virtual space modeling, a ray tracing device can determine a viewpoint 2210 to generate a 3D image. The location of the viewpoint 2210 may correspond to a camera installed to take pictures in a predetermined direction at a predetermined location included in the metaverse system 100. Additionally, the position and direction of the viewpoint 2210 may be set differently for each frame according to the user's input through the user terminal 130.

레이 트레이싱 장치는 시점(2210)이 결정되면 결정된 시점(2210)에 따라 디스플레이의 화면(2220)을 결정할 수 있으며 시점(2210)으로부터 화면(2220)의 각 픽셀 별로 투사되는 각각의 레이(ray)를 생성할 수 있다. 예를 들어, 도 22에 도시된 바와 같이, 디스플레이의 해상도가 9*8인 경우 72개의 픽셀에 대한 레이를 각각 생성할 수 있다. 이하에서는 하나의 픽셀을 표현하는 레이에 대하여 설명하도록 하며, 화면(2220)을 구성하는 다른 픽셀에 대하여도 동일한 원리가 적용된다.When the viewpoint 2210 is determined, the ray tracing device can determine the screen 2220 of the display according to the determined viewpoint 2210, and each ray projected for each pixel of the screen 2220 from the viewpoint 2210. can be created. For example, as shown in FIG. 22, when the resolution of the display is 9*8, rays for 72 pixels can be generated respectively. Hereinafter, a ray representing one pixel will be described, and the same principle applies to other pixels constituting the screen 2220.

먼저, 시점(2210)으로부터 1차 레이(primary ray, 2240)가 생성된다. 1차 레이(2240)는 화면(2220)을 통과하여 특정 객체(2230)와 교차된다. 여기서 객체는 가상공간에 포함되는 오브젝트이거나 오브젝트를 구성하는 가장 기본적인 단위 영역인 프리미티브(primitive)일 수 있다. 예를 들어, 프리미티브는 삼각형, 사각형을 포함하는 다각형의 형태일 수 있다. 즉, 오브젝트는 프리미티브의 집합으로 구성되며 프리미티브는 렌더링 처리의 가장 기본적인 단위가 될 수 있다.First, a primary ray (2240) is generated from the viewpoint 2210. The first ray 2240 passes through the screen 2220 and intersects a specific object 2230. Here, the object may be an object included in the virtual space or a primitive, which is the most basic unit area that constitutes the object. For example, a primitive may be in the form of a polygon including triangles and squares. In other words, an object is composed of a set of primitives, and a primitive can be the most basic unit of rendering processing.

1차 레이(2240)가 객체(2230)와 교차하는 교차점(hit point)에서는 반사 레이(reflection ray, 2251), 굴절 레이(refraction ray, 2252) 및 쉐도우 레이(shadow ray, 2253)가 생성될 수 있으며, 이들을 2차 레이라고 지칭한다. 2차 레이는 객체의 속성에 따라 결정되며, 객체의 속성은 전술한 오브젝트 속성에 대응하고 오브젝트의 반사율, 굴절률, 투과율 및 본래의 색상값을 포함할 수 있으나 이에 한정되는 것은 아니다.At the intersection (hit point) where the primary ray 2240 intersects the object 2230, a reflection ray (2251), a refraction ray (2252), and a shadow ray (2253) can be generated. and these are referred to as secondary rays. The secondary ray is determined according to the properties of the object, and the properties of the object correspond to the above-described object properties and may include, but are not limited to, the reflectance, refractive index, transmittance, and original color value of the object.

쉐도우 레이(2253)는 교차점으로부터 광원(2260)의 방향으로 생성된다. 여기서 광원(2260)은 미리 생성되어 가상공간에 포함된 것으로 가상의 광원일 수 있으며, 시점(2210)에 기초하여 그 위치가 결정될 수 있다. 레이 트레이싱 장치는 쉐도우 레이(2253)를 통해 교차점이 광원(2260)에 노출되는지를 판단할 수 있다. 예를 들어, 쉐도우 레이(2253)의 경로에 또 다른 객체가 존재하여 이와 만나게 되면, 교차점에 대응하는 픽셀에는 그림자가 형성될 수 있다.A shadow ray 2253 is generated from the intersection point in the direction of the light source 2260. Here, the light source 2260 may be a virtual light source that has been created in advance and included in the virtual space, and its location may be determined based on the viewpoint 2210. The ray tracing device can determine whether the intersection point is exposed to the light source 2260 through the shadow ray 2253. For example, if another object exists in the path of the shadow ray 2253 and meets it, a shadow may be formed on the pixel corresponding to the intersection point.

반사 레이(2251)는 1차 레이(2240)의 입사각에 대응되는 방향으로 생성되며 객체(2230)의 반사율에 따른 가중치가 적용될 수 있다. 굴절 레이(2252)는 1차 레이(2240)의 입사각 및 객체(2230)의 굴절률에 대응되는 방향으로 생성되며 굴절률에 따른 가중치가 적용될 수 있다. 즉, 객체(2230)의 반사율 및 굴절률이 "0"인 경우, 해당 객체(2230)에 대한 반사 레이(2251) 및 굴절 레이(2252)는 발생하지 않는다.The reflection ray 2251 is generated in a direction corresponding to the angle of incidence of the primary ray 2240, and a weight according to the reflectance of the object 2230 may be applied. The refractive ray 2252 is generated in a direction corresponding to the incident angle of the primary ray 2240 and the refractive index of the object 2230, and a weight according to the refractive index may be applied. That is, when the reflectance and refractive index of the object 2230 are “0”, the reflection ray 2251 and the refraction ray 2252 for the object 2230 do not occur.

또한, 레이 트레이싱 장치는 반사 레이(2251) 및 굴절 레이(2252)가 다른 객체에 도달하는지 여부를 판단한다. 만약, 반사 레이(2251)가 다른 객체에 도달하는 경우 레이 트레이싱 장치는 그 교차점의 좌표 및 다른 객체의 색상값을 확인할 수 있다. 또한, 레이 트레이싱 장치는 다른 객체와의 교차점에서 발생하는 3차 레이를 파악할 수 있다. 3차 레이 또한 반사 레이, 굴절 레이 및 쉐도우 레이를 포함할 수 있으며, 반사 레이 및 굴절 레이가 또 다른 객체와 만나는 경우 또 다른 교차점이 생길 수 있다. 이와 같이, 픽셀에 대응하여 발생한 모든 레이가 광원에 도달하거나 가상공간에서 벗어날 때까지 2차 레이에서 파생되는 서브 레이들이 생성되어 그 경로가 추적될 수 있으며, 각각의 서브 레이에 의한 후속 교차점이 확인될 수 있다.Additionally, the ray tracing device determines whether the reflected ray 2251 and the refracted ray 2252 reach other objects. If the reflection ray 2251 reaches another object, the ray tracing device can check the coordinates of the intersection point and the color value of the other object. Additionally, a ray tracing device can identify tertiary rays that occur at intersections with other objects. Tertiary rays can also include reflected rays, refracted rays, and shadow rays, and when the reflected rays and refracted rays meet another object, another intersection may occur. In this way, sub-rays derived from secondary rays can be created and their paths tracked until all rays generated in response to a pixel reach the light source or leave the virtual space, and subsequent intersection points by each sub-ray can be confirmed. It can be.

결과적으로, 레이 트레이싱 장치는 픽셀에 대한 1차 레이(2240) 및 1차 레이(2240)로부터 파생되는 모든 레이들의 경로를 파악하고 경로의 분석 결과에 따라 해당 픽셀의 색상값을 도출할 수 있다. 즉, 픽셀의 색상값은 1차 레이에 의한 교차점의 객체(2230) 색상, 발생한 모든 반사 레이(2251) 또는 굴절 레이(2252)에 의한 각 교차점들의 객체 색상, 발생한 모든 쉐도우 레이(2253)가 광원(2260)에 도달하는지 여부가 종합되어 결정되며, 레이 트레이싱 장치는 위와 같은 과정을 모든 픽셀들에 대하여 수행하여 화면(2220)을 구축할 수 있다.As a result, the ray tracing device can identify the primary ray 2240 for a pixel and the path of all rays derived from the primary ray 2240 and derive the color value of the corresponding pixel according to the path analysis result. In other words, the color value of the pixel is the color of the object 2230 at the intersection by the primary ray, the object color at each intersection by all generated reflection rays 2251 or refraction rays 2252, and all generated shadow rays 2253 are the light source. Whether or not 2260 is reached is collectively determined, and the ray tracing device can construct the screen 2220 by performing the above process for all pixels.

한편, 이하에서는 1차 레이(2240)가 교차하는 특정 객체(2230)를 "대상체"로, 2차 레이가 교차하는 특정 객체와 다른 객체를 "물체"로 정의한다. 또한, 대상체(2230)와 1차 레이(2240)의 교차점을 "제1교차점"으로, 물체와 2차 레이의 교차점을 "제2교차점"으로 정의한다. 또한, 2차 레이에서 파생되어 제2교차점에서 발생하는 레이들을 "서브 레이"로, 서브 레이가 또 다른 객체와 교차하는 지점을 "후속 교차점"으로 정의한다.Meanwhile, hereinafter, the specific object 2230 where the primary ray 2240 intersects is defined as an “object,” and an object different from the specific object where the secondary ray intersects is defined as an “object.” Additionally, the intersection point between the object 2230 and the primary ray 2240 is defined as a “first intersection point,” and the intersection point between the object and the secondary ray is defined as a “second intersection point.” In addition, rays that are derived from the secondary ray and occur at the second intersection are defined as “sub rays,” and the point where the sub ray intersects with another object is defined as a “subsequent intersection.”

도 23은 본 개시의 일 실시예에 따른 레이 트레이싱 장치의 구조에 대한 블록도이다.Figure 23 is a block diagram of the structure of a ray tracing device according to an embodiment of the present disclosure.

도 23을 참조하면, 본 개시의 일 실시예에 따른 레이 트레이싱 장치(2300)는 레이 생성부(2310), TRV(Traversal)부(2320), IST(Intersection)부(2330), 쉐이딩(Shading)부(2340), 메모리(2350) 및 가속 구조(Acceleration Structure) 생성부(2360)를 포함할 수 있다.Referring to FIG. 23, the ray tracing device 2300 according to an embodiment of the present disclosure includes a ray generation unit 2310, a Traversal (TRV) unit 2320, an Intersection (IST) unit 2330, and a shading unit. It may include a unit 2340, a memory 2350, and an acceleration structure generation unit 2360.

일 실시예에 따르면, TRV부(2320), IST부(2330) 및 가속 구조 생성부(2360)는 서버(110) 또는 사용자 단말기(130)에 포함되는 별도의 하드웨어로 구현될 수 있다. 또한, 메모리(2350)는 서버(110) 또는 사용자 단말기(130)에 포함되는 내장 또는 외장 메모리나 데이터베이스 형태로 구축될 수 있다. 또한, 도 2에는 본 개시의 일 실시예와 관련된 구성요소만이 도시되어 있으며, 이 외 레이 트레이싱과 관련된 범용적인 구성요소들이 더 포함될 수 있음은 물론이다.According to one embodiment, the TRV unit 2320, IST unit 2330, and acceleration structure generation unit 2360 may be implemented as separate hardware included in the server 110 or the user terminal 130. Additionally, the memory 2350 may be constructed in the form of an internal or external memory or database included in the server 110 or the user terminal 130. In addition, FIG. 2 shows only components related to one embodiment of the present disclosure, and of course, other general-purpose components related to ray tracing may be further included.

일 실시예에 따르는 TRV부(2320)는 레이 생성부(2310)로부터 생성된 레이들의 정보를 수신한다. 예를 들어, 1차 레이의 경우, TRV 부(2320)는 1차 레이의 시점 및 방향에 대한 정보를 수신할 수 있다. 또한, 2차 레이 및 서브 레이의 경우, TRV 부(2320)는 각 레이의 출발점 및 방향에 대한 정보를 수신할 수 있다. 여기서 출발점은, 2차 레이의 경우 1차 레이가 히트(hit)된 제1교차점을 의미하며, 시점 및 출발점은 좌표로 설정될 수 있으며, 방향은 벡터로 구현될 수 있다.The TRV unit 2320 according to one embodiment receives information on the rays generated from the ray generation unit 2310. For example, in the case of a primary ray, the TRV unit 2320 may receive information about the viewpoint and direction of the primary ray. Additionally, in the case of secondary rays and sub-rays, the TRV unit 2320 can receive information about the starting point and direction of each ray. Here, the starting point means the first intersection where the first ray was hit in the case of the secondary ray. The starting point and starting point can be set as coordinates, and the direction can be implemented as a vector.

TRV부(2320)는 메모리(2350)에서 가속 구조(Acceleration Structure, AS)를 독출하고 탐색을 수행하여 가속 구조(AS)에 포함된 각 노드들과 레이와의 교차 검사를 실시한다. 이와 관련하여 도 24를 통해 가속 구조 및 가속 구조를 탐색하는 방법에 대한 일 실시예를 구체적으로 설명하도록 한다.The TRV unit 2320 reads the acceleration structure (AS) from the memory 2350, performs a search, and cross-checks each node included in the acceleration structure (AS) with the ray. In this regard, an embodiment of the acceleration structure and a method for searching the acceleration structure will be described in detail with reference to FIG. 24.

도 24는 가속 구조를 설명하기 위한 개념도이다.Figure 24 is a conceptual diagram for explaining the acceleration structure.

본 개시의 일 실시예에 따르면, 레이와 객체들간 교차점을 찾는 처리과정은 방대한 에너지 및 연산량을 요구하며, 이에 따라 레이 트레이싱 장치(2300)는 3차원 가상공간을 계층적으로 분할함으로써 교차점의 확인 과정을 신속하게 처리할 수 있다.According to an embodiment of the present disclosure, the process of finding intersections between rays and objects requires a large amount of energy and computation, and accordingly, the ray tracing device 2300 performs the intersection confirmation process by hierarchically dividing the 3D virtual space. can be processed quickly.

이를 위해, 일 실시예에 따르는 가속 구조 생성부(2360)는 가속 구조(AS)를 생성할 수 있으며, 생성된 가속 구조(AS)는 메모리(2350)에 저장될 수 있다. 여기서 가속 구조(AS)는 디스플레이에 표시되는 가상공간이 계층적 트리 노드 형태로 분할된 공간 분할 구조체를 의미한다. 가속 구조(AS)는 3차원 가상공간에 포함된 오브젝트들의 위치 정보를 포함하며 다양한 형태로 생성될 수 있다. 예를 들어, 가속 구조 생성부(2350)는 KD-tree(K-dimensional tree), BVH(Bounding Volume Hirearchy), SBVH, OSAH, AOBVH의 자료구조를 활용하여, 3차원 공간상의 오브젝트들의 관계를 나타내는 가속 구조를 생성할 수 있다. 다만, 위의 예시된 자료구조가 본 발명을 제한하는 것은 아니다.To this end, the acceleration structure generator 2360 according to an embodiment may generate an acceleration structure (AS), and the generated acceleration structure (AS) may be stored in the memory 2350. Here, the acceleration structure (AS) refers to a space division structure in which the virtual space displayed on the display is divided into a hierarchical tree node form. The acceleration structure (AS) contains location information of objects included in a three-dimensional virtual space and can be created in various forms. For example, the acceleration structure generator 2350 uses the data structures of KD-tree (K-dimensional tree), BVH (Bounding Volume Hirearchy), SBVH, OSAH, and AOBVH to represent the relationship between objects in three-dimensional space. Acceleration structures can be created. However, the above example data structure does not limit the present invention.

일 실시예에 따르면, 가속 구조 생성부(2360)는 가상공간에 배치되는 오브젝트를 기준으로 3차원 가상공간을 계층적으로 분할하여, 각각의 분할된 영역마다 바운딩 볼륨(Bounding Volume)으로 설정할 수 있다. 바운딩 볼륨은 단순한 기하학적인 형태가 바람직하며 육면체 형상의 바운딩 박스(Bounding Box)를 대표적인 예로 들 수 있다. 바운딩 박스에는 가상공간에 포함되는 오브젝트 또는 프리미티브가 적어도 하나 이상 포함될 수 있다.According to one embodiment, the acceleration structure generator 2360 can hierarchically divide the 3D virtual space based on objects placed in the virtual space and set each divided area as a bounding volume. . The bounding volume preferably has a simple geometric shape, and a representative example is a hexahedral-shaped bounding box. The bounding box may include at least one object or primitive included in the virtual space.

예를 들어, 화면에 구현할 3차원 가상공간이 사무실이고 사무실의 전체적인 구조가 책상이 배열된 상태로 가정할 때, 가속 구조 생성부(2360)는 책상 별로 바운딩 박스를 설정하여 사무실을 분할할 수 있다. 또한, 각 책상에 배치되는 모니터, 컴퓨터 등 각 종 사무 용품 별로 바운딩 박스를 설정하여 각 책상의 공간을 분할할 수 있다. 이와 같이 규모가 큰 오브젝트부터 작은 오브젝트까지 점차 세부적으로 바운딩 박스를 설정하여 공간을 계층적으로 분할할 수 있으며, 최종적으로는 프리미티브 단위로 바운딩 박스가 설정될 수 있다.For example, assuming that the 3D virtual space to be implemented on the screen is an office and the overall structure of the office is a state in which desks are arranged, the acceleration structure generator 2360 can divide the office by setting a bounding box for each desk. . In addition, the space of each desk can be divided by setting bounding boxes for various office supplies such as monitors and computers placed on each desk. In this way, the space can be divided hierarchically by gradually setting the bounding box in detail from large-scale objects to small objects, and ultimately, the bounding box can be set in primitive units.

일 실시예에 따르면, 바운딩 박스에 의해 가상공간이 점차 세부적으로 분할되므로, 3차원 가상공간의 구조는 도 24와 같은 계층적 트리 노드 형태인 가속 구조(AS)로 구현될 수 있다. 여기서 트리에 포함된 각각의 노드들은 분할된 영역, 즉 바운딩 박스에 대응하는 것일 수 있다.According to one embodiment, since the virtual space is gradually divided into details by the bounding box, the structure of the three-dimensional virtual space can be implemented as an acceleration structure (AS) in the form of a hierarchical tree node as shown in FIG. 24. Here, each node included in the tree may correspond to a divided area, that is, a bounding box.

도 24를 참조하면, 가속 구조(AS)는 탑 노드(top node), 내부 노드(inner node) 리프 노드(leaf node) 및 프리미티브(primitive)를 포함할 수 있다.Referring to FIG. 24, the acceleration structure (AS) may include a top node, an inner node, a leaf node, and a primitive.

탑 노드는 상위 노드는 가지지 않으며 하위 노드만을 가지는 최상위 계층의 노드이다. 도 24에서 1번 노드가 이에 해당된다. 위에서 언급한 가상공간의 예시에서 사무실이 이에 해당할 수 있으며, 일반적으로 가상공간이 구축되는 3차원 형상의 프레임이 가장 큰 바운딩 박스로서 탑 노드로 설정될 수 있다.The top node is a node of the highest level that has no upper nodes and only lower nodes. In Figure 24, node number 1 corresponds to this. In the example of the virtual space mentioned above, an office may correspond to this, and the three-dimensional frame in which the virtual space is generally constructed can be set as the top node as the largest bounding box.

내부 노드는 상위 노드 및 하위 노드를 모두 가지는 노드이다. 도 24에서 2번 내지 7번 노드가 이에 해당된다. 또한, 내부 노드는 복수의 계층에 걸쳐 구성될 수 있다. 도 24에 도시된 바와 같이, 2번 노드는 내부 노드인 4, 5번 노드를 하위 노드로 가지고 있으며, 3번 노드는 내부 노드인 6, 7번 노드를 하위 노드로 가지고 있다. 즉, 같은 내부 노드더라도, 2번 및 3번 노드는 4 내지 7번 노드 보다 한 단계 위의 계층에 배치되어 있다. 위에서 언급한 예시에서 2번 및 3번 노드는 각 책상을 포함하는 바운딩 박스에 대응할 수 있으며, 4 내지 7번 노드는 각 책상에 배치된 각각의 사무 용품에 대응하는 것일 수 있다.An internal node is a node that has both upper and lower nodes. Nodes 2 to 7 in FIG. 24 correspond to this. Additionally, internal nodes may be configured across multiple layers. As shown in Figure 24, node 2 has internal nodes 4 and 5 as child nodes, and node 3 has internal nodes 6 and 7 as child nodes. That is, even if they are the same internal nodes, nodes 2 and 3 are placed in a layer one level higher than nodes 4 to 7. In the example mentioned above, nodes 2 and 3 may correspond to bounding boxes containing each desk, and nodes 4 to 7 may correspond to each office supply placed on each desk.

리프 노드는 하위 노드는 가지지 않고 상위 노드만 가지는 최하위 노드이다. 도 24에서 8 내지 15번 노드가 이에 해당한다. 각 리프 노드들은 적어도 하나 이상의 객체를 포함할 수 있으며 도 24에 도시된 바와 같이 이 때의 객체는 프리미티브 단위로 설정될 수 있다. 위에서 언급한 예시에서 8 내지 15번 노드는 각 사무 용품을 구성하는 각각의 부품이나 영역들이 포함된 바운딩 박스에 대응할 수 있다.A leaf node is the lowest node that has only upper nodes and no lower nodes. Nodes 8 to 15 in Figure 24 correspond to this. Each leaf node may include at least one object, and as shown in FIG. 24, the object at this time can be set in primitive units. In the example mentioned above, nodes 8 to 15 may correspond to bounding boxes containing each part or area that makes up each office supply.

일 실시예에 따르면, 레이 트레이싱 장치(2300)는 가속 구조(AS)를 통하여 먼저 레이와 바운딩 박스(노드) 간 교차 검사를 수행하고, 교차된 바운딩 박스에 포함된 객체와의 교차점을 연산함으로써 교차점을 신속하게 확인할 수 있다. 이 때, 레이 트레이싱 장치(2300)는 레이의 방향과 출발점 좌표를 객체의 좌표와 비교함으로써, 교차 검사에 있어 복잡한 연산이 요구되지 않을 수 있다.According to one embodiment, the ray tracing device 2300 first performs an intersection check between a ray and a bounding box (node) through an acceleration structure (AS), and calculates the intersection point with an object included in the intersected bounding box. can be checked quickly. At this time, the ray tracing device 2300 compares the direction of the ray and the coordinates of the starting point with the coordinates of the object, so that complex calculations may not be required for intersection inspection.

이와 관련하여 TRV부(2320)는 가속 구조(AS)를 탐색하여 각 노드들과 레이와의 교차 검사를 수행할 수 있다. 예를 들어 노드와 레이 간 교차 검사는 AABB(Axis-Aligned Bounding Box) 또는 OBB(Oriented Bounding Box) 충돌 테스트일 수 있으나 이에 한정되는 것은 아니다. 또한, TRV부(2320)는 메모리(2350)에서 레이의 방향과 출발점의 좌표를 독출하고 이에 기초하여 해당 레이가 어떠한 노드(바운딩 박스)와 교차하였고 교차하지 않았는지를 파악할 수 있다.In this regard, the TRV unit 2320 may search the acceleration structure (AS) and perform cross-examination between each node and the ray. For example, the cross-check between nodes and rays may be, but is not limited to, AABB (Axis-Aligned Bounding Box) or OBB (Oriented Bounding Box) collision testing. Additionally, the TRV unit 2320 can read the direction of the ray and the coordinates of the starting point from the memory 2350 and determine which nodes (bounding boxes) the ray has intersected and which nodes it has not intersected based on this.

일 실시예에 따르면, 노드와 레이의 교차 검사를 통해 가속 구조는 단순화 될 수 있다. 도 24를 이용하여 예를 들면, 1차 레이가 1번 노드를 지나 2번 노드와 교차하는 경우 3번 이하의 트리 구조는 교차 검사의 대상에서 제외된다. 이 후, 1차 레이가 4번 노드와 교차하는 경우 5번 이하의 트리 구조는 교차 검사의 대상에서 제외된다. 최종적으로, 8번 노드와 교차하는 경우 9번 노드는 교차 검사의 대상에서 제외되고 8번 노드가 제1교차점이 포함되는 노드로 파악될 수 있다.According to one embodiment, the acceleration structure can be simplified through cross-examination of nodes and rays. For example, using Figure 24, when the first ray passes through node 1 and intersects node 2, the tree structure of number 3 or less is excluded from the intersection test. After this, if the first ray intersects node 4, the tree structure of node 5 or lower is excluded from the intersection test. Finally, when it intersects with node 8, node 9 is excluded from the intersection test, and node 8 can be identified as the node containing the first intersection.

이와 같이, TRV부(2320)는 레이가 교차되는 리프 노드 또는 프리미티브의 바운딩 박스를 검출할 때까지 가속 구조(AS)를 계속하여 탐색할 수 있다. TRV부(2320)는 레이의 어느 하나의 경로를 따라 가속 구조(AS)를 탐색하였는데 해당 경로에서 교차되는 리프 노드가 발견되지 않은 경우 다른 경로로 가속 구조(AS)를 탐색할 수 있다.In this way, the TRV unit 2320 may continue to search the acceleration structure (AS) until it detects a leaf node or a bounding box of a primitive where a ray intersects. The TRV unit 2320 searches for the acceleration structure (AS) along one path of the ray, and if no intersecting leaf nodes are found on the path, the TRV unit 2320 may search for the acceleration structure (AS) through another path.

다시 도 23을 참조하면, 일 실시예에 따른 IST부(2330)는 TRV부(2320)로부터 레이가 교차된 노드(바운딩 박스)를 수신할 수 있다. IST부(2330)는 메모리(2350)에서 해당 노드에 포함된 객체에 대한 정보를 독출하고, 독출된 각 객체와 레이 간 교차 검사를 수행할 수 있다. 이 때 독출되는 객체에 대한 정보는 객체의 기하 데이터(geometry data)를 포함할 수 있다. 예를 들어, 기하 데이터는 객체를 구성하는 프리미티브들의 꼭지점 및 좌표에 대한 정보를 포함할 수 있으나 이에 한정되는 것은 아니다.Referring again to FIG. 23, the IST unit 2330 according to one embodiment may receive a node (bounding box) where rays intersect from the TRV unit 2320. The IST unit 2330 can read information about objects included in the corresponding node from the memory 2350 and perform a cross-check between each read object and the ray. At this time, information about the object read may include geometry data of the object. For example, geometric data may include information about the vertices and coordinates of primitives constituting an object, but is not limited thereto.

IST부(2330)는 레이가 히트된 객체를 파악한 후, 파악된 객체의 어느 지점과 레이가 교차하였는지를 확인하여 교차점을 출력한다. 교차점은 좌표 형태로 저장될 수 있으며 쉐이딩부(2340)로 전송될 수 있다.After identifying the object on which the ray was hit, the IST unit 2330 checks which point of the identified object the ray intersected and outputs the intersection point. The intersection point may be stored in coordinate form and transmitted to the shading unit 2340.

일 실시예에 따르는 쉐이딩부(2340)는 IST부(2330)로부터 수신된 교차점에 대한 정보와 교차점에 해당하는 오브젝트의 속성 정보에 기초하여 해당 픽셀의 색상값을 도출한다. 즉, 쉐이딩부(2340)는 1차 레이에서 파생되는 모든 레이들에 의한 각각의 교차점에 대한 정보를 종합하여 제1교차점에 대응하는 픽셀의 색상값을 결정할 수 있다.The shading unit 2340 according to one embodiment derives the color value of the corresponding pixel based on information about the intersection received from the IST unit 2330 and attribute information of the object corresponding to the intersection. That is, the shading unit 2340 may determine the color value of the pixel corresponding to the first intersection by combining information about each intersection by all rays derived from the first ray.

한편, 전술한대로 가속 구조(AS)를 이용하여 레이와 객체간의 교차점을 신속히 파악함에도 불구하고, 가상공간의 형태, 오브젝트의 개수 및 구성에 따라 여전히 레이 트레이싱 처리의 연산량이 과도하게 요구될 수 있다. 특히, 레이 트레이싱은 2차 레이 및 서브 레이를 통해 반사되거나 굴절된 다른 물체의 색상이 종합되어 대상체의 색상이 결정되므로, 가상공간의 품질이나 사용자의 현실감에 영향이 미미한 물체의 색상까지 연산해야 하는 과정이 진행될 수 있다. 또한, 메타버스 특성 상 실제 현실에서의 색상과 사용자가 가상공간을 통해 시각적으로 식별하는 색상이 상이한 것이 오히려 현실감을 불러 일으키는 경우가 많을 수 있다. 예를 들어, 사용자가 화면의 특정 대상체를 바라볼 때, 대상체의 주위에 있는 물체들은 쉽게 육안으로 판단되므로 이들의 색상이 종합적으로 고려되어야 하는 반면, 대상체와 멀리 떨어진 물체들은 사용자가 대상체와의 연관성을 인지하기 어려우므로 단일 물체의 색상만이 대상체에 반사되는 것이 더 현실적으로 보여질 수 있다.Meanwhile, despite quickly identifying the intersection between rays and objects using the acceleration structure (AS) as described above, the amount of calculation for ray tracing processing may still be excessively required depending on the type of virtual space and the number and configuration of objects. In particular, ray tracing determines the color of an object by combining the colors of other objects reflected or refracted through secondary rays and sub-rays, so it is necessary to calculate even the color of objects that have little effect on the quality of virtual space or the user's sense of reality. The process can proceed. In addition, due to the nature of the metaverse, there may be many cases where the color in reality and the color visually identified by the user through the virtual space are different, resulting in a sense of reality. For example, when a user looks at a specific object on the screen, the colors of objects around the object must be comprehensively considered as they are easily judged by the naked eye, while objects far away from the object require the user to determine their association with the object. Since it is difficult to perceive, it may appear more realistic that only the color of a single object is reflected on the object.

이와 관련하여, 본 개시의 레이 트레이싱 장치(2300)는 오브젝트 간 거리를 고려하여 레이 트레이싱을 실시하는 렌더링 방법을 수행할 수 있으며, 이하 도 25 내지 30을 활용하여 이에 대한 일 실시예를 설명하도록 한다.In this regard, the ray tracing device 2300 of the present disclosure can perform a rendering method that performs ray tracing by considering the distance between objects, and an embodiment of this will be described below using FIGS. 25 to 30. .

도 25는 본 개시의 일 실시예에 따른 레이 트레이싱 기반 렌더링 방법에 대한 흐름도이다.Figure 25 is a flowchart of a ray tracing-based rendering method according to an embodiment of the present disclosure.

도 25를 참조하면, 단계 2510에서 레이 트레이싱 장치(2300)는 가상공간을 향하여 현 프레임의 시점으로부터 투사되는 1차 레이를 생성하고 생성된 1차 레이가 대상체와 교차하는 제1교차점을 확인할 수 있다. 여기서 1차 레이 생성 및 제1교차점을 확인하는 과정은 전술한 내용으로 갈음하도록 한다.Referring to FIG. 25, in step 2510, the ray tracing device 2300 generates a primary ray projected from the viewpoint of the current frame toward the virtual space and confirms the first intersection point where the generated primary ray intersects the object. . Here, the process of generating the first ray and confirming the first intersection point is replaced with the above-described content.

단계 2520에서, 레이 트레이싱 장치(2300)는 대상체의 속성 정보에 따라 제1교차점에서 발생하는 2차 레이를 생성한다. 즉, 레이 트레이싱 장치(2300)는 메모리(2350)에서 대상체의 반사율 및 굴절률을 독출할 수 있으며 각각의 반사율 및 굴절률로 가중치를 적용하여 반사 레이 및 굴절 레이를 생성할 수 있다. 물론, 광원으로 입사되는 쉐도우 레이 또한 생성할 수 있다.In step 2520, the ray tracing device 2300 generates a secondary ray generated at the first intersection according to attribute information of the object. That is, the ray tracing device 2300 can read the reflectance and refractive index of the object from the memory 2350 and generate a reflection ray and a refractive ray by applying weights to each reflectance and refractive index. Of course, shadow rays incident on a light source can also be generated.

레이 트레이싱 장치(2300)는 생성된 각각의 2차 레이가 물체와 교차하는 제2교차점을 확인하고 제1교차점과 제2교차점 사이의 거리를 파악할 수 있다. 바람직하게는, 대상체와 물체 간 거리가 어느 정도로 떨어져 있는지를 판정할 수 있다.The ray tracing device 2300 can check the second intersection point where each generated secondary ray intersects the object and determine the distance between the first intersection point and the second intersection point. Preferably, it is possible to determine how far the object is from the object.

일 실시예에 따르면, 가상 월드는 실제 월드와 동일한 좌표계를 가질 수 있으므로, 제1교차점과 제2교차점 사이의 거리는, 가상공간에 대응되는 실제공간의 위치 정보에 기초하여 파악될 수 있다. 레이 트레이싱 장치(2300)는 서버(110) 또는 사용자 단말기(130)로 제1교차점 및 제2교차점의 정보를 전송할 수 있다. 서버(110) 또는 사용자 단말기(130)는 제1교차점과 제2교차점의 GPS좌표정보를 추출하여 이들 사이의 거리를 산출하고 레이 트레이싱 장치(2300)로 전송할 수 있다. 이러한 경우, 대상체와 물체 사이의 정확한 거리가 렌더링에 활용될 수 있는 장점이 있다.According to one embodiment, since the virtual world may have the same coordinate system as the real world, the distance between the first intersection and the second intersection may be determined based on location information of the real space corresponding to the virtual space. The ray tracing device 2300 may transmit information about the first intersection and the second intersection to the server 110 or the user terminal 130. The server 110 or the user terminal 130 may extract GPS coordinate information of the first intersection and the second intersection, calculate the distance between them, and transmit it to the ray tracing device 2300. In this case, there is an advantage that the exact distance between the objects can be used for rendering.

그러나, 렌더링의 처리 속도는 메타버스의 품질과 사용자의 몰입도에 지대한 영향을 끼치며, 연속되는 프레임에 동적인 오브젝트가 존재하거나 사용자의 시점이 활발하게 변화하는 영상인 경우, 실제 좌표계를 기반으로 거리를 파악하는 방법은 장치간 통신이 요구되므로 딜레이가 발생할 우려가 높다.However, the processing speed of rendering has a significant impact on the quality of the metaverse and the user's immersion, and in cases where dynamic objects exist in successive frames or the user's viewpoint is actively changing, the distance is based on the actual coordinate system. This method requires communication between devices, so there is a high risk of delay.

이와 관련하여, 일 실시예에 따르는 레이 트레이싱 장치(2300)는 가상공간 내에서 대상체와 물체 간 거리의 관계를 나타내거나 가속 구조(AS)를 이용함으로써, 외부와 통신하지 않고 자체적으로 대상체와 물체 사이의 거리를 판정할 수 있다. 이하, 도 26 및 27을 활용하여 이에 대한 일 실시예를 설명하도록 한다.In this regard, the ray tracing device 2300 according to one embodiment displays the relationship between the distance between the object and the object in the virtual space or uses an acceleration structure (AS), thereby automatically connecting the object and the object without communicating with the outside. The distance can be determined. Hereinafter, an embodiment of this will be described using FIGS. 26 and 27.

도 26은 본 개시의 일 실시예에 따른 오브젝트 간 거리를 판정하는 방법에 대한 흐름도이며, 도 27은 본 개시의 일 실시예에 따른 오브젝트 간 거리를 판정하는 방법을 설명하기 위하여 가상공간을 평면에 투영한 예시도이다.FIG. 26 is a flowchart of a method for determining the distance between objects according to an embodiment of the present disclosure, and FIG. 27 is a flow chart showing a virtual space on a plane to explain a method of determining the distance between objects according to an embodiment of the present disclosure. This is a projected example.

도 26을 살피면, 제1교차점 및 제2교차점 사이의 거리를 파악하는 과정에서, 먼저 레이 트레이싱 장치(2300)는 제1교차점을 중심으로 하여 제1반경을 가지는 제1구 및 제2반경을 가지는 제2구를 형성할 수 있다. 여기서 제1반경 및 제2반경은 가상공간의 프레임에 따라 미리 설정된 값으로서, 제2반경은 제1반경 보다 큰 값이다. 제1반경은 대상체와 가까운 주위를 특정하기 위한 거리로 설정된 것이며, 제2반경은 대상체와 멀리 떨어진 영역을 특정하기 위한 거리로 설정된 것이다.Looking at Figure 26, in the process of determining the distance between the first intersection and the second intersection, first, the ray tracing device 2300 has a first sphere and a second radius centered on the first intersection. A second district can be formed. Here, the first radius and the second radius are preset values according to the frame of the virtual space, and the second radius is a larger value than the first radius. The first radius is set as a distance to specify the surrounding area close to the object, and the second radius is set as a distance to specify an area far away from the object.

추가 실시예에 따르면, 제1반경은 가상공간 및 대상체의 속성 정보에 기초하여 변경될 수 있다. 예를 들어, 레이 트레이싱 장치(2300)는 가상공간의 종류, 크기, 모양 및 가상공간에 대응되는 실제공간의 위치 중 적어도 하나에 기초하여, 가상공간의 주요 신(scene)이 되는(대상체의 대상이 되는) 오브젝트들을 특정할 수 있다. 레이 트레이싱 장치(2300)는 특정한 오브젝트들 사이 이격 거리의 평균값인 기준길이를 산출할 수 있다. 이 후, 교차 검사에 의해 대상체가 확인되면 해당 대상체의 속성 정보 및 가속 구조(AS)에 기초하여 최종적으로 제1반경이 설정될 수 있다. 예를 들어, 레이 트레이싱 장치(2300)는 대상체의 식별정보, 종류, 모양, 크기 및 위치를 기초로 기준길이의 오차범위를 책정할 수 있다. 또한, 가속 구조(AS)를 분석하여 대상체에서 기준길이 내에 위치하는 오브젝트의 개수를 파악할 수 있으며 파악된 오브젝트의 개수에 따라 오차범위 내에서 특정한 길이가 제1반경으로 확정될 수 있다. 기준길이 내에 위치하는 오브젝트가 많은 경우 제1반경은 상대적으로 작게, 적은 경우 제1반경은 상대적으로 크게 설정될 수 있다.According to a further embodiment, the first radius may be changed based on attribute information of the virtual space and the object. For example, the ray tracing device 2300 is a main scene of the virtual space (the target of the object) based on at least one of the type, size, and shape of the virtual space and the location of the real space corresponding to the virtual space. ) objects can be specified. The ray tracing device 2300 can calculate a reference length, which is the average value of the separation distance between specific objects. Afterwards, when the object is confirmed through cross-examination, the first radius can be finally set based on the attribute information and acceleration structure (AS) of the object. For example, the ray tracing device 2300 may establish an error range of the reference length based on the identification information, type, shape, size, and location of the object. In addition, by analyzing the acceleration structure (AS), the number of objects located within the reference length of the object can be identified, and depending on the number of identified objects, a specific length within the error range can be determined as the first radius. If there are many objects located within the standard length, the first radius can be set to be relatively small, and if there are few objects located within the standard length, the first radius can be set to be relatively large.

추가 실시예에 따르면, 제2반경은 가상공간 및 대상체의 속성 정보에 기초하여 변경될 수 있다. 예를 들어, 레이 트레이싱 장치(2300)는 가상공간의 종류, 크기, 모양 및 가상공간에 대응되는 실제공간의 위치 중 적어도 하나와 대상체의 식별정보, 종류, 모양, 크기 및 위치에 기초하여, 대상체를 기준으로 배경 신(scene)이 되는 오브젝트들을 특정할 수 있다. 여기서 배경 신이 되는 오브젝트들은 배경으로 디폴트된(1차 레이가 직접 교차하지 않는) 오브젝트들을 포함할 수 있다. 이후, 레이 트레이싱 장치(2300)는 배경 신이 되는 오브젝트 중 대상체와 가장 가까운 오브젝트를 파악하고 파악한 오브젝트와 대상체 사이의 거리를 제2반경으로 설정할 수 있다.According to a further embodiment, the second radius may be changed based on attribute information of the virtual space and the object. For example, the ray tracing device 2300 determines the object based on at least one of the type, size, shape, and location of the real space corresponding to the virtual space and the identification information, type, shape, size, and location of the object. Objects that become background scenes can be specified based on . Here, objects that become the background scene may include objects that are default to the background (the primary ray does not directly intersect). Thereafter, the ray tracing device 2300 may identify the object closest to the object among the objects that become the background scene and set the distance between the identified object and the object as the second radius.

제1구 및 제2구가 형성되면, 레이 트레이싱 장치(2300)는 제1구의 내부를 제1영역으로, 제2구의 외부를 제2영역으로, 제1구의 외부와 제2구의 내부가 중첩되는 영역을 제3영역으로 설정할 수 있다. 여기서 제1영역은 대상체의 색상값과 관련도가 높은 영역으로 메모리(2350)에 기억될 수 있다. 제2영역은 대상체의 색상값과 관련은 있으나 서브 레이는 발생하지 않는 영역으로 메모리(2350)에 기억될 수 있다. 제3영역은 대상체의 색상값과 관련이 없어 레이 트레이싱에 사용되지 않는 영역으로 메모리(2350)에 기억될 수 있다. 즉, 제3영역은 대상체의 현실감에 영향을 미치지 않거나 오히려 저하시키는 영역을 의미하며, 제3영역을 특정하여 추적을 배제시킴으로써 렌더링의 연산량을 대폭 절감하고 효율을 높일 수 있다.When the first sphere and the second sphere are formed, the ray tracing device 2300 uses the inside of the first sphere as the first area, the outside of the second sphere as the second area, and the outside of the first sphere and the inside of the second sphere overlap. The area can be set as the third area. Here, the first area is an area highly related to the color value of the object and can be stored in the memory 2350. The second area may be stored in the memory 2350 as an area that is related to the color value of the object but does not generate sub-rays. The third area is unrelated to the color value of the object and may be stored in the memory 2350 as an area not used for ray tracing. In other words, the third area refers to an area that does not affect or rather degrades the realism of the object. By specifying the third area and excluding tracking, the amount of rendering calculations can be significantly reduced and efficiency increased.

일 실시예에 따르면, 제1구 및 제2구는 시스템 내 가상공간에 오버랩되어 형성되기는 하지만 시각적으로 실제로 보여지는 것은 아니다. 또한 제1영역 내지 제3영역은 가속 구조(AS)에도 반영되어, 각 노드들이 어느 영역에 걸쳐 분포 되어 있는지 파악될 수 있다.According to one embodiment, the first sphere and the second sphere are formed to overlap in the virtual space within the system, but are not actually visible visually. In addition, the first to third areas are also reflected in the acceleration structure (AS), so it is possible to determine which area each node is distributed over.

각 영역들이 설정되면, 레이 트레이싱 장치(2300)는 제2교차점이 어느 영역에 위치하는지 파악할 수 있다. 레이 트레이싱 장치(2300)는 제2교차점이 제1영역에 위치하는 경우 물체를 제1객체로 판정하고, 제2교차점이 제2영역에 위치하는 경우 물체를 제2객체로 판정하고, 제2교차점이 제3영역에 위치하는 경우 물체를 제3객체로 판정할 수 있다. 여기서, 제1객체는 대상체와 인접한 객체이고, 제2객체는 대상체와 멀리 떨어진 객체이고, 제3객체는 제1교차점에 대응하는 픽셀의 색상값에 관여하지 않는 객체를 의미한다.Once each area is set, the ray tracing device 2300 can determine in which area the second intersection point is located. The ray tracing device 2300 determines the object as a first object when the second intersection point is located in the first area, determines the object as a second object when the second intersection point is located in the second area, and determines the object as a second object when the second intersection point is located in the second area. If located in this third area, the object can be determined as a third object. Here, the first object is an object adjacent to the object, the second object is an object far away from the object, and the third object is an object that is not involved in the color value of the pixel corresponding to the first intersection.

위에서 언급한 사무실의 가상공간을 다시 예로 들면, 대상체가 특정 책상에 위치한 하나의 사무 용품이라고 가정했을 때, 제1객체는 해당 책상에 위치한 다른 사무 용품들일 수 있다. 제2객체는 사무실 문이나 창 밖에 표시되는 건물, 사람, 지형, 자연 환경 등이 될 수 있다. 제3객체는 사무실 실내에 있긴 하지만 사용자에게 대상체와 관련이 없는 것으로 보여지는 객체일 수 있다. 예로, 다른 책상, 다른 책상에 배치된 사무 용품들, 기타 다른 가구, 기구, 도구, 사람 등이 될 수 있다.Taking the office virtual space mentioned above as an example again, assuming that the object is an office supply located on a specific desk, the first object may be other office supplies located on the desk. The secondary object can be a building, person, terrain, or natural environment displayed outside the office door or window. The third object may be an object that is located inside the office but appears to the user to be unrelated to the object. For example, this could be another desk, office supplies placed on another desk, other furniture, appliances, tools, people, etc.

도 27을 활용하여 거리를 판정하는 도 26의 실시예에 대하여 설명하도록 한다. 화살표의 실선은 1차 레이를, 화살표의 점선은 2차 레이를 나타낸다.The embodiment of FIG. 26 that determines the distance using FIG. 27 will now be described. The solid arrow line represents the primary ray, and the dotted arrow line represents the secondary ray.

레이 트레이싱 장치(2300)는 시점(미도시)으로부터 가상공간(2700)으로 1차 레이를 투사한다. 1차 레이는 대상체(2710)와 교차하게 되며 레이 트레이싱 장치(2300)는 제1교차점(2711)을 확인한다. 레이 트레이싱 장치(2300)는 제1교차점(2711)을 중심으로 하는 제1구(S1) 및 제2구(S2)를 형성하여 가상공간(2700)에 투영시킨다. 레이 트레이싱 장치(2300)는 제1구(S1) 및 제2구(S2)에 따라 제1영역, 제2영역 및 제3영역을 설정한다.The ray tracing device 2300 projects a primary ray from a viewpoint (not shown) to the virtual space 2700. The first ray intersects the object 2710, and the ray tracing device 2300 confirms the first intersection point 2711. The ray tracing device 2300 forms a first sphere (S1) and a second sphere (S2) centered on the first intersection 2711 and projects them into the virtual space 2700. The ray tracing device 2300 sets a first area, a second area, and a third area according to the first sphere S1 and the second sphere S2.

이 후, 레이 트레이싱 장치(2300)는 제1교차점(2711)에서 발생하는 2차 레이를 생성한다. 2차 레이는 도시된 바와 같이 반사 레이 또는 굴절 레이를 포함할 수 있다. 레이 트레이싱 장치(2300)는 2차 레이가 물체와 교차하여 형성된 제2교차점의 위치를 파악한다. 레이 트레이싱 장치(2300)는 제2교차점(2721a)이 제1영역에 위치하는 경우 2차 레이가 도달한 물체(2720a)를 제1객체로 판정한다. 영역을 판정하는 기준은 교차점이며 물체의 위치가 아니다. 즉, 물체가 하나의 영역에 완전히 포함될 수도 있으나 두 개 이상의 영역에 걸쳐 포함될 수도 있다. 도시된 바와 같이, 제2교차점(2721a)이 제1영역에 있는 경우 물체(2720a)가 제3영역에 걸쳐 있더라도 해당 물체(2720a)는 제1객체로 판정된다. 레이 트레이싱 장치(2300)는 제2교차점(2721b)이 제2영역에 위치하는 경우 2차 레이가 도달한 물체(2720b)를 제2객체로 판정한다. 레이 트레이싱 장치(2300)는 제2교차점(2721c)이 제3영역에 위치하는 경우 2차 레이가 도달한 물체(2720c)를 제3객체로 판정한다.Afterwards, the ray tracing device 2300 generates a secondary ray generated at the first intersection 2711. Secondary rays may include reflected rays or refracted rays as shown. The ray tracing device 2300 determines the location of the second intersection formed when the secondary ray intersects the object. When the second intersection 2721a is located in the first area, the ray tracing device 2300 determines that the object 2720a reached by the second ray is the first object. The criterion for determining the area is the intersection point, not the location of the object. In other words, an object may be completely contained in one area, but may also be contained across two or more areas. As shown, when the second intersection 2721a is in the first area, the object 2720a is determined to be the first object even if it spans the third area. When the second intersection 2721b is located in the second area, the ray tracing device 2300 determines the object 2720b to which the secondary ray has arrived as the second object. When the second intersection 2721c is located in the third area, the ray tracing device 2300 determines that the object 2720c reached by the second ray is the third object.

해당 실시예와 관련하여, 본 개시의 일 실시예에 따르면, 제2교차점을 확인하는 과정에서 처리량을 더 절감할 수 있다. 제3영역은 레이 트레이싱이 수행되지 않는 영역으로 메모리(2350)에 기억되므로, 제3영역에만 분포되어 있는 노드는 탐색할 실효성이 떨어진다.In relation to this embodiment, according to an embodiment of the present disclosure, processing amount can be further reduced in the process of confirming the second intersection. Since the third area is an area where ray tracing is not performed and is stored in the memory 2350, the effectiveness of searching for nodes distributed only in the third area is low.

도 27을 살피면, 제3영역에만 존재하는 바운딩 박스(B)가 존재할 수 있다. 레이 트레이싱 장치(2300)는 이러한 바운딩 박스(B)를 파악할 수 있으며, 파악되는 경우 대응되는 노드 및 이에 포함된 하위 노드와 객체(P)를 가속 구조(AS)에서 모두 제거하는 과정을 수행할 수 있다. 레이 트레이싱 장치(2300)는 이와 같이 수정된 가속 구조(AS)를 탐색하여 2차 레이와 교차하는 노드에 포함된 객체를 파악하여 제2교차점을 확인할 수 있다. 또한, 제2교차점이 제1영역 내지 제3영역 중 어느 영역에 위치하는지 파악할 수 있다. 즉, 2차 레이와 노드 간 교차 검사를 수행하기 전에 렌더링에 필요하지 않은 노드 및 객체를 제거함으로써 교차 검사의 효율성을 증대시킬 수 있다.Looking at FIG. 27, there may be a bounding box B that exists only in the third area. The ray tracing device 2300 can identify such a bounding box (B), and if identified, can perform a process of removing all the corresponding node and its included child nodes and objects (P) from the acceleration structure (AS). there is. The ray tracing device 2300 can identify the second intersection point by searching the modified acceleration structure (AS) and identifying objects included in the node that intersect the second ray. Additionally, it is possible to determine which area of the first to third areas the second intersection point is located in. In other words, the efficiency of cross-checking can be increased by removing nodes and objects that are not required for rendering before performing cross-checking between secondary rays and nodes.

본 개시의 일 실시예에 따르면, 레이 트레이싱 장치(2300)는 가속 구조(AS)를 이용하여 대상체와 가까운 물체(제1객체), 멀리 떨어진 물체(제2객체) 및 대상체의 렌더링에 관계가 없는 물체(제3객체)를 판단할 수 있다. 이와 관련, 도 28을 활용하여 제1교차점과 제2교차점 사이의 거리를 파악하는 방법에 대한 또 다른 실시예를 설명하도록 한다.According to an embodiment of the present disclosure, the ray tracing device 2300 uses an acceleration structure (AS) to determine objects close to the object (first object), objects far away (second object), and objects unrelated to rendering. Objects (third objects) can be judged. In this regard, another embodiment of a method of determining the distance between the first intersection and the second intersection will be described using FIG. 28.

도 28은 오브젝트 간 거리를 판정하는 방법의 또 다른 실시예를 설명하기 위한 가속 구조의 예시도이다.Figure 28 is an example of an acceleration structure to explain another embodiment of a method for determining the distance between objects.

먼저 도 28에서 예시된 가속 구조(AS)를 살피면, 탑 노드인 1번 노드를 최상위 1계층으로 하여 하위 노드로 가면서 총 4계층까지 노드가 분포되어 있다. 2, 3계층에는 내부 노드가 분포되어 있으며, 리프 노드들은 4계층에 배치되어 있다. 물론, 도 28의 가속 구조(AS)는 예시에 불과하며 리프 노드들은 내부 노드와 같은 계층에 분포될 수도 있다.First, looking at the acceleration structure (AS) illustrated in FIG. 28, nodes are distributed up to a total of 4 layers, starting with node 1, which is the top node, as the top 1 layer and going to lower nodes. Internal nodes are distributed in layers 2 and 3, and leaf nodes are located in layer 4. Of course, the acceleration structure (AS) in FIG. 28 is only an example, and leaf nodes may be distributed in the same layer as internal nodes.

레이 트레이싱 장치(2300)는 대상체와 물체가 공통적으로 속하는 노드가 가속 구조(AS) 내 기 설정된 제1계층 및 상기 제1계층에 포함된 하위 계층에 위치하는 경우, 해당 물체를 제1객체로 판정할 수 있다. 도 28에서, 대상체(2801)가 리프 노드인 8번 노드에 속하고 제1계층이 3계층으로 설정된 경우라면, 8번 노드에 속하는 객체와 9번 노드에 속하는 객체들(2802)이 제1객체로 판정된다. 즉, 4번 노드의 바운딩 박스 안에 포함되는 객체들(2802)이 대상체(2801)와 인접한 물체로 인식되어 메모리(2350)에 기억된다. 물론, 제1계층이 4계층으로 설정된 경우라면, 같은 리프 노드에 포함되는 객체만이 제1객체로 판정될 수 있다.The ray tracing device 2300 determines that the object is the first object when the node in common between the object and the object is located in a first layer and a lower layer included in the first layer within the acceleration structure (AS). can do. In Figure 28, if the object 2801 belongs to node 8, which is a leaf node, and the first layer is set to layer 3, the object belonging to node 8 and the objects 2802 belonging to node 9 are the first object. It is judged as That is, the objects 2802 included in the bounding box of node 4 are recognized as objects adjacent to the object 2801 and are stored in the memory 2350. Of course, if the first layer is set to layer 4, only objects included in the same leaf node can be determined as the first object.

레이 트레이싱 장치(2300)는 대상체와 물체가 공통적으로 속하는 노드가 제1계층 보다 상위 계층인 제2계층에 위치하는 경우, 해당 물체를 제2객체로 판정할 수 있다. 도 28에서, 3번 노드에 속하는 객체들(2803)은 대상체(2801)와 탑 노드인 1번 노드에서만 공통적으로 속하게 된다. 제1계층이 3계층이고 제2계층이 3계층 보다 상위 계층인 1계층으로 설정된 경우라면, 3번 노드에 속하는 객체들(2803)은 제2객체로 판정된다. 즉, 3번 노드의 바운딩 박스 안에 포함되는 객체들(2803)은 대상체(2801)와 멀리 떨어진 물체로 인식되어 메모리(2350)에 기억된다.The ray tracing device 2300 may determine the object to be a second object when the node to which the object and the object belong in common is located in a second layer, which is a higher layer than the first layer. In FIG. 28, the objects 2803 belonging to node 3 belong in common only to the object 2801 and node 1, which is the top node. If the first layer is the 3rd layer and the second layer is set to the 1st layer, which is a layer higher than the 3rd layer, the objects 2803 belonging to node 3 are determined to be the 2nd object. That is, the objects 2803 included in the bounding box of node 3 are recognized as objects far away from the object 2801 and are stored in the memory 2350.

레이 트레이싱 장치(2300)는 제1계층과 제2계층 사이에 적어도 하나 이상의 계층이 존재하고 대상체와 물체가 공통적으로 속하는 노드가 제1계층과 제2계층 사이 계층 중 하나의 계층에 위치하는 경우, 해당 물체를 제3객체로 판정할 수 있다. 도 28에서, 제1계층은 3계층으로 제2계층은 1계층으로 설정된 경우, 그 사이에는 2계층의 중간 계층이 존재한다. 또한, 5번 노드에 속하는 객체들(2804)은 2계층의 2번 노드에서 대상체(2801)와 공통된다. 따라서, 5번 노드의 바운딩 박스 안에 포함되는 객체들(2804)은 대상체(2801)의 색상에 관련성이 떨어져 픽셀의 색상값에 관여하지 않는 물체로 인식되어 메모리(2350)에 기억된다.The ray tracing device 2300 operates when at least one layer exists between the first layer and the second layer and the node to which the object and the object commonly belong is located in one of the layers between the first layer and the second layer, The object can be determined to be a third object. In Figure 28, when the first layer is set to 3 layers and the second layer is set to 1 layer, there are 2 intermediate layers between them. Additionally, the objects 2804 belonging to node 5 are common with the object 2801 in node 2 of the second layer. Accordingly, the objects 2804 included in the bounding box of node 5 have little relevance to the color of the object 2801 and are recognized as objects not involved in the color value of the pixel and are stored in the memory 2350.

이와 같이, 레이 트레이싱 장치(2300)는 가상공간이 계층적으로 분할된 가속 구조(AS)를 가지므로, 복잡한 연산 없이 가속 구조(AS)의 트리 형태를 활용하여 대상체와 물체 사이의 거리가 어느 정도인지 신속하게 판정할 수 있다.In this way, since the ray tracing device 2300 has an acceleration structure (AS) in which the virtual space is hierarchically divided, the distance between the objects can be adjusted to a certain extent by utilizing the tree form of the acceleration structure (AS) without complex calculations. It can be determined quickly.

다시 도 25를 참조하면, 단계 2530에서, 레이 트레이싱 장치(2300)는 단계 2520에서 파악된 거리에 기초하여 2차 레이 및 서브 레이의 경로를 결정하고 결정된 경로에 따라 제1교차점에 대응하는 픽셀의 색상값을 도출할 수 있다. 이에 대한 일 실시예를 도 29 를 활용하여 설명하도록 한다.Referring again to FIG. 25, in step 2530, the ray tracing device 2300 determines the path of the secondary ray and the sub-ray based on the distance determined in step 2520 and determines the path of the pixel corresponding to the first intersection according to the determined path. Color values can be derived. An embodiment of this will be described using FIG. 29.

도 29는 본 개시의 일 실시예에 따른 픽셀의 색상값을 도출하는 방법에 대한 흐름도이다.Figure 29 is a flowchart of a method for deriving the color value of a pixel according to an embodiment of the present disclosure.

먼저, 제2교차점이 제1영역에 위치하여 물체가 제1객체로 판정된 경우, 레이 트레이싱 장치(2300)는 물체의 속성 정보에 따라 2차 레이에서 파생되는 서브 레이를 순차적으로 생성할 수 있다. 즉, 각 서브 레이가 객체와 교차하여 발생하는 후속 교차점을 순차적으로 확인할 수 있다. 이 때, 레이 트레이싱 장치(2300)는 후속 교차점(제n교차점, n은 2보다 큰 자연수) 별로 제1교차점과 거리를 파악하여 파악된 거리에 따라 빛의 경로를 결정할 수 있다.First, when the second intersection point is located in the first area and the object is determined to be the first object, the ray tracing device 2300 may sequentially generate sub-rays derived from the secondary ray according to the attribute information of the object. . In other words, subsequent intersection points that occur when each sub-ray intersects an object can be sequentially confirmed. At this time, the ray tracing device 2300 can determine the distance from the first intersection for each subsequent intersection (nth intersection, n is a natural number greater than 2) and determine the path of light according to the determined distance.

예를 들어, 3차 레이가 객체와 교차된 제3교차점이 제1영역에 위치하는 경우 레이 트레이싱 장치(2300)는 4차 레이를 생성하여 제4교차점을 확인한다. 만약, 제3교차점을 포함하는 객체의 반사율 및 굴절률이 "0"인 경우, 쉐도우 레이만이 생성되어 제4교차점 없이 광원으로 입사하는 경로로 종결될 수 있다. 객체의 반사율 및 굴절률이 "0"이 아닌 경우, 레이 트레이싱 장치(2300)는 제4교차점이 어느 영역에 위치하는지 파악한다. 즉, 레이 트레이싱 장치(2300)는 후속 교차점이 모두 제1영역에 위치하는 경우, 발생한 서브 레이가 모두 광원으로 입사하거나 화면에서 벗어날 때까지, 제2교차점부터 제n교차점에 대응하는 각 객체의 색상값, 대상체의 본래의 색 및 각 교차점에서의 쉐도우 레이가 광원에 노출되는지 여부를 종합하여 제1교차점에 대응하는 픽셀의 색상값을 결정한다.For example, if the third intersection point where the third ray intersects the object is located in the first area, the ray tracing device 2300 generates the fourth ray and confirms the fourth intersection point. If the reflectance and refractive index of the object including the third intersection are “0”, only a shadow ray may be generated and end up in a path incident to the light source without the fourth intersection. If the reflectance and refractive index of the object are not “0”, the ray tracing device 2300 determines in which area the fourth intersection point is located. That is, when all subsequent intersection points are located in the first area, the ray tracing device 2300 controls the color of each object corresponding to the second intersection to the nth intersection until all generated sub-rays enter the light source or leave the screen. The color value of the pixel corresponding to the first intersection is determined by combining the value, the original color of the object, and whether the shadow ray at each intersection is exposed to the light source.

제 3교차점이 제2영역에 위치하는 경우, 제3교차점을 기존 설정된 광원과 다른 별개의 광원으로 설정한다. 즉, 레이 트레이싱 장치(2300)는 제2교차점에 대응하는 객체의 색상값, 대상체의 본래의 색 및 각 교차점의 쉐도우 레이가 2개의 광원에 각각 노출되는지 여부를 종합하여 제1교차점에 대응하는 픽셀의 색상값을 결정한다.If the third intersection point is located in the second area, the third intersection point is set as a separate light source different from the previously set light source. That is, the ray tracing device 2300 synthesizes the color value of the object corresponding to the second intersection, the original color of the object, and whether the shadow ray at each intersection is exposed to the two light sources, respectively, to determine the pixel corresponding to the first intersection. Determine the color value of .

제3교차점이 제3영역에 위치하는 경우, 해당하는 3차 레이는 발생하지 않은 것으로 간주한다. 즉, 제2교차점에 대응하는 객체의 색상값, 대상체의 본래의 색 및 각 교차점의 쉐도우 레이가 기존의 광원에 노출되는지 여부를 종합하여 제1교차점에 대응하는 픽셀의 색상값을 결정한다.If the third intersection point is located in the third area, the corresponding third ray is considered not to have occurred. That is, the color value of the pixel corresponding to the first intersection is determined by combining the color value of the object corresponding to the second intersection, the original color of the object, and whether the shadow ray of each intersection is exposed to the existing light source.

제2교차점이 제2영역에 위치하여 물체가 제2객체로 판정된 경우, 레이 트레이싱 장치(2300)는 제2교차점을 가상공간에 기 포함된 광원과는 다른 별개의 광원으로 설정할 수 있다.If the second intersection point is located in the second area and the object is determined to be a second object, the ray tracing device 2300 may set the second intersection point as a separate light source different from the light source already included in the virtual space.

일 실시예에 따르면, 레이 트레이싱 장치(2300)는 물체가 제2객체로 판정된 경우, 시점과 제2교차점 사이의 거리를 판정할 수 있다. 예를 들어, 시점과 제2교차점 사이의 거리가 기 설정된 기준값 이상인 경우, 레이 트레이싱 장치(2300)는 해당 물체의 색상은 사용자의 몰입도나 가상공간의 현실감에 영향을 주지 않는 요소로 판단하고 제2교차점을 가상공간에 기 포함된 광원과는 다른 별개의 광원으로 설정할 수 있다. 이 경우, 레이 트레이싱 장치(2300)는 대상체의 본래의 색 및 제1교차점의 쉐도우 레이가 2개의 광원에 각각 노출되는지 여부를 종합하여 제1교차점에 대응하는 픽셀의 색상값을 결정할 수 있다.According to one embodiment, when the object is determined to be a second object, the ray tracing device 2300 may determine the distance between the viewpoint and the second intersection. For example, if the distance between the viewpoint and the second intersection is greater than or equal to a preset reference value, the ray tracing device 2300 determines that the color of the object is a factor that does not affect the user's immersion or the reality of the virtual space and determines the second intersection. The intersection can be set to a separate light source from the light source already included in the virtual space. In this case, the ray tracing device 2300 may determine the color value of the pixel corresponding to the first intersection by combining the original color of the object and whether the shadow ray of the first intersection is exposed to the two light sources.

반면, 시점과 제2교차점 사이의 거리가 기 설정된 기준값 이하인 경우, 해당 물체의 색상은 사용자의 몰입도나 가상공간의 현실감에 고려해야 하는 요소로 판단될 수 있다. 다만, 품질이나 현실감 측면에서 볼 때, 대상체와 멀리 떨어진 물체에서 발생하는 빛까지 고려하는 것은 렌더링의 효율을 감소시키므로, 레이 트레이싱 장치(2300)는 해당 물체에서 빛의 반사 및 굴절 현상은 발생하지 않는 것으로 설정할 수 있다. 즉, 물체가 제2객체로 판정되고 시점과 제2교차점 사이의 거리가 기 설정된 기준값 이하인 경우, 해당 물체를 광원으로 설정하는 것이 아닌 반사율 및 굴절률이 "0"인 객체로 설정할 수 있다. 이 경우, 레이 트레이싱 장치(2300)는 물체의 색상값, 대상체의 본래의 색 및 각 교차점의 쉐도우 레이가 기존의 광원에 노출되는지 여부를 종합하여 제1교차점에 대응하는 픽셀의 색상값을 결정할 수 있다.On the other hand, if the distance between the viewpoint and the second intersection is less than a preset standard value, the color of the object may be judged as a factor that should be considered for the user's immersion or the reality of the virtual space. However, in terms of quality and realism, considering light generated from objects far away from the object reduces rendering efficiency, so the ray tracing device 2300 does not cause reflection or refraction of light from the object. It can be set to . That is, if the object is determined to be a second object and the distance between the viewpoint and the second intersection is less than or equal to a preset reference value, the object may be set as an object with reflectance and refractive index of "0" rather than as a light source. In this case, the ray tracing device 2300 may determine the color value of the pixel corresponding to the first intersection by combining the color value of the object, the original color of the object, and whether the shadow ray at each intersection is exposed to the existing light source. there is.

제2교차점이 제3영역에 위치하여 물체가 제3객체로 판정된 경우, 레이 트레이싱 장치(2300)는 제3객체로 투사되는 2차 레이는 발생하지 않았던 것으로 간주할 수 있다. 즉, 2차 레이 중 물체로 투사하는 반사 레이 또는 굴절 레이는 처음부터 발생하지 않은 것으로 간주되어 렌더링 과정에서 제외될 수 있다. 이 경우, 대상체의 본래의 색 및 제1교차점의 쉐도우 레이가 기존의 광원에 노출되는지 여부만이 종합되어 제1교차점에 대응하는 픽셀의 색상값이 결정될 수 있다. If the second intersection point is located in the third area and the object is determined to be a third object, the ray tracing device 2300 may consider that the secondary ray projected to the third object has not occurred. In other words, among the secondary rays, reflected rays or refracted rays projected to an object are considered not to have occurred in the first place and can be excluded from the rendering process. In this case, the color value of the pixel corresponding to the first intersection may be determined by combining only the original color of the object and whether the shadow ray of the first intersection is exposed to the existing light source.

도 30을 활용하여 거리를 판정하는 도 29의 실시예에 대하여 설명하도록 한다.The embodiment of FIG. 29 that determines the distance using FIG. 30 will now be described.

도 30은 본 개시의 일 실시예에 따른 픽셀의 색상값을 도출하는 방법을 설명하기 위하여 가상공간을 평면에 투영한 예시도이다. 화살표의 실선은 1차 레이를, 화살표의 점선은 2차 레이를, 화살표의 일점쇄선은 서브 레이(3차 레이)를 나타낸다. 또한, 도 30에 도시된 후속 교차점(3031)을 포함하는 객체(3030)는 설명을 위한 것으로 반사율 및 굴절률이 "0"인 물질로 가정하도록 한다.Figure 30 is an example diagram of virtual space projected onto a plane to explain a method of deriving the color value of a pixel according to an embodiment of the present disclosure. The solid line of the arrow represents the first ray, the dotted line of the arrow represents the second ray, and the dashed line of the arrow represents the sub-lay (3rd ray). Additionally, the object 3030 including the subsequent intersection 3031 shown in FIG. 30 is assumed to be a material with reflectance and refractive index of “0” for explanation purposes.

레이 트레이싱 장치(2300)는 시점(미도시)으로부터 가상공간(3000)으로 1차 레이를 투사한다. 1차 레이는 대상체(3010)와 교차하게 되며 레이 트레이싱 장치(2300)는 제1교차점(3011)을 확인한다. 레이 트레이싱 장치(2300)는 제1교차점(3011)을 중심으로 하는 제1구(S1) 및 제2구(S2)를 형성하여 가상공간(3000)에 투영시킨다. 레이 트레이싱 장치(2300)는 제1구(S1) 및 제2구(S2)에 따라 제1영역, 제2영역 및 제3영역을 설정한다.The ray tracing device 2300 projects a primary ray from a viewpoint (not shown) to the virtual space 3000. The first ray intersects the object 3010, and the ray tracing device 2300 confirms the first intersection point 3011. The ray tracing device 2300 forms a first sphere (S1) and a second sphere (S2) centered on the first intersection 3011 and projects them into the virtual space 3000. The ray tracing device 2300 sets a first area, a second area, and a third area according to the first sphere S1 and the second sphere S2.

이 후, 레이 트레이싱 장치(2300)는 제1교차점(3000)에서 발생하는 2차 레이를 생성한다. 2차 레이는 도시된 바와 같이 반사 레이 또는 굴절 레이를 포함할 수 있다. 레이 트레이싱 장치(2300)는 2차 레이가 물체와 교차하여 형성된 제2교차점의 위치를 파악한다.Afterwards, the ray tracing device 2300 generates a secondary ray generated at the first intersection 3000. Secondary rays may include reflected rays or refracted rays as shown. The ray tracing device 2300 determines the location of the second intersection formed when the secondary ray intersects the object.

레이 트레이싱 장치(2300)는 제2교차점(3021)이 제1영역에 위치하는 경우 2차 레이가 도달한 물체(3020)를 제1객체로 판정한다. 레이 트레이싱 장치(2300)는 제2교차점(3021)의 물체(3020)의 속성 정보에 따라 서브 레이를 생성하고 서브레이가 또 다른 객체(3030)와 교차하는 후속 교차점(3031)을 확인한다. 객체(3030)의 반사율 및 굴절률은 "0"이므로 후속 교차점(3031)에서 발생하는 레이는 광원(L1)으로 향하며, 레이 트레이싱 장치(2300)는 1차 레이부터 각 교차점에서 발생한 모든 레이들의 경로를 종합하여 메모리(2350)에 저장한다.When the second intersection 3021 is located in the first area, the ray tracing device 2300 determines that the object 3020 that the second ray reaches is the first object. The ray tracing device 2300 generates a sub-ray according to attribute information of the object 3020 at the second intersection 3021 and confirms a subsequent intersection 3031 where the sub-ray intersects another object 3030. Since the reflectance and refractive index of the object 3030 are "0", the ray generated at the subsequent intersection 3031 is directed to the light source L1, and the ray tracing device 2300 traces the path of all rays generated at each intersection starting from the first ray. It is synthesized and stored in memory 2350.

레이 트레이싱 장치(2300)는 제2교차점(3041, 3051)이 제2영역에 위치하는 경우 2차 레이가 도달한 물체(3040, 3050)를 제2객체로 판정한다. 시점과 제2교차점(3041) 사이의 거리가 기 설정된 기준값 이하라고 판단되면, 레이 트레이싱 장치(2300)는 해당 물체(3040)의 반사율 및 굴절률을 "0"으로 설정한다. 이에 따라 제2교차점(3041)에서 발생하는 레이는 광원(L1)으로 향하게 되며, 레이 트레이싱 장치(2300)는 1차 레이부터 각 교차점에서 발생한 모든 레이들의 경로를 종합하여 메모리(2350)에 저장한다. When the second intersection point (3041, 3051) is located in the second area, the ray tracing device 2300 determines the object (3040, 3050) to which the secondary ray has arrived as the second object. If it is determined that the distance between the viewpoint and the second intersection 3041 is less than or equal to a preset reference value, the ray tracing device 2300 sets the reflectance and refractive index of the corresponding object 3040 to “0”. Accordingly, the ray generated at the second intersection 3041 is directed to the light source L1, and the ray tracing device 2300 compiles the paths of all rays generated at each intersection starting from the first ray and stores them in the memory 2350. .

반대로, 시점과 제2교차점(3051) 사이의 거리가 기 설정된 기준값 이상이라고 판단되면, 레이 트레이싱 장치(2300)는 해당 물체(3050)를 별개의 광원(L2)으로 설정한다. 이에 따라 제1교차점(3011)에서 발생하는 쉐도우 레이는 기존의 광원(L1) 및 설정된 광원(L2)의 두 방향으로 향하게 된다.Conversely, if it is determined that the distance between the viewpoint and the second intersection 3051 is greater than or equal to a preset reference value, the ray tracing device 2300 sets the object 3050 as a separate light source L2. Accordingly, the shadow ray generated at the first intersection 3011 is directed in two directions: the existing light source L1 and the set light source L2.

레이 트레이싱 장치(2300)는 제2교차점(3061)이 제3영역에 위치하는 경우 2차 레이가 도달한 물체(3060)를 제3객체로 판정한다. 이에 따라 제3객체로 판정된 물체(3060)로 향하는 2차 레이는 처음부터 발생하지 않은 것으로 간주된다. 따라서, 레이 트레이싱 장치(2300)는 1차 레이 및 2차 레이의 경로만을 종합하여 메모리(2350)에 저장한다.When the second intersection point 3061 is located in the third area, the ray tracing device 2300 determines that the object 3060 reached by the secondary ray is a third object. Accordingly, the secondary ray directed to the object 3060 determined to be a third object is considered not to have occurred from the beginning. Accordingly, the ray tracing device 2300 compiles only the paths of the first ray and the second ray and stores them in the memory 2350.

일 실시예에 따르면, 단계 2530에서 2차 레이에 의해 제1객체와 교차하여 형성된 제2교차점의 색상값과 제2객체와 교차하여 형성된 제2교차점의 색상값이 모두 수집되는 경우, 레이 트레이싱 장치(2300)는 수집된 각 색상값의 평균값 또는 수집된 각 색상값 중 가장 높은 레벨을 보이는 색상값을 제1교차점에 대응하는 픽셀의 색상값을 도출하는 연산에 포함시킬 수 있다. 제1교차점에 반사 레이 및 굴절 레이가 모두 생성될 수 있으며, 그에 따라 적어도 두 개 이상의 제2교차점이 발생하는데, 레이 트레이싱 장치(2300)는 위 과정을 통해 각 물체의 색상값을 전처리하여 제1교차점의 색상값을 도출하는 시간을 절감시킬 수 있다.According to one embodiment, in step 2530, when both the color value of the second intersection formed by intersecting the first object and the color value of the second intersection formed by intersecting the second object are collected by the secondary ray, the ray tracing device (2300) may include the average value of each collected color value or a color value showing the highest level among each collected color value in the calculation for deriving the color value of the pixel corresponding to the first intersection. Both a reflected ray and a refractive ray may be generated at the first intersection, and at least two or more second intersections may be generated accordingly. The ray tracing device 2300 preprocesses the color value of each object through the above process to create the first intersection. The time to derive the color value of the intersection can be reduced.

도 30을 참조하여 예를 들면, 제1교차점(3011)에서 반사 레이가 생성되어 제1객체(3021)와 교차할 수 있고, 동시에 굴절 레이가 생성되어 제2객체(3040)와 교차할 수 있다. 이 경우, 레이 트레이싱 장치(2300)는 서브 레이와 교차한 객체(3030)의 색상, 2차 레이 중 반사 레이가 교차한 물체(3021)의 본래의 색 및 제2교차점(3021)과 후속 교차점(3031)의 쉐도우 레이가 광원(L1)에 노출되는지 여부를 종합하여 제2교차점(3021)의 색상값을 결정한다. 또한, 레이 트레이싱 장치(2300)는 2차 레이 중 굴절 레이와 교차한 물체(3041)의 본래의 색 및 제2교차점(3041)의 쉐도우 레이가 광원(L1)에 노출되는지 여부를 종합하여 제2교차점(3041)의 색상값을 결정한다. 이후, 각각의 제2교차점의 색상값에 대한 평균값을 구하여 이를 제2교차점의 최종 색상값으로 설정하거나, 각 제2교차점의 색상값 중 더 큰 색상값을 제2교차점의 최종 색상값으로 설정할 수 있다.Referring to FIG. 30, for example, a reflection ray may be generated at the first intersection 3011 and intersect the first object 3021, and at the same time, a refractive ray may be generated and intersect the second object 3040. . In this case, the ray tracing device 2300 displays the color of the object 3030 that intersects the sub-ray, the original color of the object 3021 that the reflected ray of the secondary ray intersects, and the second intersection 3021 and subsequent intersection points ( The color value of the second intersection 3021 is determined by comprehensively determining whether the shadow ray of 3031) is exposed to the light source L1. In addition, the ray tracing device 2300 synthesizes the original color of the object 3041 that intersects the refracted ray among the secondary rays and whether the shadow ray at the second intersection 3041 is exposed to the light source L1 to create a second Determine the color value of the intersection point (3041). Afterwards, the average value of the color values of each second intersection can be obtained and set as the final color value of the second intersection, or the larger color value among the color values of each second intersection can be set as the final color value of the second intersection. there is.

본 개시의 추가 실시예로서, 단계 2510전에, 화면으로 투사되는 1차 레이의 수를 기 설정된 비율로 줄이는 과정을 더 수행할 수 있으며, 단계 2530이후 기 설정된 딥러닝 기반의 스케일러(scaler) 또는 업샘플링(up-sampling)을 수행하여 화질을 보완할 수 있다. 예를 들어, 1/4로 레이의 수를 줄임으로써 연산량을 대폭 절감시킬 수 있다. 이 때, 레이 트레이싱 장치(2300)는 인접한 4개의 픽셀 중 1차 레이를 투사할 하나의 픽셀을 선정할 수 있다. 레이 트레이싱 장치(2300)는 오브젝트의 속성 정보를 검색하여 4개의 픽셀에 대응하는 객체들의 본래의 색상값을 추출하고, 이들을 대표하는 특징값을 선정할 수 있다. 예를 들어, 4개의 색상값의 평균을 산출하고, 4개의 색상값 중 평균에 가장 근접한 색상값을 특징값으로 선정할 수 있다. 또는, 4개의 색상값 중 4개의 픽셀에 대응하는 오브젝트의 정보에 포함된 기본 색과 가장 근접한 색상값을 특징값으로 선정할 수 있다. 또는, 4개의 색상값 중 해당 오브젝트와 가장 인접한 오브젝트의 색과 가장 큰 차이를 보이는 색상값을 특징값으로 선정할 수 있다. 레이 트레이싱 장치(2300)는 특징값에 대응하는 픽셀로 1차 레이를 투사할 수 있다. 이후, 단계 2510 내지 2530을 거쳐 레이 트레이싱을 통한 각 픽셀의 색상값이 결정되면, 레이 트레이싱 장치(2300)는 결정된 각 픽셀의 색상값을 텐서(tensor)로 변환하여 기 학습된 인공신경망 모델에 입력할 수 있다. 이를 통해 1/4로 압축된 픽셀이 보간되어 원래 크기의 영상이 출력될 수 있다. 여기서 인공신경망 모델은 CGAN(Deep Convolution GAN), SRGAN(Super Resolution GAN)을 포함하는 GAN(Generative Adversarial Network) 알고리즘 또는 GAN을 활용한 딥 러닝 슈퍼 샘플링(Deep learning super sampling, Dlss) 기법이 바람직하나, 이에 한정되는 것은 아니다. 이와 같이, 본 추가 실시예를 통해 해상도를 유지함과 동시에 연산량 및 대역폭을 절감하는 효과를 도모할 수 있다.As an additional embodiment of the present disclosure, before step 2510, a process of reducing the number of primary rays projected to the screen by a preset ratio may be further performed, and after step 2530, a preset deep learning-based scaler or scaler may be used. Image quality can be improved by performing up-sampling. For example, the amount of computation can be greatly reduced by reducing the number of rays by 1/4. At this time, the ray tracing device 2300 may select one pixel to project the first ray among four adjacent pixels. The ray tracing device 2300 can search attribute information of objects, extract original color values of objects corresponding to four pixels, and select feature values representing them. For example, the average of four color values can be calculated, and the color value closest to the average among the four color values can be selected as the feature value. Alternatively, among the four color values, the color value closest to the basic color included in the object information corresponding to the four pixels may be selected as the feature value. Alternatively, among the four color values, the color value that shows the greatest difference from the color of the object closest to the corresponding object can be selected as the feature value. The ray tracing device 2300 may project a primary ray to a pixel corresponding to a feature value. Thereafter, when the color value of each pixel is determined through ray tracing through steps 2510 to 2530, the ray tracing device 2300 converts the determined color value of each pixel into a tensor and inputs it to the previously learned artificial neural network model. can do. Through this, pixels compressed to 1/4 can be interpolated and an image of the original size can be output. Here, the artificial neural network model is preferably a GAN (Generative Adversarial Network) algorithm, including CGAN (Deep Convolution GAN) and SRGAN (Super Resolution GAN), or a deep learning super sampling (Dlss) technique using GAN. It is not limited to this. In this way, through this additional embodiment, it is possible to achieve the effect of reducing the amount of computation and bandwidth while maintaining resolution.

본 개시의 추가 실시예로서, 레이 트레이싱 장치(2300)는 TRV부(2320) 및 IST부(2330)의 부하와 가속구조 생성부(2360)에 걸리는 부하를 실시간으로 상호 비교하는 과정을 더 수행할 수 있다. 레이 트레이싱 장치(2300)는 TRV부(2320) 및 IST부(2330)가 프레임을 처리하는 속도와 가속구조 생성부(2360)가 프레임을 처리하는 속도를 비교하여 부하의 상태를 판단할 수 있다. TRV부(2320) 및 IST부(2330)의 처리 속도가 더 낮은 경우에는, TRV부(2320) 및 IST부(2330)에 부하가 더 많이 걸리는 것으로 판단될 수 있으며, 이 때 레이 트레이싱 장치(2300)는 렌더링의 품질을 낮추는 제어를 실시할 수 있다. 예를 들어, 단계 2520에서 레이 트레이싱 장치(2300)는 대상체를 중심으로 하는 제1반경을 더 작게 설정하여 제1객체로 판정되는 물체의 수를 감소시키거나, 제1반경을 더 작게 하거나 제2반경을 더 크게 하여 렌더링에 활용되지 않는 제3객체의 개수를 증가시킬 수 있다. 반대로, 가속구조 생성부(2360)의 처리 속도가 더 낮은 경우에는, 가속구조 생성부(2360)에 부하가 더 많이 걸리는 것으로 판단될 수 있으며, 이 때 레이 트레이싱 장치(2300)는 가속 구조(AS)의 복잡도를 낮추는 제어를 실시할 수 있다. 예를 들어, 레이 트레이싱 장치(2300)는 최대 프리미티브의 수를 증가시키거나 트리의 깊이를 감소시키는 방식으로 가속 구조(AS)를 재구축 할 수 있다. 이와 같이, 본 추가 실시예를 통해 가상공간을 구현할 때 발생할 수 있는 딜레이를 프레임마다 실시간으로 최소화할 수 있다.As an additional embodiment of the present disclosure, the ray tracing device 2300 may further perform a process of comparing the load of the TRV unit 2320 and the IST unit 2330 and the load on the acceleration structure generation unit 2360 in real time. You can. The ray tracing device 2300 may determine the state of the load by comparing the speed at which the TRV unit 2320 and the IST unit 2330 process frames with the speed at which the acceleration structure generation unit 2360 processes frames. If the processing speed of the TRV unit 2320 and the IST unit 2330 is lower, it may be determined that more load is applied to the TRV unit 2320 and the IST unit 2330, and at this time, the ray tracing device 2300 ) can be controlled to lower the quality of rendering. For example, in step 2520, the ray tracing device 2300 sets the first radius centered on the object smaller to reduce the number of objects determined to be the first object, makes the first radius smaller, or makes the second radius smaller. By making the radius larger, the number of third objects that are not used in rendering can be increased. Conversely, if the processing speed of the acceleration structure generator 2360 is lower, it may be determined that more load is placed on the acceleration structure generator 2360, and in this case, the ray tracing device 2300 may use the acceleration structure (AS). ) can be controlled to reduce the complexity. For example, the ray tracing device 2300 may rebuild the acceleration structure (AS) by increasing the maximum number of primitives or decreasing the depth of the tree. In this way, through this additional embodiment, delays that may occur when implementing a virtual space can be minimized in real time for each frame.

이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, we have looked at various embodiments. A person skilled in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative rather than a restrictive perspective. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the equivalent scope should be construed as being included in the present invention.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording media includes storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical read media (eg, CD-ROM, DVD, etc.).

10: 기업 단말
20: 구직자 단말
100: 서버
130: 프로세서
2210: 시점
2220: 화면
2230: 오브젝트
2240: 1차 레이
2251: 반사 레이
2252: 굴절 레이
2253: 쉐도우 레이
2260: 광원
2300: 레이 트레이싱 장치
2700: 가상공간
3000: 가상공간
10: Enterprise terminal
20: Job seeker terminal
100: server
130: processor
2210: Viewpoint
2220: screen
2230: object
2240: 1st ray
2251: Reflected Ray
2252: Refracted Ray
2253: Shadow Ray
2260: light source
2300: Ray tracing device
2700: Virtual space
3000: Virtual space

Claims (8)

메타버스 구현을 위한 레이 트레이싱(ray tracing) 기반 렌더링 방법에 있어서,
가상공간을 향하여 시점으로부터 투사되는 1차 레이를 생성하고 상기 1차 레이가 특정 객체와 교차하는 제1 교차점(hit point)을 확인하는 단계;
상기 특정 객체의 속성 정보에 따라 상기 제1교차점에서 발생하는 2차 레이를 생성하여 상기 2차 레이가 다른 객체와 교차하는 제2교차점을 확인하고 상기 제1교차점과 상기 제2교차점 사이의 거리를 파악하는 단계; 및
상기 거리에 기초하여 상기 2차 레이 및 상기 2차 레이에서 파생되는 서브 레이의 경로를 결정하고 상기 경로에 따라 상기 제1교차점에 대응하는 픽셀의 색상값을 도출하는 단계를 포함하되,
상기 가상공간을 계층적 트리 노드 형태로 분할하는 가속 구조(Acceleration Structure)가 미리 구축되어 있으며,
상기 객체는 상기 가상공간에 포함되는 오브젝트이거나 오브젝트를 구성하는 프리미티브(primitive)인 것인, 레이 트레이싱 기반 렌더링 방법.
In a ray tracing-based rendering method for implementing the metaverse,
Generating a primary ray projected from a viewpoint toward virtual space and confirming a first intersection (hit point) where the primary ray intersects a specific object;
According to the attribute information of the specific object, a secondary ray generated at the first intersection is generated, a second intersection point where the secondary ray intersects another object is identified, and the distance between the first intersection point and the second intersection point is determined. step of understanding; and
Determining a path of the secondary ray and a sub-ray derived from the secondary ray based on the distance and deriving a color value of a pixel corresponding to the first intersection according to the path,
An acceleration structure that divides the virtual space into hierarchical tree nodes is built in advance,
A ray tracing-based rendering method, wherein the object is an object included in the virtual space or a primitive constituting an object.
제 1항에 있어서,
상기 거리를 파악하는 단계는,
상기 제1교차점을 중심으로 기 설정된 제1반경을 가지는 제1구 및 기 설정된 제2반경을 가지는 제2구를 형성하는 단계;
상기 제1구의 내부를 제1영역으로, 상기 제2구의 외부를 제2영역으로, 상기 제1구의 외부와 상기 제2구의 내부가 중첩되는 영역을 제3영역으로 설정하는 단계; 및
상기 제2교차점이 상기 제1영역에 위치하는 경우 상기 다른 객체를 제1객체로 판정하고, 상기 제2교차점이 상기 제2영역에 위치하는 경우 상기 다른 객체를 제2객체로 판정하고, 상기 제2교차점이 상기 제3영역에 위치하는 경우 상기 다른 객체를 제3객체로 판정하는 단계를 포함하며,
상기 제2반경은 상기 제1반경 보다 크게 설정되는 것이고,
상기 제1객체는 상기 특정 객체와 인접한 객체이고, 상기 제2객체는 상기 특정 객체와 멀리 떨어진 객체이고, 상기 제3객체는 상기 픽셀의 색상값에 관여하지 않는 객체를 의미하는, 레이 트레이싱 기반 렌더링 방법.
According to clause 1,
The step of determining the distance is,
forming a first sphere having a preset first radius and a second sphere having a preset second radius around the first intersection;
Setting the inside of the first sphere as a first area, the outside of the second sphere as a second area, and the overlapping area between the outside of the first sphere and the inside of the second sphere as a third area; and
If the second intersection point is located in the first area, the other object is determined to be a first object, and if the second intersection point is located in the second area, the other object is determined to be a second object, and the other object is determined to be a second object. 2. When the intersection point is located in the third area, determining the other object as a third object;
The second radius is set larger than the first radius,
The first object is an object adjacent to the specific object, the second object is an object far away from the specific object, and the third object is an object that is not involved in the color value of the pixel, ray tracing-based rendering. method.
제 2항에 있어서,
상기 거리를 파악하는 단계는,
상기 제3영역 내에만 위치하는 바운딩 박스(Bounding box)가 존재하는 경우, 상기 바운딩 박스에 대응하는 노드 및 상기 노드에 포함된 하위 노드와 객체를 모두 제거하여 상기 가속 구조를 수정하는 단계;
수정된 가속 구조를 탐색하여 상기 2차 레이와 교차하는 노드에 포함된 객체를 파악하고 상기 제2교차점을 확인하는 단계; 및
상기 제2교차점이 상기 제1영역 내지 제3영역 중 어느 영역에 위치하는지 파악하는 단계를 포함하는, 레이 트레이싱 기반 렌더링 방법.
According to clause 2,
The step of determining the distance is,
If a bounding box located only within the third area exists, modifying the acceleration structure by removing all nodes corresponding to the bounding box and lower nodes and objects included in the node;
Searching the modified acceleration structure to identify objects included in nodes that intersect the second ray and confirming the second intersection point; and
A ray tracing-based rendering method comprising determining which of the first to third areas the second intersection point is located in.
제 1항에 있어서,
상기 거리를 파악하는 단계는,
상기 특정 객체와 상기 다른 객체가 공통적으로 속하는 노드가 상기 가속 구조 내 기 설정된 제1계층 및 상기 제1계층에 포함된 하위 계층에 위치하는 경우, 상기 다른 객체를 제1객체로 판정하고,
상기 특정 객체와 상기 다른 객체가 공통적으로 속하는 노드가 상기 제1계층 보다 상위 계층인 제2계층에 위치하는 경우, 상기 다른 객체를 제2객체로 판정하고,
상기 제1계층과 상기 제2계층 사이에 적어도 하나 이상의 계층이 존재하고 상기 특정 객체와 상기 다른 객체가 공통적으로 속하는 노드가 상기 적어도 하나 이상의 계층 중 하나의 계층에 위치하는 경우, 상기 다른 객체를 제3객체로 판정하는 단계를 포함하며,
상기 제1객체는 상기 특정 객체와 인접한 객체이고, 상기 제2객체는 상기 특정 객체와 멀리 떨어진 객체이고, 상기 제3객체는 상기 픽셀의 색상값에 관여하지 않는 객체를 의미하는, 레이 트레이싱 기반 렌더링 방법.
According to clause 1,
The step of determining the distance is,
If a node to which the specific object and the other object commonly belong is located in a first layer and a lower layer included in the first layer within the acceleration structure, determining the other object to be a first object,
When a node that the specific object and the other object commonly belong to is located in a second layer, which is a higher layer than the first layer, the other object is determined to be a second object,
If at least one layer exists between the first layer and the second layer, and a node to which the specific object and the other object commonly belong is located in one of the at least one layer, the other object is 3Includes the step of determining that it is an object,
The first object is an object adjacent to the specific object, the second object is an object far away from the specific object, and the third object is an object that is not involved in the color value of the pixel, ray tracing-based rendering. method.
제 2항 또는 제 4항에 있어서,
상기 픽셀의 색상값을 도출하는 단계는,
상기 다른 객체가 상기 제1객체로 판정된 경우 상기 다른 객체의 속성 정보에 따라 상기 2차 레이에서 파생되는 서브 레이를 순차적으로 생성하여 상기 서브 레이가 또 다른 객체와 교차하는 후속 교차점을 재귀적으로 확인하고,
상기 다른 객체가 상기 제2객체로 판정된 경우 상기 제2교차점을 상기 가상공간에 기 포함된 광원과는 다른 별개의 광원으로 설정하고,
상기 다른 객체가 상기 제3객체로 판정된 경우 상기 제3객체로 투사되는 2차 레이는 발생하지 않았던 것으로 간주하는 단계를 포함하는, 레이 트레이싱 기반 렌더링 방법.
According to claim 2 or 4,
The step of deriving the color value of the pixel is,
When the other object is determined to be the first object, a sub-ray derived from the secondary ray is sequentially generated according to the attribute information of the other object, and the subsequent intersection point where the sub-ray intersects another object is recursively created. Check,
When the other object is determined to be the second object, the second intersection is set as a separate light source different from the light source already included in the virtual space,
A ray tracing-based rendering method comprising the step of considering that the secondary ray projected to the third object did not occur when the other object is determined to be the third object.
제 5항에 있어서,
상기 후속 교차점을 재귀적으로 확인하는 과정은,
상기 서브 레이 중 하나의 서브 레이가 상기 제3객체로 판정되는 객체와 교차하는 경우 상기 하나의 서브 레이는 발생하지 않은 것으로 간주하고,
상기 서브 레이 중 하나의 서브 레이가 상기 제2객체로 판정되는 객체와 교차하는 경우 상기 하나의 서브 레이에 의한 후속 교차점을 또 다른 광원으로 설정하는 것인, 레이 트레이싱 기반 렌더링 방법.
According to clause 5,
The process of recursively checking the subsequent intersection is,
If one of the sub-rays intersects an object determined to be the third object, the one sub-ray is considered not to have occurred,
A ray tracing-based rendering method where, when one of the sub-rays intersects an object determined to be the second object, a subsequent intersection by the one sub-ray is set to another light source.
제 2항 또는 제 4항에 있어서,
상기 픽셀의 색상값을 도출하는 단계는,
상기 다른 객체가 상기 제2객체로 판정된 경우, 상기 시점과 상기 제2교차점 사이의 거리에 따라 상기 제2교차점을 상기 가상공간에 기 포함된 광원과는 다른 별개의 광원으로 설정하거나 상기 다른 객체에서 빛의 반사 및 굴절 현상은 발생하지 않는 것으로 설정하는 단계를 포함하는, 레이 트레이싱 기반 렌더링 방법.
According to claim 2 or 4,
The step of deriving the color value of the pixel is,
When the other object is determined to be the second object, the second intersection is set as a separate light source different from the light source already included in the virtual space depending on the distance between the viewpoint and the second intersection, or the other object is set. A ray tracing-based rendering method, which includes setting that light reflection and refraction phenomena do not occur.
제 2항 또는 제 4항에 있어서,
상기 픽셀의 색상값을 도출하는 단계는,
상기 2차 레이에 의해 상기 제1객체와 교차하여 형성된 제2교차점의 색상값과 상기 제2객체와 교차하여 형성된 제2교차점의 색상값이 모두 수집되는 경우, 수집된 각 색상값의 평균값 또는 수집된 각 색상값 중 가장 높은 레벨을 보이는 색상값을 상기 픽셀의 색상값을 도출하는 연산에 포함시키는 것인, 레이 트레이싱 기반 렌더링 방법.
According to claim 2 or 4,
The step of deriving the color value of the pixel is,
When both the color value of the second intersection formed by intersecting the first object and the color value of the second intersection formed by intersecting the second object are collected by the secondary ray, the average value or collection of each color value collected A ray tracing-based rendering method that includes the color value showing the highest level among each color value in the calculation for deriving the color value of the pixel.
KR1020220113874A 2022-09-08 2022-09-08 Method and device for ray tracing to route light based on distance between objects KR20240034986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220113874A KR20240034986A (en) 2022-09-08 2022-09-08 Method and device for ray tracing to route light based on distance between objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220113874A KR20240034986A (en) 2022-09-08 2022-09-08 Method and device for ray tracing to route light based on distance between objects

Publications (1)

Publication Number Publication Date
KR20240034986A true KR20240034986A (en) 2024-03-15

Family

ID=90272780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220113874A KR20240034986A (en) 2022-09-08 2022-09-08 Method and device for ray tracing to route light based on distance between objects

Country Status (1)

Country Link
KR (1) KR20240034986A (en)

Similar Documents

Publication Publication Date Title
US10846937B2 (en) Three-dimensional virtual environment
US20210304510A1 (en) Three-dimensional virtual environment
US11449829B2 (en) Apparatus and method of conducting a transaction in a virtual environment
US20220292543A1 (en) Pop-up retial franchising and complex econmic system
US10049500B2 (en) Augmented reality e-commerce for home improvement
WO2019099912A1 (en) Integrated operating environment
US20090313556A1 (en) Redistribution of licensed items in a virtual universe
WO2005013147A1 (en) Information display
WO2008030135A1 (en) Method and system for simulating and operating a single virtual space
US20100161439A1 (en) Asset discovery and transfer within a virtual universe
KR20230159923A (en) Metaverse system for using non-fungible token and operation methode thereof
EP4266232A1 (en) Cryptographic digital assets management system
KR20240034986A (en) Method and device for ray tracing to route light based on distance between objects
Cheng Metaverse and Digital Asset
KR20230160148A (en) Metaverse system for providing information about parking lot and operation methode thereof
KR20240133812A (en) Metaverse system for implementing optimized virtual space according to user and operating method thereof
US20220270049A1 (en) A system and method for an interactive access to project design and space layout planning
KR20230111582A (en) A system that implements a metaverse using objects and its operating method
KR20230111583A (en) A system that implements a metaverse using objects and how the system operates
WO2024219415A1 (en) Control method, control device, and program
JP2023127990A (en) Content providing server, content providing program, and content providing system
Wei et al. A Study on the Adoption of Smart Home Technologies Among the Homeowners in Malaysia Kenn Jhun Kam iD https://orcid. org/0000-0003-4927-4611
CA3147829A1 (en) Systems and methods for modifying lighting in three-dimensional models
KR20230134732A (en) Blockchain-based art platform system using metaverse
WO2024186350A1 (en) A nonfungible token and digital item trading infrastructure for complex pop-up retail & event solutions