Решаем проблему мерцания при рендеринге анимации в VRay

Рендеринг анимации в VRay с использованием непрямого освещения (GI) на основе кэширования сэмплов, как правило, приводит к появлению мерцания на видео. Происходит это из-за того, что сэмплы каждого отрендеренного кадра рассчитываются по-разному, что влечет за собой различие в значениях освещенности каждого последующего кадра. Обычно, чтобы обойти этот глюк, анимацию пытаются рендерить путём использования одних и тех же данных выборки сэмплов в каждом кадре. Для этого понадобилось бы заранее рассчитать GI, обычно с использованием двух наиболее распространенных в народе механизмов — Irradiance map (Карта освещённости) и Light cache (Световой кэш), выбрав для ирмапы режим Multiframe Incremental (Расчет карты освещённости текущего кадра на основе предыдущего), а для лайт кэша — режим Fly-through (Пролёт камеры). Связка Irradiance map + Light cache вполне оправдывает себя, если в анимации нет движущихся объектов. Поэтому рекомендуется использовать эту сладкую парочку только для создания анимации пролёта камеры по сцене.

Решаем проблему мерцания при рендеринге анимации в VRay

Представьте, что вы рассчитали сэмплы для рендеринга объекта, имеющего точки расположения в пространстве X, Y и Z. Но когда впоследствии он переместится в новые координаты X, Y, Z, то для корректной визуализации объекта на новом месте просто не окажется нужных сэмплов. По этой причине на рендере будут заметны артефакты и пятна. Метод применения Irradiance map и Light cache достаточно быстр по сравнению с рендерингом на основе механизма Brute Force (Грубая сила), при котором сэмплы для каждой затенённой точки рассчитываются отдельно и независимо от других точек. Хотя Brute Force работает очень аккуратно, уберегая рендер от каких-либо мерцаний, всё же он слишком медленно считает картинку.

Одним из нововведений во VRay год стали карты освещённости Irradiance map с временной интерполяцией. Основная их функция сводится к сокращению величины мерцания, которое случается при использовании метода расчёта GI картами освещённости. Работает это всё путём смешивания некоего диапазона сэмплов из нескольких ирмап, что позволяет добиться плавных переходов между кадрами. Диапазон определяется с помощью параметра Interpolation frames (Кол-во кадров для интерполяции), о котором мы поговорим ниже.

Параметр Use camera path (Использовать путь камеры)


В то время как карты освещённости с временной интерполяцией решают большинство проблем с мерцанием от камеры. Причина этого в том, что Irradiance map рассчитывается путём трассировки лучей из камеры, а так как камера движется, то лучи, соответственно, в каждом кадре будут рассчитываться по-разному. Параметр Use camera path вносит изменение в способ выстреливания лучей из камеры. Вместо их выстреливания с текущего положения камеры в каждом кадре, со включенным параметром лучи будут выстрелены для всего пути следования камеры, что позволит использовать одни и те же лучи в каждом кадре.

Режимы Animation (prepass) и Animation (rendering)


Данная методика состоит из двух этапов. На первом этапе в режиме Animation (prepass) VRay отдельно для каждого кадра высчитывает карту освещённости (Irradiance map) с запасом в несколько кадров до фактического начала анимации и после её окончания. Второй этап — это уже рендеринг конечной анимации в режиме Animation (rendering). При этом надобности в использовании механизма для расчёта Secondary GI не будет, поскольку он уже будет являться частью Irradiance map после прохождения первого этапа.

Схема настройки режима Animation (prepass)


Irradiance map
Отметьте флажком параметр Use camera path и установите Mode на Animation (prepass). Щёлкните кнопку Save (Сохранить), укажите место для сохранения и название перечня создаваемых ирмап. Проверьте также, чтобы был установлен флажок Auto save (Автосохранение).

Решаем проблему мерцания при рендеринге анимации в VRay

При выборе места для сохранения карт освещённости с использованием проводника Windows, советую потом проверить, сохранилась ли в этой папке начальная карта Irradiance map. Это важно, потому как крайне редко, но бывает, что Windows или Макс с этим тупит.

