KR20030066863A - A system for VRML edit and a method thereof - Google Patents
A system for VRML edit and a method thereof Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
Description
본 발명은 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)
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)
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 |
-
2002
- 2002-02-05 KR KR1020020006441A patent/KR20030066863A/en not_active Application Discontinuation
Cited By (1)
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 |