Search

'Program'에 해당되는 글 6건

  1. 2016.02.20 AR (Augmented Reality) : 증강현실
  2. 2016.02.20 VR (Virtual Reality) : 가상현실
  3. 2015.03.22 한약재 쇼핑몰 개발
  4. 2014.12.10 문자열 관련 함수
  5. 2014.12.10 문자열 줄 바꿈

AR (Augmented Reality) : 증강현실

Program 2016. 2. 20. 08:01 Posted by mine4sw


지금 보이고 있는 실사에 가상의 연상을 합성하여 보여주는 것을 말합니다. 가상현실이 모든 것이 컴퓨터에서 조작한 것이라면, 증강현실은 현재 영상에 컴퓨터에서 생성된 것을 합성해 주는 것입니다.


사용자가 눈으로 보는 현실세계에 가상 물체를 겹쳐 보여주는 기술이다. 현실세계에 실시간으로 부가정보를 갖는 가상세계를 합쳐 하나의 영상으로 보여주므로 혼합현실(Mixed Reality, MR)이라고도 한다. 현실환경과 가상환경을 융합하는 복합형 가상현실 시스템(hybrid VR system)으로 1990년대 후반부터 미국·일본을 중심으로 연구·개발이 진행되고 있다.


현실세계를 가상세계로 보완해주는 개념인 증강현실은 컴퓨터 그래픽으로 만들어진 가상환경을 사용하지만 주역은 현실환경이다. 컴퓨터 그래픽은 현실환경에 필요한 정보를 추가 제공하는 역할을 한다. 사용자가 보고 있는 실사 영상에 3차원 가상영상을 겹침(overlap)으로써 현실환경과 가상화면과의 구분이 모호해지도록 한다는 뜻이다. 


가상현실기술은 가상환경에 사용자를 몰입하게 하여 실제환경을 볼 수 없다. 하지만 실제환경과 가상의 객체가 혼합된 증강현실기술은 사용자가 실제환경을 볼 수 있게 하여 보다 나은 현실감과 부가 정보를 제공한다. 예를 들어 스마트폰 카메라로 주변을 비추면 인근에 있는 상점의 위치, 전화번호 등의 정보가 입체영상으로 표기된다. 


원격의료진단·방송·건축설계·제조공정관리 등에 활용된다. 최근 스마트폰이 널리 보급되면서 본격적인 상업화 단계에 들어섰으며, 게임 및 모바일 솔루션 업계·교육 분야 등에서도 다양한 제품을 개발하고 있다.


증강현실을 실외에서 실현하는 것이 착용식 컴퓨터(wearable computer)이다. 특히 머리에 쓰는 형태의 컴퓨터 화면장치는 사용자가 보는 실제환경에 컴퓨터 그래픽·문자 등을 겹쳐 실시간으로 보여줌으로써 증강현실을 가능하게 한다. 


따라서 증강현실에 대한 연구는 착용컴퓨터 개발이 주를 이룬다. 개발된 증강현실시스템으로 비디오방식과 광학방식 등의 HMD(head mounted display)가 있다.


몇 년 전부터 전세계를 휩쓴 스마트폰, 태블릿 PC 열풍이 소비 성향을 비롯해 생활 패턴까지 변화시키고 있다. 그만큼 요즘 IT 기기는 우리의 일상과 대단히 밀접한 관계를 갖고 있다. 그 동안 영화에서나 볼 법한 신기술을 이제는 누구라도 쉽게 사용할 수 있게 되었기 때문이다. 그 대표적인 신기술 중 하나가 바로 ‘증강현실’이다.


인기 만화인 [드래곤볼]에는 안경처럼 눈에 착용하고 상대를 바라보면 그의 전투력 정보와 상대 거리, 위치 등을 실시간으로 보여주는 ‘스카우터’라는 기기가 등장한다. 이것이 증강현실 기술의 대표적인 사용 예다. 현실의 사물에 대해 가상의 관련 정보를 덧붙여 보여주는 것. 이처럼 불과 십 수년 전에는 상상에 머물렀던 미래 기술이 이제 현실로 다가왔다.


증강현실 = 가상현실 ?

그런데 적지 않은 사람들이 ‘가상현실(Virtual Reality, VR)’과 증강현실을 혼동하고 있다. 가상현실은 자신(객체)과 배경·환경 모두 현실이 아닌 가상의 이미지를 사용하는데 반해, 증강현실(Augmented Reality, AR)은 현실의 이미지나 배경에 3차원 가상 이미지를 겹쳐서 하나의 영상으로 보여주는 기술이다. 증강현실은 또한 혼합현실(Mixed Reality, MR)이라고도 하는데, 비행기 제조사인 ‘보잉’ 사에서 1990년경 비행기 조립 과정에 가상의 이미지를 첨가하면서 ‘증강현실’이 처음으로 세상에 소개됐다.


가상현실은 자신과 배경·환경 모두 현실이 아닌 가상의 이미지를 사용하는데 반해, 증강현실은 현실의 이미지나 배경에 3차원 가상 이미지를 겹쳐서 하나의 영상으로 보여주는 기술이다

증강현실과 가상현실은 서로 비슷한 듯 하지만 그 주체가 허상이냐 실상이냐에 따라 명확히 구분된다. 컴퓨터 게임으로 예를 들면, 가상현실 격투 게임은 ‘나를 대신하는 캐릭터’가 ‘가상의 공간’에서 ‘가상의 적’과 대결하지만, 증강현실 격투 게임은 ‘현실의 내’가 ‘현실의 공간’에서 가상의 적과 대결을 벌이는 형태가 된다. 때문에 증강현실이 가상현실에 비해 현실감이 뛰어나다는 특징이 있다.


이 밖에 가상현실은 일반적으로 영화나 영상 분야 등 특수 환경에서만 사용되지만, 증강현실은 현재 일반인들에게도 널리 활용될 만큼 대중화된 상태다. 예를 들어, 인터넷을 통한 지도 검색, 위치 검색 등도 넓은 의미에서는 증강현실에 포함된다. 다만 컴퓨터는 이동 중 사용이 곤란하니 스마트폰이나 태블릿 PC 등의 휴대용 기기를 대상으로 한 증강현실 기술이 주목을 받기 시작한 것이다.


증강현실의 기본 원리

증강현실은 내부적으로 대단히 복잡하고 어려운 영상 기술이지만, 기본적으로는 다음과 같은 원리와 순서로 작동한다. 증강현실 기술을 적용하기 위해서는 몇 가지 필요한 게 있는데, 지리/위치 정보를 송수신하는 GPS 장치 및 중력(기울기+전자나침반) 센서(또는 자이로스코프 센서), 이 정보에 따른 상세 정보가 저장된 위치정보시스템(인터넷 연결 필요), 그 상세 정보를 수신하여 현실 배경에 표시하는 증강현실 애플리케이션, 마지막으로 이를 디스플레이로 출력할 IT 기기(스마트폰, 태블릿 PC) 등이다.


우선 사용자가 (증강현실 애플리케이션 실행 후) 스마트폰 등의 내장 카메라(캠)로 특정 거리나 건물을 비추면 GPS 수신기를 통해 현재 위치의 위도/경도 정보, 기울기/중력 정보 등이 스마트폰에 임시 기록된다. 그런 다음 이 GPS 정보를 인터넷을 통해 특정 위치정보 시스템에 전송한다. 해당 위치 반경의 지역이나 건물의 상세 정보를 모두 스마트폰에 저장하기가 현실적으로 불가능하기 때문이다.


사용자로부터 위치/기울기 등의 GPS 정보를 수신한 위치정보시스템은 해당 지역 또는 사물의 상세 정보를 자신의 데이터베이스에서 검색한 후 그 결과를 다시 스마트폰으로 전송한다. 여기에는 물론 특정 건물의 상호, 전화번호 등이 들어 있다. 이 데이터를 수신한 스마트폰은 증강현실 애플리케이션을 통해 현 지도 정보와 매칭시킨 후 실시간 화면으로 보여주는 것이다. 위의 데이터 송수신 단계는 지속적으로 유지, 수행되므로 스마트폰을 들고 거리를 지나면 해당 지역 및 주변에 대한 상세 정보가 순차적으로 화면에 나타나게 된다.


전투기 FA-18의 조종석에 적용된 HUD(Head-up display) 역시증강현실의 한 예다.


게임에 적용된 증강현실의 예.

스마트폰을 통한 증강현실 체험

