Используем Wiimote не по назначению. Эмулятор Dolphin и волшебная палка-махалка. Уживутся-ли вместе? Wii remote подключение к компьютеру

Большинство из нас знают о такой игровой консоли, как Wii, отличительной чертой которой является беспроводной контроллер Wii Remote. Сегодня я расскажу вам о моем опыте по превращению этого контроллера в удобный, функциональный, и при этом очень дешевый руль для компьютера.

Возможности самого контроллера впечатляют:

Трехосевой акселерометр
Инфракрасная камера
Подключение по Bluetooth
Вибромотор и динамик
4 светодиодных индикатора
Подключение дополнительных контроллеров
12 кнопок

Для нас, важными являются акселерометр и Bluetooth. А сам порядок действий будет выглядеть примерно следующим образом:

  1. Найти контроллер Wiimote (альтернативное название Wii Remote).
  2. Подключить его к компьютеру.
  3. Наладить преобразование данных, поступающих с акселерометра контроллера в понятный играм формат.

Где взять контроллер Wiimote

Те, у кого есть приставка Wii, могут сразу переходить к следующему пункту. У меня же таковой не оказалось, и я решил купить контроллер отдельно.
В России он стоит около 2000 руб., что, на мой взгляд, неоправданно дорого. Так что, недолго думая, я отправился на аукцион Ebay. И не ошибся! Год назад, новый оригинальный Wii remote + Nunchuk с бесплатной доставкой обошёлся мне всего в $18.50. При беглом осмотре сегодняшних результатов поиска , цены стали еще ниже.

Подключение к компьютеру

На первый взгляд, никаких трудностей здесь возникнуть не должно: главное иметь встроенный или внешний Bluetooth приемник. В интернете легко можно найти несколько инструкций по подключению Wiimote к компьютеру.
Однако, то ли по причине старенькой Windows Vista, то ли из-за еще более старого Bluetooth-адаптера, я так и не смог заставить нормально работать контроллер, используя стандартный стек Bluetooth от Microsoft. Но там, где споткнулась Microsoft, преуспела IVT с её продуктом BlueSoleil (к сожалению, платным). Без особых усилий, мне удалось подключить контроллер и заставить его стабильно работать. Подробную инструкцию можно найти, например, .

Краткая инструкция:

  1. Устанавливаем BlueSoleil (или при удачном стечении обстоятельств используем стандартные средства Windows).
  2. Активируем Bluetooth-адаптер.
  3. Зажимаем кнопки 1 и 2 на контроллере и запускаем поиск устройств.
  4. Контроллер опознается как Nintendo RVL-CNT-01.

Превращаем Wiimote в руль

Для работы Wiimote с PC написано несколько программ, например GlovePIE – универсальная программа для эмуляции устройств ввода, позволяющая, в т.ч. связывать компьютер и Wii Remote используя внутренний язык скриптов.
Поискав, можно найти несколько таких скриптов, но и здесь не все так гладко;)
У меня получилось заставить работать контроллер виртуальным джойстиком, однако работа с акселерометром была очень нестабильна: чуть повернешь контроллер по определенной оси (или слишком быстро/на слишком большой угол/и т.п.), и он зависает, переставая отправлять данные.
Я не стал мириться с этим безобразием, и продолжил поиски. Через некоторое время я набрел на замечательную.NET библиотеку: WiimoteLib . Она позволяет обращаться почти к любым функциям контроллера, и получать данные с его сенсоров. В комплекте идет пример программы, отображающий всю информацию, поступающую с контроллера.

Добавим в систему новый виртуальный джойстик:

Устанавливаем PPJoy
В панели управления находим и открывем «Parallel Port Joysticks».
Щелкаем по кнопке Add
Параметр Parallel Port меняем на Virtual joysticks
Щелкаем по кнопке Add
Выбираем в списке созданный джойстик и щелкаем по «Mapping...»
Next >
Заполняем это и последующие окна как на скриншотах, и заканчиваем настройку.

Я написал небольшую программку на C#, которая, фактически являясь мостом между Wiimote и PPJoy, нажимает виртуальные кнопки и крутит виртуальный руль джойстика. При запуске можно задать чувствительность.


