На екрані падають кольорові предмети, а ви рухаєте долонею перед вебкамерою, щоб підставити під них кошик. Миша й клавіатура не потрібні: гра стежить за положенням руки й пересуває кошик слідом. Для такого керування потрібні камера та програма, яка розпізнає жести. Щоправда, запустити так будь-яку гру не вийде. Розробник має передбачити відповідні команди або знадобиться окрема програма, що замінює звичайні кнопки.
Рухи рук як спосіб керування персонажами в іграх
У браузерній грі Air Juggler долоні працюють як рухомі ракетки: ними потрібно відбивати м'яч, щоб він не впав униз. Камера бачить обидві руки, а гра підставляє невидимі поверхні під м'яч відповідно до їхнього положення. Не потрібно запам'ятовувати комбінації клавіш: рух ліворуч перед камерою змінює місце, де м'яч може відскочити. Руки мають залишатися в кадрі.
Зовні це нагадує ігри з кульками на кшталт PlinkoX із каталогу Dudebet, але керування інше. Там переміщення долоні не спрямовує кульку під час падіння, тоді як в Air Juggler положення руки безпосередньо впливає на її відскок. Такі механіки працюють лише там, де гра читає рухи з камери; звичайний сайт не почне розуміти жести сам по собі.
Розпізнавання долонь і пальців за допомогою вебкамери
Вебкамера надсилає програмі послідовність зображень, а система розпізнавання шукає на кожному кадрі руки. Наприклад, MediaPipe Hand Landmarker визначає 21 точку на одній кисті: зап'ясток, суглоби та кінчики пальців. Для кожної точки програма отримує координати. За ними можна зрозуміти, де рука розташована відносно екрана і як змінилося положення пальців після останнього кадру. За цими точками можна відстежувати поворот кисті, не шукаючи щоразу руку на всьому зображенні.
Коли долоня розкрита, кінчики більшості пальців розташовані далеко від їхніх основ. У стиснутому кулаці ці відстані змінюються. Програма порівнює координати та вирішує, чи бачить кулак, відкриту долоню або піднятий палець. Замість того щоб вручну описувати колір шкіри та контури, розробник використовує навчену модель. Вона може стежити за двома руками одночасно, якщо обидві видно в кадрі. Для цього модель шукає окремий набір точок для кожної кисті.
Перетворення жестів на команди для ігрового персонажа
У грі Orb Catcher відкрита долоня рухає курсор, яким ловлять сині кульки й уникають червоних. Стиснутий кулак зупиняє гру, а піднятий великий палець запускає раунд або дозволяє почати заново. Програма не вгадує бажання гравця: автор гри заздалегідь пов'язав кожен рух із певною командою. В іншій грі такий самий кулак може означати удар, захист або присідання.
Щоб курсор не стрибав від кожного руху пальців, програма може згладжувати зміни положення руки. Для окремих команд корисна й коротка перевірка: людина має втримати жест, перш ніж гра його виконає. У Orb Catcher це допомагає не ставити гру на паузу, коли пальці на мить випадково зігнулися. Команда надходить лише після впевненого розпізнавання потрібного положення пальців.
Чому гра не реагує на кожен рух пальця
У Orb Catcher зміна жесту має протриматися щонайменше 150 мілісекунд, перш ніж її приймуть за нову команду. Цього вистачає, щоб випадкове згинання пальця не перетворилося на паузу. Для безперервного руху курсора така затримка була б незручною, тому переміщення долоні й разові команди обробляються по-різному.
Освітлення та швидкість рухів як причини помилок керування
У темній кімнаті вебкамера може показувати руку розмитою, особливо коли її швидко переміщують. Програмі тоді складніше знайти кінчики пальців. Якщо людина відвернула кисть від об'єктива або хтось пройшов позаду, система ненадовго втрачає потрібні точки. На затримку впливає комп'ютер: йому треба встигнути отримати кадр, розпізнати руку та передати команду грі. Якщо камера знімає мало кадрів, різкий рух може не потрапити на жоден із них.
Неточний жест в аркаді може коштувати пропущеного м'яча. Програми, які замінюють мишу рухами рук, іноді сприймають згинання пальця за клік. Якщо в браузері відкрита гра з каталогу Dudebet, така програма може випадково натиснути кнопку меню. Перед використанням перевірте рух курсора на тестовому екрані. Потім відсуньтеся від камери, приберіть яскраве світло за спиною й зробіть кілька повільних рухів. Так легше побачити, коли курсор стрибає або спрацьовує зайве натискання.
- Дзеркальне зображення. Якщо рух ліворуч зсуває курсор праворуч, перевірте налаштування віддзеркалення.
- Друга рука. Якщо гра відстежує лише одну кисть, другу краще прибрати з кадру.
- Зайві програми. Закрийте відеодзвінки, що використовують камеру, перед запуском гри.
- Точність паузи. Перевірте, чи кулак справді зупиняє гру, перш ніж переходити до складного рівня.
Дозвіл на використання камери та захист приватності
Перед першим використанням камери браузер запитує ваш дозвіл, якщо його не було надано раніше. В Air Juggler розпізнавання рук відбувається безпосередньо в браузері, але інші застосунки можуть обробляти відео інакше. Перед запуском перевірте адресу та політику приватності гри. Після завершення можна відкликати дозвіл на камеру в налаштуваннях цього конкретного сайту.
