Путівник по Shadows в Unity

Якщо ви Unity розробник-початківець, який прагне покращити візуальну привабливість своїх проектів, розуміння та впровадження тіней може мати суттєве значення. Тіні додають глибини та реалістичності вашим сценам, змушуючи об’єкти реалістично взаємодіяти з джерелами світла. У цьому посібнику ви ознайомитеся з основами ввімкнення тіней у Unity та дослідите додаткові оптимізації за допомогою карт світла.

Тіні в редакторі Unity.

  • Перевірте Sharp Shadows Toolkit

Увімкнення тіней Unity

Крок 1: Відкрийте свій проект Unity

  • Відкрийте свій Unity проект і відкрийте сцену з об’єктами, щоб відкидати тіні.

Крок 2: Налаштування спрямованого світла

  • У вашій ієрархії сцени знайдіть "Directional Light". Це світло імітує сонячне світло в Unity.
  • Виберіть "Directional Light", щоб отримати доступ до його властивостей у вікні інспектора.

Крок 3: Параметри тіні

  • Прокрутіть вниз в інспекторі, щоб знайти спадне меню "Shadow Type".
  • Виберіть "Soft Shadows" або "Hard Shadows" залежно від ваших уподобань.

Крок 4: Налаштуйте відстань тіні та роздільну здатність

Відстань тіні та роздільну здатність можна налаштувати в налаштуваннях якості проекту.

  • Змініть "Shadow Distance", щоб контролювати діапазон тіней.
  • Змініть "Shadow Resolution", щоб збалансувати якість і продуктивність.

Крок 5: Вимкніть тіні на об’єктах

Якщо ви хочете вимкнути відкидання тіні від певних об’єктів, виконайте наведені нижче дії.

  • Виберіть об’єкт у своїй сцені.
  • В інспекторі знайдіть "Mesh Renderer" або будь-який компонент, похідний від "Renderer".
  • Змініть параметр "Cast Shadows" на відповідне значення.
  • Також можна контролювати, чи буде об’єкт отримувати тіні, встановлюючи або знімаючи прапорець "Receive Shadows".

Крок 6: спостерігайте за сценою

  • Спостерігайте за сценою, щоб побачити тіні в реальному часі.

Усунення несправностей Shadows:

Якщо на вашій сцені не видно тіні, врахуйте наступне:

  • Кут спрямованого світла: Переконайтеся, що спрямоване світло розташоване так, щоб його промені потрапляли на ваші об’єкти. Поекспериментуйте з його обертанням.
  • Параметри об’єкта: Перевірте, чи ввімкнено параметр "Cast Shadows" для об’єктів, які ви хочете відкидати тінь.
  • Роздільна здатність карти освітлення: Якщо ви використовуєте карти освітлення, переконайтеся, що ваші статичні об’єкти мають достатню роздільну здатність карти освітлення. При необхідності збільште його.
  • Сумісність із шейдерами: Деякі шейдери можуть бути несумісними з тінями. Тестуйте зі стандартними шейдерами Unity's або шейдерами, призначеними для сумісності з тінями.
  • У реальному часі проти Baked: Тіні в реальному часі можуть не відображатися, якщо об’єкт позначено як статичний. Виберіть тіні в режимі реального часу або тіні.
  • Shadow Distance у параметрах якості: Перевірте параметр "Shadow Distance" у параметрах якості проекту. Якщо встановлено меншу відстань, ніж поточна відстань від камери, тіні можуть бути невидимі на певних відстанях.

Оптимізація тіней за допомогою карт світла

Unity пропонує Lightmaps як передову техніку оптимізації для статичних об’єктів, що зменшує потребу в обчисленнях у реальному часі.

Запечені карти світла в Unity.

  • Перевірте Bakery - GPU Lightmapper

Крок 1: Позначте об’єкти як статичні

  • Виберіть статичні об’єкти у своїй сцені.
  • В інспекторі поставте прапорець "Static".

Крок 2: Налаштуйте параметри карти освітлення

  • Перейдіть до 'Window -> Rendering -> Lighting', щоб відкрити вікно освітлення.
  • Прокрутіть вниз до розділу "Lightmapping".
  • Установіть "Lightmapper" на "Progressive" або "Enlighten".
  • Натисніть "Generate Lighting", щоб запекти світлові карти.

Крок 3: Налаштуйте тіні в режимі реального часу та тіні

  • Використовуйте тіні в реальному часі для динамічних об’єктів.
  • Для статичних об’єктів покладайтеся на запечені тіні від Lightmaps.

Крок 4: Перевірте та повторіть

  • Натисніть «Відтворити», щоб тестувати вашу сцену. Налаштуйте налаштування та повторюйте, щоб досягти бажаного балансу між візуальною якістю та продуктивністю.

Висновок

Ви успішно ввімкнули тіні в Unity та дослідили Lightmaps для оптимізованого відтворення тіней. Експериментуйте з різними параметрами, спостерігайте за ефектом вашої сцени та продовжуйте свою подорож у створенні візуально приголомшливих проектів Unity.