가상 환경 내에서의 객체의 행위 모델링...

71
석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링 기법 () 전자컴퓨터공학부(컴퓨터공학 가상현실 전공) 포항공과대학교 대학원 2002

Upload: others

Post on 20-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

석사 학위 논문

가상 환경 내에서의

가상 객체의 행위 모델링 기법

이 건 (李 鍵)

전자컴퓨터공학부(컴퓨터공학 가상현실 전공)

포항공과대학교 대학원

2002

Page 2: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

가상 환경 내에서의

가상 객체의 행위 모델링 기법

Modeling Virtual Object Behavior

within Virtual Environment

Page 3: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

Modeling Virtual Object Behavior

within Virtual Environment

by

Gun A. Lee

Division of Electrical and Computer Engineering

(Computer Science and Engineering)

Pohang University of Science and Technology

A thesis submitted to the faculty of Pohang University of Science and

Technology in partial fulfillment of the requirements for the degree of

Master of Science in the Division of Electrical and Computer

Engineering (Computer Science and Engineering).

Pohang, Korea

December 24, 2001

Approved by

___________________

Major Advisor

Page 4: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

가상 환경 내에서의

가상 객체의 행위 모델링 기법

이 건

위 논문은 포항공과대학교 대학원 석사 학위논문으로 학

위논문심사위원회를 통과하였음을 인정합니다.

2001년 12월 24일

심사위원장 박찬모 (인)

위원 김정현 (인)

위원 이승용 (인)

Page 5: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

MECE

20002130

이 건, Gun A. Lee, Modeling Virtual Object

Behavior within Virtual Environment, 가상 환경

내에서의 가상 객체의 행위 모델링 기법,

전자컴퓨터 공학부 (컴퓨터공학 가상현실전공),

2002, 57p, Advisor : Chan-mo Park. Text in Korean.

ABSTRACT

As virtual reality technology has matured during the last several years, the scales of

virtual worlds have grown steadily as well. And as the scales of virtual worlds have

become larger, constructing and maintaining the virtual worlds has become increasingly

difficult. Throughout the development process of VR systems, many iterations of

specification, implementation and evaluation are unavoidable. Since correct evaluations of

immersive VR systems require the tedious process of wearing many devices and

experiencing the virtual world first hand, there exist both temporal and spatial gaps

between the implementation and evaluation stage, and this usually causes delay and

inefficiency in the development process.

To overcome this gap and provide efficiency in constructing and testing virtual worlds,

there have been several approaches in constructing or modeling the physical aspects of the

Page 6: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

virtual world (or objects) in the virtual environment. However, modeling their behaviors

are still carried out in conventional programming environments, with the aforementioned

“gaps”.

Many virtual object behaviors (like motion) exhibit 3D characteristics better tested inside

the VE. However, since in general, modeling virtual object behaviors are done by

programming, and thus use text, it is difficult to accomplish such a programming task

inside virtual environments that still lack good alphanumeric input interfaces.

In this thesis, three interaction methods for modeling behaviors in virtual environment

are suggested: using virtual terminals, interacting with metaphorical objects and the

programming by demonstration. A system named PiP (Programming virtual object

behavior in virtual reality Program) is introduced which uses the programming by

demonstration technique for modeling virtual object behaviors inside the virtual

environment. Some examples of virtual worlds constructed using the PiP system are

presented, and its strengths and weaknesses are discussed.

Page 7: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링
Page 8: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

i

목 차

목차 i

그림목차 iv

표목차 v

I. 서 론 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1

1.1 연구 배경 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1

1.2 연구 목적 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3

1.3 응용 분야 및 연구 범위 · · · · · · · · · · · · · · · · · · · · · · · · 4

II. 관련 연구 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 6

2.1 가상 환경 내에서의 가상 세계 구축 기법 · · · · · · · · · · · · · · 6

2.2 가상 객체의 행위 모델링 기법 · · · · · · · · · · · · · · · · · · · · · 8

2.3 시각 언어 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 9

2.4 Programming by Demonstration · · · · · · · · · · · · · · · · · · · · · 10

III. 가상 환경 내에서의 가상 객체의 행위 모델링 기법 · · · · · · · · · 13

3.1 가상 환경 내에서의 작업과 행위 모델링 작업의 특징 · · · · · · 13

3.2 접근 방법에 따른 분류 · · · · · · · · · · · · · · · · · · · · · · · · 15

3.2.1 가상 터미널 · · · · · · · · · · · · · · · · · · · · · · · · · · · 15

Page 9: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

ii

3.2.2 은유적 객체 · · · · · · · · · · · · · · · · · · · · · · · · · · 17

3.2.3 Programming by Demonstration · · · · · · · · · · · · · · · · · · 18

IV. 가상 객체의 행위를 모델링 하기 위한 상호작용 기법 · · · · · · · 21

4.1 가상 세계 및 가상 객체의 모델 · · · · · · · · · · · · · · · · · · · 21

4.1.1 가상 세계 모델 · · · · · · · · · · · · · · · · · · · · · · · · · 21

4.1.2 가상 객체 모델 · · · · · · · · · · · · · · · · · · · · · · · · · 23

4.2 기존의 가상 객체의 행위 모델 · · · · · · · · · · · · · · · · · · · · 25

4.2.1 가상 현실 시스템에서의 행위 모델 · · · · · · · · · · · · · 25

4.2.2 Programming by Demonstration 분야에서의 행위 모델 · · · · 27

4.3 ACE 행위 모델 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 28

4.3.1 Event · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 29

4.3.2 Context · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 30

4.3.3 Action · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31

4.4 가상 객체의 조작 기법 · · · · · · · · · · · · · · · · · · · · · · · · 33

4.5 3차원 상호작용을 통한 ACE 행위 모델의 표현 · · · · · · · · · · 37

4.5.1 3차원 상호작용을 통한 Event의 표현 · · · · · · · · · · · · · 37

4.5.2 3차원 상호작용을 통한 Context의 표현 · · · · · · · · · · · · 39

4.5.3 3차원 상호작용을 통한 Action의 표현 · · · · · · · · · · · · 40

Page 10: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

iii

V. PiP 시스템 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 41

5.1 PiP 시스템의 개요 및 구조 · · · · · · · · · · · · · · · · · · · · · · 41

5.2 PiP 시스템에서의 가상 세계 구축 과정 · · · · · · · · · · · · · · · 45

5.3 PiP 시스템을 사용한 가상 세계 구축 사례 · · · · · · · · · · · · · 45

VI. 평가 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 49

VII. 결론 및 향후 연구 방향 · · · · · · · · · · · · · · · · · · · · · · · · 53

참 고 문 헌 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 55

Page 11: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

iv

그 림 목 차

[그림1] 가상 터미널의 예 · · · · · · · · · · · · · · · · · · · · · · · · · · 16

[그림2] Cube에서 사용된 3차원 은유적 객체 · · · · · · · · · · · · · · · 18

[그림3] Statechart를 사용하여 가상 객체의 행위를 표현한 예 · · · · · · 18

[그림4] 트리 구조로 표현된 장면 그래프 · · · · · · · · · · · · · · · · · 22

[그림5] 프로그래밍 언어 문법 형태로 표현한 행위 모델 · · · · · · · · 33

[그림6] PiP 시스템의 스크립트로 표현한 행위의 예· · · · · · · · · · · · 33

[그림7] 가상 손을 사용한 물체의 이동 · · · · · · · · · · · · · · · · · · 35

[그림8] 가상 도구를 사용한 물체의 크기 변경 · · · · · · · · · · · · · · 35

[그림9] 충돌 이벤트의 표현 · · · · · · · · · · · · · · · · · · · · · · · · · 38

[그림10] 타이머 이벤트의 설정 · · · · · · · · · · · · · · · · · · · · · · · 38

[그림11] 공간적 문맥 검사의 표현 · · · · · · · · · · · · · · · · · · · · · 40

[그림12] PiP 시스템의 스크립트로 표현한 가상 세계의 예 · · · · · · · 42

[그림13] PiP 시스템에 사용되는 가상 현실 장비를 착용한 모습 · · · · 43

[그림14] PiP 시스템의 기본 화면 구성 · · · · · · · · · · · · · · · · · · · 44

[그림15] 가상 이야기의 구조 · · · · · · · · · · · · · · · · · · · · · · · · 47

[그림16] 가상 이야기의 주요 장면들 · · · · · · · · · · · · · · · · · · · · 47

Page 12: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

v

표 목 차

[표1] 가상 객체의 기본 속성 · · · · · · · · · · · · · · · · · · · · · · · · 24

[표2] 가상 객체의 기본 기능 · · · · · · · · · · · · · · · · · · · · · · · · 32

[표3] 가상 객체의 조작 기법 · · · · · · · · · · · · · · · · · · · · · · · · 36

[표4] 가상 이야기의 내용· · · · · · · · · · · · · · · · · · · · · · · · · · · 48

Page 13: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

1

I. 서 론

1.1 연구 배경

가상 현실 기술은 지난 수 십년 동안 많은 발전을 이룩하였으며, 소설, 영화,

게임 등의 대중 매체를 통해 일반에 소개되어 이미 친숙한 용어로 자리잡아 가

고 있다. 가상 현실 기술이 발전됨에 따라 가상 현실 기술을 활용하는 사례가

늘고 있으며, 가상 세계를 구축하고자 하는 수요가 늘고, 그 규모 또한 커지고

있다. 따라서 체계적이고 효율적으로 양질의 결과를 얻을 수 있는 가상 환경

개발 방법이 요구되고 있으며, 이와 관련하여 structured approach[1][2] 등의 연구

가 이루어지고 있다.

가상 세계를 구축하는 작업은 가상 세계에 들어갈 가상 객체를 제작하는 일

이 주를 이루는데, 이것은 가상 객체의 형태(form)를 모델링하고 이의 행위

(behavior)를 모델링 하는 과정으로 이루어진다[1][2]. 가상 객체의 3 차원 기하

형태(geometrical form)는 3 차원 그래픽 모델링 프로그램이나 3 차원 스캐너(3D

scanner)를 사용하여 제작되며, 그 밖의 형태와 행위는 일반적인 프로그래밍 언

어와 프로그램 라이브러리 형태를 띠는 가상 현실 프로그래밍 툴킷(toolkit) 들

을 활용하여 프로그램 하는 방법이 일반적으로 사용된다.

Page 14: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

2

가상 현실 시스템을 개발하는 작업은 요구 사항 정의, 구현, 실행 및 평가하

는 과정을 반복[1][2]하는 과정이다. 이 때, 가상 현실 시스템을 실행하여 평가

하는 일은 다양한 장비들을 착용해야 하는 등 개발 과정과 시간적 공간적 환경

에 있어 다소 차이가 있는데, 이러한 차이는 구현과 평가 과정을 반복하는 개

발자에게 적지 않은 부담이 된다. 즉, 문서를 작성하는 방식의 프로그램 작성을

통하여 3 차원적 공간을 표현하기 위해서는 많은 공간적 시간적 상상과 이해가

필요하다.

GUI 환경이 기존의 command line 인터페이스에 대해 갖는 널리 알려진 큰 장

점으로 WYSIWYG(‘What You See Is What You Get.’)과 direct manipulation 이 있다.

이들은 특히 2 차원 그림이나 도표, 문서를 편집하는 작업에 큰 도움을 주었는

