KR100312747B1 - Networked Multi-User Dimension three dimensional graphic virtual reality system - Google Patents

Networked Multi-User Dimension three dimensional graphic virtual reality system Download PDF

Info

Publication number
KR100312747B1
KR100312747B1 KR1019990056572A KR19990056572A KR100312747B1 KR 100312747 B1 KR100312747 B1 KR 100312747B1 KR 1019990056572 A KR1019990056572 A KR 1019990056572A KR 19990056572 A KR19990056572 A KR 19990056572A KR 100312747 B1 KR100312747 B1 KR 100312747B1
Authority
KR
South Korea
Prior art keywords
world
user
event
network
application engine
Prior art date
Application number
KR1019990056572A
Other languages
Korean (ko)
Other versions
KR20010055371A (en
Inventor
양태연
인소란
Original Assignee
강상훈
정보통신연구진흥원
양태연
주식회사 니츠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강상훈, 정보통신연구진흥원, 양태연, 주식회사 니츠 filed Critical 강상훈
Priority to KR1019990056572A priority Critical patent/KR100312747B1/en
Publication of KR20010055371A publication Critical patent/KR20010055371A/en
Application granted granted Critical
Publication of KR100312747B1 publication Critical patent/KR100312747B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템에 관한 것으로, 통신망을 통하여 상호 연결된 클라이언트에서 구축되는 네트워크 기반의 다중 사용자 응용 시스템에 있어서, 사용자가 현실 세계처럼 느낄 수 있도록 하기 위하여 객체의 움직임에 현실 세계의 물리 법칙이 적용되는 3차원 가상 현실 세계인 3차원 월드를 사용자가 바라보는 위치 및 방향을 제어하거나, 상기 3차원 월드에 존재하는 특정 객체의 상태를 변화시키는 이벤트인 사용자 이벤트를 발생시키는 사용자 입력을 수신하여, 탑재되는 다중 사용자 응용의 동작 방식을 정의한 시나리오에 따라 구성된 규칙 데이터베이스로부터 상기 사용자 이벤트를 처리하기 위한 규칙을 독출하여 실행하고, 통신망을 통하여 다른 클라이언트 또는 서버로부터 전달되는 이벤트인 네트워크 이벤트에 대하여 상기 규칙 데이터베이스로부터 해당 규칙을 독출하여 실행하는 응용 엔진부; 상기 응용 엔진부에 의한 상기 사용자 이벤트 및 네트워크 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 매 순간 상기 3차원 월드에 반영하고, 사용자가 상기 3차원 월드를 바라보는 위치 및 방향에서 보이는 상기 3차원 월드의 가시 공간내의 객체들을 3차원 위상 데이터 또는 애니메이션 데이터를 사용하여 디스플레이하는 3차원 월드 항해기; 및 상기 응용 엔진부에 의한 상기 사용자 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송하고, 통신망을 통하여 수신된 상기 네트워크 이벤트를 상기 응용 엔진부로 전달하는 데이터 송수신부를 포함함을 특징으로 한다.The present invention relates to a network-based multi-user three-dimensional graphical virtual reality system, in a network-based multi-user application system constructed in a client interconnected via a communication network, the movement of the object to make the user feel like the real world To control the position and direction of the user's view of the 3D world, which is a 3D virtual reality world to which the physical laws of the real world are applied, or to generate a user event, which is an event that changes the state of a specific object present in the 3D world. Receives user input, reads and executes a rule for processing the user event from a rule database configured according to a scenario defining an operation method of a loaded multi-user application, and an event transmitted from another client or server through a communication network. Application engine unit running reads the rules from the rules database for the network event; The 3D world is reflected in the 3D world at every moment according to the result of the processing of the user event and the network event by the application engine unit, and the 3D seen from the position and the direction in which the user views the 3D world. A three-dimensional world navigator for displaying objects in the visible space of the world using three-dimensional phase data or animation data; And a data transmission / reception unit configured to transmit the processing result of the user event by the application engine unit to another client or server through a communication network, and to transmit the network event received through the communication network to the application engine unit.

본 발명에 의하면, 통신망을 통하여 상호 연결된 각 클라이언트에서 응용 시나리오를 처리하기 위한 응용 엔진 및 사용자 출력을 처리하기 위한 3차원 월드 항해기를 장착하고, 통신망을 통하여 실시간적으로 공유되는 3차원 가상 현실 공간을 통신망을 통하여 송수신되는 네트워크 이벤트를 참조하여 독자적으로 관리함과 아울러, 주기적으로 상태 정보를 교환하여 3차원 가상 현실 공간의 상태를 보정함에 의하여, 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템을 효과적으로 구축할 수 있게 하는 효과가 있다.According to the present invention, a three-dimensional world navigator for processing an application engine and a user output for processing an application scenario in each client interconnected through a communication network, and a three-dimensional virtual reality space shared in real time through the communication network By independently managing the network events transmitted and received through the communication network and periodically exchanging state information to correct the state of the 3D virtual reality space, a network-based multi-user 3D graphic virtual reality system can be effectively constructed. It has the effect of making it possible.

Description

네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템{Networked Multi-User Dimension three dimensional graphic virtual reality system}Networked Multi-User Dimension three dimensional graphic virtual reality system

본 발명은 가상 현실 시스템에 관한 것으로, 특히 복수의 클라이언트와 서버가 상호 연결된 통신망 상에서 구축되는 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템에 관한 것이다.The present invention relates to a virtual reality system, and more particularly, to a network-based multi-user three-dimensional graphical virtual reality system in which a plurality of clients and servers are constructed on an interconnected communication network.

네트워크 기반의 다중 사용자 가상 현실 시스템은 잠재적인 응용 분야가 매우 넓다. 특히, 고성능 그래픽 워크스테이션(workstation)을 이용한 군사 시뮬레이션 등의 응용에서 그 유용성을 보여주고 있으며, 오락, 교육, 의학, 건축 등의 분야로 그 응용 범위를 넓혀 가고 있다. 그 대표적인 것으로 인터넷 기반의 게임, 인터넷 쇼핑몰을 통한 전자 상거래, 통신망을 통한 가상 회의 등을 들 수 있다.Network-based multi-user virtual reality systems have a wide range of potential applications. In particular, it shows its usefulness in applications such as military simulation using high-performance graphic workstations, and is expanding its application scope to entertainment, education, medicine, and architecture. Typical examples include Internet-based games, electronic commerce through Internet shopping malls, and virtual meetings through communication networks.

여기서는, 오락 분야, 특히 네트워크 기반의 다중 사용자 게임(이하, 네트워크 게임이라 간단히 참조함)을 중심으로 그 기술 동향을 간단히 살펴보기로 한다.Here, the technology trends will be briefly reviewed in the field of entertainment, particularly network-based multi-user games (hereinafter, simply referred to as network games).

초기의 네트워크 게임은 telnet 프로토콜을 이용하고, 텍스트에 기초하여 사용자 입출력이 이루어지는 방식(이하, 텍스트 머드 방식이라고 간단히 참조함)을 사용하였다. 텍스트 머드 방식의 게임은 telnet 프로토콜을 이용하여 게임 서버와 접속된 클라이언트에서 사용자 입력을 수신하여 게임 서버로 전송하고, 게임 서버는 이를 처리한 후 출력할 데이터를 클라이언트에게 회신하고, 클라이언트는 그 출력 데이터를 사용자에게 디스플레이하는 방식으로 동작한다. 즉, 게임 시나리오를 포함하는 모든 데이터 처리는 게임 서버에서 이루어지는 중앙 집중식 구조이며, 클라이언트는 telnet 응용 프로그램의 기본 기능 외에 별도의 처리를 수행하지 않는다.Early network games used the telnet protocol and a method of user input and output based on text (hereinafter referred to simply as text mud). The text mud game receives the user input from the client connected to the game server using the telnet protocol and transmits the user input to the game server. The game server processes the data and returns the data to the client, and the client outputs the output data. To display to the user. That is, all data processing including the game scenario is a centralized structure in the game server, and the client does not perform any processing other than the basic functions of the telnet application.

다음으로, 사용자 입출력을 텍스트가 아닌 그래픽 데이터를 사용하고, 입출력 그래픽 데이터 처리는 직접 클라이언트가 수행하고, 게임 시나리오 처리는 게임 서버에서 이루어지는 방식(이하, 그래픽 머드 방식이라고 간단히 참조함)이 있다. 그래픽 머드 방식에서의 게임은 클라이언트에서 사용자 입력을 수신하여 게임 서버로 전송하고, 게임 서버는 이를 처리한 후 그래픽 제어 데이터를 클라이언트에게 회신하고, 클라이언트는 수신된 그래픽 제어 데이터와 자신이 관리하는 디스플레이 자원(resources)을 이용하여 사용자에게 결과를 디스플레이하는 방식으로 동작한다. 즉, 게임 서버는 게임 시나리오의 처리, 클라이언트는 입출력 데이터의 처리를 담당하는 방식이다. 그리고, 클라이언트와 게임 서버 사이의 통신을 위하여 독자적인 통신 프로토콜이 사용된다.Next, there is a method in which user input / output is used for graphic data rather than text, the input / output graphic data processing is directly performed by a client, and game scenario processing is performed in a game server (hereinafter, simply referred to as a graphic mud method). The game in the graphic mud method receives the user input from the client and transmits it to the game server. The game server processes the data and returns the graphic control data to the client, and the client receives the received graphic control data and the display resource managed by the client. It works by displaying the results to the user using resources. In other words, the game server is responsible for processing the game scenario, and the client is responsible for processing input / output data. In addition, a unique communication protocol is used for communication between the client and the game server.

이러한 네트워크 게임을 포함하는 종래의 네트워크 기반의 다중 사용자 응용 은 서버에서 응용의 시나리오 처리를 전담하므로, 응용의 시나리오 처리 과정에서 서버로의 통신 병목 현상이 발생하는 문제가 있다.The conventional network-based multi-user application including such a network game is dedicated to the scenario processing of the application in the server, there is a problem that the communication bottleneck to the server occurs in the scenario processing of the application.

또한, 이러한 문제점을 해결하기 위해, 각 클라이언트에 응용 엔진을 장착한 형태의 네트워크 기반의 다중 사용자 응용이 시도되고 있으나, 이러한 시도에서도 사용자 출력을 위한 그래픽 데이터는 2차원 그래픽, 즉, 주기적인 비트스트림 영상 프레임에 기초한 것으로, 사용자에게 실시간적인 현실감을 주는데 한계가 있다.In addition, in order to solve this problem, a network-based multi-user application in which an application engine is installed in each client has been attempted, but even in this attempt, graphic data for user output is a two-dimensional graphic, that is, a periodic bitstream. Based on the image frame, there is a limit to give the user a real-time reality.

본 발명이 이루고자 하는 기술적인 과제는 상기의 문제점을 해결하기 위해, 통신망을 통하여 상호 연결된 각 클라이언트에서 응용 시나리오를 처리하기 위한 응용 엔진을 장착하고, 사용자 출력을 위한 그래픽 데이터는 3차원 가상 현실 기술을 사용함으로써, 각 클라이언트가 통신망 상에 구축되는 3차원 가상 현실 공간을 실시간적으로 공유할 수 있도록 지원하는 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템 및 이를 기능시키기 위한 프로그램을 기록한 기록 매체를 제공하는 데 있다.The technical problem to be achieved by the present invention is to solve the above problems, equipped with an application engine for processing application scenarios in each client interconnected via a communication network, the graphic data for the user output is a three-dimensional virtual reality technology By providing a network-based multi-user three-dimensional graphics virtual reality system that allows each client to share in real time the three-dimensional virtual reality space built on the communication network and a recording medium recording a program for functioning the same There is.

도 1은 본 발명의 실시예에 따른 복수의 클라이언트와 서버가 상호 연결된 네트워크 기반의 다중 사용자 3차원 가상 현실 공간을 개략적으로 도시한 것이다.1 schematically illustrates a network-based multi-user 3D virtual reality space in which a plurality of clients and servers are interconnected according to an embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템을 개략적으로 도시한 것이다.Figure 2 schematically illustrates a network based multi-user three-dimensional graphical virtual reality system according to a preferred embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 3차원 월드 항해기를 통하여 디스플레이되는 3차원 월드의 가시 공간 영역을 개략적으로 도시한 것이다.3 schematically illustrates a visible space area of a three-dimensional world displayed through a three-dimensional world navigator according to an embodiment of the present invention.

상기 기술적 과제를 해결하기 위하여, 본 발명에 일측면에 의한 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템은 통신망을 통하여 상호 연결된 클라이언트에서 구축되는 네트워크 기반의 다중 사용자 응용 시스템에 있어서, 사용자가 현실 세계처럼 느낄 수 있도록 하기 위하여 객체의 움직임에 현실 세계의 물리 법칙이 적용되는 3차원 가상 현실 세계인 3차원 월드를 사용자가 바라보는 위치 및 방향을 제어하거나, 상기 3차원 월드에 존재하는 특정 객체의 상태를 변화시키는 이벤트인 사용자 이벤트를 발생시키는 사용자 입력을 수신하여, 탑재되는 다중 사용자 응용의 동작 방식을 정의한 시나리오에 따라 구성된 규칙 데이터베이스로부터 상기 사용자 이벤트를 처리하기 위한 규칙을 독출하여 실행하고, 통신망을 통하여 다른 클라이언트 또는 서버로부터 전달되는 이벤트인 네트워크 이벤트에 대하여 상기 규칙 데이터베이스로부터 해당 규칙을 독출하여 실행하는 응용 엔진부; 상기 응용 엔진부에 의한 상기 사용자 이벤트 및 네트워크 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 매 순간 상기 3차원 월드에 반영하고, 사용자가 상기 3차원 월드를 바라보는 위치 및 방향에서 보이는 상기 3차원 월드의 가시 공간내의 객체들을 3차원 위상 데이터 또는 애니메이션 데이터를 사용하여 디스플레이하는 3차원 월드 항해기; 및 상기 응용 엔진부에 의한 상기 사용자 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송하고, 통신망을 통하여 수신된 상기 네트워크 이벤트를 상기 응용 엔진부로 전달하는 데이터 송수신부를 포함함을 특징으로 한다.In order to solve the above technical problem, a network-based multi-user three-dimensional graphic virtual reality system according to an aspect of the present invention in the network-based multi-user application system is built in the client interconnected via a communication network, the user in the real world In order to make it feel like, it controls the position and direction that the user looks at the 3D world, which is a 3D virtual reality world to which the physical laws of the real world are applied to the movement of the object, or controls the state of a specific object in the 3D world. Receives user input for generating a user event, which is a changing event, reads and executes a rule for processing the user event from a rules database configured according to a scenario defining an operation method of a mounted multi-user application, and executes other Cly Application engine unit running reads the rules from the rules database for the event, the network event is transmitted from the site or server; The 3D world is reflected in the 3D world at every moment according to the result of the processing of the user event and the network event by the application engine unit, and the 3D seen from the position and the direction in which the user views the 3D world. A three-dimensional world navigator for displaying objects in the visible space of the world using three-dimensional phase data or animation data; And a data transmission / reception unit configured to transmit the processing result of the user event by the application engine unit to another client or server through a communication network, and to transmit the network event received through the communication network to the application engine unit.

또한, 상기 응용 엔진부는, 주기적으로 상기 3차원 월드를 사용자를 대신하여 항해하는 아바타의 위치 및 형상을 포함하는 상기 3차원 월드의 상태 정보를 상기 데이터 송수신부를 통하여 다른 클라이언트 또는 서버로 전송하고, 상기 3차원 월드 항해기는, 주기적으로 상기 데이터 송수신부를 통하여 수신되어 상기 응용 엔진부를 통하여 전달된 다른 클라이언트 또는 서버로부터 전송된 상기 3차원 월드에 존재하는 특정 객체의 상태 정보를 참조하여 상기 3차원 월드의 해당 객체의 상태를 보정함이 바람직하다.The application engine unit may transmit the state information of the 3D world including the position and the shape of the avatar periodically sailing the 3D world on behalf of a user to another client or server through the data transceiver. The 3D world navigator periodically refers to the corresponding information of the 3D world by referring to state information of a specific object present in the 3D world received from the data transceiver and transmitted from another client or server transmitted through the application engine unit. It is desirable to correct the state of the object.

또한, 상기 3차원 월드 항해기는, 상기 3차원 월드에 존재하는 객체간에 충돌이 발생하면, 이를 감지하여 상기 응용 엔진부에 물리적 이벤트의 발생을 통보하고, 상기 응용 엔진부를 통한 상기 물리적 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 상기 3차원 월드에 반영하고, 상기 응용 엔진부는, 상기 3차원 월드 항해기로부터 통보된 물리적 이벤트에 대하여 상기 규칙 데이터 베이스로부터 해당 규칙을 독출하여 실행하고, 상기 물리적 이벤트의 처리 결과에 의하여 상기 3차원 월드에서 다른 클라이언트와 공유하는 객체의 상태 변화가 발생하면, 상기 물리적 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송함이 바람직하다.In addition, the three-dimensional world navigator, if a collision occurs between the objects existing in the three-dimensional world, and detects the notification of the occurrence of a physical event to the application engine, the processing result of the physical event through the application engine unit Reflects the state change of the object according to the 3D world, and the application engine unit reads and executes the rule from the rule database with respect to a physical event notified from the 3D world navigator, When a state change of an object shared with another client in the 3D world occurs as a result of the processing, it is preferable to transmit the processing result of the physical event to another client or server through a communication network.

상기 다른 기술적 과제를 해결하기 위하여, 본 발명의 일측면에 따른 컴퓨터로 읽을 수 있는 기록 매체는 통신망을 통하여 상호 연결된 클라이언트에서, 사용자가 현실 세계처럼 느낄 수 있도록 하기 위하여 객체의 움직임에 현실 세계의 물리 법칙이 적용되는 3차원 가상 현실 세계인 3차원 월드를 사용자가 바라보는 위치 및 방향을 제어하거나, 상기 3차원 월드에 존재하는 특정 객체의 상태를 변화시키는 이벤트인 사용자 이벤트를 발생시키는 사용자 입력을 수신하여, 탑재되는 다중사용자 응용의 동작 방식을 정의한 시나리오에 따라 구성된 규칙 데이터베이스로부터 상기 사용자 이벤트를 처리하기 위한 규칙을 독출하여 실행하고, 통신망을 통하여 다른 클라이언트 또는 서버로부터 전달되는 이벤트인 네트워크 이벤트에 대하여 상기 규칙 데이터베이스로부터 해당 규칙을 독출하여 실행하는 응용 엔진부; 상기 응용 엔진부에 의한 상기 사용자 이벤트 및 네트워크 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 매 순간 상기 3차원 월드에 반영하고, 사용자가 상기 3차원 월드를 바라보는 위치 및 방향에서 보이는 상기 3차원 월드의 가시 공간내의 객체들을 3차원 위상 데이터 또는 애니메이션 데이터를 사용하여 디스플레이하는 3차원 월드 항해기; 및 상기 응용 엔진부에 의한 상기 사용자 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송하고, 통신망을 통하여 수신된 상기 네트워크 이벤트를 상기 응용 엔진부로 전달하는 데이터 송수신부를 컴퓨터에 의하여 기능시키기 위한 프로그램을 기록함을 특징으로 한다.In order to solve the above other technical problem, a computer-readable recording medium according to an aspect of the present invention is the physical physics of the real world to the movement of the object in order to make the user feel like the real world in the client interconnected via a communication network By controlling the position and direction of the user's viewing of the 3D world, which is a 3D virtual reality world to which the law is applied, or receiving a user input for generating a user event which is an event for changing the state of a specific object present in the 3D world. And read and execute a rule for processing the user event from a rule database configured according to a scenario defining an operation method of a loaded multi-user application, and perform the rule for a network event which is an event transmitted from another client or server through a communication network. data An application engine unit for reading out and executing the rule from the base; The 3D world is reflected in the 3D world at every moment according to the result of the processing of the user event and the network event by the application engine unit, and the 3D seen from the position and the direction in which the user views the 3D world. A three-dimensional world navigator for displaying objects in the visible space of the world using three-dimensional phase data or animation data; And a data transmitting / receiving unit for transmitting a result of processing the user event by the application engine unit to another client or server through a communication network, and transmitting the network event received through the communication network to the application engine unit by a computer. It is characterized by recording.

이하에서 첨부된 도면을 참조하여 본 발명의 구성 및 동작의 바람직한 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the configuration and operation of the present invention.

도 1은 본 발명의 실시예에 따른 복수의 클라이언트(110, 120, 130)와 서버(100)가 상호 연결된 네트워크 기반의 다중 사용자 3차원 가상 현실 공간(150)을 개략적으로 도시한 것이다.1 schematically illustrates a network-based multi-user 3D virtual reality space 150 in which a plurality of clients 110, 120, 130 and a server 100 are interconnected according to an embodiment of the present invention.

가상 현실 세계, 특히 3차원 그래픽에 기초한 가상 현실 세계에서는 사용자가 가상 현실 세계를 실제 세계처럼 느낄 수 있도록 하기 위하여 가상 현실 세계를 구성하는 객체의 움직임에 현실 세계의 물리 법칙이 적용된다. 즉, 3차원 그래픽에기초한 가상 현실 세계란 중력, 탄성력, 마찰력 등의 역학적 힘과 운동 방정식 등의 현실 세계의 물리 법칙이 적용되어 현실 세계와 동일하게 느낄 수 있도록 구성된 세계를 말한다. 물론, 가상 현실 세계에 실제 현실 세계의 모든 물리 법칙이 그대로 적용될 수는 없을 것이며, 응용 분야의 필요에 따라 적절히 선택된 현실 세계의 물리 법칙이 적용되어 현실 세계와 유사한 느낌을 줄 수 있도록 구성될 것이다.In the virtual reality world, in particular, the virtual reality world based on 3D graphics, the physical laws of the real world are applied to the movement of the objects constituting the virtual reality world in order to allow the user to feel the virtual reality world like the real world. In other words, the virtual reality world based on three-dimensional graphics refers to a world configured to feel the same as the real world by applying mechanical forces such as gravity, elastic force, friction, and physical laws of the real world such as equations of motion. Of course, not all physical laws of the real world can be applied to the virtual reality as it is, and the physical laws of the real world appropriately selected according to the needs of the application field will be applied to give a feeling similar to the real world.

이러한 가상 현실 세계를 표현하기 위해서 가상 현실 세계를 구성하는 객체들은 벡터 형식의 위상 데이터(geometry data)로 관리되며, 벡터 연산을 통하여 데이터가 처리된다. 또한, 가상 현실 세계에서의 모든 데이터의 처리는 실시간적으로 이루어지며, 영상 처리에서와 같은 비트스트림 형태가 아니라, 수치 데이터인 위상 데이터의 연산을 통한 시뮬레이션으로 동적으로 변화하는 세계를 가시화한다.In order to express the virtual reality world, objects constituting the virtual reality world are managed as geometry data in a vector format, and data is processed through vector operations. In addition, all data processing in the virtual reality world is performed in real time, and visualizes a dynamically changing world through simulation of phase data, which is numerical data, rather than a bitstream form as in image processing.

가상 현실 세계에서는 사용자가 가상 공간의 객체들 뿐만 아니라 통신망을 통하여 연결되어 가상 현실 공간을 공유하고 있는 다른 사용자와도 상호작용할 수 있는 것이 바람직하다. 따라서, 가상 현실 세계는 지역적 제한성을 극복하고 다중 사용자를 지원하기 위하여 네트워크를 기반으로 하는 것이 바람직하다.In the virtual reality world, it is desirable that a user can interact not only with objects in the virtual space but also with other users who are connected through a communication network and share the virtual reality space. Therefore, it is desirable that the virtual reality world be network based in order to overcome regional limitations and support multiple users.

본 발명은 이러한 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템을 효율적으로 구축하기 위한 프레임워크(framework)를 제시하고자 한다.The present invention proposes a framework for efficiently constructing such a network-based multi-user 3D graphic virtual reality system.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 공간(이하, 3차원 월드라고 간단히 참조함; 150) 상에는 각 클라이언트(110, 120, 130)를 위한 아바타(115, 125, 135) 및 3차원 가상 현실 공간을 구성하는 다양한 3차원 객체들(140)이 존재한다. 여기서, 3차원 월드(150)에는 사용자가 가상 현실 세계를 실제 세계처럼 느낄 수 있도록 하기 위하여 가상 현실 세계를 구성하는 객체의 움직임에 현실 세계의 물리 법칙이 적용됨은 이미 살펴본 바와 같다.As shown in FIG. 1, each client 110, 120, 130 is placed on a network-based multi-user three-dimensional graphical virtual reality space (hereinafter, simply referred to as a three-dimensional world) 150 according to an embodiment of the present invention. Avatars 115, 125, and 135 and various three-dimensional objects 140 constituting the three-dimensional virtual reality space. Here, the physical laws of the real world are applied to the 3D world 150 to the movement of the objects constituting the virtual reality in order to allow the user to feel the virtual world as if the real world.

아바타(115, 125, 135)는 3차원 월드(150)를 사용자 자신을 대신하여 항해하는 객체이다. 즉, 아바타(115, 125, 135)도 하나의 객체로 관리되며, 3차원 가상 현실 공간에 적용되는 모든 물리적 현상에 영향을 받으며 동작한다. 각 클라이언트에서의 사용자는 이러한 아바타(115, 125, 135)가 3차원 월드(150)를 바라보는 위치 및 방향에서 3차원 가상 현실 공간을 보고, 느끼고, 항해한다. 각 클라이언트에서의 사용자는 3차원 월드(150)에서 다른 클라이언트에서의 사용자를 대신하여 행동하는 아바타(이하, 3인칭 아바타라고 참조함)를 볼 수는 있으나, 자신을 대신하여 행동하는 자신의 아바타(이하, 1인칭 아바타라고 참조함)는 볼 수 없다.The avatars 115, 125, and 135 are objects that navigate the 3D world 150 on behalf of the user. That is, the avatars 115, 125, and 135 are also managed as one object and operate under the influence of all physical phenomena applied to the 3D virtual reality space. The user at each client sees, feels, and navigates the three-dimensional virtual reality space at the location and direction in which the avatars 115, 125, and 135 view the three-dimensional world 150. FIG. A user at each client can see an avatar acting on behalf of a user at another client in the three-dimensional world 150 (hereinafter referred to as a third person avatar), but his avatar acting on his behalf ( Hereinafter referred to as a first person avatar) is not visible.

계속해서, 도 2를 참조하여, 도 1과 같이 통신망 상에 3차원 가상 현실 공간을 구축하기 위하여 각 클라이언트에서 구성되는 3차원 가상 현실 시스템에 대하여 설명한다. 도 2는 본 발명의 바람직한 실시예에 따른 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템(200)을 개략적으로 도시한 것이다.Next, referring to FIG. 2, a 3D virtual reality system configured in each client to construct a 3D virtual reality space on a communication network as shown in FIG. 1 will be described. 2 schematically illustrates a network based multi-user three-dimensional graphical virtual reality system 200 in accordance with a preferred embodiment of the present invention.

도 2에 도시된 바와 같이, 각 클라이언트에서의 가상 현실 시스템(200)은 3차원 월드 항해기(220), 응용 엔진부(240) 및 데이터 송수신부(260)를 포함한다.As shown in FIG. 2, the virtual reality system 200 at each client includes a three-dimensional world navigator 220, an application engine unit 240, and a data transmission / reception unit 260.

응용 엔진부(240)는 사용자 입력을 통한 사용자 이벤트를 수신하여, 규칙 데이터베이스(rule base)에서 해당 규칙을 독출하여 실행한다.The application engine 240 receives a user event through a user input, reads the rule from a rule base, and executes the rule.

사용자로부터 입력되는 사용자 이벤트는 3차원 월드 상에 1인칭 아바타가 존재하는 위치(position) 및 형상(orientation; 형상이란 3차원 월드의 전역 좌표계를 기준으로 해당 객체가 비틀려 있는 정도를 말함)에서 1인칭 아바타를 통하여 사용자가 3차원 월드를 바라보는 위치 및 형상을 제어하는 사용자 이벤트(이하, 사용자 이벤트(A)라고 참조함)와 탑재되는 응용의 규칙에 따라 3차원 월드에 존재하는 특정 객체의 상태를 변화시키는 사용자 이벤트(이하, 사용자 이벤트(B)라고 참조함)를 포함한다. 여기서, 이벤트란 3차원 월드에 존재하는 객체의 상태 정보를 변화시키는 사건을 의미한다. 사용자 이벤트(A)도 1인칭 아바타의 위치 및 형상 상태 정보를 변화시키므로 사용자 이벤트(B)에 포함되나, 사용자 이벤트(A)에 의해서 1인칭 아바타의 위치 또는 형상이 변화하면 디스플레이되는 전체 3차원 월드가 변화하며, 응용의 종류와는 무관하게 일정한 표준 방식으로 처리될 수 있다는 측면에서 별도로 분리하여 기술하기로 한다.The user event input from the user is 1 in the position and orientation (where the object is twisted based on the global coordinate system of the 3D world) where the first-person avatar is located in the 3D world. The state of a particular object in the 3D world according to the rules of the user application (hereinafter referred to as user event A) that controls the location and shape of the user's view of the 3D world through the first person avatar and the rules of the application being loaded. It includes a user event (hereinafter referred to as user event (B)) to change. Here, the event refers to an event of changing state information of an object existing in the 3D world. Since the user event A also changes the position and shape state information of the first person avatar, it is included in the user event B, but is displayed when the position or shape of the first person avatar is changed by the user event A. Will be changed separately, and will be described separately in that it can be processed in a standard manner irrespective of the type of application.

규칙 데이터베이스는 탑재되는 다중 사용자 응용의 동작 또는 실행 방식을 정의한 시나리오를 일정 형식의 규칙의 집합으로 구성한 것이다. 여기서, 각 규칙은 특정 이벤트를 입력으로 하여, 특정 객체의 상태 변화 및/또는 또다른 이벤트의 발생 등을 출력으로 한다.The rules database consists of a set of rules in a set of scenarios that define how a multi-user application behaves or runs. Here, each rule takes a specific event as an input, and outputs a state change of a specific object and / or occurrence of another event.

응용 엔진부(240)는 사용자 이벤트에 대하여 규칙 데이터베이스에서 해당 규칙을 독출하여 실행한 결과를 3차원 월드에 반영하기 위하여 3차원 월드 항해기(220)에게 그래픽 이벤트를 보낸다. 또한, 통신망을 통하여 3차원 월드를 공유하고 있는 다른 클라이언트 또는 응용 서버에서도 그 결과를 3차원 월드에 반영할 수 있도록 하기 위하여 네트워크 이벤트를 데이터 송수신부(260)를 통하여 전송한다. 이와 동일한 방식으로, 통신망을 통하여 3차원 월드를 공유하고 있는 다른 클라이언트 또는 응용 서버에서 3차원 월드의 상태를 변화시키는 이벤트가 발생하면, 이는 네트워크 이벤트의 형태로 데이터 송수신부(260)를 통하여 수신된다.The application engine unit 240 sends a graphic event to the 3D world navigator 220 to reflect the result of reading and executing the corresponding rule from the rule database for the user event in the 3D world. In addition, the network event is transmitted through the data transmission / reception unit 260 so that other clients or application servers sharing the 3D world through the communication network can reflect the result in the 3D world. In the same way, when an event that changes the state of the 3D world occurs in another client or application server sharing the 3D world through a communication network, it is received through the data transmission / reception unit 260 in the form of a network event. .

응용 엔진부(240)는 데이터 송수신부(260)에서 수신되어 전달된 네트워크 이벤트에 대하여도 규칙 데이터베이스에서 해당 규칙을 독출하여 실행하고, 그 결과를 3차원 월드에 반영하기 위하여 3차원 월드 항해기(220)에게 그래픽 이벤트를 보낸다.The application engine unit 240 reads and executes the corresponding rule from the rule database with respect to the network event received and transmitted from the data transmitting / receiving unit 260, and reflects the result to the three-dimensional world in order to reflect the result in the three-dimensional world. Send a graphical event

또한, 응용 엔진부(240)는 3차원 월드 항해기(220)로부터 물리적 이벤트를 수신한 경우에도 규칙 데이터베이스에서 해당 규칙을 독출하여 실행하고, 그 결과를 3차원 월드 항해기(220)에게 그래픽 이벤트로 회신한다. 만약, 3차원 월드 항해기(220)로부터의 물리적 이벤트를 처리한 결과, 3차원 월드에서 다른 클라이언트 또는 응용 서버와 공유하는 객체의 상태 변화가 발생하면, 통신망을 통하여 3차원 월드를 공유하고 있는 다른 클라이언트 또는 응용 서버에서도 그 결과를 3차원 월드에 반영할 수 있도록 하기 위하여 네트워크 이벤트를 데이터 송수신부(260)를 통하여 전송한다.In addition, even when a physical event is received from the 3D world navigator 220, the application engine unit 240 reads and executes the corresponding rule from the rules database, and returns the result to the 3D world navigator 220 as a graphic event. do. If, as a result of processing a physical event from the 3D world navigator 220, a state change of an object shared with another client or application server occurs in the 3D world, another client sharing the 3D world through a communication network Alternatively, the application server transmits the network event through the data transceiver 260 to reflect the result in the 3D world.

3차원 월드 항해기(220)는 응용 엔진부(240)에서 사용자 이벤트 및 네트워크 이벤트의 처리 결과를 그래픽 이벤트의 형태로 수신하여, 그래픽 이벤트의 처리 결과에 따른 3차원 월드 상의 각 객체의 상태 변화를 매 순간 3차원 월드에 반영하고, 1인칭 아바타를 통하여 사용자가 3차원 월드를 바라보는 위치 및 방향에서 보이는 3차원 월드의 가시 공간 내의 객체들을 3차원 위상 데이터 또는 애니메이션데이터를 사용하여 디스플레이, 즉 사용자에게 출력한다.The 3D world navigator 220 receives the processing result of the user event and the network event in the form of a graphic event in the application engine 240, and changes the state of each object in the 3D world according to the processing result of the graphic event. Objects in the visible space of the 3D world, which are reflected in the 3D world at the moment and viewed from the position and direction in which the user views the 3D world through the first person avatar, are displayed to the user using 3D phase data or animation data. Output

또한, 3차원 월드 항해기(220)는 3차원 월드에서 발생하는 객체들의 충돌 등의 물리적 이벤트를 자체적으로 감지하는 기능을 가진다. 만약, 충돌 등의 물리적 이벤트가 감지되면, 이를 응용 엔진부(240)에 통보하고, 응용 엔진부(240)로부터 규칙 데이터베이스의 해당 규칙에 따른 처리 결과를 그래픽 이벤트로 회신받아서, 이를 3차원 월드에 반영한다.In addition, the 3D world navigator 220 has a function of detecting itself physical events such as collision of objects occurring in the 3D world. If a physical event such as a collision is detected, the application engine unit 240 is notified of this, and the application engine unit 240 receives the processing result according to the corresponding rule of the rules database as a graphic event and sends it to the 3D world. Reflect.

3차원 월드에 존재하는 각 객체는 벡터 형식의 위상 데이터로 표현된다. 여기서, 각 객체는 예를 들어, 3차원 단위 객체로 분리되어 정의되고, 이들 3차원 단위 객체들의 연관 관계는 트리(tree) 형태의 객체 계층 구조(object hierachy)로 구성되어 관리될 수 있다. 예를 들어, 사람이라는 객체를 머리, 몸체, 오른팔, 왼팔, 오른다리, 왼다리, 히프 등의 3차원 단위 객체로 분리하여 정의하고, 각 3차원 단위 객체들의 연관 관계, 즉, 어떤 3차원 단위 객체의 움직임이 다른 3차원 단위 객체에 영향을 미치는 관계를 트리 형태의 객체 계층 구조로 구성하여 관리될 수 있다. 여기서, 3차원 단위 객체란 독립적으로 애니메이션할 수 있는 최소 단위의 객체를 말한다.Each object in the three-dimensional world is represented by vector data. For example, each object may be divided and defined as, for example, a 3D unit object, and an association relationship between the 3D unit objects may be configured and managed in a tree-type object hierachy. For example, a human object is divided into three-dimensional unit objects such as a head, a body, a right arm, a left arm, a right leg, a left leg, a hip, and the object is associated with each other. The relationship in which the movement of an object affects other three-dimensional unit objects can be managed by constructing a tree-type object hierarchy. Here, the 3D unit object refers to an object of the smallest unit that can be animated independently.

그리고, 이벤트 등에 의하여 3차원 월드에 존재하는 특정 객체의 위치 또는 형상 정보를 포함하는 객체의 상태 변화가 발생하면, 해당 객체 계층 구조상의 모든 3차원 단위 객체의 운동 경로를 현실 세계의 물리 법칙을 적용하여 계산하거나, 미리 정의되어 있는 애니메이션 데이터를 사용하여 매 순간 렌더링(rendering)한다. 즉, 본 실시예에 따른 3차원 디스플레이 화면은 2차원 영상 처리에서 사용되는이미지 비트 스트림 방식이 아니라, 매 순간 각 객체에 대하여 현실 세계의 물리 법칙을 적용하는 벡터 연산을 통하여 계산한 위상 데이터를 사용하여 구성된다.When a state change of an object including the position or shape information of a specific object existing in the 3D world occurs due to an event or the like, the physical laws of the real world are applied to the motion paths of all 3D unit objects in the object hierarchy. Calculate or render at every moment using predefined animation data. In other words, the three-dimensional display screen according to the present embodiment uses phase data calculated through a vector operation that applies real-world physics laws to each object at every moment, not an image bit stream method used in two-dimensional image processing. It is configured by.

계속해서, 본 발명의 실시예에 따른 3차원 화면의 디스플레이 방식에 대하여 도 3을 참조하여 설명한다. 도 3은 본 발명의 실시예에 따른 3차원 월드 항해기(220)를 통하여 디스플레이되는 3차원 월드의 가시 공간 영역(320)을 개략적으로 도시한 것이다.Subsequently, a display method of a 3D screen according to an exemplary embodiment of the present invention will be described with reference to FIG. 3. FIG. 3 schematically illustrates a visible space region 320 of a three dimensional world displayed through a three dimensional world navigator 220 according to an embodiment of the invention.

도 3에 도시된 바와 같이, 3차원 월드 항해기(220)를 통하여 디스플레이되는 3차원 월드는 카메라(300)가 바라본 가시공간 영역(320)이다. 3차원 월드 항해기(220)는 가시 공간 영역(320) 내에 있는 각 객체의 위상 데이터를 참조하여, 매 순간마다 레이트레이싱(raytracing), 쉐이딩(shading), 프로젝션(projection) 등의 연산 과정을 통하여 카메라(300)의 관찰 단면(view plane)에 맺히는 상인 뷰포트(viewport)를 계산하여 디스플레이한다.As shown in FIG. 3, the three-dimensional world displayed through the three-dimensional world navigator 220 is the visible space region 320 viewed by the camera 300. The 3D world navigator 220 refers to the phase data of each object in the visible space region 320 and performs cameras through calculation processes such as raytracing, shading, and projection at every moment. A merchant viewport that is bound to the view plane of 300 is calculated and displayed.

여기서, 카메라(300)는 디스플레이될 화면의 뷰포트를 정의하기 위한, 1인칭 아바타의 관찰 위치 및 형상의 기준점이다. 카메라(300)는 사람의 눈과 유사한 방식으로 동작하며, 일정 거리 이내, 다시 말하면, 도 3의 전단 절단면(310) 이내에 존재하는 객체 및 일정 거리 이후, 다시 말하면, 도 3의 후단 절단면(330) 이후에 존재하는 객체는 디스플레이하지 못하고, 전단 절단면(310)과 후단 절단면(330) 사이의 가시 공간(320)에 위치하는 객체만을 디스플레이한다.Here, the camera 300 is a reference point of the viewing position and shape of the first-person avatar for defining the viewport of the screen to be displayed. The camera 300 operates in a manner similar to that of the human eye, and within a certain distance, that is, the object existing within the shear cutting surface 310 of FIG. 3 and after the predetermined distance, that is, the rear cutting surface 330 of FIG. 3. Afterwards, the existing object cannot be displayed, and only the object located in the visible space 320 between the front end face 310 and the rear end face 330 is displayed.

뷰포트란 3차원 그래픽 윈도우 화면상에 디스플레이될 3차원 그래픽 화면 정보 또는 영역을 말하고, 관찰 단면이란 가시 공간 내에 위치하는 객체를 프로젝션하여 뷰포트를 계산하기 위한 기준 단면을 말하며, 도 3에서 전단 절단면(310)에 해당한다. 그리고, 위상 데이터란 3차원 가상 세계에서 객체를 표현하기 위한 벡터 형식의 수치 데이터를 말하며, 점, 모서리, 다각형 단위의 조합으로 객체를 형상화할 수 있는 정보이다. 레이트레이싱 기법이란 다각형의 조합으로 구성되는 3차원 객체를 빛을 고려하여 디스플레이하는 기법이며, 쉐이딩 기법은 3차원 객체의 외각선을 부드럽게 연결하는 기법이며, 프로젝션 기법이란 3차원 가상 현실 공간 상에 위치하는 각 객체들을 하나의 평면에 비추어 상을 맺는 기법을 말한다.The viewport refers to the 3D graphic screen information or the area to be displayed on the 3D graphic window screen, and the observation section refers to the reference section for calculating the viewport by projecting an object located in the visible space. Corresponds to). The phase data refers to numerical data in a vector format for representing an object in a 3D virtual world, and is information for shaping an object in a combination of points, edges, and polygonal units. Raytracing is a technique for displaying a 3D object composed of a combination of polygons in consideration of light.Shading is a technique for smoothly connecting the outer lines of a 3D object, and a projection technique is positioned in a 3D virtual reality space. It refers to a technique of forming an image by reflecting each object in a plane.