스마트폰 사용자라면 증가현실 기능을 활용해 색다른 경험을 할 수 있다. 예를 들어, 친구가 보고 있는 책의 자세한 정보가 궁금하다면 스마트폰 내 증강현실 애플리케이션을 실행한 다음, 카메라 화면으로 책 표지를 비추거나 셔터로 찍으면 된다. 그러면 해당 애플리케이션이 이 화면 정보를 읽어 들여 인터넷 데이터베이스 등에서 책 제목과 저자, 출판사, 서평 평점, 가격 등을 화면에 보여준다. 따라서 당연히 3G/4G 이동통신 또는 와이파이로 인터넷 접속이 가능한 상태여야 한다. 희귀서가 아닌 이상 대부분의 책 정보를 볼 수 있다.


위와 같이 책 정보를 알았고 구매하기로 마음 먹었다. 인터넷으로 주문할 수도 있지만 아무래도 인근 서점을 찾아 직접 훑어 보고 구매하려 한다. 이때는 증강현실을 이용한 지도 검색 애플리케이션을 활용하면 된다. 스마트폰 또는 태블릿 PC의 GPS 정보를 수신하여 현재 자신의 위치를 파악한 후 가장 가까운 거리에 있는 서점을 찾아 주기 때문이다.


증강현실 애플리케이션을 실행한 다음, 카메라 화면으로 책 표지를 비추거나 셔터로 찍으면 책의 정보를 알 수 있다(왼쪽). 증강현실을 이용한 지도 검색 애플리케이션을 활용하면, GPS 정보를 수신하여 가장 가까운 거리에 있는 서점을 찾아 준다(오른쪽).

아울러 인근 서점까지 가는 방법도 증강현실 애플리케이션을 통해 자세히 안내 받을 수 있다. 자동차 이동 경로나 대중교통 탑승·환승 정보는 물론, 도보 이동 시 가상 내비게이션 기능도 제공까지 제공된다. 즉 스마트폰 카메라를 길거리를 비추면 증강현실 애플리케이션이 가는 방향을 가상의 화살표 등으로 표시해 준다.


이제 인근 서점에서 책을 구매했으니 조용한 카페에 들러 천천히 읽고 싶다. 주변에 괜찮은 카페가 있는지도 증강현실 애플리케이션을 통해 확인할 수 있다. 마찬가지로 스마트폰 카메라로 거리를 비추면 건물 및 상호 정보가 화면 위에 자동으로 표시된다. 역시 원하는 카페까지 걸어가는 경로를 화살표 등으로 표시하니 따라가면 된다.


증강현실 애플리케이션을 통해 길거리를 비추면 증강현실 애플리케이션이 목적지까지 가는 방향을 가상의 화살표 등으로 표시해 준다.

위의 사례는 스마트폰 사용자라면 지금 이 순간에도 언제 어디서든 즉시 체험할 수 있는 증강현실의 가장 일반적인 형태다. 이 같은 실생활뿐 아니라 증강현실 기술이 적용되는 분야는 매우 다양하다. 특히 요즘에는 광고·홍보 분야에서도 각광을 받고 있다. 자사의 제품에 가상의 이미지를 씌워 독특한 분위기를 연출할 수 있기 때문이다. TV 방송 분야에도 적극 활용되고 있다. 기상 캐스터 뒤로 보이는 가상 기상도, 정보 그래프 등이 대표적인 예다. 이후 가상 디스플레이 기술, 3D 입체 영상 기술 등이 더욱 발전하면 증강현실이 적용될 수 있는 사례는 대단히 넓어지게 될 것이 분명하다.


진보하는 증강현실 기술

2014년 기준 우리나라 스마트폰 사용자는 4,000만 명을 넘어섰다. 이에 따라 증강현실 기술을 기반으로 하는 산업군이 더욱 활발하게 움직일 것으로 예측된다. 외국의 시장조사업체인 주니퍼 리서치(Juniper Research)는 ‘증강현실 시장이 2014년까지 7억 달러 이상의 규모로 성장할 것’이라고 예상한 바 있다. 이런 규모로 성장한다면 머지 않아 스마트폰의 한계를 벗어난 새로운 형태의 증강현실 기술이 탄생할 수도 있을 것으로 보인다.


국제 학술 콘퍼런스인 ‘TED’에서 공개된 ‘식스센스(Six-sense)’라는 기기가 근미래 증강현실의 청사진을 정확하게 보여주었다는 평가로 화제가 됐다. 이 기기는 스마트폰 정도의 크기에 빔프로젝터 기능이 있어 공간에 영상을 투사하거나, 주변의 사진 또는 영상을 받아 들여 그에 해당하는 상세 정보를 보여준다. 이후 양손가락으로 이 화면을 제어할 수 있어 허공에서 마치 터치스크린을 조작하는 듯한 움직임이 가능하다. 영화 ‘마이너리티 리포트’의 한 장면을 연상케 하는 고도의 증강현실 기술이다. 말마따나 영화에서 보던 기술이 점차 현실이 되고 있는 것이다.


최근 공개된 ‘식스센스’라는 기기의 예. 공간에 영상을 투사하여 정보를 보여주며, 양손가락으로 화면을 제어할 수 있다

이후 증강현실 기술을 활용한 기기로 가장 주목 받은 것이 구글 글래스다(Google Glass). 구글이 시범적으로 개발, 공개한 이 스마트 안경은 일반 안경처럼 눈에 착용하며, 스마트폰처럼 구글 안드로이드 운영체제가 내장되어 안경을 통해 인터넷 검색이나 사진 촬영, 길 안내, SNS 사용 등이 가능하다. 구글 글래스는 기본적으로 음성 명령으로 작동하며, 한쪽 렌즈에 화면 출력용 프리즘에 장착돼 있어 사용자 눈 앞으로 약 25인치 크기의 가상 화면이 나타난다.


구글이 공개한 구글 글래스는 증강현실 기술이 적용된 대표적인 스마트 기기다

한편 증강현실 기술로 인한 맹점도 배제할 수 없다. 일상 생활을 편리하고 윤택하게 하는 건 확실하지만, 가상 세계에 완전히 매혹되어 현실과 가상을 구분하지 못하는 상황이 발생할 수도 있다. 컴퓨터 온라인 게임에 빠져 정상적인 생활을 영위하지 못하는 경우와 비슷하다. 이외에 현재까지의 증강현실 기술은 다분히 광고형·홍보형 콘텐츠에 집중되고 있기 때문에 향후에도 단발적인 관심끌기 위주로만 흘러가지 않을까 하는 우려도 없지 않다.


또한 증강현실 기술이 사용자에게 적용될 경우 개인 정보가 무분별하게 노출될 수 있다는 지적도 있다. 서두에서 예로 든, [드래곤볼]의 스카우터처럼 상대방의 의사와는 무관하게 개인 정보가 쉽게 노출된다면 그로 이한 심각한 문제가 발생할 수 있기 때문이다. 따라서 언제나 그렇듯 신기술을 개발·개선함과 동시에 그에 따른 잠재적인 부작용 등도 다각도로 예측, 분석하여 사용자에게 피해가 없도록 해야 할 것이다.

'Program' 카테고리의 다른 글

VR (Virtual Reality) : 가상현실  (0) 2016.02.20
한약재 쇼핑몰 개발  (0) 2015.03.22
문자열 관련 함수  (0) 2014.12.10
문자열 줄 바꿈  (0) 2014.12.10
스프링 프레임워크  (0) 2014.10.23

VR (Virtual Reality) : 가상현실

Program 2016. 2. 20. 07:47 Posted by mine4sw



특수한 안경과 장갑을 사용하여 인간의 시각, 청각 등 감각을 통하여 컴퓨터의 소프트웨어 프로그램 내부에서 가능한 것을 현실인 것처럼 유사 체험하게 하는 유저 인터페이스 기술의 하나. 말 그대로 현실이 아닌 세계를 말한다. 


예를 들어 가상 현실의 하나인 가상 쇼핑을 인터넷에서 어떻게 구현되는지 알아보면 다음과 같다. 현재의 웹 서비스가 애니메이션과 디지털 무비를 지원한다 해도 2차원 형태의 화상 정보로는 한계가 있다. 실제로 웹 서비스를 이용하여 전자 쇼핑을 한다고 할 때 구입하려는 물품의 목록과 사진, 가격을 확인하도록 해줄 뿐 실제로 매장 안을 걸어다니며 각 상품을 즉흥적으로 골라서 볼 수 있는 3차원적인 기능을 영화 속에서나 기대해볼 만한 것이다. 