데, 결과로 나올 그림이나 문서를 직접 보면서 조작하고, 또 그 결과가 조작 즉

시 반영 됨으로써 사용자에게 큰 편의성을 제공해 주었다.

이러한 관점에서 볼 때, 가상 환경을 개발하는 과정에서도 결과로 나올 가상

환경을 직접 체험하면서 설계, 조작하는 것은 큰 도움이 될 것으로 생각된다.

특히, 구축 하는 가상 세계의 규모가 커지고, 가상 객체들의 행동이 복잡해지며,

그들 사이의 관계 및 상호작용이 복잡해짐에 따라 이러한 요구는 더욱 증대될

것이며, 가상 현실 기반의 사용자 인터페이스(VUI, Virtual reality based User

Interface)가 일반화 될 경우 더욱 필요하게 될 것이다.

가상 현실 시스템을 개발하고, 가상 세계를 구축하는 작업을 가상 환경 내에

Page 15: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

3

서 수행하는 것은 여러 연구자들[3][4][5][6]의 관심이 되어왔다. 하지만, 이들은

가상 객체의 형태를 모델링하고 이를 가상 공간 상에 적절히 배치하는 기법에

관한 연구들이었으며, 동적인 가상 환경을 구성하기 위해 필수적인 가상 객체

의 행위를 모델링 하는 방법에 대해서는 그다지 연구가 진행되지 않았다.

1.2 연구 목적

본 연구는 가상 세계를 구축하는 과정에서의 주요 작업으로 생각되는 가상

객체의 모델링 작업을 가상 공간 내에서 이루어 지도록 함으로써 기존의 개발

환경과 실행 환경의 차이로 인한 어려움을 극복하여, 더 효율적이고, 효과적으

로 작업이 이루어 질 수 있도록 하는데 목적을 둔다. 특히, 형태(form) 모델링

에만 국한되어 있는 가상 환경 내에서의 가상 세계 모델링 과정에 더해 가상

객체의 행위(behavior)까지 모델링 할 수 있는 기법을 제안하여 현 가상 환경

중심의 가상 세계 구축 기법의 부족한 점을 보완하고자 한다.

특히 문자 정보의 입출력이 아닌 가상 공간 상에서의 3 차원 상호작용을 통

해 가상객체의 행위를 표현하도록 함으로써 작업의 효율성을 높이고 가상 공간

의 특성들을 활용하여 그 장점을 살리도록 한다.

Page 16: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

4

1.3 응용 분야 및 연구 범위

가상현실의 응용분야로 많이 알려진 것들에는 과학적 가시화 및 시뮬레이션,

군사훈련, 의학, rapid prototyping, 원격지 조정 등[7]이 있으며, 가깝게는 3 차원

컴퓨터 게임과 박물관이나 전시관을 통해 교육 분야에서 활용되고 있다.

이들 중 문자를 통한 표현이 중심이 될 소지가 많은 정밀한 프로그램 작업이

필요한 분야 보다는, 가상 공간에서의 작업의 장점을 살릴 수 있는 공간적, 시

간적 구성이 더 중요성을 띠는 분야에 본 연구를 먼저 활용하면 좋을 것이다.

또한 가상 객체의 행위를 모델링 하는 작업의 결과로 나오는 가상 객체들이 객

체 상호간에, 또는 사용자와의 상호작용이 활발한 동적 특성을 띄므로 이를 잘

반영할 필요성이 있다. 이러한 점들을 고려하여 교육 및 오락 분야에서 활용되

고 있는 ‘virtual story telling’[8]을 위한 가상 세계를 구축하는 일에 본 연구를 적

용시켜 보았다.

Virtual story telling 은 하나의 이야기를 등장인물과 그 배경 등을 시각적, 청각

적으로 표현해 주어 듣는 이의 이해를 돕고, 또한 이야기의 흐름에 사용자가

직접 참여 하여 그 흐름을 선택할 수 있도록 하며, 그 과정에서 간단한 게임을

즐길 수 있도록 한다. 본 연구에서는 이러한 특징들을 표현할 수 있도록 virtual

story telling 에 필요한 행위 모델을 정의 하였으며, 이를 가상 공간 상에서 표현

할 수 있도록 하였다.

Page 17: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

5

본 연구는 가상 환경 내에서 가상 객체의 행위를 모델링 하는 기법을 제시하

는 것이 목적이므로 가상 환경 내에서 가상 세계를 구축하는 작업 중 가상 객

체의 행위(behavior)를 모델링 하는 작업을 중점적으로 다루었으며, 가상 객체의

형태(form) 모델링과 가상 현실 시스템을 구축하기 위해 필요한 하드웨어 장비

관련 프로그래밍은 연구 범위에서 제외한다.

본 논문에서는 먼저 논문의 주제와 관련된 연구들을 살펴보고, 가상 환경 내

에서 가상 객체의 행위를 표현하기 위한 접근 방법들을 제시하고, 이들에 필요

한 상호작용 기법들을 제안한다. 또한, 이 기법들을 바탕으로 구현된 PiP 시스

템의 구성과 이를 이용한 가상 객체의 행위 모델링 방법에 대해 설명고, PiP 시

스템을 이용하여 가상 세계를 구축한 예를 소개하며, 구축 과정에서 관찰된

PiP 시스템의 사용성에 관해 이야기 한다. 끝으로 본 연구를 통해 얻은 결과를

종합하고 앞으로 필요한 연구들을 제안한다.

Page 18: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

6

II. 관련 연구

가상 환경 내에서 가상 객체의 행위를 모델링하기 위한 본 연구의 목적과 관

련 있는 연구 주제로 가상 환경 내에서 가상 세계를 구축하는 기법, 가상객체

의 행위를 모델링 하는 기법, 그리고, 문자 이외의 표현 방식 기반의 프로그래

밍 기법을 들 수 있다.

2.1 가상 환경 내에서의 가상 세계 구축 기법

가상 세계를 구축 하는 일을 가상 세계에 들어갈 가상 객체들을 제작하고 이

들을 가상 공간 내에 배치하는 작업이 주를 이룬다. 가상 객체를 만드는 과정

은 가상 객체의 형태를 나타내는 3 차원 기하 모델을 제작하는 일과 이들의 움

직임을 표현하기 위해 프로그램을 작성하는 일로 구성되는데, 초기의 가상 환

경은 가상 공간에 움직임이 없는 가상 객체들을 배치하고 이들 사이를 둘러보

는(navigate) 형태가 주를 이루었다. 이러한 3 차원 모델을 제작하고 배치하는 작

업은 3 차원 공간 정보를 충분히 이용해야 하므로 가상 공간 내에서 하기에 적

합한 특성이 있어, 여러 연구자들에 의해 연구 되었다.

Butterworth 등은 3DM[3]이라는 HMD(Head-mounted Display)와 3 차원 위치 추

Page 19: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

7

적 장치(Polhemus 3Space Isotrak)를 사용하여 가상 공간상에서 3 차원 모델을 만

들 수 있는 시스템을 제안하였다. 이 시스템은 간단한 기하 모델들을 만들고

변형 시키는 작업을 할 수 있었으나, CAD 와 같은 정밀한 작업을 하기에는 부

족한 면이 있었다.

Liang 등은 비록 몰입형 환경은 아니었지만, 3 차원 입력장치를 사용하여 3 차

원 공간상에서 좀 더 정밀하게 3 차원 모델을 다룰 수 있는 JDCAD[4] 시스템을

소개하였으며, 이를 이용하여 기계부품의 원형(prototype)을 효율적으로 제작할

수 있음을 보였다.

Bowman 등에 의해 제안된 Conceptual Design Space(CDS)[5][9]는 가상 공간상

에서 지면을 기준으로 건축물을 모델링 할 수 있도록 한 시스템으로, 사용자

인터페이스에 제약 조건(constraint)을 적용하여 3 차원 공간 상에서의 상호작용

의 정밀도를 높이는데 도움을 주고자 하였다.

ISSAC[6]은 다양한 3 차원 상호작용 기법들을 사용하여 미리 모델링 된 3 차

원 모델들을 배치하여 가상 공간을 구성하는 작업을 하는 시스템이다. Mine 은

이 시스템을 통해 가상 공간 상에서의 상호작용 기법의 제한점들을 극복해야

할 필요성을 피력하고, 적절히 활용될 수 있는 자연스럽고 직관적인 상호작용

기법들을 평가하고자 하였다.

위의 연구들은 가상 공간 상에서 3 차원 상호작용을 통해 3 차원 모델들을 만

들거나, 이들을 배치하여 가상 세계를 구축하는 기법에 대해 다루었다. 하지만,

Page 20: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

8

본 논문에서 이야기하는 가상 객체나 가상 세계의 행위를 모델링 하는 방법에

대해서는 언급하고 있지 않다.

2.2 가상 객체의 행위 모델링 기법

가상 객체의 행위를 모델링하기 위하여 가장 많이 사용되는 방법은 일반적인

프로그래밍 언어를 사용하여 프로그램을 작성하는 것이다. 이 경우 가상 현실

시스템을 구축하기 위하여 필요한 기능들을 프로그램 라이브러리 형태로 재사

용하는 경우가 많다. 이 방법은 표현할 수 있는 자유도가 높다는 장점을 가지

고 있는 반면, 세세한 부분까지 프로그래밍을 통해 표현해 주어야 한다는 단점

도 안고 있다. 또한, 가상객체의 행위가 일정한 구조를 갖고 있지 않아서 가상

객체의 행위가 복잡해 지고 가상 객체의 종류가 많아지면 프로그램하기가 쉽지

않다.

일반적인 프로그램 외에 가상 환경을 표현하기 위해 특화 된 언어를 사용하

여 가상 객체의 행위를 모델링하기도 하는데, 대표적인 예로 인터넷 상에서 가

상환경을 구축하기 위해 널리 사용되고 있는 VRML[10]과 Alice[11]를 들 수 있

다. 이러한 가상 현실 분야의 프로그래밍 언어 또는 스크립트는 제한된 명령어

들을 사용하여 가상 객체의 행위를 표현하며, 경우에 따라서[11][12]는 GUI 를

통하여 필요한 명령어들을 선택할 수 있도록 하는 등의 방법으로 배우고, 사용

Page 21: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

9

하는데 도움을 주고 있다.

전체적으로 볼 때, 기존의 행위 모델링 방법은 대부분 문자적 언어를 통하여

가상 객체의 행위를 표현하고 있으며, 보조적인 수단으로 GUI 를 사용하여 프

로그램이나 스크립트를 작성하는데 도움을 얻고 있다.

2.3 시각 언어

가상 객체의 행위가 복잡해지고 그 종류가 많아짐에 따라 프로그래밍 작업이

어려워 지는 점을 극복하기 위해 소프트웨어 공학적 접근들[1][2]이 이루어지고

있으며, 이 경우 가상 객체의 행위를 표현하는데 상태 도표(statechart)나 순서도

(flowchart), 데이터 흐름 도표(Data Flow Diagram) 등의 시각 언어(visual

language)[13]의 도움을 받기도 한다. 이러한 접근은 그림이나 도표로 가상 객체

의 행위를 표현함으로써, 문자 정보의 입출력이 쉽지 않은 가상 환경에서 가상

객체의 행위를 표현하는데 도움이 될 것으로 생각되며, 가상 환경 내에서의 시