3차원 가상 세계의 가장 큰 특이점은 여러 정지 화면들을 모아서 순차적으로 보여주는 것이 아니라, 매 순간에 시간을 고려하여 벡터로 표현되는 각 객체들을 물리 법칙을 적용하여 계산한 결과를 디스플레이하는 것이다. 이를 통하여 3차원 가상 현실 세계는 더욱 동적이고, 현실감을 가지게 된다.The biggest singularity of the 3D virtual world is not to collect several still images and display them sequentially, but to display the result of calculating each object represented by a vector by applying the laws of physics in consideration of time at each moment. Through this, the 3D virtual reality world becomes more dynamic and realistic.

각 클라이언트에 탑재되는 3차원 월드 항해기(220)는 일종의 가상 디스플레이 장치로, 각 객체의 위상 데이터를 계산하여 디스플레이하는 역할을 수행함으로써, 단지 위상 데이터만을 이용하여 여러 클라이언트에서 가상 현실을 공유할 수 있게 한다.The three-dimensional world navigator 220 mounted on each client is a kind of virtual display device, which calculates and displays the phase data of each object so that virtual reality can be shared among multiple clients using only the phase data. do.

하나의 객체를 표현하는 데에도 방대한 양의 위상 데이터가 사용되므로, 본 실시예에서는 각 클라이언트가 기본 객체들의 위상 데이터를 각자 관리하고 있다가, 이벤트 또는 상태 변화가 발생하면 이를 통신망을 통하여 상호 전달하여 각자 자신의 3차원 디스플레이 화면을 구성한다.Since a large amount of topology data is used to represent one object, in this embodiment, each client manages topology data of basic objects, and when an event or a state change occurs, the client communicates with each other through a communication network. Each person constructs their own 3D display screen.