하지만 웹에서도 이러한 3차원적인 효과를 제공하는 서비스들이 하나둘씩 생겨나고 있다. VRML(virtual realitymodelling language)을 지원하는 웹 사이트들이 그것인데, 전자 쇼핑을 예로 들 경우, 마치 3D 게임에서 건물 안을 자유롭게 돌아다니면서 마음에 드는 매장에서 마음에 드는 제품을 선택하여 보고, 전자적으로 대금을 결제할 수 있는 가상 현실적인 서비스가 가능하다. 즉, 컴퓨터에서 현실을 가상으로 구현한 것으로 앞으로 소프트웨어 기술이 향상되면서 그 성능이 보다 향상될 것으로 보인다.



가상현실은 경험 중심적 관점에서 지각하는 자가 원격현전을 경험하게 해 주는 시뮬레이션 환경으로 정의될 수 있는데, 이런 점에서 첨단의 테크놀로지를 활용하는 몰입형 가상현실 이외에 모든 미디어가 가상현실이라고 할 수 있으며, 따라서 그 역사도 아주 길다. 현대적인 가상현실 기술들은 다분히 군사적 기원을 갖는다. 입력장치와 출력장치로 구분될 수 있는 가상현실 시스템을 통해 경험하게 되는 원격현전은 기술적 요인과 이용자 요인에 의해 결정되는데, 특히 기술적 요인으로는 크게 생동감과 상호작용성을 들 수 있다. 가상현실 시스템이 등장하면서 다양한 형이상학적 질문들이 새롭게 제기되고 있다.



1. 가상현실의 개념


가상현실(virtual reality, VR)은 군사, 오락, 의료, 학습, 영화, 건축설계, 관광 등 다양한 분야에 활용되면서 공상과학 소설이나 영화에서 묘사되는 상상적 단계를 벗어나 점차 현실화되고 있다. '가상현실'이란 용어는 1989년 재론 래니어(Jaron Lanier)에 의해 고안되었지만, 그것을 지칭하는 개념이나 시스템은 기술 중심적 입장, 경험 중심적 입장, 그리고 사이버 문화적 입장 등에서 다양하게 정의되어 왔다.


먼저 기술 중심적 정의는 "이용자가 현실과 같은 3차원 상황 속에서 상호작용할 수 있도록 해 주는 투구형(head-mounted) 고글(goggle)과 망으로 연결된 의상을 통해 경험하게 되는 전자적인 환경 시뮬레이션"(Coates, 1992)과 같이 필수적인 테크놀로지의 존재 여부에 중점을 둔다. 이와 달리 경험 중심적 입장의 스토이어(Steuer, 1992)는 가상현실을 "지각하는 자가 원격현전(遠隔現前, telepresence)을 경험하는 실재적 또는 시뮬레이션된 환경"이라고 정의한다. 또 하임(Heim, 1993)은 "참여자가 수신한 정상적인 감각 입력을 컴퓨터가 산출한 정보와 대치시킴으로써, 참여자가 실제로 다른 세계에 있다고 확신하도록 하는"(Heim, 1993/1997, pp.234~235) 것을 가상현실이라고 정의한다.

한편 사이버 문화적 입장의 힐리스(Hillis, 1996)는 가상현실을 "육체를 초월하고자 하는 욕망을 실현시켜 주는 기계", 즉 "현실세계에 '필적(parallel)'하는 탈육체화된, 그리고 점진적으로 네트워크화되고 있는 시각적 '세계', 즉 사이버스페이스에 접근할 수 있는 기술적 수단"으로 규정한다. 이것의 핵심적인 모티브는 육체 이탈(disembodiment)의 욕망이다.


흔히 가상현실(Virtual Reality)은 사이버 공간(cyberspace)에서 체험되는 현실을 가리킨다. 그래서 사이버 공간을 가상공간(virtual space)이라고도 부른다. 사이버 공간이란 컴퓨터 테크놀로지에 연관되어 사람들이 서로 의사소통할 수 있는 상징적인 공간이다.


이때 상징적인 공간이라고 하는 것은, 그것은 우리가 사는 세계와 같은 물리적인 공간은 아니라는 의미에서이다. 어떤 의미에서의 가상현실이 실현되는 공간이 가상공간이라고 할 수 있다. 그렇지만 가상현실이 체험되는 상징적인 공간이 바로 사이버 공간과 동일하지는 않다. 흔히 사이버 공간은 컴퓨터가 매개로 하여 만들어진 환경을 의미하는데 가상현실은 컴퓨터를 매개로 하지 않고도 구축될 수 있기 때문이다. 물론 오늘날의 가상현실은 컴퓨터가 매개로 하는 사이버 공간에서 경험되는 것이 보편적이다.


사실상 ‘가상현실’이라는 말과 ‘사이버 공간’이라는 말은 각기 다른 연원을 가지고 있다. 또한 ‘가상현실’과 유사한 ‘인공현실’이라는 말도 있다. 이런 말들의 기원과 그 관계에 대해 간략히 살펴보겠다.


‘가상현실’이란 얼핏 보기에는 모순되는 말인 것처럼 보이지만 그 의미를 자세히 고려해 보면 그렇지 않다. 웹스터 사전에 의하면, 가상적(virtual)이란 “본질적으로 결과적으로는 존재하지만 형상적으로는 인지되거나 인정되지 않는(being in essence or effect though not formally recognized oradmitted)”을 의미한다.


현실(reality)이란 “실제적인 사건, 존재자, 또는 사태(a real event, entity, or state of affair)”를 의미한다. 이것을 결합시키면, ‘가상현실’이란 “결과적으로는 실재하나, 사실적으로는 그렇지 않은 사건이나 존재자이다.” 가상현실은 실제현실(actual reality)과 대조되는 개념이다.1) 실제현실은 우리가 일상적으로 실제적으로 존재한다고 알고 있는 우리가 살고 있는 이 세계를 의미한다.


컴퓨터의 등장과 함께 ‘가상적’이라는 말이 컴퓨터의 정보 처리와 관련되어 사용되기 시작했다. 컴퓨터의 주 기억장치(main memory)의 용량이 부족할 때 하드 디스크의 보조기억장치를 램처럼 이용할 때 가상기억장치(virtual memory)라는 말을 사용한다. 이 의미도 위의 사전적인 의미에서 크게 벗어나지 않는 것을 알 수 있다. 즉 가상기억장치에서의 가상은 실제 기억장치가 아닌데, 단지 그것과 동등한 기능을 하는 것에 불과하다.


‘가상현실’이라는 말 자체는 재즈 음악가인 레이니어(Jaron Lanier)가 1986년 처음으로 사용하였다. 그는 Visual Programming Languages라는 회사를 차리고 기존의 언어나 기호 이외의 의사소통 기구를 만들려고 했다. 그래서 그는 데이터 장갑, 헤드 마운티드 디스 플레이(Head Mounted Display; 이하 HMD라고 칭함), 데이터 옷 등의 기구들을 제작했다.


그는 그것들을 1987년 “두 사람을 위해 제작된 실재(a reality-built-for-two)”라고 하는 것에 통합시켰다. 그에게 가상현실이란 상상을 서로 공유하며 상호 표현할 수 있는 시각적이고 청각적인 세계였던 것이다. 즉 그의 가상현실의 핵심은 같은 장소에 있지 않은 사람들이 동일한 공간 내에서 서로 의사소통할 수 있는 인공적인 세계에 거주하며 실재를 즉흥적으로 만들어 내는 것이었다.2)


한편 크뢰거(Myron W. Krueger)는 ‘인공현실(artificial reality)’이라는 말을 처음으로 도입하였다. 그는 레이니어의 ‘가상현실’의 시도 이전에 ‘추상적인 패턴과 인식할 수 있는 표상 사이를 오가는 환경’을 만드는 데에 관심을 가졌다. 그의 인공현실은 신체의 움직임을 카메라로 추적하여 그것을 동영상으로 벽에 투사시키며, 그 벽에 신체의 움직임들과 관련되는 다른 전자 이미지들이 보여지는 그런 방에서 실현된다.


그는 컴퓨터 사용자 인터페이스가 컴퓨터를 보다 쉽게 사용하기 위해 컴퓨터에만 설치되어 온 것에 주목했다. 그리고 컴퓨터가 아니라 인간이 직접 그 인터페이스가 될 수 있을 것이라고 생각했다. 만약 그렇게 된다면 그는 그 인터페이스가 인간의 신체와 감각에 적합하게 고안되어야 한다는 것이다. 그것이 실행에 옮겨진 것이 바로 인공현실이라는 인터페이스이다. 그중의 대표적인 것은 미국 코네티컷 주의 자연사 박물관에 있는 비디오플레이스이다.