각 언어의 사용에 관현 연구로 Cube 와 ToonTalk, 그리고 Lingua Graphica 가 있

다.

Cube[14]는 3 차원 시각 언어로, 가상 현실 기반의 프로그래밍 환경을 구축하

는데 그 목적을 두고 있다. 이것은 정육면체 형태의 객체들을 공간상에 배치하

고 연결하여 프로그램을 표현하며, 단순한 산술 논리 연산을 조합하여 복잡한

Page 22: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

10

연산들을 표현한다.

ToonTalk[15]은 애니메이션을 통하여 프로그램을 표현하고자 한 연구로, 어린

이들이 프로그래밍을 쉽게 배우고 할 수 있도록 한다. 사용자는 2 차원 비디오

게임 형태로 표현된 가상 공간에서 일상 생활에 쓰이는 도구들을 사용하여 프

로그램을 표현한다.

이 연구들은 가상 환경 내에서 은유적 객체(metaphorical object)들을 사용하여

프로그램을 표현하였으나, 일반적인 가상 객체의 행위를 표현하는 수준에는 미

치지 못하고, 간단한 연산을 표현 하는데 그쳤다.

Stiles 등은 가상 환경 내에서 가상 현실 시스템을 프로그램하기 위한 목적으

로 Lingua Graphica[16]라는 시스템을 제안 하였는데, 이것은 일반적인 프로그래

밍 언어의 원소들을 가상 공간상에서 은유적 객체로 표현하고 이들을 조합하여

프로그램 할 수 있게 한다. 하지만, 이것은 문자로 표현되는 프로그램의 원소들

에 대한 은유적 객체로의 단순한 치환 수준이었으며, 제안에 그쳤다.

2.4 Programming by Demonstration

프로그램을 표현하기 위해 문자나 도형과 같은 은유적인 객체를 사용하는 간

접적인 방법 외에, 프로그램을 통해 수행할 작업을 사용자가 직접 수행함으로

써 프로그램을 표현하는 programming by demonstration[17][18] 기법이 있다. 이것

은 프로그램을 입력에 대해 적절한 출력을 만들어 내는 블랙 박스로 보고, 입

Page 23: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

11

출력 자료의 예들을 바탕으로 프로그램의 내용을 추론해 내도록 하는

programming by example[19]의 연장선 상에서 연구되어 왔다. 이러한 연구들 중

KIDSIM과 Pavlov 는 가상 객체의 행위 모델링과 깊은 관련성을 가지고 있다.

KIDSIM[20][21]은 어린이들이 간단한 시뮬레이션을 제작할 수 있도록 한다.

사용자는 시뮬레이션에 사용할 캐릭터들을 만들고 이들이 격자로 된 2 차원 공

간 상에서 어떻게 행동할 것인지를 지정할 수 있다. KIDSIM 은 캐릭터의 행동

을 지정 하는데 programming by demonstration기법을 사용하고 있다. 사용자는 행

동의 주체가 되는 캐릭터 주위에 격자 단위의 범위를 설정하고 그곳의 현재 상

태가 어떠한지를 지정하기 위해 다른 캐릭터들을 배치한 후, 놓여진 캐릭터들

을 이동하거나 파괴하고 새로운 캐릭터를 생성함으로써 특정 상황이 발생했을

때 어떠한 변화가 일어나야 하는지를 표현한다.

Pavlov[22][23]는 애니메이션 되는 인터페이스(animated interface)를 만들기 위

한 시스템으로, 사용자는 인터페이스에 사용할 객체들을 생성하고 이들의 행동

을 자극-반응(stimulus-response) 모델에 맞추어 programming by demonstration 기법

을 사용해 지정할 수 있다. Wolber는 인터페이스를 자극이 들어왔을 때 이에 적

절한 반응을 보이는 것으로 정의 하고, 애니메이션에 사용되는 객체들의 행위

를 자극-반응 모델을 사용하여 표현하였다. 객체의 행위를 지정하기 위해 사용

자는 자극을 지정할 수 있는 상태로 전환하고 해당 객체를 마우스로 클릭하는

등의 방법을 통해 자극을 지정한다. 다음으로 주어진 자극에 대해 어떠한 반응

Page 24: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

12

을 보일 지를 지정하기 위해 객체들을 움직이거나 변형한다. 이러한 일련의 사

용자의 시연(demonstration)을 바탕으로 Pavlov 는 객체가 반응해야 할 자극을 검

출해 내고, 자극에 대한 반응으로 수행 해야 할 기능들을 인지한다.

위의 연구들은 설명 기반 학습(explanation-based learning)방법을 사용한

programming by demonstration 기법[24]을 사용하여 2 차원 인터페이스에서 객체들

의 행위를 모델링 할 수 있도록 하였으며, 이를 통해 간단한 시뮬레이션과 애

니메이션, 게임 등을 표현할 수 있음을 보였다. 본 연구에서는 이들이 사용한

programming by demonstration 기법을 바탕으로 가상 환경 내에서 3 차원 상호작

용을 통하여 가상 객체의 행위를 모델링 하는 기법을 제안한다.

Page 25: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

13

III. 가상 환경 내에서의 가상 객체의 행위 모델링 기법

기존의 가상 객체의 행위 모델링은 주로 가상 환경 밖에서 이루어졌다. 이러

한 작업을 가상 환경 내에서 하기 위해서는 가상 환경 내에서의 작업이 갖는

특징을 살펴보고 최대한 그 특징을 고려하여, 단점들은 극복하고, 장점들은 최

대한 이용할 수 있도록 모델링 기법을 설계해야 할 것이다.

3.1 가상 환경 내에서의 작업과 행위 모델링 작업의 특징

다양한 형태의 가상 현실 시스템 중 사용자에게 높은 실재감(實在感,

presence)을 주는 것으로 몰입형 가상 현실 시스템이 있으며, 특히 HMD를 착용

하고 사용자의 시점을 추적하는 형태가 널리 사용되고 있다. 이것은 사용자에

게 가상 세계를 현실에서와 같이 자유로운 시점에서 전방향으로 관찰할 수 있

도록 해 주고, 현실 세계로부터의 시각적 자극을 차단함으로써 높은 실재감을

제공하며, 가상 세계의 3 차원 공간적 구성을 이해하고 기억하는데 큰 도움이

되는 것으로 알려져 있다[7].

또한, 현실 세계를 볼 수 있는 시선을 차단하고, 사용자가 자유롭게 움직일

수 있도록 하기위해 키보드나 마우스와 등 지면에 고정시켜 사용해야 하는 일

Page 26: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

14

반적인 입력 장치 대신, 손의 3 차원 위치와 자세, 동작을 추적하는 장비들을

입력 장치로 사용하게 하여, 가상 환경에서 높은 자유도의 3 차원 상호작용이

가능하다는 장점도 제공한다.

HMD 를 사용한 몰입형 가상 현실 시스템은 이러한 장점들이 있는 반면에,

마우스나 키보드를 사용하기 힘든 특징 때문에 이들을 이용하여 사용하기에 적

합하도록 설계되어 있는 기존의 대부분의 사용자 인터페이스를 사용하기 힘들

며, 특히 문자정보를 입력하기 힘든 단점을 안고 있다. 이에 더해, HMD 가 제공

하는 화질이 모니터에 미치지 못하는 점은 다량의 문자정보를 보여주기에 부적

절한 요소로 작용하여 가상 환경에서의 문자 정보 사용을 더욱 더 어렵게 한

다.

이와는 반대로 기존의 행위 모델링은 주로 다량의 문자 정보로 표현되는 프

로그래밍 언어를 사용하여 이루어져왔는데, 이러한 행위 모델링 작업의 특징은

이를 문자 정보의 사용에 어려움을 안고 있는 가상 환경에서 하기 힘들게 한다

이러한 특징들을 종합 해 볼 때에, 가상 객체의 행위 모델링 작업을 가상 환

경, 특히 몰입형 가상 현실 시스템을 사용하여 하고자 할 경우, 문자가 아닌 다

른 행태로 가상 객체의 행위를 표현 할 수 있도록 하거나, 가상 환경에서 문자

정보를 사용하는데 따른 어려움들을 해결 하도록 해야 함을 알 수 있다. 본 연

구에서는 전자에 중점을 두고 가상 환경 내에서 가상 객체의 행위를 모델링 하

는 기법을 설계하였다.

Page 27: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

15

3.2 접근 방법에 따른 분류

가상 공간 내에서 가상 객체의 행위를 표현하기 위한 방법에는 여러 가지가

있는데, 이들은 크게 기존의 방법을 그대로 도입하여 이를 3 차원 공간 상에서

수행 할 수 있도록 하는 방법과 가상 환경에 적절한 3 차원 상호작용 기법을

설계하여 이를 통해 가상 객체의 행위를 표현하도록 하는 두 가지 접근 방법으

로 분류 될 수 있다. 또한 3 차원 상호작용을 이용하는 방법은 다시 시각 언어

와 같은 은유적 객체를 이용하는 방법과 객체의 행위를 사용자가 직접 해 보이

는 방법으로 다시 분류할 수 있다.

3.2.1 가상 터미널

기존의 방법을 도입하는 방법 중 가장 단순한 방법은 가상 환경 내에 가상

컴퓨터 터미널(virtual terminal)을 표현하는 것이다. 가상의 모니터와 가상의 키

보드, 마우스를 가상 공간 내에 배치하거나 이에 상응하는 환경[그림 1]을 제공

하고, 사용자는 실세계에서 컴퓨터를 사용하듯이 이를 사용하여 프로그램을 작

성함으로써 가상 객체의 행위를 모델링 한다. 이 때, 사용자는 일반적인 프로그

래밍 언어를 사용하여 프로그램을 작성할 뿐 아니라, statechart 나 순서도

(flowchart)와 같은 기존의 시각 언어(visual language)들을 사용할 수도 있다.

Page 28: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

16

[그림 1] 가상 터미널의 예

이러한 방법은 널리 사용되고 검증 받은 기존의 모델링 기법들을 변형 없이

도입할 수 있으며 세세한 표현이 가능한 프로그래밍 언어를 사용할 수 있다는

장점이 있는 반면, 현 가상 현실 장비 기술의 한계로 인해 현실 세계에서 모니

터와 키보드 장치를 다루는 것 만큼의 높은 사용성을 기대하기 어렵고, 가상환

경의 장점인 3 차원 상호 작용을 활용하지 못한다는 단점이 있다.

이러한 점들을 극복할 수 있도록 3 차원 입출력 장치 기술이 충분히 발전하

고, 3 차원 공간상에서 2 차원 상호작용을 효율적으로 하는 방법에 대한 연구가

이루어진다면, 3 차원 상호작용을 충분히 활용하지 못한다는 점을 제외하고는

가상 터미널을 이용하는 방법도 가상 환경 내에서 가상 객체의 행위를 모델링

하는 방법으로써 좋은 해결책이 될 수 있다.

Page 29: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

17

3.2.2 은유적 객체

3 차원 상호작용을 통하여 가상 객체의 행위를 표현하는 방법으로 은유적 객

체(metaphorical object)를 사용하는 방법을 생각해 볼 수 있다. 이러한 접근의 가

장 기본적인 방법은 기존의 2 차원 도표로 표현된 시각 언어를 3 차원 공간상의