한편, 통신망 상에서 구축되는 3차원 가상 현실 공간은 통신망을 통하여 상호 연결된 각 클라이언트가 사용하는 하드웨어 장치에서의 데이터의 처리 능력의 차이를 고려하여야 한다. 또한, 네트워크 기반의 3차원 가상 현실 공간을 실시간적으로 구성하기 위해서는 통신망을 통한 데이터 송수신 과정에서 발생하는 통신 지연 등을 함께 고려하여야 한다. 즉, 본 실시예에 따른 네트워크 기반의 3차원 가상 현실 공간은 상호 동기화되어 동작하여야 한다. 이를 위하여 다양한 동기화 기법이 사용될 수 있다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 이해할 수 있을 것이다.On the other hand, the three-dimensional virtual reality space to be built on the communication network must take into account the difference in the processing power of the data in the hardware device used by each client interconnected via the communication network. In addition, in order to construct a network-based 3D virtual reality space in real time, a communication delay occurring during data transmission and reception through a communication network should be considered together. That is, the network-based 3D virtual reality space according to the present embodiment should operate in synchronization with each other. It will be understood by those skilled in the art that various synchronization techniques may be used for this purpose.

여기서는, 이러한 통신망 상의 동기화 기법의 하나로, 주기적인 상태 정보를 교환하는 방식을 예를 들어 설명하기로 한다.Here, as one of the synchronization schemes on the communication network, a method of exchanging periodic state information will be described as an example.