Скачать её вместе с исходными кодами вы можете по этой ссылке: WiiController.zip

Испытания в реальном мире

Все испытания проводились на гоночном симуляторе Colin McRae: DiRT 2.
Заранее прошу прощения за качество фото и видео: все снималось на мыльницу пятилетней давности.

Примерный вид настроек игры:


А вот, как выглядит реальная игра с контроллером:

Впечатления

Сугубо положительные! Прошел всю игру, используя только Wiimote. Все работает настолько стабильно и быстро, что уже через несколько минут забываешь, что у тебя в руках устройство, предназначенное совсем не для этого. Из плюсов: огромный руль не закрывает пол-экрана, и не мешает перемещению рук, все управление выведено на кнопки контроллера.

p.s. Вообще, можно сделать очень много прикольных штук с Wii Remote, вот некоторые из них:

  1. http://johnnylee.net/projects/wii/
    Трекинг пальцев, мультитач доска, трекинг головы (для создания иллюзии трехмерности, заглянуть за край монитора). Фактически, я купил Wiimote под впечатлением от этих проектов.
  2. http://habrahabr.ru/blogs/DIY/91149/
    Виртуальное окно в мир Winscape с трекингом положения головы используя Wiimote
  3. http://habrahabr.ru/blogs/subconsciousness/2877/
    5 самых креативных способов использования Wiimote.

В данной записи хочу рассказать о том, как мне удалось подружить эмулятор игровых приставок GameCube и Wii (а так же аркадного автомата TriForce) с родными средствами управления игровой консоли Nintendo Wii.

Ну думаю не нужно объяснять во-всех деталях, что же такое Долфин и с чем его едят, тем более в заголовке уже есть ответ на этот вопрос. Да — это эмулятор. Не просто эмулятор, а отличный эмулятор. По-сути, уникальный проект, ведь на текущий момент — это единственная успешная разработка по эмуляции консоли 7ого поколения. Пусть злые языки и говорят, что Вий нельзя называть полноценной консолью именно 7ого поколения, в первую очередь из-за технической отсталости, но от фактов не убежишь. Нинтенда пошла своим путем и вместо кардинального обновления железа, решила снабдить свою консоль «инновационными контроллером». И вот как раз в связи с этим контроллером у меня с самого начала было много вопросов, когда я впервые услышал об этом эмуляторе. Ну допустим, графику и звук он выводить научился, а как быть с управлением? Ведь далеко не все игры поддерживают классический контроллер. Конечно благодаря костылям, удалось найти решение. Основной контроллер Вий — Вимоут частично эмулировался мышью, а частично специально записанными движениями. Поместив специально созданный конфигурационный файл в папку с эмулем и произведя кое-какие махинации в настройках управления, можно было назначить на определенные клавиши клавиатуры некие специфичные движения, которые приходилось выполнять в некоторых играх. Это например тряска, повороты, наклоны и т.п. Честно сказать, когда речь заходит о подобных извращениях, об удобстве приходится забыть. Я лично не прошел ни одной игры с записанными движениями — очень уж не удобно, хоть и реально. При появление апгрейда — так называемого вимоута плюс, управлять с клавиатуры стало ещё сложнее, а порой и вовсе невозможно. Но для некоторых популярных игр типа Зельды все же существуют дополнительные «кастыли». Нет ничего не возможного.

Но о чудо! Разработчики не забыли о поддержке реального ЖИВОГО Вимоута! Т.е. да, вы можете купить вимоут и он будет работать с эмулятором! Собственно о том, как заставить его работать, в статье и пойдет речь.

Для начала давайте поймем для чего это все нужно. Контроллеры эти, вообще достаточно дорогая штука, если покупать все необходимое по-отдельности, сумма получается около 5000 т.р., что является чуть-ли не больше половины полной стоимости консоли. Где же это видано, чтобы геймпад стоил в половину стоймости приставки? Ну на Нинтендо ВийЮ например. И на нинтендо Вий — правда 5000 рублей стоит не один Вимоут, а полный набор целиком, а именно:

Wii Remote. Та самая штука похожая на пульт от телевизора. Выглядит она так не с проста. Нинтедо ведь нынче делает курс на ваших бабушек и всяких домохозяек! Такие люди обычно с трудом воспринимают что-то новое и поэтому дизайн контроллера максимально подходит для скорейшей адаптации этой прослойки населения;

Nunchuk. Это контроллер необходимый в основном для шутеров — продается отдельно! Что? Купили нового Метройда, а у вас только стандартный комплект управления? Извольте раскошелится на ещё одну штуковину!

Выглядит она вот так:

Сенсорная панель — крепится рядом с телеком, служит для того, чтобы распознавать движения вимоута;

Wii Remote Plus - это такой аддон управления — штучка, которая улучшает ваш стандартный вимоут и добавляет в него гироскоп, в то время как в обычном вимоуте установлен лишь один акселерометр. Используется в некоторых хороших играх, без которого вы в них не поиграете.

Так же Нинтенда навыпускала ещё много всякой хрени, дабы постричь бабла с несчастных лохов, но обязательной к покупке, она слава богу не является.

Так вот, теперь отвечаем на вопрос. ЗАЧЕМ! ЗАЧЕМ? Ну нафига это все покупать, когда если уж так хочется, можно купить саму Вий и играть сколько влезет без всяких заморочек с эмулями? Тем более если вам совесть не позволяет покупать игры, то приставка давно взломана и можно спокойно качать образы и заливать их на внешний хард, запуская с него же. Ответ на самом деле прост. Превосходство. Эмуляторы испокон веков превосходили консоли по многим параметрам. И Долфин не исключение. Главная особенность — возможность рендерить картинку в честном FULL HD, да вдобавок ещё и со сглаживанием и анизотропными фильтрами! О да! Специально держите дома старый ламповый телевизор, дабы играть на Вий? Выкиньте его на помойку! Подключайте ваш компьютер к огромной FHD плазме по HDMI, запускайте Долфин и наслаждайтесь четкой картинкой и без намеков на мыло! В отличии от PCSX2(эмуль ПС2) Долфин рендерит честное FHD в любой игре, в то время как первый из-за несовершенства видео плагина, далеко не в каждой игре выдает четкую картинку даже при повышенных значениях рендера. Конечно она в любом случае получается лучше оригинального пикселявого убожества, что показывала нам железная пс2, но эстетов может и отпугнуть. Надеюсь ответ на вопрос дан. Теперь переходим от теории к практике.

Итак, для начала расставим точки над i с вопросом о стоймости. Нинтенда сжалилась над нищебродами и выпустила специальный комплект — Wii U Remote Additional Set. Этот комплект работает как с Вий, так и с ВийЮ(не с оригинальными играми, а для обратной совместимости конечно). Стоит он порядка 80 баксов на ебее, в наших магазинах от 2500 до 3000р. Я заказывал на е-бее. Далее ещё одна загвоздка — сенсор бар. Дело в том, что оригинальный сенсор бар снабжен инфракрасным портом, который вы сможете подключить только к Вий/ВийЮ, но никак не к компьютеру. И тут на помощь приходят наши братья китайцы, что выпустили USB сенсор бар. Он то вам и нужен. Стоит порядка 5-10 баксов на ебее или порядка 700-1000р у нас. Доставляют китайцы с е-бея бесплатно, но долго. Выглядит эта штука так и жрет целых 4 AAA батарейки. Чертовски короткий шнурочек для подключения входит в комплект.

Теперь перейдем к вопросу подключения. Для коннекта вимоута вам необходим блютус адаптер и софт для него. У меня давно ещё завалялся дремучий NONAME блютус адаптер и я заставил его работать при помощи IVT BLUE SOLEIL. Старое и проверенное временем ПО. Проблема недавнего времени заключалась ещё в том, что Нинтенда выпустила новую ревизию вимоутов, которые категорически отказывались работать с эмулятором и распознаваться дровами. Честно сказать, далеко копать мне не пришлось. То-ли в новых ревизиях эмулятора эту проблему уже решили, то-ли я просто с самого начала начал использовать правильный софт, но у меня проблем с подключением и определением устройства не возникло, хотя его идентификационный номер, как раз соответствовал той злосчтасной новой ревизии. В некоторых инструкциях рекомендуется использовать Тошибовский блютус драйвер, но он мой адаптер не распознал и похоже работает только с тошибовскими ноутами и адаптерами.

