KR20030066863A - A system for VRML edit and a method thereof - Google Patents

A system for VRML edit and a method thereof Download PDF

Info

Publication number
KR20030066863A
KR20030066863A KR1020020006441A KR20020006441A KR20030066863A KR 20030066863 A KR20030066863 A KR 20030066863A KR 1020020006441 A KR1020020006441 A KR 1020020006441A KR 20020006441 A KR20020006441 A KR 20020006441A KR 20030066863 A KR20030066863 A KR 20030066863A
Authority
KR
South Korea
Prior art keywords
vrml
user
function
performs
editor
Prior art date
Application number
KR1020020006441A
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 KR1020020006441A priority Critical patent/KR20030066863A/en
Publication of KR20030066863A publication Critical patent/KR20030066863A/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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

PURPOSE: A system and a method for editing the VRML(Virtual Reality Modeling Language) are provided to enable a user to make a 3D(Dimensional) virtual reality space by using the VRML. CONSTITUTION: A VRML encoder(100) loads a VRML file in a VRML editor(300), checks grammar, and collects desired information. A device controller(200) links the external devices such as a space mouse, a data grove, and motion capture with the VRML. The VRML editor(300) edits the VRML file read by the VRML encoder(100). A VRML customizer(400) optimizes and publishes a completed 3D VRML source. A library(500) provides the basic data or the frequently used data for making the 3D space or an object by using the VRML.

Description

VRML 편집 시스템 및 방법{A system for VRML edit and a method thereof}A system for VRML edit and a method

본 발명은 VRML(Virtual Reality Moldeling Language) 편집 시스템 및 방법에 관한 것으로 더욱 상세하게는 3차원 가상현실 공간을 누구나 쉽게 작성할 수 있도록 하는 VRML 편집 시스템 및 방법에 관한 것이다.The present invention relates to a VRML (Virtual Reality Moldeling Language) editing system and method, and more particularly, to a VRML editing system and method for allowing anyone to easily create a 3D virtual reality space.

삼차원 가상현실 공간의 구축은 기존의 WWW(world wide web) 기반의 HTML(hypertext markup language)을 사용하는 이차원적인 정보표현방식을 탈피하고 기존의 인터넷 서비스를 인간중심의 삼차원 정보로 표현하기 위한 기술로 대두되기 시작하여 현재 VRML이 인터넷에서 삼차원 공간을 정의하는 표준으로 되어 있다.The construction of the three-dimensional virtual reality space is a technology to escape the two-dimensional information expression method using the hypertext markup language (HTML) based on the world wide web (WWW) and to express the existing Internet service as the human-centered three-dimensional information. Since its inception, VRML is now the standard for defining three-dimensional space on the Internet.

그러나 VRML은 3차원 컴퓨터 그래픽에 대한 상당한 경험과 지식이 있어야 활용할 수 있어서 아직 VRML의 활용이 활성화되지 못하고 있는 실정이다.However, VRML cannot be utilized because it can be utilized only with considerable experience and knowledge of 3D computer graphics.

VRML을 이용한 가상현실 공간의 저작도구가 최근 개발되었으나, 이를 이용하여 정교한 이미지를 얻기 위해서는 3차원 전용 그래픽 툴에서 랜더링 시키고, 다시 VRML 포맷으로 변환하여 작업을 하여야 한다. 따라서 종래의 저작도구를 이용하여3차원 가상현실 공간을 만들기 위해 사용자가 익혀야할 내용이 너무 많았고 설사 사용자가 그 기능을 모두 익힌다고 하더라도 사용자의 능력에 따라 최종 결과물이 달라지는 문제점이 있었다.The authoring tool of virtual reality space using VRML has been recently developed, but in order to obtain sophisticated images by using it, it must be rendered in 3D dedicated graphic tool and converted to VRML format. Therefore, the user has to learn too much to create a three-dimensional virtual reality space using a conventional authoring tool, even if the user learns all of the functions, there is a problem that the final result is different depending on the user's ability.

본 발명은 이와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 VRML을 이용하여 사용자가 손쉽게 3차원 가상현실 공간을 만들 수 있는 VRML 편집 시스템 및 방법을 제공하는 것이다.The present invention is to solve such a problem, it is an object of the present invention to provide a VRML editing system and method that allows a user to easily create a three-dimensional virtual reality space using VRML.

도 1은 본 발명의 실시 예에 따른 VRML 편집 시스템의 개략도이다.1 is a schematic diagram of a VRML editing system according to an embodiment of the present invention.

도 2는 본 발명의 실시 예에 따른 VRML 편집기의 세부구조를 나타내는 블록도이다.2 is a block diagram showing the detailed structure of a VRML editor according to an embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 VRML 인코더의 세부구조를 나타내는 블록도이다.3 is a block diagram illustrating a detailed structure of a VRML encoder according to an embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 VRML 인코더의 작동을 설명하는 순서도이다.4 is a flowchart illustrating an operation of a VRML encoder according to an embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 소스 편집기의 세부구조를 나타내는 블록도이다.5 is a block diagram showing a detailed structure of a source editor according to an embodiment of the present invention.

도 6은 본 발명의 실시 예에 따른 소스 편집기의 작동을 설명하는 순서도이다.6 is a flowchart illustrating an operation of a source editor according to an exemplary embodiment of the present invention.

도 7은 본 발명의 실시 예에 따른 오브젝트 생성기의 세부구조를 나타내는 블록도이다.7 is a block diagram illustrating a detailed structure of an object generator according to an embodiment of the present invention.

도 8은 본 발명의 실시 예에 따른 오브젝트 생성기의 작동을 설명하는 순서도이다.8 is a flowchart illustrating an operation of an object generator according to an embodiment of the present invention.

도 9는 본 발명의 실시 예에 따른 텍스쳐 편집기 및 커스터마이저의 세부구조를 나타내는 블록도이다.9 is a block diagram illustrating a detailed structure of a texture editor and a customizer according to an embodiment of the present invention.

도 10은 본 발명의 실시 예에 따른 텍스쳐 편집기 및 커스터마이저의 작동을 설명하는 순서도이다.10 is a flowchart illustrating an operation of a texture editor and a customizer according to an exemplary embodiment of the present invention.

도 11은 본 발명의 실시 예에 따른 애니메이터의 세부구조를 나타내는 블록도이다.11 is a block diagram showing the detailed structure of the animator according to an embodiment of the present invention.

도 12는 본 발명의 실시 예에 따른 애니메이터의 작동을 설명하는 순서도이다.12 is a flowchart illustrating the operation of the animator according to an embodiment of the present invention.

도 13은 본 발명의 실시 예에 따른 멀티미디어 믹서의 세부구조를 나타내는 블록도이다.13 is a block diagram showing the detailed structure of a multimedia mixer according to an embodiment of the present invention.

도 14는 본 발명의 멀티미디어 믹서의 작동을 설명하는 순서도이다.14 is a flowchart illustrating the operation of the multimedia mixer of the present invention.

도 15는 본 발명의 실시 예에 따른 속성 매니지먼트(property management)의 세부구조를 나타내는 블록도이다.FIG. 15 is a block diagram illustrating a detailed structure of property management according to an embodiment of the present invention.

도 16은 본 발명의 실시 예에 따른 속성 매니지먼트의 작동을 설명하는 순서도이다.16 is a flowchart illustrating an operation of attribute management according to an embodiment of the present invention.

도 17은 본 발명의 실시 예에 따른 장치 컨트롤러(device controller)의 세부구조를 나타내는 블록도이다.17 is a block diagram illustrating a detailed structure of a device controller according to an embodiment of the present invention.

도 18은 본 발명의 실시 예에 따른 장치 컨트롤러의 작동을 설명하는 순서도이다.18 is a flowchart illustrating an operation of a device controller according to an embodiment of the present invention.

도 19는 본 발명의 실시 예에 따른 라이브러리의 세부구조를 나타내는 블록도이다.19 is a block diagram showing the detailed structure of a library according to an embodiment of the present invention.

도 20은 본 발명의 실시 예에 따른 VRML 커스터마이저(customizer)의 세부구조를 나타내는 블록도이다.20 is a block diagram illustrating a detailed structure of a VRML customizer according to an embodiment of the present invention.

도 21은 본 발명의 실시 예에 따른 VRML 커스터마이저의 작동을 설명하는 순서도이다.21 is a flowchart illustrating an operation of a VRML customizer according to an embodiment of the present invention.

상기한 목적을 달성하기 위하여 본 발명의 VRML 편집 시스템은 VRML 인코더 (encoder), 장치 컨트롤러(device controller), VRML 편집기(editor), VRML 커프터마이저(customizer), 라이브러리(library)를 포함한다.In order to achieve the above object, the VRML editing system of the present invention includes a VRML encoder, a device controller, a VRML editor, a VRML customizer, and a library.

이하 본 발명의 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 VRML 편집 시스템의 개략도이다.1 is a schematic diagram of a VRML editing system according to an embodiment of the present invention.

도 1에 도시된 바와 같이 본 발명의 VRML 편집 시스템은 VRML 인코더(100), 장치 컨트롤러(200), VRML 편집기(300), VRML 커스터마이저(400), 라이브러리(500)를 포함한다.As shown in FIG. 1, the VRML editing system of the present invention includes a VRML encoder 100, a device controller 200, a VRML editor 300, a VRML customizer 400, and a library 500.

상기 VRML 인코더(100)는 VRML 파일을 편집기 안으로 불러들이고, 문법을 검사하고, 필요한 정보를 모으는 기능을 수행한다.The VRML encoder 100 loads a VRML file into an editor, checks a grammar, and collects necessary information.

상기 장치 컨트롤러(200)는 스페이스 마우스, 데이터글로브, 모션캡처 등 외부장치들이 VRML과 연동 할 수 있도록 하는 기능을 수행한다.The device controller 200 performs a function of allowing external devices such as a space mouse, data globe, and motion capture to interoperate with VRML.

상기 VRML 편집기(300)는 상기 VRML 인코더(100)가 읽어들인 VRML 파일을 편집하는 기능을 수행한다.The VRML editor 300 performs a function of editing a VRML file read by the VRML encoder 100.

상기 VRML 커스터마이저(400)는 완성된 3차원 VRML 소스를 최적화하여 출판하는 기능을 수행한다.The VRML customizer 400 performs a function of optimizing and publishing the completed 3D VRML source.

