WiiMote (Wii Remote) – найуніверсальніший контролер для ПК та VR

chargepxp (1)

За останні два десятиліття розвиток ігрової індустрії зазнав гігантських змін. Тисячоразове захоплення тактової частоти процесора в комплекті з появою 3d орієнтованих відеочіпів призвело до того, що якщо раніше NPC та головний герой комп’ютерних ігор складалися з десятка пікселів, то зараз вони є складною геометричною фігурою з тисяч полігонів.
Колосальне зростання комп’ютерних ефектів, підвищення якості сюжетної лінії та багатомільйонні бюджети зробили свою справу. Сучасні ігри стали просто засовувати за пояс кінематографічні блокбастери минулого століття.
Але розробникам ігор було недостатньо підвищити якість картинки, що споглядається, необхідно було так само нагородити героїв емоціями, а гравців можливістю просунутого управління.
Якщо в перших 3d іграх для керування персонажем було достатньо однієї руки та “п’яти” кнопок, то сучасні геймерські рішення змушують використовувати 10-20 кнопок + мишу. І навіть цього не вистачає, доводиться використовувати комбінації клавіш, а на ту саму кнопку вішати кілька функцій залежно від ситуації. Використовувати більшу кількість кнопок просто не розумно, гравець просто не зможе їх все запам’ятати.
Така нетривіальна дилема змусила розробників задуматись над темою “А що ж робити далі?”. Існуючі маніпулятори просто не справлялися з покладеними на них функціями, вони були не здатні задовольнити запити розробників і були просто не придатні для більш глибокого занурення геймерів у ігровий світ.

g1 (1)

Першими вихід із ситуації знайшли творці Нінтендо За що їм низький уклін. 😉 У нінтендівців за плечима був цілий вагон досвіду, і гріх ним не скористатися. Результатом обробки цього самого досвіду стало народження комп’ютерної приставки Nintendo Wii та її легендарного контролера Wii Remote (скор. Wiimote).
Творці легенди поставили перед собою непросте завдання створити універсальний, компактний, бездротовий і багатофункціональний девайс. Пристрій повинен був увібрати в себе все найкраще від попередніх ігрових пристроїв, воно мало замінити всі існуючі маніпулятори, всі ці керма, джойстики, геймпади і більше того, він повинен був перевершити їх, доповнивши новими функціями.
Маю визнати, що інженери Нінтендо з цим впоралися на ура.

Сам по собі wiimote – це такий собі бездротовий пульт, яким можна керувати ПК або самою приставкою, але варто поєднати його з одним з безлічі розширень і Ви отримаєте: арбалет, автомат, гоночне кермо або навіть меч джедая. Вся краса в тому, що більшість доповнень фактично являють собою пластмасові корпуси, а тому коштують вкрай недорого. Але якщо немає бажання бігти в магазин і купувати шматок пластмаси, то є інший вихід. Роздрукувати собі корпус. Ви завжди можете надрукувати собі ексклюзивний пластиковий корпус на недорогому домашньому 3D принтері .
Хитра електроніка знаходиться усередині самого Wii Remote. Отже, з чого вартий контролер?
– Блютус модуль,
– 4 світлодіоди,
– 11-30 кнопок (залежно від доповнень),
– Аналоговий стик (у комплекті з Nunchuk)
– ІЧ камера,
– Кілька акселерометрів,
– Гіроскоп (при використанні MotionPlus),
– Динамік та
– Вібромеханізм.

Такий величезний технічний потенціал робить можливості пристрою практично безмежними. Пристрій може стежити за переміщенням ваших рук (причому 3-ма способами одночасно), фіксувати натискання безлічі клавіш, показувати світлодіодом інформацію (стан зброї, кількість набоїв, заряд АКБ і т.д.), вібрувати, коли потрібна віддача (попадання снаряда, стрілянина, з’їзд) і т.д.), пищати при пострілі з лазерної рушниці та багато іншого.

Результатом цього технологічного прориву стала поява безліч ігор. Тепер гравці не виходячи з кімнати змогли перевірити, хто краще закидають вудку, творить заклинання помахами руки, катає кулі в боулінгу та захищається від вогняного полум’я дракона “справжнім/вигаданим” щитом.