Небольшая пошаговая инструкция:

1. Ставим Blue Soleil, подключаем адаптер блютуса к компу и ждем пока он определится дровами. Скорее всего нужна будет перезагрузка.

2. Если все ок, в трее видим значек блютуса, жмем ПКМ и выбираем «Отобразить классический вид».

3. В появившемся окне нажимаем F5, берем в руки Вимоут и чем-нибудь тонким, типа маленькой отверточки жмякаем кнопку синхронизации (если у вас вимоут старого образца, то нажимаем 1+2 на нем).

Определится устройство может и не сразу, но спустя пару попыток обязательно появится и будет выглядеть так:

4. Кликаем по устройству и нажимаем «Соединение», при этом кнопка синхронизации должна быть активна и светодиоды должны моргать. Далее запускаем эмуль, нажимаем кнопку настроек Вимоута и выбираем «Настоящий Вимоут» из списка. Нажимаем обновить. В случае успешной синхронизации, ваш вимоут завибрирует и загорится один светодиод. Если это случилось — можете вздохнуть спокойно — у вас получилось! Можно запускать игры и попробовать поиграть, даже без сенсорной панели, вы сможете нажимать кнопки или играть в игры где не требуется акселерометр. Подхватить устройство эмулятор/блюсолейл может не сразу — тут уже вступает во-владения определенная доля шаманства. Иной раз все проходит сразу, а иной нужно около 5 попыток, чтобы почувствовать приятную вибрацию в руке, символизирующую о том, что устройство наконец подхватилось. В любом случае, если подхватилось, то разъединятся не должно, хотя тут думаю зависит от качества блютус-адаптера.

5. Немного про сенсорную панель, собственно если она находится слишком близко, то управление может глючить и вообще работать будет все хреново. Тестировал я изначально перед монитором разумеется и находился вблизи. Но стоило только встать из-за стола и отойти подальше — все начинало работать прекрасно! С телевизором разумеется так же проблем никаких нет. Вы от него находитесь как правило на порядочном расстоянии и посему данная проблема вас обойдет стороной.

Немного советов для тру-хардкорщиков. Вместо сенсорной панели, можно попробовать использовать свечи или елочную гирлянду например. Этот способ к сожалению у меня не сработал. Наверное свечи были какие-то неправильные. Вобщем управлялось все крайне тоскливо.

Ну на этом все пожалуй, надеюсь моя инструкция будет кому-нибудь полезной. И запомните, на Вий очень много интересных игр, которые обошли другие системы стороной и несмотря на убогую архитектуру и привычную уже жадность компании, библиотека у системы вышла знатная.

Если вы являетесь счастливым обладателем игровой приставки Wii , то можете расширить возможности своих аксессуаров. Например, вы можете использовать свой пульт Wiimote в качестве мышки на своем компьютере. Если вы еще не купили приставку, но вам захочется попробовать поиграться и поэкспериментировать, то можете купить Wiimote отдельно. Правда, должен предупредить, что цена у данного устройства кусается.

Итак, продолжим. Главная особенность игрового пульта Wii Remote заключается в том, что для связи он использует протокол Bluetooth, что позволило умельцам приспособить его для своих нужд. На вашем настольном компьютере вряд ли установлен Bluetooth-порт. Однако, вы можете приобрести специальный Bluetooth-адаптер в любом салоне связи. Я покупал свой адаптер года три назад от китайского NONAME. Адаптер похож на обычную USB-флешку и также соединяется к USB-порту. Адаптер обычно снабжается маленьким компакт-диском с драйверами. Но, на моем Windows 7 Bluetooth-адаптер заработал и без установки драйверов.

Предположим, у вас уже есть и пульт Wiimote и Bluetooth-адаптер. Пора научиться использовать их в связке. Порядок работы выглядит следующим образом. Сначала подключаем Bluetooth-адаптер к компьютеру. При необходимости установите нужные драйвера. Если все сделано правильно, то в области уведомлений появится значок с буквой B .

