2 3. Texture, Sound 등의 리소스를 관리하며, WFRM(Write Few Read Many) database 를 기초로 하고 있다. 4. 응용프로그램 개발을 위한 다양한 프로그램 언어를 지원한다. SL 의 전용 Script 언어인 LSL/OSSL 을 비롯

Similar documents
Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - chap01-C언어개요.pptx

Interstage5 SOAP서비스 설정 가이드

TTA Journal No.157_서체변경.indd

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

ETL_project_best_practice1.ppt

PCServerMgmt7

Mstage.PDF

1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PowerPoint 프레젠테이션

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

제목을 입력하세요.

서현수

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Intro to Servlet, EJB, JSP, WS

4S 1차년도 평가 발표자료

Analyst Briefing

DocsPin_Korean.pages

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]


SIGIL 완벽입문

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

슬라이드 1

J2EE & Web Services iSeminar

untitled

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

Facebook API

슬라이드 1

기술 이력서 2.0

Solaris Express Developer Edition

Portal_9iAS.ppt [읽기 전용]

chapter1,2.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - KSR2014S042

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

Dialog Box 실행파일을 Web에 포함시키는 방법

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

160322_ADOP 상품 소개서_1.0

늘푸른세상4월-136호

Smart Power Scope Release Informations.pages

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

MAX+plus II Getting Started - 무작정따라하기

Week13

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O



I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

Service-Oriented Architecture Copyright Tmax Soft 2005

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

정보기술응용학회 발표

1217 WebTrafMon II

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

DE1-SoC Board

Orcad Capture 9.x

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation


PowerPoint Presentation

PowerPoint 프레젠테이션

USER GUIDE

Web Scraper in 30 Minutes 강철

04_오픈지엘API.key


슬라이드 1

초보자를 위한 자바 2 21일 완성 - 최신개정판

슬라이드 1

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

슬라이드 1

PowerPoint

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

KDTÁ¾ÇÕ-2-07/03

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

APOGEE Insight_KR_Base_3P11

슬라이드 1

vm-웨어-01장

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

ESP1ºÎ-04

歯이시홍).PDF

ISP and CodeVisionAVR C Compiler.hwp

1

Microsoft Word - 김완석.doc

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

초보자를 위한 ASP.NET 21일 완성

UDP Flooding Attack 공격과 방어

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Install stm32cubemx and st-link utility

SMB_ICMP_UDP(huichang).PDF

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

JavaGeneralProgramming.PDF

Transcription:

1 Virtual Reality Development Server Platform : OpenSimulator 지승현 Ji SeungHyun 부산대학교 컴퓨터공학과 shji@pusan.ac.kr ABSTRACT 본 보고서는 3 차원 가상현실 제작 툴인 OpenSimulator(이하 OpenSim) 에 대하여 알아 본다. OpenSim 은 가상현실 Server 개발 프로그램으로써, 현재 상용 서비스 중인 SecondLife 와 연동 되어 실행 되며, 일반적인 Contents 개발 및 3 차원 가상현실을 제작 할 수 있는 개발자를 위한 다양한 API 를 제공하고 있다. 많은 연구자들이 OpenSim 을 기반으로 3 차원 가상현실 연구에 사용하고 있으며, 본 보고서에서는 앞으로 3 차원 가상현실 시스템 개발에 앞서 OpenSim 의 개 요 및 구조 등을 설명한다. 또한 OpenSim 을 편리하게 사용하기 위한 필요한 다양한 Utility 에 대해서 알아본다. OpenSim 은 Window 와 Linux 그리고 MAXOSX 운영체제를 지원하며, C# 기반으로 개발 되었다. Source Code 를 수정하기 위해서는 Visual Studio 2005 또는 2008 IDE 를 사용해야 한다. K EYWORDS Virtual Reality, SecondLife, OpenSim, Wonderland 1 OpenSimluation 소개 OpenSim 은 3 차원 가상공간을 제작 할 수 있는 open source server platform 이다. 현재 상용 서 비스 중에 3 차원 가상 현실 커뮤니케이션 시스템인 SecondLife(이하 SL) 의 lib 를 이용하여 제작되 었으며, open source 로써 BSD license 규약을 따르고 있다. Cross-platform 으로써 Window, Linux, MaxOS 에서 사용가능하다. OpenSim 은 3 차원 가상공간내의 Contents 개발을 위한 다양한 기능과 응 용프로그램 개발을 위한 개발자용 API 를 제공하며, Plug-in modules 를 사용하여 확장이 용이하도록 제작되었으며, 많은 개발자들이 이러한 module 를 개발, 공개하고 있다. 또한 현재 많은 연구, 개발에 서 OpenSim 를 이용하여 시스템 개발 및 Simulation 연구 등이 진행 중에 있으며, 상업적으로도 이를 기반으로 한 다양한 제품들이 제작되어 출시되고 있다. OpenSim 의 특징은 아래와 같다. 1. 하나의 서버에 Multi Client 와 다양한 Protocol 로 동시 접근이 가능하다. OpenSim 은 3 차원 가 상현실 Server 로써 이에 접속하기 위해서는 Viewer 를 이용한다. 대표적으로 가상현실 시스템인 SL Client(Viewer) 와 연동 되며, 이 외에도 전용 Viewer 등을 이용하여 접속 가능하다. 2. 가상공간 내에 Real-Time 으로 다양한 Contents 를 생성, 추가할 수 있다. 3 차원 오브젝트 제작 Tool 은 3DS Max, Blender 등에서 제작된 오브젝트를 쉽게 Import 할 수 있는 building tool 을 지원한다.

