Анимация при помощи атрибутов поверхности
Одной из самых мощных возможностей LightWave является создание анимации при помощи атрибутов поверхностей сцены. Чтобы правильно использовать ее, необходимо создать и отредактировать опорные кадры при помощи инструмента Envelope (Зависимость) - см. главу 10. Однако следует помнить, что при «оживлении» объектов допускается изменять значения только глобальных атрибутов, а не индивидуальных настроек.
Добавление процедурной текстуры
1. Загрузите объект Eyeball_setup.lws в Layout.
2. Щелкните по кнопке Surface Editor (Редактор поверхностей) на панели инструментов или нажмите клавишу F5. Откроется окно Surface Editor.
3. В списке поверхностей выберите пункт Eyeball.
4. Щелкните по кнопке Т, расположенной справа от поля Diffuse (Диффузия).
5. В окне Texture Editor (Редактор текстур) из выпадающего меню Layer Type (Тип слоя) выберите пункт Procedural Texture (Процедурная текстура) - рис. 12.43.
Рис. 12.43. Параметру Layer Type присвойте значение Procedural Texture 6. Из выпадающего меню Procedural Type (Тип процедурной текстуры) выберите пункт Crumple (рис. 12.44).
Рис. 12.44. Из выпадающего меню Procedural Type выберите пункт Crumple 7. В поле Texture Value (Значение текстуры) введите значение 200, в поле Frequencies (Частоты) - 4, а в поле Small Power - 0.75 (рис. 12.45).
Рис. 12.45. Введите значение в поля параметров текстуры Crumple 8. Щелкните по кнопке Automatic Sizing (Автоматическое изменение размеров), чтобы автоматически рассчитывались масштабные коэффициенты наложения текстуры. В окне предварительного просмотра вы увидите, как внесенные изменения отразились на внешнем виде поверхности (рис. 12.46).
Рис. 12.46. В окне предварительного просмотра отображаются вносимые изменения
9. В поле Layer Opacity (Непрозрачность слоя) введите значение 50. Щелкните по кнопке Use Texture (Применить текстуру), чтобы закрыть окно Texture Editor. Заметьте, что степень проявления созданного эффекта уменьшилась (рис. 12.47).
Рис. 12.47. При уменьшении значения параметра Layer Opacity создаваемый эффект проявляется вменьшей степени
10. Из выпадающего меню File (Файл) выберите пункты Save -> Save Current Object (Сохранить -> Сохранить текущий объект), чтобы сохранить изменения атрибутов объекта.
11. Обновите изображение, нажав клавишу F9.
Многие процедурные текстуры являются либо хорошей основой, либо дополнением уже существующих. Профессиональный художник вряд ли будет использовать процедурные текстуры отдельно от других.
Изменяя те или иные параметры процедурных текстур, в окне предварительного просмотра вы можете увидеть результат и оценить, как будет выглядеть поверхность. На экране отобразится двумерное изображение, рассчитанное по текстурному алгоритму. Вы, наверное, заметили, что при определении процедурной текстуры не указывается ось, вдоль которой осуществляется проецирование. Дело в том, что этот тип текстур рассчитывается в трехмерной области пространства, а не двумерной.
Поверхности и текстуры.
Создание поверхностей в Modeler
Работа с поверхностями
Основные атрибуты поверхности
Создание текстуры
Анимация при помощи атрибутов поверхности
Viper
Предварительные установки
Градиенты
Обычно под названием градиент подразумевается плавный переход от одного цвета к другому (рис. 12.48). Однако в LightWave могут быть созданы градиенты с использованием нескольких цветов (рис. 12.49). Градиенты можно задавать при определении любых атрибутов, поддерживающих текстуры.
Рис. 12.48. Простой градиент создает переход между двумя цветами
Рис. 12.49. Сложный градиент создает переход между несколькими цветами
Image maps
Как видно из названия, при применении image map (карта изображения) на поверхность накладывается какая-либо картинка (подробнее о картах изображений читайте в главе 5). Можно использовать любой тип изображения, начиная от снимка, полученного при помощи цифровой камеры, и заканчивая рисунком, сделанным в графическом редакторе. При этом оно обязательно должно быть сохранено в формате, поддерживаемом LightWave. (Полный перечень форматов содержится в справочном руководстве пользователя.) LightWave поддерживает все основные форматы изображений.
Если в качестве текстуры на поверхность накладывается изображение, степень проявления того или иного эффекта зависит от параметров пикселей. Поскольку изображение является основной составляющей image map, каждый пиксель становится точечным источником информации. Чем больше яркость пикселя, тем больше значение определяющего его параметра, тем сильнее проявляются эффекты. Значение параметра пикселя 255 будет интерпретироваться как 100%, а 0 -как 0% соответственно.
LightWave требуется только значение яркости пикселя, а не вся информация о его цвете, поэтому черно-белое изображение - все, что действительно необходимо. Если в качестве текстуры используется цветное изображение, то LightWave преобразует его в черно-белое. С цветом позволяет работать атрибут Color (Цвет), причем изображение будет наложено без изменений глубины цвета (рис. 12.33).
Рис. 12.33. Изображение можно расположить непосредственно на поверхности
Это объясняется тем, что Color задействует все три параметра цвета пикселя.
Давайте рассмотрим, как детализировать поверхность iris создаваемого вами глаза. Вы уже определили цвет данной поверхности, теперь необходимо добавить некоторые элементы, не потеряв исходный цвет. Для этого нужно определить карту изображения для параметра поверхности Diffuse. Следует добиться такого эффекта, чтобы при наложении текстуры некоторые участки поверхности стали темнее остальных.
Использование окна Preset
1. Выполните шаги 1-6 процедуры «Использование Viper».
2. Щелкните по кнопке Presets (Предварительные установки) на панели инструментов. Откроется окно Surface Preset (Предустановки поверхности).
3. Чтобы сохранить поверхность Iris в окне Surface Presets, щелкните по кнопке Add Preset (Добавить предустановку), расположенной в окне Viper (рис. 12.81).
Рис. 12.81. Чтобы сохранить параметры поверхности iris в бызе данных Surface Preset, щелкните по кнопке Add Preset в окне Viper
4. Измените значение атрибута Color (Цвет) для поверхности Iris.
5. Дважды щелкните по изображению глаза (объекту iris) в окне Surface Preset (рис. 12.82).
6. В появившемся окне Load Confirmation (Подтверждение загрузки) щелкните по кнопке Yes (Да), чтобы загрузить параметры поверхности в текущую поверхность.
Рис. 12.82. Чтобы загрузить настройки поверхности в текущую поверхность, просто щелкните по ней в окне Viper
В базе данных, о которой говорилось в начале раздела, нет ничего сложного - это просто файлы, хранящиеся в папке NewTek/ Programs/Preset. Вы можете изменять ее содержимое обычными средствами операционной системы.
Управлять элементами базы данных, то есть удалять, переименовывать и организовывать библиотеки элементов, можно при помощи правой кнопки мыши в окне Presets. Бесплатные предустановки вы найдете в Internet.
Копирование текстуры
1. Выполните шаги 1-3 раздела «Добавление процедурной текстуры».
2. Щелкните по кнопке Т, расположенной справа от поля атрибута Color (Цвет).
3. Откроется окно Texture Editor. В списке щелкните по имени текстуры Marble.
4. Из выпадающего меню Сору (Копировать) выберите пункт Current Layer (Текущий слой) - рис. 12.65.
Рис. 12.65. Чтобы скопировать текущий слой, из выпадающего меню Copy выберите пункт Selected Layer
5. Чтобы закрыть окно Texture Editor, нажмите кнопку Use Texture (Применить текстуру).
6. Щелкните по кнопке Т, расположенной справа от поля атрибута Bump. Откроется окно Texture Editor. Из выпадающего меню Paste (Вставить) выберите пункт Replace Current Layer (Заменить текущий слой) - рис. 12.66.
Рис. 12.66. Из выпадающего меню Paste выберите пункт Replace Current
8. В поле Texture Value (Значение текстуры) введите 500 (рис. 12.67) и щелкните по кнопке Use Texture (Применить текстуру), чтобы закрыть окно Texture Editor.
Рис. 12.67. Чтобы усилить эффект, создаваемой картой вдавливания, в поле Texture Value введите значение 500%
9. Сохраните объект и нажмите клавишу F9, чтобы обновить изображение (рис. 12.68).
Рис. 12.68. Всего лишь одна малекнькая деталь, и капиляры стали выпуклыми
Настройка параметров поверхности
Для определения большей части перечисленных атрибутов используются стандартные средства управления (рис. 12.17):
Рис. 12.17. Каждый из атрибутов поверхности можно настроить несколькими способами
Value (Значение). Здесь указывается либо абсолютное, либо относительное значение. Для большинства атрибутов вкладки Basic (Основные) эта величина определяет степень проявления того или иного свойства. Чтобы изменить значение, следует ввести его в числовом поле или установить с помощью стрелок, расположенных рядом с числовым полем. Практически всем параметрам допускается присваивать превышающие (более 100%) значения или даже отрицательные;
Envelopes(E) (Зависимости). При щелчке по этой кнопке открывается окно Graph Editor (Редактор кривых), в котором можно задать изменение того или иного атрибута с течением времени;
Textures (T) (Текстуры). Данная кнопка открывает окно Texture Editor (Редактор текстур). Этот инструмент позволяет совершенствовать поверхности, добавлять изображения, текстуры, градиенты и т.д.
Рис. 12.18. В окне предварительного просмотра отображается редактируемая поверхность
В Surface Editor есть несколько простых способов определить параметры поверхности, при этом наблюдая за вносимыми изменениями. Над элементами управления расположено окно предварительного просмотра (рис. 12.18). В нем изображена сфера (по желанию ее можно заменить кубом), параметры поверхности которой совпадают с параметрами редактируемой вами поверхности. Но на самом деле окно не дает полного представления о том, как будет выглядеть поверхность после визуализации, зато оно позволяет правильно оценить целесообразность использования того или иного эффекта в сцене. Второй способ сразу увидеть результат - использовать OpenGL Viewport (Окно проекции OpenGL). При настройке атрибутов поверхности можно непосредственно наблюдать за изменениями. Но из-за существующих ограничений OpenGL вы не увидите никакого эффекта при настройке параметров Reflection (Отражение), Refraction index (Коэффициент преломления), Translucency (Полупрозрачность) и Bump mapping (Карта вдавливания). Третий способ предварительного просмотра - использование окна Viper, о нем будет рассказано несколько позже.
Теперь перейдем к декорированию поверхностей.
Настройка Surface Editor
1. Загрузите Eyeball.lwo в Layout. 2. Из выпадающего меню вида в окне проекции (рис. 12.19) выберите пункт Camera View (Вид камеры) или нажмите клавишу 6.
Рис. 12.19. Чтобы изменить текущий вид в окне проекции, из выпадающего меню выберите пункт Camera View 3. Щелкните по кнопке Camera (Камера), расположенной в нижней части экрана (рис. 12.20), или нажмите клавиши Shift+C. Layout перейдет в режим камеры.
Рис. 12.20. Переключите Layout в режим Camera, щелкнув по кнопке, расположенной в нижней части экрана
4. Щелкните по кнопке Window, затем найдите пункт Motion Options (Настройки движения) на панели инструментов или нажмите клавишу М. Откроется диалоговое окно Motion Options.
5. Из выпадающего меню Target Item (Целевой элемент) выберите пункт Eyeball (рис. 12.21). Направив камеру на Eyeball, вы всегда сможете наблюдать этот объект в окне проекции.
Рис. 12.21. Из выпадающего меню Target Item, расположенного в окне Motion Options, выберите пункт Eyeball
6. Щелкните по кнопке Surface Editor (Редактор поверхности) на панели инструментов или нажмите клавишу F5. Откроется окно Surface Editor.
7. Перейдите на вкладку Items (Элементы), затем щелкните по кнопке Move (Переместить) на панели инструментов и переместите камеру в такое положение, чтобы вы могли видеть и объект Eyeball, и окно Surface Editor.
8. Из выпадающего меню File (Файл) выберите пункты Save -> Save As (Сохранить -> Сохранить как) или нажмите клавишу S. Откроется диалоговое окно Save Scene As (Сохранить сцену как).
9. Назовите сцену Eyeball_setup.lws и щелкните по кнопке ОК.
Итак, вы настроили рабочую область. Теперь можно переходить непосредственно к настройке параметров поверхности. Прежде всего следует определить ее цвет. Затем добавить немного свечения, чтобы имитировать влажную поверхность глазного яблока. И наконец, сгладить неровности.
Изменение цвета поверхности
1. Настройте рабочую область, выполнив процедуру «Настройка Surface Editor». Первая поверхность объекта должна быть уже выделена в списке поверхностей (если нет, то щелкните по строке списка с именем Eyeball).
2. В поле Color (Цвет) щелкните по Красному компоненту и, перемещая мышь, установите его значение равным 255 (рис. 12.22).
Рис. 12.22. Установите значение красного компонента равным 255
3. Выполните шаг 2 для синего и зеленого компонентов. В сочетании они дадут белый цвет.
4. В списке поверхностей выберите пункт Pupil.
5. Щелкните по кнопке каталога цветов, расположенной справа от поля компонентов. Откроется системный цветоподборщик (рис. 12.23).
Рис. 12.23. С помощью системного цветоподборщика определите цвет поверхности
6. Выберите черный цвет и щелкните по кнопке ОК, чтобы закрыть окно цветоподборщика.
7. Выполните шаги 5 и 6 для поверхности Iris, выбрав один из оттенков зеленого.
8. Обновите изображение, нажав клавишу F9 (рис. 12.24).
Рис. 12.24. Предварительный просмотр позволяет оценить результат
9. Из выпадающего меню File (Файл) выберите пункты Save -> Save Object (Сохранить -> Сохранить объект). На данном шаге объект сохраняется с новой информацией о его поверхностях. Если нажать клавишу S, то сохранится только сцена, при этом информация о поверхностях будет утеряна.
Сортировать список поверхностей можно несколькими способами. Чтобы изменить порядок следования поверхностей в списке, а также их отношения с объектами, используйте элементы управления Edit By (Редактировать по), Filter By (Фильтровать по) и Pattern (Шаблон), которые расположены в левом верхнем углу Surface Editor. Это особенно полезно, если в сцене задействовано много поверхностей.
После определения цветов поверхностей можно задать параметры сглаживания и имитации влажности. Так как это необходимо сделать для всех трех поверхностей объекта, нужно выделить их в списке поверхностей.
Одновременное изменение атрибутов нескольких поверхностей
1. Загрузите файл Eyeball_setup.lws в Layout.
2. Щелкните по кнопке Surface Editor (Редактор поверхностей) на панели инструментов или нажмите клавишу F5. Откроется окно Surface Editor (Редактор поверхностей).
3. В списке поверхностей, удерживая нажатой клавишу Shift или Ctrl, щелкните по каждой поверхности, чтобы выделить их (рис. 12.25).
4. Отметьте галочкой опцию Smoothing (Сглаживание) - рис. 12.26.
Рис. 12.25. В списке выделите группу поверхностей
Рис. 12.26. Отметьте галочкой опцию Smoothing, чтоба сгладить все три поверхности 5. В поле Specularity (Зеркальность) введите значение 50% (рис. 12.27). Это создаст блик на каждой поверхности, отражающий падающий свет.
6. В поле Glossiness (Глянец) введите значение 75%, уменьшив таким образом размер блика (рис. 12.28).
Рис. 12.27. Присвойте параметру Specularity значение 50%
Рис. 12.28. Присвойте параметру Glossiness значение 75%
7. Чтобы сохранить внесенные изменения, из выпадающего меню File выберите пункты Save -> Save Current Object (Сохранить -> Сохранить текущий объект).
8. Обновите изображение, нажав клавишу F9 (рис. 12.29).
Рис. 12.29. Обновите изображение, чтобы оценить результат произведенных настроек
Можно копировать и вставлять атрибуты поверхностей, щелкнув правой кнопкой мыши по списку.
Определение карты изображения для параметра Diffuse
1. Загрузите файл Eyeball_setup.lws в Layout.
2. Щелкните по кнопке Surface Editor (Редактор поверхностей) на панели инструментов или нажмите клавишу F5. Откроется окно Surface Editor.
3. В списке поверхностей щелкните по строке с именем Iris.
4. Щелкните по кнопке Т, расположенной справа от поля параметра Diffuse (Диффузия), чтобы открыть Texture Editor (Редактор текстур) - рис. 12.34.
Рис. 12.34. Чтобы открыть окно Texture Editor, щелкните по кнопке Т
5. Из выпадающего меню Image (Изображение) выберите пункт (load image) (загрузить изображение). Откроется диалоговое окно Load Object (Загрузить объект). Выберите любое изображение, находящееся на жестком диске вашего компьютера. В данном примере использовалось изображение, представленное на рис. 12.35.
Рис. 12.35. Загрузите изображение с жесткого диска
6. Из выпадающего меню Projection (Проекция) выберите тип проекции. Он определяет, каким образом изображение будет размещено на поверхности. Для данного случая более всего подходит проекция типа Planar (Планарная), установленная по умолчанию (рис. 12.36).
Рис. 12.36. Используя указанный по умолчанию тип проекции Planar, расположите изображение вдоль оси поверхности
7. Чтобы указать ось, по которой будет направлена текстура, нажмите кнопку Texture Axis (Ось текстуры). Для поверхности Iris можно оставить ось, указанную по умолчанию, то есть ось Z (рис. 12.37).
Рис. 12.37. Выберите ось, вдоль которой будет проецироваться изображение. В данном примере используется ось Z, указанная по умолчанию 8. Чтобы LightWave автоматически осуществил масштабирование изображения на поверхность, щелкните по кнопке Automatic Sizing (Автоматическое масштабирование текстуры).
9. Чтобы закрыть окно Texture Editor, щелкните по кнопке Use Texture (Применить текстуру).
10. Обновите изображение, щелкнув по кнопке F9 (рис. 12.38).
11. Из выпадающего меню File (Файл) выберите пункты Save -> Save Object (Coхранить -> Сохранить объект).
Рис. 12.38. Просчитайте изображение. Обратите внимание, как текстура повлияла на канал Diffuse поверхности
Черно-белое изображение, которое используется в качестве текстуры в данном примере, было создано в Adobe Photoshop. Вы можете заменить его любым подобным рисунком.
Как вы видите, примененная текстура затемнила некоторые участки поверхности Iris. Такой метод создания текстур подходит для изменения любого атрибута поверхности, поддерживающего текстуры. Поскольку и для поверхностей, и для текстур в LightWave есть свои элементы управления, существуют различные способы достижения одного и того же эффекта.
На самом деле можно создать цветное изображение, имитирующее радужную оболочку, и спроецировать его на поверхность, используя для этого атрибут Color (Цвет) вместо Diffuse (Диффузия). Результат будет таким же. Однако описанный ранее метод более гибок. Изменяя параметр текстуры Layer Opacity (Непрозрачность слоя), можно увеличивать или уменьшать степень проявления эффекта. Если вы создадите изображение для радужной оболочки и спроецируете его на поверхность, вам придется возвращаться к работе с графическим редактором, чтобы подкорректировать степень проявления эффекта. Всегда нужно стремиться к минимуму временных потерь.
Профессиональные 3D-художники могут создавать уникальные текстуры, которые подходят для решения огромного круга задач. Но не все имеют богатый опыт в этой области, и им часто требуется подсказка специалиста. Множество интересных возможностей предоставляют procedural textures (процедурные текстуры).
Основные атрибуты поверхности
При создании поверхности большая часть времени уходит на работу с вкладкой Basic (Основные). Здесь задаются основные параметры поверхности, начиная от цвета и уровня прозрачности и заканчивая светимостью. Для определения внешнего вида поверхности можно использовать все двенадцать параметров, расположенных на вкладке Basic:
Рис. 12.8. Сфера расположенная слева, создана с настройками по умолчанию, а у той, что справа, параметр Luminosity равен 100%
Color (Цвет). Определяет основной цвет поверхности. Его можно указать двумя способами: ввести значения красного, синего и зеленого компонентов в соответствующее поле или выбрать нужный цвет из системного цветоподборщика;
Luminosity (Светимость). Определяет яркость или светимость поверхности (рис. 12.8). Это свойство очень удобно использовать при создании всевозможных ламп и блестящих жидкостей, поверхности которых светятся вне зависимости от внешних источников света. Однако если при этом не применять свойство Radiosity, то свечение поверхности не будет влиять на освещенность окружающих ее объектов;
Diffuse (Диффузия). Здесь указывается коэффициент поглощения света поверхностью. Чем меньше значение это го параметра, тем больше поверхность поглощает падающий на нее свет. Данная настройка обычно используется вместе с текстурами, чтобы создать более темные детали (по сравнению с общей цветовой гаммой), например, налет грязи и т.п.;
Specularity (Зеркальность). Задает отражающую способность поверхности (рис. 12.9). Если этому параметру присвоить большое значение, на поверхности появятся блики. Важно отметить, что в отличие от настройки Reflection в Layout, Specularity не оказывает влияния на окружающие поверхности. Данный параметр используется для имитации стекла, бриллиантов и т.п.;
Рис. 12.9. Сфера расположенная слева, создана с настройками по умолчанию, а у той, что справа, параметр Specularity равен 100%. Обратите внимание на блик
Glossiness (Глянец). Здесь указывается размер блика на зеркальной поверхности: чем больше Значение параметра, тем меньше размер блика (рис. 12.10).
Чтобы использовать эту настройку, сначала нужно определить параметр зеркальности;
Рис. 12.10. Значение параметра Glossiness сферы справа составляет 100%, а слева - 25% Reflection (Отражение). Как видно из названия этого параметра, он определяет степень отражения (рис. 12.11). Чем выше его значение, тем больше поверхность похожа на зеркало. Чтобы отражение появилось на поверхности, необходимо использовать метод трассировки лучей или средства вкладки Environment (Окружение);
Рис. 12.11. Сфера слева имеет параметр Reflection по умолчанию,а справа - 75 %, поэтому она отражает окружающие элементы
Transparency (Прозрачность). С помощью этого параметра создаются прозрачные поверхности, сквозь которые можно увидеть элементы заднего плана (рис. 12.12). Используйте данную настройку для имитации стекла, жидкостей и газа;
Рис. 12.12. Сфера расположенная слева, создана с настройками по умолчанию, а у той, что справа, параметр Transparency равен 50%
Refraction index (Показатель преломления). Луч света при прохождении через полупрозрачные поверхности (например, воду или стекло) искривляется (рис. 12.13). Данный параметр определяет степень искажения, возникающего при использовании этого эффекта. Для воды значение этого коэффициента составляет 1.333, для стекла - 1.5, для воздуха - 1.0003. Необходимо отметить, что преломление будет заметно лишь при активной опции Ray-Traced Refraction (Трассировка преломления лучей). Более подробно параметр описан в справочном руководстве пользователя LightWave 3D;
Рис. 12.13. Изменяя значение параметра Refraction index, вы определяете, как свет будет проходить через поверхность. В данном случае оно составляет 0,75
Translucency (Полупрозрачность). Здесь указывается, как лучи будут проходить через прозрачную поверхность. В качестве примера рассмотрим шторку. Свет лампы проходит через штору, при этом передаются все цвета и тени, а на поверхности появляется силуэт (рис. 12.14). Данный параметр незаменим при имитации тонких материалов, например, кожи, мембран, торшеров, занавесок и т.п.;
Рис. 12.14. Значение параметра прозрачности составляет 75%. Тень проходит через полигон, и на затененной поверхности шторы создается силуэт
Bump maps (Карты вдавливания). Используя различные текстурные методы (о них речь пойдет далее), в LightWave можно имитировать вмятины на поверхности, которые, например, образовались после удара (рис. 12.15). Этот параметр применяется при создании различных дефектов поверхности: ям, кратеров, потрескавшейся штукатурки и т.п. Но помните, что создаваемые таким образом эффекты являются оптическими и никак не влияют на исходную геометрию;
Рис. 12.15. Параметр вдавливания можно использовать для детализации поверхности
Smoothing (Сглаживание), Smoothing Threshold (Порог сглаживания). С помощью этого эффекта можно сгладить грани между полигонами (рис. 12.16). Величина угла между двумя соседними полигонами сравнивается со значением, установленным в Smoothing Threshold. Если она не превосходит данное значение, то LightWave сгладит границу между этими гранями. Как и при использовании Bump maps, при этом не производятся дополнительные построения, и исходная геометрия не изменяется;
Рис. 12.16. Параметр Smooth определяет степень сглаживания поверхности Double Sided (Двусторонний). По умолчанию полигон имеет только одну сторону (нормаль указывает на активную сторону). Это означает, что какие-либо инструменты и текстуры можно применить только к одной стороне (подробнее читайте в главе 4). Если отметить галочкой данную опцию, LightWave будет рассматривать полигоны как двусторонние объекты. Это означает, что все настройки, произведенные для одной стороны, будут автоматически применены и к другой.
Предварительные установки
При помощи окна Surface Preset (Предустановки поверхности) можно сохранять и загружать поверхности, а также организовывать их хранение в базе данных. Время от времени необходимо сохранять различные поверхности на жестком диске, чтобы они всегда были под рукой.
Применение шэйдера
1. Загрузите объект Eyeball_setup.lws в Layout.
2. Щелкните по кнопке Surface Editor (Редактор поверхностей) на панели инструментов или нажмите клавишу F5. Откроется окно Surface Editor.
3. В списке поверхностей щелкните по пункту Eyeball.
4. Чтобы получить доступ к настройкам шэйдера, перейдите на вкладку Shaders (Шэйдеры) - рис. 12.71.
Рис. 12.71. Чтобы получить доступ к списку Shaders, перейдите на вкладку Shaders
5. Из выпадающего меню Add Shader (Добавить шэйдер) выберите пункт Super Cel Shader (рис. 12.72). Оцените созданный эффект, воспользовавшись окном предварительного просмотра (рис.-12.73).
Рис. 12.72. Из выпадающего меню Add Shader выберите пункт Super Cel Shader
Рис. 12.73. В окне предварительного просмотра отображается эффект, создаваемый шейдером 6. Чтобы задать параметры эффекта, в списке шэйдеров, примененных к данной поверхности, дважды щелкните по его имени. Откроется окно настроек Shader (рис. 12.74).
Рис. 12.74. Окно настроек Super Cel Shader
Список шэйдеров в выпадающем меню Add Shader определяется компонентами, которые были добавлены к Lightwave. Если выполнена стандартная установка Lightwave, в этом перечне обязательно должен быть шэйдер Super Cel Shader. В противном случае обратитесь к справочному руководству пользователя Lightwave 3D, чтобы узнать, как установить дополнительные компоненты.
Процедурные текстуры
На самом деле большинство текстур поддается исчислению при помощи очень сложных математических алгоритмов. Трудно поверить, что реальные объекты можно нарисовать, воспользовавшись калькулятором. Теоретически можно, но в действительности подобный расчет потребовал бы достаточно глубоких знаний в области алгебры, тригонометрии, геометрии, понадобилось бы произвести такую уйму вычислений, которые заняли бы не один год. К счастью, рассмотрение этих алгоритмов не входит в рамки данной книги, поскольку такого же результата, но гораздо быстрее, можно достичь с помощью процедурного типа текстур.
Создатели LightWave описали 32 наиболее часто используемых алгоритма, назвав их процедурными текстурами (рис. 12.39).
Рис. 12.39. В LightWave включены 32 наиболее часто используемые процедурные текстуры
Далеко не все текстуры можно описать исключительно при помощи математических формул (хотя некоторые математики с этим и не согласны), однако те, которые допускают подобный расчет, превращаются в сложные, многослойные текстуры, например, облака, волны, различные породы дерева и камня. При этом от художника требуется только определить ряд параметров текстур, а компьютер сделает все остальное.
Чтобы разобраться в том, что все-таки представляют собой процедурные текстуры, нужно освоить элементы управления ими. При изменении параметров, расположенных в окне управления процедурными текстурами, вы изменяете переменные в уравнениях, описывающих текстуры. В качестве примера рассмотрим текстуру Brick (Кирпич). Вы определяете такие параметры, как цвет, расстояние между соседними кирпичами и площадь, которую необходимо ими заполнить. LightWave просчитывает все остальное. Он старательно вырисовывает стройные ряды кирпичей согласно заданным вами параметрам (рис. 12.40).
Рис. 12.40. Используя процедурную текстуру Brick, вы можете быстро создать кирпичную стену
Главное преимущество процедурных текстур заключается в том, что при каждом формировании кадра они рассчитываются заново, поэтому можно сказать, что их разрешение бесконечно.
При приближении камеры к объекту сохраняются все детали наложенной на него процедурной текстуры (рис. 12.41), а текстура, созданная при помощи карты изображений, вблизи выглядит неестественно (рис. 12.42). Нежелательный эффект можно сгладить, воспользовавшись функцией Antialiasing, но различия все равно весьма существенны.
Рис. 12.41. Поверхность, на которую наложена сложная процедурная текстура, даже вблизи выглядит естественно
Рис. 12.42. А при рассмотрении вблизи текстуры, созданной при помощи карты изображений, от ее красоты не остается и следа
В природе нет ни одной поверхности, имеющей сплошной цвет. Например, поверхность глазного яблока не белая. Чтобы сделать создаваемый глаз более реалистичным, добавим на его поверхность процедурную текстуру.
Проекции
Типом называется определенная форма проекции изображения, накладываемого на поверхность. В Light Wave существует несколько типов проекций. Выбор того или иного типа обычно определяется формой поверхности, на которую накладывается изображение: плоскость, сфера или произвольная поверхность.
Ниже перечислены типы проекций:
Planar (Планарный). Это проекция на плоскость. Примером применения такого типа может послужить проецирование изображения на экран в кинотеатре;
Cylindrical (Цилиндрический). При использовании этого типа проекций изображение размещается вокруг объекта, как наклейка на консервной банке;
Spherical (Сферический). При использовании этого типа проекций, как и типа Cylindrical, изображение размещается вокруг объекта, но в данном случае - вокруг сферы. На полюсах текстурное изображение сжимается, подобно карте, нанесенной на глобус;
Cubic (Кубический). В данном случае одна и та же текстура проецируется на объект со всех шести направлений: сзади, спереди, сверху, снизу, справа и слева;
Front (Фронтальный). При создании проекции такого типа в качестве направляющей оси используется оптическая ось камеры. При поворотах и передвижениях камеры текстура всегда проецируется «из» камеры, подобно кадру, который проецируется на экран из кинопроектора. Кроме того, изображение не зафиксировано на объекте, то есть при перемещении камеры или объекта текстура будет «плавать». Этот тип проекций используется для решения узкого круга задач, связанных в основном с компоузингом;
UV. Это наиболее гибкий, но в то же время сложный тип текстур. Для наложения подобной текстуры объект должен иметь точечную UV-карту, созданную в Modeler (подробнее о точечных картах читайте в главе 5).
Шэйдеры
Последняя еще не изученная вами вкладка Texture Editor называется Shader (Шэйдер). Шэйдер - это компонент программы, который расширяет возможности LightWave по созданию спецэффектов поверхностей. С его помощью можно добиться совершенно неожиданных и интересных эффектов, начиная от придания поверхности «мультяшности» и заканчивая расчетом сложного освещения. В LightWave включено несколько шэйдеров, остальные можно найти в Internet или приобрести у разработчиков программы. Некоторые из этих инструментов обладают невероятными возможностями. В следующем примере к поверхности будет применен один из самых интересных шэйдеров, который сделает ее «мультяшной»!
Слои текстур
Чаще всего градиенты используются в сочетании с другими текстурами, например, процедурными. При помощи слоев можно накладывать друг на друга несколько текстур и получать таким образом новые, более сложные текстуры. Слой текстуры, располагающийся поверх остальных, имеет преимущество перед теми, что лежат ниже. Поэтому при создании сложных текстур порядок их наложения играет, значительную роль.
В следующем примере описывается один из способов получения новой, более сложной текстуры путем сочетания градиента и процедурной текстуры.
Сочетание градиента и процедурной текстуры
1. Выполните шаги 1-3 раздела «Добавление процедурной текстуры».
2. Щелкните по кнопке Т, расположенной справа от поля атрибута Color (Цвет).
3. Откроется окно Texture Editor (Редактор текстур), в котором будет выделен первый (и пока единственный) слой. Извыпадающего меню Layer Type (Тип слоя) выберите пункт Procedural Texture (Процедурная текстура).
4. Из выпадающего меню Procedural (Процедурная текстура) выберите пункт Marble (Мрамор).
5. В полях параметров процедурной текстуры Marble введите следующие значения (рис. 12.57):
- Frequencies (Частоты): 5;
- Turbulence (Хаотичность): 1.25;
- Vein Spacing (Расстояние между прожилками): 0.75;
- Vein Sharpness (Острота прожилок): 4.0.
6. Перейдите на вкладку Scale (Масштаб) и измените значения в полях X, Y и Z на 150 mm (рис. 12.58). Такие настройки позволяют получить лучший эффект.
Рис. 12.57. Введите эти значения в полях параметров процедурной текстуры Marble
Рис. 12.58. На вкладке Scale измените значения в полях каждой оси
7. Из выпадающего меню Add Layer (Добавить слой) выберите пункт Gradient (Градиент) - рис. 12.59. Это создаст дополнительный слой текстуры, который будет помещен непосредственно над слоем с текстурой Marble.
Рис. 12.59. Из выпадающего меню Add Layer выберите пункт Gradient
8. Выполните шаги 3-6 процедуры «Создание градиента», чтобы создать переход от белого цвета к красному.
9. Из выпадающего меню Input Parameter (Входной параметр) выберите пункт Previous Layer (Предыдущий слой), чтобы использовать диапазон цветов, определяемый процедурной текстурой Marble.
10. Чтобы добавить третий цвет к градиенту, щелкните в центре полосы предварительного просмотра. Появится новый цвет.
11. При помощи каталога цветов выберите белый цвет для этого маркера (рис. 12.60).
Рис. 12.60. Выберите белый цвет для маркера в центре градиента 12.В поле Parameter (Параметр) введите значение 0.5, чтобы поместить добавленный цвет в середине полосы градиента (рис. 12.61).
Рис. 12.61. Переместите маркер цвета ровно в центр полосы предварительного просмотра градиента, введя в поле Parameter значение 0.5 13.В поле параметра Layer Opacity (Непрозрачность слоя) введите значение 80%, чтобы снизить влияние градиента (рис. 12.62).
Создание градиента
1. Выполните шаги 1-3 процедуры «Добавление процедурной текстуры».
2. Щелкните по кнопке Т, расположенной справа от поля атрибута Color (Цвет).
3. Откроется окно Texture Editor (Редактор текстур). Из выпадающего меню Layer Type (Тип слоя) выберите пункт Gradient (Градиент) - рис. 12.50. Предварительный просмотр градиента отображается в виде широкой вертикальной полосы. В горизонтальном окне вы увидите уже определенные значения (или цвета). Для формирования градиента необходимо указать как минимум два цвета.
Рис. 12.50. Присвойте параметру Layer Type значение Gradient 4. Чтобы создать новый цвет, щелкните в любом месте окна предварительного просмотра градиента (рис. 12.51).
Рис. 12.51. Щелкните мышью в окне предварительного просмотра градиента, чтобы создать новый цвет 5. Переместите вниз маркер, расположенный в окне предварительного просмотра (рис. 12.52). Или Введите в поле Parameter (Параметр) значение, соответствующее нижней части градиента,- 1.0 (рис. 12.53).
Рис. 12.52. Чтобы перемещать вверх-вниз по полосе градиента, используйте маркеры окна, расположенные слева
Рис. 12.53. Положение цвета на градиенте можно изменить, введя его координаты в поле Parameter 6. Чтобы определить второй цвет, используйте соответствующее числовое поле или каталог цветов. Окно предварительного просмотра обновится, как только вы укажете второй цвет градиента (рис. 12.54).
Рис. 12.54. Градиент создан
7. Из выпадающего меню Input Parameter (Входной параметр) выберите пункт Slope (Наклон), чтобы в зависимости от наклона геометрии использовались различные цвета (рис. 12.55). Этот шаг определяет, как градиент будет применяться к поверхности.
Рис. 12.55. Присвойте параметру Input Parameter значение Slope
8. Обновите изображение, нажав клавишу F9 (рис. 12.56). Нет необходимости сохранять объект, поскольку эти изменения нам больше не пригодятся.
Рис. 12.56. Обновите изображение. Заметьте, что цвет поверхности изменился согласно заданному градиенту
Создание поверхностей в Modeler
Поверхность- это совокупность многоугольников, имеющих одинаковые атрибуты. Такие группы, обозначенные уникальным именем, со всеми значениями параметров сохраняются в файле объекта. Прежде чем начать работу с поверхностями, необходимо определить, какие многоугольники объединяются в группы и как их следует называть.
Вы, 'вероятно, заметили, что в Layout нет способа выделения точек и многоугольников. Это очень неудобно при создании поверхностей, поскольку требуется определить, какой группе принадлежат те или иные полигоны. Однако сделать это невозможно, так как нельзя выделить геометрию. Чтобы присвоить поверхности имя, указать распределение полигонов по группам и настроить основные атрибуты, вам придется перейти в Modeler.
В LightWave объект может иметь одну поверхность или целую группу поверхностей. Но существует и некоторое ограничение: у полигона может быть только одна назначенная ему поверхность. Число поверхностей объекта зависит от количества составляющих его различных материалов. Можно создать высокодетальную модель, используя великое множество поверхностей с различными настройками, или простую модель, состоящую всего из нескольких поверхностей. Все зависит от стиля и назначения анимации.
В описываемых далее примерах будет смоделирована сфера, похожая на глазное яблоко. Создайте простую сферу- рис. 12.1. (Подробнее о создании сферы читайте в главах 3 и 4). Сохраните объект в файле Eyeball.lwo.
Затем присвойте группам полигонов имена, соответствующие различным частям глазного яблока: белок (the white of the eye), зрачок (pupil) и радужная оболочка (iris). Таким образом, вы как бы наложите на полигоны первые слои краски, то есть каждой группе будет соответствовать отдельная текстура.
Рис. 12.1. Используя инструмент Ball, создайте в Modeler сферу и поверните ее на 90 градусов на виде справа
Создание поверхности для всех полигонов в Modeler
1. Загрузите файл Eyeball.lwo в Modeler.
2. Щелкните по кнопке Surface (Поверхность) на панели инструментов внизу или нажмите клавишу Q. Откроется диалоговое окно Change Surface (Изменить поверхность).
3. В поле Name (Имя) введите Eyeball. Снимите галочку в окошке метки Маке Default (Сделать по умолчанию) - рис. 12.2.
Рис. 12.2. В диалоговом окне Change Surface вы можете определить соответствие поверхность-полигон. Присвойте поверхности имя Eyeball 4. Щелкните по кнопке ОК, чтобы создать поверхность и применить параметры, установленные по умолчанию в диалоговом окне.
5. Нажмите клавишу S или из выпадающего меню File (Файл) выберите пункт Save Objects (Сохранить объекты). Если в окне проекции ничего не выделено, инструмент Surface (Поверхность) применяется ко всему слою, как и многие инструменты Modeler. Так как вы не выделили полигоны объекта, поверхность Eyeball будет назначена всем полигонам. А поскольку никакие значения в диалоговом окне не менялись, то вы, вероятно, не заметите никаких изменений.
Чтобы настроить начальный вид поверхности, воспользуйтесь диалоговым окном Change Surface.
Теперь нужно определить остальные поверхности создаваемого объекта: зрачок и радужную оболочку.
Создание поверхности из группы полигонов
1. Загрузите объект Eyeball.lwo в Modeler.
2. Щелкните по кнопке Polygons (Полигоны) на нижней панели инструментов (рис. 12.3) или нажмите клавиши Ctrl+H. Modeler перейдет в режим выделения полигонов.
Рис. 12.3. Чтобы перевести редактор моделей в режим выделения полигонов, щелкните по кнопке Polygons 3. В окне вида сверху, удерживая нажатой правую кнопку, перемещайте мышь, чтобы нарисовать лассо вокруг двух первых рядов полигонов (рис. 12.4).
Рис. 12.4. Используя правую кнопку мыши, обведите лассо вокруг двух первых рядов полигонов 4. Щелкните по кнопке Surface (Поверхность) на панели инструментов внизу или нажмите клавишу Q. Откроется диалоговое окно Change Surface (Изменить поверхность).
5. В поле Name (Имя) введите Pupil.
6. Чтобы создать поверхность Pupil с параметрами, установленными в диалоговом окне по умолчанию, щелкните по кнопке ОК.
7. Щелкните по полигонам в центре сферы, чтобы отменить их выделение (рис. 12.5).
Рис. 12.5. Отмените выделение полигонов в центре сферы
8. Выполните шаги 4-6, чтобы создать еще одну поверхность. Назовите ее Iris.
9. Чтобы сохранить объект, нажмите клавишу S или из выпадающего меню File выберите пункт Save Object.
Создание текстуры
Текстурирование - это еще один из способов редактирования поверхности. При определении параметров поверхности вы задаете ее геометрические и физические свойства. Однако без наложения текстур не обойтись, если требуется имитировать материал, из которого создана поверхность (камень, дерево, песок и т.д.). Определяя карту вдавливания объекта, вы просто задаете его фактуру, шероховатости, царапины и т.д. А применение текстур переводит поверхности на более высокий уровень визуализации.
До сих пор поверхности, которые вы моделировали, были предельно просты, поскольку вы только начали изучать основы работы с ними в LightWave. Теперь можно приступить к созданию более сложных элементов.
Основным недостатком объектов виртуального мира является то, что они идеальны, то есть лишены каких-либо деталей, присущих их реальным прототипам. Их поверхность не имеет шероховатостей и безукоризненно окрашена (рис. 12.30). Чтобы объекты выглядели более естественно, необходимо добавить несколько штрихов, наложить текстуры (рис. 12.31).
Рис. 12.30. Обычная "виртуальная" поверхность
Рис. 12.31. Та же самая поверхность, но уже текстурированная
Текстура определяет качество (если угодно реализм) создаваемой модели, она либо снижает, либо, наоборот, усиливает эффекты, примененные к объекту. Объем текстур определяется каким-либо параметром, например, изображением, хранящимся в файле, математической формулой или просто набором чисел. От каждого конкретного случая зависит, какой из типов хранения информации о текстуре выбрать.
Например, один из самых распространенных случаев применения текстур - создание налета пыли или грязи, имитирующий возраст объекта. Вы, вероятно, помните, что подобный эффект можно получить и при помощи параметра Diffuse, однако, определив его, вы делаете всю поверхность темнее и грязнее, что, согласитесь, редко встречается в реальном мире. Используя текстуры, можно добиться большей естественности, назначая одним пикселям поверхности высокое значение этого параметра, а другим - меньшее.
Значение Diffuse для каждого пикселя определяется именно текстурой.
В LightWave существует три основных вида текстурирования - image maps (карты изображений), procedural textures (процедурные текстуры) и gradients (градиенты). Но независимо от выбранного типа текстурирования и целей, наложения текстур все операции с ними вы будете осуществлять в Texture Editor (Редактор текстур
Для определения любого атрибута, рядом с которым есть кнопка Т, можно использовать текстурирование.
Если кнопка Т подсвечена, значит, при определении данного параметра было использовано текстурирование. Чтобы изменить параметры текстуры, щелкните по этой кнопке.
Чтобы удалить текстуру из атрибута, щелкните по кнопке Т, удерживая нажатой клавишу Shift. Если кнопка не подсвечивается, текстура удалена. Но будьте внимательны, помните, что отменить эту операцию невозможно. Если вы все же ошиблись и удалили текстуру, единственный способ восстановить ее - вернуться к более раннему варианту объекта.
Создание зависимости для атрибута поверхности
1. Загрузите объект Eyeball_setup.lws в Layout.
2. Щелкните по кнопке Surface Editor (Редактор поверхностей) на панели инструментов или нажмите клавишу F5. Откроется окно Surface Editor.
3. В списке поверхностей щелкните по строке с именем Eyeball.
4. Щелкните по кнопке Е (Зависимость), расположенной справа от поля атрибута Bump (Вдавливание) - рис. 12.69.
Рис. 12.69. Щелкните по кнопке Е, чтобы анимировать параметры поверхности при помощи Graph Editor
5. Отредактируйте зависимость в Graph Editor (Редактор кривых), добавляя и настраивая опорные кадры (рис. 12.70). Подробнее это описано в главе 10.
6. Закройте окно Graph Editor. Теперь параметры карты вдавливания (bump map) будут изменяться в соответствии с настройками зависимости в Graph Editor.
Рис. 12.70. С помощью Graph Editor вы можете создавать анимацию, изменяя параметры поверхности
Параметры поверхности, расположенные на вкладках Advanced (Дополнительно) и Environmental (Окружение), позволяют создать весьма специфичные эффекты. Если вы не поэкспериментируете с этими настройками, то может пройти достаточно много времени, прежде чем вы полностью освоите все возможности Lightwave. Рассмотрение данных атрибутов выходит за рамки этой книги, однако они очень подробно описаны в справочном руководстве пользователя Lightwave.
Тем не менее следует изложить основные сведения. На вкладке Advanced вид поверхности настраивается через альфа-каналы (alpha channels) и специальные буферы. Кроме того, здесь вы можете активировать точечные цветовые карты (vertex colors), эффекты свечения и различные световые спецэффекты. На вкладке Environmental находятся настройки отражения света от поверхности. Вы можете поэкспериментировать с методом трассировки лучей, сферическими картами, фоном или комбинировать эти возможности.
Surface Editor
В окне Surface Editor (Редактор поверхностей) расположена большая часть элементов управления и параметров, определяющих вид поверхности. Открыть редактор и с его помощью настроить поверхности объекта можно как в Modeler, так и в Layout. Но вам, вероятно, захочется сразу оценить результат, а поскольку в Modeler нет возможности создавать предварительные просмотры, откройте Surface Editor в Layout. Понять принцип действия этого инструмента несложно, следует только познакомиться его настройками и создать несколько предварительных просмотров, и вы сможете с легкостью работать с ним в Modeler.
Рассмотрим интерфейс Surface Editor (рис. 12.7):
Рис. 12.7. В окне Surface Editor (Редактор поверхностей) расположена большая часть элементов управления и параметров поверхностей
1 - Surface management (Элементы управления поверхностями). Здесь отображается количество объектов и поверхностей, загруженных в сцену. В этой области расположены кнопки, предназначенные для загрузки и сохранения готовых поверхностей.
2 - Surface Preview (Предварительный просмотр поверхности). В этом окне отображается выделенная поверхность, а также статическая информация о ней.
3 - Surface list (Список поверхностей). В этом списке отображаются имена поверхностей всех объектов сцены. Чтобы открыть список поверхностей объекта, щелкните по стрелке, расположенной рядом с его именем.
4 - Surface properties tabs (Вкладки свойств поверхности).. Каждая из этих вкладок содержит элементы управления, определяющие параметры поверхности.
Texture Editor
Рис. 12.32. Окно Texture Editor позволяет детализировать атрибуты поверхности
Как и в Surface Editor (Редактор поверхностей), в Texture Editor (Редактор текстур) находятся все основные элементы управления и атрибуты, необходимые для работы с текстурами. Здесь есть практически все, что может понадобиться для создания даже очень сложных текстур (рис. 12.32). Одна из наиболее мощных возможностей Texture Editor заключается в одновременном наложении нескольких текстур (с использованием слоев) и получении таким образом новой текстуры. Работа со слоями осуществляется в левой половине окна Texture Editor. Элементы управления различными типами эффектов расположены в правой половине.
В верхней части окна находятся кнопки настройки слоев. При помощи этих опций можно определить не только тип слоя, но и влияние текстуры на отдельные атрибуты поверхности. Чем прозрачнее становится слой, тем лучше видны слои, расположенные за ним. Параметр Layer Opacity (Непрозрачность слоя) может изменяться не только в диапазоне от 0 до 100%, но также принимать и превышающие 100%, и отрицательные значения.
При изменении типа текстуры меняется и набор элементов управления в окне Texture Editor. Некоторые из текстур имеют огромное количество параметров, другие - всего несколько, что делает их использование очень простым. Независимо от типа текстуры в нижней части окна отображаются элементы управления параметрами текстур, а также настройки проецирования текстур на поверхности, их размер и положение в мировом или локальном пространстве.
Первый тип текстур, который мы рассмотрим, - это image maps (карты изображений). Он самый простой и используется наиболее часто.
Viper
Инструмент Versatile Interactive Previewing Renderer, или Viper (Адаптивный интерактивный предварительный просмотр), можно использовать для быстрого создания предварительного просмотра больших анимаций, а также для обзора поверхностей и созданных спецэффектов. Viper не просчитывает кадр заново, он автоматически определяет, какая часть изображения была изменена, и обновляет только ее. Это позволяет значительно сократить время, затрачиваемое на генерацию предварительного просмотра сложной сцены.
В действительности окно Viper выполняет две функции. Во-первых, позволяет сделать процесс редактирования поверхностей и эффектов более наглядным, и, во-вторых, в нем можно быстро выделять поверхности.
Создание сцены.
Оценка времени формирования изображения
Конфигурирование мастера создания сцены
Режим создания изображений
Использование метода трассировки лучей
Настройка отображения объекта
Работа с High Dynamic Range Imagery
Исключение источников света
Вы знаете, как ввести в сцену несколько источников света. А можно ли сделать так, чтобы объект не освещался определенными источниками? Оказывается, можно. Это очень мощная возможность LightWave, позволяющая использовать отдельные источники света для освещения различных участков сцены.
Вы уже научились использовать список исключения объектов окна Light Properties (Свойства источника света), чтобы выводить элементы из расчета при освещении определенным источником света (см. главу 8). Однако если из расчета требуется исключить один объект при освещении несколькими источниками, гораздо проще использовать список исключения источников света, который расположен в окне Object Properties (Свойства объекта). Результат будет точно таким же, но в некоторых случаях последний метод предпочтительнее.
Исключение объекта из списка освещения
1. Чтобы открыть и загрузить объект в Layout, нажмите клавишу + (Плюс).
2. Щелкните по кнопке Properties ( Свойства) или нажмите клавишу Р. Откроется окно Object Properties.
3. Перейдите на вкладку Lights (Источники света) и щелкните в столбце Exclude (Исключить) напротив источника света, созданного по умолчанию (рис. 13.30). Объект больше не освещается (рис. 13.31).
Рис. 13.30. Это список исключения источников света окна Object Properties. Чтобы источник света игнорировал текущий элемент сцены, щелкните в столбце Exclude
Рис. 13.31.
Использование метода трассировки лучей
В LightWave у метода трассировки лучей есть несколько параметров, позволяющих оптимизировать сцену. Допускается настроить как все параметры, так и некоторые в зависимости от желаемого результата. Но учтите, чем больше настроек вы выполните, тем больше времени потребуется для создания изображения. Чтобы сократить время формирования изображения, придется использовать обходные пути, то есть создавать аналогичные эффекты другими способами. Если вы хотите узнать об этом подробнее, посетите указанные ранее Web-сайты. Чтобы получить доступ к настройкам метода трассировки лучей, перейдите на вкладку Rendering в окне Render Options (рис.13.19):
Рис. 13.19. Метод трассировки лучей может повысить реализм создаваемой анимации, нов то же время увеличит время ее формирования
Ray Trace Shadows (Трассировка теней). LightWave будет создавать тени от всех источников света в сцене при помощи метода трассировки лучей;
Ray Trace Reflection (Трассировка отражений). Все отражения на поверхностях будут строиться с использованием метода трассировки лучей;
Ray Trace Refraction (Трассировка преломлений). Для построения преломлений будет применяться метод трассировки лучей;
Ray Trace Transparency (Трассировка прозрачных поверхностей). Это специальная опция, которая необходима для создания объемных эффектов, расположенных за прозрачными поверхностями. Если она отключена, то объемный свет и Hyper Voxels не будут отображаться;
Extra Ray Tracing Optimization (Дополнительная оптимизация). По умолчанию для вычисления различных эффектов LightWave использует метод трассировки лучей. Но иногда требуется сделать их более детальными. При использовании этой опции LightWave для расчета берет большее количество лучей, в результате изображение получается более реалистичным. Данная команда позволяет сократить время формирования сцены с большим количеством объектов, но при этом в сцене практически не должно быть эффектов, основанных на методе трассировки лучей;
Ray Recursion Limit (Ограничение рекурсии лучей). Эта опция устанавливает ограничения на распространение лучей при одновременном использовании нескольких методов трассировки лучей. Например, если в сцене одно зеркало стоит напротив другого, то при этом создается эффект бесконечного коридора. При рендеринге такой сцены необходимо задать ограничение на число отражений, иначе построение изображения приведет к бесконечному циклу. Если вы присвоите параметру Ray Recursion Limit значение 4, зеркальный коридор повторится только четыре раза. Чем выше значение этого параметра, тем больше времени необходимо на создание изображения, однако при этом оно получается очень реалистичным.
При работе на многопроцессорном компьютере можно сократить время формирования анимации. Воспользуйтесь выпадающим меню Multithreading (Многопоточность), чтобы разделить работу между несколькими процессорами. Даже использовав два процессора, вы можете значительно выиграть во времени. Поэкспериментируйте с этой опцией и подберите оптимальное для вашей машины значение.
Использование режима Quickshade
1. Выполните шаги 1-3 процедуры «Использование режима Wireframe». 2. Перейдите на вкладку Rendering (Визуализация), расположенную в окне Rendering Options (Настройки просчета), и из выпадающего меню Render Mode выберите пункт Quickshade (рис. 13.15).
Рис. 13.15. Из выпадающего меню Render Mode выберите пункт Quickshade 3. Из выпадающего меню Rendering выберите пункт Render Current или нажмите клавишу F9. 4. Чтобы закрыть окно Render Status, как только изображение визуализируется, щелкните по кнопке Abort (Отмена) или нажмите клавишу Esc. В результате в окне просмотра отобразится кадр, просчитанный в режиме Quickshade (рис. 13.16).
Рис. 13.16. В этом режиме объекты отображаются с учетом основных настроек поверхностей, что позволяет значительно сократить время формирования изображения
Использование режима Realistic
1. Выполните шаги 1-3 процедуры «Использование режима Wireframe». 2. Перейдите на вкладку Rendering и из выпадающего меню Render Mode выберите пункт Realistic (рис. 13.17).
Рис. 13.17. Из меню режимов формирования изображения выберите пункт Realistic
3. Из выпадающего меню Rendering на панели инструментов выберите пункт Render Current или нажмите клавишу F9. 4. Чтобы закрыть окно Render Status, как только изображение визуализируется, щелкните по кнопке Abort (Отмена) или нажмите клавишу Esc. В результате в окне просмотра изображений отобразится кадр, просчитанный в режиме Realistic (рис. 13.18).
Рис. 13.18. В режиме Realistic объекты сцены отображаются с учетом всех настроек
Настойка мастера создания сцен
1. Создайте или загрузите сцену с анимацией в Layout.
2. В закладке Rendering (Визуализация) выберите пункт Render Options (см. рис. 13.1).
Рис. 13.1. Выберите пункт Render Options, чтобы получить доступ к настройкам создания анимации
3. Откроется окно Render Options (Настройки рендеринга). Проверьте, верны ли значения, установленные в полях Render First Frame (Первый кадр просчета) и Render Last Frame (Последний кадр просчета) - рис. 13.2.
Рис. 13.2. В окне Render Options вы можете определить диапозон кадров, которые предполагается расчитать для просмотра
4. В поле Render Frame Step (Шаг просчета) должно быть установлено значение 1. Это означает, что после создания очередного кадра Layout перейдет к созданию следующего за ним.
5. Если вы не хотите, чтобы компьютер выдавал звуковой сигнал по окончании формирования кадра, снимите галочку в окошке метки Frame Beep (Сигнал кадра).
6. Оставьте галочку в окошке метки Auto Frame Advance (Автоматический переход к следующему кадру), чтобы Layout по окончании формирования кадра автоматически переходил к следующему.
7. Из выпадающего меню Show Rendering in Progress (Отображать процесс рендеринга) выберите пункт 320x240 (рис. 13.3). Зачастую при финальном просчете большого изображения либо анимации отключение показа процесса рендеринга может ускорить работу компьютера, и, как следствие, время рендеринга может сократиться на несколько часов.
Рис. 13.3. Если вы хотите проследить за процессом формирования изображения, активируйте опцию Show Rendering
8. Снимите галочку в окошке метки Enable Viper (Активировать Viper). Если оставить окно Viper активным, потребуется дополнительное время для обработки хранящейся в нем информации.
Теперь необходимо определить имя файла, в который будет записываться анимация, и место его размещения. Вы можете сохранить анимацию в файле видео (например, формата QuickTime или Video for Windows) или создать только один кадр или серию кадров. Несомненно, правильный выбор определяется средством, при помощи которого будет воспроизводиться ролик, и необходимостью импортировать изображение в другие приложения для дальнейшей обработки.
Настройка отображения объекта
Можно изменить не только общие опции отображения, допускается настраивать некоторые свойства отображения отдельных объектов. Все настройки находятся в окне Object Properties (Свойства объекта) на вкладках Render (Визуализация) и Edges (Грани) -рис. 13.20.
Рис. 13.20. В окне Object Properties нажодятся настройки отображения. Чтобы получить к ним доступ, перейдите на вкладку Render
Настройки Edges
LightWave позволяет настроить отображение полигонов и граней объекта. Это особенно полезно, если требуется, чтобы линия, построенная вдоль края объекта, была видна при формировании изображения. Настройки, находящиеся на вкладке Edges, рекомендуется использовать совместно с шэйдером BESM для создания мультипликационных эффектов. Название шэйдера происходит от словосочетания Big Eyes Small Mouth (Больше глаза, маленький рот), так как в традиционной японской мультипликации распространены именно такие черты лиц персонажей. Рассмотрим следующие опции (рис. 13.23):
Рис. 13.23. Настройки, находящиеся на вкладке Edges, рекомендуется с шейдером BESM для создания мультипликационных эффектов
Polygon Size (Размер полигона). Здесь определяется, какой размер будет иметь полигон при отображении (рис. 13.24). Это свойство позволяет создавать анимацию при помощи зависимости, например, если требуется имитировать рост полигонов;
Рис. 13.24. Для этого объекта значение параметра Polygon Size составляет 85%
Particle/Line Thickness (Толщина частиц/линий). Определяет размер точек, отрезков и частиц (см. рис. 13.25);
Рис. 13.25. Размер частиц составляет 5 пикселей
Silhouette Edges (Границы силуэта). Очерчивает силуэт объекта, при этом можно указать толщину и цвет используемых линий (рис. 13.26);
Рис. 13.26. Опция Silhouette Edges отображает каркас объекта
Unshared Edges (Неразделяемые границы). Отображает линию соприкосновения двух поверхностей;
Sharp Creases (Острые грани). Позволяет определить цвет и толщину линий, которыми изображаются ребра модели (рис. 13.27);
Surface Borders (Границы поверхности). Грани, образованные границей двух поверхностей, изображены линией, цвет и толщина которой определяется вами (рис. 13.28);
Рис. 13.27. При использовании опции Sharp Creases в месте изгиба появляется линия
Рис. 13.28. При использовании опции Surface Borders между поверхностями отображается линия
Other Edges (Прочие границы). Прочие границы полигона отображаются линиями, вы можете задать их цвет и толщину;
Edge Color (Цвет границы). Определяет цвет, используемый для отображения границы;
Edge Z Scale (Масштаб границы по Z). Устанавливает глубину границы по оси Z;
Shrink Edges with Distance (Уменьшать границы на расстоянии). Границы уменьшаются при отдалении объекта от камеры (рис. 13.29). Если не использовать эту опцию, то при удалении от камеры объект становится меньше, а его границы остаются прежними;
Рис. 13.29. Чем дальше объект находится от камеры, тем тоньше становятся границы
Nominal Distance (Номинальное расстояние). Определяет расстояние, на котором границы не будут масштабированы.
Настройки метода трассировки лучей
Эти опции позволяют определить, как именно будет использоваться метод трассировки лучей для расчета данного объекта (рис. 13.21):
Рис. 13.21. Для каждого объекта сцены можно определить использование метода трассировки лучей Unseen by Rays (Невидим для лучей). В расчетах не учитываются поверхности объекта. Например, сфера, имеющая отражающую поверхность, не будет обладать этим свойством;
Unseen by Camera (Невидим для камеры). Объект не отображается, но его поверхности учитываются при расчете. Это означает, что будет видна его тень и отражение в других поверхностях;
Unaffected by Fog (He поддается влиянию тумана). Объект не учитывается при расчете тумана. Это означает, что он будет виден полностью;
Fog Level (Уровень тумана). В отличие от опции Unaffected by Fog, эта опция позволяет определить степень влияния тумана на объект, следовательно, здесь указывается, насколько хорошо будет виден объект на конечном изображении.
Настройки теней
Эти настройки определяют, как Light Wave будет работать с тенями, отбрасываемыми объектом, а также с тенями, падающими на него от других объектов сцены (рис. 13.22):
Рис. 13.22. Настройте взаимодействие объектов сцены с тенями
Self Shadow (Собственная тень). Здесь указывается, отбрасывает ли объект тень на себя;
Cast Shadow (Создание тени). Данная опция определяет, отбрасывает ли объект тень на другие объекты;
Receive Shadow (Другие тени). Здесь устанавливается, отбрасывают ли другие объекты тени на рассматриваемый - объект.
Оценка времени формирования изображения
Для формирования изображения Light Wave использует механизм трассировки лучей. Это означает, что он рассчитывает лучи, исходящие от камеры, источников света и прочих элементов сцены, чтобы создавать реалистичные эффекты отражения, теней, каустические явления и т.д. Например, если вы используете опцию Ray Trace Reflection (Отражение методом трассировки лучей), то LightWave сначала направит лучи от камеры, чтобы определить, какие элементы видимы в текущем |» кадре, затем рассчитает лучи от источников света, чтобы найти элементы, которые окажутся освещенными. И наконец, рассчитает лучи от поверхностей элементов, для которых коэффициент отражения больше нуля, чтобы установить, какие именно элементы будут отражаться. Аналогичным образом происходит расчет теней, каустических эффектов, преломления и т.д. Метод трассировки лучей идеально подходит для создания реалистичных изображений, однако его реализация требует большого количества вычислений, что существенно сказывается на времени формирования анимации.
Скорость обновления отдельных кадров сцены зависит от количества элементов, эффектов, а также поверхностей, которые попадают в поле обзора камеры в Layout, кроме того, используется метод трассировки лучей. Например, расчет объемного источника света и эффекта дыма займет больше времени, чем наложение обычной фрактальной процедурной текстуры на плоскость (создание эффекта дыма) или конус (имитация объемного источника света). Аналогично на расчет эффекта
Radiosity для моделирования глобального освещения уйдет больше времени, чем на создание нескольких отдельных источников света.
Каждому 3D-художнику необходимо найти золотую середину при решении вопроса об уровне детальности создаваемой анимации и времени ее формирования. В высококлассных проектах для фильмов рендеринг одного кадра занимает более 15 часов! Оптимизировать сцену можно разными способами, и все они способствуют сокращению времени формирования анимации. Если вы хотите узнать об этом подробнее, приобретите журналы о LightWave, например, «NewTek Pro» и «Keyframe Magazine», или посетите в Internet следующие сайты: www.lightwave3d.com и www.flay.com. Создание предварительного просмотра OpenGL - хороший способ детально рассмотреть поверхности и элементы сцены, однако при использовании окна Viper вы достигнете лучших результатов, кроме того, значительно сократите время формирования предварительного просмотра. При этом не требуется использование полномасштабной версии анимации. Если вы хотите проверить работу эффекта отражения, допускается создать полноценную версию анимации, но с меньшим разрешением и уровнем сглаживания поверхностей (при необходимости можно даже отключить ненужные эффекты). Вы значительно сократите время формирования изображения, однако при этом получите весьма приемлемый результат. Предварительный просмотр, как правило, формирует изображение одного кадра, но можно создать предварительный просмотр и для всей анимации, сохранив его в отдельном файле.
Как только вы полностью закончите работу над сценой и будете готовы продемонстрировать ролик своим друзьям или клиенту, вам понадобится создать финальную версию. Ее главное отличие от предварительного просмотра заключается в том, что при формировании финальной версии изображения записываются с максимальным разрешением, в определенном порядке сохраняясь в файле формата видео, например, Video for Windows или QuickTime, или в каком-либо другом.
Освещение сцены при помощи HDRI
1. Создайте или загрузите сцену в Layout. Для этого примера подойдет один объект или группа элементов.
2. В окне проекции щелкните по источнику света.
3. Щелкните по кнопке Item Properties или нажмите клавишу Р. Откроется окно Light Properties.
4. В поле Light Intensity (Интенсивность света) введите значение 10 и нажмите клавишу Enter (рис. 13.32).
Рис. 13.32. В окне Lights Properties настройте интенсивность света 5. Щелкните по кнопке Global Illumination (Глобальное освещение). Откроется окно Global Illumination (рис. 13.33).
Рис. 13.33. В окне Global Illumination расположены настройки Radiosity
6. В поле Ambient Intensity введите значение 25 и нажмите клавишу Enter.
7. Отметьте галочкой опцию Enable Radiosity (Включить просчет глобального освещения).
8. Из выпадающего меню Туре (Тип) выберите пункт Backdrop Only (Только фон). LightWave будет использовать HDRI-изображение как фоновое.
9. В поле Intensity (Интенсивность) введите значение 50 и нажмите клавишу Enter.
10. Из выпадающего меню Rays Per Evaluation (Число лучей при расчете) выберите пункт 3x9.
11. Щелкните по кнопке Image Editor (Редактор изображений) на панели инструментов или нажмите клавишу F6. Откроется окно Image Editor (рис. 13.34).
Рис. 13.34. Используйте редактор изображений, чтобы загрузить HDRI-изображение в Layout
12. Щелкните по кнопке Load (Загрузить), затем дважды щелкните по файлу
building_probe.hdr, чтобы загрузить изображение в Layout.
13. Перейдите на вкладку Scene (Сцена). Щелкните по кнопке Backdrop (Фон) на панели инструментов или нажмите клавиши Ctrl+F5. Откроется окно Backdrop Effects (Фоновые эффекты) - рис. 13.35.
Рис. 13.35. В окне Effects активируйте освещение HDRI
14. Из выпадающего меню Add Environment (Добавить среду) выберите пункт Image World (Мир-изображение) - рис. 13.36.
Рис. 13.36. Image World использует HDRI-изображение для замещения фона в Layout
15. Чтобы получить доступ к настройкам Image World, дважды щелкните по одноименному пункту в списке окружения (рис. 13.37).
Рис. 13.37. Дважды щелкните по пункту Image World
16. Из выпадающего меню Light Probe (Источник света) выберите пункт building_probe.hdr.
17. В поле Brightness (Яркость) введите значение 35 и нажмите клавишу Enter.
18. Чтобы обновить сцену, снова нажмите на клавишу F9. Теперь все объекты сцены будут освещены изображением building_probe.hdr (рис. 13.38).
Полученные вами результаты могут отличаться от наших. Попробуйте поэкспериментировать с различными настройками и создать новые изображения, чтобы понять, как проявляется действие той или иной настройки.
Рис. 13.38. Теперь объекты освещены HDRI-картой
Работа с High Dynamic Range Imagery
Механизм формирования изображения LightWave поддерживает возможность передачи 32 бит данных через один цветовой канал, что позволяет использовать его для работы с изображениями с широким динамическим диапазоном (High Dynamic Range Imagery - HDRI). HDRI - сравнительно новая технология, в которой в качестве глобального освещения применяются специальные карты изображений. Иными словами, для освещения сцены используется само изображение. В LightWave включены несколько изображений такого типа. А с помощью SkyTracer2 можно сохранить созданный вами небосклон как сферическую HDRI-карту, что позволит использовать его в дальнейшем. Более подробно технология HDRI описана на сайте www.debevec.org . кроме того, здесь вы получите дополнительные HDRI-карты. Данная технология требует значительного количества вычислений, поэтому при выполнении описанной ниже процедуры используйте минимальное разрешение камеры.
Режим создания изображений
Вы уже знаете, как осуществить рендеринг изображения, теперь рассмотрим режимы формирования изображений в Layout. В LightWave есть три основных режима: Wireframe (Каркас), Quickshade (Быстрое затенение) и Realistic (Реалистичный). В режиме Wireframe видны только каркасы объектов сцены. В режиме Quickshade объекты отображаются с использованием только их базовых цветов, атрибутов светимости и диффузии. В режиме Realistic (который установлен по умолчанию) учитываются все атрибуты, настройки и эффекты, примененные к объектам. Метод трассировки лучей доступен только в этом режиме. Рассмотрим перечисленные режимы более подробно.
Сохранение анимации в файле
1. Выполните предыдущую процедуру «Настройка мастера создания сцен».
2. Перейдите на вкладку Output Files (Выходные файлы), расположенную в центральной части окна Render Options (Настройки просчета), чтобы получить доступ к дополнительным настройкам формирования изображения (рис. 13.4).
Рис. 13.4. На вкладке Ouyput Files содержаться настройки сохранения файлов, а так жефайлы с созданной анимацией
3. Чтобы открыть диалоговое окно Save (Сохранить), отметьте галочкой опцию Save Animation (Сохранить анимацию).
4. Введите имя файла и укажите место его расположения, затем щелкните по кнопке Save (Сохранить).
5. Из выпадающего меню Туре (Тип), находящегося в окне Render Options, выберите формат файла, в который будет осуществляться запись (рис; 13.6).
Рис. 13.5. Анимация будет сохранена в файле формата видео
Рис. 13.6. Выберите формат видео, воспользовавшись выпадающим меню Type
6. Чтобы открыть окно выбранного формата и подобрать соответствующий кодек, щелкните по кнопке Options (Настройки).
7. Закройте окно Render Options.
8. Чтобы создать анимацию из указанных вами кадров, из выпадающего меню Rendering (Визуализация), расположенного на панели инструментов, выберите пункт Render Scene (Просчитать - сцену) или нажмите клавишу F10 (рис. 13.7). LightWave просчитает анимацию и сохранит ее в указанном вами файле.
Рис. 13.7. Опция Render Scene находится в выпадающем меню Render
Если в начале рендеринга в окне Render Options (Настройки просчета) активна опция Render Display (Отображать результат просчета), Lightwave задаст вопрос, не нужно ли ее отключить. С оздавая конечную версию анимации, эту опцию следует отключать, поскольку в основном она используется для создания предварительного просмотра.
При формировании изображения Lightwave выведет на экран окно с информацией о рендеринге сцены. Если вы активировали опцию Show Rendering In Progress (Отображать процесс формирования изображения), в окне будет также отображаться текущий создаваемый кадр (рис. 13.8). Как только визуализация завершится, окно автоматически закроется, и вы вернетесь в интерфейс Layout.
Рис. 13.8. Вы можете оборвать процесс формирования изображения, воспользовавшись окном Render Status. Однако активно, полное время создания сцены увеличивается
Важно отметить, что вы можете сохранять не всю анимацию целиком, а только ее отдельные кадры или Последовательность определенных кадров. Это очень удобно, если вы планируете добавить созданный ролик в фильм или импортировать изображение в другое приложение. При сохранении последовательности изображений в отдельных файлах вы должны указать базовое имя, которое будет основой для всех создаваемых файлов, формат имени файла (как Light Wave будет называть файлы с изображениями), а также формат изображения.
Есть еще один немаловажный аспект. При просчете анимации, занимающей несколько дней, а то и недель, возможны критические ситуации по зависанию как приложения, так и всей операционной системы. Если в этот момент LightWave 3D просчитывал анимацию в анимационный файл, то вся работа в момент зависания будет потеряна и никакую ее часть не удастся восстановить. Если же указать при сохранении анимации последовательность кадров, то после восстановления работы приложения или перезегрузки системы все просчитанные до сбоя кадры останутся в целости и сохранности, а процесс рендеринга можно будет продолжить с места прерывания процесса.
Сохранение последовательности кадров
1. Выполните процедуру «Настройка мастера создания сцен».
2. В окне Render Options (Настройка анимации) снимите галочку в окошке метки Save Animation (Сохранить анимацию).
3. Отметьте галочкой опцию Save RGB (Сохранить RGB). Откроется диалоговое окно Save (Сохранить). В этом окне введите путь к директории, в которой будут храниться изображения, а также базовое имя файла и щелкните по кнопке ОК.
4. Из выпадающего меню Туре (Тип) выберите нужный формат файла изображения (рис. 13.9.).
Рис. 13.9. LightWave поддерживает все основные форматы изображений
5. Из выпадающего меню Output Filename Format (Формат именования файлов) выберите метод именования файлов, например, NameOOl.xxx (рис. 13.10).
Рис. 13.10. Вы можете определить метод именования файлов на основе базового имени
6. Чтобы создать изображения кадров из указанного вами диапазона, из выпадающего меню Rendering (Визуализация), расположенного на панели инструментов, выберите пункт Render Scene (Создать сцену) или нажмите клавишу F10.
7. После того как изображения кадров запишутся в файлы, откройте в про воднике указанную вами директорию (рис. 13.11). Для каждого кадра анимации LightWave создал отдельный файл, именованный по выбранному вами методу.
Рис. 13.11. LightWave сохраняет изображения в определенной вами папке
Чтобы создать предварительный просмотр кадра, не сохраняя его в файле, нажмите клавишу F9. Проследите, чтобы была активна опция Render Display, иначе после формирования вы не сможете просмотреть изображение.
Если необходимо сохранить определенные альфа-каналы кадров, отметьте галочкой опцию Save Alpha (Сохранить альфа-каналы), расположенную под опцией Save RGB. Настройте ее точно так же, как и Save RGB. Lightwave сохранит альфа-каналы кадров указанного вами диапазона в отдельных файлах.