상기 라이브러리(500)는 VRML을 이용하여 3차원 공간이나 오브젝트를 제작할 때 필요한 기초적인 데이터나 자주 사용되는 데이터를 제공하는 기능을 수행한다.The library 500 performs a function of providing basic data or frequently used data required when manufacturing a 3D space or an object using VRML.

도 2는 본 발명의 실시 예에 따른 VRML 편집기의 세부구조를 나타내는 블록도이다.2 is a block diagram showing the detailed structure of a VRML editor according to an embodiment of the present invention.

도 2에 도시된 바와 같이 상기 VRML 편집기(300)는 뷰어(viewer), 속성 매니지먼트(property management), 3차원 편집기(3D editor), 소스 편집기(source editor), 신택스 검사기(syntax checker)를 포함한다.As shown in FIG. 2, the VRML editor 300 includes a viewer, a property management, a 3D editor, a source editor, and a syntax checker. .

상기 3차원 편집기는 멀티미디어 믹서(multimedia mixer), 네비게이터(navigator), 애니메이터(animator), 텍스쳐 편집기 및 커스터마이저 (texture editor & customizer), 오브젝트 생성기 및 리모델러(object creator & re-modeler)를 포함한다.The three-dimensional editor includes a multimedia mixer, a navigator, an animator, a texture editor and customizer, an object creator & re-modeler. do.

도 3은 본 발명의 실시 예에 따른 VRML 인코더의 세부구조를 나타내는 블록도이다.3 is a block diagram illustrating a detailed structure of a VRML encoder according to an embodiment of the present invention.

도 3에 도시된 바와 같이 본 발명의 VRML 인코더(100)는 소스 임포터(source importer)(110), 압축 처리기(120), 문법 검사기(130), scene tree 생성기(140)를 포함한다.As shown in FIG. 3, the VRML encoder 100 of the present invention includes a source importer 110, a compression processor 120, a grammar checker 130, and a scene tree generator 140.

상기 소스 임포터(110)는 VRML 소스를 VRML 편집기로 읽어들이는 기능을 수행한다. VRML 파일은 텍스쳐(texture)와 멀티미디어 파일들을 같은 파일이 아닌 다른 파일에 저장하고 있다. 이런 VRML 파일이 참조하는 외부 파일이 많은 경우, 특히 웹상에 존재하는 파일들인 경우에는 사용자가 일일이 모든 파일을 다운받기가 쉽지 않다. 상기 소스 임포터(110)는 외부 파일이 많은 경우나 연관된 파일들이 웹상에 존재하는 경우에 사용자의 허가를 받아 연관된 파일들을 모두 다운로드 하는 기능을 수행한다.The source importer 110 reads a VRML source into a VRML editor. VRML files store texture and multimedia files in files other than the same file. When there are many external files referred to by these VRML files, especially when the files exist on the web, it is not easy for a user to download all the files. The source importer 110 performs a function of downloading all related files with a user's permission when there are many external files or when the related files exist on the web.

상기 압축 처리기(120)는 VRML 파일들을 사용자가 별도의 압축해제를 하지 않더라도 파일 헤더를 조사하여 압축파일이면 자동으로 압축을 풀어주는 기능을 수행한다. VRML은 웹상에서 3차원 가상현실 공간을 만들기 위한 표준이므로 파일의 크기가 커서 대부분의 파일들이 압축되어 배포되고 있다.The compression processor 120 performs a function of automatically decompressing the VRML files, if the compressed file is examined by examining the file header even if the user does not separate the compression. VRML is a standard for creating 3D virtual reality space on the web, so most files are compressed and distributed because of the large file size.

상기 문법 검사기(130)는 소스의 VRML이 문법에 맞는지를 검사하는 기능을 수행한다.The grammar checker 130 performs a function of checking whether the VRML of the source conforms to the grammar.

상기 scene tree 생성기(140)는 계층적 구조를 가지고 있는 scene graph의 요소들을 찾아내어 트리 형태의 자료를 생성하는 기능을 수행한다. 이는 사용자가 VRML 파일의 전체적인 구조를 쉽게 이해할 수 있도록 할뿐만 아니라 특정한 기능을 수행하는 부위의 검색, 수정 또는 삭제를 용이하게 하며, 그룹 단위의 작업에서 뛰어난 기능을 제공한다.The scene tree generator 140 finds elements of a scene graph having a hierarchical structure and generates a tree-shaped material. This not only makes it easy for the user to understand the overall structure of the VRML file, but also facilitates the search, modification or deletion of parts performing specific functions, and provides excellent functions in group work.

상기 scene graph는 헤더(header), scene graph, prototypes, event/routing으로 구성되어 있는 VRML 파일의 구성요소 중 하나로 상기 scene graph에는 사물과그 사물의 특성들을 설명하는 노드들이 담겨져 있다. 사물을 표현하기 위해서는 청각과 시각적 요소를 가지는 노드들과 사건을 발생시키고 전달하는 메커니즘에 참여하는 노드들이 필요한데 이러한 노드들은 scene graph 내에서 계층적인 구조를 가지고 연결된다.The scene graph is one of the components of a VRML file consisting of a header, a scene graph, prototypes, and an event / routing. The scene graph includes nodes and nodes describing the characteristics of the objects. In order to represent things, we need nodes with auditory and visual elements and nodes that participate in mechanisms for generating and communicating events. These nodes are connected in a hierarchical structure within the scene graph.

또한 상기 scene tree 생성기(140)에서 생성된 scene tree는 소스 편집기(source editor), 3차원 편집기(3D editor)에서 선택되거나 생성 또는 수정 중인 노드(node), 오브젝트(object)에 대한 정보를 계속 나타내줌으로써 사용자에게 편의를 제공한다.In addition, the scene tree generated by the scene tree generator 140 continuously displays information on nodes and objects that are selected, generated, or modified in a source editor or a 3D editor. By providing a user convenience.

도 4는 본 발명의 실시 예에 따른 VRML 인코더의 작동을 설명하는 순서도이다.4 is a flowchart illustrating an operation of a VRML encoder according to an embodiment of the present invention.

먼저 VRML 소스를 VRML 편집기(editor)로 읽어들인다(단계 410). 이때 자신의 컴퓨터에 있는 파일은 물론 온라인 상에 존재하는 파일도 URL을 입력하면 읽어들일 수 있다. VRML 소스를 읽어들일 때 연관된 텍스쳐(texture)가 있으면 함께 읽어들인다.First, the VRML source is loaded into the VRML editor (step 410). At this time, the file on the computer as well as the file existing online can be read by entering the URL. When you load a VRML source, it loads the associated texture if there is one.

상기 압축처리기(120)는 VRML 편집기가 읽어들인 파일이 압축이 되어 있으면 압축을 풀어 원래 소스로 복구한다(단계 420).If the file read by the VRML editor is compressed, the compression processor 120 decompresses and restores the original source (step 420).

상기 문법 검사기(130)는 소스가 VRML의 문법에 맞는지를 검사한다(단계 430). 문법적인 오류가 있는 경우에는 이를 표현 가능한 3차원 형태로 변환한다.The grammar checker 130 checks whether the source matches the grammar of the VRML (step 430). If there is a grammatical error, it is converted into a three-dimensional form that can be expressed.

상기 scene tree 생성기(140)는 소스를 분석하여 각 사물들의 tree 구조를 찾아내어 scene tree를 작성한다.The scene tree generator 140 creates a scene tree by finding a tree structure of each object by analyzing a source.

문법 검사와 소스 분석이 완료되면 상기 소스는 편집이 가능한 상태로 된다(단계 450).When grammar checking and source analysis are complete, the source is ready for editing (step 450).

도 5는 본 발명의 실시 예에 따른 소스 편집기의 세부구조를 나타내는 블록도이다.5 is a block diagram showing a detailed structure of a source editor according to an embodiment of the present invention.

소스 편집기는 상기 VRML 인코더를 통해 배출된 소스를 사용자가 직접 수정할 수 있도록 하는 기능을 수행한다.The source editor performs a function of allowing a user to directly modify a source discharged through the VRML encoder.

도 5에 도시된 바와 같이 본 발명의 소스 편집기는 입력가능 코드 표시기(510), 문법 검사기(520), 오류 표시기(530), 속성(property) 표시기(540), 3차원 동기화기(550)를 포함한다.As shown in FIG. 5, the source editor of the present invention uses an inputable code indicator 510, a grammar checker 520, an error indicator 530, a property indicator 540, and a three-dimensional synchronizer 550. Include.

상기 입력가능 코드 표시기(510)는 현재 입력자리에 입력할 수 있는 코드들을 사용자에게 보여주는 기능을 수행한다.The inputtable code indicator 510 performs a function of displaying codes that can be input at the current input position to the user.

일반적으로 제공되는 소스 편집기는 모든 입력을 사용자에게 전적으로 맡기고 있다. 이로 인해 사용자들은 소스 코딩시 많은 오류를 범하고, 이 때 발생한 오류를 찾기 위해 많은 시간을 소모하게 된다. 상기 입력가능 코드 표시기(510)는 이러한 문제점을 해결하기 위한 것이다. 예를 들면 VRML의 shape 노드의 경우에 shape 단어 다음에는 열린 중괄호 "{"가 나오고, appearance 또는 geometry가 나오고 마지막으로 닫힌 중괄호 "}"가 나오게 되어 있다. 이런 규칙성에 입각해서 사용자가 shape를 입력하면 다음에 입력할 정보를 차례로 화면에 보여줌으로써 사용자가 VRML 문법을 완벽하게 알지 못하더라도 정확한 코딩을 할 수 있도록 한다.In general, the provided source editor leaves all the input to the user. As a result, users make a lot of errors when coding the source, and spend a lot of time looking for errors. The inputtable code indicator 510 is to solve this problem. For example, in the case of a shape node in VRML, the shape word is followed by an open brace "{" followed by an appearance or geometry followed by the last closed brace "}". Based on this regularity, when the user enters the shape, the information to be displayed next is displayed in order so that the user can code correctly even if they do not know the VRML syntax completely.

상기 문법 검사기(520)는 사용자가 입력한 코드가 문법에 맞는지를 검사하는기능을 수행한다.The grammar checker 520 performs a function of checking whether a code input by a user conforms to a grammar.

