Тестування VR програмного забезпечення
У віртуальній реальності користувачі повністю поринають у згенеровану комп'ютером реальність. Надягнувши на голову дисплей або гарнітуру VR, користувач переміщається серед віртуальних об'єктів на екрані. Деякі технології віртуальної реальності, такі як Google Cardboard і Samsung Gear VR, покладаються на використання смартфона, закріпленого в окулярах, в той час як інші, такі як Oculus Go, є автономною гарнітурою віртуальної реальності.
Тестування програмного забезпечення у VR-індустрії важко переоцінити не тільки за рахунок уваги до ринку, а й через те, що технології знайшли своє застосування не тільки у звичному секторі розваг, а й у галузях, де ціна багів у сценаріях може бути дуже високою – наприклад , у військово-промисловому комплексі та медицині.
Багато в чому тестування VR не відрізняється від традиційного тестування ігор (у разі ігор) або звичайного програмного забезпечення, але і особливостей вистачає.
Підготовка
Перед тестуванням вирішимо питання із софтом для захоплення зображень і відео (можливо, потрібно буде записувати і сам процес тестування з боку), не будемо об'їдатися і відкриємо вікно в приміщенні. Саме приміщення має бути придатним та мати достатньо простору для тестів. Бажано мати партнера, який не дасть вбити об стіну.
Під час тестування будемо робити перерви та звертати увагу на наступне:
Motion sickness і те, що може викликати його: FPS, переміщення по сцені, вплив на гравця;
Висота камери;
Збереження ефекту занурення;
Коректне перемикання LOD'ів та читабельність тексту;
Прохідність рівнів, неможливість зрізати шлях;
Інтерактивні об'єкти: викидайте ключові предмети та вистачайте все, що можна.
Як робити скріншоти?
Оскільки при тестуванні VR проектів ми, як правило, знаходимося не біля комп'ютера і не бачимо його через надіти шолом, потрібно заздалегідь подумати над тим, як ми фіксуватимемо різні баги, що зустрічаються в грі.
У Steam передбачена можливість робити скріншоти за допомогою комбінації кнопок на VR контролері (на Oculus комбінація та ж: кнопка меню + тригер), але це поєднання спрацьовує не завжди.
Оптимальний варіант - попросити розробників прив'язати захоплення скріншотів до однієї з кнопок контролера: це заощадить вам купу часу, який ви витратите, якщо бігатимете щоразу до комп'ютера, побачивши новий баг. Адже може статися так, що ви не встигнете добігти, і тоді доведеться знову проходити фрагмент рівня для фіксації важливого недоліку.
Якщо ж розробники не прив'язали логіку до кнопки, або Steam'івське поєднання не працює, доведеться скористатися стороннім софтом. Мій вибір – NVIDIA GeForce Experience, т.к. з його допомогою можна не тільки робити скріншоти, а й записувати відео з найменшим навантаженням на систему.
На що ще звернути увагу?
Обережніше з їжею перед тестами: вам, скоріш за все, доведеться активно рухатися або постійно падати кудись у віртуальному просторі. А якщо і не доведеться, то будь-яка просідання FPS, що викликає ефект Motion Sickness (про це трохи пізніше), може серйозно зіпсувати день. Краще випийте м'ятного або імбирного чаю: це натуральний спосіб, що допомагає впоратися з заколисуванням.
Відпочивайте: всі ми різні і по-різному переносимо навантаження, але особисто мені життєво необхідна невелика перерва після кожних 25-30 хвилин у VR. Важливо давати очам та вестибулярному апарату відновитися після всього пережитого у віртуальних світах.
Свіже повітря: забезпечте приплив свіжого повітря, відкривши вікно або хоча б направивши вентилятор. Це допоможе уникнути заколисування.
Наскільки комфортно грати?
Motion Sickness (захитування)
Тестування VR продуктів - захоплююча пригода, у тому числі й тому, що деякі неоптимізовані проекти легко можуть дати вам навантаження більше тих, що відчувають на собі космонавти, готуючись до польоту.
Motion Sickness або, по-нашому, заколисування, виникає при розсинхронізації вестибулярного апарату та органів зору. Простіше кажучи, ви стоїте на місці, а у VR вас починає кудись тягти невідома сила. Подібний ефект також може бути спричинений низькою частотою FPS.
Щоб допомогти розробникам випустити продукт, від якого людям не буде фізично погано, вам під час тестів слід звернути увагу на таке:
FPS : попросіть розробників додати віджет (у версії 4.20.2 значення, що виводяться командою stat FPS - нечитабельні в шоломі), що показує частоту кадрів за секунду, щоб оперативно помічати проблемні ділянки локацій, ефекти, події та фіксувати частоту кадрів на скріншотах.
Переміщення гравця : головна причина заколисування у VR проектах. Прислухайтеся до своїх відчуттів під час переміщення за рівнем. Якщо вам стає погано, обов'язково вказуйте це у звіті. Можливо, розробникам слід передбачити альтернативні способи пересування або додати ефекти, що зменшують заколисування (наприклад, невелике затемнення екрана телепортації).
Вплив на гравця : вкрай небажаний вплив на гравця сторонніх сил, що торкається камери. Наприклад, монстри, що відкидають, тремтить перед обвалом печера і.т.п. В одному з проектів, у розробці якого я брав участь, потрібно було "витягувати" гравця з дна моря після 5 хвилин перебування під водою, що неодмінно призвело б до заколисування, оскільки витягнути когось із глибини ~140 метрів - завдання довге . Поламавши трохи голову над тим, як догодити клієнту, якому обов'язково потрібен був підйом вгору, і гравцям, які були б від цього не в захваті, ми вирішили показувати процес підйому протягом декількох секунд, а потім включати затемнення екрану.
Висота камери
Різні VR гарнітури можуть по-різному визначати зростання гравця, тому висота "очей", якими гравець дивиться на віртуальний світ, може значно відрізнятися. Проблеми виникають, коли розробники, роблячи проект, наприклад, HTC Vive, до останнього не тестують білд на Oculus, думаючи, що вони вірно прикинули зростання персонажа всім платформ. Однак найчастіше вирішує кожен зайвий або недостатній сантиметр зростання гравця. Саме тому варто звертати увагу на якій висоті знаходиться ваша камера при використанні різних девайсів. Це дозволить уникнути не тільки незручних моментів із загляданням гравця за стелю у невеликих приміщеннях, але й збереже задуманий розробниками комфорт від гри. Погодьтеся, краще, коли інтерактивний об'єкт перебуває, як передбачалося, лише на рівні пояса, а чи не лише на рівні колін.
Пам'ятайте, що продуктом, який ви тестуєте, користуватимуться різні люди. Для імітації невеликого зростання я зазвичай граю сидячи, а ось для перевірки ситуації з високим гравцем доведеться звернутися за допомогою до найбільшого друга або винайти якийсь нехитрий пристрій типу підставки :) Переконайтеся, що зростання гравця не ламає існуючі механіки і не дає йому переваги .
Занурення
Віртуальна реальність здатна забезпечити потенційно більш глибокий рівень занурення гравця в події, що відбуваються в шоломі, за рахунок відстеження положення голови і рук (контролерів). Проте занурення - поняття дуже тендітне і може бути зруйноване недосвідченістю розробників. Як цього уникнути?
Звертайте увагу на габарити предметів, які можуть сприйматися по-іншому у віртуальній реальності. Габарити, відмінні від реальних, можуть негативно позначитися на почутті занурення.
Інтерактивні об'єкти повинні мати правильну колізію, коректно лежати на інших об'єктах та мати реалістичну вагу при взаємодії з ними інших об'єктів.
Положення віртуальних рук гравця має відповідати положенню рук користувача та мати правильний кут нахилу.
Візуальна частина
Крім деталізації об'єктів слід звернути увагу до читабельність тексту. Часто буває, що текст, що відмінно виглядає в редакторі, неможливо читати в VR.
Прохідність
Деякі розробники вважають, що звичайні колізії та невидимі стіни можуть зупинити гравців у VR від попадання в заборонені місця та зрізання шляху. На жаль, із віртуальною реальністю, на відміну від звичайних ігор, цей прийом не працює.
Як користувачі можуть зламати систему переміщення та як це запобігти?
По-перше, завжди намагайтеся потрапляти у недоступні місця, переміщаючись фізично у межах ігрового простору. Наприклад, є ворота, для відкриття яких потрібно вбити 100 кабанів, зробити 5 квестів і лише після цього отримати заповітний ключ. Телепортуйтесь впритул до воріт і просто зробіть кілька кроків у реальному світі у напрямку воріт і, ймовірно, ви опинитеся за ними і зможете йти далі, пройшовши кабанів.
Таким же чином падайте у всі прірви: навіть якщо розробники заборонили телепортуватися в яму, поставивши невидиму стіну, слід бути впевненим, що гравці, що випадково зайшли туди, не залишаться сидіти на дні, а помруть від падіння (а ще краще, взагалі не будуть довго падати: см пункт motion sickness).
Вищезгадані невидимі стіни також повинні бути перевірені: гравець не повинен мати змогу зрізати шлях незалежно від вибраного режиму переміщення.
Ще одна хитрість, до якої гравці можуть вдатися для подолання тих самих воріт, перевіряється так: підійдіть впритул до воріт і просуньте за них руку, якою можна телепортуватися. Чи зможете переміститися за перешкоду?
Інтерактив
Свобода дій, яку гравці мають у VR, може легко зламати будь-яку заплановану розробниками послідовність. Щоб цього не сталося, під час тестів ви повинні ґрунтовно залишатися речами: викидайте необхідні для проходження об'єкти, бийте їх іншими предметами, щоб вони відлітали у прірву чи залітали у недоступні місця. Якісний продукт зможе пройти до кінця навіть найбільший гравець.
Обов'язково спробуйте вистачати зафіксовані інтерактивні об'єкти (важелі, штурвали тощо) з різних боків: вони не повинні сіпатися в момент, коли ви їх захоплюєте. Ривок на початку взаємодії пов'язаний, як правило, з тим, що розробники забувають враховувати при обчисленні нового положення об'єкта точку, в якій гравець взяв об'єкт, компенсуючи цим ривок об'єкта у бік руки.
Перевірка продуктивності
На етапі перевірки продуктивності необхідно відрегулювати рівень кадрової частоти (frame per second, FPS) протягом усього сценарію програми. Цей показник критично важливий для VR додатків, оскільки його стабільний рівень забезпечує цей «ефект занурення». В іграх, що запускаються на ПК або консолі, короткочасне просідання FPS може залишитися непоміченою, але в VR це може зруйнувати відчуття присутності, а також викликати запаморочення.
Для VR-додатків золотий стандарт на гарнітурі Oculus Quest FPS 90. Однак, всі платформи розміщення VR-контенту, крім Oculus Store, не вимагають суворої відповідності гайдлайнам, і тому допускають контент, який не зобов'язується дотримуватись стабільного fps або мати певні правила взаємодії з користувачем. , модерується лише спірний контент, який і так підпадає під загальні правила ігрових майданчиків.
Під час тестування можна перевіряти рівень вручну або за допомогою алгоритму.
Завдання алгоритму - перевірка всіх найімовірніших (імовірність полягає в розташуванні інтерактивних і статичних предметів, можливих варіантів взаємодії із нею) локацій викликають просадки fps, місця і моменти появи ефектів і навіть спавна предметів, коли з'являється раніше відсутня геометрія.
Якщо такий алгоритм, опинившись у певній точці або здійснивши в ній дію, отримає довготривале зниження кадрової частоти, він пише в лог становища, ланцюжок подій і предметів, які привели до цього і прикладає скріншот ігрової камери, щоб потім розробник міг легко повторити необхідні дії.
Якщо у нас дуже велика локація, то алгоритм використовує поведінкову модель, в якій за проходження сценарію алгоритм заробляє певну кількість очок, взаємодії з предметами в потрібному порядку, перебуваючи в локаціях найімовірніших проблем з fps. Для всіх позаштатних ситуацій і просадок fps, одержувані окуляри максимальні та стимулюють алгоритм повторювати дії, що призводять до помилок програми.
Користувальницьке тестування
Тестування VR-програми може бути посилено за рахунок тесту на спеціальних фокус-групах, особливо якщо програма розрахована на масового споживача. Цей етап дозволяє зрозуміти, наскільки добре загалом ідея приймається ринком.
Користувачам ставляться певні завдання, які потрібно виконати всередині програми. Всі дії, реакції та емоції записуються на аудіо та відео для подальшого аналізу на предмет необхідних коригувань.
Що ще враховувати при тестуванні :
Обмеження за "залізом";
Обмеження пристроїв виведення;
Різноманітність контролерів;
калібрування пристроїв;
Цільова аудиторія (зокрема, товар розрахований на новачка чи досвідченого VR користувача?);
Індивідуальні особливості психіки та організму;
Конфіденційність даних про оточення користувачів та їх дії.
Джерела:
Дод. матеріал:
Last updated