통신망 상에 구축되어 각 클라이언트에서 공유하고 있는 3차원 가상 현실 공간은 각 클라이언트에서 통신망을 통하여 송수신되는 네트워크 이벤트를 참조하여 독자적으로 관리되는 한편, 각 클라이언트는 자신의 시스템에서 구성되는 3차원 가상 현실 공간의 상태 정보를 주기적으로 교환한다. 이러한 상태 정보에는 각 클라이언트에서의 1인칭 아바타의 위치 및 형상 정보가 기본적으로 포함된다.The 3D virtual reality space built on the communication network and shared by each client is managed independently by referring to network events transmitted and received through the communication network at each client, while each client is a 3D virtual reality space configured in its own system. Periodically exchange status information. This state information basically includes position and shape information of the first-person avatar in each client.

즉, 본 실시예에서의 응용 엔진부(240)는 주기적으로 3차원 월드를 사용자를 대신하여 항해하는 1인칭 아바타의 위치 및 형상을 포함하는 3차원 월드의 상태 정보를 데이터 송수신부(260)를 통하여 다른 클라이언트 또는 서버로 전송한다. 또한, 3차원 월드 항해기(220)는 주기적으로 데이터 송수신부(260)를 통하여 수신되어 응용 엔진부(240)를 통하여 전달된 다른 클라이언트 또는 서버로부터 전송된 3차원 월드에 존재하는 특정 객체의 상태 정보를 참조하여 3차원 월드의 해당 객체의 상태를 보정한다.In other words, the application engine 240 according to the present embodiment transmits the data transmission / reception unit 260 to the state information of the three-dimensional world including the position and shape of the first-person avatar who periodically navigates the three-dimensional world on behalf of the user. To another client or server. In addition, the three-dimensional world navigator 220 is periodically received through the data transmission and reception unit 260, the state information of a specific object present in the three-dimensional world transmitted from another client or server transmitted through the application engine unit 240 Correct the state of the object in the 3D world with reference to.

