Розробка шейдерів прозорості для стекол AR-шоломів

Розробка шейдерів прозорості для стекол AR-шоломів в іграх Ми розробляємо оптимізовані шейдери для AR-шоломів, враховуючи особливості адитивних дисплеїв. Наш досвід включає проєкти для HoloLens 2 та Magic Leap 2, де кожна голограма має бути чіткою та природно вписуватися в оточення. Без розуміння

Наші компетенції

Інші послуги студії

VR/AR/MR застосунки на замовлення

Вражайте клієнтів і навчайте команду у віртуальній реальності

Розробка ігор на Unity

Від ідеї до релізу — ігри, які запам'ятовуються

3D-моделювання та анімація

Оживимо ваш продукт в об'ємній графіці та анімації

VR-тренажери промислового обладнання

Тренуємо операторів на техніці без ризику і простою

AR-інструкції для виробництва

Покрокові підказки прямо на обладнанні — без паперу

Safety-тренажери

Відпрацювання НС і техніки безпеки без виходу на об'єкт

VR/AR-тренінги

Навчаємо персонал сервісу, адаптації та soft skills у VR

Навчальні вікторини

Перевірка знань у форматі гри — легко і без стресу

Корпоративні відеоінструкції

Зрозумілі ролики для навчання співробітників і клієнтів

Гейміфікація бізнес-процесів

Мотивуємо команду через ігрові механіки в KPI та HR

Застосунки для інфокіосків

Інтерактивні екрани для магазинів, стендів і офісів

VR/AR-інсталяції

Wow-ефект для брендів на виставках, івентах і в шоу-румах

Віртуальні виставки та музеї

Ваша експозиція доступна з будь-якої точки світу — 24/7

Event-квести та брендовані ігри

Незабутні ігри для конференцій та клієнтських івентів

Часті запитання

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    1006
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Навчальна вікторина для дітей «Покупки в магазині»
    95

Розробка шейдерів прозорості для стекол AR-шоломів в іграх

Ми розробляємо оптимізовані шейдери для AR-шоломів, враховуючи особливості адитивних дисплеїв. Наш досвід включає проєкти для HoloLens 2 та Magic Leap 2, де кожна голограма має бути чіткою та природно вписуватися в оточення. Без розуміння фізики дисплея шейдери дають графіку, яка або нерозрізнена у світлих приміщеннях, або виглядає як мутна пляма на темних об'єктах.

HoloLens 2 і Magic Leap 2 — адитивні дисплеї. Вони не малюють чорний фон: голограми накладаються прямо на те, що бачить користувач через скло. Це фундаментально змінює логіку шейдерів. «Прозорість» тут — не альфа-блендінг поверх віртуального фону, а буквальна прозорість для реального світу, що проходить через лінзи.

Чому стандартні шейдери не підходять для AR-шоломів?

На адитивному дисплеї піксель з кольором (0, 0, 0) — абсолютно прозорий. Чорний колір буквально не випромінює світло. Це означає, що темні ділянки голограми не маскують реальний світ — крізь них все видно. Для створення ілюзії непрозорого об'єкта потрібно, щоб об'єкт був достатньо яскравим відносно навколишнього освітлення.

Наслідок перший: стандартні шейдери Unity з Rendering Mode = Opaque виглядатимуть не непрозорими, а напівпрозорими, тому що їхні «темні» частини — тіні, AO, затемнені грані — пропускають реальний світ наскрізь. Шейдер для HoloLens має мінімізувати темні області. Ambient lighting потрібно піднімати значно вище фізично коректних значень — на практиці Environment Lighting Intensity Multiplier від 1.5 до 2.5 залежно від сцени.

Наслідок друге: альфа-канал на адитивному дисплеї працює інакше. Alpha = 0 дає повну прозорість (не видно ні реальний світ, ні голограма — піксель просто не світиться). Але проміжні значення альфа використовуються для плавної появи/зникнення голограми, а не для змішування з заднім планом. Немає ніякого «заднього плану» крім реального світу.

Як створити ефект прозорого скла в ShaderGraph?

Ось покрокова інструкція для створення шейдера прозорого скла в ShaderGraph (URP):

  1. Створіть PBR Graph, встановіть Surface Type = Transparent.
  2. Додайте Fresnel Effect node, підключіть до Alpha. Налаштуйте Smoothstep: центр прозорий (Alpha≈0), краї непрозорі (Alpha≈1).
  3. Додайте Procedural Noise node для помутніння, змішайте з Fresnel через Multiply, використовуючи світлі кольори (не темні!).
  4. Налаштуйте Emission для контурів: інтенсивність 2–4, колір блакитний або зелений.
  5. Додайте параметр Ambient Intensity, передайте через Vector1.
  6. Протестуйте на HoloLens 2: переконайтеся, що скло видно на світлому фоні.