Решаем проблему мерцания при рендеринге анимации в VRay

Light cache
В свитке Light cache поставьте галочку в аналогичном параметре Use camera path и выберите Single frame (Одиночный кадр) в качестве режима в списке Mode (вообще, по умолчанию это и так стоит, но мало ли). Как вариант, можно заранее наперёд рассчитать лайт кэш и использовать его из файла. При этом можно даже сэкономить немного времени на рендеринге.

Решаем проблему мерцания при рендеринге анимации в VRay

ВАЖНЫЙ МОМЕНТ! Когда завершится этап расчёта препасса, нужно будет указать величину смешивания между картами освещённости. Поэтому прежде, чем рендерить финальную анимацию, от вас потребуется решить, по скольким ирмапам системе нужно производить смешивание. Это влияет на продолжительность анимации, добавляя к ней несколько новых кадров. Например, если величина смешивания равна 2, то это будет означать, что данные об освещённости для текущего кадра получены путём смешивания данных от двух предыдущих кадров, текущего и двух последующих за ним. В этом случае, чтобы отрендерить кадр 5, VRay смешает кадры 3, 4, 5, 6, 7. Для кадра 6 будут смешаны кадры 4, 5, 6, 7, 8. Ну, вы поняли. О настройке смешивания мы поговорим далее в этом материале.

Назад Вперед

Другие материалы:

Здесь с 17.01.2012
1 комментарий
Репутация: 0

#1 добавил cheekz

17 января 2012 13:04 | Комментариев: 1
Уважаемые Админы, сделайте этот урок в видео формате, по скольку новичкам не совсем понятно где находятся пассы, просчет light cache и тд! Да и профи тоже будет интересно.Заранее спасибо.
Здесь с 23.05.2012
4 комментария
Репутация: 0

#2 добавил ohra

23 мая 2012 23:35 | Комментариев: 4
Очень эффективный и понятный урок. Вы еще написали что можно сэкономить время рендера если предварительно просчитать Light Caсhe, напишите, пожалуйста, как это сделать правильно. Спасибо.
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#3 добавил DDT

24 мая 2012 00:43 | Комментариев: 1288
Во-первых, смотрите, чтобы на таймлайне анимации (продолжительность всей анимации имеется в виду) было столько же кадров, сколько вы собираетесь рендерить. Это важно.
Во-вторых, в лайт кэше надо установить режим Mode: Fly-Through.
В-третьих, надо увеличить число сэмплов в лайт кэше.. Если камера движется медленно, то увеличивать придется не намного, если быстро — то лучше сделать прибавку побольше (попробуйте 2000 сэмплов).

Теперь просто рендерите ОДИН любой кадр анимации, вся информация будет получена даже так. Не забудьте сохранить файл просчетов и использовать в дальнейшем для работы его (параметр From file). Параметр Scale также надо установить на World.

Если же в сцене что-то изменится, то придется пересчитывать лайт кэш.
Здесь с 23.05.2012
4 комментария
Репутация: 0

#4 добавил ohra

24 мая 2012 07:26 | Комментариев: 4
При просчете LightCache и Irradiance Map должен стоять флажок на Dont render final image?
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#5 добавил DDT

25 мая 2012 23:26 | Комментариев: 1288
Да, можете поставить флажок.
Здесь с 5.09.2012
1 комментарий
Откуда: Россия, Москва
Репутация: 0

#6 добавил tatanika

5 сентября 2012 16:46 | Комментариев: 1
Добрый день. Выполнила все как написано в Вашем уроке, но получила обратный эффект - вместо исчезновения бликов, у меня отрендерились только они. Подскажите пожалуйста, как можно от них избавиться.я бы с удовольствием показала рендеры (в чем собственно проблема), но не знаю как выложить.
Здесь с 6.04.2012
266 комментариев
Откуда: Москва
Репутация: 1

      

#7 добавил korandr