객체로 표현하는 방법이다. 하지만, 이 경우 2 차원 상에서의 표현을 가정하고

설계된 시각언어가 가상 공간상에서도 효율적으로 사용될 수 있을지는 검증이

필요하다.

가상 공간에서 시각 언어를 사용하기 위해서는 가상 환경에 맞도록 시각 언

어를 설계할 필요성이 있다. Cube[14]와 Lingua Graphica[16]는 프로그래밍 언어

를 가상 공간상의 은유적 객체로 표현하여 이들을 배치하고 연결하여 프로그램

을 표현할 수 있도록 한 좋은 예이다. 이러한 연구들이 발전한다면 가상 객체

의 행위 뿐 아니라 일반적인 프로그래밍 작업에도 큰 도움이 될 것이다.

[그림 2]는 Cube에서 프로그램을 표현하기 위해 사용된 은유적 객체를 보여주

고 있으며, [그림 3]은 2 차원 시각 언어인 statechart 를 사용하여 가상 객체의 행

위를 모델링 한 예이다.

Page 30: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

18

[그림 2] Cube 에서 사용된 3 차원 은유적 객체 ([14]에서 발췌)

[그림 3] Statechart 를 사용하여 가상 객체의 행위를 표현한 예 ([2]에서 발췌)

3.2.3 Programming by Demonstration

이제까지 이야기한 방법들은 모두 3 차원 상호작용 여부에 관계없이 가상 객

체의 행위를 간접적으로 다루고 있다는 단점을 안고 있다. 즉, 이들은 일반적으

Page 31: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

19

로 3 차원적인 위치나 자세, 형태의 변화로 나타나는 가상 객체의 행위를 언어

나 도표, 또는 은유적 객체를 사용하여 간접적으로 표현하고 있다.

이와는 달리 3 차원 공간상에서 가상 객체를 움직이거나 변형시키는 등의 방

법으로 가상 객체의 행위를 직접 표현할 수도 있다. 즉, 가상 객체가 해야 할

행위를 사용자가 직접 해 보임으로써 가상 객체의 행위를 표현하는 방법이다.

이러한 방식은 프로그램의 direct manipulation[25]이라고도 불리는 programming

by demonstration 기법과 일맥 상통하며, 가상 객체의 행위에 대한 direct

manipulation 으로 생각할 수 있다. 특히, 2 차원 사용자 인터페이스를 프로그램하

기 위해 programming by demonstration 기법을 이용한 Pavlov[22]나, 2 차원 격자

칸에 존재하는 캐릭터들을 조작하여 간단한 시뮬레이션 게임을 제작할 수 있도

록 한 KIDSIM[20]은 이러한 방법의 가능성을 시사해 준다.

Programming by demonstration 기법을 도입하여 가상 객체의 행위를 모델링 할

경우, 행위의 주체가 되는 객체를 직접 조작하여 3 차원 가상 공간상에서의 상

호작용의 특징을 충분히 활용할 수 있다는 장점이 있는 반면, 시각적으로 보이

기 힘든 추상적 행위는 표현하기 힘든 단점도 존재한다. 즉, 시각적으로 형상화

하기 힘든 무게나 힘, 온도와 같은 물리적 속성들이나 심적 상태와 같은 비물

리적 속성들은 3 차원 상호작용을 통해 다루기 힘든데, 이러한 경우는 은유적

객체를 사용하거나 프로그래밍 언어를 통해 표현하는 것이 더 적절할 것이다.

Page 32: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

20

종합해 볼 때 각각의 접근 방법들은 그 표현 능력과 효율성에 있어서 장단점

이 있으므로, 이들을 적절히 사용하여야 할 필요성이 있다. 즉, 공간적인 움직

임은 programming by demonstration기법을 사용하여 표현하고, 시각적으로 표현하

기 힘든 추상적인 행위는 은유적 객체들을, 정밀한 표현이 필요한 경우에는 가

상 터미널을 사용한다면 효율적이고 효과적으로 가상 객체의 행위를 표현할 수

있을 것이다.

본 연구에서는 가상 공간의 특성을 충분히 활용할 수 있는 3 차원 상호작용

을 통해 가상 객체의 행위를 표현하는 방법에 중점을 두었으며, 특히 3 차원 상

호작용의 장점을 충분히 활용할 수 있는 programming by demonstration 기법의 도

입에 역점을 두었다.

Page 33: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

21

IV. 가상 객체의 행위를 모델링 하기 위한 상호작용 기법

가상 객체의 행위를 모델링 하는 작업은 달리 말해 주어진 가상 객체의 행위

모델(behavior model)을 채워 넣는 작업이라 할 수 있다. 즉, 가상 객체가 취할

수 있는 행위들을 일정한 형식으로 표현할 수 있는 틀 역할을 하는 행위 모델

이 결정되면, 이 형식에 맞춰 필요한 값들을 행위 모델에 채워 넣음으로써 다

양한 행위를 표현할 수 있는 것이다. 본 장에서는 virtual story telling 을 위한 가

상 세계와 가상 객체, 그리고 이의 행위 모델을 정의하고, 이를 바탕으로 가상

객체의 행위를 모델링하기 위한 programming by demonstration 기반의 상호작용

기법들을 제안한다.

4.1 가상 세계 및 가상 객체의 모델

4.1.1 가상 세계 모델

일반적인 가상 현실 시스템에서는 장면 그래프(scene graph)라는 형식으로 가

상 세계를 표현한다. 본 연구에서는 virtual story telling 을 위해 필요한 요소들을

고려하여 일반적인 장면 그래프(scene graph)를 단순화 시키고 변형하여 자체적

인 장면 그래프를 구성하였으며, 가상 세계를 표현하기 위해 직접, 간접적으로

Page 34: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

22

필요한 모든 데이터를 하나의 트리(tree) 구조로 구성 하였다[그림 4].

[그림 4] 트리 구조로 표현된 장면 그래프

장면 그래프는 전체 가상 이야기 세계를 지칭하는 우주(universe)를 루트 노드

(root node)로 갖는 트리 형태를 띤다. 하나의 이야기는 몇 개의 장면으로 이루

어 지며, 각 장면에는 서로 다른 배경, 등장인물, 그리고 사물들이 위치하는데,

본 연구에서는 이러한 virtual story telling 의 특성에 맞춰 장면 그래프에 이야기

의 진행상 하나의 장면을 나타내는 세계(world) 노드를 두어 등장인물이나 사물

Page 35: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

23

을 나타내는 객체(object) 노드들을 장면 별로 묶을 수 있게 하였다. 이에 더하

여, 본 연구에서 사용된 장면 그래프에는 객체의 종류(type) 목록이 추가 되었

는데, 이는 가상 객체의 종류를 분류하고, 각 종류가 갖는 행위를 표현하기 위

한 것이다. 그밖에, 사용자가 현재 위치한 세계, 가상 세계의 현재 시간과 지난

프레임과의 시간차 등 우주의 속성 변수 목록도 장면 그래프에 포함되어 있으

며, 이들은 가상 객체들이 행위를 할 때에 참조 된다.

4.1.2 가상 객체 모델

가상 객체는 형태(form), 기능(function) 그리고 행위(behavior)로 구성된다[1].

형태는 3 차원 공간적 형태를 비롯한 가상 객체의 물리적 속성들을 지칭하며

본 논문에서는 편의상 ‘형태’ 또는 ‘속성’으로 지칭하기로 한다. 기능은 행위를

하기위해 수행되는 기본적인 연산들을 말하며, 행위는 시간의 흐름이나 외부의

자극 또는 객체 상호간의 관계를 바탕으로 적절한 기능들의 조합을 수행하는

것을 말한다. 본 연구에서는 이 모델을 바탕으로 가상 객체를 표현하였다.

가상의 이야기에 등장하는 등장 인물이나 사물들은 한 장면에서 특정 위치에

위치하여 3 차원적 형태로 사용자에게 보여진다. 따라서, virtual story telling 에 사

용될 가상 객체들이 이러한 등장인물이나 사물들을 표현하기 위해서는 기본적

으로 3 차원 공간상의 위치와 자세, 그리고 3 차원 기하모델을 나타내는 속성을

필요로 한다. 또한, 각각의 가상 객체들은 필요에 따라 소리를 낼 수 있어야 하

Page 36: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

24

므로, 현재 그 객체가 내고 있는 소리를 나타내는 속성도 필요하다. 이러한 요

소들을 고려하여 본 연구에서는 [표 1]에 나타난 가상 객체의 기본 속성들을 정

의 하였으며, 각각의 속성은 실수(real number)로 표현되고, type, world, appearance,

sound 의 경우는 색인 번호(index)를 의미한다.

속성 설 명

type 가상 객체의 종류

world 현재 위치한 world

x, y, z 3 차원 공간상의 위치

azimuth, pitch, roll 3 차원 공간상의 자세

scale x, scale y, scale z 각 축 방향으로의 확대/축소 비율(scale factor)

appearance 현재의 겉 모습을 나타내는 3 차원 모델

sound 현재 내는 소리

status 부가적인 상태 정보를 위한 변수

[표 1] 가상 객체의 기본 속성

모든 가상 객체들은 하나의 종류(type)에 속하는데, 같은 종류에 속하는 가상

객체들은 같은 모양과 같은 행위를 갖는다. 하나의 종류는 해당 종류의 객체가

가져야 할 속성을 갖고 있어 새로운 객체를 생성할 때 이를 바탕으로 새로운

Page 37: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

25

객체가 생성되며, 또한 해당 종류의 객체가 취할 행위의 목록을 갖고 있다. 가

상 객체의 행위는 행위 모델(behavior model)의 형식으로 표현되는데, 이것은 다

음 두 절에 걸쳐 다룬다.

4.2 기존의 가상 객체의 행위 모델

앞서 이야기 한 바와 같이 행위를 모델링 하는 작업은 일정한 행위 모델의

틀을 채워넣는 작업과 같다. 따라서, 어떠한 행위 모델을 사용하느냐는 가상 객

체가 취할 수 있는 행위의 범위를 결정할 뿐 아니라, 행위 모델링 작업의 형태

에 많은 영향을 끼친다. 그러므로, 행위를 3 차원 상호작용을 통하여 표현하고

자 하는 경우 3 차원 상호작용의 특징을 잘 살려 표현할 수 있는 행위 모델을

사용해야 하는 것은 당연한 일이다. 본 절에서는 기존의 행위 모델들과 이들의

특징을 살펴보고, 본 연구에서 사용할 행위 모델을 정의하는 바탕으로 삼는다.

4.2.1 가상 현실 시스템에서의 행위 모델

가상 현실 시스템을 구축할 때 사용하는 행위 모델링 방법 중 가장 널리 사

용되며, 가장 자유도가 높은 방법은 일반적인 프로그래밍 언어를 사용하는 것

이다. 이 방법의 경우 일반적으로 행위를 표현하는 일정한 모델이 없으며, 사용

하는 언어가 지원하는 한도 내에서 자유롭게 가상 객체의 행위를 표현 할 수

Page 38: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

26

있다는 장점이 있다. 하지만, 행위 모델이 체계적으로 정립되지 않아 행위를 재

사용하기 쉽지 않고, 경우에 따라 세세한 부분까지 일일이 표현해 주어야 한다

는 단점이 있다. 이러한 방법을 사용할 경우 문자를 통한 표현이 불가결하므로

