Обзор.
VRayFastSSS2 - это материал, который в первую очередь разработан для визуализации просвечивающих материалов, таких как кожа, мрамор и т.д. Реализация основана на концепции BSSRDF, разработанной Jensen и др., которая физически более или менее точно аппроксимирует эффект подповерхностного рассеивания света, оставаясь при этом достаточно быстрой для практического использования.
В отличие от исходного материала VRayFastSSS, материал VRayFastSSS2 - это полноценный материал с бликами и диффузным рассеиванием света, который может использоваться непосредственно, без использования материала VRayBlendMtl. Если более точно, то материал составлен из трех слоев: слоя блика, слоя диффузного рассеивания и слоя подповерхностного рассеивания света. Слой подповерхностного рассеивания является суммой компонентов первичного и множественного рассеиваний. Единичное рассеивание возникает, когда свет отражается внутри материала первый раз. Множественное рассеивание - когда свет отражается два или более раз, пока не затухнет внутри материала.
General parameters (Общие параметры).
Preset - позволяет вам выбрать один из нескольких доступных наборов настроек материалов. Большинство пресетов основывается на данных измерений, проведенных Jensen и др.
Scale - параметр дополнительно масштабирует радиус подповерхностного рассеивания. Обычно VRayFastSSS2 будет использовать единицы сцены при вычислении эффекта подповерхностного рассеивания. Однако, если сцена смоделирована не в масштабе, то этот параметр может быть использован для настройки эффекта. Он также может быть использован для изменения действия пресета, который при загрузке устанавливает параметр Scatter radius, но оставляет неизменным параметр Scale.
IOR - Большинство материалов на основе воды, подобных коже, имеют показатель преломления около 1.3.
Пример 1: Пресеты VRayFastSSS2.
Skin Brown
Skin Pink
Skin Yellow
Milk [Skim]
Milk [Whole]
Marble [White]
Ketchup
Cream
Potato
Spectralon
Пример 2: Scale (Масштаб).
В этом примере показано действие параметра Scale. Обратите внимание, как большие значения делают объект более прозрачным. По своей сути, этот параметр делает то же самое, что и параметр Scatter radius, но он может корректироваться независимо от выбранного профиля. Изображения выводятся без ГИ, чтобы лучше показать подповерхностные рассеяние. Параметр Single scatter был установлен на Raytraced (сплошной). Пресет Marble-мрамор (белый) использовался для всех изображений.
Scale = 1
Scale = 10
Scale = 100
Diffuse and sub-surface scattering layers parameters (Параметры диффузного уровня и уровня подповерхностного рассеивания).
Overall color - параметр управляет общим цветом материала. Этот цвет используется как фильтр для диффузной и подповерхностной компоненты.
Diffuse color - цвет диффузной части материала.
Diffuse amount - величина диффузного компонента материала. Заметим, что это значение, фактически, указывает соотношение между диффузным и подповерхностным уровнями. Когда параметр равен 0.0, материал не имеет диффузной компоненты. Когда параметр равен 1.0, материал имеет только диффузную компоненту без подповерхностного слоя. Диффузный слой может быть использован для имитации пыли и т.д. на поверхности.
color mode – эта опция позволяет определить, какой метод использовать для регулирования эффекта подповерхностного рассеяния. Доступны следующие варианты:
Sub-surface color + scatter radius – эффект подповерхностного рассеивания регулируется при помощи подповерхностного цвета и параметров scatter color.
Scatter coefficient + fog color - эффект подповерхностного рассеивания осуществляется с помощью scatter coefficient и параметров fog color.
Sub surface color - общий цвет для подповерхностной части материала.
Scatter color - цвет для внутреннего рассеивания в материале. Более светлые цвета заставляют материал рассеивать больше света и материал выглядит более просвечивающим. Более темные цвета делают материал похожим на диффузный.
scatter coefficient – это подповерхностный цвет, находящийся прямо под поверхностью материала.
fog color – это цвет глубоко внутри объекта.
Scatter radius - параметр управляет силой рассеивания света в материале. Низкие значения делают материал менее рассеивающим свет и материал выглядит больше как диффузный. Высокие значения делают материал более просвечивающим. Заметим, что это значение всегда указывается в сантиметрах (cm). Материал будет автоматически преобразовывать это значение в единицы сцены, основываясь на выбранной в настоящее время системе единиц.
Phase function - значение в диапазоне от -1.0 до 1.0, которое определяет общее направление рассеивания света внутри материала. Его действие может быть чем-то подобно различию между диффузным и размытым отражениями от поверхности, однако фазовая функция управляет отражением и прозрачностью объема. Значение 0.0 означает, что свет рассеивается одинаково во всех направлениях (изотропное рассеивание). Положительные значения означают, что свет рассеивается преимущественно вперед, в том же направлении, в котором он шел. Отрицательные значения означают, что свет рассеивается в основном в обратном направлении. Большинство материалов, основанных на воде (кожа, молоко), проявляют сильное прямое рассеивание, в то время как твердые материалы, как мрамор, демонстрируют обратное рассеивание. Этот параметр влияет наиболее сильно на первичный компонент рассеивания материала. Положительные значения уменьшают видимый эффект компоненты первичного рассеивания, отрицательные значения делают компоненту первичного рассеивания более заметной.
Пример 3: Sub Surface Color
Этот и следующий примеры демонстрируют влияние и взаимосвязь между Scatter color и параметрами Sub-surface color. Обратите внимание, как изменение Sub-surface color меняет внешний вид материала, тогда как изменение Scatter color изменяет только компонент внутреннего рассеяния. Для всех трех проекций, Scatter color установлен зеленый цвет.
Sub Surface Color = Red
Sub Surface Color = Green
Sub Surface Color = Blue
Пример 4: Scatter Color.
Для все представленных рендеров параметр Sub-surface color установлен на зеленый цвет.
Scatter Color = Red
Scatter Color = Green
Scatter Color = Blue
Пример 5: Scatter Radius.
В этом примере показан эффект параметра Scatter radius. Обратите внимание, что эффект будет таким же, как при увеличении параметра Scale, с той лишь разницей, что Scatter radius изменяется напрямую различными пресетами. Эти изображения на основе пресета Milk (skimmed) (молоко обезжиренное). Куб в нижнем левом углу имеет размер 1см.
Scatter Radius = 1.0cm
Scatter Radius = 2.0cm
Scatter Radius = 4.0cm
Пример 6: Phase Function.
В этом примере показан эффект параметра Phase function. Этот параметр можно сравнить с разницей между диффузным отражением и отражением на глянцевой поверхности; однако он регулирует отражения и просвечивание. Его действия довольно тонкие и в основном связаны с компонентом однократного рассеяния материала. Красная стрелка представляет собой луч света, проходящего через объем; черные стрелки показывают возможные направления рассеяния луча.
Phase Function = -0.9 (Backward Scattering)
More light comes out.
Phase Function = -0.5 (Backward Scattering)
Phase Function = 0 (Isotropic Scattering)
More light exits object.
Phase Function = 0 (Isotropic Scattering)
Phase Function = 0.0 (Forward Scattering)
More light is absorbed object.
Phase Function = 0.5 (Forward Scattering)
Пример 7: Phase Function: Источник Света.
Этот пример демонстрирует действие параметра Phase function, когда есть источник света внутри объема. Изображения основаны на пресете Skin (pink) с большим значением Scatter radius и режиме Raytraced (refractive) для однократного рассеяния с значением IOR- 1.0. Переднее освещение и заднее освещение отключены для этих изображений; включено только однократное рассеяние. Обратите внимание на объемные тени, которые отбрасываются светом внутри объема.
Phase Function = -0.9
Phase Function = 0
Phase Function = 0.0
Specular layer parameters (Параметры отражающего слоя).
Specular color - определяет отражающий цвет для материала.
Specular amount - определяет силу отражения для материала. Заметим, что для отражающего компонента автоматически применяется затухание по Френелю на основании параметра IOR данного материала.
Specular glossiness - параметр определяет глянцевитость (форму блика). Значение 1.0 дает четкие отражения. Более низкие значения дают более размытые отражения и блики.
Specular subdivs - определяет количество сэмплов, которые будут использованы для вычисления размытых отражений. При низких значениях визуализация идет быстрее, но может появляться шум в размытых отражениях. При высоких значениях уменьшается шум, но могут замедлиться вычисления.
Specular reflections - включает вычисление размытых отражений. Если выключено, то будут вычисляться только блики.
Specular trace depth - количество отскоков для отражения для материала.
Многократное рассеяние.
Параметры этого свитка позволяют регулировать способ расчета эффекта подповерхностного рассеивания и качество конечного результата.
multiple scattering – этот параметр определяет метод, используемый для расчета эффекта подповерхностного рассеяния.
Raytraced –внутри объема в геометрии используется корректное преобразования, чтобы получить эффект подповерхностного рассеивания. Этот метод физически точный и дает самые лучшие результаты.
Prepass-based illumination map – этот метод использует подход, аналогичный карте освещенности для аппроксимации эффекта подповерхностного рассеяния. Качество конечного результата зависит от параметра Prepass rate.
Object-based illumination map – этот метод похож на Prepass-based illumination map в том, что он также создает карту освещенности для аппроксимации конечного результата. Единственное отличие это метода, что он используется для расположения сэмплов. Вместо использования разрешения изображения, сэмплы размещаются в области поверхности геометрии. При использовании этого режима конечное качество зависит от параметра Samples per Unit Area.
Prepass rate - VRayFastSSS2 ускоряет вычисление множественного рассеивания посредством предварительного вычисления освещенности в различных точках поверхности объекта и сохранения ее в структуре, называемой картой освещенности (illumination map). Эта структура похожа на карту интенсивности освещения (irradiance map), которая используется при аппроксимации глобального освещения. И используется тот же механизм предварительных проходов, встроенный в V-Ray, который используется, например, для интерполяции размытых отражений/преломлений. Этот параметр определяет разрешение, в котором вычисляется поверхностная освещенность в течение фазы предварительного расчета. Значение 0 означает, что предварительный расчет будет производиться в разрешении окончательного изображения. Значение -1 означает половину конечного разрешения и т.д. Для высококачественной визуализации рекомендуется значение 0 или выше. Более низкие значения могут порождать артефакты или мерцание при анимации. Если выбранное значение параметра недостаточно для адекватной аппроксимации эффекта множественного рассеивания, VRayFastSSS2 будет заменять его простым значением диффузного рассеивания. Это может случиться, например, для объектов, которые очень далеко от камеры, или если эффект подповерхностного рассеивания очень мал. Это упрощение управляется параметром Prepass blur.
prepass ID – эта опция позволяет использовать несколько VRayFastSSS2 материалов для одинаковой карты освещенности. Это может быть полезно при применении разных VRayFastSSS2 материалов на одном объекте - либо через материал Multi/Sub- Object, либо внутри материала VRayBlendMtl. Если Prepass ID равен 0, то материал будет вычислять собственную локальную карту освещенности. Если больше 0, то все материалы с заданным ID будут использоваться одной и той же картой.
auto calculate density – когда эта опция включена, V-Ray автоматически присваивает число сэмплов для каждой квадратной единицы поверхности в геометрии. Включение этого флажка отключает параметр Samples per unit area.
samples per unit area – этот параметр работает при выключенном флажке auto calculate density. Это позволяет контролировать количество сэмплов, которые будут взяты для каждой единицы площади поверхности геометрии. Размер одной единицы регулируется 3ds Max scene units set up. Увеличение этого параметра означает, что будет взято большее количество сэмплов, что приведет к более качественным результатам за счет увеличения времени рендера.
surface offset – для предотвращения артефактов, каждый сэмпл берется на незначительном расстоянии от реальной поверхности в направлении нормали. Этот параметр управляет этим смещением.
preview samples – когда эта опция включена, V-Ray просчитывает изображение, которое отображает распределение сэмплов по поверхности геометрии. Он может быть использован для отладки артефактов, больше похоже на изображение сэмплов параметром Irradiance Map.
max distance – каждый сэмпл представлен кругом в финальном изображении. Этот параметр позволяет пользователю определить радиус сэмпла.
background color – это цвет геометрии, где не присутствуют сэмплы.
sample color – цвет сэмплов.
Пример 7: Prepass Rate.
В этом примере показано действие параметра Prepass rate. Чтобы лучше продемонстрировать эффект, параметр Prepass blur для этих изображений установлен на 0.0, так что VRayFastSSS2 не заменяет подповерхностный компонент диффузного затенения, если недостаточно сэмплов. Обратите внимание, как низкие значения коэффициента Prepass rate сокращают время рендера, но производят артефакты в изображении. Также обратите внимание, что объекты могут стать более просвечивающие с более низким значением Prepass rate, поскольку освещение все равно размыто. В приведенных ниже примерах, где Scatter radius составляет 4,0 см, изображение выглядит хорошо даже со значением Prepass rate-1, а в том случае, когда Scatter radius составляет 1,0 см, все еще видны артефакты.
Prepass = -3
Scatter Radius = 1cm
Prepass = -1
Scatter Radius = 1cm
Prepass = 0
Scatter Radius = 1cm
Prepass = 1
Scatter Radius = 1cm
Prepass = -3
Scatter Radius = 4cm
Prepass = -1
Scatter Radius = 4cm
Prepass = 0
Scatter Radius = 4cm
Prepass = 1
Scatter Radius = 4cm
Options (Опции).
Single scatter - управляет способом вычисления компоненты первичного рассеивания:
None - компонента первичного рассеивания не вычисляется.
Simple - компонента первичного рассеивания получается аппроксимацией освещенности поверхности. Эта опция наиболее применима для относительно непрозрачных материалов, таких как кожа, для которых проникновение света обычно ограничено.
Raytraced (solid) - компонента первичного рассеивания вычисляется точно путем сэмплирования объема внутри объекта. Трассируется только объем; никакие преломленные лучи с другой стороны объекта не трассируются. Эта опция наиболее применима для сильно просвечивающих материалов, таких как мрамор или молоко, но которые в тоже время относительно непрозрачные.
Raytraced (refractive) - похоже на режим Raytraced (solid), но дополнительно трассируются лучи преломления. Эта опция применяется для прозрачных материалов типа воды или стекла. В этом режиме материал также дает прозрачные тени.
Single scatter subdivs - определяет количество сэмплов, создаваемых при вычислении компоненты первичного рассеивания (параметр Single scatter установлен в Raytraced (solid) или в Raytraced (refractive)).
Refraction depth - определяет глубину лучей рефракцииЮ когда параметр Single scatter установлен в Raytraced (refractive).
Front lighting - разрешает расчет компоненты множественного рассеивания для света, который падает на объект с той же стороны, что и камера.
Back lighting - разрешает расчет компоненты множественного рассеивания для света, который падает на объект с обратной стороны, по отношении к камере. Если материал относительно непрозрачен, то выключение этой опции ускорит просчет.
Scatter GI - включает точное рассеивание глобального освещения. Когда выключено, глобальное освещение (GI) вычисляется с использованием простой диффузной аппроксимации на верхнем уровне подповерхностного рассеивания. Когда включено, глобальное освещение включается как часть карты освещенности поверхности для множественного рассеивания. В этом случае вычисления более точные, особенно для сильно просвечивающих материалов, но может очень сильно замедлить процесс визуализации.
Prepass blur - если материал будет использовать упрощенную диффузную версию алгоритма множественного рассеивания, то уровень предварительных вычислений для карты прямого освещения слишком низкий для аппроксимации. Значение 0.0 приведет к тому, что материал всегда будет использовать карту освещенности (illumination map). Однако, для объектов, которые находятся далеко от камеры, это может приводить к появлению артефактов или мерцанию при анимации. Значения, больше 0.0, указывают минимальное требуемое количество сэмплов из карты освещенности для использования их для аппроксимации множественного рассеивания.
cutoff threshold – это порог, ниже которого отражения не будут трассироваться. V-Ray пытается оценить воздействие зеркального отражения на изображение, и если он ниже этого порога, то эффект не просчитывается. Не устанавливайте значение на 0.0, так как это может привести к чрезмерно долгому времени визуализации в некоторых случаях.
prepass mode – этот параметр позволяет пользователю выбрать способ использования карты освещенности (prepass).
Single frame – когда этот режим включен, V-Ray будет просчитывать новую карту освещенности для каждого рендера.
Single frame (autosave) – когда этот режим включен, V-Rayбудет рассчитать новую карту освещенности и сохранять ее в файл, указанный в prepass fileName.
From file – когда этот режим включен, V-Ray не будет считать новую карту освещенности. Вместо этого он будет использовать карту, указанную в prepass fileName для просчета изображения.
prepass fileName – задает имя файла карты освещенности для сохранения или чтения.
Пример 8: Режим Single Scatter
Этот пример показывает действие параметра Single scatter. Для относительно непрозрачных материалов, различные режимы Single scatter дают весьма схожие результаты (за исключением времени рендеринга). В следующих изображениях Scatter radius установлен на 0.5 см.
Во второй подборке изображений, Scatter radius имеет значение 50.0 см. В этом случае материал довольно прозрачный, и разница между разными режимами Single scatter очевидна. Также обратите внимание на прозрачные тени с режимом Raytraced (refractive).
Single Scatter = Simple
Single Scatter = Ray Traced Solid
Single Scatter = Ray Traced Refractive
Single Scatter = Simple
Single Scatter = Ray Traced Solid
Single Scatter = Ray Traced Refractive
Примечания:
- При использовании режимов Raytraced (solid) или Raytraced (refractive) для параметра Single scatter, для получения корректных результатов вам необходимо использовать VRayShadows для стандартных источников света.
- VRayFastSSS2 использует систему предварительных вычислений (prepass system) V-Ray для имитации и интерполяции подповерхностного рассеивания. При других вычислениях глобального освещения (GI) (например светового кэша или фотонной карты), материал вычисляется просто как диффузный.
- По причинам, изложенным выше, VRayFastSSS2 будет визуализироваться как диффузный для светового кэша в режиме прогрессивной трассировки лучей (progressive path tracing).
Список литературы и ссылки:
- H. C. Hege, T. Hollerer, and D. Stalling, Volume Rendering: Mathematical Models and Algorithmic aspects
Сетевая версия расположена по адресу http://www.cs.ucsb.edu/~holl/publications.html
Определяет основные величины для волюметрической визуализации и выводит волюметрические и поверхностные уравнения для визуализации.
- T. Farrell, M. Patterson, and B. Wilson, A Diffusion Theory Model of Spatially Resolved, Steady-state Diffuse Reflectance for the Noninvasive Determination of Tissue Optical Properties in vivo, Med. Phys. 19(4), Jul/Aug 1992
Описывает применение диффузной теории для имитации подповерхностного рассеивания; выводит основные формулы для дипольной аппроксимации, используемой Jensen и др. (см. ниже).
- H. Jensen, S. Marschner, M. Levoy, and P. Hanrahan, A Practical Model for Subsurface Light Transport, SIGGRAPH'01: Computer Graphics Proceedings, pp. 511-518
Сетевая версия расположена по адресу http://www-graphics.stanford.edu/papers/bssrdf/
Вводит концепцию BSSRDF и описывает практический метод для вычисления подповерхностного рассеивания на основании аппроксимации, разработанной Farrell и др (см. выше).
- H. Jensen and J. Buhler, A Rapid Hierarchical Rendering Technique for Translucent Materials, SIGGRAPH'02: Computer Graphics Proceedings, pp. 576-581
Сетевая версия расположена по адресу http://graphics.ucsd.edu/~henrik/papers/fast_bssrdf/
Вводит понятие разделения вычислений поверхностного освещения и эффекта подповерхностного рассеивания как двухпроходный метод; описывает быстрый иерархический подход к вычислению подповерхностного рассеивания и применение репараметризации параметров BSSRDF для более простой настройки.
- C. Donner and H. Jensen, Light Diffusion in Multi-Layered Translucent Materials, SIGGRAPH'05: ACM SIGGRAPH 2005 Papers, pp. 1032-1039
Сетевая версия расположена по адресу http://graphics.ucsd.edu/papers/layered/
Представляет краткое описание оригинального метода решения BSSRDF, представленного Jensen и др; расширяет модель для многослойных материалов и тонких пластин с использованием мультипольной аппроксимации.
Источник: http://docs.chaosgroup.com/display/VRAY3MAX/Subsurface+Scattering+Material+|+VRayFastSSS2
Н-у-у... В-а-а... ще!! Кладезь знаний!!!