
2. 3ds Max 2008
.pdf
Рис. 8.93. Контекстное меню с выбором команды, замораживающей все трансформации
3.В группе transform (Трансформации) щелкните на строке Freeze Transform (Заморозить трансформацию) (рис. 8.93), после чего откроется окно с предупреждением о том, что могут быть утеряны ранее выполненные трансформации или анимация. В данном случае это как раз то, что нам нужно. На вопрос о том, желаете ли вы продолжить, ответьте утвердительно.
4.Откройте редактор кривых командой Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых).
5.В левой части редактора кривых выберите строку Sound (Звук) (рис. 8.94) и щелкните на ней правой кнопкой мыши, в результате чего откроется контекстное меню.
Рис. 8.94. Окно редактора кривых
6.В контекстном меню выберите строку Properties (Свойства).
7.В открывшемся окне Sound Option (Свойства звука) щелкните на кнопке Choose Sound (Выбор звука) и укажите путь к звуковому файлу. Вы можете выбрать собственный звуковой файл или воспользоваться файлом Sound.wav, расположенным в папке Examples\Глава 08\Sound_wave прилагаемого к книге DVD.
8.Протестируйте выполненные действия, запустив воспроизведение анимации. Во время проигрывания анимации должен звучать выбранный звуковой файл.

Теперь можно продолжить присвоение объекту Dummy01 контроллера, управляющего перемещением по оси Y (перпендикулярно динамику).
1.Выделите вспомогательный объект Dummy01 (если он не выделен) и перейдите на вкладку Motion (Движение) командной панели.
2.В свитке Assign Controller (Назначить контроллер) щелкните на плюсике, расположенном рядом со строкой Position: Position List (Положение: список положения), для раскрытия списка контроллеров положения.
3.Раскройте строку Zero Pos XYZ: Position XYZ (Нулевое положение по XYZ: положение по XYZ) и выберите строку Y Position (Положение по оси Y).
4.Щелкните на кнопке Assign Controller (Назначить контроллер)
и в раскрывшемся окне Assign Float Controller (Назначить контроллер с плавающей точкой) выберите строку AudioFloat (Звук, использующий значения с плавающей точкой) (рис. 8.95).
5.В появившемся окне Audio Controller (Контроллер звука) щелкните на кнопке Choose Sound (Выбор звука) и укажите путь к звуковому файлу.
6.В области Controller Range (Диапазон контроллера) увеличьте значение параметра Max (Максимум) до 30. В зависимости от уровня записи, которую вы используете, величина максимального значения может быть меньше или больше.
7.В области Channel (Канал) установите переключатель в положение Right (Правый) (рис.
8.96).
Рис. 8.95. Окно Assign Float Controller (Назначить контроллер с плавающей точкой)

Рис. 8.96. Настройки окна Audio Controller (Контроллер звука) для правого динамика
8. Закройте окно Audio Controller (Контроллер звука) и проверьте анимацию. Объектпустышка и связанный с ним динамик должны колебаться в такт музыке.
Скопируйте динамик вместе с объектом-пустышкой. Для этого в окне проекции Front (Спереди) выделите оба объекта и, удерживая нажатой клавишу Shift, переместите их вправо на 680 единиц (величину смещения можно увидеть в строке информации в нижней части окна 3ds Max). В качестве способа копирования укажите Copy (Независимая копия объекта).
СОВЕТ
Копировать со смещением можно разными способами, например используя инструмент Array (Массив).
После копирования новый динамик унаследует старые связи, что вызовет нежелательную трансформацию. Избавиться от них просто – достаточно на вкладке Modify (Изменение) командной панели переопределить объект контроля. Для этого в свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) необходимо щелкнуть на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций указать на новый вспомогательный объект-пустышку Dummy02.
Последнее, что осталось сделать для анимации динамиков, – изменить для вновь построенного динамика звуковой канал. Для этого выполните следующее.
1.Выделите новый объект-пустышку Dummy02.
2.Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку с именем Y Position (Положение по оси Y), расположенную внутри списка Zero Pos XYZ: Position XYZ (Нулевое положение по XYZ: положение по XYZ).
3.Щелкните на строке Y Position (Положение по оси Y) правой кнопкой мыши и выберите из контекстного меню строку Properties (Свойства).
4.В области Channel (Канал) открывшегося окна Audio Controller (Контроллер звука) установите переключатель в положение Left (Левый) (рис. 8.97).