2 3. Texture, Sound 등의 리소스를 관리하며, WFRM(Write Few Read Many) database 를 기초로 하고 있다. 4. 응용프로그램 개발을 위한 다양한 프로그램 언어를 지원한다. SL 의 전용 Script 언어인 LSL/OSSL 을 비롯하여 C#, JScript, VB.NET 언어를 지원한다. 5. 추가적인 기능으로써 Open 물리엔진인 ODE, Physx, Bullet 을 지원한다. 2 OpenSim 의 구조 및 기능 OpenSim Server 는 주요 5 가지의 Server(UGAIM) 로 구성되어 있다. 1. UserServer : 접속하는 User 의 session 를 생성 관리한다. 2. GridServer : Grid 방식일 경우 각각의 Grid 를 관리한다. GridServer 는 각각 3 차원 가상공간을 2 차원의 Grid Map 에 Mapping 하는 형태로 관리 한다. 3. Texture, Sound 등의 리소스를 관리하며, WFRM(Write Few Read Many) database 를 기초로 하고 있다. 4. InventoryServer : 가상공간 내 Agent Avatar 가 생성한 Object 들을 관리하는 기능. 5. MessageingServer : User 간의 Interaction 과 채팅등 Message 교환을 관리하는 기능. 위와 같은 서버들을 통하여 전체 서버가 구성되며, 구성된 하나의 서버 (하나의 가상 현실) 을 OpenSim 에서는 Region 이라고 하며, Region 는 Grid 방식의 가상공간을 구성할때 하나의 가상공간 (Server) 라 고 할 수 있으며, Grid 방식은 아래에서 다시 설명한다. 그림 1 는 위에서 언급한 UGAIM Class 간의 Diagram 과 이들을 통한 Login Sequece 를 보여준다. (a)ugaim 간 Class Diagram (b)login Sequence 그림 1. UGAIM Class 간 관계도 및 Login 과정.