Розв’язка: В принципі, весь огляд можна було б не писати і просто мовчки порадіти за геймерів нінтендо, якби не одне, але дуже велике “АЛЕ”. Новомодний контролер підключався до приставки за допомогою звичайного стандарту BlueTooth, а це означало, що пристрій можна легко підключити до будь-якого телефону, кпк або комп’ютера.
Існує безліч програм та проектів щодо використання Wiimote в ігровій та професійній сфері (так-так, багато корпорацій, у тому числі й українські, купують їх сотнями для інтеграції у свої промислові проекти).

Досить цікавими видаються проекти спільного використання wiimote з окулярами віртуальної реальності Oculus Rift, Cardboard чи подібними. Універсальний протокол дозволяє з однаковою ефективністю підключати пристрій як до ПК, так і до смартфона. У той час як вбудовані в окуляри гіроскоп і акселерометр визначають напрямки погляду гравця, wiimote здатний визначити положення рук, напрямок прицілу, а також переміщення об’єкта в просторі. У якомусь плані Oculus Rift DK2 копіює технології wii remote, та сама камера, ті ж ІЧ світлодіоди. Технологія проста та геніальна. Складнощі залишаються тільки в тому, як зав’язати всі ці переміщення за допомогою ПЗ, або організувати їх підтримку безпосередньо в грі.

Розповім я, мабуть, про найпопулярнішу і багатофункціональну програму для роботи з Wii remote – GlovePie . Принадність програми в її універсальності, Ви можете розпізнати за допомогою її рух wiimote, а замість них емулювати рухи мишки, джойстика , віртуальної рукавички або ще чогось витонченішого.
Від спільного перейдемо до конкретики. Наше завдання написати скрипт для гри в якийсь шутер. Припустимо, що ми маємо доповнення до контролера, що дозволяє відтворити зовнішній вигляд справжньої зброї. 😉

wiilightgu (1)

Найголовніше питання, це як реалізувати управлінняприцілом нашого автоматакурсором?
Існує 3 способи, як визначити розташування wiimote в просторі (руки, в якій гравець тримає зброю).
1) За допомогою вбудованих акселерометрів. Найпростіший спосіб. Характерна неточність роботи, підходить для емуляції джойстиків і шутерів, що не вимагають активних “смикань” мишкою.

2) За допомогою MotionPlus. Це “приставка” до wiimote має додатковий акселерометр та гіроскоп. Що значно збільшує точність розпізнавання рухів. Скриптів за допомогою MotionPlus дуже мало і зазвичай вони є надзвичайно “просунутими”. До недоліків цих скриптів можна віднести необхідність калібрування. Тобто як тільки Ви запустили скрипт, Вам необхідно покласти девайс на рівну поверхню і почекати кілька секунд.

 3) За допомогою вбудованої ІЧ камери. Вбудована камера здатна розпізнавати зображення у дуже вузькому діапазоні, а саме вона бачить лише яскраві інфрачервоні сигнали, такі як Sensor Bar . Сенсор бар (іде в комплекті з wii) – це невелика платівка із пластику (близько 20 см.) із закріпленими по краях інфрачервоними світлодіодами. Камера бачить лише ці два джерела світла та визначає координати середини між ними. Ця точка і буде курсором миші.
Недолік цієї технології в тому, що якщо повернути wiiremote на 90 градусів від екрану, то камера перестане бачити sensor bar і курсор мишки замре в останньому положенні (хоча це обмеження можна обійти 😉 ).
Спосіб позиціонування з Сенсор Баром мені подобається найбільше, дуже простий та точний.

До речі варто додати, що існують скрипти, які поєднують усі три способи.

 wii600

Кульмінація: Отже, Wiimote – повністю ПК сумісний контролер для орієнтації у 3D просторі, який подарує Вам незабутні відчуття у години, проведені за комп’ютерними іграми. Про Wii remote можна говорити дуже багато. Але найкраще просто придбати його і потішитись наживо 😉

Приклад Гри з wiimote на ПК

Використовується FPS glovepie сценарій. Підключено motion plus для визначення розташування курсору.
скрипт працює дуже плавно, щоправда, до роботи акселерометра потрібно звикнути 😉