Стекло и прозрачные материалы вообще сложные для рендеринга, потому что они показывают преломление; то есть, изгиб световых лучей из-за различной оптической плотности, или показателя преломления различных материалов. К сожалению, чтобы полностью просчитать преломление необходим рэйтрассер (ray tracer - трассировщик лучей). Однако, мы можем добиваться убедительных результатов в Blender'е используя карты EnvMaps и продвинутые методы текстурирования.
Рассмотрим сцену с несколькими основными фигурами, включая куб, конус, сферу, и тор (Donut - бублик :о)). В первом примере мы заставим сферу напоминать твердый шар стекла , а во втором примере, та же самая сфера станет стеклянным пузырьком .
Чтобы создать этот эффект, мы должны заставить свет изгибаться, так как он проходит через сферу и объекты позади твердой стеклянной сферы казались бы сильно исковерканными, как будто мы смотрим через очень толстую линзу. С другой стороны, центр полой стеклянной сферы должен быть почти прозрачен, в то время как стороны должны преломлять свет.
1. Для начала, мы установим карту окружающей среды для материала сферы также, как мы это делали для шара в предыдущем разделе, с объектом Еmpty который расположен в перспективе EnvMap по центру сферы.
2. Чтобы симулировать преломление, мы подстроим параметры проекции слайдерами ofsZ, sizeX, sizeY, sizeZ и Col деформируя изображение карты так, чтобы создать эффект преломления. Чтобы это сделать, используйте параметры настройки на Рис 56.
3. Выберите слайдеры материала RGB для Mir и понизьте немного значение R и G чтобы дать текстуре синий оттенок.
4. Опустите значение слайдера Ref до минимума (0.00). (Рис 57). Теперь у вас получилось преломление окружающей среды с синеватым оттенком.
5. Блестящему стеклу необходима также карта отражения, поэтому мы расположим ту же самую текстуру в другой канал. Нажмите кнопки Add, Col, и Emit , а для координат используйте кнопку Refl. Дайте материалу черный цвет и поднимите значение Emit на максимум. (Рис 58).
6. Это значительно изменит нашу первую текстуру. Чтобы вернуть нашей текстуре преломления синий оттенок, нам необходимо добавить новую текстуру, оставив ее тип как None. Выберите кнопки Mix и Cmir , а слайдер Col установите по центру. Нажмите кнопку Neg и установите слайдерами RGB для входной текстуры темно-синий цвет (панель Map To)(Рис 59).
Результат должен быть как на Рис 60. Эффект преломления будет более заметным, если сцену анимировать.
Процедура которую мы описали выше, прекрасно работает для цельной глыбы стекла, но как нам сделать полое стекло, например вазу?
Тонкое стекло имеет сильное преломление только там, где оно имеет наклон далеко от глаза, под крутым углом. Мы можем легко имитировать этот эффект, используя текстуру Blender'а Blend для того, чтобы управлять прозрачностью объекта, также хорошо как и другой текстурой прозрачности, сохраняя яркие участки видимыми.
1. Добавьте кматериалу новую текстуру. Тип текстуры выберите Blend с опцией Sphere.
2. Вернитесь к кнопкам материала. Выберите тип проекции Nor и отключите оси координат X и Y.
3. Включите Mix и Alpha, затем передвиньте слайдер Alpha для материала на 0.0 и включите кнопку ZTransp (Рис 61).
Это производит эффект хорошей прозрачности, но мы хотим, чтобы отражения окружающей среды, были на противоположных оражающих участках. Например, если вы посмотрите на стеклянные окна, вы увидите яркое отражение света от поверхности, которое не дает вам смотреть сквозь окно, которое на самом деле прозрачное. Мы можем легко сделать этот эффект, выбрав EnvMap текстуру отражения в окне материалов и включив опцию Alpha (Рис 62).
Это всё. Результат должен быть похож как на Рис 63.