Руль для PC на базе Wii Remote



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

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

       image Трехосевой акселерометр
       image Инфракрасная камера
       image Подключение по Bluetooth
       image Вибромотор и динамик
       image 4 светодиодных индикатора
       image Подключение дополнительных контроллеров
       image 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.

    Официальная ссылка на скачивание: PPJoySetup-0.8.4.5-early-release.exe

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

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

              

       Я написал небольшую программку на 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.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 56

      0
      Как у Вас получается не стрейфится во время игры?
        0
        К моему стыду, я не заядлый геймер, и не знаю о применении приема «стрейф» в жанрах, отличающихся от 3d-шутера. Не поясните, что вы имели ввиду?
          0
          Обычно когда люди играют, то сами наклоняются в сторону куда движется их персонаж. А у Вас руки, практически всю игру оставались по центру.
            0
            Возможны две причины:
            1. Старался держать джойстик в пределах видимости камеры.
            2. Передо мной стояла кипа книг, выполняющая роль штатива и слега ограничивающая подвижность ;)
              0
              *слегка, конечно же.
        +2
        Круто! Уже заказал на dealextreme.com )
          +15
          Для атмосферы нужен ещё и сам руль :)
            +1
            +1, Без осевой опоры как-то не по настоящему… да и руки наверное устают.
              +1
              Он же лёгкий. Но по желанию — можно и с опорой:

              Их куча разных. Можно хоть к крышке кастрюли прицепить.
            0
            Для блога DIY он должен быть сделан из фанеры.
              +2
              Из пластиковых бутылок!
                0
                Это к Бахметьеву.
            0
            Второй контроллер так понимаю можно использовать вместо trackir?
              +3
              Руки не устают держать контроллер на весу?
                0
                Да нет, контроллер легкий, а руки можно и на стол положить. Кроме того, во время езды быстро забываешь про него.
                  0
                  Он не тяжелый, но вы мыслите в правильную сторону.
                  0
                  Надо попробовать сделать нечто подобное с телефоном на android.
                    0
                    На айфон очень давно ставил какое-то приложение, позволяющее по вайфаю работать как руль, и гонял в undercover кажется, было очень не удобно.
                    0
                    А может вместо руля купить себе ВАЗ? Реалистичность и суровость автомира гарантирована.
                      +5
                      Уровень комфорта не тот (:
                      0
                      Я пробовал использовать телефон на android через спец. прогу, получилось аналогично вашему. Но задержка очень большая при агрессивном рулении на большой скорости — ездить практически невозможно. На видео вы едите слишком медленно, уж простите. А когда машина входит с заносом, а после её нужно стабилизировать, вот тут и начинается руль в одну сторону а колеса все ещё в другую…
                        +1
                        А как же фидбэк? А ощущение руля в рукам? А педали? Нет уж. Но если есть Wii, то можно и попробовать такой вариант.
                          0
                          А задержка какая?
                            0
                            Скажу честно, возможно какая-то задержка существует, но я её не заметил.
                            0
                            Да, DIRT2 — кайфная и очень реалистичная игрушка.
                            Без руля там полноценно не погоняешь,
                            на клаве — либо убиваешься в хлам, либо приходишь последним.

                            ТС с помощью Wii Remote решил проблему руля,
                            остается дождаться, кто придумает динамическое сиденье, которое будет передавать на игрока динамику движения гоночного авто.

                              +2
                              Реалистичная? Не смешите мои ботинки. В Race Driver GRID модель и то была куда более адекватной. На клавиатуре прошёл DiRT2 на харде — одной рукой, второй держал бокал с чаем.

                              А вообще, во всех рейсингах Codemasters за последние три-четыре года прослеживается чёткая тенденция к примитивизации игровой физики и упрощения управления автомобилями.
                                0
                                >>прошёл DiRT2 на харде — одной рукой, второй держал бокал с чаем
                                Может у вас железо тормозило? Лично у меня графика была потрясающей и машина билась очень реалистично.
                                Это что-то странное — пить чай из бокала. Из бокалов пьют не чай :)
                                  0
                                  Да, машина бьётся реалистично, да, выглядит все неплохо. Но физика поведения автомобиля очень далека от «очень реалистичной», от этого не уйти — даже первая часть DiRT была в этом плане куда более продвинутой.

                                  И да, из бокалов пьют все, что пьётся.
                                    0
                                    зато игровой баланс хороший. А вообще я был разочарован, когда не увидел в dirt 2 камаза…
                                      0
                                      Баланс — вероятно, для избалованого аркадами юзера даже сложной может показаться. Но вот мне, как заядлому симуляторщику, было скучно.
                                        0
                                        Интересно увидеть ролик работы такого руля в Richard Burns Rally. Мне тоже показалось, что машина медленно едет и как-то странно в поворотах себя ведет, медленно реагирует на команды, чтоли.
                                0
                                  0
                                  Стоит попробовать Live for Speed!
                                  Вроде как, в этом симе до сих пор самая реальная физика…
                                  0
                                  Это не являеться более простым решением? clck.ru/7FMZ
                                  Контроллер непосредственно для PC.
                                    0
                                    А есть на PC игры с поддержкой Вимота, что нибудь типа тенниса или слэшера?
                                    Вимот привлекает прежде всего возможностью играть во что-то динамичное, если бы на PC было бы что нибудь альтернативное WiiSport это сэкономило бы деньги на покупку консоли.
                                      +2
                                      в вин7 кстати уже не нужен солеил.
                                      через Долфин(эмулятор вии) можно запеирить намертво. И в гловпае какая-то опция тоже была для пеиринга постоянного.

                                      сам использую виимоут-классик в качестве беспроводного геймпада к компу.
                                        0
                                        Если бы это был не харб, сказал бы что видио постановочное :)
                                          +1
                                          Супер! Никогда не задумывался о подключении Wii контроллера к ПК
                                            +2
                                            А ещё можно Wiimote прикрутить к голове и при повороте головы смещать картинку, с очками вообще будет супер :)
                                              0
                                              Там, в p.s. по первой ссылке Wiimote поставили под экраном, а на голову прикрепили 2 ИК-диода. Эффект тот же)
                                                +1
                                                А еще умельцы делают подобные устройства при помощи веб-камеры и светодиодов.
                                                  +1
                                                  Пробовал, крайне неточная фигня. Очень сложно отфильтровать ИК диапазон.
                                                    0
                                                    В продаже есть готовые устройства. Но продаются ли они у нас в России?
                                                      0
                                                      Ох, что то мне не верится что даже готовые устройства работают нормально. Я делал сам, сидел в кромешной темени, и то что то порой проскакивало. И ещё один минус, угол поворота маленький, на вскидку ± 30 градусов, потом крайний диод закрывается головой и система сходит сума :).
                                                      В случае Wiimote все проще, у него таких ограничений нет. Да и его проще спрятать в кепке чем сидеть с лампочками на голове как сумасшедший ученый :D
                                                +2
                                                Эта функция была бы очень полезна в авиасимуляторах.
                                                +2
                                                Любопытный пост. Автор молодец. Правда, при помощи Wii Remote невозможно получить всего удовольствия от Colin McRae: DiRT 2. Я играл в эту игру используя руль Logitech G27. Могу сказать, что у DiRT 2 самый зверский фидбэк из всех автосимуляторов которые мне только встречались. Во время игры боишься сломать руль, так он сопротивляется твоим действиям. Конечно, нужно учитывать цену вопроса. G27 не самое дешевое удовольствие. Поэтому идея использования подручного Wii-контроллера всецело мной поддерживается.
                                                  +1
                                                  Глядя на видео и на движение рук прям физически ощущаю какая огромная задержка. С такой я бы играть не смог, так как для меня это критично. Реакция должна быть молниеносной, машина должна чуть ли не опережать игрока, а тут сонное зомби.
                                                  Но как идея это 5+
                                                    0
                                                    Согласен, и поддерживаю.
                                                    Реакция должны быть мгновенной. Устройства на основе блутуз — это просто не способны в виду особенности работы. Потому считаю что идея хорошая, — но по факту играть так — не комфортно и только раздражает.
                                                    0
                                                    > $18.50
                                                    это не оригинал
                                                    на DX можно найти несколько таких клонов еще дешевле и почитав форум можно понять в чем отличия.
                                                      0
                                                      Может расскажете в чем отличия или дадите ссылку на форум?
                                                      +1
                                                      блин, с таким видом камеры «сверху и сзади» нереально играть в игры типа ДИРТ. Или из кабины, что как правило очень сложно или с бампера.
                                                      Так в свое время катался в КолинмакРалли с рулем MOMO. ээээххх где же те беззаботные деньки…
                                                        0
                                                        Так телефон на андроиде можно использовать. Прога есть, которая делает из телефона руль для компьютера. А есть, которая геймпадом телефон делает.
                                                          0
                                                          Оригинальный? За 18? Сделайте в научных целях, пожалуйста фотографии джойстика — фронтальную и заднюю (со снятой крышкой батарейного отсека).

                                                          Посмотрим, насколько точные копии научились делать китайцы.
                                                            0



                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                          Самое читаемое