상기 오류 표시기(530)는 상기 문법 검사기(520)가 문법을 검사한 결과 잘못 입력된 부분이 있는 경우 이를 사용자가 알 수 있도록 표시하는 기능을 수행한다. 상기 오류 표시기(530)는 오류가 발생하면 오류 메시지를 마우스 포인터 옆, 상태바 등에 표시하고, 오류 단어에는 붉은 색 밑줄을 그어 사용자가 알 수 있도록 한다.The error indicator 530 performs a function of displaying the grammar checker 520 so that a user can know when there is a wrong input as a result of the grammar checker 520. When an error occurs, the error indicator 530 displays an error message next to a mouse pointer, a status bar, and underlines an error word so that the user can know it.

상기 속성 표시기(540)는 속성 표시 창에 현재 작업하는 노드가 가질 수 있는 모든 속성과 속성에 할당되어 있는 값들을 표시해 주는 기능을 수행한다. 이러한 표시는 사용자에게 작업하는 노드에 대한 정확한 정보를 제공할 수 있으며, 코딩에 대한 여러 가지 방식을 제공해 준다.The attribute indicator 540 displays all attributes and values assigned to attributes that the node currently working on may display in the attribute display window. These indications can provide the user with accurate information about the node they are working on, and provide different ways of coding.

원뿔을 나타내는 cone 노드를 코딩하는 경우를 예를 들어 설명하면 다음과 같다. cone 노드는 원뿔의 바닥 원의 반지름을 나타내는 bottom Radius, 원뿔의 높이를 나타내는 height, 옆면의 표시여부를 나타내는 side, 바닥의 표시여부를 나타내는 bottom으로 구성되어 있다.An example of coding a cone node representing a cone is as follows. The cone node consists of a bottom radius representing the radius of the bottom circle of the cone, a height representing the height of the cone, a side representing the side of the cone and a bottom representing the bottom of the cone.

만약 반지름이 3이고, 높이가 4이며, 옆면, 바닥 면을 표시하는 원뿔을 만들고자 하는 경우에 다음과 같이 코딩하여야 한다.If you want to create a cone with a radius of 3, a height of 4, and a side and bottom face, you should code:

Cone{ bottomRadium 3 height 4 side TRUE bottom TRUE }Cone {bottomRadium 3 height 4 side TRUE bottom TRUE}

종전에는 위와 같은 내용을 사용자가 모두 입력하여야 했으나, 상기 속성 표시기(540)를 이용하면 사용자가 cone을 편집창에 입력하면 상기 속성 표시기(540)는 cone 노드가 가질 수 있는 속성을 화면에 표시하고, 사용자는 이 속성의 기본값을 원하는 값으로 변경만 하면 된다.In the past, the user had to input all of the above contents, but when the user inputs the cone to the edit window using the property indicator 540, the property indicator 540 displays the property that the cone node may have on the screen. The user only needs to change the default value of this property to the desired value.

이와 같이 소스 편집기는 기존이 편집기와는 달리 사용자의 키보드를 통한 입력을 최소화하고, 코딩시 오류를 최소화 할 수 있다.Thus, unlike the existing editor, the source editor can minimize input through the user's keyboard and minimize errors in coding.

상기 3차원 동기화기(550)는 오류가 나타나지 않은 상태로 하나의 완전한 노드가 만들어지거나, 오류가 수정되면 해당 노드를 3차원 뷰어창과 동기화 시키는 기능을 수행한다.The 3D synchronizer 550 performs a function of synchronizing a node with a 3D viewer window when one complete node is made without an error or when an error is corrected.

도 6은 본 발명의 실시 예에 따른 소스 편집기의 작동을 설명하는 순서도이다.6 is a flowchart illustrating an operation of a source editor according to an exemplary embodiment of the present invention.

먼저 키보드에 의한 코드의 입력이 있는지를 기다린다(단계 610).First it waits for input of code by the keyboard (step 610).

사용자가 코드를 입력하면 상기 입력가능 코드 표시기(510)는 현재 위치에서 입력 가능한 모든 형태의 코드를 찾아서 사용자에게 보여준다(단계 620). 사용자에게 입력 가능한 코드를 보여주는 방법에는 드롭다운 방식 등이 사용될 수 있다.When the user enters a code, the inputtable code indicator 510 finds and displays all types of codes that can be input at the current location (step 620). A drop-down method may be used to show a code that can be input to the user.

사용자가 입력한 내용이 단어로 완성되었는지를 판단한다(단계 630). 사용자가 입력한 내용이 단어로 완성되지 않았다고 판단되는 경우에는 단계 610과 620을 반복한다.It is determined whether the content input by the user is completed with a word (step 630). If it is determined that the content input by the user is not completed with words, steps 610 and 620 are repeated.

사용자가 입력한 내용이 단어로 완성되었다고 판단되는 경우에는 상기 문법 검사기(520)는 완성된 단어가 문법에 맞는지를 검사한다(단계 640).If it is determined that the content input by the user is completed with a word, the grammar checker 520 checks whether the completed word matches the grammar (step 640).

상기 문법 검사기(520)가 문법을 검사한 결과 오류가 있다고 판단되는 경우에는 상기 오류 표시기(530)는 오류가 있음을 사용자에게 알리고 틀린 단어를 사용자가 알 수 있도록 표시한다(단계 652). 오류 메시지는 마우스 포인터 옆, 상태바등에 표시할 수 있으며, 틀린 단어는 붉은 색 밑줄을 그어 알려줄 수 있다.If the grammar checker 520 determines that there is an error as a result of the grammar check, the error indicator 530 notifies the user of the error and displays the wrong word so that the user can know the wrong word (step 652). Error messages can be displayed next to the mouse pointer, in the status bar, and incorrect words can be underlined in red.

사용자가 오류 메시지를 참조하여 수정을 하면 상기 단계 640과 650을 반복한다.If the user makes a correction by referring to the error message, the steps 640 and 650 are repeated.

상기 문법 검사기(520)가 문법을 검사한 결과 오류가 없다고 판단되는 경우에는 상기 3차원 동기화기(550)는 해당 노드를 3차원 뷰어 창과 동기화 시킨다(단계 660).If the grammar checker 520 determines that there is no error as a result of the grammar checker 520, the 3D synchronizer 550 synchronizes the node with the 3D viewer window (step 660).

단계 610 내지 단계 660이 진행되는 도중에 다음 단계가 추가될 수 있다. 도 6에서는 설명의 편의상 단계 650과 관련이 있는 것처럼 도시하였으나 다음 두 단계는 소스 편집기를 이용하여 편집하는 중이라면 어떤 단계에서도 실행될 수 있다.The following steps may be added during the steps 610 to 660. Although illustrated in FIG. 6 as related to step 650 for convenience of description, the next two steps may be executed at any step if editing using a source editor.

상기 소스 편집기는 사용자가 편집을 하는 도중에 사용자가 마우스를 이용하여 특정 단어나 특정 구역을 클릭 하는지 이벤트를 기다린다(단계 670).The source editor waits for an event whether the user clicks on a specific word or a specific area using a mouse while the user is editing (step 670).

사용자가 특정 단어나 특정 구역을 클릭 하면 현재 위치에 속한 노드의 모든 속성을 표시하고 scene tree는 현재 노드의 위치로 이동하여 보여준다(단계 680).When the user clicks on a particular word or region, all attributes of the node belonging to the current location are displayed and the scene tree moves to the location of the current node to show (step 680).

도 7은 본 발명의 실시 예에 따른 오브젝트 생성기 및 리모델러의 세부구조를 나타내는 블록도이다.7 is a block diagram illustrating a detailed structure of an object generator and a remodeler according to an embodiment of the present invention.

오브젝트 생성기 및 리모델러(object creator & re-modeler)는 3차원 오브젝트를 생성하고 이를 수정하는 기능을 수행한다.The object creator & re-modeler creates and modifies 3D objects.

도 7에 도시된 바와 같이, 본 발명의 오브젝트 생성기 및 리모델러는 대상 선택기(710), 오브젝트 생성기(720), 오브젝트 속성 변경기(730), 오브젝트 라이브러리(740)를 포함한다.As shown in FIG. 7, the object generator and remodeler of the present invention includes a target selector 710, an object generator 720, an object attribute changer 730, and an object library 740.

상기 대상 선택기(710)는 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행한다.The target selector 710 performs a function of providing information about an object and a node that the user selects or is currently working on.

상기 오브젝트 생성기(720)는 사용자에 의해 결정된 오브젝트를 3차원 및 2차원 소스 편집기에 생성하는 기능을 수행한다. 이 때 기본 좌표는 현재 viewpoint를 기준으로 생성하며, 생성한 오브젝트에 관한 정보는 속성 매니지먼트(property management)와 scene tree에 추가된다.The object generator 720 performs a function of generating an object determined by a user in a three-dimensional and two-dimensional source editor. At this time, the basic coordinates are generated based on the current viewpoint, and information about the created object is added to property management and scene tree.

상기 오브젝트 속성 변경기(730)는 현 오브젝트에 관련된 각종 속성 즉, 위치, 회전, 크기, 색상, 텍스쳐(texture), 소리(sound), 빛(light) 등 변경할 수 있는 모든 속성을 사용자가 변경할 수 있도록 하는 기능을 수행한다.The object property changer 730 allows a user to change various properties related to the current object, that is, all properties that can be changed, such as position, rotation, size, color, texture, sound, and light. It performs the function that makes it possible.

상기 오브젝트 라이브러리(740)는 VRML이 제공하는 기본 도형이외에 자주 사용되는 오브젝트를 제공하는 기능을 수행한다.The object library 740 performs a function of providing an object that is frequently used in addition to the basic figure provided by the VRML.

VRML은 10개의 기하학적인 모양을 생성할 수 있는 노드를 가지고 있으나, 실제 가상공간을 구성하기 위해서는 이외에도 많은 노드를 필요로 한다. 상기 오브젝트 라이브러리(740)는 자주 사용되는 형태의 오브젝트를 미리 만들어 저장하고 있다가 사용자가 필요할 때 제공하여 사용자가 약간의 수정만 하면 원하는 형태를 만들 수 있도록 한다.VRML has nodes that can create 10 geometric shapes, but it requires many more nodes to construct the actual virtual space. The object library 740 pre-creates and stores an object of a frequently used type and provides it when the user needs it so that the user can make a desired shape with only minor modifications.

상기 오브젝트 라이브러리(740)에 저장되어 있는 자료들은 웹 사이트를 통해 업데이트 될 수 있다.Materials stored in the object library 740 may be updated through a web site.

도 8은 본 발명의 실시 예에 따른 오브젝트 생성기 및 리모델러의 작동을 설명하는 순서도이다.8 is a flowchart illustrating operations of an object generator and a remodeler according to an embodiment of the present invention.