데이터 송수신부(260)는 응용 엔진부(240)에서 전달되는 네트워크 이벤트 및 3차원 월드의 주기적인 상태 정보를 통신망을 통하여 다른 클라이언트 또는 서버로 전송하고, 통신망을 통하여 수신된 네트워크 이벤트 및 주기적인 상태 정보를 응용 엔진부(240)로 전달하는 기능을 수행한다. 바람직하게는, 본 실시예에 따른 데이터 송수신부(260)는 독자적인 네트워크 동기화 메카니즘을 포함하는 것이 바람직하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 이해할 수 있을 것이다.The data transmitting / receiving unit 260 transmits the network event transmitted from the application engine unit 240 and periodic state information of the 3D world to another client or server through a communication network, and the network event and periodic state received through the communication network. It performs a function of transferring information to the application engine unit 240. Preferably, it will be understood by those skilled in the art that the data transmitting / receiving unit 260 according to the present embodiment preferably includes a unique network synchronization mechanism.

그리고, 도 1에 도시된 다중 사용자 응용 서버(100)는 통신망에서 응용을 동작시키기 위한 각 클라이언트 사이 또는 각 클라이언트와 서버 간의 통신 세션 및 통신망을 통하여 3차원 월드를 공유하고 있는 각 클라이언트 정보를 관리한다.In addition, the multi-user application server 100 illustrated in FIG. 1 manages each client information sharing a three-dimensional world through a communication session and communication network between each client or each client and server for operating an application in a communication network. .

