CMU의 Johnney Lee가 만든 간단한 데모인데, 색다를 것은 없지만 상당히 결과물이 좋다.
요점은 2D화면에서 해드트랙킹(시점의 이동 감지)를 통하여 3D공간이 보다 실감나게 보인다는 것이다. 머리의 회전를 주로 감지하는 VR 해드셋의 해드트랙킹과는 달리 위모트를 이용한 이 데모는 화면을 보고있는 머리의 평행이동(좌우상하)를 감지하여 미세한 시점변화를 만들어낸다. 실제로 FPS 게임을 만든다면 이를 통하여 마우스의 역할(시점변환)을 100% 담당하게 할 수는 없다는 얘기. 다만, 벽에 붙어서 빼곰히 옆으로 쳐다보며 미세 사격을 한다던지에는 탁월한 효과가 있을 것으로 본다. 결국 마우스(시점이동)+해드트랙킹(미세시점이동)+키보드(전후좌우이동)의 인터페이스가 가능하다는 얘기.

개발자의 웹사이트에 가보면 그외 다양한 위모트를 이용한 프로젝트가 있다.

사이트 바로가기
AND


처음 Wiimote를 PC에서 구동시키고나서 인터넷에는 내 블로그의 구동 사진들이 허가없이 도배되었었다. (허락 받으신 분도 계셨지만, 외국사이트에서는 전혀 동의없이 게시되었었다. 심지어는 자기 사이트의 워터마크까지 달아 놓은 곳도;;) 어쨌거나 학기말 프로젝트에 정신이 팔린 사이 Carl Kenner가 선수를 쳐서-만들 생각도 없었지만- 완성된 버전의 PC구동 유틸을 만들었다.

그런데, Wiimote의 내부를 들여다보니 내가 잘못 알고 있던 사실들이 있었는데,

- Wiimote는 6 axis(3-axis positional + 3-axis rotational)가 아니라, 단지 3-axis linear force sensor(XYZ)만을 가지고 있다.
- Linear force sensor는 Gravity의 영향을 직접적으로 받고있으며, 필터링되지 않은채 정보가 넘어온다.
- 따라서 3-axis positional 데이터 만으로는 컨트롤러의 local coordinate을 알 수 있는 방법이 없다.
- IR Sensor는 IR emitter의 갯수와 각각의 신호의 강도, 그리고 Wiimote 시점에서의 2D 좌표를 알 수가 있다.

결론은, Wiimote는 3D space상의 위치와 움직임을 완벽하게 알 수 없다는 사실. 재밋는 사실은 와리오웨어 영상을 보면 각각의 게임들이 어떻게 Wiimote를 잡고 게임을 해야하는지 친절하게 설명을 해주는데 그것이 바로 local coordination을 정의하기 위함이었다.


01:21 부분을 살펴보면 친절하게 어떻게 잡아야하는지를 알려준다. 사용자가 어떤 방식으로 잡고있는 지를 모르면 Wiimote는 정확한 입력 정보를 알아낼 수 없다.

PS3의 SIXAXIS보다 절대적 우위에 있다고 확신했던 필자이기에 반성이 필요할 듯하고, 앞으로 두개의 디바이스가 가지는 장단점을 지속적으로 살펴봐야겠다.
AND


위모트를 블루투스 노트북에서 조이패드를 쓸수 있다면 참 좋을 꺼 같다는 생각에서 출발한 아이디어

Wii 구매 이후 만 이틀만에 Wii 컨트롤러를 PC에서 이용가능하다는 결론에 도달했다.
다른 블로그들에 포스팅된 바와 같이 Wii 컨트롤러(일명 위모트)는 블루투스방식을
이용하여 데이터를 전송한다. 그럼 먼저 PC에 디바이스를 연결해보자.

각자 하드웨어에서 제공하는 블루투스 스텍을 이용하여 새로운 디바이스를 맞이할 준비를 한다.

준비가 되었으면, 위모트의 뒷면의 배터리 박스를 열고 Sync버튼을 눌러준다. 간섭문제가 발생할 수 있으므로, Wii의 전원 플러그를 뽑아둔다.

다음과같이 Nintendo RVL-CNT-01이라는 이름의 표준 HID장치로 잡힌다. 선택후 다음으로 넘어가면 디바이스 등록이 완료된다.

스텍에 Wii 컨트롤러가 연결된 모습. PC에 연결된 경우 컨트롤러의 1P,2P,3P,4P LED가 깜박이게 된다.