사용자는 VRML에서 기본적으로 제공되거나 상기 오브젝트 라이브러리(740)에 저장되어 있는 오브젝트 중 필요로 하는 오브젝트를 선택한다(단계 810).The user selects a required object from among objects provided in the VRML or stored in the object library 740 (step 810).

상기 오브젝트 생성기(720)는 사용자가 선택한 오브젝트를 3차원 및 2차원 소스 편집기에 생성한다(단계 820). 이때 기본 좌표는 현재 viewpoint를 기준으로 생성하며, 생성된 오브젝트에 관한 정보는 속성 매니지먼트와 scene tree에 추가된다.The object generator 720 generates objects selected by the user in the 3D and 2D source editors (step 820). At this time, the basic coordinates are generated based on the current viewpoint, and the information about the created object is added to the property management and the scene tree.

상기 오브젝트 속성 변경기(730)는 사용자가 원하는 대로 오브젝트에 관련된 각종 속성을 변경한다.The object attribute changer 730 changes various attributes related to the object as desired by the user.

도 9는 본 발명의 실시 예에 따른 텍스쳐 편집기 및 커스터마이저의 세부구조를 나타내는 블록도이다.9 is a block diagram illustrating a detailed structure of a texture editor and a customizer according to an embodiment of the present invention.

상기 텍스쳐 편집기 및 커스터마이저는 오브젝트에 맵핑(mapping)되어 있거나 맵핑할 텍스쳐를 수정하고 최적화하는 기능을 수행한다.The texture editor and the customizer perform a function of modifying and optimizing a texture mapped or mapped to an object.

도 9에 도시된 바와 같이 본 발명의 텍스쳐 편집기 및 커스터마이저는 이미지 임포터(910), 대상 선택기(920), 이미지 편집기(930), 이미지 최적화기(940), 이미지 라이브러리(950)를 포함한다.As shown in FIG. 9, the texture editor and customizer of the present invention includes an image importer 910, an object selector 920, an image editor 930, an image optimizer 940, and an image library 950. .

상기 이미지 임포터(910)는 이미지 포맷을 편집기로 임포트 시키는 기능을 수행한다. 상기 이미지 임포터(910)는 일반적으로 많이 사용되는 JPEG, GIF 뿐만 아니라 그 이외의 파일 포맷도 지원한다.The image importer 910 imports an image format into an editor. The image importer 910 generally supports not only JPEG and GIF but also other file formats.

상기 대상 선택기(920)는 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행한다.The target selector 920 performs a function of providing information on an object and a node that the user selects or is currently working on.

상기 이미지 편집기(930)는 사용자가 이미지를 수정할 수 있는 기능을 수행한다. 이미지 수정은 전문 툴에 맡기는 것이 더 효과적이기 때문에 상기 이미지 편집기(930)는 다양한 기능을 지원하기보다는 이미지 수정에 필요한 최소한의 기능만을 제공하도록 할 수도 있다.The image editor 930 performs a function of allowing a user to modify an image. Since it is more effective to leave the image correction to a specialized tool, the image editor 930 may provide only the minimum function necessary for image correction rather than supporting various functions.

또한 상기 이미지 편집기(930)는 GIF 파일 포맷에 관해서는 애니메이션 기능을 새로 생성하거나 수정하는 기능을 수행한다.In addition, the image editor 930 performs a function of newly creating or modifying an animation function with respect to the GIF file format.

상기 이미지 최적화기(940)는 원본 이미지에 가장 가깝고 데이터의 압축률이 높아 사이즈가 적은 이미지를 생성해 전체적인 파일 사이즈를 최소화해주는 기능을 수행한다.The image optimizer 940 is closest to the original image and has a high compression rate to generate an image having a small size, thereby minimizing the overall file size.

상기 이미지 라이브러리(950)는 자주 사용되는 이미지들을 저장하고 있다가 사용자가 필요할 때 제공하여 사용자가 약간의 수정만 하면 원하는 형태를 만들 수 있도록 한다. 상기 이미지 라이브러리(950)에 저장되어 있는 자료들은 웹 사이트를 통해 업데이트 될 수 있다.The image library 950 stores frequently used images and provides them when the user needs them so that the user can make a desired shape with only minor modifications. Materials stored in the image library 950 may be updated through a web site.

도 10은 본 발명의 실시 예에 따른 텍스쳐 편집기 및 커스터마이저의 작동을 설명하는 순서도이다.10 is a flowchart illustrating an operation of a texture editor and a customizer according to an exemplary embodiment of the present invention.

상기 이미지 임포터(910)는 GIF, JPEG 등 다양한 이미지 포맷을 편집기로 임포트 시킨다(단계 1010). URL 주소를 입력하면 입력한 주소에 해당하는 사이트에서 이미지를 다운로드 받아 편집기로 임포트 시킨다.The image importer 910 imports various image formats such as GIF and JPEG into the editor (step 1010). If you enter a URL address, the image is downloaded from the site corresponding to the entered address and imported into the editor.

사용자는 상기 이미지 임포터(910)가 임포트한 이미지를 상기 이미지편집기(930)를 이용하여 원하는 형태로 이미지를 수정한다(단계 1020).The user modifies the image imported by the image importer 910 into a desired shape using the image editor 930 (step 1020).

사용자가 이미지 편집을 마치면 상기 이미지 최적화기(940)는 이미지 파일을 최소의 사이즈로 최대의 화질을 낼 수 있는 파일로 최적화 한다(단계 1030).When the user finishes editing the image, the image optimizer 940 optimizes the image file to a file capable of maximum image quality with a minimum size (step 1030).

상기 이미지 최적화기(940)에 의해 최적화 된 이미지 파일은 지정된 폴더에 저장된다(단계 1040). 만약 지정된 폴더가 URL 주소인 경우에는 URL 주소에 해당하는 사이트에 업로드시킨다.The image file optimized by the image optimizer 940 is stored in a designated folder (step 1040). If the designated folder is a URL address, upload it to the site corresponding to the URL address.

최적화 된 이미지를 선택된 오브젝트에 맵핑시킨다(단계 1050). 또한 2차원 소스, 특성 매니지먼트, scene tree에 동기화 시켜준다.The optimized image is mapped to the selected object (step 1050). It also synchronizes two-dimensional sources, property management, and the scene tree.

도 11은 본 발명의 실시 예에 따른 애니메이터의 세부구조를 나타내는 블록도이다.11 is a block diagram showing the detailed structure of the animator according to an embodiment of the present invention.

상기 애니메이터는 3차원 공간상에 존재하는 오브젝트, 라이트, 뷰포인트에 대한 애니메이션을 생성하거나 수정하는 기능을 수행한다. VRML에서는 time line을 따라 오브젝트에 대한 상태변화와 움직임을 줄 수 있다.The animator creates or modifies animations of objects, lights, and viewpoints in three-dimensional space. In VRML, you can change state and move objects along the timeline.

그러나 현재 제공되는 대부분의 편집기는 키보드로 일일이 변화되는 값을 입력하거나 마우스로 오브젝트를 이동하여 그 좌표를 기록하는 방식을 취하고 있다. 그러나 키보드와 마우스만을 이용하여 좌표를 기록하는 경우에는 3차원 공간에서 부드럽고 세밀한 움직임을 구현하기가 매우 어렵다. 왜냐하면 키보드나 마우스는 3차원이 아닌 2차원 상의 좌표를 움직이는 장치이기 때문이다.However, most of the currently provided editors use a method of recording a coordinate by inputting a variable value by using a keyboard or moving an object with a mouse. However, when recording coordinates using only the keyboard and mouse, it is very difficult to realize smooth and detailed movement in three-dimensional space. Because a keyboard or mouse is a device that moves coordinates in two dimensions rather than three dimensions.

그러나 본 발명의 애니메이터는 장치 컨트롤러에서 인식된 3차원 관련 장비들을 오브젝트에 연결하여 움직임을 만들 수 있도록 하기 때문에 3차원 공간에서보다 세밀하고 부드러운 애니메이션을 생성할 수 있다.However, the animator of the present invention can generate motion by connecting three-dimensional related devices recognized by the device controller to an object to create a motion.

도 11에 도시된 바와 같이 본 발명의 애니메이터는 대상선택기(1110), 외부 장치 선택기(1120), 오브젝트 이동 및 상태 변화 기록기(1130), 조명 이동 및 상태 변화 기록기(1140), 시점 이동 기록기(1150), 조건 생성기(1160), 스크립트 편집기(1170), 애니메이션 생성기(1180), 애니메이션 라이브러리(1190)를 포함한다.As shown in FIG. 11, the animator of the present invention includes an object selector 1110, an external device selector 1120, an object movement and state change recorder 1130, an illumination movement and state change recorder 1140, and a viewpoint movement recorder 1150. ), Condition generator 1160, script editor 1170, animation generator 1180, and animation library 1190.

상기 대상 선택기(1110)는 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행한다.The target selector 1110 performs a function of providing information about an object and a node that the user selects or is currently working on.

상기 외부 장치 선택기(1120)는 사용자가 애니메이션을 생성할 장치를 선택할 수 있도록 해준다. 사용자가 선택할 수 있는 장치로는 기본적으로 키보드와 마우스가 제공되며, 그 외에도 조이스틱(joystick), 데이터 글러브(data glove), 모션 캡쳐(motion capture) 등이 제공된다.The external device selector 1120 allows a user to select a device for generating an animation. The user selectable device is basically provided with a keyboard and a mouse. In addition, a joystick, a data glove, a motion capture, and the like are provided.

상기 오브젝트 이동 및 상태 변화 기록기(1130)는 time line을 생성하고 선택된 장치로부터 입력되는 오브젝트의 이동 및 상태의 변화를 기록하는 기능을 수행한다.The object movement and state change recorder 1130 generates a time line and records a movement and state change of an object input from the selected device.

상기 조명 이동 및 상태 변화 기록기(1140)는 time line을 생성하고 선택된 장치로부터 입력되는 조명의 이동 및 상태의 변화를 기록하는 기능을 수행한다.The illumination movement and state change recorder 1140 generates a time line and records a change in the movement and state of illumination input from the selected device.

상기 시점 이동 기록기(1150)는 time line을 생성하고 선택된 장치로부터 입력되는 시점의 이동을 기록하는 기능을 수행한다.The viewpoint movement recorder 1150 generates a time line and records a movement of a viewpoint input from a selected device.