서로 다른 방에 들어간 방문객들이 각자의 손으로 같은 그림을 그릴 수 있으며 장난칠 수도 있다. 그들은 체조도 할 수 있고 기타 다른 행동들도 경험할 수 있다. 그가 인공현실이라는 단어를 쓰게 된 이유는 이 인터페이스가 만들어 내는 상호 작용적인 환경들을 실제적인 경험처럼 받아들이게 하는 데에서 붙여진 것이다.


마이클 헤임은 기술적인 측면에서 가상현실과 인공현실의 차이를 다음과 같이 요약하고 있다. “가상현실에서는 데이터 글로브, 데이터 고글 또는 아이폰, 6차원의 추적 장치 등을 인간의 신체에 부착하여 하나의 현실감을 느끼게 하는 데 반하여, 인공현실에서는 하나의 커다란 방에 비디오를 사용하여 화면을 보이고 그에 따른 인간의 반응을 추적한다.


또한 인간의 반응에 따라서 비디오의 내용도 바뀐다. 이러한 장치를 비디오 플레이라 한다.”3) 그런데 가상현실, 인공현실이라는 기술 장치는 우리에게 현실세계에서 체험하는 것과 기능적으로 동등한 체험을 제공하는 것을 목표로 하고 있다. 그런 점에서 본다면 레이니어의 ‘가상현실’과 크뢰거의 ‘인공현실’의 시도는 의사소통이 가능할 만큼 실재감을 느낄 수 있는 인공적인 환경을 구축하는 두 가지 다른 방식으로 볼 수 있다.


헬멧과 글로브를 착용하는 레이니어의 기술 장치는 HMD 방식이며, 비디오 플레이에 의한 크뢰거의 기술 장치는 VROOM 방식, 혹은 CAVE 방식이라고도 한다. 후자는 처음에 벽면에 형상을 투사하던 것을 천장까지 확장하는 프로젝션 룸을 사용하는데까지 발전했다. 헤임은 레이니어의 방식을 터널(Tunnel) 방식이라고도 한다. 데이터 고글을 끼게 되면 마치 터널 속에 들어온 것처럼 체험자는 주변적인 인식을 무시하고 고글 안에서 볼 수 있는 것을 고정화시키는 것으로 나아가기 때문이다. 그리고 그는 후자를 나선(Spiral) 방식이라고 한다.4)


이 두 가지 방식 이외에도 우리에게 실제적인 경험을 제공해 주는 다른 기술 장치도 가능할 것이다. 네트워크와 연결된 컴퓨터도 또한 우리에게 실재감을 주는 하나의 기술 장치이다. 이것은 가상현실의 환경에 등장하는 사물들과의 상호 작용을 넘어서 타인과의 상호 작용을 가능하게 한다. 또 다른 가능한 인간의 뇌에 직접 꽂는 신경 플러그 같은 것이다. 그런 것은 <매트릭스>와 같은 공상과학 영화에서나 볼 수 있는 것으로 실제로 과학자들은 그런 것을 심각하게 고려하고 있지는 않다고 한다. 우리의 뇌와 신경 체계에 대해 아직은 충분히 알고 있지 못한 탓이다.


애초에 레이니어가 가상현실이란 말을 주조했을 때, 그것은 상호 작용적인 인공 환경을 구축하는 특정한 기술 장치로 주로 이해되었다. 그러나 그가 가상현실을 만든 목적을 생각한다면 그것을 우리에게 실재감을 주는 상호 작용적인 인공 환경 자체를 가리키는 것으로 이해하는 편이 더 나은 것 같다.


그가 HMD 등의 의사소통의 기구를 만든 것을 상호 소통이 가능한 인공적인 환경을 구축하는 목적을 가지고 있었기 때문이다. 그리고 그런 목적을 위해 다양한 기술 장치가 될 수 있으므로, 가상현실을 애초에 레이니어가 사용한 기술 장치에 국한시키지 않을 것이다. 헤임이 지적한 대로 필자는 가상현실 혹은 인공현실이라는 개념을 기술 장치로서가 아니라 인공적이며 상호 작용할 수 있는 원격현전의 총체적 환경을 지칭하는 것으로 이해할 것이다.


레이니어의 ‘가상현실’, 크뢰거의 ‘인공현실’과 유사한 목표를 가지는 것으로서 MIT 연구소에서는 가상 환경(virtual environment), 미국의 군사연구 기관에서는 종합적 환경(synthetic environment)이라고 불리는 프로젝트가 있었다. 이런 시도들은 그 이름과 그것을 실현하는 기술적인 방식에 차이가 나지만 우리에게 실제 현실을 방불케 하는 경험을 제공하려는 인공적인 환경을 조성한다는 공통점을 가지고 있다. 이제부터 필자는 가상현실을 단지 레이니어가 구축한 인공적인 세계뿐 아니라 ‘인공현실’, ‘가상환경’, ‘종합적 환경’ 등을 총칭하는 개념으로 사용하겠다. 그리고 그것을 구축하는 방식에는 여러 가지가 가능하다고 전제하겠다.



2. 가상현실 시스템의 기원과 출발


일반적으로는 1940년대 미국의 공군과 항공산업에서 개발한 비행 시뮬레이터(flight simulator)가 가상현실의 역사적 효시로 알려지고 있다. 1930년 자신의 장치를 특허 낸 이후 지속적으로 이를 연구, 개발해 온 에드윈 링크(Edwin Link) 연구팀은 바네바 부시(Vannevar Bush)의 수학 모델을 응용해 2차 세계대전 기간에 최초의 비행 시뮬레이션을 완성하였다.


1950년대 이후 할리우드 영화 또한 가상현실 기술의 개발에 커다란 기여를 해 왔다. 1950년대 중반 에드윈 랜드(Edwin Land)는 3차원 이미지를 구현하는 컬러 영화를 개발, 이는 1954년 와이드 스크린 시네마스코프로 이어졌다. 이와 비슷한 시기인 1956년 모튼 하일리그(Morton Heilig)는 '센소라마 시뮬레이터(Sensorama Simulator)'를 개발하는데, 이것은 3차원 이미지, 입체 음향, 냄새 등을 이용해 신경체계를 자극 내지 시뮬레이션하는 오락 장치였다.


