WiiMote

2 05 2008

Post um pouco diferente hoje, relacionado a desenvolvimento de jogos.

Vou falar um pouco sobre o WiiMote, e alguns aspectos técnicos dele, então para quem não interessa, pulem essa! (ou então dêem uma olhada só nos vídeos) ;)

O Wii Remote, mais conhecido como WiiMote, é o controle do console Wii.

Visto como o grande diferencial do console Wii, essa mistura de controle remoto com joystick tem mais coisa por trás do plástico branco brilhante que parece.

Além da função de joystick, o WiiMote também tem acelerômetros e uma câmera infra-vermelha.

E com tudo isso, fazendo comunicação sem fio com o Wii via Bluetooth, não demorou muito pra comunidade criar uma forma do controle se comunicar com um PC.

EDIT: Lembrei de mais um recurso ainda não utilizado: Um pequeno alto-falante no WiiMote. O pessoal que criou a biblioteca de comunicação pro PC ainda não conseguiu criar um jeito de utilizá-lo mas prometem algo nas próximas versões. Também não mencionei que o WiiMote conta com o Nunchuck e outros acessórios, que já estão funcionando.

Nesse cenário, vou primeiro citar o que já foi feito, e depois mostrar alguns exemplos e o que fazer a partir daí:

- O primeiro passo obviamente foi possibilitar que um PC se conectasse ao WiiMote e que o sinal fosse traduzido para algo inteligível no computador. Mais complicado que parece. Ele é reconhecido como um HID (human interface device - joystick, mouse, keyboard, etc), mas as mensagens que manda não seguem o mesmo padrão.

Quem tiver interesse nesta parte mais baixo nível da coisa, sugiro o Wiili.org e o WiiBrew.org, além de várias outras informações.

- Com o WiiMote reconhecido, conectado e transmitindo mensagens legíveis pro computador, o próximo passo é integrar a informação a uma linguagem de programação para que possa ser utilizado em alguma coisa.

Pros interessados nessa parte, que é o principal pros desenvolvedores, Brian Peek da ASPSOFT criou uma biblioteca (lib) para C# e VB.NET. Confiram no forum Coding4Fun ou no CodePlex.
Também tem um software chamado GlovePie que usa linguagem de script para criar applicações. Funciona com vários dispositivos de entrada diferentes, incluindo o WiiMote.

- Por fim, pra quem não tá interessado na parte técnica, já existem vários exemplos de aplicação do que pode ser feito com o WiiMote no computador. Vou colocar alguns vídeos a seguir, mas quem quizer checar em detalhes, vou recomendar: Johnny Lee, ScreenFashion, SimpleHarmonicMotion e GlovePie.

Se você já tem o WiiMote e está com dificuldades para conectá-lo no PC, recomendo conferir: Instructables, ScreenFashion ou Wiili.org. Dúvidas sobre isso e quaisquer outras relacionadas ao WiiMote com PC, participem do fórum Wiimote Project.

Pela minha experiência, o BlueTooth USB da Linksys modelo USBBT100 v2 detectou e conseguiu conectar com o WiiMote tanto com os próprios drivers quanto usando o soft BlueSoleil indicado nos tutoriais. Vejam que o WiiMote não conecta com qualquer aparelho bluetooth ou software. O Bluetooth integrado do meu laptop não consegue detectar o WiiMote, nem o software padrão do Windows XP (não consegue conectar).

Agora, finalmente, vamos pra parte divertida da coisa. Vejam o que já foi feito com o WiiMote até agora (nada prático, todos mais pra motivo de teste, mas interessante mesmo assim):

Johnny Lee - Head Tracking for Desktop VR Displays using the WiiRemote

- Um dos vídeos mais famosos, sobre como usar o WiiMote para produzir um efeito realista de janela pra um mundo 3D.

Johnny Lee: Wii Remote hacks

- Apresentação de Johnny Lee na conferência TED Talks. Pra quem não conhece o TED Talks, recomendo altamente saber mais sobre.

Johnny Lee: Tracking fingers with the Wii Remote

- Para um efeito tipo Minority Report.

Johnny Lee: Low-Cost Multi-touch Whiteboard using the Wiimote

- Usando o WiiMote para criar um quadro-branco virtual.

ScreenFashion: The Wiinstrument — Drumming with your Wii remote

- Bateria virtual e leitor de midi para o WiiMote.

Johnty Wang: Wii-mote Joystick Test

- Integração do WiiMote com um Joystick Logitech (script GlovePie).

Johnty Wang: Wii-mote drums “full” kit

- Usando 2 WiiMotes+Nunchucks pra simular uma bateria (script GlovePie).