상기 조건 생성기(1160)는 현재 애니메이션이 일어날 조건을 생성하는 기능을 수행한다. 즉 상기 조건 생성기(1160)는 현재 생성 또는 수정한 애니메이션들의 trigger 역할을 할 수 있는 모든 센서를 사용자에게 보여주고, 사용자는 단순히 마우스로 드래그하여 서로 연결고리만 만들어 주면 된다. 또한 필요한 센서가 있는 경우에는 오브젝트 생성기를 거치지 않고 상기 조건생성기(1160)가 센서를 생성해주기도 한다.The condition generator 1160 performs a function of generating a condition in which a current animation will occur. That is, the condition generator 1160 shows to the user all sensors that can act as triggers of the currently created or modified animations, and the user only needs to drag the mouse to make a connection with each other. In addition, when there is a required sensor, the condition generator 1160 may generate the sensor without passing through the object generator.

상기 스크립트 편집기(1170)는 좀더 복잡하고 자세한 조작을 원하는 사용자가 VRML 스크립트, JAVA 스크립트 등을 직접 수정할 수 있도록 하는 기능을 수행한다.The script editor 1170 performs a function of allowing a user who wants a more complicated and detailed operation to directly modify a VRML script, a JAVA script, and the like.

상기 애니메이션 생성기(1180)는 현재의 작업에 애니메이션을 생성하여 추가하는 기능을 수행한다. 생성된 애니메이션은 2차원 소스, 특성 매니지먼트, scene tree에 동기화된다.The animation generator 1180 performs a function of generating and adding an animation to the current job. The generated animation is synchronized to two-dimensional sources, property management, and the scene tree.

상기 애니메이션 라이브러리(1190)는 자주 사용되는 애니메이션들을 저장하고 있다가 사용자가 필요할 때 제공하여 사용자가 약간의 수정만 하면 해당 오브젝트에 적용할 수 있도록 한다. 상기 애니메이션 라이브러리(1190)에 저장되어 있는 자료들은 웹 사이트를 통해 업데이트 될 수 있다.The animation library 1190 stores frequently used animations and provides them when the user needs them so that the user can apply them to the object with only minor modifications. Materials stored in the animation library 1190 may be updated through a web site.

도 12는 본 발명의 실시 예에 따른 애니메이터의 작동을 설명하는 순서도이다.12 is a flowchart illustrating the operation of the animator according to an embodiment of the present invention.

사용자는 애니메이션을 생성할 대상을 선택한다(단계 1210).The user selects a target to generate an animation (step 1210).

사용자는 상기 외부 장치 선택기(1120)를 이용하여 사용하고자 하는 외부 장치를 선택한다(단계 1220). 사용자가 선택할 수 있는 외부 장치로는 조이스틱, 데이터 글러브, 모션 캡쳐 등이 있다.The user selects an external device to be used by using the external device selector 1120 (step 1220). User-selectable external devices include joysticks, data gloves, and motion capture.

상기 오브젝트 이동 및 상태 변화 기록기(1130)는 time line을 생성하고 사용자가 선택한 장치로부터 입력되는 오브젝트의 이동 및 상태 변화를 기록한다(단계 1230).The object movement and state change recorder 1130 generates a time line and records the movement and state change of the object input from the device selected by the user (step 1230).

또한 상기 조명 이동 및 상태 변화 기록기(1140)는 time line을 생성하고 사용자가 선택한 장치로부터 입력되는 조명의 이동 및 상태 변화를 기록한다(단계 1240).In addition, the illumination movement and state change recorder 1140 creates a time line and records the movement and state change of illumination input from the device selected by the user (step 1240).

그리고 상기 시점 이동 기록기(1150)는 time line을 생성하고 사용자가 선택한 장치로부터 입력되는 시점의 이동을 기록한다(단계 1250).The viewpoint movement recorder 1150 generates a time line and records movement of a viewpoint input from a device selected by a user (step 1250).

상기 조건생성기(1160)는 현재 애니메이션이 일어날 조건을 생성한다(단계 1260).The condition generator 1160 generates a condition in which the current animation will occur (step 1260).

사용자는 자동으로 생성된 애니메이션에 부족한 부분이 있거나 미흡한 부분이 있는 경우에는 상기 스크립트 편집기(1170)를 이용하여 수정한다(단계 1270).If there is a lack or a lack in the automatically generated animation, the user corrects using the script editor 1170 (step 1270).

위의 작업이 모두 완료되면 상기 애니메이션 생성기(1180)는 현재의 작업에 애니메이션을 생성하여 추가한다(단계 1280). 생성된 애니메이션은 2차원 소스, 속성 매니지먼트, scene tree에 동기화 시킨다.When all of the above tasks are completed, the animation generator 1180 generates and adds an animation to the current task (step 1280). The generated animation is synchronized to two-dimensional sources, attribute management, and the scene tree.

도 13은 본 발명의 실시 예에 따른 멀티미디어 믹서의 세부구조를 나타내는 블록도이다.13 is a block diagram showing the detailed structure of a multimedia mixer according to an embodiment of the present invention.

멀티미디어 믹서는 VRML에서 제공 가능한 멀티미디어 소스를 VRML에 삽입해 주는 역할을 수행하는 것으로 대표적으로 sound와 movie 등이 멀티미디어 믹서를통해 삽입된다.Multimedia mixer plays a role of inserting the multimedia source provided by VRML into VRML. Sound and movie are inserted through the multimedia mixer.

도 13에 도시된 바와 같이, 본 발명의 멀티미디어 믹서는 대상 선택기(1310), 소스 선택기(1320), 조건 생성기(1330), 멀티미디어 믹서(1340), 멀티미디어 라이브러리(1350)를 포함한다.As shown in FIG. 13, the multimedia mixer of the present invention includes an object selector 1310, a source selector 1320, a condition generator 1330, a multimedia mixer 1340, and a multimedia library 1350.

상기 대상 선택기(1310)는 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행한다.The target selector 1310 performs a function of providing information about an object and a node that the user selects or is currently working on.

상기 소스 선택기(1320)는 멀티미디어 믹서가 지원하는 sound와 movie를 선택하여 연결해 주는 기능을 수행한다.The source selector 1320 selects and connects a sound and a movie supported by the multimedia mixer.

상기 조건 생성기(1330)는 sound나 movie를 재생하는데 필요한 조건을 생성하는 기능을 수행한다. 연계 가능한 이벤트가 있는 경우에 이를 나타내주어 이벤트의 연결을 도와주며, 추가로 필요한 이벤트인 경우에는 센서를 자동으로 생성하여 주는 기능을 수행한다.The condition generator 1330 generates a condition necessary to play a sound or a movie. If there is an event that can be linked, this is displayed to help the event connection, and in case of additionally necessary event, it automatically creates a sensor.

상기 멀티미디어 믹서(1340)는 현재 선택된 오브젝트 및 노드에 멀티미디어를 삽입하는 기능을 수행한다.The multimedia mixer 1340 inserts multimedia into the currently selected object and node.

상기 멀티미디어 라이브러리(1350)는 자주 사용되는 멀티미디어 소스를 저장하고 있다가 사용자가 필요할 때 제공하여 사용자가 쉽게 멀티미디어를 삽입할 수 있도록 한다. 상기 멀티미디어 라이브러리(1350)에 저장되어 있는 자료들은 웹사이트를 통해 업데이트 될 수 있다.The multimedia library 1350 stores frequently used multimedia sources and provides them when necessary, so that the user can easily insert multimedia. Materials stored in the multimedia library 1350 may be updated through a website.

도 14는 본 발명의 멀티미디어 믹서의 작동을 설명하는 순서도이다.14 is a flowchart illustrating the operation of the multimedia mixer of the present invention.

사용자는 멀티미디어를 믹스할 대상을 선택한다(단계 1410).The user selects a target to mix the multimedia (step 1410).

사용자는 상기 소스 선택기(1320)를 이용하여 오브젝트 및 노드에 삽입할 sound, movie 등을 선택한다(단계 1420).The user selects a sound, a movie, etc. to be inserted into an object and a node using the source selector 1320 (step 1420).

사용자가 소스를 선택하면 상기 조건 생성기(1330)는 재생에 필요한 조건을 생성한다(단계 1430). 이때 연계 가능한 다른 이벤트가 있으면 이를 사용자에게 나타내 주고, 추가로 필요한 이벤트인 경우에는 센서를 자동으로 생성해 준다.When the user selects a source, the condition generator 1330 generates a condition for reproducing (step 1430). At this time, if there are other events that can be linked, it is displayed to the user, and if necessary events are automatically generated.

상기 멀티미디어 믹서(1340)는 사용자가 선택한 오브젝트 및 노드에 멀티미디어를 삽입하고 이를 2차원 소스, 특성 매니지먼트, scene tree에 동기화 시킨다(단계 1440).The multimedia mixer 1340 inserts the multimedia into the object and the node selected by the user and synchronizes the multimedia to the two-dimensional source, the characteristic management, and the scene tree (step 1440).

도 15는 본 발명의 실시 예에 따른 속성 매니지먼트(property management)의 세부구조를 나타내는 블록도이다.FIG. 15 is a block diagram illustrating a detailed structure of property management according to an embodiment of the present invention.

VRML의 모든 노드들은 필드(field)와 이벤트(event)로 구성되고 이런 필드와 이벤트 값들에 의해 노드의 속성이 결정된다. 상기 속성 매니지먼트는 노드의 필드와 이벤트 값들을 관리하는 기능을 수행한다.Every node in VRML consists of fields and events, and the properties of nodes are determined by these fields and event values. The attribute management performs a function of managing field and event values of a node.

도 15에 도시된 바와 같이 본 발명의 속성 매니지먼트는 대상 선택기(1510), 노드 속성 추출기(1520), 속성 표시기(1530), 동기화기(1540)를 포함한다.As shown in FIG. 15, the attribute management of the present invention includes a target selector 1510, a node attribute extractor 1520, an attribute indicator 1530, and a synchronizer 1540.

상기 대상 선택기(1510)는 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행한다.The target selector 1510 performs a function of providing information about an object and a node that the user selects or is currently working on.

상기 노드 속성 추출기(1520)는 현재 선택된 노드의 속성을 추출하는 기능을 수행한다. 현재 선택된 노드에 속성이 없는 경우에는 기본 값을 설정하여 사용한다.The node attribute extractor 1520 performs a function of extracting an attribute of a currently selected node. If there is no property in the currently selected node, the default value is used.

상기 속성 표시기(1530)는 추출된 속성들을 사용자가 수정할 수 있는 상태로 화면에 표시하는 기능을 수행한다.The property indicator 1530 displays the extracted properties on the screen in a state that a user can modify.

