В Blender есть три типа прозрачности: Z Transparency (прозрачность), Ray Transparency и Enviroment (Env) настройки материала . Фактически, только первые два - прозрачность с истинной точки зрения среды Blender 3D. Установка Env создает область альфа (alpha) 0 прозрачности в предоставленном образе себя и используется, первоначально, для композиции. На Рисунке 1.16, Вы можете видеть пример трех типов прозрачности вместе. Первый слева «рыцарь» создан с использованием «Env», как показано на Рисунке 1.17. Заметьте, что при использовании этого метода «рыцарь» предназначен для использования Composite Nodes.
Средний конь использует Z Transp, с настройками, как на Рисунке 1.18. Z Transp использует две величины. Это материальная буквенная величина (А )и величины Z . Буквенная величина материала является мерой того как непрозрачный материал. 0 Альфа означает что материал полностью невидимый (прозрачный); 1 альфа означает, что материал полностью непрозрачный. Величина Z является расстоянием точки в пространстве вдоль камеры локальной оси Z; то есть, расстояние «из камеры». Прозрачность Z работает подобно прозрачности слоя в 2D редакторах, использовавшей величину Z, чтобы определять упорядочение слоев. На рисунке 1.16 , Альфа (A) среднего рыцаря установлена на 0.2.
Рисунок 1.16 3 коня с использованием разных методов прозрачности.
Рисунок 1.17 Настройки Env (Enviroment)
Правый конь также имеет буквенную величину (Alpha) = 0.2, но с Ray Transparency, с настройками, показанными на Рисунке 1.19. Как Вы можете видеть, эффект отличается от среднего рыцаря. Поскольку средний рыцарь выглядят призрачным, третий рыцарь выглядит похожим на него, но сделанным из прозрачного материала реального мира (стекло, пластик). Различие, как Вы можете видеть, - главным образом в том, что свет, проходящий сквозь объект, преломляется (искажается), как реальном мире. Это искажение зависит от индекса преломления (IOR)материала. Плотные материалы имеют высокий «IOR». Воздух имеет «IOR» приблизительно 1 (1 IOR полный вакуум), вода имеет IOR около 1.3, стекло имеет IOR отчасти выше, между 1.5 и 1.8, и алмаз имеет IOR около 2.4.
Рисунок 1.18 Настройки Z transparency
Трассировка лучей (Ray Tracing) делает время рендера дольше, но в некоторых случаях это необходимо. Величина «Depth» на панели «Ray Transp» установлена в 2 по умолчанию. Это означает, что просчет лучей пройдет через две поверхности. Если есть более, чем две прозрачных поверхности для света, последующие поверхности будут черными. Чтобы вычислять лучи с большим количеством объектов (поверхностей), Вы должны увеличить величину «Depth». Кроме того, это существенно увеличит время рендера, так что это нужно делать только если действительно необходимо.
Рисунок 1.19 Настройки Ray Transp
Прозрачные тени
Ray тени создаются объектами с включенным «Ray Transp». Тем не менее, для того, чтобы сделать тени от прозрачных объектов видимыми, кнопка «TraShadow», в панели «Shaders» должна быть нажата (Рисунок 1.20).
Рисунок 1.20 Кнопка TraShadow включена
Рисунок 1.21 На первом изображении, материал черно-белой шахматной доски использует TraShadow, на втором – TraShadow выключен.
Если Вы не хотите использовать «RayTransp», прозрачные тени могут быть созданы лампой «Spot». При должном умении, можно добиться результатов, не уступающих по качеству «RayTransp».
Подповерхностное рассеивание (SSS)
Когда свет попадает на объект, он может быть отражен в разные стороны. По большей части, путь, по которому летит отраженный луч, зависит от свойств поверхности объекта. В Blender, шейдеры «diffuse» и «specular» определяют, как материал отражает свет. С некоторыми материалами, вычисления поведения света только на поверхности объекта не достаточно. В таких материалах, как, например, воск, кожа, густая растительность, нефрит, молоко, и много другие, свет сначала проходит сквозь поверхность объекта, а затем рассеивается под поверхностью (Подповерхностное рассеивание). Хотя этот эффект сложно заметить, он присутствует во многих вещах. По этой причине, недостаток подповерхностного рассеяния может «выдать» компьютерную графику. Если Вы умеете использовать SSS (Subsurface Scattering), это может позволить Вам, достичь чрезвычайно реалистичных органических материалов, как на картине Cerica's Enrico на Рисунке 1.22.
Рисунок 1.22 Enrico Cerice использует SSS, для достижения фотореализма на этом изображении.
Чтобы включить подповерхностное рассеивание, перейдите в панель «SSS» и щелкните по кнопке «Subsurface Scattering» ( Рисунок 1.23). Есть несколько встроенных материалов: кожа (два вида), мрамор, молоко, картофель, кетчуп, сливки, яблоко и цыпленок. (Я думаю, что разработчик, который создавал образцы, горел желанием поесть!) Вы можете выбрать одно из них затем модифицировать величины.
Настройки SSS включают в себя следующее: характеристика «Scale» указывает размер объектов, к которым применяется метод SSS. Обычно это используется для вычисления размера пятна рассеянного света. Для того, чтобы правильно вычислить размер, нужно 1 поделить на количество Blender Unit (внутренняя единица измерения Blender)из которых состоит объект. Важно обращать внимание это, поскольку правильное значение «Scale» является наиболее важным показателем в получении ваших материалов с SSS.
Radius R, G, and B - смазывающие радиусы для Красного, Зеленого, и Синего. Эти величины определяют расстояние, на котором другой цвет смазывается под поверхностью материала. Если Вы посветите фонарем на свою руку в темноте, вы увидите, что красный цвет в вашей руке более рассеян, чем другие цвета.
IOR – это индекс преломления, или уровень на котором свет преломляется, когда он проходит через материал. Как было упомянуто ранее, высокие величины IOR указывают более высокую плотность. В случае подповерхностным рассеиванием, это очень чувствительная величина, поскольку, фактически, лучи не проходят через материал. В большинстве случаев, Вы можете получить приемлемые результаты с величиной IOR равной, приблизительно, 1.3.
Error регулирует точность дискретизации. Более высокие величины Error ускорят рендер, но это может закончиться появлением артефактов. Вы можете установить это значение примерно в 0.02.
Col определяет насколько базовый цвет материала, «поражен» рассеянным цветом установленным выше области Col.
Tex регулирует степень, на которую смазываются текстуры в материале. 0 оставит текстуры незатронутыми рассеянием.
Front - показатель для фронтального (переднего) рассеяния. Передний план указывается по отношению к камере. Front показывает, как рассеивается свет и смазываются тени на поверхности материала.
Back - показатель для рассеяния. Рассеяние появляется как свет, проходящий за материалом.
Рисунок 1.23 Панель SSS.
На рисунке 1.24 показаны три объекта с материалами, которые отличаются только в их подповерхностном рассеянии. Конь слева не имеет SSS, конь по середине имеет более высокую характеристику Front, по отношению к Back, а у коня справа, величина Back выше, чем Front. Конечно, для более «убедительных» материалов, Вы должны также отрегулировать величину «shader». Воск имеет другой «specularity», отличный от материала из нефрита..
Рисунок 1.24 Три материала: без SSS, сильный фронтальный SSS, сильный задний SSS
Алгоритм, использованный в Blender для подповерхностного рассеяния, впервые был представлен на SIGGRAPH '02 in the paper "A Rapid Hierarchical Rendering Technique for Translucent Materials" Henrik Jensen и Juan Buhler. Вы можете найти оригинальную бумагу здесь: http://graphics.ucsd.edu/~henrik/papers/fast_bssrdf.