Компьютеры с современный мир

Контроллеры Wii. Руль для PC на базе Wii Remote Превращаем 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. Немного про сенсорную панель, собственно если она находится слишком близко, то управление может глючить и вообще работать будет все хреново. Тестировал я изначально перед монитором разумеется и находился вблизи. Но стоило только встать из-за стола и отойти подальше — все начинало работать прекрасно! С телевизором разумеется так же проблем никаких нет. Вы от него находитесь как правило на порядочном расстоянии и посему данная проблема вас обойдет стороной.

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

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

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

Приставке Nintendo Wii в этом году исполняется пять лет. Маленький, но всё-таки юбилей. Тем не менее она до сих пор успешно продаётся, а многомиллионные продажи за прошедшие годы лишний раз подтверждают, что продукт получился на редкость удачным. Любопытно, что приставка ни тогда, ни тем более сейчас не отличалась какой-то умопомрачительной графикой и физикой в играх, да и на фоне Sony PS3 и MS Xbox 360 её технические характеристики смотрятся довольно блекло. Секрет успеха кроется в новой модели взаимодействия человека с игрой за счёт использования Wii Remote — контроллера, который может определять своё положение в пространстве и тем самым даёт совершенно иные возможности управления игровым миром, нежели традиционные геймпады с кучей кнопок.

Однако рано или поздно любая технологическая новинка приедается и переходит сначала в разряд привычных, а потом уже и морально устаревших вещей. Если вам надоела Wii (хотя как могут надоесть Wii Sports?), то можно дать вторую жизнь если не самой приставке, то хотя бы её замечательному контроллеру, который мы подключим к ПК под управлением Windows 7 и немного поэкспериментируем. Тот, кто уже интересовался этой тематикой, вряд ли найдёт для себя что-то новое в этой статье. К тому же часть проектов уже не поддерживается энтузиастами. Однако тем, кто никогда не задумывался о такой возможности, должно быть интересно.

Wii Remote подключается к приставке с помощью Bluetooth, а значит ничто не мешает подсоединить его к обычному компьютеру. Естественно, у вас должен быть Bluetooth-адаптер. Можно воспользоваться стандартными средствами Windows 7 для подключения контроллера. Кликаем правой кнопкой по соответствующей иконке в трее и выбраем пункт «Добавить новое устройство» (то же самое можно сделать и через панель управления в разделе «Устройства и принтеры»). На Wii Remote в это же время надо одновременно зажать кнопки 1 и 2 или нажать небольшую красную кнопочку, которая находится рядом с батарейным отсеком. Все четыре светодиода начнут синхронно мигать. В течение нескольких секунд Windows опознает контроллер как Nintendo RVL-CNT-01.

Есть вероятность, что Wii Remote при таком способе подключения будет не совсем корректно работать — например, постоянно отсоединяться, а то и вовсе не подсоединяться. В этом случае придётся воспользоваться платным программным набором IVT BlueSoleil версии 6.4.249.0 или более новой его сборкой. После установки и перезагрузки в области уведомлений появится значок BlueSoleil. Кликаем по нему правой кнопкой, выбираем пункт «Проводник Bluetooth-окружения» и в открывшемся окне запускаем «Поиск устройств» либо нажимаем F5. Снова одновременно зажимаем кнопки 1 и 2 на контроллере, и через несколько секунд он появится среди распознанных устройств. Осталось только дважды кликнуть по иконке джойстика, чтобы окончательно наладить связь с контроллером. Аналогичным образом (зажать 1 и 2, кликнуть дважды по значку) Wii Remote надо будет подключать и в будущем. Посмотреть состояние подключения можно, выбрав соответствующий пункт в меню, которое вызывается правым кликом по иконке устройства.

Первым делом для проверки работоспособности надо будет скачать архив с библиотекой WiimotLib , в котором есть приложение WiimoteTesе. Его-то и надо запустить после распаковки. Если контроллер неправильно подключен, то оно выдаст ошибку. В противном случае вы увидите окно, в котором показывается вся текущая активность Wii Remote. Помашите контроллером, понажимайте на нём кнопки — всё это будет отображаться в окне программы. Кстати, для диагностики её можно держать запущенной постоянно. Если все циферки в Wiimote Accel и IR замерли, значит что-то пошло не так.

Простейший вариант использования Wii Remote с ПК — это замена мыши. Для этого надо будет скачать приложение WiinRemote для Windows или DarwiinRemote для Mac OS X. Запуск режима эмуляции мыши осуществляется нажатием на кнопку B с нижней стороны контроллера. Никаких особых настроек делать не придётся.