상기 동기화기(1540)는 사용자가 노드의 속성을 수정한 경우 해당 노드의 속성을 변경하고 이를 3차원 소스에 동기화 시키는 기능을 수행한다.The synchronizer 1540 performs a function of changing a property of a corresponding node and synchronizing it with a 3D source when a user modifies the property of a node.

도 16은 본 발명의 실시 예에 따른 속성 매니지먼트의 작동을 설명하는 순서도이다.16 is a flowchart illustrating an operation of attribute management according to an embodiment of the present invention.

사용자는 작업하고자 하는 대상을 선택한다(단계 1610).The user selects an object to be worked on (step 1610).

사용자가 대상을 선택하면 상기 노드 속성 추출기(1520)는 선택된 노드의 속성을 추출한다(단계 1620). 선택된 노드에 속성이 없는 경우에는 기본값을 설정하여 사용한다.When the user selects a target, the node attribute extractor 1520 extracts attributes of the selected node (step 1620). If there is no property in the selected node, the default value is used.

상기 노드 속성 추출기(1520)가 노드의 속성을 추출하면 상기 속성 표시기(1530)는 추출된 속성들은 사용자가 수정할 수 있는 형태로 화면에 표시한다(단계 1630).When the node attribute extractor 1520 extracts the attributes of the node, the attribute indicator 1530 displays the extracted attributes on the screen in a form that can be modified by the user (step 1630).

상기 노드 속성 표시기(1530)는 사용자가 노드의 속성을 수정하였는지를 판단한다(단계 1640). 사용자가 노드의 속성을 변경하지 않았다고 판단되는 경우에는 속성 매니지먼트의 작동을 종료하고 사용자가 노드의 속성을 변경하였다고 판단되는 경우에는 사용자가 수정한 부분을 노드의 속성에 반영하고 이를 3차원 소스에 동기화 시켜준다(단계 1650).The node attribute indicator 1530 determines whether the user has modified the attribute of the node (step 1640). If it is determined that the user has not changed the attributes of the node, the operation of attribute management is terminated. If it is determined that the user has changed the attributes of the node, the modifications made by the user are reflected in the attributes of the node and synchronized with the 3D source. (Step 1650).

도 17은 본 발명의 실시 예에 따른 장치 컨트롤러(device controller)의 세부구조를 나타내는 블록도이다.17 is a block diagram illustrating a detailed structure of a device controller according to an embodiment of the present invention.

현존하는 VRML 편집기는 외부 장치와의 인터페이스를 제공하지 않고 있다. 기본적으로 키보드와 마우스가 제공되기는 하나, 그 외의 3차원 장비와의 인터페이스는 제공되지 않는다. 또한 VRML로 제작된 3차원 공간의 네비게이션(navigation)에서도 오직 키보드와 마우스만 사용할 수 있었다.Existing VRML editors do not provide an interface to external devices. By default, a keyboard and mouse are provided, but no interface with other 3D equipment is provided. In addition, only keyboard and mouse were available for navigation in 3D space made in VRML.

그러나 본 발명의 장치 컨트롤러는 키보드, 마우스 뿐만 아니라 스페이스 마우스, 데이터 글러브, 모션 캡쳐 등과 같은 장비를 사용할 수 있는 인터페이스를 제공하여 좀 더 현실감 있는 애니메이션을 제작할 수 있도록 한다. 또한 네비게이션을 외부 장비와 연결할 경우 라이브러리에서 제공하는 웹 드라이버(web driver)를 이용하여 웹 브라우저(web browser)에서도 다양한 외부 장치들을 VRML과 연동할 수 있도록 한다.However, the device controller of the present invention provides an interface for using equipment such as a space mouse, a data glove, a motion capture, and the like as well as a keyboard and a mouse, so that a more realistic animation can be produced. In addition, when the navigation is connected to an external device, various external devices can be linked to VRML in a web browser using a web driver provided by a library.

도 17에 도시된 바와 같이 본 발명의 장치 컨트롤러는 장치 검색기(1710), 장치 선택기(1720), 장치 제어기(1730), 장치 맵핑기(1740), 장치 컨트롤러 라이브러리(1750)를 포함한다.As shown in FIG. 17, the device controller of the present invention includes a device finder 1710, a device selector 1720, a device controller 1730, a device mapper 1740, and a device controller library 1750.

상기 장치 검색기(1710)는 현재 컴퓨터에 연결된 장치들의 상태를 검사하여 사용 가능한 장치들을 나타내주는 기능을 수행한다.The device finder 1710 checks the status of devices currently connected to a computer and performs a function of indicating available devices.

상기 장치 선택기(1720)는 사용자가 장치를 선택할 수 있도록 하는 기능을 제공한다.The device selector 1720 provides a function that allows a user to select a device.

상기 장치 제어기(1730)는 사용자가 선택한 장치에 대한 세부적인 제어가 필요한 경우 별도의 제어 루틴을 생성하는 기능을 수행한다.The device controller 1730 performs a function of generating a separate control routine when detailed control of a device selected by a user is required.

상기 장치 맵핑기(1740)는 뷰포인트 또는 오브젝트에 사용자가 선택한 장치를 연결해주는 기능을 수행한다.The device mapper 1740 connects a device selected by a user to a viewpoint or an object.

상기 장치 컨트롤러 라이브러리(1750)는 각종 외부 장치의 제어에 필요한 컨트롤러를 지원해주는 기능을 수행한다.The device controller library 1750 supports a controller for controlling various external devices.

도 18은 본 발명의 실시 예에 따른 장치 컨트롤러의 작동을 설명하는 순서도이다.18 is a flowchart illustrating an operation of a device controller according to an embodiment of the present invention.

상기 장치 검색기(1710)는 현재 컴퓨터에 연결된 장치를 검색하여 사용 가능한 장치를 나타낸다(단계 1810).The device finder 1710 searches for a device currently connected to a computer and indicates a device that can be used (step 1810).

사용자는 상기 장치 선택기(1720)를 이용하여 상기 장치 검색기(1710)가 나타낸 장치 중에서 사용하고자 하는 장치를 선택한다(단계 1820).The user selects a device to be used from among the devices indicated by the device searcher 1710 using the device selector 1720 (step 1820).

상기 장치 제어기(1730)는 사용자가 선택한 장치가 세부적인 제어를 필요로 하는 경우에 별도의 제어루틴을 설정하여 제어한다(단계 1830).If the device selected by the user requires detailed control, the device controller 1730 sets and controls a separate control routine (step 1830).

상기 장치 맵핑기(1740)는 사용자가 선택한 장치를 뷰포인트 또는 오브젝트에 연결한다(단계 1840).The device mapper 1740 connects the device selected by the user to the viewpoint or the object (step 1840).

도 19는 본 발명의 실시 예에 따른 라이브러리의 세부구조를 나타내는 블록도이다.19 is a block diagram showing the detailed structure of a library according to an embodiment of the present invention.

상기 라이브러리는 3차원 공간 및 오브젝트를 제작할 때 필요한 기초적인 데이터나 자주 사용되는 데이터를 저장하였다가 제공하는 기능을 수행한다.The library performs a function of storing and providing basic data or frequently used data necessary for manufacturing a three-dimensional space and an object.

현재 VRML 편집기에서 제공되는 라이브러리는 수많은 사용자의 요구에 맞는 다양한 오브젝트를 제공하지 못하고 있다.Currently, libraries provided by VRML editors do not provide various objects to meet the needs of many users.

이러한 문제점을 해결하기 위해 본 발명의 라이브러리는 사용자가 직접 라이브러리에 원하는 데이터를 추가할 수도 있고, 인터넷을 이용해 여러 사용자가 다량의 데이터를 공유할 수 있도록 하여 사용자의 취향에 맞는 라이브러리를 만들 수 있도록 하였다.In order to solve this problem, the library of the present invention can add data desired by the user directly to the library, and by using the Internet, many users can share a large amount of data to create a library that suits the user's taste. .

도 19에 도시된 바와 같이 본 발명의 라이브러리는 통합 라이브러리(1910), 사용자 정의 라이브러리(1920), 인터넷 라이브러리(1930)를 포함한다.As shown in FIG. 19, the library of the present invention includes an integrated library 1910, a user-defined library 1920, and an Internet library 1930.

상기 통합 라이브러리(1910)는 텍스쳐(texture), 오브젝트, 멀티미디어, 애니메이터, 장치 콘트롤러 별로 각각 저장되어 있으며, 저장된 자료는 필요한 모듈에서 불러서 사용할 수 있다. 각각의 라이브러리에 대한 상세한 설명은 도 7, 도 9, 도 11, 도 13, 도 17을 설명하면서 자세히 하였으므로 여기서는 생략한다.The integrated library 1910 is stored for each texture, object, multimedia, animator, and device controller, and the stored data can be called and used in a required module. The detailed description of each library has been described in detail with reference to FIGS. 7, 9, 11, 13, and 17, and thus the description thereof is omitted here.

상기 사용자 정의 라이브러리(1920)는 사용자가 나름대로 정규화한 자료가 저장되어 있다.The user defined library 1920 stores data normalized by the user.

상기 인터넷 라이브러리(1930)는 인터넷을 통해 제공되는 각종 자료를 자신의 라이브러리에 통합할 수 있도록 되어 있으며, 자신이 공개하고자 하는 라이브러리는 인터넷에 공개하여 하나의 라이브러리 커뮤니티를 구성할 수 있도록 해준다.The Internet library 1930 is capable of integrating various materials provided through the Internet into its own library, and the library that he intends to publicize is open to the Internet to form a library community.

도 20은 본 발명의 실시 예에 따른 VRML 커스터마이저(customizer)의 세부구조를 나타내는 블록도이다.20 is a block diagram illustrating a detailed structure of a VRML customizer according to an embodiment of the present invention.

현존하는 많은 VRML 소스에는 불필요한 부분들이 많이 첨가되어 있어 파일 크기가 커지고 메모리를 많이 차지하는 문제점이 있다.Many existing VRML sources have a lot of unnecessary parts added to them, resulting in a large file size and a large memory footprint.

본 발명의 VRML 커스터마이저는 이러한 문제점을 해결하기 위한 것으로, 상기 VRML 커스터마이저는 완성된 VRML 소스를 최적화하여 출판하는 역할을 수행한다.The VRML customizer of the present invention is to solve this problem, and the VRML customizer serves to optimize and publish the finished VRML source.