앞에서 언급한 것과 같이 가상 터미널을 사용하는 접근 방법이 적절할 것이다.

가상 공간을 모델링하고 웹상에서 구현할 때에 널리 사용되는 언어로

VRML[10]이 있다. VRML 에서는 복잡한 행위의 표현을 위해 Javascript 를 사용

할 수도 있지만, 일반적으로는 한 가상 객체의 속성 값을 같은 객체, 또는 다른

객체의 속성 값으로 전달하는 라우트(route)로 행위를 표현한다. 즉, 시간의 흐

름이나 사용자의 접촉(touch) 등의 외부로부터의 자극을 검출하는 센서(sensor)

를 정의하고 여기서 검출된 자극의 필드(field) 값을 가상 객체의 위치와 자세

등을 나타내는 필드로 라우트를 통해 전달 함으로써 시간의 흐름에 따라 또는

사용자와의 상호작용에 맞추어 가상 객체의 위치나 자세를 변형하는 등의 행동

을 표현 한다. 이러한 VRML 의 행위 모델의 경우 하나의 가상 객체와 다른 가

상 객체를 서로 연결하는 연결선 형태의 은유적 객체를 통한 표현이 적절한 접

근 방법이 될 것이다. 하지만, 이 경우 두 필드사이의 연결 관계가 중요한 것이

지 해당 객체 사이의 공간적 거리나 배치가 중요성을 띠진 않기 때문에 가상

공간상에서 표현하는 것이 큰 장점으로 작용하지는 않을 것으로 생각된다.

가상 세계를 구축하는 과정에 소프트웨어 공학적 기법을 적용한 [1]의 경우,

가상 객체의 행위를 statechart 를 통하여 표현하였다. 가상 객체는 현재의 상태

Page 39: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

27

에서 외부에서 이벤트를 받거나 지정된 조건을 만족하면(transition condition) 해

당하는 행동(computational action)들을 수행하고 다음 상태로 변화된다.

가상 객체의 행위를 스크립트 형태로 표현한 Alice[11]의 행위 모델도 이와

유사한데, 사용자가 마우스나 키보드를 누르는 등의 이벤트(event)가 발생하면

지정된 애니메이션을 실행시키는 구조의 행위 모델을 갖고 있다. Alice 는 이벤

트와 애니메이션을 위한 가상 객체의 행동 명령들을 메뉴에서 선택하는 방법으

로 가상 객체의 행위를 표현할 수 있도록 한다.

4.2.2 Programming by Demonstration 분야에서의 행위 모델

여기서는 programming by demonstration 과 관련된 많은 연구들 중 앞서 소개한

2 차원 공간상의 시뮬레이션이나 애니메이션에서 객체의 행위 모델링을 위해

programming by demonstration 을 사용한 두 연구의 행위 모델을 정리한다.

먼저 KIDSIM[20]은 캐릭터가 놓인 공간을 격자로 나누고 행위의 주체가 되

는 캐릭터 주변의 격자내의 행동 이전 상태와 이후 상태를 표현하는 방법으로

캐릭터의 행위를 표현하였다. 즉, 캐릭터 주변의 상황이 특정 조건을 만족하면

그것을 지정된 상태로 변경하는 고쳐 쓰기 법칙(graphical rewriting rule) 형태의

행위 모델이다. 여기서 이전 상태의 조건으로는 특정 격자에 특정 종류의 캐릭

터가 존재하거나 비어있는지, 또 그들이 갖고 있는 속성 변수들이 특정 값을

갖고 있는지를 검사하며, 이것이 만족할 때 취하는 행동들에는 캐릭터의 위치,

Page 40: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

28

모양 등의 속성을 변경하거나, 새로운 캐릭터를 생성하고, 있던 객체를 파괴하

는 등의 행동이 있다.

Pavlov[23]는 자극-반응(stimulus-response)모델을 사용하여 사용자 인터페이스

객체의 행위를 표현하였다. 이것은 가상 현실 시스템이나 일반적인 사용자 인

터페이스를 제작할 때 많이 사용되는 이벤트가 발생하면 그에 해당하는 작업을

수행하는 이벤트 기반(event-driven)의 표현 방법과 일맥 상통한다. Pavlov 는 자

극-반응 모델에 부수적으로 문맥(context)이라는 개념을 도입하였는데, 이는 자

극에 대한 반응을 하기 전에 객체의 상태를 검사하여 조건을 만족할 경우에만

반응을 보이도록 한 것이다.

4.3 ACE 행위 모델

앞서 살펴본 가상 객체의 행위 모델들을 종합해 볼 때, 일반적으로 가상 객

체의 행위는 외부로부터의 이벤트에 대해 현재의 상태를 고려하여 적절한 일련

의 행동을 취하여 상태를 변화시키는 형태를 띤다. 본 연구에서는 이러한 일련

의 과정을 이벤트(event)가 발생하면 문맥을 검사(context checking)하고 이에 맞

춰 행동(action)하는 3 단계로 이루어진 구조로 가상 객체의 행위를 표현하며 이

행위 모델을 ACE(Action while Context holds when Event occurred)라 부른다.

가상 이야기(virtual story)는 크게 사용자의 개입 없이 이야기가 진행되는 부분

Page 41: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

29

과 사용자와 상호 작용하는 부분으로 구성된다. Virtual story telling 에서는 3 차원

캐릭터들을 보여주고 이들을 움직이거나 적절한 음향 효과를 주어 하나의 이야

기를 진행 시키며, 사용자는 단순한 질문에 대한 답을 선택하거나, 간단한 게임

에 참여하여 다음에 진행될 이야기의 흐름을 결정한다. 이러한 가상 이야기를

표현하기 위해 필요한 상호작용에서 가상 물체를 움직이거나 특정 소리를 내고,

이야기의 흐름을 바꾸기 위해 장면을 변경하는 것은 ACE 모델의 구성 요소 중

행동에 해당하며, 사용자와 가상의 객체들 사이의 관계는 이벤트와 문맥 검사

를 통해 표현할 수 있다.

4.3.1 Event

이벤트(event)는 외부로부터 객체에 주어지는 자극으로 객체가 특정 행위를

하도록 하는 시발점이 된다. 본 연구에서는 가상 현실 분야에서 사용자와 가상

객체 사이, 또는 가상 객체와 가상 객체 사이의 상호작용을 위해 널리 사용되

는 가상 객체들이 부딪혔을 때 발생하는 충돌 이벤트(collision event)를 비롯하여,

특정 객체의 상태가 변했을 때 발생하는 객체 상태 변화 이벤트(object status

change event), 그리고 마지막으로 특정 시간이 되었을 때 발생하는 타이머 이벤

트(timer event)의 3 가지 이벤트를 고려하였다. 앞의 두 이벤트는 가상의 이야기

중 간단한 게임에 사용되는 가상 객체들의 행위를 표현하는데 적절하며, 마지

막 타이머 이벤트는 사용자의 상호작용 없이 시간의 흐름에 따라 이야기가 진

Page 42: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

30

행되는 행위를 표현하는데 필요하다.

각각의 이벤트는 종류에 따라 필요로 하는 인자들이 있는데, 충돌 이벤트는

충돌되는 가상 객체의 종류(type)를 인자로 필요로 하며, 객체 상태 변화 이벤

트는 상태가 변하는 객체를, 그리고 타이머 이벤트는 이벤트가 발생하는 시간

을 인자로 지정해 주어야 한다.

어떤 행위들은 외부의 자극 없이 가상 객체에 의해 자의적으로 행해질 수 있

는데, 이러한 경우 이벤트는 생략할 수 있으며, 이러한 행위는 가상 세계가 실

행되는 매 프레임(frame)마다 행해진다.

4.3.2 Context

게임의 결과가 특정 조건을 만족하여 장면이 바뀌는 행위나 두 가상 객체의

공간적 위치가 고려되어야 하는 행위의 경우 행위가 실행되기 전에 가상 세계

의 현재 상태를 검사할 수 있어야 하는데, ACE 행위 모델에서는 이를 위해 문

맥(context) 검사를 둔다. 문맥 검사란 객체의 속성 변수들의 값을 검사하는 것

을 말하며, 이것에는 가상 객체의 공간적 속성을 검사하기위한 공간적 문맥과

그 외의 속성을 위한 비공간적 문맥의 두 가지 종류가 있다.

공간적 문맥 검사는 행위의 주체가 되는 가상 객체를 중심으로 주변 공간상

에 관심 영역(ROI: region of interest)을 정하고, 그 영역 안의 상황을 검사하는 과

정이다. 이것은 특정 위치에 다른 가상객체가 존재하는지 혹은 특정 영역이 비

Page 43: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

31

어 있는지를 검사하는 것이며, 상자 형태의 영역을 지정하고, 그 안에 있어야

할 가상 객체의 종류(type)를 지정하거나 그 공간이 비어 있어야 함을 지정하여

표현한다.

비공간적 문맥 검사는 가상 객체의 속성들의 값을 검사하는 과정이다. 이 때

검사의 대상이 되는 객체에는 행위의 주체가 되는 객체, 공간적 문맥 검사 시

에 발견된 객체, 그리고 이벤트를 발생시킨 객체가 있으며, 우주(universe)가 갖

고 있는 속성 변수도 검사의 대상이 될 수 있다. 비공간적 문맥 검사는 검사하

고자 하는 속성의 값이 일정 범위 내에 존재하는지 여부로 나타내는데, 앞에서

언급하였듯이 본 연구에서 가상 객체의 속성들의 값은 실수로 표현되므로 간단

한 관계식을 통해 비공간적 문맥 검사를 표현 할 수 있다.

4.3.3 Action

이벤트가 발생하고 문맥검사가 마치면 가상 객체는 이에 적절한 행동(action)

을 하게 된다. 이러한 행동은 일련의 기능(function)을 수행하는 것으로, 하나의

기능은 하나 또는 복수의 속성 값을 변경시키는 연산들로 구성 된다. [표 2]에는

본 연구에서 사용한 가상 객체의 기본적인 기능들이 나타나 있다.

이러한 기능은 행위의 주체가 되는 가상 객체나 이벤트를 발생시킨 객체, 또

는 공간적 문맥검사에서 인지된 객체에 적용될 수 있으며, 우주(universe)의 속

성을 변경시킬 수도 있다.

Page 44: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

32

기능(function) 설 명

ChangeVariable 객체가 갖는 속성에 산술 연산을 가한다.

(할당(=), 가감승제, 나머지 연산(%),거듭제곱(^))

Create 현재 세계의 특정 위치에 지정한 종류(type)의 새

로운 객체를 하나 생성한다.

Destroy 특정 객체를 파괴한다.

MoveForward, MoveBackward, MoveLeft, MoveRight, MoveUp, MoveDown

가상 객체의 지역 축(local axis)을 따라 움직인다.

TurnRight, TurnLeft, PitchUp, PitchDown, RollLeft, RollRight

가상 객체의 지역 축(local axis)을 따라 회전한다.

ScaleX, ScaleY, ScaleZ 가상 객체의 지역 축(local axis)을 따라 크기를 변

형 한다.

Say 지정한 음향 파일을 재생하여 소리를 낸다.

[표 2] 가상 객체의 기본 기능

[그림 5]는 ACE 행위 모델을 프로그래밍 언어의 문법(grammar) 형태로 표현한

