BLOG ARTICLE 위모트 | 3 ARTICLE FOUND

  1. 2008.01.24 위모트를 이용한 해드트랙킹 데모 (2)
  2. 2006.12.07 Wii 컨트롤러(Wiimote) PC 구동기 (2부) (6)
  3. 2006.11.22 Wii 컨트롤러 PC에서 이용가능!! (14)


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

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

사이트 바로가기
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. semix2 2008.01.24 12:26  댓글주소  수정/삭제  댓글쓰기

    와!! 정말 신기하네요!!




처음 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보다 절대적 우위에 있다고 확신했던 필자이기에 반성이 필요할 듯하고, 앞으로 두개의 디바이스가 가지는 장단점을 지속적으로 살펴봐야겠다.
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. 사피 2006.12.07 09:57  댓글주소  수정/삭제  댓글쓰기

    다르게 잡으면 힘정보가 다르게 전달되겟군요. 그러면 정확하게 잡은상태여야만 2d좌표와 움직임 정보를 알수 있다는 것인가요? 흠.. 아직도 의문투성이네요. 어쩃든 포스팅 감솨.^^

    • 미니미 2006.12.07 10:43  댓글주소  수정/삭제

      처음 Coord.만 잡아주면 나머지는 Force-driven FSM(Finite State Machine)상태로 비슷하게 구현이 됩니다. 고등학교때 배우는 위치의 미분이 속도고 속도의 미분이 힘인 원리로 가능한거지요. ^^

  2. BonzyFonzy 2006.12.07 12:58  댓글주소  수정/삭제  댓글쓰기

    위모트가 받아들일 수 있는 정보가 생각보다 제한적이군요. 눈챠콘도 공간인식이 가능하다던데 그럼 위모트과 눈챠콘은 서로 보완하지 못하는건가요..? 그냥 단지 3axis의 같은 정보만을 전송하는건가..
    확실히 이미 해본분들에 의하면 위 스포츠의 경우 홍보동영상처럼 격렬하게 하지 않고도 한손에 피자를 들고 앉아서 여유있게 플레이가 가능하다고 하던데.. 음음.. 그래도 여전히 재미있을거 같긴 하지만요 ^^;

    • 미니미 2006.12.07 16:21  댓글주소  수정/삭제

      불행히도 아직까지 눈챠콘의 모션 데이터는 입력받지 못하고 있습니다. 현재 알 수 있는 것은 눈챠콘의 접속여부 뿐이라 확실하진 않지만, 눈챠콘에 기울기 센서가 있을 가능성은 희박하다고 봅니다.

  3. Neosoldier 2006.12.10 01:00  댓글주소  수정/삭제  댓글쓰기

    위 샀다는 소문이 여기까지 파다함! 블로그가 방문자들로 폭주하고 있다고 해서 오랜만에 구경왔는데, 이거 이거 대단하잖아. 발빠르게 구글 배너광고까지! 방금 판의 미로를 보고 왔는데 태교에 참 좋은 영화인 것 같음. -_-;;




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

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을 보내는 버전을 제작할 예정이다.

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. 네이탐 2006.11.22 22:50  댓글주소  수정/삭제  댓글쓰기

    죄송하지만, 이것을 다른 사이트(루리웹)에 유저뉴스로써 올려도 괜찮을까요?
    좋은 내용이라서 다른 여러 사람과 나누고 싶습니다.
    답변을 기다릴께요.

    • 미니미 2006.11.22 22:52  댓글주소  수정/삭제

      네 출처와 링크만 올리시면 상관없습니다.
      그리고 이미지 링크는 걸지 말아주세요.
      (루리웹 이미지 링크걸면 몇분만에 섭따되더군요 ^^)

  2. 네이탐 2006.11.22 22:52  댓글주소  수정/삭제  댓글쓰기

    으아아악. 실수로 패스워드도 안쓰고 잔뜩 클릭해 버렸다!-ㅁ-;;;

  3. 홍커피 2006.11.23 08:16  댓글주소  수정/삭제  댓글쓰기

    이야~ 그레이트 한데요~ ^^)=b

  4. 홍커피 2006.11.23 08:16  댓글주소  수정/삭제  댓글쓰기

    이야~ 그레이트 한데요~ ^^)=b

  5. 2006.11.23 09:07  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  6. 미디어몹 2006.11.23 11:05  댓글주소  수정/삭제  댓글쓰기

    minime 회원님의 상기 포스트가 미디어몹 메인에 링크되어 있습니다

  7. 네이탐 2006.11.23 13:25  댓글주소  수정/삭제  댓글쓰기

    루리웹에 올렸습니다. 말씀하신데로 출처와 링크를 올렸고, 사진들은 직접 링크걸지 않았습니다. 감사합니다.
    http://ruliweb.dreamwiz.com/ruliboard/read.htm?table=game_nin02&page=1&num=6077&main=nin&find=&ftext=

  8. 열쇠집 2006.11.23 14:19  댓글주소  수정/삭제  댓글쓰기

    이상하네요 분명 모션관련 신호가 어딘가 있어야 하는데 -_-;;;
    일단 유튜브에서 본 동영상을 보니 IR센서바가 없이도 위모트의 포인팅을 인식 하더군요.
    그 사람들이 조사해 보니 IR센서바는 적외선을 인식하는게 아니고 실은 적외선을 "방출"해서 위모트가 적외선을 인식해서 그 데이타를 wii본체에 전송하는것 같다고 하더군요.
    이걸 실험하기 위해서 그 동영상에서는 보통 TV리모콘 두개를(물론 적외선이 나가는...) 켜놓고 IR센서바를 치우고 위모트를 사용해 봤더군요. 근데 결과는 성공 -_-a
    여기 링크:https://www.youtube.com/watch?v=JTGSkYRDpWY
    근데 컴퓨터에서 모션 관련 신호를 안받고 있으면 그 신호들은 도데체 어디로 가는 거지요? 다른 블루투스 채널이라도 이용하나...?

    • 미니미 2006.11.23 14:37  댓글주소  수정/삭제

      좋은 지적이십니다. 현재까지는 WM_INPUT을 통하여 콜백되는 신호만을 캐치했었는데, Bulk Read를 통하여 피드백되지 않는 신호들을 살펴보면 알 수 있겠죠. (과제가 밀려서 언제 할 수 있을지는 의문입니다만;;)

  9. 폐인희동이 2006.12.01 11:01  댓글주소  수정/삭제  댓글쓰기

    Great!
    아이디어도 대단하고, 해결을 위한 노력도 대답하십니다. ㅎㅎ
    꼭 성공하시기 바랍니다.