상기 VRML 커스터마이저는 연관파일 처리기(2010), 소스 커스터마이저 (2020), 외부장치 처리기(2030), 압축처리기(2040)를 포함한다.The VRML customizer includes an association file processor 2010, a source customizer 2020, an external device processor 2030, and a compression processor 2040.

상기 연관파일 처리기(2010)는 현재의 VRML 파일과 연관되어 있는 파일들을 지정한 폴더를 복사하여 쉽게 관리할 수 있도록 하는 기능을 수행한다.The associated file processor 2010 performs a function of easily copying a designated folder of files associated with the current VRML file.

상기 소스 커스터마이저(2020)는 VRML 소스 중에서 불필요한 부분을 찾아내어 삭제하는 기능을 수행한다. 즉 상기 소스 커스터마이저(2020)는 전체 소스를 검색하여 불필요하게 사용된 노드나 사용되지 않는 스크립트, 재사용되지 않으면서 DEF로 정의되어 있는 부분을 삭제하여 파일의 크기를 최소화하고 메모리의 사용을 최적화한다.The source customizer 2020 detects and deletes unnecessary portions of the VRML source. That is, the source customizer 2020 searches the entire source and deletes unnecessary nodes, unused scripts, and parts defined as DEF without reuse, thereby minimizing the size of a file and optimizing memory usage. do.

상기 외부 장치 처리기(2030)는 사용자가 외부 장치와의 연결을 원할 경우 내부의 장치 컨트롤러에서 제공되는 각종 웹 드라이버를 HTML 페이지에 삽입하여 VRML 파일과 같이 출판하는 기능을 수행한다. 현재의 편집기는 외부 장치와의 연결을 제공하지 않는다. 그래서 VRML로 제작된 파일들은 오직 키보드와 마우스로만 제어할 수 있었는데, 본 발명의 외부 장치 처리기(2030)를 사용하면 각종 3차원 장비를 VRML에 연결하여 사용할 수 있다.When the user wants to connect with an external device, the external device processor 2030 inserts various web drivers provided by an internal device controller into an HTML page and publishes the same as a VRML file. The current editor does not provide a connection with an external device. So, the files produced in VRML could only be controlled by a keyboard and a mouse. By using the external device processor 2030 of the present invention, various 3D devices can be connected to VRML.

상기 압축 처리기(2040)는 VRML 소스를 gzip 등의 압축 방식으로 압축하는 기능을 수행한다.The compression processor 2040 compresses the VRML source by a compression method such as gzip.

도 21은 본 발명의 실시 예에 따른 VRML 커스터마이저의 작동을 설명하는 순서도이다.21 is a flowchart illustrating an operation of a VRML customizer according to an embodiment of the present invention.

상기 연관파일 처리기(2010)는 현재의 VRML 파일과 연관되어 있는 파일을 지정한 폴더를 복사하여 쉽게 관리할 수 있도록 한다(단계 2110).The association file processor 2010 makes it easy to copy and manage a designated folder of a file associated with the current VRML file (step 2110).

상기 소스 커스터마이저(2020)는 현재의 VRML 소스 중에서 불필요한 부분을 찾아내어 삭제한다(단계 2120).The source customizer 2020 finds and deletes an unnecessary portion of the current VRML source (step 2120).

상기 외부 장치 처리기(2030)는 사용자가 외부 장치를 사용하기를 원하는 경우에 Java Applet, ActiveX 등을 통해서 외부 장치와 연결한다(단계 2130).When the user wants to use the external device, the external device processor 2030 connects to the external device through Java Applet, ActiveX, or the like (step 2130).

상기 압축처리기(2040)는 상기 소스 커스터마이저(2020)가 수정한 VRML 소스를 gzip 등의 압축방식으로 압축한다(단계 2140).The compression processor 2040 compresses the VRML source modified by the source customizer 2020 by a compression method such as gzip (step 2140).

상기 VRML 커스터마이저는 최종적으로 완성된 VRML 파일을 저장하고 만약 URL을 통한 입력인 경우에는 해당 웹 사이트에 출판한다(단계 2150).The VRML customizer stores the finally completed VRML file and publishes it on the web site if it is input through a URL (step 2150).

이상에서 설명한 바와 같이 본 발명에 따르면 사용자는 쉽게 VRML 파일을 이용하여 3차원 가상현실공간을 만들 수 있다.As described above, according to the present invention, a user can easily create a 3D virtual reality space using a VRML file.

비록 본 발명이 상기에서 언급한 바람직한 실시 예와 관련하여 설명되어졌지만, 본 발명의 요지와 범위로부터 벗어남이 없이 다른 다양한 수정 및 변경이 가능할 것이다. 따라서 첨부된 청구의 범위는 본 발명의 진정한 범위 내에 속하는 그러한 수정 및 변형을 포함할 것이라고 여겨진다.Although the invention has been described in connection with the preferred embodiments mentioned above, other various modifications and changes may be made without departing from the spirit and scope of the invention. It is therefore contemplated that the appended claims will cover such modifications and variations as fall within the true scope of the invention.

Claims (12)