것으로 전체적인 ACE 행위 모델의 구조를 보여주며, [그림 6]은 5 장에서 다룰

PiP 시스템의 스크립트로 행위를 표현한 것이다.

Page 45: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

33

<behavior> -> <actionlist> | <event> <actionlist> | <contextlist> <actionlist> | <event> <contextlist> <actionlist> <event> -> collision | status_changed | timer <contextlist> -> <context> | <context> <contextlist> <context> -> <spatial> | <non-spatial> <spatial> -> region_of_interest type_of_object_in_roi <non-spatial> -> object attribute relational_op constant | object attribute relational_op object attribute <actionlist> -> <action> | <action> <actionlist> <action> -> moveforward | movebackward | moveleft | moveright | moveup | | movedown | turnleft | turnright | pitchup | pitchdown | rollleft | rollright | create | destroy | changevariable

[그림 5] 프로그래밍 언어 문법 형태로 표현한 행위 모델

<behavior> <event collided food> <context> <roi back -10 –10 10 10 10 20 empty> <thisObject appearance != 1 > </context> <action> <moveforward 1.0> <destroy eventedObject> </action> </behavior>

[그림 6] PiP 시스템의 스크립트로 표현한 행위의 예

4.4 가상 객체의 조작 기법

가상 환경에서 일어나는 상호작용의 종류에는 크게 시점의 이동(navigation),

가상 객체의 선택(selection), 그리고 가상 객체의 조작(manipulation) 이렇게 3 가

Page 46: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

34

지가 있다. 본 연구에서 가상 객체의 행위를 모델링 하기 위해 주로 사용하는

programming by demonstration 의 경우 가상 객체가 어떻게 행동 할 것인지를 직

접 그 객체를 조작하여 보여주어야 하므로, 가상 객체를 조작하는 작업은 행위

를 모델링 하는 일과 직접적인 관련이 있다.

가상 환경상에서 객체를 조작하는데 널리 쓰이는 방법으로는 가상 손(virtual

hand)을 이용하는 방법, 광선 추적법(ray casting) 그리고 가상 도구(virtual widget)

를 이용하는 방법 등이 있다. 본 연구에서는 기본적으로 가상 손을 이용하여

가상 객체들을 직접 조작(direct manipulation)할 수 있도록 하며, 필요에 따라 가

상 도구들을 활용(indirect manipulation)할 수 있도록 하는데, 이는 가상 손을 이

용한 방법이 현실 세계와 가장 유사하여 virtual storytelling 분야에 적합한 반면,

정밀한 조작을 하는데 불편한 점이 있으므로 가상 도구들을 통해 도움을 주고

자 한 것이다.

본 연구에서 사용하는 가상 도구는 가상 물체의 지역 좌표축의 형태로 표시

되며, 이것을 사용하여 각 축 방향으로 제한(constraint)을 두고 조작할 수 있게

한다. 제한을 두고자 하는 축을 잡고 그 축의 방향으로 손을 움직여, 축을 따라

물체를 이동하거나 회전시키고, 크기를 변경한다.

[그림 7]은 가상 손을 사용하여 물체를 이동 시키고 있는 모습이며, [그림 8]은

가상 도구를 사용하여 물체의 크기를 변경하고 있는 모습이다. [표 3]은 본 연구

를 위해 선택된 가상 객체 조작 기법들을 정리한 것이다.

Page 47: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

35

[그림 7] 가상 손을 사용한 물체의 이동

[그림 8] 가상 도구를 사용한 물체의 크기 변경

Page 48: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

36

조작 기법 설 명

가상 손 물체를 손으로 쥐고 있는 상태에서 손을 이동하거나 회전

하면 물체도 따라서 이동하고 회전한다.

가상 손-이동 물체를 손으로 쥐고 있는 상태에서 손을 이동하면 물체도

따라서 이동한다.

가상 손-회전 물체를 손으로 쥐고 있는 상태에서 손을 회전하면 물체도

따라서 회전한다.

생성 손을 쥐면, 그 위치에 새로운 물체가 생성 되며, 물체에

손이 닿은 상태에서 쥐면 그 물체의 종류가 변경된다.

파괴 손을 쥐면 손에 닿은 물체가 파괴된다.

지역축-이동

손을 쥐어 물체를 선택하면 지역축이 표시되고 원하는 지

역축을 잡고 축을 따라 손을 이동하면 선택된 물체가 축

을 따라 이동한다.

지역축-회전

손을 쥐어 물체를 선택하면 지역축이 표시되고 원하는 지

역축을 잡고 축을 따라 손을 이동하면 선택된 물체가 축

을 따라 회전한다.

지역축-크기 변경

손을 쥐어 물체를 선택하면 지역축이 표시되고 원하는 지

역축을 잡고 축을 따라 손을 이동하면 선택된 물체가 축

을 따라 크기가 변경 된다.

모양 변경 손을 쥐면 손에 닿은 물체의 모양이 변경된다.

음향 효과 손을 쥐면 손에 닿은 물체가 내는 소리가 바뀐다.

행위 정의 손을 쥐면 손에 닿은 물체의 행위를 정의 할 수 있는 상

태로 바뀐다.

[표 3] 가상 객체의 조작 기법

Page 49: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

37

4.5 3 차원 상호작용을 통한 ACE 행위 모델의 표현

ACE 행위 모델은 각 요소인 이벤트, 문맥, 행동, 이 3 가지를 정의하여 하나

의 행위를 표현한다. 본 절에서는 이들 3요소를 3차원 상호작용을 통해 표현하

는 방법을 제시함으로써, 가상 환경 내에서 가상 객체의 행위를 모델링 하는

상호 작용 기법을 제안한다. ACE 행위 모델의 3 요소를 표현 하기 위해서는 대

부분 새로운 것이 아닌 물체를 조작할 때 사용한 상호작용 기법들을 그대로 사

용하여 추가적인 상호작용 기법을 사용자가 훈련할 필요가 없도록 하였다.

4.5.1 3 차원 상호작용을 통한 Event 의 표현

본 연구에서 사용한 이벤트에는 충돌 이벤트, 객체 상태 변경 이벤트 그리고

타이머 이벤트 이렇게 3 가지가 있다. 가상 객체의 행위를 일으키는 이벤트를

표현하기 위해 필요한 상호작용은 직접 이벤트를 발생시키는 것이다. 충돌 이

벤트의 경우 충돌 검사를 할 종류의 객체를 이동하여 현재 행위를 모델링하고

있는 객체와 충돌 하도록 위치시켜 표현하며, 객체 상태 변경 이벤트는 상태가

변할 객체를 이동시키거나 모양을 바꾸어 표현한다. 타이머 이벤트의 경우 가

상 객체를 직접 조작하여 표현하기 힘들므로 가상 도구(virtual widget)를 사용하

여 타이머가 발생할 시간을 설정하는 방법으로 표현한다.

Page 50: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

38

[그림 9]는 충돌 이벤트를 표현한 모습이며, [그림 10]은 타이머 이벤트를 설정

하고 있는 장면이다.

[그림 9] 충돌 이벤트의 표현

[그림 10] 타이머 이벤트의 설정

Page 51: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

39

4.5.2 3 차원 상호작용을 통한 Context 의 표현

문맥의 표현 역시 가상 객체들을 조작하는 작업을 통해 이루어 진다. 먼저,

공간적 문맥은 행위의 주체가 되는 가상 객체의 주변에 관심 영역(ROI: Region

of Interest)을 지정하고 이 영역에 특정 종류의 객체가 있거나 비어 있어야 하는

지를 표현해 주어야 한다. 이를 위해 사용자는 가상 손을 이용하여 관심 영역

을 나타내는 상자모양의 가상 도구(virtual widget)를 생성하며, 그곳이 비어 있어

야 할 경우에는 그 영역을 비워두고, 특정 종류의 객체가 있어야 할 경우에는

해당 종류의 객체를 그곳에 위치시켜 이를 표현한다. 후자의 경우 상자 형태의

가상 도구를 활용하여 영역을 지정할 필요 없이 해당 종류의 물체의 위치를 변

경 시키는 것 만으로 표현 할 수도 있다.

비공간적 문맥검사 역시 가상 객체를 조작하는 방법으로 표현하는데, 예를

들어 공간적 문맥에서 인지된 물체가 특정 모양을 띠고 있어야 할 경우, 그곳

에 위치한 물체의 모양을 직접 변경하여 그 물체가 해당 모양을 띠고 있어야

함을 표현한다.

[그림 11]은 공간적 문맥검사를 표현 하기 위해 관심 영역을 지정하는 장면이

다.

Page 52: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

40

[그림 11] 공간적 문맥 검사의 표현

4.5.3 3 차원 상호작용을 통한 Action 의 표현

ACE 행위 모델의 3 요소 중 행동(action)은 물체의 조작을 통해 표현하기에

가장 용이하다. 사용자는 직접 물체를 조작하여 물체가 취할 행동을 하나씩 수

행하여 이를 표현하며, 이는 현재 정의 하고 있는 행위의 행동 요소로 그대로

반영된다.

Page 53: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

41

V. PiP 시스템

PiP(Programming virtual object behavior in virtual reality Program) 시스템은 가상

환경 내에서 가상 객체의 행위를 모델링 할 수 있도록 한 시스템이다. 본 시스

템은 virtual story telling 에 필요한 가상 세계 모델과 가상 객체의 행위 모델을

가지며, 3 차원 상호작용을 통하여 가상 세계를 구축 할 수 있도록 한다.

5.1 PiP 시스템의 개요 및 구조

PiP 시스템은 MS Windows계열의 운영 체제를 갖는 PC platform상에서 구현되

었다. 3 차원 그래픽스 라이브러리로 OpenGL 을 사용하여 구현되었으며, 자체적

인 장면 그래프(scene graph)구조를 가지고 있고, 이를 스크립트 파일 형태로 저

장하고 가져올 수 있다. [그림 12]는 PiP 시스템의 스크립트로 하나의 가상 세계

를 표현한 예이다.

Page 54: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

42

<universe> <world pond> <bgcolor 1.0 1.0 1.0> </world> <type fish> <appearances> default fish.obj </appearances> <behavior> <action moveforward 1.0> </behavior> </type> <object fish1> type fish x 100 y 100 z 100 world pond </object> <object> type fish x -50 y 200 z 100 world pond </object> </universe>

[그림 12] PiP 시스템의 스크립트로 표현한 가상 세계의 예

가상 현실 관련 장비로는 HMD[26]와 Fastrak[27], 그리고 5th Dimension

Technologies 사의 5DT Data Glove[28]가 사용되었으며, 메뉴 선택을 위해 3 개의

버튼이 달린 장치를 사용하였다. [그림 13]은 PiP 시스템을 사용하기 위해 필요

Page 55: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

43

한 장비들과 이를 사용자가 착용한 모습이다.

[그림 13] PiP 시스템에 사용되는 가상 현실 장비를 착용한 모습

사용자는 stereo 기능이 가능한 HMD 와 이어폰을 착용하게 되며, Fastrak 으로

사용자의 머리의 3 차원 위치와 자세를 추적하여 이를 시점에 반영한다. 가상

공간을 둘러보거나 가상 물체를 다루는 상호작용을 위해서는 glove 를 한 손에

착용하게 되며 이를 통해 손의 상태를 인식하고, 이 손의 3 차원 위치와 자세

