Rendering surface interfaces |
Главная | Tutorials |
Search Keywords: glass, liquid, surface interface
В этом уроке мы обсудим рендер рефракции сопрягающихся поверхностей в V-Ray. Стандартный пример этого случая это рендер жидкости в стеклянном сосуде. Проблема в том, что мы имеем два различных объекта, которые имеют точно контактирующие поверхности на границе разделяющей объекты.
С точки зрения моделинга, очень сложно обеспечить, чтобы два объекта имели точно те же границы в геометрии. Хотя это может быть обеспечено, с определенными трудностями для статической сцены, все становится намного сложнее при анимации.
С точки зрения рендера, если две поверхности точно контактируют, рендер не может разделить их точно, что может вести к ошибкам.
Учитывая эти два момента ясно, что нам нужно разделить две поверхности, или смоделировать поверхности по отдельности.
Имеем три варианта:
Ниже, мы обсудим только два первых метода; третий метод более сложный и не рекомендуется к использованию с V-Ray.
1.1. Откройте начальную сцену, которая может быть найдена здесь here.
1.2. Назначьте V-Ray как текущий рендер.
1.3. Чтобы сделать превью сцены быстрее, перейдите в Image sampler и установите Image sampler type в Fixed.
Далее. Мы хотим сделать быстрый GI:
1.4. В Indirect illumination rollout, включите GI и установите Primary и Secondary алгоритмы в Light cache.
1.5. Отключите Refractive GI caustics.
Мы добавим photon-mapped каустику позднее в финале.
1.6. В свитке Light cache rollout, установите Sample size в 0.04 для менее шумного результата.
1.7. Установите light cache Filter mode в Fixed и установите Filter size в 0.08 т.к. мы хотим отображать light cache непосредственно.
1.8. Отключите Store direct light для light cache, т.к. мы хотим вычислять direct lighting отдельно.
1.9. Установите сабдивы в 500.
1.10. При желании установите штамп времени в System rollout.
1.11. Рендерим:
Мы видим контейнер, который мы заполним жидкостью в следующем разделе урока.
Теперь, когда мы имеем контейнер, нам нужно добавить в него жидкость:)
2.1. Unhide объект "жидкость" внутри контейнера. Если посмотреть поближе, можно увидеть, что внутренний объект слегка не касается внутренней поверхности контейнера:
2.2. Render:
Хотя расстояние между контейнером и жидкостью, действительно мало, результат рендера не выглядит реалистично - выглядит как твердый блок внутри. Для исправления этого, нам нужно сделать, чтобы жидкость слегка пересекалась с контейнером.
2.3. Спрячьте "liquid inside" объект и покажите (unhide) "liquid overlapped" объект. Теперь можно заметить, что этот объект слегка перекрывается с контейнером:
2.4. Render:
Теперь это выглядит слегка лучше; жидкость выглядит как реально соприкасающаяся со стеклом.
Для окончательного рендера нам нужно улучшить антиалиасинг, и добавить каустику.
3.1. Включите Caustics в Caustics rollout.
3.2. Установите Max. density в 0.2 - нам нужно ограничить плотность фотонов каустики, т.к. это позволяет увеличить количество фотонов для лучшего качества эффекта каустики. 3.3. Установим Search distance в 2.0. Обычно значение от 5 до 10 параметра Max. density работает хорошо.
3.4. Установите параметр Max. photons в 0 - это заставит V-Ray учитывать все фотоны в пределах search distance от shaded point.
3.5. Render:
Рендер теперь занимает немного больше времени, т.к. V-Ray нужно время для расчета каустики.
Теперь у нас есть каустика, но она выглядит слегка шумной. Уменьшить шум можно увеличением Caustics subdivs для источника света.
3.6. Выберите VRayLight объект.
3.7. Right-click во вьюпорте на объекте и выберите "V-Ray properties..." для открытия V-Ray Light settings dialog.
3.8. Установите Caustics subdivs в 4000.
3.9. Render:
Теперь каустика выглядит лучше, и с этими настройками мы сделаем финальный рендер. Если вы хотите, сабдивов можно еще добавить, так же можно увеличить значение параметра Search distance .
3.10. Для повторного пересчета каустики всякий раз при рендере, сохраните caustics photon map в файл, установите режим Caustics mode в From file, и выберите сохраненную каустику при помощи кнопки Browse.
Теперь нам нужно улучшить антиалиасинг и уменьшить шум от area light.
3.11. В Image sampler rollout, установите Image sampler type в Adaptive QMC.
3.12. В QMC Sampler rollout, установите Noise threshold в 0.002.
3.13. Установите Global subdivs multiplier в 8.0 - это уменьшит шум от area light.
3.14. Render:
Это финальная картинка.