Волшебные линзы
Как создать строчку букв, движущихся перед линзой с изменяющимся коэффициентом преломления? [Для того чтобы происходило искажение букв, линза, как и увеличительное стекло в реальном мире, должна находиться между камерой и буквами. То есть мы должны смотреть на наш текст сквозь линзу, для того чтобы получить заявленный эффект. - Примеч. ред.]
Тема:
Рендеринг.
Используемые техники и инструменты:
Text (Текст), Raytracing (Трассировка Лучей), Refractive Index (Коэффициент Преломления).
Летящие надписи [Flying logos - направление в дизайне анимации надписей и логотипов, основанное на пространственном движении, как правило, объемных элементов финальной композиции. - Примеч. ред. ] - это, конечно, уже прошлое, однако изящно анимированный двумерный тест всегда радует глаз. Впечатляющих эффектов можно достичь путем анимации объектов (а не только букв), движущихся перед линзами. Еще более интересные структуры можно получить, если линзы меняют коэффициент преломления и ведут себя так, словно они резиновые.
Для рендеринга преломленного света мы должны отбросить обычную процедуру рендеринга Мауа и переключиться на Raytracing (Трассировка Лучей). Raytracing (Трассировка Лучей) испускает бесчисленное число цифровых лучей в трехмерную сцену, вычисляет, как эти лучи отражаются либо преломляются поверхностью, которой они достигают, и в результате длительных вычислений получается изображение, гиперреалистически четкое и детализированное.
Выберите Create / Text (Создать / Текст) и, используя окно настроек, создайте надпись тем шрифтом и размером, каким вам заблагорассудится (см. рис. 29.1). Поскольку мы будем рендерить буквы, не просто создайте кривые, но активизируйте опцию Trim (Вырезать) для NURBS-поверхностей или Poly (для полигональных поверхностей).
Буквы появятся в сцене как сгруппированные друг с другом объекты. Вы можете удалить кривые, по которым был создан текст, и добавить буквам цвет.
Добавьте в сцену сферу и отмаштабируйте ее так, чтобы она стала почти плоской и приняла форму линзы.
Присвойте линзе шейдер Lambert (см. рис. 29.2).
Рис. 29.1.
Создание текста: мы набираем ничего не значащую фразу «r@ytrace moi!», используя шрифт Courier New
Рис. 29.2.
Щелкните правой кнопкой мыши по линзе и, используя контекстное меню, присвойте ей материал Lambert. Текст получил процедурную текстуру
Создайте новую камеру. Для этого выберите Create / Cameras / Camera (Создать / Камеры / Камера) либо щелкните мышкой по пиктограмме камеры.
Выделите линзу, а затем и камеру и нажмите клавишу Р.
Клавиша Р делает камеру родительским объектом по отношению к линзе. («Очень удобно», - шутит мой друг кинематографист, который меняет объективы различных камер каждый день.)
Немного подвиньте линзу вперед, подальше от камеры. Посмотрите сквозь камеру (рис. 29.3).
Рис. 29.3.
Линза расположена перед камерой. Когда вы смотрите через камеру в окне моделирования, то видите серую стену
Камера направлена на серую линзу, а потому не видит букв.
Откройте Attribute Editor (Редактор Атрибутов) для шейдера Lambert линзы и передвиньте ползунок Transparency (Прозрачности) до конца вправо.
Это сделает линзу (видимую в окнах моделирования и рендеринга) полностью прозрачной.
Процедура Raytracing (Трассировка Лучей) предполагает два этапа. Во-первых, следует сообщить материалу, что он будет принимать участие в трассировке лучей. Сделав это, определите, какие именно объекты (либо, если быть более точным, какие материалы) будут задействованы в длительном рендеринге, а какие не будут. Во-вторых, вам придется активизировать опцию Raytracing (Трассировка Лучей) в окне Render Globals (Глобальные Настройки Рендеринга).
Откройте Attribute Editor (Редактор Атрибутов) шейдера Lambert и в секции Raytrace Options (Настройка Трассировки Лучей) активизируйте параметр Refractions (Преломления) (см. рис. 29.4).
Откройте окно Render Globals (Глобальные Настройки Рендеринга). В секции Raytracing Quality (Качество Трассировки Лучей) включите Raytracing (Трассировка Лучей).
При рендеринге результата сквозь камеру (к сожалению, IPR (Интерактивный фотореалистичный рендеринг) не работает с трассировкой лучей) буквы фразы не будут деформированы (рис. 29.5). Это происходит потому, что Refractive Index (Коэффициент Преломления) линзы установлен на 1, что означает, что все лучи, исходящие от букв и проходящие через линзу в камеру, остаются неизмененными.
Рис. 29.4.
Слева: окно Hypershader. Справа: атрибуты материала линзы. Параметр Transparency (Прозрачность) установлен на Full (Полная), а способность преломлять свет включена
Рис. 29.5.
Raytracing (Трассировка Лучей) без преломления лучей. Значение Refractive Index (Коэффициент Преломления) линзы по умолчанию установлено на 1
В окне Attribute Editor (Редактор Атрибутов) шейдера Lambert измените значение параметра Refractive Index (Коэффициент Преломления) с 1 на большее значение, например 1,3.
Снова отрендерите сцену.
Рис. 29.6.
Текст, отрендеренный со значением параметра Refractive Index (Коэффициент Преломления) 1,3
Теперь вы можете видеть эффект преломленного света (см. рис. 29.6).
Рис. 29.7.
Загадочные двухмерные фигуры, полученные путем увеличения значения параметра Refractive Index (Коэффициент Преломления) линзы. Только буквы справа от линзы остались неизмененными
Измените местоположение камеры и поварьируйте значение параметра Refractive Index (Коэффициент Преломления) линзы (см. рис. 29.7). Попробуйте также изменить расстояние от линзы до камеры.
Перед тем как вы передвинете линзу, которая расположена в системе координат камеры, дважды нажмите на пиктограмму инструмента перемещения либо откройте его окно настроек. В окне настроек выберите режим Object mode (Объектный режим). Обычно вы передвигаете объекты по сцене в режиме World mode, который использует систему координат, параллельную осям XYZ сцены.
С этого момента вы обладаете широкими возможностями анимации движущихся надписей. Вы можете двигать буквы перед камерой либо анимировать движение камеры перед буквами.Что особенно важно, вы можете даже анимировать параметр Refractive Index (Коэффициент Преломления) (рис. 29.8). Для этого можно использовать окно Channel Box (Окно Каналов). Щелкните правой кнопкой мышки по словам Refractive Index (Коэффициент Преломления) и установите ключ. Значения выше 1 делают линзу увеличительным стеклом. При еще больших значениях изображение переворачивается вверх ногами.
Рис. 29.8.
Анимация преломляющей линзы. Значения параметра Refractive Index (Коэффициент Преломления) линзы сверху вниз: 0.3, 0.8,1.0,1.2,1.5, 2.0,2.3
А теперь кое-что новенькое. Приходилось ли использовать пункт меню Optimize Scene (Оптимизировать Сцену) для наведения порядка в сцене ?