'가상현실의 아버지'라 불리는 이반 서덜랜드(Ivan Sutherland)는 미국 국방성 고등연구프로젝트국(DoD's Advanced Research Project Agency, DARPA)에서 연구해 왔는데, 1965년 "궁극적 디스플레이(The Ultimate Display)"라는 논문을 발표하였다. 이 개념은 가상현실에 대한 연구와 개발의 방향을 예견하는 것으로서, 궁극적 디스플레이라는 공간 속에서 컴퓨터는 사물의 존재를 통제할 수 있게 된다는 것이었다. 1968년 그는 "투구형 3차원 디스플레이(A Head-Mounted Three Dimensional Display)"라는 논문을 통해 HMD(head-mounted display)를 구상하는데, 이는 두 개의 작은 CRT(cathode-ray tube)를 통해 이용자의 두 눈을 둘러쌈으로써 입체적인 영상을 제공하고자 하는 것이었다.


'가상현실'이란 용어를 고안한 재론 래니어는 데이터 장갑, 즉 DataGloveTM를 개발하여 실제 가상전쟁 시스템에 활용할 수 있도록 발전시키기도 하였다. 이것은 가상의 팔과 손을 사이버스페이스 속으로 확장시켜주는 것으로서, 가상세계의 제 차원들을 인간 내부의 지각 과정 속에 위치지을 수 있게 되었음을 의미하는 것이다.



3. 가상현실의 기술과 장치들


이제까지 개발된 가상현실 시스템들은 창문형 시스템(window systems), 거울형 시스템(mirror systems), 탑승형 시스템(vehicle-based systems), 동굴형 시스템(cave systems), 몰입형 시스템(immersive virtual reality systems), 그리고 증강현실 시스템(augmented reality systems)이 있는데 이 중에서도 몰입형 가상현실 시스템을 대표적으로 살펴본다.


이들 시스템은 출력 장치(output devices)와 입력 장치(input devices)로 구분된다. 먼저 출력 장치란 가상현실 시스템의 사용자들이 감각 채널들을 통해 시각, 청각, 촉각, 움직임 등을 지각하게 해 주는 장치들인데, 이에는 시각 디스플레이 장치, 청각 디스플레이 장치, 촉각 피드백 장치, 그리고 힘 및 움직임 피드백 및 디스플레이 장치들이 포함된다. 시각 디스플레이(visual display) 장치 중 대표적인 하드웨어는 투구형 디스플레이, 즉 HMD인데, 이것은 가상현실의 아버지라 불리는 이반 서덜랜드가 1965년 처음 개발한 이후 발전을 거듭하고 있는 최신의 영상디스플레이 장치다. 그리고 청각 디스플레이 장치로는 헤드폰이 HMD와 결합되어 폭넓게 사용되고 있다.


세 번째 촉각 디스플레이(haptic/tactile display) 장치는 가상현실 시스템 사용자에게 표면 질감(surface texture)이나 무게와 같은 촉각 감응을 제공(feedback)함으로써 가상의 물체를 '실재적인 것'으로 느끼게 하고자 한다. 네 번째로 힘 피드백 장치(force feedback devices)는 어떤 대상에 힘을 가했을 때 근육과 관절을 통해 느끼는 반발력(force resistance)과 같이, 물체가 주는 힘이나 압력에 대한 피드백을 통해 보다 많은 현전감을 느끼게 한다. 다섯 번째로 전신 움직임(whole body movement) 디스플레이 장치는 사용자가 가상 세계에서 넓은 공간을 움직인다는 느낌을 시뮬레이션해 준다.


한편 가상현실 시스템이 강한 현전감을 부여하기 위해서는 먼저 컴퓨터가 사용자의 공간 내 위치와 신체 움직임을 감지할 수 있어야 한다. 이를 가능케 하는 입력 장치로는 각각의 신체 움직임에 대응하는 데이터 글로브·위치추적기와 같은 신체 움직임 입력 장치, 음성인식 장치, 그리고 EMG(Electromyography; 골격근의 움직을 전기적으로 기록하고 평가하는 기술), EKG(Electrokardiogramm; 흉부에 부착하여 심장의 움직임을 전기적으로 해석하는 기술), EEG(Electroencephalography; 두부에 기계를 장착하여 뇌의 움직임을 전기적으로 기록하는 기술)와 같은 생리심리상태 입력 장치 등이 포함된다.


첫 번째 차원은 공간 내 사용자 신체의 위치와 방향을 입력하는 것으로서, 이에는 보통 위치 추적기(position tracker)가 사용된다. 사용자의 머리, 손, 기타 신체 부위의 위치를 감지하는 추적 방식으로는 기계 방식, 광학 방식, 자기 방식, 음파 방식 등이 사용된다. 두 번째 차원은 손, 팔, 머리, 다리, 상체 등의 움직임을 감지하는 것으로 이를 위한 장치로는 위에서 언급한 위치 추적기 이외에 출력 장치로도 활용되는 외재 골격대(exoskeletons), 데이터 글로브(data gloves), 데이터 슈트(data suits) 등이 있다. 세 번째 차원은 얼굴 표정과 안구 움직임을 감지하는 것으로 외재 골격대, 전자 근운동기록장치(EMG) 등과 같은 장치들이 사용된다. 네 번째로 음성 및 오디오 입력(voice/audio input) 장치, 그리고 다섯 번째로 촉각 입력 장치 중의 하나인 3D 마우스가 있다.



4. 가상현실의 특징과 원리


가상현실이 추구하는 목표는 이용자로 하여금 원격현전(telepresence)을 경험하도록 하는 것이다. 원래 현전(presence)은 '어떤 환경 속에서 느끼는 실재감(sense of being)'을 뜻하는데, 이런 점에서 원격현전은 "커뮤니케이션 매체에 의해 어떤 환경 속에 실재하고 있음을 경험하게 되는 것", 즉 환경에 대한 매개된 지각(mediatedperception)이라 할 수 있다(Steuer, 1992, pp.75~76).


원격현전의 개념은 다양한 요소들을 포함하고 있다. 첫째는 사교적 풍부성(social richness)으로 미디어를 통해 상호작용할 때 사교적이거나 친밀하다고 느끼는 정도를 말한다. 둘째는 현실감(realism)으로 미디어가 얼마만큼 실재하는 대상, 사건, 사람 등을 실재하는 것처럼 표상해 낼 수 있는가를 말한다. 셋째는 이전(transportation)으로 이용자에게 다른 어떤 곳에 존재하는 것과 같은 느낌을 준다는 것이다. 넷째는 몰입(immersion)으로 이는 매체에 의해 가상 환경 속에 빠져들어 있다는 느낌을 갖게 되는 것으로, 지각적 몰입(perceptual immersion)과 심리적 몰입(psychological immersion)의 두 가지를 포함한다. 다섯째는 매체 내 사회적 행위자(social actorwithin medium)로 이는 매체 속의 인물이나 대상과 상호작용을 하는 것처럼 느끼게 되는 경우를 말한다. 마지막으로 여섯째는 매체가 사회적 행위자(medium as social actor)가 되는 경우인데 매체 내의 사회적 행위자에게 반응하는 것이 아니라 매체 자체가 행위자처럼 이용자와 상호작용하게 될 때 이용자는 현전감을 느끼게 된다는 것이다.


이러한 가상현실의 근본적인 과제는 커뮤니케이션 매체와 육체를 어떻게 결합시키느냐 하는 것에 있다(Biocca, 1997). 즉 테크놀로지와 육체의 완전한 결합, 즉 합체(embodiment)가 가상현실, 나아가 커뮤니케이션 테크놀로지의 최종 목표인 셈이다.



5. 가상현실을 둘러싼 쟁점


몰입(immersion)이라는 경험적 속성을 갖는 가상현실은 기존의 다른 미디어들과 달리 그림에서 장소로, 관찰에서 경험으로, 사용에서 참여로, 인터페이스에서 거주(inhabit)로 패러다임 전환(paradigm shift)을 초래하고 있다. 먼저 가상현실은 아리스토텔레스 이후 지속되어 온 '실재(reality)'란 무엇인가, 물리적 실재와 가상적 실재의 구분이 경험적으로 힘들어질 경우 궁극적으로 '실재'를 규정해 온 존재론적 범주들은 여전히 유효한가 등의 철학적 문제들을 제기한다. 또한 이런 기술이 실험실을 떠나 오락 기기나 인터넷 등을 통해 일상적 차원에 응용되기 시작하면서 죄의식으로부터 자유로운 비윤리적 행위를 하게 만든다는 문제도 제기되고 있다.



6. 사이버 공간


가상현실과 연관되어 사용되는 사이버 공간은 다음과 같은 연원을 가지고 있다. ‘사이버(cyber)’라는 용어는 사전에 존재하는 접두어가 아니다. 그것은 사이버네틱스(cybernetics)라는 단어의 줄임말로 생각되는데 그 단어의 뜻은 배의 키를 잡는다는 것이다. 여기서 ‘조종한다’는 의미가 파생되었고, ‘통치한다’라는 의미로 확정 되었다고 한다.


미국의 수학자 노버트위너가 ‘사이버네틱스’라는 말을 현대적 의미로 되살렸다고 한다. 그는 정보의 소통에 관한 새로운 통합학문을 설립하고 이것을 ‘사이버네틱스’라고 명명했다. 그것은 ‘정보의 소통을 통한 조종과 통제의 학문’을 의미했다. ‘사이버네틱스’와 유기체(organism)가 결합된 말인 ‘사이보그(cyborg; cyberorganism)’는 인조인간으로 번역되는데 그것은 사이버네틱스의 원리에 따라 제작된 기계-유기체를 의미한다.


이후 사이버네틱스의 사이버가 접두어처럼 사용되어 인공두뇌라는 의미로 정착되기 시작한다. 컴퓨터가 인공두뇌의 가능성을 부분적으로 실현함으로써 이제 ‘사이버’라는 말은 컴퓨터의 개발 및 이용과 관련된 현실의 변화를 의미하게 된다. 나아가 사이버 공간이라는 말은 ‘사이버’와 컴퓨터라는 새로운 정보처리 기계를 넘어서서 컴퓨터 통신망이라는 새로운 정보소통 기계와 결합되게 된다.5)


‘사이버 공간(cyberspace)’이라는 말은 공상과학 소설가인 윌리엄 깁슨(William Gibson)이 1984년 『뉴 로맨서(New Romancer)』에서 처음 사용한 말이다. 그의 소설은 사이버 공간이라는 영역을 배경으로 전개된다. 사이버 공간이란 컴퓨터로 인해 생성된 공간을 가리킨다. 그것은 우리가 살고 있는 물리적 공간은 아니다. 그것은 인간의 신경과 컴퓨터가 연결된 결과 ‘합의에 의한 환상(Consensual Hallucination)’이라는 것을 뜻했다.