삼차원 가상현실 공간을 구축하기 위한 VRML 편집 시스템에 있어서,In the VRML editing system for building a three-dimensional virtual reality space, VRML 파일을 편집기 안으로 불러들이고, 문법을 검사하고, 필요한 정보를 모으는 기능을 수행하는 VRML 인코더;A VRML encoder for importing VRML files into the editor, checking grammar, and gathering the necessary information; 외부장치들이 VRML과 연동 할 수 있도록 하는 기능을 수행하는 장치 컨트롤러;A device controller that performs a function of allowing external devices to interwork with VRML; 상기 VRML 인코더가 읽어들인 VRML 파일을 편집하는 기능을 수행하는 VRML 편집기;A VRML editor that performs a function of editing a VRML file read by the VRML encoder; 완성된 3차원 VRML 소스를 최적화하여 출판하는 기능을 수행하는 VRML 커스터마이저; 및A VRML customizer that performs a function of optimizing and publishing a completed 3D VRML source; And VRML을 이용하여 3차원 공간이나 오브젝트를 제작할 때 필요한 기초적인 데이터나 자주 사용되는 데이터를 제공하는 기능을 수행하는 라이브러리Library that provides basic or frequently used data when creating 3D space or object using VRML 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제1항에 있어서,The method of claim 1, 상기 VRML 인코더는The VRML encoder VRML 소스를 VRML 편집기로 읽어들이는 기능을 수행하는 소스 임포터;A source importer for loading a VRML source into a VRML editor; VRML 파일들을 사용자가 별도의 압축해제를 하지 않더라도 파일 헤더를 조사하여 압축파일이면 자동으로 압축을 풀어주는 기능을 수행하는 압축 처리기;A compression processor that performs a function of automatically extracting the VRML files if the compressed file is examined by examining the file header even if the user does not separately decompress; 소스의 VRML이 문법에 맞는지를 검사하는 기능을 수행하는 문법 검사기; 및A grammar checker that checks whether a VRML of a source conforms to a grammar; And 계층적 구조를 가지고 있는 scene graph의 요소들을 찾아내어 트리 형태의 자료를 생성하는 기능을 수행하는 scene tree 생성기Scene tree generator that finds elements in a scene graph with a hierarchical structure and creates a tree-like data 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제1항에 있어서, 상기 VRML 편집기는The method of claim 1, wherein the VRML editor 상기 VRML 인코더를 통해 배출된 소스를 사용자가 직접 수정할 수 있도록 하는 기능을 수행하는 소스편집기;A source editor for performing a function of allowing a user to directly modify a source discharged through the VRML encoder; 3차원 오브젝트를 생성하고 이를 수정하는 기능을 수행하는 오브젝트 생성기 및 리모델러;An object generator and remodeler for generating and modifying 3D objects; 상기 오브젝트에 맵핑되어 있거나 맵핑할 텍스쳐를 수정하고 최적화하는 기능을 수행하는 텍스쳐 편집기 및 커스터마이저;A texture editor and customizer that performs a function of modifying and optimizing a texture mapped to or mapped to the object; 애니메이션을 생성하거나 수정하는 기능을 수행하는 애니메이터;An animator that performs a function of creating or modifying an animation; VRML에서 제공 가능한 멀티미디어 소스를 VRML에 삽입해 주는 기능을 수행하는 멀티미디어 믹서; 및A multimedia mixer performing a function of inserting a multimedia source provided in VRML into VRML; And 노드의 필드와 이벤트 값들을 관리하는 기능을 수행하는 속성 매니지먼트Property management that manages node's field and event values 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제3항에 있어서, 상기 소스편집기는The method of claim 3, wherein the source editor 현재 입력자리에 입력할 수 있는 코드들을 사용자에게 보여주는 기능을 수행하는 입력가능 코드 표시기;An inputable code indicator for performing a function of displaying codes that can be input at a current input position to a user; 사용자가 입력한 코드가 문법에 맞는지를 검사하는 기능을 수행하는 문법 검사기;A grammar checker that checks whether a code input by a user conforms to a grammar; 상기 문법 검사기가 문법을 검사한 결과 잘못 입력된 부분이 있는 경우 이를 사용자가 알 수 있도록 표시하는 기능을 수행하는 오류 표시기;An error indicator for displaying a grammar checker so that a user can know if there is a wrong input as a result of the grammar checker; 속성 표시 창에 현재 작업하는 노드가 가질 수 있는 모든 속성과 속성에 할당되어 있는 값들을 표시해 주는 기능을 수행하는 속성 표시기; 및A property indicator for displaying all properties that a node currently working with may have in the property display window and values assigned to the property; And 오류가 나타나지 않은 상태로 하나의 완전한 노드가 만들어지거나, 오류가 수정되면 해당 노드를 3차원 뷰어창과 동기화 시키는 기능을 수행하는 3차원 동기화기Three-dimensional synchronizer that performs the function of synchronizing the node with the three-dimensional viewer window when one complete node is created without error or when the error is corrected. 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제3항에 있어서, 상기 오브젝트 생성기 및 리모델러는The method of claim 3, wherein the object generator and remodeler 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행하는 대상 선택기;A target selector that performs a function of providing information about an object and a node selected by the user or currently working; 사용자에 의해 결정된 오브젝트를 3차원 및 2차원 소스 편집기에 생성하는 기능을 수행하는 오브젝트 생성기;An object generator that performs a function of generating an object determined by a user in a three-dimensional and two-dimensional source editor; 현 오브젝트에 관련된 각종 속성을 사용자가 변경할 수 있도록 하는 기능을 수행하는 오브젝트 속성 변경기; 및An object attribute changer which performs a function of allowing a user to change various attributes related to the current object; And VRML이 제공하는 기본 도형이외에 자주 사용되는 오브젝트를 제공하는 기능을 수행하는 오브젝트 라이브러리Object library that provides functions that are used frequently other than basic shapes provided by VRML. 를 더 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system further comprises. 제3항에 있어서, 상기 텍스쳐 편집기 및 커스터마이저는4. The texture editor of claim 3 wherein the texture editor and customizer 이미지 포맷을 편집기로 임포트 시키는 기능을 수행하는 이미지 임포터;An image importer for importing an image format into an editor; 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행하는 대상 선택기;A target selector that performs a function of providing information about an object and a node selected by the user or currently working; 사용자가 이미지를 수정할 수 있는 기능을 수행하는 이미지 편집기;An image editor for performing a function of allowing a user to modify an image; 이미지 파일을 최적화하는 기능을 수행하는 이미지 최적화기; 및An image optimizer that performs a function of optimizing the image file; And 자주 사용되는 이미지들을 저장하고 있다가 사용자가 필요할 때 제공하는 기능을 수행하는 이미지 라이브러리Image library that stores frequently used images and provides functions when users need them 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제3항에 있어서, 상기 애니메이터는The method of claim 3 wherein the animator is 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행하는 대상 선택기;A target selector that performs a function of providing information about an object and a node selected by the user or currently working; 사용자가 애니메이션을 생성할 장치를 선택할 수 있도록 하는 기능을 수행하는 외부 장치 선택기;An external device selector for performing a function of allowing a user to select a device for generating an animation; time line을 생성하고 선택된 장치로부터 입력되는 오브젝트의 이동 및 상태의 변화를 기록하는 기능을 수행하는 오브젝트 이동 및 상태 변화 기록기;an object movement and state change recorder which generates a time line and performs a function of recording movement and state change of an object input from a selected device; time line을 생성하고 선택된 장치로부터 입력되는 조명의 이동 및 상태의 변화를 기록하는 기능을 수행하는 조명 이동 및 상태 변화 기록기;an illumination movement and state change recorder for generating a time line and recording a change in state and movement of illumination input from the selected device; time line을 생성하고 선택된 장치로부터 입력되는 시점의 이동을 기록하는 기능을 수행하는 시점 이동 기록기;a viewpoint movement recorder for generating a time line and recording a movement of a viewpoint input from a selected device; 현재 애니메이션이 일어날 조건을 생성하는 기능을 수행하는 조건 생성기;A condition generator that performs a function of generating a condition at which a current animation will occur; 사용자가 스크립트를 직접 수정할 수 있도록 하는 기능을 수행하는 스크립트 편집기;A script editor that performs a function of allowing a user to directly modify a script; 현재의 작업에 애니메이션을 생성하여 추가하는 기능을 수행하는 애니메이션 생성기; 및An animation generator for generating and adding an animation to the current task; And 자주 사용되는 애니메이션들을 저장하고 있다가 사용자가 필요할 때 제공하는 기능을 수행하는 애니메이션 라이브러리Animation library that stores frequently used animations and provides them when the user needs them 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제3항에 있어서, 상기 멀티미디어 믹서는The method of claim 3, wherein the multimedia mixer 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행하는 대상 선택기;A target selector that performs a function of providing information about an object and a node selected by the user or currently working; 상기 멀티미디어 믹서가 지원하는 소리와 영상을 선택하여 연결해 주는 기능을 수행하는 소스 선택기;A source selector configured to select and connect a sound and an image supported by the multimedia mixer; 상기 소리나 영상을 재생하는데 필요한 조건을 생성하는 기능을 수행하는 조건 생성기; 및A condition generator that performs a function of generating a condition necessary to play the sound or the image; And 자주 사용되는 멀티미디어 소스를 저장하고 있다가 사용자가 필요할 때 제공하는 기능을 수행하는 멀티미디어 라이브러리Multimedia library that stores frequently used multimedia sources and provides them when the user needs them 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제3항에 있어서, 상기 속성 매니지먼트는The method of claim 3, wherein the attribute management 사용자가 선택하거나 현재 작업하고 있는 오브젝트와 노드에 대한 정보를 제공하는 기능을 수행하는 대상 선택기;A target selector that performs a function of providing information about an object and a node selected by the user or currently working; 현재 선택된 노드의 속성을 추출하는 기능을 수행하는 노드 속성 추출기;A node property extractor for extracting a property of a currently selected node; 추출된 속성들을 사용자가 수정할 수 있는 상태로 화면에 표시하는 기능을 수행하는 속성 표시기; 및An attribute indicator configured to display the extracted attributes on a screen in a state in which the user can modify the attributes; And 사용자가 노드의 속성을 수정한 경우 해당 노드의 속성을 변경하고 이를 3차원 소스에 동기화 시키는 기능을 수행하는 동기화기Synchronizer that performs the function of changing the attributes of the node and synchronizing them to the 3D source when the user modifies the attributes of the node 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제1항에 있어서, 장치 컨트롤러는The device controller of claim 1, wherein the device controller is 현재 컴퓨터에 연결된 장치들의 상태를 검사하여 사용 가능한 장치들을 나타내주는 기능을 수행하는 장치 검색기;A device finder that performs a function of checking the status of devices currently connected to the computer and indicating available devices; 사용자가 장치를 선택할 수 있도록 하는 기능을 수행하는 장치 선택기;A device selector that performs a function of allowing a user to select a device; 사용자가 선택한 장치에 대한 세부적인 제어가 필요한 경우 별도의 제어 루틴을 생성하는 기능을 수행하는 장치 제어기;A device controller which performs a function of generating a separate control routine when detailed control of a device selected by a user is required; 뷰포인트 또는 오브젝트에 사용자가 선택한 장치를 연결해주는 기능을 수행하는 장치 맵핑기; 및A device mapper that performs a function of connecting a device selected by a user to a viewpoint or an object; And 각종 외부 장치의 제어에 필요한 컨트롤러를 지원해주는 기능을 수행하는 장치 컨트롤러 라이브러리Device controller library that performs functions that support the controllers required to control various external devices 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제1항에 있어서, 상기 라이브러리는The method of claim 1, wherein the library is 사용자가 정규화한 자료가 저장되어 있는 사용자 정의 라이브러리;A user-defined library that stores user normalized data; 인터넷을 통해 제공되는 각종 자료를 통합하여 라이브러리 커뮤니티를 구성할 수 있도록 하는 기능을 수행하는 인터넷 라이브러리Internet library that functions to form a library community by integrating various materials provided through the Internet. 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a. 제1항에 있어서, 상기 VRML 커스터마이저는The VRML customizer of claim 1 wherein the VRML customizer is 현재의 VRML 파일과 연관되어 있는 파일들을 지정한 폴더를 복사하여 쉽게 관리할 수 있도록 하는 기능을 수행하는 연관파일 처리기;An association file processor for performing a function of easily copying a designated folder of files associated with the current VRML file and easily managing the files; VRML 소스 중에서 불필요한 부분을 찾아내어 삭제하는 기능을 수행하는 소스 커스터마이저;A source customizer for detecting and deleting unnecessary portions of the VRML source; 사용자가 외부 장치와의 연결을 원할 경우 내부의 장치 컨트롤러에서 제공되는 각종 웹 드라이버를 HTML 페이지에 삽입하여 VRML 파일과 같이 출판하는 기능을 수행하는 외부 장치 처리기; 및An external device processor for performing a function of inserting various web drivers provided by an internal device controller in an HTML page and publishing them as a VRML file when a user wants to connect with an external device; And VRML 소스를 압축하는 기능을 수행하는 압축 처리기Compression handler that performs the function of compressing VRML sources. 를 포함하는 것을 특징으로 하는 VRML 편집 시스템.VRML editing system comprising a.
KR1020020006441A 2002-02-05 2002-02-05 A system for VRML edit and a method thereof KR20030066863A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020006441A KR20030066863A (en) 2002-02-05 2002-02-05 A system for VRML edit and a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020006441A KR20030066863A (en) 2002-02-05 2002-02-05 A system for VRML edit and a method thereof

Publications (1)

Publication Number Publication Date
KR20030066863A true KR20030066863A (en) 2003-08-14

Family

ID=32220510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020006441A KR20030066863A (en) 2002-02-05 2002-02-05 A system for VRML edit and a method thereof

Country Status (1)

Country Link
KR (1) KR20030066863A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200063515A (en) * 2018-11-28 2020-06-05 한국과학기술연구원 System and method for supporting interaction type application development

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200063515A (en) * 2018-11-28 2020-06-05 한국과학기술연구원 System and method for supporting interaction type application development

Similar Documents

Publication Publication Date Title
CN107844299B (en) Method for implementing Web application development tool
US6493001B1 (en) Method, apparatus and medium for describing a virtual shared space using virtual reality modeling language
KR101251637B1 (en) Editing the text of an arbitrary graphic via a hierarchical list
US7012602B2 (en) Virtual three-dimensional display for product development
US8830266B1 (en) Merging electronic diagrams
US8584084B2 (en) System for library content creation
WO2012048162A2 (en) System and method for extending a visualization platform
JP2004288170A (en) Three-dimensional model retrieval method and system
WO2008046151A1 (en) Web application for debate maps
US11610031B2 (en) 3D-link for sharing a 3D context of 3D computer- aided design (CAD) model
CN111625226A (en) Prototype-based human-computer interaction design implementation method and system
CN105488839A (en) Interactive operation system for three-dimensional scene and operation method thereof
US6483508B1 (en) Information processing apparatus and method, and providing medium
US6281900B1 (en) Information processing apparatus and method, and providing medium
JPWO2005098660A1 (en) Document processing apparatus and document processing method
Jern Information drill-down using web tools
JPWO2005098661A1 (en) Document processing apparatus and document processing method
US6115045A (en) Information processing system and a network type information processing system
KR100261265B1 (en) Apparatus for making a web document and method of operating it
JP2005071095A (en) Three-dimensional model database device
KR20030066863A (en) A system for VRML edit and a method thereof
EP3889861A1 (en) 3d-url
JP2006155230A (en) Exhibition system and program
JP3555503B2 (en) Interactive database information presentation system
Kiss 3D character modeling in virtual reality

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J801 Dismissal of trial

Free format text: REJECTION OF TRIAL FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20041015

Effective date: 20050105