이제까지의 본 발명의 실시예들은 도 2에 도시된 바와 같이, 응용 엔진부(240)가 클라이언트에 탑재되는 경우를 중심으로 한 것이다. 그러나, 본 발명에서의 3차원 월드 항해기(220) 및 응용 엔진부(240)는 각각 독립된 모듈이다. 따라서, 도 2에 도시된 본 발명의 실시예는 이러한 독립된 모듈이 상호 결합된 계층적 구조의 일 형태를 예시한 것으로 파악되어야 한다. 응용 분야에 따라서는, 응용 엔진부(240)를 서버에 구축하고, 클라이언트를 간단한 구성하는 형태가 바람직할 수도 있을 것이다. 이 경우, 3차원 월드 항해기(220)는 사용자 입력을 처리하는 기본 기능을 포함하여 구현되어야 할 것이다.As shown in FIG. 2, the embodiments of the present invention so far center on a case where the application engine 240 is mounted on the client. However, the three-dimensional world navigator 220 and the application engine unit 240 in the present invention are each an independent module. Accordingly, the embodiment of the present invention shown in FIG. 2 should be understood to illustrate one form of hierarchical structure in which these independent modules are mutually coupled. Depending on the application field, it may be preferable to form the application engine unit 240 on a server and to configure a simple client. In this case, the 3D world navigator 220 should be implemented including a basic function for processing user input.