Идем дальше. Приготовьте заранее пульт Wiimote, щелкните правой кнопкой мыши на значке Bluetooth-соединения и выберите команду Добавить устройство . Появится диалоговое окно Добавления устройства . Настала очередь подключить игровой пульт к компьютеру. Нажимаем на пульте Wiimote одновременно две кнопки 1 и 2 . Вы увидите, что синие LED-индикаторы начнут мигать — идет передача сигналов для Bluetooth-связи. Внимательно смотрите на открытое диалоговое окно — в нем должна появиться запись Nintendo RLV-CNT-01 . Это идентификатор пультов Wii Remote. Вам необходимо выделить найденное устройство и нажать кнопку Далее .

Наконец, мы видим последнее окно установки, где говорится об успешном завершении процесса добавления устройства на компьютер. Вы можете щелкнуть на кнопке Закрыть , чтобы закрыть это окно. Оно нам больше не понадобится.

Обратите внимание, что процесс поиска устройства идет лимитированное время. Если вы замешкались и не нажали вовремя на кнопки 1 и 2 на пульте, то получите сообщение, что компьютер не обнаружил никакого устройства. Не пугайтесь, ничего страшного в этом нет. Еще раз запустите процедуру поиска устройства и постарайтесь нажать на кнопки побыстрее.

Второй этап. Использование Wiimote в приложениях

Первый этап соединения Wiimote с компьютером позади. Приступаем ко второму этапу. Скачайте сначала архив WiimotLib , в котором содержатся библиотека WiimotLib версии 1.7, справочная информация, примеры для программистов, а также тестовое приложение WiimoteTes.exe. Именно, эта программа нас и интересует.

Пульт Wii Remote по-прежнему должен быть соединен с компьютером, о чем свидетельствует включенный LED-индикатор. Запускаем программу WiimoteTest.exe . На экране появится окно программы Multiple Wiimote Tester , в котором вы можете протестировать работу кнопок.

Работа программы проста. Вы нажимаете на различные кнопки пульта и в программе видите результат ваших действий. На рисунке видно, что я держал нажатой кнопку B , и как результат, напротив этой кнопки в программе стоит флажок. Обратите внимание, что при помощи этой программы можно также тестировать и другие контроллеры Wii: доску Balance Board от Wii Fit, Classic Controller, нунчак и гитару Guitar Hero.

Если у вас все получилось, то примите мои поздравления. Теперь вы можете использовать Wiimote на компьютере в самыхразличных целях. Об этом речь пойдет в следующих выпусках. Если вам не терпится испытать свой пульт в программах, то посетите страницу Wiimote Applications , где собраны различные приложения с использованием пульта.

А если вы знакомы с программированием на C# и вам интересно попробовать свои силы в написании собственных программ с использованием контроллеров Wii, то, возможно, я размещу цикл статей на эту тему на своем сайте для разработчиков developer.alexanderklimov.ru .

This entry was posted on 10 января, 2010 at 16:51 and is filed under . You can follow any responses to this entry through the feed. You can , or from your own site.

Основным контроллером для игровой консоли Wii является Wii Remote (иногда называют «Wiimote»). Главной особенностью Wii Remote в сравнении с конкурентами является детектор движения, позволяющий игрокам управлять персонажами игры и предметами на экране движением руки, или «указывая» на объекты, отображаемые на экране. Это обеспечивается работой акселерометра и светочувствительной матрицы. Кроме этого, к контроллеру можно подключать различные устройства, расширяя таким образом его возможности. Wii Nunchuk - дополнительный контроллер, по форме напоминающий рукоять управления самолетом. Подключается к Wii Remote, содержит аналоговый мини-джойстик, два не аналоговых триггера, и встроенный датчик ускорения.
С беспроводным Wii Remote в руке любая игра очень проста в освоении, а то, что само перемещение контроллера в пространстве влияет на события в игровом мире, придает происходящему небывалую степень интерактивности. Игра кажется более реальной, осязаемой, физически участвуя в игровых событиях, ты испытываешь непередаваемый азарт. Так большинство игр Wii поддерживает возможность подключение сразу четырех Wii Remote, любую встречу с друзьями можно рассматривать как потенциальную вечеринку.