Рис. 8.97. Окно Audio Controller (Контроллер звука) с установленным каналом для левого динамика
5. Закройте окно и проверьте анимацию. Оба динамика должны вибрировать в такт музыке.
В начале данного раздела мы говорили о том, что будем анимировать не только динамики, но и анализатор частотного спектра аудиоаппаратуры. На самом деле это будет не настоящий анализатор частоты, а только его имитация, так как все, что мы можем получить от звукового файла, – это характеристики каналов и их смешанное значение, которые не имеют никакого отношения к частотным характеристикам звука.
Перейдите на вкладку Display (Дисплей) командной панели и в свитке Hide (Спрятать) щелкните на кнопке Unhide by Name (Отобразить по имени), в результате чего откроется окно со списком спрятанных объектов. Выберите из него объект analyzer_wave и щелкните на кнопке Unhide (Отобразить). Этот объект – будущая панель анализатора спектра, разделенная на десять сегментов по горизонтали (по количеству каналов, которые мы будем анимировать).
Рассмотрим, как будет работать наш анализатор. Есть несколько способов отображения и передачи информации звукового контроллера параметрам объекта. Мы будем использовать анимированный материал. Такой подход позволит получить приемлемый результат, не создавая дополнительной геометрии. Можно построить сложный материал, основанный на серии масок для каждого канала, однако такой способ может оказаться достаточно трудным для начинающих. По этой причине мы создадим многокомпонентный материал, каждый компонент которого будет являться копией одного материала с измененными параметрами звукового контроллера (для получения колебаний различной амплитуды).
1.В одном из окон проекций выделите объект analyzer_wave и перейдите на вкладку Modify (Изменение) командной панели.
2.Выберите из списка модификаторов (или выполните соответствующую команду главного меню) модификатор Edit Mesh (Редактирование поверхности).
3.Перейдите на уровень редактирования полигонов, для чего в свитке Selection (Выделение) щелкните на кнопке Polygon (Полигон)
4.В окне проекции Front (Спереди) выделите первый полигон и присвойте ему первый идентификатор материала, для чего задайте параметру Set ID (Установить идентификатор материала) из свитка Surface Properties (Свойства поверхности) значение 1 (рис. 8.98) и нажмите на клавиатуре Enter для подтверждения внесенных изменений.
5.Выделите второй полигон объекта analyzer_wave и установите идентификатор материала равным 2.

6. Проделайте вышеописанные операции для оставшихся восьми полигонов, присвоив им идентификаторы материала согласно порядку их следования.
Для создания и настройки базовых параметров материала сделайте следующее.
1. Откройте редактор материалов, выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов) или нажав клавишу M.
Рис. 8.98. Установка идентификатора материала для первого полигона анализатора спектра
2.Выберите ячейку со свободным материалом и щелкните на кнопке Standard (Стандартный), расположенной справа от имени материала.
3.В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка материал Multi/Sub-Object (Многокомпонентный). На вопрос Keep old material as submaterial? (Оставить старый материал в качестве компонента?) ответьте утвердительно.
4.В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке с именем первого материала. В результате появятся его настройки.
5.В области Self-Illumination (Собственное свечение) свитка Blinn Basic Parameters (Базовые параметры раскраски по Блинну) задайте параметру Color (Цвет) значение 100. Это позволит имитировать яркий светящийся индикатор.
6.В свитке Maps (Карты текстур) нажмите кнопку None (Отсутствует), расположенную справа от Diffuse Color (Цвет рассеивания).
7.В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент) (рис. 8.99) и щелкните на кнопке OK для подтверждения выбора и закрытия окна.
8.После выбора карты Gradient Ramp (Улучшенный градиент) в окне редактора материалов автоматически отобразятся свитки параметров этой карты. В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) необходимо настроить следующие цвета флагов градиента:
• для первого флага, расположенного в позиции 0, установите зеленый цвет со значениями Red (Красный) – 0, Green (Зеленый) – 255, Blue (Синий) – 0. Для этого дважды щелкните на флаге и в открывшемся окне Color Selector (Выбор цвета) задайте значения цветовых каналов;

