4. Імітація тіней у Maya
Режим формування тіней Maya може бути включений або вимкнений за вашим бажанням. За замовчуванням його вимкнено. Відповідно, хоча поверхні освітлених об'єктів затінені, тобто ближня до джерела світла сторона об'єкта має яскравіший колір, ніж протилежна, самі об'єкти не відкидають тіней. Крім того, це означає, що світло безперешкодно проходить крізь поверхні, висвітлюючи навіть об'єкти, розташовані в тіні інших об'єктів. Наявність тіні допомагає ясніше визначити розмір об'єкта, його становище та орієнтацію у просторі. Відповідно формування тіней дозволяє визначити просторові співвідношення між об'єктами. Відсутність тіней у сцені призводить до появи в результаті візуалізації плоскої картинки, тобто тіні додають сцені глибину і роблять її більш реальною. Особливо це стосується сцен в інтер'єрі. Ще раз подивіться на рис. 9.8. Як ви бачите, в даному випадку важко сказати, чи стоять об'єкти на поверхні або парять в просторі між камерою і опорною площиною. Зазвичай прийнято використовувати в сцені кілька джерел світла, що формують тіні, і велика кількість тьмяніших, що «заповнюють» освітлювачі. Наявність тіней значно збільшує час візуалізації, якщо тіні формуються джерелом світла типу Area (Прямокутний) чи є трасированными. Тому при створенні сцени з тінями керуватися слід також міркуваннями мінімізації часу обчислень. Крім того, тіні мають властивість вицвітати при появі додаткових джерел світла з включеною властивістю формування тіней, що висвітлюють ту саму область. У Maya існує багато способів зробити сцену більш контрастною, так і зменшити час візуалізації. Розглянемо докладніше дна основних типів тіней у Maya - отримані на основі картиглибини та трасовані.
Карта глибини У Maya існує можливість формування тіней на основі так званої карти глибини (Depth Map), яка містить інформацію про відстань від джерела світла до поверхні, яку він висвітлює. Програма обчислює цю карту при першій візуалізації, і згодом вона використовується при розрахунку тіней. Завдяки наявності карти тіней візуалізатор отримує інформацію про освітленість різних областей сцени, вказуючи, наскільки далеко можуть поширюватися промені світла. У результаті вони зупиняються поверхнях об'єктів. Тіні, отримані на основі карти глибини, зазвичай добре імітують реальні, при цьому значного збільшення часу візуалізації не відбувається. Вони зазвичай мають більш розмиті краї, що виглядає натуральніше, ніж різкі трасовані тіні. Втім, за бажання можна отримати приблизно такий самий рівень різкості тіней, збільшивши значення параметра Dmap Resolution (Роздільна здатність карти глибини). Основним недоліком цього є відсутність можливості створення м'яких тіней і несприйнятливість до прозорості об'єктів. Для джерел світла типу Point (Точковий), Ambient (Розсіяний) та Area (Прямокутний) карта глибини працює особливим чином. Справа в тому, що для створення тіней за допомогою картки необхідне квадратне растрове зображення, а згадані джерела світла поширюють промені в усіх напрямках. Відповідно, доводиться створювати набір карт, що покриває всю ділянку тіні. У Maya для цих випадків використовуються кубічні карти тіней, тобто шість тіней, що розташовані на шести сторонах куба. Цей процес вимагає у шість разів більшого обсягу оперативної пам'яті, що може бути пов'язане із збільшеним розміром картки. Загалом бажано, щоб більшість тіней створювалосяджерелами світла типу Spot (Прожектор) або Directional (Спрямований). При цьому можна прямо вказати напрямок променів світла та падіння тіней.
Параметри карти глибини Під час роботи з картами тіней можна налаштувати такі параметри:
- Shadow Color (Колір тіні). Цей параметр відноситься до обох типів тіней Maya. Його зміна призводить до зміни кольору тіні після візуалізації. Зробивши колір тіні трохи яскравішим за чорний, можна імітувати дифузне розсіювання світла. Крім того, даним параметром можна призначити карту текстури, використовуючи спосіб, описаний у розділі 8.
- Dmap Resolution (Роздільна здатність картки глибини). Визначає акуратність тіней, сформованих з урахуванням карти глибини. Карти є квадратними зображеннями, тому встановивши цей параметр рівним 1024, ви отримаєте карту тіней з роздільною здатністю 1024x1024 пікселя. При дуже великих значеннях цього параметра комп'ютер може не вистачити оперативної пам'яті на обробку такої карти. Якщо цей параметр має мале значення, у тіней можуть утворитися зубчасті краю.
Щоправда, це стосується лише остаточного зображення, отриманого внаслідок візуалізації. Цей ефект можна завуалювати, збільшивши значення параметра Dmap Filter Size (Розмір фільтра карти глибини). Збільшення дозволу теж призводить до зникнення зазубрених країв, але формує більш різкі межі тіні.
- Dmap Filter Size (Розмір фільтра карти глибини). Безпосередньо впливає стан межі тіні. Вдало скомбінувавши значення цього параметра з величиною дозволу карти глибини, можна згладити розмитий кордон тіні, позбавившись ефекту. Майте на увазі, що збільшення розміру фільтра карти глибини супроводжується збільшенням часу візуалізації, тому безкрайньої необхідності не надавайте цьому параметру значень, перевищують 3.
- Dmap Bias (Зсув карти глибини). Коли за допомогою карти глибини формуються довгі тіні, вони можуть бути зміщені щодо об'єкта, який їх відкидає. Зміщення карти глибини регулює відстань між тінню та об'єктом. Як правило, зміна заданого за умовчанням значення потрібна дуже рідко. Наприклад, при імітації тіней, що виникають при заході сонця.
Трасовані тіні У загальному випадку на візуалізацію сцени з трасованими тінями йде більше часу, зате вона вимагає меншої кількості оперативної пам'яті. Крім того, з'являється можливість створення розмитих тіней та тіней від прозорих об'єктів. Щоб тіні цього типу з'явилися після візуалізації, необхідно включити процедуру трасування, встановивши прапорець Raytracing у вікні діалогу Render Globals (Загальні параметри візуалізації). Джерела типу Spot (Прожектор), Directional (Направлений), Ambient (Розсіяне світло) та Point (Точковий) можуть формувати такі ж тіні, як і джерело світла Area (Прямокутний). У цьому випадку розмиті тіні створюються шляхом збільшення радіусу джерела світла. Неточечные джерела світла формують розмиті тіні (так звані півтіні), оскільки кілька променів світла виявляється заблокованим розташованим з їхньої шляху об'єктом. Через війну промені хіба що огинають об'єкт, частково висвітлюючи простір його. В результаті складається враження повільного переходу від тіні до її відсутності. Прозорі об'єкти формують лише трасовані тіні. При цьому колір об'єкта не враховується. Для отримання кольорових тіней необхідно призначити карту текстури характеристиці Transparency (Прозорість) матеріалу. Також майте на увазі,що тіні матимуть постійну яскравість, тому що при їх побудові ефекти заломлення світла до уваги не беруться.
Параметри трасованих тіней Перелічимо основні параметри, з якими вам доведеться працювати при використанні трасованих тіней:
- Light Radius (Радіус джерела). Встановлює уявний розмір кола, що випромінює промені світла, що є імітацією джерела світла типу Area (Прямокутний). Майте на увазі, що відмінність даного параметра від нуля призводить до формування розмитих тіней та збільшення часу візуалізації сцени.
- Shadow Rays (Промені тіні). Відповідає за вигляд розмитих тіней. При малих значеннях даного параметра тіні будуть плямистими, проте процес візуалізації прискориться. Він нагадує параметр Dmap Filter Size (Розмір фільтра карти глибини), який регулює стан кордону тіні, отриманої з урахуванням карти глибини, тим, що його збільшення призводить до зниження зернистості тіні. При цьому збільшення значення параметра Shadow Rays (Промені тіні) сильно уповільнює процес візуалізації, тому намагайтеся використовувати мінімальне значення, необхідне отримання прийнятного результату.
- Ray Depth Limit (Межа глибини променя). Цей параметр на одиницю менше відбитків і заломлень, після яких промінь ще може формувати тінь. Ви можете збільшити його значення, якщо хочете дати променям світла можливість відбиватися і переломлюватись перед тим, як сформувати тінь.
Тіні, що формуються джерелом світла типу Area Якщо ви включили для джерела світла типу Area (Прямокутний) можливість формування тіней, то вони будуть обчислюватися на основі розміру області, що випромінює світлові промені. Аналогічний результат виходить для точкових джерел світла після збільшеннязначення параметра Light Radius (Радіус джерела).
Вправа. Робота з тінями Продовжіть виконання попередньої вправи.
- Виділіть у вікні діалогу Outliner (Структура) джерело світла spotLightl і введіть у полі параметра Visibility (Видимість) у вікні каналів значення 1. Відкрийте вікно діалогу Attribute Editor (Редактор атрибутів) та розкрийте розділ Shadows (Тіні). Встановіть прапорець Use Depth Map Shadows (Використання картки глибини) у розділі Depth Map Shadow Attributes (Параметри карти глибини).
- Візуалізуйте вікно проекції RenderCamera (Камера), щоб переглянути створені тіні. Їхній вигляд показаний на рис. 9.10.