제어판의 게임 컨트롤러에 가면 위와 같이 블루투스 게임패드로 등록되었음을 알 수 있다. 하지만...

정작 Test에 들어가보면 장치에는 아무런 버튼도 방향키도 존재하질 않는다! 여기서부턴 어둠의 영역;;
디바이스 레벨로 넘어가기전에 RAWHID로서 접근을 시도해보았다. HID Device를 Regist한 다음 컨트롤러에서 입력시 WM_INPUT으로 넘어오는지를 체크했다. 다행히도 아직 알수는 없지만 RAW Data가 넘어온다!!

Raw Data의 유형은 매우 단순했는데 1BYTE Header + 2 BYTE 로서 각각의 BYTE는 방향키와 버튼의 조합값을 의미하였다. 다만, 모션센서의 값은 IR 바를 통해서 전송되는지 찾을 수가 없었다.

최종으로 테스트 프로그램 완성! 다음엔 트레이에 상주하면서 키보드나 게임패드에 SendInput을 보내는 버전을 제작할 예정이다.

AND

PS3 발매일에 혹시나 갔다가 95대 발매에 200명이상이 8시간전부터 줄을 서있는 것을 보고 충격에 휩였던 기억 때문에 가능하면 가고싶지 않았지만, 다시 한번 시도해보기로 하였다. 물량이 많은 대형 매장들은 사람들이 몰린다는 사실을 알았기 때문에 가능한 선전을 안하고 작은 매장에 아침 일찍 개장하는 곳을 물색했는데, 동네에 조그만 Wal-mart에서 Wii를 판다는 소문을 듣고 새벽 6시에 갔다. (7시 개장) 사람들이 줄을 서 있었지만 그다지 많은 편은 아니었고 27대가 있으며 기다리면 살 수 있기에 30분정도를 기다리니 경비원이 Voucher를 나눠주더라. 줄을 선 사람들은 대부분 아줌마, 아저씨들이었고 그들은 자식들이나 남편(!)들이 사달라고 졸라서 하는 수 없이 왔다고 한다.
012345678910
7시가 되어 들어가니 Customer Center에서 Voucher의 순번대로 판매를 하고 있었다.
일단 소프트없이 Wii Console과 컨트롤러 1개를 샀다.
Wii의 초기 기대치는 PS3에 비해 한참 못미치는 수준이었으나, 앞으로의 행보는 주목할 만하겠다.
AND

이번에 소개할 차세대 인터페이스는 3차원 공간을 이용한 Device들이다. 3D기술이 발달하면서 평면에서 움직이는 마우스로는 자유로운 공간 입출력이 어렵기 때문에 다양한 방식으로 공간을 이용한 Pointing Device가 상용화 또는 상용화를 위한 연구가 진행 중이다. 공간을 이용한 Device 또는 인터페이스를 개발할때 가장 고민하는 부분 중 하나는 Proxy와 3D 데이터의 상호작용이다. 쉽게 설명하면 Proxy는 Device를 뜻하고, 이 Proxy를 움직이거나 주무름(?)으로서 입력이 일어나는데 제어할 3D 모델은 이 간단한 입력도구보다 더 복잡한 구조로 되어 있다는 것이다. 예를 들자면 3D공간 상의 Ragdoll을 춤추게 할려면 손, 발, 머리, 몸 등의 관절에 동시에 움직임을 부여해야하는데 일반적인 Device로는 불가능하기 때문에-Rogdoll처럼 생긴 Device라면 가능하겠지만 그렇다면 다른 형체에 대해서는 불가능하므로- 한개의 부위를 지정하고 IK와 적당한 Optimization을 통하여 최대한 단순하고 Reasonable한 움직임을 만들어 낼 수 있다. 각각이 새로운 정보는 아니지만, 크게 5개 분야의 흥미로운 제품이나 연구를 소개한다.

1. Gyro Mouse - General Purpose

일명 4D 마우스라고도 하는데, Gyro Sensor가 들어있어 상하좌우의 움직임을 읽어내 이를 이용하는 방식이다. 상용화된지 오래됐으며, 3D보다는 프리센테이션용 마우스로 많이 이용되고 있다. Gyro Sensor만으로 움직임을 읽어내기 때문에 Local Position 이상의 정보를 얻을 수 없다. (마우스와 디지타이저의 차이라고 보면 된다) 급조되었다는 PS3의 신패드도 거의 동일한 기능을 제공한다.

사이트 바로가기

2. Wii Controller - Gaming