2.1 3 Development Mode OpenSim 은 두가지의 Mode 로 개발 가능하다. Local 의 개념으로 Stand-alone Mode 와 Web 을 통하 여 다른 Region 과 연결하는 Grid Mode 이다. 다시 말해서 Stand-alone Mode 는 쉽고 간단하게 독 립적인 가상공간을 개발할 수 있는 Mode 를 말하며, 광범위한 스케일의 가상공간이 아닌 소규모 스 케일의 가상공간 개발에 사용한다. 일반적으로 간단한 Simulation 혹은 자신만의 가상공간을 개발하 는데 이용되며, Stand-alone Mode 는 소수의 사용자만을 수용할 수 있다. Grid Mode 는 범용적인 가 상공간을 만들기 위한 방식을 말한다. 기본적으로 Stand-alone 와 같은 방식으로 OpenSim Server 를 구성하게 되지만, 이를 독립적으로 운영하는 것이 아니라 범용적으로 사용하는 것을 말한다. 즉, Grid 란 개념은 하나의 가상공간을 제작하여 이를 다른 사용자들도 접근 가능한 Public 공간으로 구성하는 것을 말한다. Grid Mode 의 개발을 위해서는 일반적으로 OSGrid(http://osgrid.org/) 룰 사용한다. Grid Mode 로 개발된 OpenSim Server 를 OSGrid 를 통하여 등록 Public Grid(가상공간) 로 만들어 누구나 접속 가능하게 하며, 이러한 Grid 들을 하나의 형태로 만들어 광범위한 가상공간을 제작하는 방법이다. SL Server 또한 이러한 방식을 사용하며 OSGrid 에 대해서는 다음 섹션에서 설명한다. 2.2 Viewer OpenSim 은 3 차원 가상공간의 Server 만을 위한 Platform 으로써 Client 는 다양한 Viewer 를 통하여 접근 가능하며, 아래와 같은 Viewer 들이 있으며, 그림 2 는 각 Viewer 의 장면들이다. 1. SecondLife Viewer : 현재 대표적인 상용 3 차원 가상현실 시스템인 SecondLife 의 Client 를 말 한다. OpenSim 에서는 SL Client 의 실행파일에 OSGrid 에 접속하는 옵션 값을 주어 SL Server 가 아닌 OpenSim 의 Server 에 접속, Login 화면에 Public Grid 의 목록과 최신 OSGrid News 등을 보여준다. 그림 2 (a) 는 SecondLife Viewer 를 보여준다. 2. Hippo OpenSim Viewer : OpenSim 전용 Viewer 로써 SL Viewer 를 수정, 보완하여 만든 전용 Viewer 이다. SL Viewer 에서의 제한적인 부분 (건물의 크기, 접속자 수) 을 수정, 보완하였으며 SL Viewer 에서는 제공하지 않는 Stand-alone Mode Server(Local Server) 에 접속하는 기능과 그 외 Grid Manager 등 다양한 기능들이 추가되어 있다. 그림 2 (b) 는 Hippo OpenSim Viewer 를 보여준다. OpemSim 에서는 가상현실 개발을 위한 다양한 API 를 제공하는데, 개발자는 OpenSim Server 의 API 와 SL Viewer 에서 제공하는 Client API 두가지를 사용하여 개발 할 수 있다. 각각의 기능은 아 래와 같다. 1. OpenSim 은 Server 개발을 위한 다양한 API 를 제공한다. API 는 크게 ApplicationPlugins, Data, Framework, Grid, Region, ScriptEngine 등으로 분류 되어있으며, 다시 세부적으로 나뉜다. 위 의 각 API 는 Plug-in 개발, SQL 등의 Data 관리, Framework 개발, Grid 시스템 개발 및 관리, Avatar 의 행동 (이동, 제스쳐, 주시) 및 전반적인 Scene 구성, Script 언어를 개발 등을 담당한다. 이 외에도 Server 를 개발하기 위한 다양한 API 를 제공한다.(http://docs.opensimulator.org/index.html)

4 (a)secondlife Viewer (b)hippo Viewer 그림 2. OpenSim 과 연동되는 Client Viewer. 2. OpenSim 을 이용한 Server 개발 이외에도 간단한 가상공간은 제작은 Server 를 수정하지 않고 가능하다. 이는 OpenSim 의 Default 공간을 기반으로 하여 Client(Viewer) 의 수정을 통하여 가 능하며, 이를 위해 SL 에서는 Client 를 위한 API 를 제공한다. 이 API 주로 Object 를 로드하는 등의 Scene 의 구성과 Avatar 의 행동 등에 대한 것으로써, SecondLife 개발자 홈페이지에서 참 조 가능하다.(http://lib.openmetaverse.org/wiki/Main Page) 이 밖에도 효율적인 가상현실 개발을 위한 물리엔진 기능을 지원하고 있으며, 특히 가상현실에서 직접 제작한 3 차원 Object 를 저장하고, 다음에 접속시 해당 Object 를 유지, 로딩시키기 위하여 DBMS(MySql,PostgreSQL) 과의 연동을 매우 잘 지원한다. 3 OpenSimulator 관련 Utility 및 사용법 본 섹션에서는 OpenSim 을 사용하기 위한 관련된 Utility 및 그 사용법에 대하여 알아본다. Op- nesim 은 많은 연구 단체에서 개발 되고 있기 때문에 OpenSim 자체에서 뿐만 아니라 많은 연구 단 체에서 OpenSim 관련 프로그램들을 개발한다. 그 중 본 섹션에서는 기본적인 OpenSim 개발을 위한 환경 설정 및 Grid Mode 를 개발하기 위한 OSGrid 에 대하여 설명하고, OpenSim 가상현실을 꾸미기 위하여 모델링 된 모델을 가상현실에 쉽게 추가할수 있는 Prim Composer 에 대하여 알아본다. 기본적으로 OpenSim 은 Stand-alone Mode 로 개발 된다. 이는 위에서 설명한바와 같이 Local 에 서 실행 되는 모드라고 생각하면 된다. OpenSim Server 를 개발하기 위해서는 먼저 가장 최신 버젼 의 OpenSim Source Code 를 다운로드 받는다. 다음으로 OpenSim 은 C# 으로 개발 되었기 때문에 C# 을 editing 할 수 있는 IDE 가 필요하다. OpenSim 은 Window 에서 Visual Studio 2005 와 2008 버전을 지원하고 있으며, 먼저 앞의 두 프로그램 중 하나가 깔려 있어야 한다. 다음으로 OpenSim 은 C# 프로그램을 편리하게 해 주는 Microsoft Visual C# 2008 Express Edition 을 추천한다. 앞의 프로그램은 MS 홈페이지에서 무료로 다운로드 받을 수 있으면, 앞에서 말한 Visual Studio 가 먼저 설치되어 있어야 한다. 마지막으로 최신 버전으로 다운 받은 OpenSim Source Code 압축 파일을 풀어보면 내부에 많은 파일이 존재하는데 그중에서 가장 먼저 runprebuild.bat (VS2005 사용자) 또

5 는 runprebuild2008.bat (VS2008 사용자) 를 더블클릭하여 실행한다. 앞의 파일를 실행하면 Visual Studio 버전에 맞는 Build Source 로 전체 소스가 Converting 되고, 새롭게 Compile.bat 파일이 생 성되는데 이것을 마지막으로 실행하면, Server 를 개발하기 위한 모든 작업이 끝나게 된다. 폴더 내 OpenSim.sln (C# Solution File) 를 위에서 설치만 C# IDE 에 넣으면 전체 Project 가 생성되고, Debug Mode 로 실행하면 Server 가 동작한다. 이때 주의 해야 하는 사항은 OpenSim 은 최초 bin 폴더 내의 OpenSim.inp(초기 설정값) 파일를 읽어 실행하는데 가정 처음 실행 할때는 이 파일이 존재하지 않고 OpenSim.inp.example 파일이 존재한다. 이를 example 만 지워서 OpenSim.inp 파일로 바꾸면 기본적인 설정값으로 서버가 동작하게 된다. 다음은 부가적인 OpenSim 관련 Tool 에 대해서 알아본다. 3.1 OSGrid OsGrid 는 OpenSim 을 이용하여 Grid 형태로 개발한 Server 를 웹상에 등록하여, 하나의 거대한 가 상공간을 만들 수 있도록 지원해주는 통합 웹서버라고 할 수 있다. OSGrid 는 무료로 운영되고 있으 며, 간단한 가입 절차를 통하여 자신이 개발한 OpenSim Server 를 등록할 수 있으며, 현재 많은 량의 Grid 들이 등록 되어 있으고, Viewer 를 통하여 다양한 OpenSim Server(가상공간) 에 접근 할 수 있다. OSGrid 에서는 이러한 기본적인 Grid 방식과 모든 Grid 를 HyperLink 를 통하여 연결한 HyperGrid 방식을 제공한다. 그림 3 는 HyerGrid 의 개념을 잘 보여준다. 그림 3. HyperGrid 의 기본 구조. 위와 같이 Map 과 같은 형태로 나열 될 수도 있고 다양한 형태 예를 들면 하나의 Grid 의 어느 Region 내에 다른 Grid 를 삽입 할 수도 있으며, 그 외 다양한 형태로 Grid 를 연결할 수 있으며, Grid Mode 로 개발된 Server 뿐만 아니라 Stand-alone Mode 에서 개발된 Server 또한 Hypergrid 를 사용 하면, Grid Mode 의 Server 에 연결, 이동 할 수 있다. 그림 4 는 HyerGrid 의 사용 예를 보여준다. 위 그림은 HyperGrid 를 사용 방법에 대한 예제이다. 4 (a) 는 Stand-alone(Local) 영역에서 다른 Grid 를 HyperLink 를 통하여 다운로드하여 자신의 Local 영역에서 실행하는 방식. 4 (b) 는 Standalone 와 Public Grid 를 서로 연결하여 하나의 Community Region 을 형성하는 방식. 4 (c)grid Mode 에서 외부에서 접근하지 못하는 영역을 설정하는 방식. 4 (d) 단순 Grid 형식은 멀리 떨어져 있는 공간 을 가기 위해서는 여러 Region 을 거쳐야하지만, Hyperlink 를 이용하여 바로 이동하는 방식 (Teleport) 이다.

6 (a)type 1 (b)type 2 (c)type 3 (d)type 4 그림 4. HyperGrid 를 이용한 다양한 Type 의 개발 Grid 방식. 3.2 Prim Composer 와 MaxPort Prim Composer 는 3DS Max 에서 실행 되는 PlugIn 프로그램이다. Prim Composer 를 사용하는 이유는 OpenSim 에서는 외부에서 제작된 모델을 XML 형태로 Import 할 수 있는데, Prim Composer 는 3DS Max 에서 제작된 모델을 OpenSim 에 맞는 XML 형태로 Export 시켜 준다. Prim Composer 는 http://liferain.com/ 에서 다운로드 받을 수 있으며, 설치 방법은 압축을 푼 뒤 생성되는 폴더 내 에 있는 PrimComposer 폴더를 3DS Max 9 의 stdscripts 폴더 내에 붙여 넣으면 설치가 완료 된다. 설치가 끝나고 3DS Max 를 실행 하면 Menu 에 Prim Composer 가 나타난것을 확인할 수 있으며, 우 측 디자인 모드에서도 Prim Composer 가 있으며, 3DS Max 에서 모델링 후 PrimComposer 메뉴의 Export 로 XML 형태의 모델로 Export 할 수 있다. 다음은 위와 같은 방법으로 Export 한 XML 파일을 Prim Composer 에서 제공하는 MaxPort 를 사 용하여 실제 OpenSim Server 에 Import 하는 방법은 매우 간단하다. MaxPort 는 OpemSim Server 에 모델을 Import 하는 프로그램으로 무료로 제공되며, PrimComposer 를 다운로드 하면 내부에 존 재한다. 실행은 cmd 를 통하여 실행한다. 명령어는 maxport -flp test user test -u http://127.0.0.1 -i example.xml 와 같다. 명령어에서 옵션인 -flp 에서 f 는 사용자의 First Name l 은 Last Name p 는 Password 를 말하며, 다음 옵션인 -u 는 OpenSim Server 의 url 마지막 i 는 XML 파일의 파일경로를

7 적어준다. 이렇게 하면 해당 XML 을 OpenSim Server 에 Import 시키고 Viewer 를 통하여 접속하면 실제 해당 모델이 가상공간에 loading 된 모습을 볼 수 있으면 그림 5 와 같다. 여기서 유의해야 하는 사항은 Maxport 는 한글을 지원하지 않기 때문에 Modeling 할때 Model 의 Label 을 한글로 주게 되면, PrimComposer 로 생성된 Xml 파일에서 한글명이 기입되고 Maxport 에서 이를 Parsing 할때 Error 를 발생시킨다. 그림 5. MaxPort 를 이용하여 기본 가상공간에 Object 를 Load 한 장면. 4 Wonderland Platform 과 비교 분석 본 섹션에서는 현재 연구에 사용하고 있는 Wonderland Platform 과 OpenSim 과의 성능 비교 분 석에 대하여 알아본다. Wonderland 는 전 Technical Report 에서 그 기능 및 사용방법을 볼 수 있다. Wonderland 는 간단하게 설명하면 Java3D 을 기반으로 한 SUN 사의 자체 3 차원 가상현실 platform 개발 Project 이며, 상용 서비스 보다는 연구 목적의 Project 이다. OpenSim 과 차이점은 OpenSim 은 실제 상용 서비스에서 성공한 SecondLife 의 API 를 사용한 Platform 이기 때문에 그 기능 및 안전성 이 뛰어나다고 할 수 있다. 또한 Java3D 로 개발된 Wonderland 는 3 차원 Object 의 랜더링이 원활히 처리 되지 않기 때문에 실시간 움직임에 대해서는 많은 끊김이 생기게 된다. 가장 큰 차이점이라고 할 수 있는 것은 프로그램 전반적인 구조이다. Wonderland 또한 개발자를 위한 다양한 JAVA API 와 편리한 Source Code 관리를 위한 Package 단위의 Class 로 관리 되어지고 있지만, Server 보다는 Client 를 수정해야한다는 문제점이 있다. 이는 Wonderland Platform Server 는 기본적으로 필요한 데이터 전송, 유저 관리 등의 공통적인 기능만을 담당하고, 실질적인 모델링 추가 및 3 차원 Object 추가,랜더링은 Client 에서 담당한다. OpenSim 의 경우에는 따로 Client 를 수정하지 않고 Server 에서 가상공간을 꾸며 놓으면 유저는 단지 Viewer 를 통하여 가상 공간의 정보를 받아서, 화면에 출력하는 반면, Wonderland 는 수정된 Client 자체를 배포해야 한다는 문제가 있다. 이는 Client Version 꽌리 문제 뿐만 아니라, Client 에 너무 많은 부담을 가지게 된다. 이렇듯 많은 부분에서 Wonderland 와 OpenSim 은 차이를 보이고 있으면, 간략하게 정리 한다면 아래 표 1 과 같다. 위와 같은 비교 분석 결과 각각의 platform 마다 장점은 존재하지만, OpenSim 이 지금까지는 보기 좋은 가상현실을 제작하기 위해서는 더 나은점이 많이 존재한다고 판단된다. 그러나 OpenSim 의 경우

8 OpenSim Platform 기반 Wonderland 다양한 프로그래밍 언어 지원 Java,Java3D. (C#,LSL..). Graphic Texture 를 이용하여 현실감 있 이미지처리의 어려움으로 현실 는 그래픽 제공. API OpenSim Server Api 와 SL 기본적인 Java SDK Api 와 Client(viewer) Api 지원. Modeling tool 감 부족. Java3D Api 사용. 3ds Max,Blender 지원 (별도 Blender 지원. PrimComposer 필요). Motion 상용 SecondLife Avatar 의 다 제한적인 Motion 제공. 양한 Motion 제공. Data Management DMBS 와 연동 데이터 관리. 개발 Scale 없음. Grid Mode 를 이용한 광범위 하나의 가상공간 제작. 한 가상공간 제작 가능. 확장성 Plug-in Module 를 사용하여 Plug-in Moudlue 를 사용하여 확장성 용이. 확장성 용이. 표 1. Wonderland platform 와 opensim platform 비교 분석. 정교한 프로그래밍을 위해서는 C# 뿐만 아니라 다른 스크립트 언어 또한 사용해야 한다는 문제점이 존재한다. 5 결론 본 보고서에서는 쉽게 가상현실을 제작할 수 있는 Server Platform 인 OpenSim 에 대하여 알아 보았다. OpenSim 은 상용 서비스에서 성공을 거둔 SecondLife 의 Server API 를 사용하여 만든 Platform 으로써, 그 기능 및 안전성이 매우 높다고 할 수 있다. 또한 C# 으로 개발 되어 랜더링 면에 서 자연스러운 모션을 볼 수 있으며, 개발을 위한 다양한 관련 Tool 이 나와 있는 상태이다. 그리고 http://liferain.com 홈페이지를 통하여 다양한 Video Tutorial 를 통하여 설치 및 개발 방법을 쉽게 설명해 놓았다. 앞으로 진행 될 연구는 현재까지 개발 된 시스템에서, Sensor Data 를 이용한 Simulation 이 추가 될것이다. 또한 이러한 Simulation 에서 있어서 Avatar 의 이동 Direction 문제 혹은 이동 하지 않을때 Avatar 가 주시 하는 행동등이 문제는 해결해야 할 이슈로 남아 있다. Wonderland 또한 많은 연구에 서 사용되고 있는 Platform 이지만, 모션 (제스쳐) 이나 애니메이션에서는 OpenSim 이 월등한 성능을 보이기 때문에 지금까지 개발한 커뮤니케이션 시스템을 OpenSim 으로 Import 하고, 또한 앞으로 진행 될 연구는 OpenSim 에서 진행하는 것이 더욱 효과적이라고 판단된다. 그림 6 는 앞으로 연구 진행 될 OpenSim 을 이용한 Sensor Simulator 의 구조를 보여준다.

REP - OPENSIM - 001, APRIL 2009 9 그림 6. OpenSim(SL) 를이용한 Sensor Simulator 시스템구조. 참고문헌 1. OpenSimulator, http://opensimulator.org/wiki/main Page, 2009. 2. liferain, http://liferain.com/, 2009. 3. OSGrid, http://osgrid.org/, 2009. 4. lg3d wonderland, https://lg3d-wonderland.dev.java.net/, 2009. 5. Trevor J. Dodds and Roy A. Ruddlea, Using mobile group dynamics and virtual time to improve teamwork in large-scale collaborative virtual environments, Computers and Graphics, pp. 130 138, 2009. 6. Sebastian Ullrich Brandherm and Helmut Prendinger, Simulation of sensor-based tracking in second life, AAMAS 08: Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems, pp. 1689 1690, 2008.