역시 Fastrak 으로 추적하여 현재의 손의 상태에 맞는 3 차원 상호작용이 가능하

도록 한다. 손의 상태는 glove로 가위, 바위, 보의 3가지 상태를 인식하며, 가위

는 가상 공간을 둘러보기 위해 시점을 이동하는데, 바위는 가상 객체를 선택하

Page 56: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

44

고 다루는데, 그리고 보는 중립 상태를 나타내는데 사용한다. 모드 선택 및 메

뉴 선택을 위해서는 3 개의 버튼을 가진 입력장치를 glove 를 착용하지 않은 다

른 한 손에 들고 사용하며, 2 개의 버튼은 커서의 위치를 변경하기 위해, 다른

한 개의 버튼은 현재 커서가 위치한 메뉴 항목을 선택하는데 사용한다.

본 시스템은 가상 세계를 실행하는 상태, 가상 객체들을 배치하여 가상 세계

를 구축하는 상태, 그리고 가상 객체의 행위를 모델링 하는 상태의 3 가지 모드

로 작동 되며, 한 명의 사용자가 가상 환경 안에서 가상 세계를 경험하고, 구축

하고, 이를 변경 할 수 있다. [그림 14]는 PiP 시스템의 기본 화면 구성을 보여주

고 있으며, 아래쪽의 메뉴는 가상 세계를 구축하는 상태에서만 표시된다.

[그림 14] PiP 시스템의 기본 화면 구성

Page 57: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

45

5.2 PiP 시스템에서의 가상 세계 구축 과정

PiP 시스템으로 가상 세계를 구축 하는 과정은 크게 두 단계로 나눌 수 있다.

첫째는 구축하고자 하는 가상 세계의 개요를 잡는 단계로, 우주를 구성하는 세

계와 여기에 사용될 가상 객체의 종류들을 정의하는 단계이다. 현재 이 단계는

스크립트 파일을 편집하는 작업을 통해 이루어지며, 향후 이러한 과정까지 가

상 환경 내에서 할 수 있도록 할 계획이다.

다음 단계는 가상 세계에 가상 객체들을 배치하고 이들의 행위를 모델링 하

고 이를 실행하는 것으로, 앞 단계에서 정의한 종류의 가상 객체들을 생성하고,

배치하고, 파괴할 수 있으며, 이들의 행위를 모델링 할 수 있다. 이 단계의 작

업은 가상 환경 내에서 3 차원 상호 작용을 통하여 가상 객체를 조작하는 방법

으로 이루어 지며, 가상 환경을 구축하고 실행하는 과정이 모두 가상 환경 내

에서 동시에서 이루어진다.

5.3 PiP 시스템을 사용한 가상 세계 구축 사례

PiP 시스템은 여러 가상 세계 응용 분야 중 virtual story telling 에 적용할 목적

으로 개발되었다. 앞서 언급한 바와 같이 가상 이야기(virtual story)는 크게 사용

자의 개입 없이 이야기가 진행되는 부분과 사용자와 상호 작용하는 부분으로

Page 58: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

46

구성된다. 사용자의 개입이 없는 부분에서는 3 차원 캐릭터들을 움직이거나 적

절한 음향 효과를 주어 이야기가 진행 되며, 상호작용이 있는 부분에서는 사용

자가 단순한 질문에 대한 답을 선택하거나, 간단한 게임에 참여하여 다음에 진

행될 이야기의 흐름을 결정한다.

이러한 특징에 맞춰 본 논문에서는 4 개의 장면으로 이루어진 이야기를 PiP

시스템으로 구성하였다. 이들 중 한 장면은 사용자가 질문에 대한 답을 선택하

여 다음 장면을 결정하는 형식이고, 다른 한 장면은 사용자가 간단한 게임에

참여하고 그 결과가 이야기의 흐름을 결정하는 형식을 띠고 있다. 나머지 장면

들은 사용자의 개입 없이 애니메이션을 통해 이야기를 진행 시키는 형식으로

만들어졌다. [그림15]는 이 이야기의 개괄을 그래프 형태로 표현한 것이며, [표4]

에 각 장면의 내용을 요약하였다. [그림 16]은 이러한 가상 이야기의 몇 장면들

을 보여주고 있다.

Page 59: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

47

[그림 16] 가상 이야기의 장면들

실패

배경소개

보물찾기

탈출성공

보물의 방 선택

함정 선택

시간 초과 보물 모두 찾음

[그림 15] 가상 이야기의 구조

Page 60: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

48

장면 내 용

배경소개

이야기가 시작되면 사용자 앞에 푯말이 서있고 사용자는

이것을 통해 보물찾기 방법에 대한 설명을 얻는다. 설명이 끝

나면 푯말은 사라지고, 뒤로 두 개의 문이 보인다. 사용자가

보물의 방으로 통하는 문을 선택하면 ‘보물찾기’ 장면으로 이

동하고, 함정을 선택하면 ‘함정’ 장면으로 이동한다.

보물찾기

보물찾기 방에 들어서면 가운데 보물이 담긴 금고가 있고,

그 주변에 열쇠를 올려 놓아야 할 단들이 있다. 사용자는 제

한 시간이 지나기 전에 방안에 흩어져 있는 열쇠들을 찾아

단 위에 올려 놓아야 하며, 방안을 돌아 다니는 거위들은 열

쇠를 발견하면 삼키므로, 열쇠를 삼킨 거위를 잡아 열쇠를 뱉

어 내도록 해야 한다. 열쇠를 모두 찾아 단위에 올려 놓은

후, 금고를 잡으면 보석이 나오고 보석을 잡으면 ‘탈출 성공’

장면으로 이동하고, 일정한 시간이 지날 때까지 금고를 잡지

않으면 금고가 움직여 열쇠들이 단 위에 놓였는지를 검사하

고, 열쇠가 빠져 있으면 ‘실패’ 장면으로 이동한다.

탈출성공 축하 메시지와 함께 경쾌한 노래가 나오고 이야기가 끝난다.

실패

함정의 방에 들어서면 괴물들이 사용자를 향해 다가 오고

보물 얻기에 실패 했음을 알리는 메시지가 나온 후 이야기가

끝난다.

[표 4] 가상 이야기의 내용

Page 61: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

49

VI. 평가

가상 환경 내에서 가상 세계를 구축하는 작업 중 가상 객체들을 배치하여 가

상 공간을 구성하는 것에 대해 선행 연구[3][4][5][6]들은 다음의 장점이 있는

것으로 평가하였다.

첫째로 3 차원 공간상의 물체를 조작할 때에 6 자유도를 동시에 조작 할 수

있어 조작 시간을 줄이고, 효율적으로 작업을 할 수 있다는 점이다. 이는 2 차

원 이하의 상호작용을 통해서는 여러 번의 조작을 통해야 표현이 가능한 공간

상에서 동시에 일어나는 복잡한 변화를 한 번 또는 적은 수의 조작을 통해 표

현할 수 있음을 나타낸다.

다음은 가상 공간의 3 차원적 구성과 공간 상에서의 가상 객체들의 관계를

이해하는데 도움이 된다는 점이다. 이는 가상 현실 시스템에서 사용자의 움직

임을 가상 공간을 바라보는 시점에 반영하고, 가상 공간을 스테레오 입체 영상

으로 보여 줌으로써 실세계에서 3 차원 공간을 대하는 것과 같은 효과를 주어,

3 차원 공간을 이해하는데 도움을 주는데 기인한다.

마지막으로, 선행 연구들은 자연스럽고 직관적인 상호 작용을 제공하여 배우

기 쉽고 사용하기 쉽다는 점을 장점으로 꼽았다. 이것은 가상 객체를 조작 할

Page 62: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

50

때에 마우스나 키보드와 같은 2 차원, 또는 1 차원 입력 장비를 사용할 경우 실

세계의 3 차원 공간에서 물체를 다루는 것과는 다른 방법을 사용하게 되는 반

면, 가상 공간에서는 실세계에서 사용하는 사용자들이 익숙한 방법에 최대한

가깝게 3 차원 상호 작용 기법을 설계할 수 있다는 점에서 비롯된다.

본 연구는 가상 환경 내에서 가상 세계의 공간을 구성할 뿐 아니라 가상 객

체의 행위도 모델링 할 수 있도록 하였는데, 이 경우 위의 장점들에 더해 얻을

수 있는 가장 큰 장점으로 개발 기간의 단축 및 효율성 증대를 들 수 있다.

기존의 가상 세계, 특히 몰입형 가상 환경 구축 과정에서는 개발과 평가 과

정이 반복 될 때에, 가상 현실 장비들을 착용하고 벗어야 하는 등 두 과정 사

이의 전환이 쉽지 않았다. 이러한 점은 평가 결과를 기억에 의존하여 개발에

반영함으로써 평가 내용이 개발 과정에 충분히 반영되지 못하는 문제점을 낳게

된다. 가상 환경 내에서 가상 객체들의 행위를 모델링 할 경우 이러한 두 과정

사이의 전환이 쉽게 이루어지며, 또 모델링 결과가 가상 세계에 즉시 반영되고

평가됨으로써 개발 과정의 효율성을 높이고 기간을 단축시킬 수 있다. 이러한

점은 특히 짧은 개발 기간을 요하는 rapid prototyping 분야에서 꼭 필요하다.

다음으로 얻을 수 있는 장점으로 3 차원 공간의 구성과 관계에 더해 움직임

에 대한 이해도 더 높일 수 있다는 점이 있다. 가상 객체의 행위의 결과로 나

타나는 행동의 대부분은 시간의 흐름에 따른 3 차원 공간상에서의 움직임으로

표현된다. 따라서 행위를 모델링 하는 과정에서 가상 객체의 시간 흐름에 따른

Page 63: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

51

공간상에서의 움직임을 이해하는 것은 필수 적이며, 이에 대한 이해를 높이는

것은 가상 객체의 행위를 설계하는데 큰 도움이 된다. 특히, 가상 환경 내에서

가상 객체의 행위를 모델링 할 수 있는 여러 접근 방법 중 programming by

demonstration 을 통한 접근 방법의 경우에는 결과로 나올 가상 객체의 행동을

사용자가 직접 시연함으로써 실행을 통해 확인하지 않고도 결과를 예측 할 수

있는 장점을 더 얻을 수 있다.

Programming by demonstration 을 이용한 접근을 통해 얻을 수 있는 다른 장점

으로는 가상 환경의 약점인 문자 정보 입출력의 한계에 영향을 크게 받지 않는

다는 점을 꼽을 수 있다. 은유적 객체를 이용한 방법이나 가상 터미널을 이용

하는 방법은 다소 문자 정보의 입출력이 불가결한데 비해, programming by

demonstration 의 경우 행위 모델링 작업이 대부분 가상 객체의 3 차원 공간상에

서의 조작으로 이루어지므로 문자 정보의 입출력에 의존하지 않으며, 가상 공

간상에서 이루어지는 3 차원 상호 작용의 장점을 충분히 활용할 수 있다.

끝으로 programming by demonstration 을 이용한 접근 방법은 다른 방법들에 비

해 사용하고 배우기 쉽다는 장점을 갖고 있다. 모델링을 위한 상호작용 기법들

은 새로 설계될 필요가 없으며, 기존의 가상 객체의 조작 기법들을 그대로 활