이것은 컴퓨터가 만들어 내는 어떤 경험의 세계를 비유적으로 표현한 것이다. 그 세계는 나만이 아니라 다른 사람들도 있고 그들과 상호 작용을 한다는 느낌을 갖는다. 그런 활동의 공간은 실제 물리적인 공간이 아니라, 컴퓨터를 매개로 하는 어떤 환경으로서 활동의 영역으로서 간주할 수 있다는 것이다. 그것은 한 개인의 경험뿐 아니라 공적으로 합의에 의해 인정되는 세계이므로 주관적인 환영의 세계는 아니다. 그렇지만 사이버 공간이라는 것이 실제 세계의 공간과 같이 실제적인 대상이 존재하는 그런 공간이 아니라, 단지 다른 대상과 타인의 존재를 인식할 수 있는 환경을 의미한다.


사이버 공간이라는 것이 애초에 무엇을 의도했다 하더라도 이제 컴퓨터와 관련된 기술의 발달은 그 기능과 역할의 확대를 기대하게 한다. 그러므로 애초 그 단어의 개념, 즉 컴퓨터에 의해 합의에 의한 환상을 산출하여 공간에 한정할 필요는 없을 것 같다. 베네딕트에 의하면, 사이버 공간은 “가상현실”, “데이터 시각화”, “그래픽 유저 인터페이스”, “네트워크”, “멀티미디어”, “하이퍼 그래픽”과 오늘날 컴퓨터 기술에 관련된 다른 발전물들과 다 연관되어 있다고 주장한다.


“사이버공간은 [위에서 나열한] 이 모든 것과 연관되어 있다. 이것 이외에도 어떤 의미에서 ‘사이버 공간’은 그 모든 것을, 그리고 그것들의 항목하에서 이루어지는 많은 작업을 포함한다. 하나의 프로젝트로서 그리고 하나의 개념으로서 사이버 공간은 이런 구분되는 프로젝트들을 하나로 집합시키는, 즉 말하자면, 하나의 공통된 목표에 그것들을 집중시키는 능력을 가지고 있다는 것을 실로 나는 단언하고 싶다.”6)


그리하여 그는 사이버 공간의 개념을 다음과 같이 확대시킨다. “사이버 공간은 전체적으로 네트워크와 연결되어 있으며, 컴퓨터에 의해 지원되고 컴퓨터로 접근 가능하며, 컴퓨터에서 발생한 것이며, 다중차원적이고, 인공적이거나 ‘가상적인’ 현실이다. 모든 컴퓨터가 하나의 창이 되는 이 현실속에서 보이거나 들리는 대상들은 물리적이지 않으며, 필연적으로 물리적 대상들의 표상들도 아니다. 그것은 데이터, 순수 정보로 만들어진 특성과 행위이다. 이 정보는 부분적으로 자연적인 물리적 세계의 조작으로부터 나오지만, 대부분 그것은 과학, 예술, 산업, 문화에서 인간의 일을 구성하는 정보의 거대한 소통에서 나온다.”7)



7. 가상현실과 사이버 공간의 관계


베네딕트는 사이버 공간의 개념을 가상현실과 서로 밀접한 것으로 연관짓고 있지만 그것은 서로 구분되는 것이다. 가상현실은 컴퓨터의 도움을 받든 아니든 어쨌든 우리에게 사실에 버금가는 실제적인 경험을 가능하게 하는 환경을 의미한다. 그래서 꿈이라든지, 소설이라든지, 영화라든지 등등의 허구의 대상과 세계에 몰입하는 동안 우리는 가상현실을 경험하는 것이다. 물론 소설과 영화는 완전한 단계의 가상현실이라고 할 수는 없다.


소설의 인물과 정황은 우리에게 실감나게 경험되지만 실제 우리 현실처럼 보이거나 들리거나 만질 수 있는 그런 세계는 아니다. 영화는 보이고 들리지만 그 속의 대상을 우리가 만질 수 없고 우리가 그 속에 참여하여 상호 작용을 할 수 있는 세계는 아니다. 소설과 영화와 같은 매체들은 우리가 몰입하는 것을 제한하므로 실제 체험에서 느끼는 현실감을 얻는 데 한계가 있다.


사이버 공간에서의 가상현실의 체험은 사물에 대한 공간감과 입체감을 느끼게 한다. 그뿐 아니라, 그 대상과의 상호 작용의 경험을 가능하게 한다. 그리고 무엇보다 중요한 것은 나와 같은 사람이 존재한다는 것을 느끼게 함으로 인해 더욱 더 몰입할 수 있으며 더 완전한 현실감을 줄 수 있다. 사이버 공간에서의 가상현실은 이전의 어떤 형태의 가상현실의 체험보다 가장 현실감을 줄 수 있는 경험이다.


즉 사이버 공간은 가상현실의 경험을 가능하게 하는 가장 발달된 형태의 매체이다. 그 몰입의 정도와 그 세계의 구성력이 아주 강하다면 그 세계 속에서 우리는 실제 우리의 현실과 구분하지 못할 정도의 생생한 경험을 하게 될 것이며 이런 단계를 온전한 형태의 가상현실이라고 할 수 있다. 사이버 공간에서 중요한 것은 깁슨이 이야기한 바와 같이 타인들과 공유하는 세계라는 것이다. 그것이 가능한 것은 대상과의 상호 작용뿐 아니라 타인과의 상호 작용이 가능하기 때문이다.



8. 가상현실의 주요 특징


필자는 가상현실을 하나의 기술이라는 의미로서가 아니라 우리에게 실제현실의 경험과 유사한 혹은 구분되지 않는 몰입을 제공하는 환경이라는 의미로 이해한다. 물론 기술적으로 아직 이런 수준에 도달하고 있지 않지만, 그것이 가상현실이 궁극적으로 지향해 가는 방향이다. 컴퓨터의 발전과 더불어 가상현실을 구축하기 위해 노력하는 것은 그 속에서 인간이 오랜 과거로부터 꿈꾸어 오던 이상적인 몰입의 상황으로 들어가기 위해서일 것이다.


이제 완전한 형태의 가상현실을 특징짓는 데 관련되어 있다고 간주되는 몇 가지 속성들에 대해 살펴하고자 한다. 인공성, 몰입, 원격현전, 상호 작용, 시뮬레이션 등이 그것이다. 물론 여기에서 가상현실에 대한 필요충분조건을 열거하려는 것은 아니다. 그리고 아래의 항목들이 서로 배타적이거나 또는 이 목록들이 관련된 모든 항목을 남김없이 다 나열하고 있는 것은 아니다. 단지 가상현실의 경험을 이해하는 데 관련된 특징적인 측면들을 기술하는 것에 불과하다.


가. 인공성


컴퓨터와 연관된 의미로서의 가상현실은 자연적으로 우리에게 주어지는 경험의 세계가 아니다. 이것은 우리가 살고 있는 물리적 세계의 어떤 것이 인과적으로 발생시키는 인공적인 세계이다. 즉 가상현실은 우리의 기술에 의해 인위적으로 만들어진 세계이다. 어떤 식의 기술이든 인공성이 개입된다. 그것은 가상이라는 말 때문에 환상이나 신기루 같은 것과 연관되어 생각되어서도 안 된다. 특히 앞으로의 가상현실은 컴퓨터나 인터넷 기술과의 긴밀한 연관 없이 생각할 수 없다.


나. 몰입


헤임은 인간에게 몰입을 위한 기제는 컴퓨터로 인한 가상현실의 실현 이전에도 있었다고 주장한다. 종교적 제의나 극장이 추구한 몰입의 경험이 그것이다. 그런데 컴퓨터와 그것에 관련된 기술의 적용이 몰입을 보다 완전하게 한다. 가상현실의 환경으로의 몰입은 우리의 육체가 존재하고 있는 실제적인 공간이나 환경을 잊게 할 만큼 인공적인 환경에 몰입을 가능하게 할 때 완전히 달성된다. 레이니어가 만든 헤드 마운티드 디스플레이(HMD)는 시각과 청각을 주변 세계로부터 차단시키고 컴퓨터에 생성되어 있는 감각 경험에 몰두하게 한다. HMD와 더불어 피드백 글러브, 보행발판, 자전거 손잡이 혹은 조이스틱을 사용함으로써 우리 몸은 인공적인 공간을 돌아다니는 듯한 실재감을 가질 수 있다.


다. 원격현전(telepresence)이 실현되게 하는 정보의 강도