Johnty Wang: Wii-mote drums DTXMania simulator “full” kit

- Usando WiiMote para jogar DTXMania (script GlovePie).

Bob Sommers: Wii Drum Machine

- Mais uma bateria virtual, com algumas instruções (script GlovePie e C#).

Creio que dá pra encontrar ainda mais coisas fuçando no YouTube e Google, mas já deu pra entender.

Bom proveito, e espero que essa informação toda possa ser utilizada para criar novas aplicações e jogos usando o WiiMote!

Levei 5 horas para escrever este tópico, e muitas muitas mais para juntar toda a informação, testar eu mesmo o WiiMote, e a pesquisa… então se você for usar ou compartilhar a informação deste tópico, por favor dê o crédito devido, e inclua a mim e todas as outras pessoas citadas na sua lista de referência, ok?

- Renato Murakami


Ações

Informações

4 respostas para “WiiMote”

5 05 2008
Rafael (10:13:14) :

Bacana, interessante as possibilidades estudadas. Quanto custa um WiiMote pra fazer testes no PC ? Para usar um controle do PS2 no PC, o controle custa uns 40Reais, e o cabo USB, uns 70 ! Mas não traz as possibilidades de um controle Wii … Não testei com o controle do Xbox, que deve ser um absurdo de caro :P ! E não compensa só pra brincar com XNA, que funciona somente em máquinas com Shaders acima do 2.0 , minoria entre as máquinas Brasileiras…

Ja vi um Vídeo sobre jogar CS com Wiimote, a jogabilidade se torna mais interessante … A moda do novo controle pode pegar mesmo, assim que soubermos esplorar melhor estes recursos.

5 05 2008
xsportseeker (17:28:17) :

Poisé Rafael, o preço não é nada barato… Wii Remote sozinho no Brasil, o preço vai entre 90 e 250 reais… ainda tem o Nunchuck, que sai mais ou menos por metade do preço, e dependendo pra o que você for usar, ainda tem que ou comprar ou confeccionar os leds infravermelhos.

Mas realmente, faz coisas que nenhum outro controle faz.

O controle do X-Box, pelo que eu sei, é basicamente um controle de PS2. O legal é exatamente isso… poder integrar facilmente usando o XNA (bibliotecas todas prontas pra usar). Os direcionais analógicos tem controle de sensibilidade.
Fora isso, não sei se tem vantagem… mas não tenho certeza porque não tenho o controle.

O controle de PS2 e o adaptador USB também tenho. Pelo menos de tudo que eu tentei, foi a melhor solução pra colocar um gamepad no PC (ou seja, pelo menos bem melhor que os 4 gamepads da Genius e mais uns 3 de outras marcas que eu tive).

Sobre o video do CS com WiiMote… também vi um dos primeiros!
Eles estão usando o soft GlovePie que indiquei no tópico… é um script padrão do programa que mapeia as funções do WiiMote para ser usado como se fosse um mouse.
Pros curiosos:
wiimote with counter-strike
How To - Using WiiMote to Play CS:S
Counter Strike Source with the Wii Remote

5 05 2008
xsportseeker (18:03:11) :

Ahn, deixa eu acrescentar mais uma coisa interessante aqui: Sairam rumores que o XBox 360 vai ter um controle “estilo WiiMote” pra lançar logo logo.
Leiam mais:
Xbox 360’s Wiimote Accessory Is Already In Development, Coming This Generation
More Xbox 360 Wiimote Details: Code Name ‘Newton’
Xbox 360 Wiimote Might Be Made By Motus, Not Gyration

6 05 2008
xsportseeker (12:19:22) :

Mais algumas dúvidas que surgiram e eu estou adicionando:

O kit básico para começar a fuçar é: WiiMote, um Bluetooth compatível no PC (seja placa ou USB), e um software compatível.
Digo compatível porque não são todos os bluetooths que conseguem detectar e conectar com o WiiMote.
Recomendo o da Linksys, USB… mais detalhes no artigo do blog.

Pra rodar o WiiInstrument não precisa do sensor, já que ele só usa os acelerômetros.

Agora pra rodar outros exemplos como o Multipoint Grid, e o GlovePie (que emula o mouse), vc precisa dos sensores porque esses aplicativos usam a câmera infra-vermelha do WiiMote.

Não é absolutamente necessário que seja o sensor do Wii… mas você precisa de pelo menos 2 leds infravermelhos ou 2 fontes de luz infravermelha… e é por isso que o truque com as velas funciona:

Vejam um exemplo no YouTube

Quaisquer dúvidas mais, só colocar um comentário! :D

Deixe um comentário

Você pode usar estas tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>