Початкове керівництво по виконанню "чистих" зображень з глобальним освітленням за допомогою Mental Ray 2.1 в 3D Studio Max і Softimage \ XSI.
Здається, багато людей стикаються з труднощами в отриманні "чистих" зображень використовуючи Глобальне Освітлення в Mental Ray'е. Скарги головним чином стосуються артефактів викликаних як Глобальним Освітленням (ГО) / трасування Фотонів так і Кінцевим Збором (КС). Цих проблем, однак, можна легко уникнути якщо знати як ГО і КС працюють. а також провівши кілька тестів і досліджень перед тим, як робити остаточний висновок.
Глобальне Освітлення / ГО Трасування Фотонів
Глобальне Освітлення - це моделювання інтерференції дифузного світла в сцені. Для моделювання цих ефектів Mental Ray використовує трасування фотонів і зберігає фотони Глобального Висвітлення в карті фотонів. Використання карти фотонів може викликати, в залежності від установок, прояв артефактів, таких як темні кути і низька частота в освітленні. Можна зменшувати кількість цих артефактів або усувати їх взагалі за допомогою Кінцевого Збору.
Кінцевий Збір є необов'язковим, додатковим кроком для підрахунку Глобального освітлення. За допомогою КС наводяться додаткові промені для того, щоб підкреслити півсферу вище заданої точки для обліку випадкового освітлення. КС збирає інформацію про додаткової енергії з навколишнього середовища об'єкта і об'єднує її з енергією яка зберігається в карті фотонів ГО. КС може у багато разів збільшити час, необхідний для візуалізації. Найбільш це корисно для сцен із загальним дифузним освітленням, де це допомагає усувати артефакти карти фотонів.
Так як КС збирає інформацію про енергію навколишнього середовища, його можна використовувати в поодинці без використання ГО (карти фотонів). Щоб виконати це в 3D Studio Max, просто дезактивують опцію "Indirect Illumination Params" (Параметри Непрямого Освітлення) для джерела (ів) освітлення. Однак, дія цієї програми обмежена в ситуаціях, коли світло надходить постійно і звідусіль, наприклад, як світло в небі (т.е.купол неба) в сценах на відкритому повітрі. У відкритих сценах, наприклад, де об'єкти висвітлені не тільки світлом неба, а й ще одним або декількома джерелами світла, межотраженіе дифузного світла, подсчітаное за допомогою трасування фотонів є визначальним фактором для отримання в результаті реалістичного зображення. (Див. Малюнки внизу - зліва: використовується тільки КС (АА викл.), Праворуч: те ж саме, тільки з ГО (АА вкл.)).
Застосування Глобального Освітлення та Кінцевого Збору в 3D Studio Max.Вся інформація в даному тексті відноситься до поточної 1.1 версії Mental Ray / MAX і сцени Cornell-Box Globillum.max з навчальної директорії Mental Ray / MAX. Якщо ви не знайомі з загальним процесом застосування ГО для вашої сцени, прочитайте про це в керівництві по застосуванню. Цей текст лише дає поради щодо вирішення вищезазначених проблем візуалізації.
Проблема 1: Артефакти, викликані картою фотонів.
"У мене є простенька внутрішня сцена з коробкою для стелі, стін і підлоги, і одним все висвітлюють джерелом світла. Я використовую ГО і КС, але скільки б фотонів я ні використовував і як точний не був би КС, кути і краю в кімнаті виглядають штучним, особливо яскрава стіна на задньому плані. Що я роблю не так? " (Див. Рисунок внизу)
Рішення. Явно, що тут не допоможе підвищення точності КС. Навіть якщо для КС використовувати невеликий радіус, наприклад, 1.0, який дає кращі результати (як було розказано раніше), то і це не вирішить проблему.
Так як КС збирає інформацію з навколишнього середовища і з карти фотонів, то фотони потребують більш детального вивчення. Вимкнувши КС і провівши візуалізацію (отрендеріть) зображення, ви можете на них поглянути.
Ось як виглядають фотони на малюнку зверху (енергія була трохи (1.500) збільшена, щоб зробити фотони більш видимими). Опції "Generate" і "Receive" для ГО включені для всіх об'єктів сцени. Всеосвещающій джерело світла (HSV = 0,0,100) з встановленим рівнем множника на 3.0, тип пригашених "Inverse" і Raytraced Shadows. Установки фотонів - за винятком установки Енергія (Energy), яка встановлена на 500, і типу пригашених "Inverse", - опція стане типовою: 10.000 фотонів з заданим за замовчуванням радіусом, який Mental Ray обчислює відповідно до протяжністю сцени, в даному випадку 19,4 (приблизно 10% протяжності сцени). У цій сцені фотони знаходяться в різних варіаціях, які КС явно не в змозі усунути.
Задані за замовчуванням установки для фотонів Глобального Освітлення слід змінити для того, щоб отримати більш гладке зображення. Задані за замовчуванням семпли фотонів (500) і радіус (обчислений Mental Ray'ем) залишаються незмінними, а кількість фотонів ГО збільшується до 100.000.
Це виглядає трохи краще. Різниця між фотонами тепер набагато менше, особливо на задній стінці. Однак, різниця уздовж країв і в кутах може ще робити небажане враження. Тести з використанням ще більшої кількості фотонів не принесуть відчутних результатів. Давайте подивимося, чи можна домогтися поліпшення ситуації іншим способом.
Тепер нам необхідно змінити заданий за замовчуванням радіус фотонів Глобального освітлення. Mental Ray повідомляє радіус 19.4 (це можна побачити в повідомленнях в Mental Ray Messages після виконання роботи (візуалізації)). Використання меншого, ніж цей радіуса не має сенсу, так як доведеться також збільшувати і кількість фотонів. Дійсно, якщо зменшити радіус до 5.0 або 10.0, використовуючи при цьому 1,000,000 фотонів, то непряме освітлення вийде ще більш грубим. Для наступного тесту, радіус фотонів встановлений на 50.0, і кількість фотонів скинуто до початкової цифрі: 10.000.
Тут у нас фотони побільше і виглядають вони вже більш гладко, ніж раніше. Цю установку варто спробувати разом з КС. КС активізований і встановлені параметри зі значеннями: Семпли = 300, Макс.Радіус = 1.0. Опцію "Мін.Радіус" не включаємо, так як він буде обчислений за допомогою Mental Ray. Для цього Mental Ray бере 10% від макс. радіуса, як і було сказано в повідомленні Mental Ray Messages. При таких установках ми отримаємо відмінний КС. Причину буде пояснена пізніше. Згладжування (Anti-Aliasing) вимкнено ( "Box" - фільтр з - 1/0 хв. / Макс. Cемпламі).
Результат вийшов відмінний. (Замітка: Різниця в кольорі уздовж країв червоною стіни вийшла в результаті стиснення за допомогою JPEG). Решта похибки можуть бути усунені за допомогою застосування функції Згладжування (Anti-Aliasing). Для порівняння, в наступному випадку використовується ще більший радіус фотонів (100.0), але з меншою кількістю фотонів (5.000):
Візуалізація фотонів: непряме освітлення виглядає дуже гладким.
Освітлення (тут Згладжування включено) виглядає трохи краще, ніж раніше, але не набагато. Однак, процес візуалізації з радіусом фотонів встановленим на 50.0 триває десь в 3 рази швидше (00:58:17 при дозволі 640x480 на РII 350-ом), ніж там, де радіус = 100.0.
Вам може здатися, що 58 хвилин - це досить багато для такого процесу, але для цього є свої підстави: досить великий радіус (50.0) використовується для карти фотонів, що представляє собою 1/4 довжини сцени, але в той же час відносно невеликий радіус ( 1.0) використовується для КС. Так як КС збирає інформацію про непрямому освітленні з карти фотонів, то час, який займає процес візуалізації, росте прямо пропорційно збільшенню радіуса фотонів і зменшення радіусу КС. Це слід взяти до уваги при виставленні параметрів.
Проблема 2: Артефакти, викликані Кінцевим Збором, також відомі як "Артефакти області пам'яті"
"У мене є простенька внутрішня сцена з коробкою для стелі, стін і підлоги і одним всеосвещающім джерелом світла. Я використовую тільки КС, але незалежно від того, як великі семпли КС, в кімнаті, особливо в районах де є тінь, помітні нестерпні артефакти . Що я роблю не так?" (Див. Картинку внизу)
Рішення. Природно, що збільшення семплів для КС нічого не дасть. Навіть 10.000 семплів, що є убивчим для більшості комп'ютерів, не вирішать проблеми.
Процес Кінцевого Збору потребує подальшого розгляду. За допомогою КС наводяться додаткові промені для того, щоб підкреслити півсферу вище заданої точки для обліку випадкового освітлення. Другий параметр, радіус КС встановлюється на максимально для нього можливий. За замовчуванням, Мental Ray обчислює максимальний для КС радіус, виходячи з протяжності сцени, в даному випадку 9.7 (приблизно 5% протяжності сцени). Значення встановлене за замовчуванням, якщо його включити, так само 1.0 і зачіпає всю сцену. По всій видимості, з поточним значенням за замовчуванням, рівним 9.7, КС працює не досить точно.
Включивши Макс.Радіус КС (зі значенням 1.0 за замовчуванням) і залишивши Мін.Радіус вимкненим (10% від макс. Радіусу за замовчуванням), ви можете це перевірити. Згладжування вимкнено ( "Box" - фільтр з -1/0 Мін. / Макс. Семплами).
Це вирішило проблему. Семпли КС, також як і семпли ГО, тільки прикривають недоліки. Визначальним параметром є максимальний радіус Кінцевого Збору, який, правда, може значно збільшити процес виконання (візуалізації). Але це, однак, єдиний спосіб домогтися скоєних і "чистих" результатів.
Використовуючи Глобальне Освітлення, пам'ятайте про двох головних речах, які визначають хороший результат:
- якість непрямого освітлення / Карти Фотонів
- точність / радіус Кінцевого Збору
Як було видно з прикладів, непряме освітлення з високою якістю вимагає великого радіусу фотонів, в той час як для гарного остаточного результату потрібно КС з маленьким максимальним радіусом. Цей фактор часто призводить до збільшення часу процесу виконання (візуалізації), тому тільки від вас залежить наскільки ви врівноважити ці параметри.
У будь-якому випадку, чим вище буде якість візуалізації ГО, тим більше часу займе цей процес, і вам може знадобитися потужна машина, якщо ви хочете отримати потрібні вам результати.
Джерело: Norbert's Homepage