여기서 ‘현전(presence)’이라는 것은 무엇이 일어나는지 내가 지각하고 느낄 수 있으며, 내 몸을 사용해서 어떤 과제를 수행할 수 있음을 의미한다. 예를 들어 의사가 수술할 때 환자의 몸을 절개하는 것이 아니라 환자의 몸 속에 어떤 미세한 기구를 넣어 수술하는 것을 원격현전의 수술이라고 한다. 복강경 수술과 같은 것이 바로 그것이다. 실제 의사의 손이나 눈은 환자의 몸 속에 있지 않고 그것에 닿을 수 없는 거리에 있지만, 어떤 기구의 도움으로 환자 몸 속에 어떤 과제를 수행할 수 있다.


가상현실의 세계에서는 흔히 먼 거리에 있는 사람이 같은 공간에 있는 것과 같은 착각을 일으킬 만큼 친밀한 상호 작용이 일어날 수 있다. 실제 어디에 위치하고 있는지 모르는 사람과 컴퓨터 게임을 한다고 가정하자. 예를 들어 컴퓨터를 매개로 하여 실제 인간과 장기를 두는 게임을 생각해 보자. 우리는 상대방이 바로 그 게임의 내용에 해당하는 같은 장소에 있는 것을 느낀다.


이때 먼 거리에 있는 사람이, 아니 어디에 위치하고 있는지도 모르는 사람과 같은 공간에 있다는 느낌을 가진다. 그것은 내가 두는 장기말의 움직임에 대해 상대방이 반응하는, 적절한 시간 간격과 규칙을 준수하는 행위에서 창출되는 것이다. 만일 상대방이 너무나 느리게 반응해 온다면 같은 공간에 있다는 느낌을 저하시키게 될 것이다. 원격현전에는 실시간의 개념이 개입되어 있는 것이다. 실제적인 공간을 공유하고 있지 않지만 다른 정보의 강도에 의해 같은 공간에 있음을 느끼게 하는 것이 바로 원격현전의 개념이다.


라. 상호 작용


원격현전이 가장 고도로 실현되고 있는가를 측정하는 하나의 척도는 어느 정도의 상호 작용이 가능한가이다. 가령 우리가 전화할 때 상대방과 원격현전하고 있는데 이때 상호 작용은 청각적인 것에 불과하다. 그러나 화상 채팅과 같은 것은 시각적인 측면이 첨가된 보다 풍부한 상호 작용이 가능하다. 가상현실이 실현된 사이버 공간에서 상호 작용이 보다 완벽해지는 것은 3차원의 공간감을 느끼면서 우리가 실제 살고 있는 물리적인 세계에서 느끼는 경험과 동일한 경험을 하게 되는 상태일 것이다.


마. 네트워크망


인공적으로 만들어진 실재감을 주는 환경은 컴퓨터 네트워크 이외에도 가능했다. 예컨대 종교적인 의식과 극장에서의 예술의 감상들이 실재감을 주는 예가 된다. 그런데 가상현실의 보다 완전한 실현은 컴퓨터 네트워크와 함께 이루어질 수 있다. 여기서는 실재감을 주는 사물과의 상호 작용뿐 아니라 다른 인간들과의 상호 작용이 가능해진다. 전화는 청각적인 측면에 의 상호 작용을 가능하게 한다면, 컴퓨터 네트워크는 시각적인, 촉각적인 상호 작용도 가능하게 한다. 그 시각 경험은 컴퓨터 모니터의 2차원적 평면의 시각감이 아니라 입체적인 사물, 사람에 대한 시각감을 갖게 되는 방향으로 진전될 것이다.


가상현실의 보다 완전한 형태는 컴퓨터 프로그램에 의해 창조된 우리의 창조물인데 그것은 우리를 몰입시키는 그런 기술에 의존하고 있다. 여기서 중요한 것은 몰입이다. 앞서 열거한 가상현실의 특징들은 몰입을 향한 것이다. 기술도 몰입을 위해서이고 원격현전감이 느껴지는 것도 몰입할 수 있기 때문이다. 실제 우리가 어떤 환경 속에 위치해 있는 것은 아닐지라도 문제시되는 그 환경에 몰입함으로써 거기 있는 것으로 느끼는 것이다.


또한 상호 작용도 몰입이 전제될 때 일어날 수 있다. 그리고 네트워크망이 형성됨으로써 우리는 가상적인 환경 속에서 타인들의 존재를 지각하고 또 그들과 상호 작용할 수 있다. 이와 같이 가상현실의 개념의 핵심에는 몰입이 있다. 그런데 우리가 몰입하면 할수록, 즉 가상현실의 실재감이 커지면 커질수록 실제적인 것과 가상적인 것의 순간적인 경험적 영역에서의 구분은 사라진다.



11. 가상현실과 예술


웹상의 클릭과 서핑에 의존하지 않고서 상호 작용성(interactivity)을 고무시키는 대표적인 예술작품으로 인터랙티브 설치 작품(interactive installation)이 있다. 이것이 목표로 하는 것은 관람자와 상호 작용하는 것인데, 이런 예술작품이 궁극적으로 변화해 가는 방향은 아마도 감상자에게 가상현실을 체험하도록 하는 것이라고 생각된다.


인터랙티브 설치 작품들 중 우리가 현실과 거의 구분하지 못할 정도로 생생하게 경험을 체험하게 해주는 효과를 가진다면, 작품에 더욱 더 관심을 기울이고 몰입할 수 있을 것이므로 그 설치는 최상의 상호 작용성을 성취할 수 있을 것이다. 가상현실의 기술은 인터랙티브 설치 작품이 만들어지기 전에 군사나 게임, 의료, 건축설계 등 타 분야에서 널리 적용되고 있었다. 사실 예술에서의 가상현실의 기술은 타 분야의 가상현실의 기술이나 방식에 크게 힘입은 것이다.


가상현실을 체험하게 하는 인터랙티브 설치 작품의 예로 호주의 예술가 쇼(Jeffrey Shaw)가 만든 <읽기 쉬운 도시(The Legible City)>(1990)가 있다. 자전거 한 대가 세 개의 커다란 영사 스크린 앞에 놓여 있다. 관람자가 자전거 페달을 밟으면 관람자는 3D 컴퓨터 그래픽 애니메이션 시스템으로 가상적으로 제작된 맨해튼이나 암스테르담, 칼스루에 같은 도시를 가로질러 달리게 된다.


페달을 밟는 동안 우리는 그 도시의 모퉁이를 돌고 간판을 읽는 등 마치 우리가 실제로 그 도시를 돌아다니는 것과 같은 경험을 하는 것이다. 물론 이것은 아주 원시적인 단계의 가상현실을 체험하게 하는 데 지나지 않는다. 우리가 거니는 맨해튼이나 암스테르담 등의 도시 풍경을 보여 주는 3D 컴퓨터 그래픽은 실제와 똑같지 않으며, 그것을 조야하게 모방하고 있는 정도에 지나지 않기 때문이다.


그리고 우리는 그 도시에 있는 건물 안에 들어갈 수도 없고 그 건물들을 만져 보는 촉각적인 경험도 가질 수 없다. 만약 어떤 시스템이 개입하여 우리에게 실제 세계를 경험하는 것과 꼭 같은 정도의 생생한 경험을 하게 된다면, 우리는 보다 완전한 단계의 가상현실을 체험하는 것이다. 물론 이런 완전한 가상현실을 경험하는 것은 <매트릭스>와 같은 공상과학 영화에서나 가능한 일이지 실제 기술적으로 불가능한 일인지도 모르겠다. 물론 기술의 발달은 예전보다 더욱더 현실감을 증대시키는 방향으로 진행되고 있다.


가상현실 체험을 제공하는 것은 예술만이 아니라는 점을 앞서 지적했다. 현재 게임은 가상현실의 체험을 제공하는 데 기술적인 측면에서, 또 다양하고 새로운 아이디어의 측면에서 예술보다 더 앞선 분야로서 예술이 갈 길을 인도해 주고 있다. 컴퓨터 게임, 비디오 게임은 실로 다양한 방식으로 참여자들이 상호 작용적인 환경을 만드는 데 기여했다.


즉 그것은 네비게이션, 시뮬레이션을 비롯하여 링크된 내러티브, 3D의 창조, 멀티유저 환경조성 등을 통해 상호 작용적인 환경을 만들고자 시도했다. 또한 비디오 게임은 주로 폭력적인 싸움을 등장시키긴 했지만 아주 세련된 시각 세계를 제공한다는 점에서 예술에 도움을 주었다. 그것은 또한 시점에 대한 탐구를 제공했다. 게임 참여자는 게임의 세계에 1인칭 관점에서 혹은 3인칭 관점에서 접근하도록 되어 있다.