용할 수 있다. 또한, 이러한 가상 객체의 조작 기법들은 가상 현실 분야 초기부

터 많은 연구가 이루어져 있어 이들을 통해 사용성(usability)을 보장 받을 수

있다.

Page 64: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

52

이러한 많은 장점들이 있는 반면에 programming by demonstration 기법은 시각

적으로 표현하기 힘든 행위를 모델링하기 힘든 단점이 있으며, 이러한 문제를

해결하기 위해서는 은유적 객체를 이용해야 한다. 또한, 정밀한 표현이 가능하

도록 하기 위해서는 가상 환경의 문자 정보의 입출력 한계를 극복하고 가상 터

미널을 이용하여 세세한 부분까지 프로그래밍 할 수 있도록 해야 할 필요성이

있다.

아울러 많은 정신적 노력이 드는 가상 환경 구축 작업을 장시간 가상 환경 내

에서 수행할 경우 발생 할 수 있는 cyber sickness 에 대한 대비책이 마련되어야

할 것이다.

Page 65: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

53

VII. 결론 및 향후 연구 방향

본 논문에서는 가상 환경을 구축 하는 작업 중 중요한 요소인 가상 객체의

행위를 모델링 하는 작업을 가상 환경 내에서 함으로써, 모델링 하는 환경과

실행 및 검사하는 환경의 차이로 오는 문제점을 극복하여 효율적이고 효과적으

로 작업을 수행할 것을 제안하였다.

이를 위하여 기존의 행위 모델링 방법이 가상 환경 상에서 이루어지는 작업

의 특징과 맞지 않는 점을 지적하고 이를 바탕으로 가상 환경 내에서 가상 객

체의 행위를 모델링하기 위한 접근 방법들을 제안하였다. 또한, 제안한 방법들

중 programming by demonstration 기법을 이용한 PiP 시스템을 소개하였으며, 이

를 사용하여 구축 한 가상 세계의 예를 보이고, 이러한 과정을 통해

programming by demonstration 기법을 사용하여 가상 환경 내에서 가상 객체의 행

위를 모델링 함으로써 얻을 수 있는 이점들에 관하여 논하였다.

본 연구에서는 가상 환경 내에서 가상 객체의 행위를 모델링 하기 위해 사용

할 수 있는 여러 접근 방법들 중, programming by demonstration 을 이용하는 방법

을 중심으로 연구를 진행하였다. 하지만, 이 방법으로 표현하기 힘든 관념적,

추상적 행위들을 모델링 하기 위해서는 은유적 객체를 활용하거나, 가상 공간

Page 66: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

54

내에서 프로그래밍 언어를 사용하는 등 다양한 방법들을 도입할 필요성이 있으

며, 이들의 사용성을 비롯한 다양한 평가가 필요할 것이다.

또한, 더 효율적으로 가상 객체를 조작할 수 있는 기법들을 고안하고, 나아가

사용자의 움직임을 통한 상호 작용뿐 아니라 음성 인식과 같은 다른 상호 작용

방법들을 도입하여, 가상 객체의 행위를 모델링 하는데 이용하는 것도 고려해

보아야 하겠다.

끝으로 행위 모델을 비롯한 가상 객체 및 가상 세계 모델의 통합 및 표준화

가 필요하다. 가상 세계의 공간적 구성을 표현하기 위해 장면 그래프를 널리

사용하는데 비해, 가상 객체들의 행위를 표현하기 위해 널리 사용되는 모델은

아직까지 부재한 형편이다. 가상 객체의 행위는 매우 다양하고 정형화 하기가

쉽지 않지만, 여러 연구에서 사용한 행위 모델들을 비교해 볼 때 공통적인 부

분이 있음을 알 수 있다. 따라서, 가상 객체의 다양한 행위를 충분히 표현 할

수 있는 행위 모델을 구축하고 이를 표준화 한다면, 가상 객체의 행위를 모델

링 하는 작업을 좀더 체계적이고 효율적으로 수행할 수 있을 것이며, 이를 가

상 공간 내에서 표현하는 방법을 개발 하는데 도움이 될 것이다. 나아가 가상

객체나 가상 세계, 또 가상 환경에서의 상호 작용 기법들을 종합하고 표준화

한다면 가상 현실 기반의 사용자 인터페이스(VUI)를 일반화 하고, 이를 바탕으

로 가상 환경 내에서 가상 세계를 구축하는 작업을 완전히 실현하는데 큰 도움

이 될 것이다.

Page 67: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

55

참고문헌

[1] G. Jounghyun Kim, Kyo Chul Kang, Hyejung Kim and Jiyoung Lee, “Software

Engineering of Virtual Worlds,” in Proceedings of Virtual Reality Software &

Technology’98, 1998, pp.131-139.

[2] Jinseok Seo et al., “A Structured approach to Virtual Reality System Design,” in

Presence: Teleoperators and Virtual Environments, MIT Press, 2001(submitted).

[3] Jeff Butterworth, Andrew Davidson, Stephen Hench and T. Marc Olano, “3DM: A

Three Dimensional Modeler Using a Head-Mounted Display,” in Proceedings of

Symposium on Interactive 3D Graphics, 1992, pp.135-138.

[4] Jiandong Liang and Mark Green, “JDCAD: A Highly Interactive 3D Modeling

System,” in Computer & Graphics, Vol.18, No.4, 1994, pp.499-506.

[5] http://www.cc.gatech.edu/gvu/virtual/CDS

[6] Mark R. Mine, ISAAC: A Virtual Environment Tool for the Interactive Construction of

Virtual Worlds, Technical Report of Dept. of Computer Science, UNC Chapel Hill, CS

TR95-020, 1995.

[7] John Vince, Virtual Reality Systems, Addison-Wesley, 1995.

[8] Randy Pausch et al., “Disney’s Aladdin: First Steps Toward Storytelling in Virtual

Reality,” in Proceedings of SIGGRAPH’96, ACM SIGGRAPH, New Orleans, LA, Aug

4-9, 1996, pp.193-203.

[9] Doug A. Bowman and Larry F. Hodges, User Interface Constraints for Immersive

Virtual Environment Applications, Technical Report of Graphics, Visualization, and

Usability Center, Georgia Institute of Technology, GIT-GVU-95-26, 1995.

Page 68: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

56

[10] http://www.vrml.org

[11] http://www.alice.org

[12] http://www.parallelgraphics.com/products/isb

[13] Shi-Kou Chang (ed.), Visual Languages and Visual Programming, Plenum Press,

1990.

[14] Marc A. Najork, “Programming in Three Dimensions,” in Journal of Visual

Languages and Computing, Vol.7, No.2, 1996, pp.219-242.

[15] Ken Kahn, “ToonTalk – An Animated Programming Environment for Children,” in

Journal of Visual Languages and Computing, Vol.7, No.2, 1996, pp.197-217.

[16] Randy Stiles and Michael Pontecorvo, “Lingua Graphica : A Visual Language for

Virtual Environments,” in IEEE Workshop on Visual Languages, IEEE Computer Society

Press, 1992, pp.255-227.

[17] Allen Cypher, Watch what I do : programming by demonstration, MIT Press, 1993.

[18] Henry Lieberman (ed.), Your wish is my command : Programming by Example,

Morgan Kaufmann Publishers, 2001.

[19] Brad A. Myers, Creating User Interfaces by Demonstration, Academic Press, Inc.,

1988.

[20] David Canfield Smith, “KIDSIM : Programming Agents without a Programming

Language,” in Communications of the ACM, Vol.37, No.7, 1994, pp.55-67.

[21] Allen Cypher and David Canfield Smith, “KIDSIM: End User Programming of

Simulations,” in Proceedings of CHI’95, ACM, 1995, pp.27-34.

[22] David Wolber, “Pavlov : An Interface Builder for Designing Animated Interfaces,” in

ACM Transactions on Computer-Human Interaction, Vol.4, No.4, 1997, pp.347-386.

[23] David Wolber, “Pavlov : Programming by Stimulus-Response Demonstration,” in

Page 69: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

57

Proceedings of CHI’96, ACM SIGCHI, 1996, pp.252-259.

[24] David Wolber and Brad Myers, “Stimulus-Response PBD: Demonstrating ‘When’ as

Well as ‘What’,” in Your wish is my command : Programming by Example, Morgan

Kaufmann Publishers, 2001, pp.321-344.

[25] Ben Shneiderman, Foreword in Henry Lieberman (ed.), Your wish is my command :

Programming by Example, Morgan Kaufmann Publishers, 2001, pp. v-vii.

[26] http://www.virtualresearch.com

[27] http://www.polhemus.com

[28] http://www.5dt.com

Page 70: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

감사의 글

에벤에셀!

항상 기도로 저와 함께하신 사랑하는 부모님, 감사합니다!

외할아버지, 외할머니, 그리고 동생 슬비와 다른 모든 가족들에게도 감사의

뜻과 사랑의 마음을 전합니다.

지난 2년 동안 잘 가르쳐 주신 박찬모 교수님과 김정현 교수님, 그리고 이승

용 교수님께 감사의 말씀을 올립니다. 연구 뿐 아니라 교수님들의 모습 속에서

많은 것들을 배웠습니다. 앞으로도 교수님들의 지도와 가르침 잘 받들겠습니다.

2년 동안 한 랩에서, 한 방에서 생활한 창석 형, 재용 형, 그리고 준애에게

축하한다는 말과 고맙다는 말을 하고싶습니다.

대학원 생활 시작 할 때부터 지금까지 많은 도움주신 선배님들 상윤 선배,

남규 선배, 진석 선배, 웅연 형, 재인 형 감사합니다. 그리고, 지금은 랩을 떠나

있는 경하 선배, 성민 형, 의재 형, 우영 형, 덕남 형, 병대 형, 자영 선배에게도

감사의 뜻을 전합니다.

1년 동안 함께하며 여러 가지로 랩 식구들 잘 챙겨준 후배 형들 수연 형, 용

석 형, 동식 형, 정우 형, 그리고 수영, 지혜, 선형, 자연이에게 고맙고, 열심히

잘해서 멋지게 졸업하길 기도합니다.

끝으로 목사님과 교우님들, 승욱 형, 혜상, 효정에게도 감사의 뜻을 전합니다.

Page 71: 가상 환경 내에서의 객체의 행위 모델링 기법gun-a-lee.appspot.com/pub/thesis2002.pdf · 석사 학위 논문 가상 환경 내에서의 가상 객체의 행위 모델링

이 력 서

성 명 : 이 건

생년월일 : 1977년 11월 22일

출 생 지 : 서울특별시

주 소 : 경북 성주군 선남면 명포리 712

학 력

1996.3 - 2000.2 : 경북대학교 자연과학대학 컴퓨터과학과 (B.S.)

2000.3 - 2002.2 : 포항공과대학교 컴퓨터공학과 (M.S.)

발 표 논 문

1. Kyung-Ha Min, Seung-Min Baek, Gun A. Lee, Haeock Choi and Chan-mo Park,

“Anatomically-based modeling and animation of human upper limbs,” in Proceedings of

International Conference on Human Modeling and Animation, Seoul, Korea, 2000.

2. 이동훈, 이 건, 김상욱, “객체 상호간의 행위 관계를 지원하는 저작 도구”, 한

국정보과학회 춘계학술발표회 논문집, 2000, pp. 212-214.