Рис. 8.99. Выбор карты улучшенного градиента в окне Material/Map Browser (Окно выбора материалов и карт)
•для флага, расположенного в позиции 100, задайте красный цвет: Red (Красный) – 255, Green (Зеленый) – 0, Blue (Синий) – 0;
•флаг, расположенный посередине (в позиции 50), передвиньте в позицию 70 и установите желтый цвет: Red (Красный) – 255, Green (Зеленый) – 220, Blue (Синий) – 20.
СОВЕТ
Более точно установить позицию флага, изменить имя, установленное по умолчанию, или назначить ему текстуру можно, щелкнув на флаге правой кнопкой мыши и выбрав из
контекстного меню строку Edit Properties (Правка свойств).
ПРИМЕЧАНИЕ
Данный градиент влияет на внешний вид анализатора звука. Он настраивается один раз для всех каналов. При желании вы можете использовать другие цвета анализатора звука. Если вы
решите в дальнейшем менять цвет, то эту градиентную карту лучше всего настраивать как внешнюю, с последующим копированием в качестве образца (Instance) в многокомпонентный материал. В таком случае при редактировании одной карты будут изменяться цвета сразу во всех
10каналах.
9.Поверните градиентную карту в вертикальное положение, задав параметру W области
Angle (Угол) свитка Coordinates (Координаты) значение -90 (рис. 8.100).
10.Вернитесь к свитку Maps (Карты текстур), щелкнув на панели инструментов редактора материалов на кнопке Go to Parent (Вернуться к исходному)
Перейдем к настройке карты прозрачности, которая будет не только имитировать разбиение полоски анализатора на отдельные сегменты, но и управлять их отображением. Для этого нам понадобится составная карта Mask (Маска), построением которой мы сейчас и займемся.
1.В свитке Maps (Карты текстур) щелкните на кнопке None (Отсутствует), расположенной справа от Opacity (Непрозрачность).
2.В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент) и щелкните на кнопке OK для подтверждения выбора и закрытия окна.
3.В свитке Coordinates (Координаты) задайте следующие значения параметров:
•для координат по горизонтали (U) установите смещение (Offset (Смещение)) равным 0,05
иколичество повторений (Tiling (Повторения)) – 10, по количеству каналов анализатора. Смещение позиционирует маску в середине используемого полигона;
•для координат по вертикали (V) установите смещение (Offset (Смещение)) равным 0,025 и количество повторений (Tiling (Повторения)) – 20, по количеству сегментов одного канала анализатора.
4.В этом же свитке укажите минимальное размытие карты, задав параметру Blur (Размытие) значение 0,01.
5.В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) установите для первого флага белый цвет (карта прозрачности работает с градациями монохромного цвета от белого до черного).
6.Передвиньте второй флаг, который находится в позиции 50, в позицию 80 и установите для него черный цвет.
7.В этом же свитке выберите из списка Gradient Type (Тип градиента) строку Box (Параллелепипед), а из списка Interpolation (Интерполяция) – строку Solid (Сплошной) (рис.
8.101).
8.Перейдем к построению составной карты, для чего справа от имени градиентной карты прозрачности, с которой мы работали, щелкните на кнопке Gradient Ramp (Улучшенный градиент).
9.В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Mask (Маска) и щелкните на кнопке OK для подтверждения выбора и закрытия окна.
Врезультате выполненных действий появится окно с вопросом Keep old material as sub-material? (Оставить старый материал в качестве компонента?). Ответьте на него утвердительно.
10.После выбора карты Mask (Маска) в окне редактора материалов автоматически появятся параметры этой карты. В свитке Mask Parameters (Параметры маски) щелкните на кнопке None (Отсутствует) справа от Mask (Маска) и выберите в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) еще одну карту Gradient Ramp (Улучшенный градиент).

Рис. 8.100. Настройки карты Gradient Ramp (Улучшенный градиент) для основного цвета
Рис. 8.101. Настройка параметров градиентной карты для создания сегментов анализатора
11. Как и для предыдущей карты градиента, в свитке Gradient Ramp Parameters (Параметры улучшенного градиента) для первого флага установите белый цвет.

12.Для второго флага задайте черный цвет. Его положение не имеет значения.
13.Щелкните на втором флаге правой кнопкой мыши и выберите из контекстного меню строку Edit Properties (Правка свойств).
1 4. В появившемся окне Flag Properties (Свойства флага) в поле имени наберите новое имя флага, например LevelMask (рис. 8.102). Это позволит при последующей анимации проще находить нужные объекты. Закройте окно Flag Properties (Свойства флага).
15.В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) выберите из списка Interpolation (Интерполяция) строку Solid (Сплошной).
16.В свитке Coordinates (Координаты) задайте параметру W столбца Angle (Угол) значение –90, что позволит развернуть карту в вертикальное положение (рис. 8.103).
17.Вернитесь на верхний уровень к многокомпонентной карте, для чего трижды щелкните на кнопке Go to Parent (Вернуться к исходному), расположенной на панели инструментов редактора материалов.
Итак, мы создали составной материал на основе трех градиентных карт и карты маски. Их хватит для решения наших задач. На рис. 8.104 показано дерево материала на данном этапе редактирования. Чтобы посмотреть дерево материалов, щелкните на кнопке Material/Map Navigator (Путеводитель по материалам/картам текстур)
Если вы все сделали правильно, то у вас должно быть точно такое же изображение.
Рис. 8.102. Окно Flag Properties (Свойства флага)

Рис. 8.103. Настройки градиентной карты маски
Сейчас необходимо анимировать положение флага LevelMask в соответствии с уровнями кривой звукового контроллера. Можно было бы использовать один из контроллеров Audio Controller (Контроллер звука), присвоенных вспомогательным объектам для управления динамиками, но я хочу показать, как можно создавать собственные параметры объекта и использовать их для решения задач анимации.
Водном из окон проекций выделите объект analyzer_wave. Выполните команду Animation ► Parameter Editor (Анимация ► Редактор параметров), в результате откроется окно Parameter Editor (Редактор параметров). В свитке Attribute (Свойства) выберите из раскрывающегося списка Add to Type (Добавить к типу) строку Selected Object’s Material (Материал выделенного объекта). Это позволит добавить создаваемый параметр материалу анализатора звука – объекту analyzer_wave. Введите в поле Name (Имя) значимое имя параметра, например soundwave (рис. 8.105).
Всвитке Attribute (Свойства) щелкните на кнопке Add (Добавить), и новый параметр будет добавлен к выделенному объекту analyzer_wave. В результате в редакторе материалов в настройках многокомпонентного материала, присвоенного объекту, появится свиток Custom Attributes (Пользовательские свойства) с соответствующим параметром. Нам нужно присвоить этому значению Audio Controller (Контроллер звука), для этого обратимся к редактору кривых.