Мал. 9.10. Результат включення формування тіней на основі карти глибини для джерела світла типу Spot
УВАГА Інтерактивна фотореалістична візуалізація дозволяє відстежити процес редагування матеріалів та джерел світла. Але вона не може допомогти при редагуванні параметрів тіней, включаючи їх дозвіл. Якщо ваші дії не призводять до видимих змін, ще раз проведіть інтерактивну фотореалістичну візуалізацію.
- Введіть у полі Dmap Resolution (Роздільна здатність картки глибини) значення 128. Після інтерактивної фотореалістичної візуалізації ви побачите появу зубчастих тіней. Пам'ятайте, що цей процес не відображає результатів зміни роздільної здатності карти глибини. Втім, ви зможете побачити результат редагування значення параметра Dmap Filter Size (Розмір фільтру карти глибини).
- Введіть у полі параметра Dmap Filter Size (Розмір фільтра карти глибини) значення 3, щоб усунути зубчасті краї тіней.
- Тепер настав час досліджувати трасовані тіні. Зніміть прапорець Use Depth Map Shadows (Використання карти глибини) у розділі DepthMap Shadow Attributes (Параметри карти глибини) вікна діалогу Attribute Editor (Редактор атрибутів). Тіні від об'єктів мають зникнути.
- Розкрийте розділ Raytrace Shadow Attributes (Параметри трасованих тіней) та встановіть прапорець Use Raytrace Shadows (Використання трасованих тіней). Однак появи тіней у візуалізаторі ви не побачите. Клацніть правою кнопкою миші в довільній точці візуалізатора і виберіть у контекстному меню команду Options > Render Globals (Параметри > Загальні параметри візуалізації). У розділі Raytracing Quality (Якість трасування) вікна діалогу встановіть прапорець Raytracing (Трасування). Тепер у вас включений режим формування трасованих тіней, а також ефектів відбиття та заломлення світла.
- Закрийте діалогове вікно Render Globals (Загальні параметри візуалізації) і знову запустіть інтерактивну фотореалістичну візуалізацію. Як легко помітити, тіні, як і раніше, не з'явилися. У рядку підказки відображається напис Error:// IPR does not support raytracing. Turn off raytracing в Render Globals і виберіть новий регіон. //. Це пояснює, чому інтерактивна фотореалістична візуалізація не дає бажаного результату. Щоб подивитися на трасовані тіні в дії спочатку необхідно провести звичайну візуалізацію.
- Натисніть першу зліва кнопку на панелі інструментів вікна діалогу Render View (Візуалізатор). Процес візуалізації займе трохи більше часу, ніж під час використання тіней, сформованих з урахуванням карти глибини. На цей раз тіні матимуть дуже різкі краї. Зверніть увагу, що тіні від об'єктів, матеріалам яких було призначено карту рельєфу, також змінилися.
- Введіть значення 1,25 у полі параметра Light Radius (Радіус джерела). Повторнавізуалізація покаже розмивання меж тіней. Збільште масштаб, і ви помітите, що їхня структура має зернистий характер. Якщо придивитися, можна виявити, що зернистість зростає у міру віддалення від поверхні об'єкта.
- Щоб зменшити зернистість меж, введіть у полі параметра Shadow Rays (Промені тіні) значення 10. Ще раз візуалізуйте сцену, але майте на увазі, що цього разу візуалізація займе ще більше часу.
Отже, ви отримали уявлення про основи налаштування джерел світла та тіней. Тепер розглянемо додаткові елементи керування освітленістю.