6 сентября 2012 20:00 | Комментариев: 266
Если это анимация, то можно выложить на Youtube или на Vimeo (предварительно зарегистрировавшись там), а потом вставить ссылку в ваш комментарий здесь.
А насчет бликов, может с настройками рендера что то не так в принципе. Попробуйте отрендерить любой кадр (один кадр) и посмотрите какая картинка. Если один кадр нормальный, а при анимации все плохо, тогда попробуем разобраться. ))
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#8 добавил DDT

6 сентября 2012 23:29 | Комментариев: 1288
tatanika, сценку свою на файлообменник выложите, я посмотрю.
Здесь с 20.11.2013
40 комментариев
Откуда: Латвия,Рига
Репутация: 0

 

#9 добавил Acme

15 декабря 2013 16:07 | Комментариев: 40
Light cache , не могу найти...
http://imgur.com/a/KVXsd
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#10 добавил DDT

15 декабря 2013 20:53 | Комментариев: 1288
Во вкладку Indirect Illumianation перейдите, включите Indirect illumianation (GI) - галочку поставьте, в Secondary Bounces выберите Light Cache и появится одноименный свиток.

Вообще, это самые азы, стоит в них разобраться самому :)
Здесь с 21.05.2014
2 комментария
Репутация: 0

#11 добавил Толстая рыба

21 мая 2014 20:37 | Комментариев: 2
Очень хорошая и подробная инструкция, но, увы, мне она не помогла.
У меня сцена с движущейся камерой и движущимися объектами на ней. Я делала всё по Вашей инструкции для рендеринга через prepass и render.
По ссылке ниже есть скриншот, где обозначены все мои шаги, и три полученных изображения. С виду они одинаковы. Но если быстро переключать с одногой картинки на другую, то будет видна разница, которая на видео выливается в мерцания. Также в архиве есть файл с тридемаксовским проектом.
Может быть я что-то делаю не так, раз мерцания остаются?

Забыла саму ссылку :)
https://www.dropbox.com/sh/mwgvzz2hrlq1q52/AAD2k5i1-7jipyUekbae835Ja
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#12 добавил DDT

23 мая 2014 23:41 | Комментариев: 1288
Я только одним глазом глянул, ничего не рендерил, т.к. времени особо на это нет. Но вот что бросилось в глаза. Там у вас в VRayLight слишком низкое значение сабдивов в тенях, а также замените все стандартные источники света на виреевские. Из-за этого может быть мерцание.

Также нехорошо, что все эпизоды снимает одна и та же камера, резко меняя своё положение. Или накручивайте больше сэмплов, или снимайте с разных камер, просчитывая для каждой всё так же само. Interpolation frames можно поднять до 4 или 5. В лайт кэш лучше поменять Scale на World.

Да, и какой пресет стоял в ирр. мапе? Ставьте Medium Animation.

В общем, это так, бегло..

п.с.: а ещё можно Brute Force попробовать, тогда мерцания не будет, но рендерится дольше.
Здесь с 21.05.2014
2 комментария
Репутация: 0

#13 добавил Толстая рыба

31 мая 2014 22:33 | Комментариев: 2
Всё не было времени сказать спасибо за помощь. Говорю сейчас :).
Правда советы всё равно не помогли, и мерцания осталось. Но это уже стало неважным.
Здесь с 12.04.2012
12 комментариев
Репутация: 0

#14 добавил Mark

16 июля 2014 18:48 | Комментариев: 12
Здравствуйте, у меня немного другая проблема : во время работы в 3ds max 2014, постоянно ,
как-то странно мигает viewport -- переходит от реалистичного изображения на непонятные обозначения
объектов в виде кубиков и призм, -- все это сильно раздражает и мешает в работе.
Подскажите, как от него избавиться .
( в 2012ой версии и более ранних версиях этого нет!!!!!!)
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#15 добавил DDT