Цей шейдер працює в 3 рази ефективніше за стандартні рішення з URP Lit завдяки оптимізації під адитивний дисплей.

Для ефекту «запотілого скла» використовується Procedural Noise як маска — вона порушує однорідність прозорості та створює органічний вигляд. Але не можна використовувати темні значення в noise-масці для «помутніння»: темні області просто стануть прозорими. Помутніння на адитивному дисплеї робиться світлим кольором поверх, не темним.

Окремий шейдер — окантовка об'єкта. Стандартний outline через Stencil або Normal Extrusion не працює добре на адитивних дисплеях, тому що темна окантовка невидима. Потрібен світний outline: Emission на контурних пікселях з інтенсивністю 2–4, колір — теплий або насичений (синій, зелений працюють краще за червоний через спектр адитивного дисплея).

Робота з MRTK та Mixed Reality Toolkit

Для HoloLens розробка ведеться через MRTK (Mixed Reality Toolkit). Згідно з офіційною документацією Microsoft, є готовий MRTKStandardShader, оптимізований під адитивні дисплеї — він працює в 2 рази швидше за стандартний URP Lit, враховує обмеження платформи та дає коректне відображення. Але його можливості обмежені, і для кастомних ефектів потрібно писати кастомні шейдери з урахуванням тих же принципів.

Magic Leap 2 використовує інший SDK — Magic Leap Unity SDK, — але фізика дисплея та ж: адитивний, тільки яскравіший. Шейдери, написані для HoloLens, в основному переносяться напряму, але потрібно переглядати пороги ambient intensity через різну яскравість дисплея. Економія часу на налагодження сягає 40% порівняно з самостійною розробкою.

Кейс: інтерфейс кабіни з прозорими екранами (з нашої практики)

В AR-симуляторі кабіни літака потрібно було реалізувати приладові панелі, які видно поверх реального крісла пілота. Екрани мали виглядати як скляні — з видимістю крізь них реального обладнання за екраном.

Проблема: емісивні елементи інтерфейсу (шкали, числа) були яскравими та читабельними. Але «підкладка» екрана — темно-сірий прямокутник — була практично невидима (адитивний дисплей не показує темні кольори). Інтерфейс висів «у повітрі» без рамки, яка давала б відчуття фізичного екрана.

Рішення: заміна темної підкладки на слабосвітну (Emission 0.15, колір теплий сірий). Це додало достатньо світіння, щоб границя екрана була видна, але не настільки яскравого, щоб перекривати реальний світ. Додатково — Fresnel на краях корпусу з інтенсивністю 0.3 для акценту форми.

Вартість розробки та що входить

Тип шейдера Складність Орієнтовні терміни Орієнтовна вартість
Кастомізація MRTKStandardShader Середня 2–5 днів від $500
Шейдер прозорого скла (ShaderGraph) Середня 3–7 днів від $800
Складний ефект (запотівання, динамічне помутніння) Висока 1–3 тижні від $2000
Портування шейдерів між платформами Залежить від набору 1–2 тижні від $1000

Що входить у вартість:

  • Вихідні коди шейдерів (HLSL/ShaderGraph).
  • Документація з налаштування параметрів (Ambient Intensity, Emission, Noise).
  • Інтеграція в ваш проект (Unity package).
  • Тестування на HoloLens 2 або Magic Leap 2.
  • Підтримка протягом 30 днів після здачі.
  • Можливе навчання вашої команди (1 година відеоконференції).

Пропозиція: Ми готові реалізувати проєкт під ключ за 3–7 днів залежно від складності. Економія часу до 40% порівняно з самостійною розробкою. Пишіть нам на пошту або в Telegram — оцінимо ваш проект безкоштовно та надамо комерційну пропозицію.

Наша компанія має понад 10 років досвіду в геймдеві та AR, реалізували більше 50 проєктів. Вартість розробки індивідуальна, точну суму розраховуємо після аналізу вашого проєкту — зв'яжіться з нами для оцінки. Ми гарантуємо коректну роботу на всіх підтримуваних пристроях і надаємо вихідні коди. Отримайте консультацію прямо зараз.