또한, 이제까지의 본 발명의 실시예들은 클라이언트/서버 구조를 중심으로한 것으로, 서버가 통신 세션 및 3차원 월드의 공유 영역의 관리를 담당한다. 그러나 응용 분야에 따라서, 별도의 서버를 두지 않고(또는 응용 세션의 초기화 부분만 서버가 담당하는 형태도 가능함), 순수한 동료 대 동료(peer-to-peer) 구조로 응용을 위한 통신 세션을 형성하고, 각자가 통신 세션을 분담하여 관리하는 형태도 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 이해할 수 있을 것이다.Furthermore, embodiments of the present invention so far revolve around a client / server architecture, where the server is responsible for managing the communication session and the sharing area of the three-dimensional world. However, depending on the application, instead of having a separate server (or perhaps the server is responsible for only the initial part of the application session), a pure peer-to-peer structure establishes a communication session for the application. However, it will be understood by those skilled in the art that the present invention may be configured to share and manage communication sessions.

본 발명의 실시예들은 컴퓨터 시스템에서 실행할 수 있는 프로그램에 의하여 기능시킬 수 있다. 또한, 이러한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 해당 프로그램을 읽어들여 범용 디지털 컴퓨터 시스템에서 실행될 수 있다. 이러한 기록 매체에는 마그네틱 저장 매체(예를 들면, 롬, 플로피디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 매체가 포함된다.Embodiments of the present invention may be functioned by a program executable in a computer system. In addition, the program can be read from a computer readable recording medium having recorded such a program and executed in a general-purpose digital computer system. Such recording media include magnetic storage media (e.g., ROM, floppy disk, hard disk, etc.), optical reading media (e.g., CD-ROM, DVD, etc.) and carrier waves (e.g., transmission over the Internet). Media is included.

이제까지 본 발명에 대하여 그 바람직한 실시예(들)를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been described with reference to the preferred embodiment (s). Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

본 발명에 의하면, 통신망을 통하여 상호 연결된 각 클라이언트에서 응용 시나리오를 처리하기 위한 응용 엔진 및 사용자 출력을 처리하기 위한 3차원 월드 항해기를 장착하고, 통신망을 통하여 실시간적으로 공유되는 3차원 가상 현실 공간을 통신망을 통하여 송수신되는 네트워크 이벤트를 참조하여 독자적으로 관리함과 아울러, 주기적으로 상태 정보를 교환하여 3차원 가상 현실 공간의 상태를 보정함에 의하여, 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템을 효과적으로 구축할 수 있게 하는 효과가 있다.According to the present invention, a three-dimensional world navigator for processing an application engine and a user output for processing an application scenario in each client interconnected through a communication network, and a three-dimensional virtual reality space shared in real time through the communication network By independently managing the network events transmitted and received through the communication network and periodically exchanging state information to correct the state of the 3D virtual reality space, a network-based multi-user 3D graphic virtual reality system can be effectively constructed. It has the effect of making it possible.

Claims (6)

통신망을 통하여 상호 연결된 클라이언트에서 구축되는 네트워크 기반의 다중 사용자 응용 시스템에 있어서,In a network-based multi-user application system built on clients interconnected via a communication network, 사용자가 현실 세계처럼 느낄 수 있도록 하기 위하여 객체의 움직임에 현실 세계의 물리 법칙이 적용되는 3차원 가상 현실 세계인 3차원 월드를 사용자가 바라보는 위치 및 방향을 제어하거나, 상기 3차원 월드에 존재하는 특정 객체의 상태를 변화시키는 이벤트인 사용자 이벤트를 발생시키는 사용자 입력을 수신하여, 탑재되는 다중 사용자 응용의 동작 방식을 정의한 시나리오에 따라 구성된 규칙 데이터베이스로부터 상기 사용자 이벤트를 처리하기 위한 규칙을 독출하여 실행하고,In order to make the user feel like the real world, the position and direction of the user's view of the three-dimensional world, which is a three-dimensional virtual reality world to which the physical laws of the real world are applied to the movement of the object, or the specific present in the three-dimensional world Receives a user input for generating a user event, which is an event that changes the state of an object, reads and executes a rule for processing the user event from a rules database configured according to a scenario defining a method of operating a mounted multi-user application. 통신망을 통하여 다른 클라이언트 또는 서버로부터 전달되는 이벤트인 네트워크 이벤트에 대하여 상기 규칙 데이터베이스로부터 해당 규칙을 독출하여 실행하는 응용 엔진부;An application engine unit configured to read and execute a corresponding rule from the rule database with respect to a network event which is an event transmitted from another client or server through a communication network; 상기 응용 엔진부에 의한 상기 사용자 이벤트 및 네트워크 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 매 순간 상기 3차원 월드에 반영하고, 사용자가 상기 3차원 월드를 바라보는 위치 및 방향에서 보이는 상기 3차원 월드의 가시 공간내의 객체들을 3차원 위상 데이터 또는 애니메이션 데이터를 사용하여 디스플레이하는 3차원 월드 항해기; 및The 3D world is reflected in the 3D world at every moment according to the result of the processing of the user event and the network event by the application engine unit, and the 3D seen from the position and the direction in which the user views the 3D world. A three-dimensional world navigator for displaying objects in the visible space of the world using three-dimensional phase data or animation data; And 상기 응용 엔진부에 의한 상기 사용자 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송하고, 통신망을 통하여 수신된 상기 네트워크 이벤트를 상기 응용 엔진부로 전달하는 데이터 송수신부를 포함함을 특징으로 하는 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템.And a data transmitting / receiving unit for transmitting the processing result of the user event by the application engine unit to another client or server through a communication network, and transmitting the network event received through the communication network to the application engine unit. Multi-user 3D graphical virtual reality system. 제1항에 있어서, 상기 응용 엔진부는,The method of claim 1, wherein the application engine unit, 주기적으로 상기 3차원 월드를 사용자를 대신하여 항해하는 아바타의 위치 및 형상을 포함하는 상기 3차원 월드의 상태 정보를 상기 데이터 송수신부를 통하여 다른 클라이언트 또는 서버로 전송하고,Periodically transmitting the state information of the 3D world including the position and the shape of the avatar sailing the 3D world on behalf of a user to another client or server through the data transceiver; 상기 3차원 월드 항해기는, 주기적으로 상기 데이터 송수신부를 통하여 수신되어 상기 응용 엔진부를 통하여 전달된 다른 클라이언트 또는 서버로부터 전송된 상기 3차원 월드에 존재하는 특정 객체의 상태 정보를 참조하여 상기 3차원 월드의 해당 객체의 상태를 보정함을 특징으로 하는 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템.The 3D world navigator periodically refers to the state information of a specific object present in the 3D world, which is received through the data transceiver and transmitted from another client or server transmitted through the application engine unit, of the 3D world. A network-based multi-user 3D graphic virtual reality system, characterized in that to correct the state of the object. 제1항에 있어서, 상기 3차원 월드 항해기는,According to claim 1, The three-dimensional world navigator, 상기 3차원 월드에 존재하는 객체간에 충돌이 발생하면, 이를 감지하여 상기 응용 엔진부에 물리적 이벤트의 발생을 통보하고, 상기 응용 엔진부를 통한 상기 물리적 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 상기 3차원 월드에 반영하고,When a collision occurs between objects existing in the 3D world, the controller detects the notification and notifies the application engine to the occurrence of a physical event, and notifies the state change of the object according to the result of processing the physical event through the application engine. Reflected in the three-dimensional world, 상기 응용 엔진부는, 상기 3차원 월드 항해기로부터 통보된 물리적 이벤트에 대하여 상기 규칙 데이터 베이스로부터 해당 규칙을 독출하여 실행하고,The application engine unit reads and executes a corresponding rule from the rule database with respect to a physical event notified from the 3D world navigator, 상기 물리적 이벤트의 처리 결과에 의하여 상기 3차원 월드에서 다른 클라이언트와 공유하는 객체의 상태 변화가 발생하면, 상기 물리적 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송함을 특징으로 하는 네트워크 기반의 다중 사용자 3차원 그래픽 가상 현실 시스템.When a state change of an object shared with another client in the 3D world occurs as a result of the processing of the physical event, the processing result of the physical event is transmitted to another client or server through a communication network. Multi-user 3-D graphical virtual reality system. 통신망을 통하여 상호 연결된 클라이언트에서, 사용자가 현실 세계처럼 느낄 수 있도록 하기 위하여 객체의 움직임에 현실 세계의 물리 법칙이 적용되는 3차원 가상 현실 세계인 3차원 월드를 사용자가 바라보는 위치 및 방향을 제어하거나, 상기 3차원 월드에 존재하는 특정 객체의 상태를 변화시키는 이벤트인 사용자 이벤트를 발생시키는 사용자 입력을 수신하여, 탑재되는 다중 사용자 응용의 동작 방식을 정의한 시나리오에 따라 구성된 규칙 데이터베이스로부터 상기 사용자 이벤트를 처리하기 위한 규칙을 독출하여 실행하고,In a client interconnected through a communication network, to control the position and direction of the user's view of the three-dimensional world, which is a three-dimensional virtual reality world in which the physical laws of the real world are applied to the movement of an object in order to make the user feel like the real world, Receiving a user input for generating a user event, which is an event for changing a state of a specific object present in the 3D world, and processing the user event from a rule database configured according to a scenario defining an operation method of a mounted multi-user application. Read and execute rules for 통신망을 통하여 다른 클라이언트 또는 서버로부터 전달되는 이벤트인 네트워크 이벤트에 대하여 상기 규칙 데이터베이스로부터 해당 규칙을 독출하여 실행하는 응용 엔진부;An application engine unit configured to read and execute a corresponding rule from the rule database with respect to a network event which is an event transmitted from another client or server through a communication network; 상기 응용 엔진부에 의한 상기 사용자 이벤트 및 네트워크 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 매 순간 상기 3차원 월드에 반영하고, 사용자가 상기 3차원 월드를 바라보는 위치 및 방향에서 보이는 상기 3차원 월드의 가시 공간내의 객체들을 3차원 위상 데이터 또는 애니메이션 데이터를 사용하여 디스플레이하는 3차원 월드 항해기; 및The 3D world is reflected in the 3D world at every moment according to the result of the processing of the user event and the network event by the application engine unit, and the 3D seen from the position and the direction in which the user views the 3D world. A three-dimensional world navigator for displaying objects in the visible space of the world using three-dimensional phase data or animation data; And 상기 응용 엔진부에 의한 상기 사용자 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송하고, 통신망을 통하여 수신된 상기 네트워크 이벤트를 상기 응용 엔진부로 전달하는 데이터 송수신부를 컴퓨터에 의하여 기능시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A program for transmitting a result of the processing of the user event by the application engine unit to another client or server through a communication network, and the data transmission and reception unit for transmitting the network event received through the communication network to the application engine unit by a computer. A computer-readable recording medium that has been recorded. 제4항에 있어서, 상기 응용 엔진부는,The method of claim 4, wherein the application engine unit, 주기적으로 상기 3차원 월드를 사용자를 대신하여 항해하는 아바타의 위치 및 형상을 포함하는 상기 3차원 월드의 상태 정보를 상기 데이터 송수신부를 통하여 다른 클라이언트 또는 서버로 전송하고,Periodically transmitting the state information of the 3D world including the position and the shape of the avatar sailing the 3D world on behalf of a user to another client or server through the data transceiver; 상기 3차원 월드 항해기는, 주기적으로 상기 데이터 송수신부를 통하여 수신되어 상기 응용 엔진부를 통하여 전달된 다른 클라이언트 또는 서버로부터 전송된 상기 3차원 월드에 존재하는 특정 객체의 상태 정보를 참조하여 상기 3차원 월드의 해당 객체의 상태를 보정함을 특징으로 프로그램을 기록한 컴퓨터로 읽을 수 있는기록 매체.The 3D world navigator periodically refers to the state information of a specific object present in the 3D world, which is received through the data transceiver and transmitted from another client or server transmitted through the application engine unit, of the 3D world. A computer-readable recording medium that records a program, characterized by correcting the state of the object. 제1항에 있어서, 상기 3차원 월드 항해기는,According to claim 1, The three-dimensional world navigator, 상기 3차원 월드에 존재하는 객체간에 충돌이 발생하면, 이를 감지하여 상기 응용 엔진부에 물리적 이벤트의 발생을 통보하고, 상기 응용 엔진부를 통한 상기 물리적 이벤트의 처리 결과에 따른 해당 객체의 상태 변화를 상기 3차원 월드에 반영하고,When a collision occurs between objects existing in the 3D world, the controller detects the notification and notifies the application engine to the occurrence of a physical event, and notifies the state change of the object according to the result of processing the physical event through the application engine. Reflected in the three-dimensional world, 상기 응용 엔진부는, 상기 3차원 월드 항해기로부터 통보된 물리적 이벤트에 대하여 상기 규칙 데이터 베이스로부터 해당 규칙을 독출하여 실행하고,The application engine unit reads and executes a corresponding rule from the rule database with respect to a physical event notified from the 3D world navigator, 상기 물리적 이벤트의 처리 결과에 의하여 상기 3차원 월드에서 다른 클라이언트와 공유하는 객체의 상태 변화가 발생하면, 상기 물리적 이벤트의 처리 결과를 통신망을 통하여 다른 클라이언트 또는 서버로 전송함을 특징으로 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.When a state change of an object shared with other clients in the 3D world occurs as a result of the processing of the physical event, the processing result of the physical event is transmitted to another client or server through a communication network, the computer recording the program Readable media.
KR1019990056572A 1999-12-10 1999-12-10 Networked Multi-User Dimension three dimensional graphic virtual reality system KR100312747B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990056572A KR100312747B1 (en) 1999-12-10 1999-12-10 Networked Multi-User Dimension three dimensional graphic virtual reality system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990056572A KR100312747B1 (en) 1999-12-10 1999-12-10 Networked Multi-User Dimension three dimensional graphic virtual reality system

Publications (2)

Publication Number Publication Date
KR20010055371A KR20010055371A (en) 2001-07-04
KR100312747B1 true KR100312747B1 (en) 2001-11-05

Family

ID=19624884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990056572A KR100312747B1 (en) 1999-12-10 1999-12-10 Networked Multi-User Dimension three dimensional graphic virtual reality system

Country Status (1)

Country Link
KR (1) KR100312747B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101606060B1 (en) * 2014-07-08 2016-03-24 재단법인 실감교류인체감응솔루션연구단 Method, appratus and computer-readable recording medium for controlling physical object based on network

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020057447A (en) * 2001-01-04 2002-07-11 심한억 The Method of Making a 3D Animation Movie By Controling 3D Character Directly
KR20030012672A (en) * 2001-08-03 2003-02-12 (주)혁성정보시스템 Message processing method for multi-user network racing game
KR100510339B1 (en) * 2004-08-13 2005-08-26 엔에이치엔(주) Method and system for renewing screen using mechanics information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101606060B1 (en) * 2014-07-08 2016-03-24 재단법인 실감교류인체감응솔루션연구단 Method, appratus and computer-readable recording medium for controlling physical object based on network

Also Published As

Publication number Publication date
KR20010055371A (en) 2001-07-04

Similar Documents

Publication Publication Date Title
CN108011886A (en) A kind of cooperative control method, system, equipment and storage medium
AU2017204738B2 (en) Massive simultaneous remote digital presence world
EP3332565B1 (en) Mixed reality social interaction
US20160225188A1 (en) Virtual-reality presentation volume within which human participants freely move while experiencing a virtual environment
US10192363B2 (en) Math operations in mixed or virtual reality
CN107093201B (en) Streaming interactive media including rendered geometry, texture and lighting data for transmission and control
Petit et al. Multicamera real-time 3d modeling for telepresence and remote collaboration
CN109426333A (en) A kind of information interacting method and device based on Virtual Space Scene
JP2009252240A (en) System, method and program for incorporating reflection
CN107959687A (en) A kind of data processing method, system, equipment and storage medium
CN108052364A (en) One kind is based on remote-operated method for displaying image, device, equipment and storage medium
US20050253872A1 (en) Method and system for culling view dependent visual data streams for a virtual environment
Maamar et al. Streaming 3D meshes over thin mobile devices
KR100312747B1 (en) Networked Multi-User Dimension three dimensional graphic virtual reality system
Lu et al. Renderfusion: Balancing local and remote rendering for interactive 3d scenes
Theoktisto et al. Enhancing collaboration in virtual reality applications
JP3338673B2 (en) 3D virtual space sharing multi-user system
Petit et al. A 3d data intensive tele-immersive grid
Engel et al. An immersive visualization system for virtual 3d city models
Sudarsky et al. Output-senstitive rendering and communication in dynamic virtual environments
JP2005050081A (en) Communication device sharing three-dimensional virtual space information
KR20040107193A (en) A Real Time Multi-view Graphic Image Display Method
CN111752384A (en) Computer implemented method, transmission system, program product and data structure
Meehan Survey of multi-user distributed virtual environments
Ferreira et al. Multiple display viewing architecture for virtual environments over heterogeneous networks

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111004

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20111031

Year of fee payment: 20