17 июля 2014 23:36 | Комментариев: 1288
Привет. Это включена опция Adaptive Degradation. Она просто помогает сохранить скорость прорисовки кадров. но её можно отключить. Ближе к правой нижней части экрана под таймслайдером есть иконка с кубиком -- кликни по ней, и адаптивная деградация отключится. Или же нажми правую кнопку мыши на [ + ] в окне проекции, выбери Configure Viewports, и потом откроется окно, где нужно будет найти и отключить Adaptive Degradation.
Здесь с 12.04.2012
12 комментариев
Репутация: 0

#16 добавил Mark

18 июля 2014 01:18 | Комментариев: 12
Спасибо большое , и еще один момент-- я не знаю с чем это связано, думал, что настройками units ,но нет, --
все в миллиметрах -- картинка вылетает в никуда при малейших движениях мыши -- приходится выставлять
какую- нибудь камеру, а потом обратно на перспективу во вьюпорте-- и так многократно.
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#17 добавил DDT

19 июля 2014 00:11 | Комментариев: 1288
Скорее всего, что не соблюден масштаб сцены -- размер объектов в сцене несоразмерен единицам измерения. Создай, например, куб 1000х1000 мм и сравни со своими объектами. Быть может, где-то есть слишком большой объект.
Здесь с 12.04.2012
12 комментариев
Репутация: 0

#18 добавил Mark

20 июля 2014 03:09 | Комментариев: 12
Спасибо, но даже если есть этот объект, не переделывать же из -за него все ????!!!!!!
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#19 добавил DDT

20 июля 2014 22:11 | Комментариев: 1288
Зачем же переделывать. Просто модель мелкие объекты в миллиметрах отдельно от больших, затем переключайся на сантиметры/метры и добавляй в сцену большие объекты через Merge.

Опять-таки, можно импортировать через Merge мелкую модель в новую сцену, где всё работает нормально, и работать там с ней в мм.
Здесь с 23.05.2012
4 комментария
Репутация: 0

#20 добавил ohra

19 сентября 2014 10:19 | Комментариев: 4
Очень нужна помощь!!!
делаю препас на IM и на нескольких кадрах в середине пролета камеры выскакивает вот эта ошибка
https://cloud.mail.ru/public/c0d7339bdb8e%2Ferror.jpg
может кто-нибудь сталкивался с такой проблемой, подскажите, что может создавать эту ошибку?
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#21 добавил DDT

19 сентября 2014 20:12 | Комментариев: 1288
Я такую ошибку ловил на 32-х разрядном 3ds Max & Windows. У тебя они не 32-битные случайно?
Здесь с 23.05.2012
4 комментария
Репутация: 0

#22 добавил ohra

19 сентября 2014 21:06 | Комментариев: 4
32-й отдала сыну еще лет 5 назад))
проблема частично решена. Я методом исключения вычислила группу элементов которые создавали эту проблему, собрала их в отдельный слой и отключила. Хорошо что все они находились за пределами сцены и не были видны даже в отражениях. Уже отправила на рендерферму...
В любом случае спасибо за внимание.
Здесь с 13.10.2014
1 комментарий
Откуда: Красноярск
Репутация: 0

#23 добавил renderman

13 октября 2014 12:56 | Комментариев: 1
Добрый день. Решил проэкспериментировать с анимацией на примере рабочего проекта, об этом способе анимации знал давно, но результат меня удивил. Не подскажите в каком направлении поискать ошибку. В каждом кадре периодически в разных местах на геометрии выскакивают тёмные и светлые пятна. Лайткешь 1500 сабдивов с размером семпла в 10 см. Ирмапа по дефолту для medium animation. Т.е. выскакивают приличные артефакты из за какой то глупой ошибки в настройках. Зв геометрию уверен, косяков нет. Если просто отредерить с такими же настройками Ирмапы и Лайткеша небольшую последовательность - проблем нет.
пример
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#24 добавил DDT

13 октября 2014 22:47 | Комментариев: 1288
Привет. Картинку, что ты вставил, не видно. Там простой пролёт камеры или есть движущиеся объекты?

Попробуй для начала СНЯТЬ галку "use camera path" и посмотри, что будет.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.