Впрочем, самым классическим приложением для взаимодействия различных нестандартных контроллеров с Windows является программа GlovePIE , изначально написанная для работы с перчаткой P5 Glove . На самом деле это довольно развесистая система, которая преобразует любые сигналы с какого-либо контроллера в понятные ОС команды. Это преобразование управляется с помощью скриптов с достаточно простым синтаксисом , так что написать собственный скрипт не очень-то и сложно. Если лень, то можно задать в Google поисковый запрос вроде «имя_программы glovepie script». Энтузиасты написали достаточное количество оных, но какого-то одного места, где их можно легко найти, уже нет. Для начала попробуйте, к примеру, скрипты за авторством Joseph Coulston.

Есть и наработки по эмуляции контроллеров старых приставок для использования совместно с эмуляторами или, например, скрипты для управления медиаплеером. Имеются и наборы для использования Wii Remote в некоторых популярных играх . В общем, ищущий да обрящет. Для использования скрипта достаточно запустить программу и вставить его текст в поле редактора на первой вкладке, а затем нажать на кнопку Run. Wii Remote уже должен быть подключен. Скрипт можно отредактировать и сохранить (File → Save), а в дальнейшем просто открывать его (File → Open). Некоторые готовые скрипты выложены в виде текстового файла с расширением.PIE, открываются они точно так же. Только надо учитывать, что между движением джойстика и реакцией на него есть некоторая задержка, пусть и очень небольшая.

Среди PC-проектов для Wii Remote нельзя не отметить Wiinstrument . Эта кроссплатформенная программа может эмулировать барабанную установку или просто проигрывать семплы. Для полноценной работы нужен ещё Wii Nunchuck. Вариантов работы два: либо по нажатию кнопок проигрывается нужная нота или звук, либо возможно имитировать контроллерами работу рук барабанщика, переключаясь с помощью кнопок между барабанами. В качестве простенького развлечения вполне сгодится, да и освоиться с программой очень легко — минут через 10 уже можно настукивать простенькие ритмы.

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

Предлагается использовать универсальный эмулятор джойстиков PPJoy , который можно скачать . После установки драйвера запускаем из главного меню PPJoy Joystick Driver → Configure Joysticks и нажимаем кнопку Add. В появившемся окне в списке Parallel Port выбираем Virtual joysticks и жмём Add. Подождём, пока установится драйвер, а затем выбираем только что созданный джойстик и нажимаем Mapping, а затем Next.

В мастере выставляем все настройки так, как на картинках ниже.

Перед запуском игры нужно включить утилиту WiiController.exe (\WiiController\WiiController\bin\Release\), изменить по желанию уровень чувствительности и нажать Старт. Как только установится соединение с Wii Remote, будет показан уровень заряда батареи и текущие координаты в пространстве. Теперь можно запускать ваш любимый гоночный симулятор, который, конечно, должен поддерживать работу с рулем. В настройках управления надо выбрать контроллер PPJoy Virtual Joystick 1. Для поворотов влево-вправо надо будет повернуть Wii Remote в соответствующую сторону, а остальные функции распределить между кнопками так, как вам угодно. Собственно, всё — можно приступать к игре.

Наконец, последний проект, достойный внимания, — это эмулятор Nintendo Wii и GameBoy под названием Dolphin Emulator . Причём эмуляция реализована вполне прилично, лишь бы компьютер был достаточно мощным. Эмулятор в чём-то даже лучше оригинальной Wii — можно включить сглаживание и фильтрацию картинки, уменьшение пикселизации, выводить изображение в Full HD и с поддержкой стерео за счёт NVIDIA 3D Vision. Самое главное, конечно, возможность одновременного подключения до четырёх Wii Remote (с Motion Plus и Nunchuck). Скорее всего, понадобится ещё и Sensor Bar. Проект постоянно улучшается и развивается — устраняются «баги», наращивается производительность, добавляются новые возможности. В общем, определённо стоит попробовать.

На этом, пожалуй, можно закончить, так как количество проектов, которые используют Wii Remote в качестве контроллера для чего-либо, очень много, и перечислять их все особого смысла нет. Выше собраны наиболее колоритные и простые в реализации примеры. Есть крайне интересные проекты , для которых придётся, как минимум, докупить или сделать самому указку с ИК-диодом, а то и взяться за инструменты . Всем заинтересовавшимся этой темой рекомендуется посетить сайт Wiimote Project , а также поискать на или Google Code . Если у вас нет контроллера, то его легко можно купить — в России набор из Wii Remote с Nunchuck обойдётся в 2-3 тысячи рублей, но лучше поискать OEM-аналоги, например, на Dealextreme. Удачных экспериментов!

Большинство из нас знают о такой игровой консоли, как 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.

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

Похожие публикации