가상현실은 우리의 지각을 자극하는 새로운 방법을 갖고 있다. 특히 가상현실을 이용하는 작품의 경우는 참여자를 다양한 수준에서 개입시키고 있다. 시각적인 면, 청각적인 면뿐만 아니라 촉각적으로 관람자를 개입시킨다. 그리고 관람자는 단순히 관람하는 수동적인 존재가 아니라 능동적인 참여자가 된다.


인공현실(artificial reality), 사이버 공간(cyberspace), 가상세계(virtual worlds), 가상환경(virtual environment), 합성환경(synthetic environment), 인공환경(artificial environment) 등이라고도 한다. 


사용 목적은 사람들이 일상적으로 경험하기 어려운 환경을 직접 체험하지 않고서도 그 환경에 들어와 있는 것처럼 보여주고 조작할 수 있게 해주는 것이다. 응용분야는 교육, 고급 프로그래밍, 원격조작, 원격위성 표면탐사, 탐사자료 분석, 과학적 시각화(scientific visualization) 등이다. 


구체적인 예로서, 탱크·항공기의 조종법 훈련, 가구의 배치 설계, 수술 실습, 게임 등 다양하다. 가상현실 시스템에서는 인간 참여자와 실제·가상 작업공간이 하드웨어로 상호 연결된다. 또 가상적인 환경에서 일어나는 일을 참여자가 주로 시각으로 느끼도록 하며, 보조적으로 청각·촉각 등을 사용한다. 


시스템은 사용자의 시점이나 동작의 변화를 감지하여 그에 대응하는 적절한 변화를 가상환경에 줄 수 있다. 또한 사용자의 현장감을 높여 주기 위해서 입체표시장치, 두부장착교시장치(Head-mounted display) 등의 이펙터(effector)들을 사용하며, 사용자의 반응을 감지하기 위해서 데이터 장갑(data glove), 두부위치센서 등의 센서(sensor)를 사용한다.

'Program' 카테고리의 다른 글

AR (Augmented Reality) : 증강현실  (0) 2016.02.20
한약재 쇼핑몰 개발  (0) 2015.03.22
문자열 관련 함수  (0) 2014.12.10
문자열 줄 바꿈  (0) 2014.12.10
스프링 프레임워크  (0) 2014.10.23

한약재 쇼핑몰 개발

Program 2015. 3. 22. 23:52 Posted by mine4sw

< 개발 환경 >

. JDK 설치 : jdk1.8.0_31


. Tomcat 설치 : Tomcat8


. STS 설치 : sts-3.6.3.RELEASE












'Program' 카테고리의 다른 글

AR (Augmented Reality) : 증강현실  (0) 2016.02.20
VR (Virtual Reality) : 가상현실  (0) 2016.02.20
문자열 관련 함수  (0) 2014.12.10
문자열 줄 바꿈  (0) 2014.12.10
스프링 프레임워크  (0) 2014.10.23

문자열 관련 함수

Program 2014. 12. 10. 16:14 Posted by mine4sw

▶ 문자열 내 특정 문자 변경 함수

replaceText = function(str:String):String{

        str = str.split("\r\n").join("\r");

        str = str.split("&quot;").join("\"");

        str = str.split("&apos;").join("'");

        str = str.split("&lt;").join("<");

        str = str.split("&gt;").join(">");

        str = str.split("&amp;").join("&");

 

        return str;

}

 


▶ 문자열 앞에 0을 붙여 반환합니다.

  public static function digit( $val:Number, $len:Number = 2 ) :String

  {   

   var str :String = $val.toString();

   if ( str.length >= $len ) return str;

   var temp :String = "";

   var len  :uint = $len - str.length + 1;

   while( --len ) temp += '0'; 

   return temp.concat( str );

  };



▶ 알파벳으로만 구성된 문자열인지 체크합니다.

  public static function isEnglish( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^a-z A-Z]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };


  

▶ 알파벳 대문자로만 구성된 문자열인지 체크합니다.

  public static function isUpperCase( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^A-Z]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };

  

  

▶ 알파벳 소문자로만 구성된 문자열인지 체크합니다.

  public static function isLowerCase( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^a-z]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };

  


▶ 숫자로만 구성된 문자열인지 체크합니다.

  public static function isNumber( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^0-9]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };

  


▶ 한글로만 구성된 문자열인지 체크합니다.

  public static function isKorean( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^가-힣]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };

  

  

▶ 알파벳과 숫자로만 구성된 문자열인지 체크합니다.

  public static function isEnglishAndNumber( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^a-z A-Z 0-9]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };

  


▶ 한글과 숫자로만 구성된 문자열인지 체크합니다.

  public static function isKoreanAndNumber( $val:String ) :Boolean

  {

   var regExp:RegExp = new RegExp( /[^가-힣 0-9]+/g );

   if( $val.search( regExp ) == -1 )

   {

    return true;

   };

   return false;

  };

  

  

▶ 문자열에서 파일이름만 알아냅니다.

  // StringTask.getFileName( "./test/file.swf" ) 

  public static function getFileName( $val:String ) :String 

  {

   return $val.slice( $val.lastIndexOf("/") + 1, $val.lastIndexOf(".") );

  };

  


▶ getData로 가져온 값을 매개변수로 받아 0000-00-00 형태로 변경해 줍니다.

  public static function replaceDate( $time:String ):String 

  {

   var monthList :Array  = new Array( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" );

   var tempList  :Array  = $time.split( " " );

   var i         :uint   = monthList.length;

   var month     :String;

   

   //월 구하기

   while( i <= 0 )

   {

    if( monthList[ i ] == tempList[ 1 ] )

    {

     if( i > 8 ) 

     {

      return month = String( i + 1 ) ;

     }

     return month = "0" + String( i + 1 );

    }

    --i

   }

   

   //일 구하기

   if( tempList[ 2 ] > 9 ) 

   {

    return tempList[ 5 ] + "-" + month + "-" + String( tempList[ 2 ] )

   }

   return tempList[ 5 ] + "-" + month + "-" + "0" + String( tempList[ 2 ] );

  }

'Program' 카테고리의 다른 글

AR (Augmented Reality) : 증강현실  (0) 2016.02.20
VR (Virtual Reality) : 가상현실  (0) 2016.02.20
한약재 쇼핑몰 개발  (0) 2015.03.22
문자열 줄 바꿈  (0) 2014.12.10
스프링 프레임워크  (0) 2014.10.23

문자열 줄 바꿈

Program 2014. 12. 10. 16:12 Posted by mine4sw

▶ 문자열 내 줄 바꿈 기호 삽입

str.text = "abcde\r\n12345";



▶ 입력 텍스트 자동 줄 바꿈

var t:TextField=new TextField();

t.text='111111112222222333333333';

t.multiline=true;

t.width=80; 

t.height=70;

t.border=true;


t.wordWrap = true; // 이 옵션 처리가 되어야 함


addChild( t );



▶ newline 개행 예약어 사용

add newline add



▶ 줄 바꿈 안되는 사례

[상황] 

text1 = '안녕하세요\n방갑습니다';

그리구 mc_text 안에서

text1 = _root.text1

하구 text1을 화면에 뿌려주면

'안녕하세요' 까지만 나옵니다.. 줄바꿈이 뒤부터는 없어지네요..

text1을 mc안으로 안넣고 _root에서 바루 출력하면  줄바꿈이 잘 되는데요..

_root.text 에서 변수를 가져오면 줄바꿈이 안되는데.. 도움 부탁드립니다..


[해결]

특별히 무비클립안으로 들어간다고해서 \n 뒤라 없어지는 경우는 없다고 생각되고요.

음..왠지 다이나믹 텍스트를 한줄짜리로 만든게 아닌가 싶어요. 싱글라민 멀티라인의 문제가 아니고 

화면상에서 한줄로만 만들어 놓은 상태에서 오토사이즈 설정이 안되어있는 경우에는 아래부분이 

짤리게되는데 그런게 아닐지... 문제가되는 파일의 소스를 보여주셨으면 합니다.



'Program' 카테고리의 다른 글

AR (Augmented Reality) : 증강현실  (0) 2016.02.20
VR (Virtual Reality) : 가상현실  (0) 2016.02.20
한약재 쇼핑몰 개발  (0) 2015.03.22
문자열 관련 함수  (0) 2014.12.10
스프링 프레임워크  (0) 2014.10.23