Nintendo의 새로운 게임 컨트롤러는 Gyro Sensor외에 외장 IR 센서바가 있어, Local Position과 Absolute Position을 동시에 입력할 수 있는 한단계 발전된 모델이다. PS3는 IR 센서바가 없기 때문에 상대적인 움직임만이 가능하지만 Wii의 그것은 보다 정교한 움직임이나 제스쳐를 감지할 수 있다.

3. Layered Acting for Character Animation - Charater Animation

2003년 Siggraph에 게재된 Mira Dontcheva, Gary Yngve, Zoran Popovic의 본 Paper는 Wii 머신의 핵심기술인 Tangible Device를 이용한 Character Animation에 대하여 가장 자세한 이론적 기반을 제공하고 있다. (Wii 개발 엔지니어들이 필독한 Paper라고 99% 확신한다)

Brief Architecture


Reviewing PDF 다운 받기

사이트 바로가기

4. Mixed Reality Interface(MRI) - Navigation


KOMMERZ라는 건물 VR 관련 기업에서 만든 이 Device는 여러개의 Tangible Object를 이용하여 시점과 카메라 그리고 오브젝트를 쉽고 간단하게 움직일 수 있도록 설계되었다. Navigation을 위한 이상적인 인터페이스다.

5. Virtual 3D Sculpting - 3D Modeling

2000년에 작성된 Janis P.Y. Wong, Rynson W.H. Lau, Lizhuang Ma의 이 Paper는 3D Modeling을 위한 혁신적인 방법을 제시한다. 최근 3D 모델링 툴의 추세 중 하나가 기본적인 Geometry에서 찰흙을 주무르듯이 모델을 만드는 방법인데, 이 Paper에선 스폰지와 같은 Controller를 도입하여 3D 공간의 물체를 주무르고, 자르고, 구멍을 뚫는 등의 행위를 통해 제작할 수 있도록 하고 있다.


사이트 바로가기
AND

원통형으로 된 부스 내부는 Wii 플레이를 체험할 수 있는 수십개의 체험 머신이 배치되어 있었고, 각 머신에는 게임을 안내하는 담당자가 서있었다. (아무래도 컨트롤러 분실위험이 커서인듯 하다.)


AND

기존에 공개되었던 플레이어 영상에 게임영상이 추가되었다.



AND

이번 E3의 최대 결전장이었던 West Hall은 소니와 닌텐도의 대비되는 전시 컨셉으로 관객들을 매료시켰다.

닌텐도 vs 소니. 이제는 전혀 다른 컨셉으로 승부한다.

소니는 플레이 가능한 랙타잎의 PS3와 대형 스크린을 이용하여 최대한 많은 관람객이 느낌을 체험할 수 있게 한데 반하여, 닌텐도는 다소 적은 수용인원에게 Wii의 다양한 잠재력을 체험할 수 있게 하였다.

Wii를 구경하기 위해 줄을 선 관람객들. 최소 3시간은 서야만 부스내에 들어갈 수 있었다.

Wii 본체


실제로 본 본체의 느낌은 '이거 TV 옆에 놓고 싶다'라는 것이었다. 많이 작아졌지만 두툼한 어뎁터의 엑박360이나 실제보면 엑박1에 육박하는 크기의 PS3에 비하여 작은 크기였던 게임큐브보다도 더 작아지고 슬림한 외형에 모던한 디자인으로 인해 더 이상 아동용 게임기의 인상을 풍기고 있지 않았다.

012

Wii 컨트롤러를 사용하기 위해선 센서바라는 장치를 TV위 또는 아래에 장착해야 한다. 자세히 살펴보니 센서바의 정면부는 IR센서를 덮는 검은 플라스틱으로 덮여있었다. 하지만, 이것만으로 데모에서 볼 수 있는 모든 움직임을 캡쳐할 수 있을 것이란 생각이 들지않는다. 컨트롤러의 위치변화 뿐만 아니라 모든 각도의 회전도 감지하기 때문이다. 게다가 일반적으로 Inertia Sensor를 가진 Device처럼 묵직한 느낌이 없다. Wii의 컨트롤러는 매우 가볍다. 그래서 센서바는 4개의 컨트롤러의 정보수신과 절대위치좌표 측정을 맡으며, 컨트롤러 내부에 관성센서와 평행센서가 angular momentum을 측정하고 있을 것이란 추측을 해본다.

실제로 플레이 해본 컨트롤러. 생각보다 가볍고 생각보다 정밀한 움직임이 가능하다.


012345
AND