Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Карта дій XR
Godot має функцію карти дій як частину системи XR. На даний момент ця система є частиною модуля OpenXR. У найближчому майбутньому планується включити WebXR до цього, тому в цьому документі ми називаємо це системою карти дій XR. Він реалізує вбудовану систему карт дій OpenXR переважно точно так, як вона пропонується.
Система карти дій XR надає вхідні, позиційні дані та вихід для контролерів XR вашій грі/додатку. Це робиться шляхом надання іменованих дій, які можна адаптувати до вашої гри/програми, і прив’язування їх до фактичних входів і виходів на ваших пристроях XR.
Оскільки карта дій XR наразі є частиною модуля OpenXR, OpenXR потрібно ввімкнути в налаштуваннях вашого проекту, щоб відкрити її:
Потім ви знайдете інтерфейс карти дій XR у нижній частині екрана:
Примітка
Вбудована система введення Godot має багато спільного з системою карт дій XR. Фактично, наша початкова ідея полягала в тому, щоб додати функціональність до існуючої системи введення та надати дані системі карти дій OpenXR. Ми можемо повернутися до цієї ідеї в якийсь момент, але, як виявилося, було занадто багато проблем, які потрібно було подолати. Щоб назвати декілька:
Система введення Godot здебільшого зосереджена навколо кнопкових вводів, XR додає в мікс тригери, вісь, пози та тактильні ефекти (вихід). Це значно ускладнить систему введення завдяки функціям, які не працюватимуть для звичайних контролерів, або контрастуватиме з поточним підходом. Вважалося, що це призведе до плутанини для більшості користувачів Godot.
Система введення Godot працює з необробленими вхідними даними, які аналізуються та запускають дії, що видають. Ці вхідні дані стають доступними для кінцевого користувача. OpenXR повністю приховує необроблені дані та виконує весь аналіз за нас, ми отримуємо доступ лише до вже проаналізованих даних дій. Ця невідповідність може призвести до помилок, коли нічого не підозрюючий користувач намагатиметься використовувати пристрій XR як звичайний пристрій введення.
Система введення Godot дозволяє змінювати те, які вхідні дані прив’язані до дій під час виконання, а OpenXR — ні.
Система введення Godot базується на ідентифікаторах пристроїв, які не мають сенсу в OpenXR.
Це означає, що гра/програма, яка поєднує традиційні входи з контролерами XR, матиме розділення. Для більшості програм використовується або один, або інший, і це не розглядається як проблема. Зрештою, це обмеження системи.
Стандартна карта дій
Godot автоматично створить карту дій за замовчуванням, якщо файл карти дій не знайдено.
Попередження
Цю мапу за замовчуванням було розроблено, щоб допомогти розробникам перенести свої ігри/програми XR з Godot 3 на Godot 4. У результаті ця карта по суті пов’язує всі відомі входи на всіх контролерах, які підтримуються за замовчуванням, до дій один на один. Це невдалий приклад створення карти дій. Це дійсно дозволяє новому розробнику мати відправну точку, коли він хоче ознайомитися з Godot XR. Це запобігає необхідності спочатку розробити відповідну карту дій для їхньої гри/програми.
У цій інструкції ми почнемо з порожньої карти дій. Ви можете видалити запис «Набір дій Godot» вгорі, натиснувши значок кошика. Це скасує всі дії. Ви також можете видалити контролери, які не бажаєте налаштовувати, докладніше про це пізніше.
Набори дій
Примітка
Перш ніж ми зануримося, ви побачите термін XR runtime, який використовується в цьому документі. Під середовищем виконання XR ми маємо на увазі програмне забезпечення, яке контролює та взаємодіє з гарнітурою AR або VR. Потім середовище виконання XR надає нам це через API, наприклад OpenXR. Отже:
для Steam це SteamVR,
для Meta на настільному комп’ютері це клієнт Oculus (включно з використанням посилання Quest),
для Meta on Quest це рідний клієнт Quest OpenXR,
у Linux це може бути Monado тощо.
Карта дій дозволяє нам організувати наші дії за наборами. Кожен набір можна ввімкнути або вимкнути самостійно.
Ідея полягає в тому, що ви можете мати різні набори, які забезпечують прив’язки в різних сценаріях. Ви можете мати:
набір
Character control, коли ви ходите,набір
Керування транспортним засобом, коли ви керуєте транспортним засобом,набір
Меню, коли меню відкрито.
Після цього можна ввімкнути лише набір дій, застосовний до поточного стану вашої гри/програми.
Це особливо важливо, якщо ви бажаєте прив’язати той самий вхід на контролері до іншої дії. наприклад:
у вашому наборі
Character controlви можете мати діюJump,у вашому наборі
Керування транспортним засобомви можете мати діюПрискорити,у вашому наборі
Менюви можете мати діюВибрати.
Усі вони прив’язані до тригера на контролері.
OpenXR прив’язуватиме вхід або вихід лише до однієї дії. Якщо один і той самий вхід або вихід пов’язано з декількома діями, оновленою/використаною буде одна з активних дій із найвищим пріоритетом. Таким чином, у нашому прикладі вище буде важливо, щоб лише один набір дій був активним.
Для вашої першої гри/програми XR ми наполегливо рекомендуємо почати лише з одного набору дій і не надто розробляти речі.
Для нашого покрокового керівництва в цьому документі ми створимо один набір дій під назвою my_first_action_set. Ми робимо це, натискаючи кнопку :
Стовпці в нашій таблиці такі:
Кол |
Значення |
Опис |
|---|---|---|
1 |
My_first_action_set |
Це внутрішня назва набору дій. OpenXR не визначає конкретних обмежень щодо цієї назви, окрім розміру, проте деякі середовища виконання XR не підтримують пробіли або спеціальні символи. |
2 |
Мій перший набір дій |
Це зрозуміла для людини назва набору дій. Деякі середовища виконання XR відображатимуть це ім’я для кінцевого користувача, наприклад, у діалогових вікнах налаштування. |
3 |
0 |
Це пріоритет набору дій. Якщо кілька активних наборів дій мають дії, пов'язані з входами або виходами одного й того ж контролера, набір дій з найвищим значенням пріоритету визначатиме дію, яка оновлюється. |
Дії
На карті дій XR дії – це об’єкти, з якими взаємодіятиме ваша гра/додаток. Наприклад, ми можемо визначити дію Shoot, і вхідні дані, пов’язані з цією дією, запускатимуть сигнал button_pressed на відповідному вузлі XRController3D у вашій сцені з Shoot як параметром name сигналу.
Ви також можете опитувати поточний стан дії. XRController3D, наприклад, має метод is_button_pressed.
Дії можна використовувати як для введення, так і для виведення, і кожна дія має тип, який визначає її поведінку.
Тип
Boolвикористовується для дискретного введення, як кнопки.Тип
Floatвикористовується для аналогового введення, як тригери.
Ці два є особливими, оскільки вони єдині взаємозамінні. OpenXR оброблятиме перетворення між входами та діями Bool і Float. Ви можете отримати значення дії типу Float, викликавши метод get_float на вашому вузлі XRController3D. Під час зміни він видає сигнал input_float_changed.
Примітка
Якщо аналогові входи запитуються як кнопки, застосовується порогове значення. Наразі цим порогом керує виключно середовище виконання XR. Є плани розширити Godot, щоб забезпечити певний рівень контролю над цими порогами в майбутньому.
Тип Vector2 визначає введення як вхід осі. Сенсорні панелі, джойстики та подібні елементи вводу представлені як вектори. Ви можете отримати значення дії типу Vector2, викликавши метод get_vector2 на вашому вузлі XRController3D. Під час зміни він видає сигнал input_vector2_changed.
Тип Pose визначає просторово відстежуваний вхід. У OpenXR доступні кілька вводів «пози»: aim, grip і palm. Ваш вузол XRController3D автоматично позиціонується на основі дії пози, призначеної властивості pose цього вузла. Про пози пізніше.
Примітка
Реалізація OpenXR у Godot також відкриває спеціальну позу під назвою Skeleton. Це частина реалізації відстеження руки. Ця поза відображається через дію скелет, яка підтримується за межами системи карти дій. Таким чином, він завжди присутній, якщо підтримується відстеження руки. Вам не потрібно прив’язувати дії до цієї пози, щоб використовувати її.
Нарешті, єдиним типом виведення є Haptic, і він дозволяє нам встановити інтенсивність тактильного зворотного зв’язку, наприклад вібрації контролера. Контролери можуть мати кілька тактильних виходів, а підтримка тактильних жилетів з’являється в OpenXR.
Отже, давайте додамо дію для нашої прицільної пози, ми робимо це, натиснувши кнопку + для нашого набору дій:
Стовпці в нашій таблиці такі:
Кол |
Значення |
Опис |
|---|---|---|
1 |
Aim_pose |
Це внутрішня назва дії. OpenXR не визначає конкретних обмежень для цього імені, окрім розміру, однак деякі середовища виконання XR не люблять пробіли чи спеціальні символи. |
2 |
Прицільна поза |
Це зрозуміла назва дії. Деякі середовища виконання XR відображатимуть це ім’я для кінцевого користувача, наприклад, у діалогових вікнах налаштування. |
3 |
Поза |
Тип цієї дії. |
OpenXR визначає низку прив’язаних поз введення, які зазвичай доступні для контролерів. Немає правил, які пози підтримуються для різних контролерів. OpenXR наразі визначає такі пози:
Поза прицілювання на більшості контролерів розташована трохи попереду контролера та спрямована вперед. Це чудова поза для лазерних указок або для вирівнювання дула зброї.
Поза рукоятки на більшості контролерів розташована там, де розташована кнопка ручки на контролері. Орієнтація цієї пози відрізняється між контролерами та може відрізнятися для того самого контролера в різних середовищах виконання XR.
Поза долоні на більшості контролерів розташована в центрі долоні, яка тримає контролер. Це нова поза, яка доступна не в усіх середовищах виконання XR.
Примітка
Якщо використовується відстеження рук, наразі існують великі відмінності в реалізації між різними середовищами виконання XR. У результаті карта дій наразі не підходить для відстеження рук. Над цим ведеться робота, тому слідкуйте за оновленнями.
Давайте завершимо наш список дій для дуже простої гри/програми-стрілялки:
Дії, які ми додали:
рух, що дозволяє користувачеві пересуватися за межами звичайного відстеження масштабу кімнати.
grab, який виявляє, що користувач хоче щось утримати.
стріляти, який визначає, що користувач хоче вистрілити зі зброї, яку він тримає.
тактильний, що дозволяє виводити тактильний зворотний зв’язок.
Тепер зауважте, що ми не розрізняємо ліву та праву руку. Це те, що визначається на наступному етапі. Ми реалізували систему дій таким чином, що ви можете прив'язати ту саму дію до обох рук. Відповідний вузол XRController3D видаватиме сигнал.
Попередження
І для захоплення, і для стрілянини ми використовували тип Bool. Як згадувалося раніше, OpenXR виконує автоматичні перетворення з аналогових елементів керування, однак не всі XR Runtimes наразі застосовують розумні порогові значення.
Ми рекомендуємо як обхідний шлях використовувати тип Float під час взаємодії з тригерами та кнопками ручки та застосувати власне порогове значення.
Для таких кнопок, як A/B/X/Y і подібних, де немає аналогової опції, тип Bool працює добре.
Примітка
Ви можете прив’язати ту саму дію до кількох входів для того самого контролера в одному профілі. У цьому випадку середовище виконання XR спробує об’єднати вхідні дані.
Для входів
Boolце виконає операціюORміж кнопками.Для вхідних даних
Floatбуде прийнято найвище значення з прив’язаних вхідних даних.Поведінка для входів
Poseне визначена, але, ймовірно, буде використано перший зв’язаний вхід.
Ви не повинні прив’язувати кілька дій одного набору дій до одного входу контролера. Якщо ви це зробите або якщо дії пов’язані з кількома наборами дій, але вони мають збігаються пріоритети, поведінка буде невизначеною. Середовище виконання XR може просто не прийняти вашу карту дій або прийняти її за принципом «хто прийшов, перший обслужився».
Ми все ще вивчаємо обмеження щодо прив’язки кількох дій до одного результату, оскільки цей скрипт має сенс. Здається, специфікація OpenXR не дозволяє цього.
Тепер, коли ми визначили основні дії, настав час їх підключити.
Профілі
У OpenXR прив’язки контролера фіксуються в так званих «Профілях взаємодії». Ми скоротили його до «Профілів», оскільки він займає менше місця.
Цю загальну назву обрано тому, що контролери не охоплюють всю систему. На даний момент також існують профілі для трекерів, пультів і гусеничних ручок. Існують також положення щодо таких пристроїв, як бігові доріжки, тактильні жилети тощо, хоча вони ще не є частиною специфікації.
Попередження
Важливо знати, що OpenXR суворо перевіряє підтримувані пристрої. Основна специфікація визначає низку контролерів і подібних пристроїв з їх підтримуваними входами та виходами. Кожне середовище виконання XR має приймати ці профілі взаємодії, навіть якщо вони не застосовуються.
Нові пристрої додаються через розширення, а середовища виконання XR повинні вказувати, які з них вони підтримують. Середи виконання XR, які не підтримують пристрій, доданий через розширення, не сприйматимуть ці профілі. Середи виконання XR, які не підтримують додані типи вводу або виводу, часто аварійно завершують роботу.
Таким чином, Godot зберігає метадані всіх доступних пристроїв, їхні входи та виходи, а також те, яке розширення додає підтримку для них. Ви можете створити профілі взаємодії для всіх пристроїв, які бажаєте підтримувати. Godot відфільтровує ті, які не підтримуються середовищем виконання XR, яке використовує користувач.
Це означає, що для підтримки нових пристроїв вам може знадобитися оновлення до новішої версії Godot.
Однак також важливо зазначити, що карту дій було розроблено з урахуванням цього. Коли нові пристрої з’являються на ринку або коли ваші користувачі використовують пристрої, до яких у вас немає доступу, система карт дій покладається на середовище виконання XR. Завдання середовища виконання XR — вибрати найкращий профіль взаємодії, який було зазначено, і адаптувати його для контролера, який використовує користувач.
Те, як середовище виконання XR це робить, залежить від реалізації середовища виконання, тому між середовищами виконання існують великі відмінності. Деякі середовища виконання можуть навіть дозволяти користувачам самостійно редагувати прив’язки.
Загальний підхід до середовища виконання полягає в тому, щоб спочатку знайти відповідний профіль взаємодії. Якщо цього не знайдено, він перевірить найпоширеніші профілі, такі як «Touch controller», і виконає перетворення. Якщо нічого не допомагає, він перевірить загальний "Simple controller".
Примітка
Тут слід зробити важливий висновок: коли контролер знайдено та до нього застосовано карту дій, час виконання XR не обмежується точними конфігураціями, які ви встановили в редакторі карти дій Godot. Хоча середовище виконання зазвичай вибирає відповідне відображення на основі одного з прив’язок, які ви встановили в карті дій, воно може відхилятися від нього.
Наприклад, коли використовується профіль сенсорного контролера, може мати місце будь-який із наведених нижче сценаріїв:
ми могли б використовувати контролер Quest 1,
ми могли б використовувати контролер Quest 2,
ми могли використовувати контролер Quest Pro, але не було надано профілю Quest Pro або використовуване середовище виконання XR не підтримує контролер Quest Pro,
це може бути зовсім інший контролер, для якого не було надано жодного профілю, але середовище виконання XR використовує сенсорні прив’язки як основу.
Таким чином, зараз немає способу точно дізнатися, який контролер насправді використовує користувач.
Попередження
Нарешті, і це спотикає багатьох людей, прив’язки не висічені в камені. Цілком допустимо і навіть очікується, що середовище виконання XR дозволяє користувачеві налаштовувати прив’язки.
На даний момент жодне із середовищ виконання XR не пропонує такої функції, хоча SteamVR має наявний інтерфейс користувача від системи карт дій OpenVR, який все ще доступний. Проте над цим активно працюють.
Наша перша прив'язка контролера
Давайте налаштуємо наше перше прив’язування контролера, використовуючи контролер Touch як приклад.
Натисніть «Додати профіль», знайдіть сенсорний контролер і додайте його. Якщо його немає в списку, можливо, його вже додано.
Наш інтерфейс користувача тепер показує панелі як для лівого, так і для правого контролерів. Панелі містять усі можливі входи та виходи для кожного контролера. Ми можемо використовувати + біля кожного запису, щоб прив’язати його до дії:
Завершуємо налаштування:
Кожна дія пов’язана з даним входом або виходом для обох контролерів, щоб вказати, що ми підтримуємо дію на будь-якому контролері. Винятком є дія руху, яка прив'язана лише до правого контролера. Ймовірно, ми захочемо використовувати джойстик лівої руки для іншої мети, скажімо, для функції телепорту.
Розробляючи свою гру/додаток, ви повинні враховувати можливість того, що користувач змінює прив’язку та прив’язує рух до джойстика лівої руки.
Також зверніть увагу, що наші логічні дії стріляти та захоплювати пов'язані з вхідними даними типу Float. Як згадувалося раніше, OpenXR виконуватиме перетворення між ними, але будь ласка, прочитайте попередження, наведене з цього приводу раніше в цьому документі.
Примітка
Здається, деякі вхідні дані з’являються в нашому списку кілька разів.
Наприклад, ми можемо знайти кнопку X двічі, один раз як X click, а потім як X touch. Це пов’язано з тим, що сенсорний контролер має ємнісний датчик.
X touchбуде істинним, якщо користувач просто торкається кнопки X.X clickбуде істинним, коли користувач фактично натискає кнопку.
Аналогічно для джойстика ми маємо:
Thumbstick touch, що буде істинним, якщо користувач торкається великого пальця.Thumbstick, який дає значення напрямку, у якому натискається джойстик.Клацання джойстиком, яке є істинним, коли користувач натискає джойстик.
Важливо зазначити, що лише певна кількість контролерів XR підтримує сенсорні датчики або мають функції клацання на джойстиках. Майте це на увазі під час розробки вашої гри/програми. Переконайтеся, що вони використовуються для додаткових функцій вашої гри/програми.
Простий контролер
«Простий контролер» — це загальний контролер, який OpenXR пропонує як запасний варіант. Ми застосуємо наше відображення:
Як стає до болю ясно, простий контролер часто надто простий і не підходить ні для чого, крім найпростіших ігор/додатків VR.
Ось чому багато середовищ виконання XR використовують його лише як крайній засіб і спочатку намагатимуться використати прив’язки з однієї з найбільш популярних систем як запасний варіант.
Примітка
Через те, що простий контролер, ймовірно, не відповідає потребам вашої гри, виникає спокуса забезпечити прив’язки для кожного контролера, що підтримується OpenXR. Здається, стандартна карта дій пропонує це як правильний курс дій. Як згадувалося раніше, стандартну карту дій було розроблено для полегшення міграції з Godot 3.
Робоча група OpenXR рекомендує встановлювати лише прив’язки для контролерів, фактично протестованих розробником. Середовище виконання XR розроблено з урахуванням цього. Вони можуть краще виконати повторне прив’язування наданого зв’язування, ніж розробник може зробити обґрунтовані припущення. Особливо тому, що розробник не може перевірити, чи це забезпечує комфортний досвід для кінцевого користувача.
Це також наша порада: обмежте свою карту дій профілями взаємодії для пристроїв, на яких ви фактично тестували свою гру. Контролер Oculus Touch широко використовується як резервний контролер багатьма середовищами виконання. Якщо ви можете протестувати свою гру за допомогою Meta Rift або Quest і додати цей профіль, висока ймовірність того, що ваша гра працюватиме з іншими гарнітурами.
Модифікатори прив'язки
Однією з головних цілей карти дій є усунення необхідності для програми знати апаратне забезпечення, що використовується. Однак інколи апаратне забезпечення має фізичні відмінності, які вимагають змінювати вхідні дані іншим способом, ніж те, як вони прив’язані до дій. Ця потреба варіюється від встановлення порогових значень до зміни входів, доступних на контролері.
Модифікатори прив’язки не ввімкнено за замовчуванням і потребують увімкнення в налаштуваннях проекту OpenXR. Крім того, немає гарантії, що ці модифікатори підтримуються кожною програмою виконання. Вам потрібно буде проконсультуватися зі службою підтримки для середовища виконання, яке ви націлюєте, і вирішити, чи покладатися на модифікатори, чи застосувати певну форму резервного механізму.
Якщо ви націлюєтеся на кілька середовищ виконання, які підтримують однакові контролери, вам може знадобитися створити окремі карти дій для кожного середовища виконання. Ви можете контролювати, яку карту дій використовує Godot, використовуючи різні шаблони експорту для кожного середовища виконання та використовуючи спеціальний feature tag для встановлення карти дій.
У Godot модифікатори прив’язки поділяються на дві групи: модифікатори, які працюють на рівні профілю взаємодії, і модифікатори, які працюють на окремих прив’язках.
Модифікатори прив’язки до профілю взаємодії
Модифікатори прив’язки, які застосовуються до всього профілю взаємодії, можна отримати за допомогою кнопки модифікатора в правій частині редактора профілю взаємодії.
Ви можете додати новий модифікатор, натиснувши кнопку .
Попередження
Оскільки Godot не знає, які контролери та середовища виконання підтримують модифікатор, немає обмежень на додавання модифікаторів. Непідтримувані модифікатори ігноруватимуться.
Модифікатор прив'язки Dpad
Модифікатор прив’язки dpad додає нові входи до профілю взаємодії для кожного введення джойстика та великого пальця на цьому контролері. Він перетворює вхід на dpad з окремими входами вгору, вниз, ліворуч і праворуч, які відображаються як кнопки:
Примітка
Вхідні дані, пов’язані з розширеннями, позначаються зірочкою.
Щоб використовувати модифікатор зв’язування dpad, вам потрібно ввімкнути розширення модифікатора зв’язування dpad у налаштуваннях проекту:
Увімкнути розширення достатньо, щоб ця функція працювала з налаштуваннями за замовчуванням.
Додавання модифікатора є необов’язковим і дозволяє точно налаштувати роботу функціональності dpad. Ви можете додати модифікатор кілька разів, щоб встановити різні параметри для різних входів.
Ці налаштування використовуються таким чином:
Набір дійвизначає набір дій, до якого застосовуються ці налаштування.
Шлях введеннявизначає оригінальний вхід, який відображається на нових входах dpad.
Порігвизначає порогове значення, яке увімкне дію dpad, напр. значення0,6означає, що якщо відстань від центру перевищує0,6, буде натиснуто дію dpad.
Threshold Releasedвизначає порогове значення, яке вимикає дію dpad, наприклад, значення0.4означає, що якщо відстань від центру падає нижче0.4, дія dpad вимикається.
Центральна областьвизначає відстань від центру, яка вмикає центральну дію, це підтримується лише для трекпадів.
Wedge Angleвизначає кут кожного клина. Значення90 degreesабо менше означає, що вгору, вниз, ліворуч і праворуч кожен має окремий зріз, у якому вони знаходяться в натиснутому стані. Значення вище90 degreesозначає, що зрізи перекриваються, і що кілька дій можуть бути в натиснутому стані.
Залипає, коли ввімкнено, означає, що дія залишається в натиснутому стані, доки джойстик або трекпад не переміститься в інший клин, навіть якщо він залишив клин для цієї дії.
On Hapticдозволяє нам визначити тактильний вихід, який автоматично активується, коли натискається дія.
Off Hapticдозволяє нам визначити тактильний вихід, який автоматично активується після відпускання дії.
Модифікатори прив’язки на окремих прив’язках
Доступ до модифікаторів прив’язки, які застосовуються до окремих прив’язок, можна отримати за допомогою кнопки модифікатора прив’язки поруч із дією, приєднаною до введення:
Ви можете додати новий модифікатор, натиснувши кнопку .
Попередження
Оскільки Godot не знає, які входи в кожному середовищі виконання підтримують модифікатор, немає обмежень на додавання модифікаторів. Якщо розширення модифікатора не підтримується, модифікатори буде відфільтровано під час виконання. Модифікатори, додані до неправильного введення, можуть призвести до помилки виконання.
Ви повинні перевірити свою карту дій на фактичному апаратному забезпеченні та середі виконання, щоб перевірити правильність налаштування.
Аналоговий пороговий модифікатор
Модифікатор аналогового порогу дозволяє вказати пороги, які використовуються для будь-якого аналогового входу, наприклад тригера, який має логічний вхід. Це контролює, коли вхід знаходиться в натиснутому стані.
Щоб використовувати цей модифікатор, необхідно ввімкнути аналогове розширення порогу в налаштуваннях проекту:
Аналоговий пороговий модифікатор має такі налаштування:
Вони визначаються таким чином:
On Thresholdвказує порогове значення, яке увімкне дію, напр. значення0,6означає, що коли аналогове значення стає вище0,6, дія встановлюється у натиснутий стан.
Off Thresholdвказує порогове значення, яке вимикає дію, напр. значення0,4означає, що коли аналогове значення падає нижче0,4, дія встановлюється у звільнений стан.
On Hapticдозволяє нам визначити тактильний вихід, який автоматично активується, коли натискається вхід.
Off Hapticдозволяє нам визначити тактильний вихід, який автоматично активується, коли вхід відпускається.
Гаптики на модифікаторах
Модифікатори можуть підтримувати автоматичний тактильний вихід, який запускається при досягненні порогових значень.
Примітка
Наразі обидва доступні модифікатори підтримують цю функцію, однак немає правила, що майбутні модифікатори також матимуть цю можливість. Підтримується лише один тип тактильного зворотного зв’язку, але в майбутньому можуть з’явитися інші варіанти.
Тактильна вібрація
Тактильна вібрація дозволяє нам визначити простий тактильний імпульс:
Він має такі параметри:
Duration- це тривалість імпульсу в наносекундах.-1дозволяє середовищу виконання вибрати оптимальне значення для короткого імпульсу, що підходить для поточного апаратного забезпечення.
Частота– це частота імпульсу в Гц.0дозволяє середовищу виконання вибрати оптимальну частоту для короткого імпульсу, що підходить для поточного апаратного забезпечення.
Амплітуда- це амплітуда імпульсу.