/
Теги: программные средства компьютерные технологии
ISBN: 978-5-9775-1721-8
Текст
Александр Горелик
Юлия Васильева
Санкт-Петербург
«БХВ-Петербург»
2023
УДК 004.4'27
ББК 32.973.26-018.2
Г68
Горелик, А. Г.
Г68
Самоучитель 3ds Max 2022 / А. Г. Горелик, Ю. Д. Васильева. — СПб.:
БХВ-Петербург, 2023. — 544 с.: ил. — (Самоучитель)
ISBN 978-5-9775-1721-8
В основу книги положена эффективная методика, основанная на многолетнем
опыте обучения студентов работе с программой трехмерного моделирования Autodesk 3ds Max на примерах и упражнениях. Книга рассчитана не только на новых
пользователей программы, но и на тех, кто хорошо с ней знаком. Рассматриваются
методы моделирования простых и сложных объектов, создания материалов любой
сложности, инструменты анимации, возможности анимации с учетом законов
физики, создания естественного и искусственного освещения, методы визуализации с использованием Arnold и V-Ray. Значительное внимание уделено персонажной анимации. Электронный архив содержит наглядные видео- и дополнительные
материалы и упражнения.
Для широкого круга пользователей
УДК 004.4'27
ББК 32.973.26-018.2
Группа подготовки издания:
Руководитель проекта
Зав. редакцией
Компьютерная верстка
Дизайн серии
Оформление обложки
Евгений Рыбаков
Людмила Гауль
Ольги Сергиенко
Марины Дамбиевой
Зои Канторович
"БХВ-Петербург", 191036, Санкт-Петербург, Гончарная ул., 20
ISBN 978-5-9775-1721-8
© ООО "БХВ", 2023
© Оформление. ООО "БХВ-Петербург", 2023
Оглавление
Предисловие ................................................................................................................... 15
Электронный архив ....................................................................................................................... 16
Глава 1. Основные понятия ........................................................................................ 19
Требования к системе .................................................................................................................... 19
Новое в 3ds Max 2022 .................................................................................................................... 20
Видовые окна ......................................................................................................................... 20
Моделирование ...................................................................................................................... 20
Визуализация .......................................................................................................................... 21
Интерфейс программы .................................................................................................................. 21
Начало работы........................................................................................................................ 21
Командная панель .................................................................................................................. 24
Конфигурация видовых окон ................................................................................................ 25
Панель с кнопками управления видовыми окнами ............................................................. 27
Режимы отображения ............................................................................................................28
Выделение объектов .............................................................................................................. 30
Команды Undo и Redo ........................................................................................................... 31
Трансформации объектов...................................................................................................... 32
Системы координат ............................................................................................................... 33
Центр преобразования ........................................................................................................... 34
Клонирование объектов ........................................................................................................36
Зеркальное отображение объектов ....................................................................................... 37
Группы объектов .................................................................................................................... 38
Слои ........................................................................................................................................ 38
Единицы измерения ............................................................................................................... 40
Сетка координат ..................................................................................................................... 41
Привязки ................................................................................................................................. 42
Выравнивание объектов ........................................................................................................44
Файлы ..................................................................................................................................... 45
Импорт в сцену объектов из других MAX-файлов ............................................................. 47
Создание и работа с проектом .............................................................................................. 47
Визуализация и сохранение растрового изображения ........................................................ 48
Настройка некоторых параметров графического интерфейса ........................................... 49
Контрольные вопросы ................................................................................................................... 50
4
Оглавление
Глава 2. Моделирование .............................................................................................. 51
Создание простых объектов.......................................................................................................... 51
Упражнение № 2-1. Привязка к сетке, массивы.......................................................................... 54
Установка проекта ................................................................................................................. 54
Настройка единиц измерения и параметров сетки.............................................................. 54
Установка привязок ............................................................................................................... 55
Пример создания деревьев из примитивов .......................................................................... 55
Упражнение № 2-2. Основные команды. "Восстанови стену, собери спички" ........................ 58
Первый способ, установка координат .................................................................................. 58
Второй способ ........................................................................................................................ 59
Собрать спички ...................................................................................................................... 59
Практическая работа ............................................................................................................. 60
Упражнение № 2-3. Создание конструкций из примитивов, рендеринг ................................... 60
Стандартные примитивы ....................................................................................................... 60
Создание колоннады .............................................................................................................. 60
Рендеринг ............................................................................................................................... 62
Практическая работа ............................................................................................................. 63
Упражнение № 2-4. Стандартные и дополнительные примитивы ............................................ 63
Практическая работа ............................................................................................................. 67
Модификаторы............................................................................................................................... 67
Упражнение № 2-5. Применение модификаторов ...................................................................... 69
Построение лампы ................................................................................................................. 69
Моделирование кресла ..........................................................................................................71
Моделирование стола ............................................................................................................ 72
Моделирование корзины ....................................................................................................... 73
Практическая работа ............................................................................................................. 75
Упражнение № 2-6. Сплайны, тела вращения ............................................................................. 75
Типы сплайнов ....................................................................................................................... 75
Построение сплайнов ............................................................................................................ 75
Визуализация сплайнов .........................................................................................................76
Типы вершин сплайна Line ................................................................................................... 77
Задание типов вершин сплайна Line .................................................................................... 78
Преобразование сплайна в редактируемый сплайн ............................................................ 78
Редактирование сплайна .......................................................................................................78
Создание тела вращения........................................................................................................79
Построение модели фонтана ................................................................................................. 80
Модель вазы ........................................................................................................................... 81
Практическая работа ............................................................................................................. 82
Упражнение № 2-7. Выдавливание, фаски .................................................................................. 82
Создание объемной модели с помощью модификатора Extrude ....................................... 82
Создание объемной модели с помощью модификатора Bevel ........................................... 83
Упражнение № 2-8. Построение объемных моделей методом лофтинга ................................. 84
Практическая работа ............................................................................................................. 87
Упражнение № 2-9. Булева операция ProBoolean ...................................................................... 88
Булевы операции .................................................................................................................... 88
Виды операций команды ProBoolean................................................................................... 89
Создание модели кружки с использованием булевых операций ....................................... 90
Упражнение № 2-10. Булева операция ProCutter ....................................................................... 93
Практическая работа ............................................................................................................. 95
Оглавление
5
Упражнение № 2-11. Простой домик ........................................................................................... 95
Построение стен ..................................................................................................................... 95
Построение крыши ................................................................................................................ 98
Практическая работа ............................................................................................................. 99
Упражнение № 2-12. Составные объекты. Команда Scatter ...................................................... 99
Деревья ................................................................................................................................... 99
Камни .................................................................................................................................... 102
Распределение объектов с помощью инструмента Scatter ............................................... 103
Модификаторы Edit Poly и Edit Mesh ........................................................................................ 105
Сеточные модели ................................................................................................................. 105
Свитки Selection и Soft Selection ......................................................................................... 106
Выделение подобъектов ...................................................................................................... 106
Плавное выделение подобъектов ....................................................................................... 108
Упражнение № 2-13. Моделирование флакона ......................................................................... 108
Создание базовой формы .................................................................................................... 109
Создание новых ребер .........................................................................................................110
Выдавливание кольцевых выступов на боковых гранях .................................................. 110
Создание впадин на боковых гранях .................................................................................. 111
Закрытие дна и скругление ребер ....................................................................................... 113
Создание надписей .............................................................................................................. 113
Создание крышки................................................................................................................. 114
Практическая работа ...........................................................................................................115
Упражнение № 2-14. Editable Poly. Деформация кистью ........................................................ 116
Деформация кистью инструментами панели Ribbon ........................................................ 116
Упражнение № 2-15. Модель лодки. Использование модификатора Displace ....................... 118
Создание эскизов ................................................................................................................. 118
Моделирование лодки ......................................................................................................... 120
Моделирование океана ........................................................................................................ 126
Практическая работа ...........................................................................................................128
Упражнение № 2-16. Моделирование скатерти и шторы.
Модификаторы Cloth, Garment Maker и HSDS.......................................................................... 128
Моделирование скатерти .................................................................................................... 128
Моделирование шторы ........................................................................................................ 132
Практическая работа ...........................................................................................................133
Архитектурные объекты ............................................................................................................. 133
Стены .................................................................................................................................... 133
Окна ...................................................................................................................................... 135
Двери..................................................................................................................................... 136
Упражнение № 2-17. Строим дачный дом................................................................................. 136
Построение системы стен ................................................................................................... 136
Построение окон .................................................................................................................. 137
Построение дверей............................................................................................................... 139
Построение фронтонов ........................................................................................................ 139
Второй этаж .......................................................................................................................... 140
Построение лестницы ..........................................................................................................140
Сделай сам ............................................................................................................................ 142
Построение ломаной крыши ............................................................................................... 142
Металлочерепица ................................................................................................................. 143
Печные трубы....................................................................................................................... 145
6
Оглавление
Построение водостоков ....................................................................................................... 147
Практическая работа ...........................................................................................................148
Контрольные вопросы ................................................................................................................. 149
Глава 3. Освещение и материалы ............................................................................ 150
Установка проекта ....................................................................................................................... 150
Источники освещения ................................................................................................................. 150
Освещение по умолчанию........................................................................................................... 151
Упражнение № 3-1. Стандартные источники света .................................................................. 153
Параметры источника света Omni ...................................................................................... 154
Настройка теней ................................................................................................................... 157
Источники света Target Spot и Free Spot ........................................................................... 158
Источники света Free Direct и Target Direct ..................................................................... 162
Источник света Skylight ....................................................................................................... 164
Практическая работа ...........................................................................................................165
Упражнение № 3-2. Фотометрические источники света.
Освещение тремя источниками света ........................................................................................ 165
Создание трехточечной системы света .............................................................................. 166
Настройка источников света ............................................................................................... 168
Практическая работа ...........................................................................................................169
Упражнение № 3-3. Объемное освещение ................................................................................ 170
Создание подводной сцены................................................................................................. 170
Создание источников света ................................................................................................. 172
Создание эффекта объемного освещения .......................................................................... 174
Практическая работа ...........................................................................................................176
Редактор материалов ................................................................................................................... 176
Редактор материалов Compact Material Editor .......................................................................... 178
Редактор материалов Slate Material Editor ................................................................................ 180
Упражнение № 3-4. Mатериал Physical Material....................................................................... 182
Шаблоны материала Physical Material ............................................................................... 183
Создание стекла ................................................................................................................... 184
Создание металлической поверхности............................................................................... 185
Неоновое освещение............................................................................................................186
Сохранение созданных материалов в текущей библиотеке ............................................. 187
Практическая работа ...........................................................................................................187
Упражнение № 3-5. Составные материалы ............................................................................... 188
Материал Top/Bottom ........................................................................................................... 188
Материал Double Sided ........................................................................................................ 189
Упражнение № 3-6. Многокомпонентный материал Multi/Sub-Object ................................... 190
Подготовка материала .........................................................................................................190
Распределение материалов по полигонам ......................................................................... 192
Практическая работа ...........................................................................................................193
Текстурные карты и каналы........................................................................................................ 193
Типы текстурных карт ................................................................................................................. 194
Упражнение № 3-7. Работа с текстурными картами................................................................. 196
Применение текстурной карты ........................................................................................... 196
Применение произвольных графических файлов в качестве текстурных карт .............. 197
Настройка параметров текстурной карты .......................................................................... 197
Практическая работа ...........................................................................................................199
Оглавление
7
Упражнение № 3-8. Создание рельефа с помощью канала Bump
и эффекта Displacement ............................................................................................................... 199
Применение инструмента Displacement ............................................................................. 199
Применение текстурной карты Bump ................................................................................. 201
Практическая работа ...........................................................................................................202
Упражнение № 3-9. Подробнее о каналах ................................................................................. 202
Настройка прозрачности по текстурной карте .................................................................. 203
Настройка отражения по текстурной карте ....................................................................... 204
Градиентное отражение....................................................................................................... 206
Практическая работа ...........................................................................................................207
Упражнение № 3-10. Текстурные карты. Моделирование груши ........................................... 208
Создание базовой формы .................................................................................................... 208
Создание неровностей, вмятин и асимметрии .................................................................. 208
Создание материала груши ................................................................................................. 209
Практическая работа ...........................................................................................................212
Проецирование текстурных карт ................................................................................................212
Упражнение № 3-11. Параметрическое проецирование текстурных карт.............................. 213
Проецирование текстурных карт на примитивы ............................................................... 213
Корректировка положения текстурной карты ................................................................... 214
Использование фактического размера текстурной карты ................................................ 216
Упражнение № 3-12. Применение модификатора UVW Map .................................................. 218
Типы проецирования текстурных карт .............................................................................. 218
Настройка параметров модификатора UVW Map ............................................................. 219
Подобъект Gizmo ................................................................................................................. 220
Размещение текстуры внутри боковых поверхностей ...................................................... 222
Практическая работа ...........................................................................................................223
Упражнение № 3-13. Материал Multi/Sub-Object и модификатор UVW Map ......................... 223
Назначение объекту нескольких материалов .................................................................... 223
Настройка параметров модификатора UVW Map ............................................................. 226
Упражнение № 3-14. Видеоролик на экране телевизора.......................................................... 227
Практическая работа ...........................................................................................................228
Упражнение № 3-15. Модификатор Unwrap UVW ................................................................... 228
Возможности модификатора Unwrap UVW ....................................................................... 228
Плоскостное проецирование Flatten Mapping ................................................................... 228
Криволинейный объект ....................................................................................................... 232
Создание текстуры ............................................................................................................... 242
Практическая работа ...........................................................................................................243
Контрольные вопросы ................................................................................................................. 244
Глава 4. Визуализация сцены и камеры................................................................. 245
Установка проекта ....................................................................................................................... 245
Глобальное освещение ................................................................................................................ 245
Упражнение № 4-1. Настройка параметров глобального освещения ..................................... 246
Имитация глобального освещения ..................................................................................... 248
Общие параметры визуализации ................................................................................................ 249
Упражнение № 4-2. Визуализатор Arnold. Начнем с простого................................................ 251
Установка материалов .........................................................................................................251
Установка источников света ............................................................................................... 253
8
Оглавление
Упражнение № 4-3. Настройки визуализатора Arnold и его компоненты .............................. 254
Источники света и камеры визуализатора Arnold ............................................................... 257
Материалы визуализатора Arnold ....................................................................................... 260
Упражнение № 4-4. Текстурные карты визуализатора Arnold ................................................ 265
Упражнение № 4-5. Создание преломлений ............................................................................. 267
Упражнение № 4-6. Конвертация из mental ray в Arnold ......................................................... 268
Настройка физических материалов .................................................................................... 271
Упражнение № 4-7. Камеры ....................................................................................................... 273
Типы камер ........................................................................................................................... 273
Настройка камер .................................................................................................................. 275
Упражнение № 4-8. Настройка физической камеры ................................................................ 277
Упражнение № 4-9. Размытие сцены ......................................................................................... 280
Глубина резкости ................................................................................................................. 280
Глубина резкости для камеры Target ................................................................................. 281
Глубина резкости для камеры Physical .............................................................................. 282
Контрольные вопросы ................................................................................................................. 283
Глава 5. Визуализатор V-Ray..................................................................................... 284
Обзор V-Ray.................................................................................................................................. 284
Установка проекта ....................................................................................................................... 284
Упражнение № 5-1. Установка визуализатора V-Ray ............................................................... 285
Вкладка V-Ray ...................................................................................................................... 286
Свиток Global switches ............................................................................................... 286
Свиток IPR Options ..................................................................................................... 287
Свиток Image sampler (Antialiasing) .......................................................................... 287
Свиток Image filter ...................................................................................................... 289
Свиток Environment .................................................................................................... 289
Свиток Color mapping................................................................................................. 290
Вкладка GI ............................................................................................................................ 290
Свиток Global illumination ......................................................................................... 290
Свиток Irradiance map ................................................................................................ 291
Первичные настройки визуализатора V-Ray...................................................................... 292
Упражнение № 5-2. Работа с окном визуализации V-Ray Frame Buffer.................................. 293
Упражнение № 5-3. Интерактивная визуализация в V-Ray ...................................................... 297
Упражнение № 5-4. Настройки источников света V-Ray ......................................................... 298
Настройка параметров источника света VRayLight .......................................................... 299
Применение стандартных источников света ..................................................................... 303
Источник солнечного света VRaySun ................................................................................. 304
Практическая работа ...........................................................................................................308
Упражнение № 5-5. Освещение и установка камер в интерьере ............................................. 309
Установка камер .................................................................................................................. 310
Установка дневного освещения .......................................................................................... 312
Искусственное освещение ................................................................................................... 313
Настройка ограничивающих плоскостей у камеры .......................................................... 317
Практическая работа ...........................................................................................................318
Упражнение № 5-6. Материалы V-Ray ...................................................................................... 319
Материал VRayMtl ............................................................................................................... 319
Создание материалов ...........................................................................................................320
Простое стекло ............................................................................................................ 320
Оглавление
9
Зеркальная поверхность ............................................................................................. 321
Библиотека материалов .............................................................................................. 322
Упражнение № 5-7. V-Ray. Настройки цвета и отражений ...................................................... 323
Создание материалов и освещения .................................................................................... 323
Создание отражений ............................................................................................................324
Влияние параметра Fresnel reflections (Отражения по Френелю) ................................... 324
Создание размытых отражений: параметр Reflection glossiness ...................................... 325
Hilight glossiness (Размытость блика)................................................................................. 325
Применение текстурных карт ............................................................................................. 326
Практическая работа ...........................................................................................................327
Упражнение № 5-8. V-Ray. Настройки прозрачности и свойств преломления ...................... 327
Создание тестовой сцены .................................................................................................... 327
Создание преломлений ........................................................................................................ 328
Настройка отражений ..........................................................................................................330
Размытие прозрачности....................................................................................................... 330
Преломление света .............................................................................................................. 330
Подведем итог ...................................................................................................................... 331
Практическая работа ...........................................................................................................331
Контрольные вопросы ................................................................................................................. 331
Глава 6. Анимация ...................................................................................................... 332
Трехмерная анимация.................................................................................................................. 332
Упражнение № 6-1. Простейшая анимация в автоматическом режиме.................................. 334
Анимация падения сферы ................................................................................................... 334
Ускорение падения сферы .................................................................................................. 336
Деформация сферы от столкновения с полом ................................................................... 337
Растяжение сферы................................................................................................................ 338
Анимация отскока ................................................................................................................ 338
Визуализация анимации ...................................................................................................... 339
Визуализация траектории.................................................................................................... 340
Удаление анимации .............................................................................................................341
Практическая работа ...........................................................................................................341
Упражнение № 6-2. Покадровая визуализация анимации. Размытие анимации .................... 341
Размытие анимации Scanline Renderer ............................................................................... 342
Размытие анимации Arnold ................................................................................................. 343
Размытие анимации V-Ray .................................................................................................. 344
Упражнение № 6-3. Редактирование анимации на панелях Track View .................................. 344
Инструменты редактора анимации Graph Editors ............................................................ 344
Окно ключей анимации на панели Curve Editor................................................................ 347
Упражнение № 6-4. Контроллеры анимации ............................................................................ 350
Две категории контроллеров анимации ............................................................................. 350
Контроллер Bezier Float ...................................................................................................... 351
Контроллер Noise ................................................................................................................. 354
Контроллер Audio ................................................................................................................ 355
Контроллер Block ................................................................................................................. 356
Практическая работа ...........................................................................................................359
Упражнение № 6-5. Продолжение анимации мяча ................................................................... 359
Графики анимированных параметров сферы .................................................................... 359
Продолжение отскоков ........................................................................................................ 361
10
Оглавление
Упражнение № 6-6. Вращение юлы ........................................................................................... 362
Анимация юлы ..................................................................................................................... 362
Масштабирование скорости воспроизведения анимации ................................................ 365
Практическая работа ...........................................................................................................365
Упражнение № 6-7. Контроллер Path Constraint ...................................................................... 366
Практическая работа ...........................................................................................................367
Упражнение № 6-8. Анимация в ручном режиме ..................................................................... 367
Последовательность создания анимации ........................................................................... 367
Анимация сцены .................................................................................................................. 368
Практическая работа ...........................................................................................................370
Упражнение № 6-9. Редактор кривых. Звуковое сопровождение ........................................... 370
Анимация баскетбольного мяча ......................................................................................... 370
Создание эффекта отскакивания мяча ............................................................................... 371
Корректировка полета мяча ................................................................................................ 372
Корректировка отскоков мяча от пола ............................................................................... 373
Корректировка анимации в видовом окне ......................................................................... 374
Создание звукового сопровождения .................................................................................. 376
Анимация сетки.................................................................................................................... 377
Вращение мяча ..................................................................................................................... 378
Практическая работа ...........................................................................................................379
Упражнение № 6-10. Прямая кинематика ................................................................................. 379
Иерархические связи ...........................................................................................................379
Правила прямой кинематики .............................................................................................. 381
Возможные проблемы при масштабировании .................................................................. 382
Обеспечение целостности конструкции............................................................................. 382
Ограничение перемещения объектов в иерархической цепочке ..................................... 383
Наследование преобразований ........................................................................................... 384
Пример с настройками блокировок и наследований ........................................................ 384
Анимация манипулятора ..................................................................................................... 386
Перенос объекта................................................................................................................... 387
Практическая работа ...........................................................................................................388
Упражнение № 6-11. Инверсная кинематика ............................................................................ 388
Режим инверсной кинематики ............................................................................................ 388
Решатели инверсной кинематики ....................................................................................... 389
Анимация с использованием решателя HI Solver ............................................................. 390
Анимация с использованием решателя HD Solver ............................................................ 391
Практическая работа ...........................................................................................................393
Контрольные вопросы ................................................................................................................. 394
Глава 7. Эффекты анимации. Анимация с учетом законов физики ................. 395
Установка проекта ....................................................................................................................... 395
Системы частиц ........................................................................................................................... 395
Частицы типа Spray ..................................................................................................................... 396
Упражнение № 7-1. Примеры использования систем частиц .................................................. 397
Пример с частицами типа Tetrahedron ............................................................................... 397
Пример с частицами типа Facing ....................................................................................... 399
Частицы типа Snow .............................................................................................................. 399
Частицы типа Blizzard.......................................................................................................... 400
Оглавление
11
Упражнение № 7-2. Деформации Forces в системах частиц ................................................... 402
Деформация типа Gravity .................................................................................................... 402
Деформация типа Wind ........................................................................................................ 405
Деформация типа PBomb .................................................................................................... 406
Деформация типа Path Follow ............................................................................................ 407
Частицы внутри сферы ........................................................................................................ 409
Упражнение № 7-3. Анимация взрыва ....................................................................................... 410
Анимация сгорающего бикфордова шнура ....................................................................... 410
Анимация горения бикфордова шнура .............................................................................. 410
Анимация видимости вспомогательной сферы ................................................................. 411
Создание искр ...................................................................................................................... 411
Создание анимации взрыва ................................................................................................. 412
Взрыв автомобиля................................................................................................................ 413
Добавление эффекта горения .............................................................................................. 415
Создание звукового сопровождения .................................................................................. 416
Практическая работа ...........................................................................................................417
Модуль MassFX ........................................................................................................................... 417
Панель инструментов MassFX Toolbar ...................................................................................... 418
Инструменты панели MassFX Tools ........................................................................................... 419
Вкладка World Parameters ................................................................................................... 419
Свиток Scene Settings .................................................................................................. 420
Свиток Advanced Settings............................................................................................ 421
Вкладка Simulation Tools ..................................................................................................... 421
Вкладка Multi-Object Editor ................................................................................................ 422
Вкладка Display Options ...................................................................................................... 425
Физические сетки в модуле MassFX .................................................................................. 425
Параметры свитка Physical Mesh Parameters .................................................................... 427
Упражнение № 7-4. Скачущий шар ........................................................................................... 428
Определение свойств объектов сцены ............................................................................... 428
Анимация сцены .................................................................................................................. 432
Практическая работа ...........................................................................................................433
Упражнение № 7-5. Ограничения MassFX constraint ............................................................... 433
Определение свойств объектов сцены ............................................................................... 433
Установка свойств ............................................................................................................... 434
Практическая работа ...........................................................................................................435
Упражнение № 7-6. Бильярдная пирамида ................................................................................ 435
Определение свойств объектов сцены ............................................................................... 435
Настройка параметров анимации ....................................................................................... 436
Практическая работа ...........................................................................................................437
Упражнение № 7-7. Разбиение объекта на части ...................................................................... 437
Создание тонкостенного объекта ....................................................................................... 437
Разбиение объекта: скрипт FractureVoronoi ...................................................................... 437
Разбиение объектов: модуль MassFX ................................................................................. 438
Практическая работа ...........................................................................................................439
Упражнение 7-8. Модификатор MassFX Cloth .......................................................................... 439
Параметры на уровне модификатора mCloth .................................................................... 439
Параметры на уровне вершин ............................................................................................. 441
Практическая работа ...........................................................................................................441
Контрольные вопросы ................................................................................................................. 442
12
Оглавление
Глава 8. Персонажная анимация ............................................................................. 443
Установка проекта ....................................................................................................................... 443
Набор инструментов Character studio ........................................................................................ 443
Упражнение № 8-1. Двуногие объекты biped ............................................................................ 444
Создание biped ..................................................................................................................... 444
Свиток Structure ................................................................................................................... 446
Свиток Biped......................................................................................................................... 448
Форматы файлов .................................................................................................................. 449
Свиток Track Selection ......................................................................................................... 450
Свиток Bend Links: вращение нескольких связей.............................................................. 451
Связывание других объектов с biped ................................................................................. 452
Свиток Copy/Paste................................................................................................................ 452
Упражнение № 8-2. Копирование анимации ............................................................................. 454
Копирование кадров анимации........................................................................................... 454
Копирование треков анимации ........................................................................................... 456
Копирование анимации внутри сцены ............................................................................... 456
Ключи анимации .......................................................................................................................... 457
Цветовая палитра ключей и траекторий biped .................................................................. 457
Свиток Key Info .................................................................................................................... 458
Свиток Key Info, подсвиток IK: выбор опорной точки кисти и ступни .................. 459
Свиток Key Info, подсвиток Head .............................................................................. 461
Упражнение № 8-3. Баланс-фактор и гравитация ..................................................................... 461
Баланс-фактор ...................................................................................................................... 461
Практическая работа ...........................................................................................................462
Гравитация............................................................................................................................ 463
Упражнение № 8-4. Встраивание системы костей.................................................................... 464
Создание biped ..................................................................................................................... 464
Размещение COM-объекта .................................................................................................. 465
Масштабирование костей таза и ног biped относительно модели персонажа ................ 466
Расположение костей рук и позвоночника biped .............................................................. 467
Размещение пальцев ............................................................................................................469
Размещение головы .............................................................................................................470
Практическая работа ...........................................................................................................470
Упражнение № 8-5. Оснастка скелета ....................................................................................... 470
Модификатор Physique ........................................................................................................ 470
Оснастка панды .................................................................................................................... 471
Настройка параметров оболочки левой руки .................................................................... 472
Применение настроек к правой руке .................................................................................. 475
Оболочки ног. Редактирование сечений оболочек ........................................................... 476
Контрольные точки.............................................................................................................. 478
Свойства вершин. Проверка привязки вершин ................................................................. 478
Удаление влияния связи на вершины................................................................................. 479
Пример удаления влияния связей на лишние вершины ................................................... 479
Корректировка весовых коэффициентов вершин ............................................................. 481
Настройка параметров оболочки головы ........................................................................... 483
Проверка настроек с помощью BIP-файла ........................................................................ 483
Практическая работа ...........................................................................................................484
Упражнение № 8-6. Анимация biped в свободной форме ........................................................ 484
Закрепление положения ног................................................................................................ 484
Оглавление
13
Создание одного приседания панды .................................................................................. 484
Копирование и вставка позы панды ................................................................................... 485
Анимация рук ....................................................................................................................... 485
Сохранение созданной анимации biped ............................................................................. 487
Практическая работа ...........................................................................................................488
Упражнение № 8-7. Панда на скейтборде ................................................................................. 488
Размещение панды на скейтборде ...................................................................................... 488
Связывание панды со скейтбордом .................................................................................... 488
Закрепление ног панды на скейтборде ............................................................................... 490
Анимация тела панды ..........................................................................................................490
Продолжение анимации ...................................................................................................... 490
Упражнение № 8-8. Анимация спортсмена ............................................................................... 491
Создание анимации.............................................................................................................. 491
Сохранение анимации ......................................................................................................... 496
Применение созданного BIP-файла ................................................................................... 497
Упражнение № 8-9. Спортсмен на турнике ............................................................................... 498
Упражнение № 8-10. Пошаговая анимация biped ..................................................................... 504
Создание шагов .................................................................................................................... 504
Настройка шагов biped ........................................................................................................505
Походка шагом..................................................................................................................... 508
Пример пошаговой анимации ............................................................................................. 508
Состояния ног biped............................................................................................................. 510
Следы biped в окне Track View - Dope Sheet ...................................................................... 511
Пример движения biped с остановкой................................................................................ 512
Походка бегом и вприпрыжку ............................................................................................ 514
Деактивация следов ............................................................................................................. 515
Пример использования деактивации следов ..................................................................... 516
Подъем по винтовой лестнице ............................................................................................ 517
Остановка biped ................................................................................................................... 519
Хлопок над головой, поворот головы ................................................................................ 520
Сохранение анимации с MAX-объектами и загрузка анимации...................................... 521
Анимация лап панды ...........................................................................................................522
Корректировка походки персонажа ................................................................................... 523
Визуализация анимации ...................................................................................................... 524
Практическая работа ...........................................................................................................524
Упражнение № 8-11. Клип из нескольких BIP-файлов ............................................................ 524
Окно Motion Mixer ............................................................................................................... 524
Добавление BIP-файлов в "миксер" ................................................................................... 525
Воспроизведение объединенной анимации ....................................................................... 527
Сохранение и загрузка анимаций ....................................................................................... 527
Контрольные вопросы ................................................................................................................. 530
Использованная литература ..................................................................................... 533
Приложение. Описание электронного архива ....................................................... 536
Предметный указатель .............................................................................................. 537
Предисловие
3ds Max — графическая система, требующая для своего освоения немалых усилий. Однако затраты на ее изучение многократно окупаются теми неисчислимыми возможностями, которые она предлагает. Прежде всего, это профессиональная программа трехмерного моделирования, визуализации и анимации. Освоив 3ds Max, вы сможете создавать многие практически востребованные приложения и понимать принципы работы
программ трехмерного моделирования.
Цель этой книги — ознакомление всех любителей трехмерной графики с основами выполнения различных операций моделирования, наложения текстур, анимации, выбора
источников света, визуализации, персонажной анимации, т. е. с теми задачами, которые
рассматриваются в курсе компьютерной графики при подготовке студентов специальности "Дизайн". Книга основана на многолетнем опыте работы авторов со студентами.
Весь процесс обучения строится в основном на упражнениях, и это является главной
отличительной особенностью как самой книги, так и используемого авторами метода
обучения. Как правило, при изучении материала читателям не придется обращаться
к справочникам. Лишь несколько разделов книги целиком посвящены рассмотрению
тех или иных особенностей и методов трехмерного моделирования, анимации и визуализации объектов. В большинстве случаев это делается в соответствующих упражнениях. Исключение составляет глава 1, где сосредоточены основные сведения о программе 3ds Max 2022.
Книга содержит большое число тщательно подготовленных упражнений. Прорабатывая
материал каждого упражнения, вы постепенно усваиваете все нужные инструменты
и приобретаете навыки, необходимые для работы над реальными проектами при создании трехмерного дизайна, мультипликации, компьютерных игр, видеофильмов.
Упражнения составлены настолько подробно, что их можно выполнять как под руководством преподавателя, так и самостоятельно. Все они многократно опробованы
и проверены на практике. В дополнение к некоторым упражнениям создана "видеошпаргалка", облегчающая понимание наиболее трудных частей материала.
Практических примеров, посвященных программе 3ds Max, в многочисленных источниках имеется немало. Однако в ряде случаев несовершенная методика их разработки
делает такие примеры фактически недоступными для начинающих пользователей.
В этой же книге все упражнения подготовлены таким образом, что при последовательном их выполнении практически любой начинающий пользователь сможет их повторить.
16
Предисловие
По существу, эту книгу можно рассматривать как новую редакцию предыдущих книг
автора А. Г. Горелика: "Самоучитель 3ds Max 2012"1, "Самоучитель 3ds Max 2014"2,
"Самоучитель 3ds Max 2016"3, "Самоучитель 3ds Max 2018"4 и "Самоучитель 3ds Max 2020"5.
По сравнению с ними во многие упражнения авторами внесены отдельные уточнения
и улучшения, явившиеся результатом работы с программой 3ds Max, а также практических занятий студентов с материалом книги.
К теме персонажной анимации со стороны любителей трехмерного моделирования
и анимации проявляется особый интерес, и в главе 8 рассмотрены соответствующие
инструменты и упражнения.
В программе 3ds Max имеется встроенная система помощи. Несмотря на самое подробное описание, при самостоятельной работе без этого раздела программы обойтись
трудно. 3ds Max содержит столь много инструментов и параметров, что ни в одной
книге невозможно все их детально рассмотреть. Достижение мастерства — это удел
упорных и настойчивых.
C некоторыми упражнениями, приведенными в этой книге, можно познакомиться на
сайте http://3dtuts.by и оставить там свое мнение. Авторы будут благодарны за все
присланные пожелания и критические замечания. На этот же сайт можно высылать задания, выполненные вами самостоятельно. С вашего согласия лучшие из них будут там
размещены.
Электронный архив
Электронный архив к книге (см. Приложение) выложен на FTP-сервер издательства по
адресу: https://zip.bhv.ru/9785977517218.zip. Ссылка на этот архив доступна и со страницы книги на сайте www.bhv.ru. Если при выполнении какого-либо упражнения вы
встречаете в тексте книги ссылку на тот или иной файл, то имеется в виду, что этот
файл находится среди материалов электронного архива. Папки с номерами глав содержат вложенные папки с номерами соответствующих упражнений, в которых расположены все необходимые для этого упражнения файлы.
В этом же архиве содержатся также упражнения и файлы, не вошедшие в печатную
версию книги, но являющиеся ее важным дополнением. Все они относятся к определенным главам основного материала книги и размещены в соответствующих папках.
Все файлы сохранены в версии программы 3ds Max 2019. Это сделано для того, чтобы
ими можно было пользоваться в любой из версий программы: 2019 или 2020.
Книга содержит много иллюстраций. Большинство из них удобнее рассматривать
в цветном формате, однако по понятным причинам в тексте книги они представлены
в черно-белом варианте. Тем не менее наиболее важные для понимания материала книги иллюстрации продублированы на цветной вклейке (в тексте они помечены префик1
См. https://bhv.ru/product/samouchitel-3ds-max-2012.
2
См. https://bhv.ru/product/samouchitel-3ds-max-2014.
3
См. https://bhv.ru/product/samouchitel-3ds-max-2016.
4
См. https://bhv.ru/product/samouchitel-3ds-max-2018.
5
См. https://bhv.ru/product/samouchitel-3ds-max-2020.
Предисловие
17
сом "ЦВ"). Кроме того, все файлы цветных иллюстраций книги размещены в папке
Pictures электронного архива.
Перевод большинства встречающихся в книге англоязычных терминов программы
3ds Max на русский язык приведен в файле Glossary.pdf, также входящем в состав электронного архива. В ряде случаев этот перевод далек от общепринятого, поскольку термины переводились так, чтобы читателю было легче понять смысл скрываемых за ними
действий. Например, выражение "Bake All" переведено как "Создать ключевые кадры
анимации" и т. п.
* * *
Большую помощь в работе над рукописью этой книги авторам оказала Наталия Васильева, тщательно ее прочитавшая. В результате она сделала много полезных замечаний, которые с благодарностью были учтены авторами, и специально для книги подготовила проект для визуализации интерьера.
18
Предисловие
ГЛАВА
1
Основные понятия
Требования к системе
Компания Autodesk [19] рекомендует следующую конфигурацию технических и системных программных средств для работы с 64-разрядной программой 3ds Max 2022:
Операционная система
64-разрядная операционная система Microsoft® Windows® 10
Браузер
Компания Autodesk рекомендует использовать последнюю
версию из представленных ниже браузеров:
•
•
•
•
Microsoft® Edge;
Microsoft® Internet Explorer®;
Mozilla® Firefox®;
Google Chrome™.
Браузер необходим для просмотра справочной информации
и базовых уроков для работы с программой
CPU
(центральный процессор)
64-bit Intel® или AMD® многоядерный процессор с SSE4.2
набором команд
RAM (оперативная память)
4 Гбайт минимум (рекомендуется 8 Гбайт и более)
Графическое оборудование
графический адаптер, поддерживающий Direct3D 10,
Direct3D 9 или OpenGL, с объемом видеопамяти не менее
256 Мбайт (рекомендуется 1 Гбайт)
Дисковое пространство
9 Гбайт свободного места на диске для установки программы
Дополнительное
оборудование
Трехкнопочная мышь, удобно использовать графический
планшет
В НИМАНИЕ !
Программа 3ds Max 2022 не работает с 32-разрядной операционной системой Microsoft®
Windows и операционной системой MacOS
Более подробные требования к техническим средствам системы, графическим картам
и драйверам можно найти на официальном сайте компании Autodesk.
20
Глава 1
Новое в 3ds Max 2022
Данный раздел будет интересен тем, кто уже знаком с программой 3ds Max и планирует
перейти на новую версию, а также для тех, кто знает или изучает схожие программы
трехмерного моделирования (Maya, Blender, Cinema 4d) с целью сравнения новых решений. Тем, кто только начинает свой путь в освоении 3D, в этом разделе может встретиться много новых неизвестных терминов. Начинающие пользователи могут пропустить этот раздел и вернуться к нему позже, или же можно просмотреть материал, чтобы
понять развитие инструментов, основанных на пользовательском опыте.
В новой версии программы 3ds Max 2022 основные изменения заключаются в увеличении производительности рабочего пространства, защите данных сцен и файлов проекта,
а также расширении возможностей инструментов моделирования. Обновления также
коснулись функций визуализации, модификаторов, материалов, видовых окон и др.
На момент написания книги были выпущены обновления 2022.1 Update, 2022.2 Update
и 2022.3 Update, они представляют собой отдельные файлы, которые устанавливаются
поверх рабочей версии программы Autodesk 2022 или могут устанавливаться как полноценное приложение. В обновлениях обычно решаются проблемы, возникшие с новой
версией, а также добавляются новые функции, улучшающие работу основных инструментов программы. Рекомендуется устанавливать последние обновления, это позволяет
использовать стабильную версию программы.
Рассмотрим основные обновления по направлениям.
Видовые окна
Появилась возможность отображать Ambient Occlusion (Фоновое затенение) в ви-
довых окнах. Эта опция доступна в меню видового окна Standard (Стандартное
качество) | Lighting and Shadows (Освещение и тени). Фоновое затенение отображается только в режиме High Quality (Высокое качество);
Улучшилась работа с Floating Viewport (Плавающие видовые окна), в новой версии
их сделали безрамочными и добавили возможность открывать на весь экран.
Моделирование
Обновился инструмент выдавливания Smart Extrude (Умное выдавливание) — од-
но из самых значимых изменений в инструментах моделирования. Работает с модификатором Edit Poly или Editable Poly в режиме компонентов (вершины, ребра,
полигоны). Удерживая нажатой клавишу <Shift> и перемещая полигоны (режим выдавливания), можно создавать формы любой сложности, не задумываясь о проблемах дублирования и пересечения. Smart Extrude объединяет в себе несколько инструментов, это позволяет отказаться от команды Bridge (Соединение), нет необходимости создавать дополнительные ребра и объединять вершины, чтобы выдавить
соседние полигоны.
Обновился модификатор Slice (Нож). Разработчики добавили возможность исполь-
зовать вместо одной плоскости разреза — три, для каждой оси координат или одновременно для всех трех. Добавили новый вид Radial Slice (Радиальный разрез). Это
Основные понятия
21
упрощает процесс моделирования объекта, если требуется разрезать объект с двух
сторон.
Обновился модификатор Symmetry (Симметрия), кроме увеличения производи-
тельности работы в видовых окнах, модификатор поддерживает несколько плоскостей симметрии и позволяет их выравнивать относительно граней объекта;
Увеличилась производительность модификаторов Relax, Extrude, Edit Poly.
Визуализация
Обновилась функция запекания текстур Bake to Texture, добавили новые карты для
ускорения повторяющихся операций запекания. Среди них:
• Ambient Occlusion — запекает текстуру, которая показывает часть освещенной
поверхности;
• Beauty — запекает текстуру, которая показывает затененную поверхность;
• Color — запекает исходный цвет материала объекта;
• Material ID — создает цветовую текстурную карту, где каждый цвет соответствует ID материала;
• Opacity — запекает полную или частичную непрозрачность, основанную на контуре объекта и настройках материала.
В визуализатор Arnold, который задан по умолчанию, добавили новые Imager кар-
ты, позволяющие контролировать шум и цвет.
Интерфейс программы
Начало работы
После запуска 3ds Max 2022 на экране появится окно приветствия с небольшой инструкцией по взаимодействию с рабочими окнами (рис. 1.1). Все необходимые команды
будут подробно рассмотрены в следующих упражнениях, поэтому окно приветствия
можно закрыть и, чтобы исключить его повторное открытие, в нижнем левом углу окна
выключить параметр Show this Welcome Screen at startup (Показывать это окно при
запуске). При необходимости его можно открыть через главное меню Help (Помощь) |
Welcome Screen (Окно приветствия).
Основное окно программы состоит из панелей инструментов, расположенных по периметру окна, и рабочей области в центральной части. Рабочая область разделена на
четыре видовых окна: (Top (Вид сверху), Front (Вид спереди), Left (Вид слева),
Perspective (Перспектива).
Первый шаг в изучении программы традиционно начнем с создания чайника. Для этого
справа на командной панели выберите команду Teapot (Чайник) — команда высветится
голубым цветом (рис. 1.2, видео Video_1.2.mp4).
П РИМЕЧАНИЕ
Для некоторых рисунков созданы видеофайлы для демонстрации работы рассматриваемых функций, имя видеофайла совпадает с именем рисунка и находится в папке #_video,
где # — номер главы.
22
Глава 1
Рис. 1.1. Окно приветствия программы
Рис. 1.2. Активизируем команду
создания чайника
Затем переместите указатель мыши в окно Perspective (Перспектива), там нажмите левую кнопку
мыши и, не отпуская ее, переместите указатель на
произвольное расстояние, после чего отпустите кнопку мыши. В окне Perspective и одновременно в остальных окнах проекции появится чайник. Теперь
щелкните правой кнопкой мыши, чтобы выключить
команду Teapot, она перестанет гореть синим цветом.
Построенный чайник будет выделен, вокруг него появится окаймляющий ободок голубого цвета. Для
снятия выделения щелкните левой кнопкой мыши
в пустой области сцены.
В верхней части основного окна располагается главное (выпадающее) меню с командами: File, Edit, Tools, Group, Views и т. д. Любое выпадающее меню можно превратить
в отдельное окно, обеспечивающее удобный доступ к командам. Для этого раскройте
выпадающее меню и щелкните на двух верхних полосках с пунктирным штрихом. Это
может быть полезным, если часто пользоваться одними и теми же командами из главного меню.
Под главным меню расположена главная панель инструментов со значками (кнопками)
,
,
и пр. Если удерживать нажатой клавишу <Alt>, то
конкретных команд:
можно перетянуть любую кнопку на новое место на главной панели инструментов.
Если вы переместите ее ниже — в любое видовое окно программы, кнопка будет удалена.
Основные понятия
23
Командная панель, вкладками которой пользуются чаще всего и применяют для модификации объектов, находится справа (см. далее разд. Командная панель). При желании
ее положение можно изменить.
Однако этим не исчерпывается перечень основных панелей программы 3ds Max 2022.
В начале главной панели инструментов, где находятся пунктирные штрихи, щелкните
правой кнопкой мыши — появится список дополнительных панелей. Для включения
или отключения дополнительной панели достаточно щелкнуть по ее названию. Возле
активных панелей стоит флажок (рис. 1.3, видео Video_1.3.mp4).
Под главной панелью инструментов находится панель Ribbon (Лента), которая раскрывается нажатием иконки
. В открытом виде появится большой список категорий
команд: Modelling, Freeform, Selection, Object Paint, Populate, содержащий полезные
инструменты при моделировании, скульптинге, моделировании толпы (персонажная
анимация). Команды каждой категории открываются щелчком по ее названию (рис. 1.4,
видео Video_1.4.mp4).
Рис. 1.3. Активизация
дополнительных панелей
Рис. 1.4. Команды на панели Ribbon
24
Глава 1
Командная панель
Командная панель (рис. 1.5) расположена в правой части основного окна программы
и содержит шесть вкладок:
Create (Создать)
;
Modify (Изменить)
;
Hierarchy (Иерархия)
;
Motion (Движение)
;
Display (Отображение)
Utilities (Утилиты)
;
.
Рис. 1.5. Командная панель
Рассмотрим подробнее наиболее часто используемые вкладки Create и Modify.
Вкладка Create
служит для создания геометрических объектов, а также источников
света, виртуальных камер, вспомогательных объектов и объемных деформаций и включает следующие опции:
Geometry (Геометрия)
— позволяет создавать простые и составные объекты,
системы частиц, объекты для архитектурных, инженерных и конструкторских работ,
окна, двери и пр.;
Shapes (Формы)
— создает объекты типа Splines (сплайны) — линии, прямоугольники, окружности, текст и др., а также NURBS-кривые и Extended Splines
(Дополнительные сплайны);
Lights (Источники света)
Cameras (Камеры)
— позволяет добавлять в сцену источники света;
— добавляет в сцену виртуальные камеры;
Helpers (Вспомогательные объекты)
— они не видны при визуализации сцены,
но влияют на поведение объектов;
Space Warps (Объемные деформации)
— дают возможность добавлять в сцену
объемные деформации;
Systems (Дополнительные инструменты)
— позволяют добавлять в сцену системы костей, скелет и другие дополнительные объекты.
позволяет изменять параметры любого выделенного объекта сцены.
Вкладка Modify
С ее помощью выделенному объекту можно также назначить модификаторы, настройки
которых меняют непосредственно на вкладке Modify.
Выделите созданный ранее чайник и перейдите на вкладку Modify
на командной
панели. В свитке Parameters (Параметры) этого объекта измените значение параметра
Основные понятия
25
Radius и нажмите клавишу <Enter> — размеры чайника изменятся. Значение радиуса
можно изменять с помощью стрелок, расположенных справа от поля ввода, — достаточно нажать на стрелке левой кнопкой мыши и потянуть вверх для увеличения значения параметра или вниз — для его уменьшения.
Остальные вкладки будут далее рассмотрены в упражнениях.
Конфигурация видовых окон
Виртуальное пространство, в котором работает пользователь программы, носит название трехмерной сцены. Видовое окно, в котором ведется работа, подсвечивается желтым цветом и называется активным. Видовых окон четыре: вид спереди (Front), сверху
(Top), слева (Left), а также 3D-окно — Perspective. Размеры видовых окон можно
менять — подведите указатель мыши к границе между окнами, нажмите левую кнопку
мыши и, удерживая ее, переместите указатель в нужное место (рис. 1.6, видео
Video_1.6.mp4).
Рис. 1.6. Изменение размеров видовых окон
Рис. 1.7. Заголовок видового окна Front
Рис. 1.8. Меню команд
Для восстановления одинаковых размеров окон подведите указатель мыши к границе
между окнами, щелкните правой кнопкой мыши и в появившемся контекстном меню
выберите команду Reset Layout (Восстановить компоновку).
Каждое видовое окно имеет заголовок, расположенный в верхнем левом углу этого
окна и состоящий из четырех частей (рис. 1.7). Щелчком кнопкой мыши на какой-либо
части заголовка вызывается меню команд с соответствующими настройками видового
окна.
В любом видовом окне щелкните на значке [+] — откроется меню команд, относящееся
к этой его части (рис. 1.8). Меню [+] отвечает за общие настройки видового окна.
Выберите в нем команду Configure Viewports (Настройки видовых окон) — раскроется
диалоговое окно Viewport Configuration (Конфигурация видового окна). Здесь на
вкладке Layout (Компоновка) можно выбрать желаемую компоновку главного окна
программы (рис. 1.9).
26
Глава 1
Рис. 1.9. Настройка компоновки видовых окон в Viewport Configuration
Компоновку видовых окон можно также настроить слева на панели Viewport Layout
Tabs (Вкладки компоновки видовых окон) рис. 1.10, видео Video_1.10.mp4. С помощью
кнопки Create a New Viewport Layout Tab (Создать новую вкладку компоновки видовых окон) рис. 1.10 можно выбрать из набора желаемую компоновку. Выбранная вкладка появится на панели и позволит переключаться с одного вида компоновки на другой.
Щелкнув на второй слева части заголовка видового окна (обычно название видового
окна), можно назначить в окне отображение сцены в одной из выбранных проекций или
вид из камеры (рис. 1.11).
Рис. 1.10. Панель вкладок
для компоновки видовых окон
Рис. 1.11. Назначение проекции
в видовом окне
Основные понятия
27
Цветовую гамму (по умолчанию она черная) окна программы 3ds Max можно изменить.
Для этого в верхней строке окна программы щелкните левой кнопкой мыши на команде
главного меню Customize (Настройки), а затем из выпадающего меню выберите команду Custom Defaults Switcher (Настройки пользовательского интерфейса). Откроется диалоговое окно Choose initial settings for tool options and UI layout (Выбор начальных установок для инструментов и компоновки пользовательского интерфейса).
В правой части этого окна с названием UI schemes (Схемы пользовательского интерфейса) можно выбрать, например, схему пользовательского интерфейса ame-light (светлый) и нажать на кнопку Set (Установить) — цветовая гамма окна программы изменится и станет светлой. Желательно перезагрузить программу для полной загрузки всех
иконок. В книге будут использоваться изображения программы с интерфейсом по умолчанию.
П РИМЕЧАНИЕ
Все цветные иллюстрации и скриншоты программы находятся в электронном архиве, который вы можете скачать на сайте BHV.
Панель с кнопками управления видовыми окнами
Эта панель находится в правой нижней части главного окна программы и содержит
восемь кнопок (рис. 1.12):
Zoom (Масштабирование)
— после выбора этой команды для изменения масштаба изображения необходимо в активном видовом окне перемещать мышь, удерживая нажатой ее левую кнопку;
П РИМЕЧАНИЕ
То же самое можно выполнить с помощью «горячих» клавиш: на клавиатуре компьютера нажмите клавишу <[> —
чтобы увеличить размер изображения, или клавишу <]> —
чтобы его уменьшить. И еще — в любом окне щелкните левой кнопкой мыши, а затем прокручивайте колесико мыши
в любую сторону, — размер изображения будет меняться.
Zoom All (Масштабировать все окна)
Рис. 1.12. Кнопки управления
видовыми окнами
— команда аналогична предыдущей, но
воздействует сразу на все видовые окна;
Zoom Extents Selected (Масштабировать выделенные объекты до заполнения актив-
(клавиша <Z>) — иконка в виде цветного куба, отображает выделенного окна)
ные объекты в центре видового окна. Рядом со значком находится белый треугольник. Это значит, что имеются альтернативы этой команды, доступные по долгому
нажатию на значок. Второй вариант этой команды — Zoom Extents (Масштабиро— иконка в виде серого куба, показывает
вать активное окно до заполнения)
всю сцену в активном видовом окне;
Zoom Extents All Selected (Масштабировать выделенные объекты во всех окнах до
заполнения)
окна;
— команда аналогична предыдущей, но воздействует сразу на все
28
Глава 1
Field-of-View (Угол зрения)
— воздействует только на перспективное изображение, приближая или удаляя его. Вариант этой команды — Zoom Region (Масшта— выбор фрагмента изображения рамкой;
бировать область)
Pan View (Переместить вид)
— перемещение изображения внутри активного
окна. Переместить изображение можно и иначе — в любом видовом окне нажмите
среднюю кнопку мыши и, не отпуская ее, переместите окно в нужном направлении;
Orbit SubObject
— вращение вокруг выделенного подобъекта или объекта, является универсальной командой. Вариант этой команды — Orbit
— вращение
вокруг центра видового окна и Orbit Selected
— в качестве центра вращения использует центр выделенного объекта;
Maximize Viewport Toggle (Развернуть активное окно на весь экран)
— переключает активное окно на весь экран или возвращает его в предыдущее состояние.
То же самое можно сделать с помощью комбинации клавиш <Alt>+<W> или пробела, выбрав в контекстном меню Maximize Viewport.
Создайте два чайника и потренируйтесь в управлении видовыми окнами.
Режимы отображения
Видовое окно имеет несколько режимов отображения. Чтобы их назначить, следует
щелкнуть левой кнопкой мыши на правой части заголовка видового окна. Откроется
перечень различных режимов отображения сцены (рис. 1.13):
Default Shading (Реалистичный) — объекты в видовом окне представляют собой
сглаженные поверхности, на которых видны блики и тени от других объектов. Этот
режим отображения чаще всего задают для окна Perspective, однако окончательный
вид сцены получается только после выполнения команды визуализации;
Wireframe (Каркасная модель) — значительно быстрее отображает объекты, однако
в этом режиме отображается только сетка моделей объектов;
Edged Faces (Грани) — на поверхностях видны границы граней;
Viewport Background (Фон видового окна) — открывает дополнительное подменю:
• команда Gradient Color (Градиентный фон) устанавливает в видовом окне градиентный фон, не всегда удобный в работе;
• опция Solid Color (Равномерный фон) задает равномерный фон в видовом окне
(что предпочтительнее);
• опция Environment Background (Фон окружения) устанавливает в видовом окне
точно такой же фон, как и в окне Rendering (Визуализация) | Environment
(Окружающая среда) | Color (Цвет).
Приведенные здесь режимы отображения — основные. Проверьте действие этих и других режимов на объекте Teapot (Чайник).
В указанном виде меню с режимами отображения в видовых окнах открывается только
при использовании драйверов (установленных по умолчанию) Nitrous Direct3d 11,
Nitrous Direct 3D 9 и Nitrous Software. Если же программа настроена на применение
Основные понятия
29
Рис. 1.13. Режимы отображения
в видовых окнах
Рис. 1.14. Режимы отображения в видовых окнах
с драйверами Legacy Direct3D и Legacy OpenGL
драйверов Legacy Direct3D или Legacy OpenGL, то окно с режимами отображения
будет выглядеть иначе (рис. 1.14).
Драйверы настраивают в окне Preference Settings (Настройки параметров) на вкладке
Viewports (Видовые окна) в области Display Drivers (Драйверы отображения). Это
окно (рис. 1.15) открывается по команде главного меню Customize (Настройки) |
Preferences (Настройки параметров).
Рис. 1.15. Настройка драйверов
30
Глава 1
Изменять драйвер отображения на Direct 3D или OpenGL необходимо только в том
случае, если возникают проблемы с визуализацией объектов в видовых окнах, они могут мигать или пропадать. Изменение драйверов не повлияет на общую работу с программой, это может отразиться только на отображении свойств материалов и освещения в видовых окнах, но на визуализации все свойства будут просчитаны корректно.
Выделение объектов
Перед любой операцией с объектом его следует выделить (выбрать). Объекты можно
выделить, либо щелкнув на них, либо определив область, выбирающую объекты. Объект можно выделить в любой момент, когда активна кнопка выбора на главной панели
инструментов Select Object (Выделить объект)
или любая кнопка трансформации
, Select and Rotate (Выделить и
объекта: Select and Move (Выделить и переместить)
, Select and Uniform Scale (Выделить и масштабировать)
.
повернуть)
Если выделенный объект находится перед другим объектом, то можно отменить выбор
переднего объекта и выделить задний, щелкнув курсором мыши на области пересечения объектов, — щелчок в области, где объекты пересекаются, сначала обеспечивает
выбор переднего объекта, а каждый последующий щелчок отменяет выбор текущего
объекта и выбирает объект, находящийся глубже на сцене (файл с видеодемонстрацией
выделения объекта, расположенного за объектом или внутри него: Select_hidden_
object.mp4).
Режимы выбора объектов определяются с помощью команд главной панели инструи
ментов Rectangular Selection Region (Прямоугольная область выделения)
.
Window / Crossing (Окно / Пересечение)
Команда
имеет несколько вариантов (рис. 1.16, видео Video_1.16.mp4). Попробуйте
каждый из них, предварительно создав несколько простых объектов.
Рис. 1.16. Режимы выбора объектов
Команда
определяет, как именно будут выделяться объекты. Если эта команда не
активизирована, то для выделения объекта достаточно прямоугольной (или любой другой из доступных режимов, см. рис. 1.16) областью выбора захватить любую его часть.
Если активизировать эту команду, то объект будет выбран только в том случае, когда
он целиком охвачен областью выбора.
Объекты можно выделить также по их имени с помощью окна Select From Scene
(Выделить в сцене), которое открывается щелчком на значке Select by Name (Выделить
по имени)
главной панели инструментов.
В главном меню пункт Edit (Редактировать) также содержит некоторые команды, которые касаются выделения объектов сцены:
Select All (Выделить все)
— позволяет выделить все объекты сцены (комбинация клавиш <Ctrl>+<A> действует аналогично);
Основные понятия
Select None (Снять выделение)
31
— отменить выделение;
Select Invert (Инвертировать выделение)
— выделить объекты, которые до выполнения команды были невыделенными, и одновременно отменить выделение объектов, которые были выделены;
Select Similar (Выделить однотипные объекты)
— выделяет схожие по типу
объекты. Например, если вы выделили в сцене чайник, то выполнение этой команды
приведет к выделению всех чайников в сцене;
Select By (Выделить по) — открывает подменю с расширенными командами выделения. Вы можете выделять объекты по цвету, по имени и по слою.
Если при работе со сложной сценой требуется выделить объекты определенного типа,
то можно воспользоваться командой фильтрации выборки, расположенной на главной
.
панели инструментов (рис. 1.17) слева от инструмента Select Object
После определения типа в списке фильтров можно будет выделять
только объекты этого типа. По умолчанию назначен фильтр All (Все),
позволяющий выбирать любые объекты.
Выделять объекты удобно на панели Scene Explorer (Проводник
сцены), расположенной в левой области главного окна программы.
Интерфейс панели в точности повторяет окно Select From Scene
(Выделить в сцене).
Рис. 1.17. Фильтрация выборки
При работе со сложной сценой выделение объектов можно заблокировать, что предотвращает случайное удаление или перемещение рядом стоящих объектов. Блокировка
выполняется щелчком на кнопке со значком замка Selection Lock Toggle (Переключа, находящейся в нижней части экрана, — она появляеттель блокировки выделения)
ся на экране после выбора каких-нибудь объектов. До тех пор, пока блокировка не
будет снята, нельзя ни выбрать новый объект, ни сбросить выделение. Блокировку
снимают повторным нажатием той же кнопки. Включить блокировку можно также
нажатием клавиши <Space> (Пробел).
Удобной функцией при работе со сложной сценой является изолирование выделения
с помощью команды Isolate Selection Toggle (Переключатель изолирования выделенного)
. Кнопка команды появляется на экране после выбора любого объекта. Если
затем щелкнуть на этой кнопке, то в сцене будет отображаться только выбранный
объект. Повторный щелчок вернет отображение всех объектов (видео Isolate_
selected.mp4).
Команды Undo и Redo
На главной панели инструментов имеются команды Undo Scene Operation (Отменить
предыдущие действия)
и Redo Scene Operation (Вернуться к предыдущим дейст.
виям)
32
Глава 1
Первая команда позволяет отменить те действия, которые выполнялись перед этим.
Каждый щелчок по значку команды отменяет одно из предыдущих действий. Но можно
щелчком правой кнопкой мыши по значку команды открыть список последних действий
и отменить сразу несколько из них (рис. 1.18). Последнее выполненное действие можно
отменить также комбинацией клавиш <Ctrl>+<Z>.
Команда Redo работает аналогично и позволяет вернуться
к предыдущим изменениям. Последнюю команду можно
восстановить также комбинацией клавиш <Ctrl>+<Y>.
Рис. 1.18. Отмена
шести последних команд
Трансформации объектов
Перемещение (видео Move.mp4)
Чтобы переместить объект в видовом окне, активизируйте команду Select and Move
(Выделить и переместить)
(клавиша <W>) и выберите нужный объект. Перемещение осуществляется в направлении той оси, которая подсвечивается желтым цветом,
или плоскости между двумя осями. Таким образом, перемещать объект можно вдоль
осей X, Y, Z или в плоскостях XY, YZ, XZ.
Более точно переместить объект можно с помощью контекстного меню, щелкнув правой кнопкой мыши на предварительно выделенном объекте. В появившемся при этом
в строке
контекстном меню (рис. 1.19, а) после щелчка на значке прямоугольника
Move (Переместить) открывается окно Move Transform Type-In (Ввод данных для перемещения) (рис. 1.19, б).
а
б
Рис. 1.19. Контекстное меню (а) и окно ввода данных (б)
В левой части этого окна вводят абсолютные координаты нового положения объекта
(Absolute: World), а в правой части — относительные координаты его перемещения
(Offset:Screen). Абсолютные координаты привязаны к началу мировой системы координат, расположенной на пересечении черных линий на сетке в видовых окнах, относительные координаты зависят от локальной системы координат объекта и отсчитываются
от текущего положения объекта. Например, если абсолютные координаты объекта
Основные понятия
33
(10, 20, 30), то при перемещении объекта на относительные координаты (0, 20, 0), новое
абсолютное положение будет (10, 40, 30).
Окно Move Transform Type-In можно открыть также щелчком правой кнопки мыши
на значке Select and Move
главной панели инструментов.
Абсолютные и относительные координаты положения объекта можно указать и в нижней части окна программы в полях для ввода координат X, Y и Z. По умолчанию там
задаются абсолютные координаты положения локальной системы координат объекта.
, то в эти поля можно ввести относительные коЕсли слева активизировать кнопку
ординаты смещения объекта вдоль осей координат (рис. 1.20).
Рис. 1.20. Задание относительных координат смещения объекта
Вращение (видео Rotate.mp4)
Координаты вращения объекта указывают аналогично — в окне, которое открывается
в строке Rotate (Вращать) контекстного мепри щелчке на значке прямоугольника
ню объекта, либо щелчком правой кнопкой мыши на значке Select and Rotate (Выдеглавной панели инструментов (клавиша <E>).
лить и повернуть)
Масштабирование (видео Scale.mp4)
(клаСуществуют три опции команды масштабирования: Select and Uniform Scale
виша <R>), Select and Non-uniform Scale
и Select and Squash
, первые два вида
команд работают одинаково и при изменении масштаба по одной из осей объект изменит свои пропорции, при изменении одновременно по всем осям произойдет пропорпозволяет
циональное изменение размера объекта. Select and Non-uniform Scale
работать с панелью Axis Constraints (Ограничения по осям координат) (как отобразить
дополнительную панель, описывается в подразделе Начало работы, см. рис. 1.3), где
вы можете выбрать ось или плоскость, вдоль которой будет происходить масштабирование. Последняя команда Select and Squash работает следующим образом — при
уменьшении одной из осей остальные будут увеличиваться и наоборот.
Остальные свойства команды масштабирования аналогичны двум предыдущим командам (перемещение и вращение).
Системы координат
В 3ds Max имеется несколько систем координат. Переключаться между ними можно на
главной панели инструментов с помощью раскрывающегося списка Reference
Coordinate System (Система координат) (рис. 1.21).
По умолчанию включена видовая система координат View. При этом во всех видах,
кроме перспективы, действует система координат экрана (Screen), а в окне перспективы — глобальная система координат (World).
В системе координат Screen во всех окнах установлены координаты активного видового
окна.
34
Глава 1
Глобальная (World) система координат (иногда ее называют мировой системой координат) зафиксирована, и ее оси всегда пересекаются в точке с абсолютными координатами (0, 0, 0). Она служит в качестве системы отсчета. Пересекающиеся черные линии
в середине экрана показывают начало глобальной системы координат. Направления ее
осей отображаются в левой нижней части каждого окна и зависят от вида проекции
(Top, Front, Left).
Каждый объект имеет свою локальную систему координат (Local), связанную с этим
объектом. Точка, из которой исходят оси локальной системы координат, называется
опорной (Pivot Point). Она может не совпадать с центром объекта и перемещается и
поворачивается в пространстве вместе с объектом. Положение опорной точки и ориентацию осей локальной системы координат относительно объекта можно менять. Для
и раскройэтого на командной панели перейдите на вкладку Hierarchy (Иерархия)
те раздел Pivot (Опорная точка). Активизируйте режим Affect Pivot Only (Воздействовать только на опорную точку) (рис. 1.22, видео Video_1.22.mp4).
Рис. 1.21. Выбор
системы координат
Рис. 1.22. Изменение положения опорной точки
В результате изображение локальной системы координат изменит вид. Затем, используя инструменты Select and Move
и/или Select and Rotate
главной панели инструментов, можно задать новое положение локальной системы координат.
Опция Pick задает систему координат объекта, по которому вы щелкнете. Остальные
системы координат применяются реже.
Центр преобразования
Рассмотренные далее команды необходимы при одновременных преобразованиях вращения и масштабирования двух или более объектов, но на перемещение объектов не
влияют. Центр преобразования определяет точку, относительно которой будет происходить трансформация, и устанавливается с помощью кнопки, расположенной на главной
панели инструментов.
Предусмотрены следующие типы центров преобразования (рис. 1.23):
Use Pivot Point Center (Использовать опорную точку)
— устанавливается по
умолчанию для выделенного объекта. Каждый объект вращается или масштабирует-
Основные понятия
35
ся относительно этой опорной точки. Не забывайте, что ее положение можно изменить;
Use Selection Center (Использовать центр выбранной совокупности объектов)
—
применяется при выделении группы объектов. Центром вращения и масштабирования служит геометрический центр рамки, ограничивающей все выбранные объекты;
Use Transform Coordinate Center (Использовать центр текущей системы коорди-
— объекты вращаются или масштабируются относительно центра текущей
нат)
системы координат, указанной в поле Reference Coordinate System (рис. 1.21).
Для примера на виде Top постройте три объекта Box (Параллелепипед) и установите
. Выделите все
в качестве центра преобразования вариант Use Pivot Point Center
поверните их на 45° вокруг
три объекта и с помощью команды Select and Rotate
оси Z. В результате каждый объект повернется вокруг начала собственной локальной
системы координат (рис. 1.24, видео Video_1.24.mp4).
Рис. 1.23. Типы
центров преобразования
Рис. 1.24. Вращение объектов
вокруг собственных опорных точек
Теперь верните все объекты в первоначальное состояние, для этого на главной панели
. В качестве центра преобразования
инструмента выберите опцию Undo (Отменить)
установите опцию Use Selection Center (Использовать центр выбранной совокупности
, выберите объекты и снова поверните их вокруг оси Z на угол в 45°. На
объектов)
этот раз они оказались повернутыми вокруг геометрического центра рамки, ограничивающей выбранные объекты, и заняли иное положение в пространстве (рис. 1.25, видео
Video_1.25.mp4).
Снова верните все объекты в исходное состояние, а в качестве центра преобразования
назначьте опцию Use Transform Coordinate Center (Использовать центр текущей сис. Так как включена видовая система координат View, то при повотемы координат)
роте на угол 45° объекты вращаются вокруг начала системы координат экрана, расположенного в его центре (рис. 1.26, видео Video_1.26.mp4).
36
Глава 1
Рис. 1.25. Вращение объектов вокруг центра
совокупности объектов
Рис. 1.26. Вращение объектов вокруг центра
текущей системы координат
Клонирование объектов
Чтобы создать копию выделенного объекта, в главном меню нужно выбрать команду
Edit (Редактирование) | Clone (Клон) либо выделить объект в сцене и в его контекстном меню выбрать команду Clone. На экране откроется окно, в котором можно будет
выбрать один из трех вариантов клонирования (рис. 1.27, видео Video_1.27.mp4).
При этом точная копия объекта оказывается на том же
самом месте, где находился оригинал. Затем скопированную модель следует переместить в нужное место.
Тот же результат можно получить, если выделить объект, щелкнуть на нем правой кнопкой мыши и в открывшемся контекстном меню выбрать команду Clone.
Рис. 1.27. Варианты клонирования
Еще один способ клонирования объектов — при помощи клавиши <Shift>: выделите
или Select and Rotate
объект сцены, щелкните на значке Select and Move
и, удерживая нажатой клавишу <Shift>, переместите или поверните клонированный
объект. В раскрывшемся диалоговом окне появится дополнительная строка, где можно
указать количество копий.
Группа Object (Объект) содержит переключатели Copy, Instance и Reference:
Copy — новые и исходные объекты совершенно не зависят друг от друга;
Instance — любые изменения в одном объекте отражаются на других объектах;
Reference — устанавливается более сложная связь между оригиналом и клониро-
ванными объектами. Если вы станете менять размеры клонов или оригинала, то результат будет таким же, как и в случае Instance (чтобы изменить размер клона,
Основные понятия
37
предварительно следует выделить его имя в стеке модификаторов, что приведет
к появлению свитка Parameters). Если же к клону применить модификатор, то его
действие распространится только на этот клон. Однако применение модификатора
к оригиналу окажет такое же действие на все клоны.
Если во время работы с полученными экземплярами (Instance) или ссылками
(Reference) требуется вновь сделать копию одного объекта независимой от других, то
, расположенвоспользуйтесь инструментом Make unique (Сделать уникальным)
. При этом в случае Reference вначале следует
ным на панели Modify (Изменить)
щелкнуть на имени объекта в области после свитка Modifier List (Список модификаторов), чтобы cделать его уникальным.
Зеркальное отображение объектов
Зеркальные объекты можно создавать при помощи команды Mirror (Зеркальное ото, расположенной на главной панели инструментов. Перед выполнением
бражение)
команды следует выбрать объект или группу объектов и убедиться в том, что установлена необходимая система координат, которая отобразится в заголовке диалогового
окна Mirror (рис. 1.28). От выбранной системы координат будет зависеть направление
осей координат, вдоль которых будет осуществляться зеркальное отображение.
Ось, относительно которой выполняется зеркальное отображение, проходит через центральную точку текущей трансформации. На рис. 1.28 построено зеркальное отображение чайника относительно оси Z глобальной системы координат. В поле Offset (Смещение) указан сдвиг построенного объекта относительно этих осей на величину, равную 50.
Рис. 1.28. Зеркальное отображение объектов
38
Глава 1
Группы объектов
Группа — это объект, членами которого являются другие объекты. Все, что вы делаете
с группой, влияет также на объекты внутри группы. Группировка объектов выполняется
с помощью команд Group (Группа) и Attach (Присоединить). Для создания новой
группы следует выбрать один или несколько объектов и в главном меню выбрать пункт
Group (Группа) | Group (Группировать), а затем ввести название группы. Для добавления объектов к существующей группе необходимо выделить один или несколько объектов, не входящих в эту группу, в меню Group выбрать команду Attach и щелкнуть на
любом объекте, который является частью существующей группы.
Отдельные объекты в группе можно трансформировать и модифицировать, сначала
открыв группу, а затем выбрав один или несколько объектов. Чтобы открыть группу,
выберите любой объект из этой группы и выполните команду Group (Группа) | Open
(Открыть). По окончании работы с членами открытой группы ее закрывают. Для этого
следует выделить любой объект этой группы и выполнить команду Group (Группа) |
Close (Закрыть). Отдельные элементы группы можно выделять на панели Scene
Explorer в левой части окна программы.
Группа может быть сложной и содержать в себе другие группы, а те, в свою очередь,
также могут содержать группы. Чтобы получить доступ к изменению положения и модификации объекта, расположенного на любом уровне группы, используется команда
Group (Группа) | Open Recursively (Открыть рекурсивно). Она одновременно разгруппирует все уровни группы. Чтобы закрыть исходную группу, следует выделить любой
ее объект и выполнить команду Group | Close.
Для разгруппирования всей группы служит команда Group (Группа) | Ungroup (Разгруппировать).
Слои
Еще один инструмент для организации работы с объектами — Toggle Layer Explorer
. Его вызывают нажатием соответствующей кнопки на глав(Управление слоями)
ной панели инструментов. При создании все объекты сцены расположены на нулевом
слое, создаваемом по умолчанию, — 0 (default) (рис. 1.29).
Однако в сценах с большим количеством объектов удобнее работать, если разнести эти
объекты по слоям. Например, при создании архитектурного проекта лучше иметь отдельные слои для каждого этажа, для окон, для мебели и т. д.
Любая операция, проводимая со слоем, отражается на объектах, расположенных в нем.
В главном меню выберите команду File (Файл) | Open (Открыть), чтобы открыть сцену
из файла layers.max. На главной панели инструментов щелкните по кнопке Toggle Layer
, чтобы открыть окно Layer Explorer. Каждый слой
Explorer (Управление слоями)
, например
в окне Layer (Слой) можно временно скрыть щелчком мыши по значку
скройте слой large objects, все параллелепипеды исчезнут. Запретить выделение объекв столбце Frozen (Заморожен), заморозьтов слоя можно щелчком мыши по значку
те слой background, а затем попробуйте выделить фоновые плоскости, будут выделяться все объекты в сцене, кроме плоскостей. Также можно отменить визуализацию объек-
Основные понятия
39
тов — щелчком мыши по значку
в столбце Renderable и отобразить объекты в виде
, последняя команда может сильно оптимизировать сцену.
каркаса Display as Box
При раскрытии слоя можно увидеть объекты, расположенные на слое, и к ним применяются все рассмотренные команды (скрыть, заморозить и исключить из визуализации).
Рис. 1.29. Управление слоями
Для создания нового слоя в диалоговом окне Layer нажмите кнопку Create New Layer
(Создать новый слой)
— появится новый слой Layer001. Слой автоматически станет активным, рядом с названием слоя загорится зеленым иконка слоя
. Щелкните
на новом слое, чтобы выделить его, затем щелкните правой кнопкой мыши и в контекстном меню выберите Rename (Переименовать), введите название слоя teapot. Создайте в сцене несколько объектов Teapot. Так как слой teapot является активным, то все
создаваемые объекты будут размещаться в нем. Активным может быть только один
слой. Чтобы сделать слой активным, достаточно щелкнуть мышью на месте иконки
слоя слева от названия.
Создайте еще один слой, но не размещайте в нем объекты. Пустые слои можно удалять,
для этого выделите его название, в данном примере — Layer001, щелкните на нем правой кнопкой мыши и в открывшемся контекстном меню выберите команду Delete. Удалять можно только те слои, которые являются пустыми.
Для изменения параметров слоя можно открыть окно, если щелкнуть по названию слоя
и в контекстном меню выбрать команду Properties (Свойства). В параметрах можно
настроить ряд расширенных свойств, например скрыть отображение теней или отключить отражение.
Можно также открыть окно для изменения параметров объекта, входящего в активный
слой. Для этого разверните слой, выделите интересующий вас объект, щелкните на нем
правой кнопкой мыши и выберите в контекстном меню команду Properties.
40
Глава 1
Чтобы добавить объекты в существующий слой, сделайте его активным, выделите объекты сцены, которые вы хотите туда перенести, а затем выполните команду Add to
.
Active Layer (Добавить в активный слой)
Единицы измерения
Начиная любые построения, прежде всего следует установить единицы измерения, которые будут использоваться в проекте. Их настройка позволяет также задать внешнее
представление числовых значений во всех числовых счетчиках интерфейса 3ds Max.
Для настройки единиц измерения и их отображения следует в главном меню выбрать
пункт Customize (Настройки) | Units Setup (Настройка единиц измерения) — на экране
откроется диалоговое окно Units Setup (рис. 1.30, а) с набором переключателей для выбора одной из систем единиц, согласно которой значения будут отображаться в числовых счетчиках. Выберите в окне в области Display Units Scale (Отображаемая единица
масштаба) переключатель типа единиц Metric = Centimeters. В результате в числовых
счетчиках к значениям координат добавится обозначение метрической единицы измерения cm (рис. 1.30, б).
Переключатель типа единиц можно установить в одно из следующих положений:
Metric (Метрические) — выбор метрических единиц, принятых в Европе;
US Standard (Стандарт США) — задание единиц, используемых в США;
а
б
Рис. 1.30. Назначение системы единиц
в числовых счетчиках
Рис. 1.31. Установка
системных единиц измерения
Основные понятия
41
Custom (Пользовательские настройки) — выбор собственных единиц отображения.
Например, можно задать единицу с названием 5 метров, при работе с которой одна
единица шкалы будет соответствовать пяти метрам;
Generic Units (Системные) — выбор десятичных единиц, отсчитываемых с точ-
ностью до трех десятичных знаков (принимается по умолчанию).
Мы настроили только масштаб единиц измерения, но системная единица не изменилась, по умолчанию она равна 1 дюйму. Установите также системные единицы измерения. Для этого в том же окне нажмите кнопку System Unit Setup (Установка системных
единиц) — откроется дополнительное диалоговое окно, в котором устанавливают системные единицы. Выбирайте их в зависимости от размеров сцены, которую собираетесь
построить. Поскольку ранее в качестве единиц отображения были заданы сантиметры,
то лучше всего в разделе System Unit Scale (Масштаб системной единицы) также установить Centimeters (рис. 1.31). Обязательно включите флажок Respect System Units in
Files (Учитывать системные единицы в файлах). При открытии файла с другими системными единицами 3ds Max выведет диалоговое окно, в котором всегда рекомендуется
выбирать переключатель Adopt the File’s Unit Scale? (Адаптировать под единицы открываемого файла?).
Сетка координат
Отображение сетки можно включить или выключить, щелкнув кнопкой мыши на значке
[+] в названии видового окна и в открывшемся контекстном меню сняв флажок в строке
Show Grids (Показать сетку) или просто нажав клавишу <G>.
Можно настроить расстояния между линиями сетки. Для этого на главной панели инст,
или
. Откроется диалорументов щелкните правой кнопкой мыши на значке
говое окно Grid and Snap Setting (Настройки сетки и объектных привязок). В нем раскройте вкладку Home Grid (Координатная сетка). Линии сетки подразделяются на
основные и вспомогательные. Вспомогательные (промежуточные) линии отстоят друг
от друга на расстояние, задаваемое параметром Grid Spacing (Расстояние между линиями сетки) (рис. 1.32).
Рис. 1.32. Окно задания сетки и объектных привязок
42
Глава 1
В поле Major Lines every Nth Grid Line (Основные линии через каждые N линий сетки) указывается, через сколько промежуточных линий должны следовать основные (более яркие) линии. Если флажок Inhibit Grid Subdivision Below Grid Spacing (Запретить
деление ячеек сетки на более мелкие) снять, то при приближении к объекту сетка будет
автоматически делиться на более мелкие ячейки. В противном случае такого деления не
произойдет.
Привязки
При включении объектных привязок курсор притягивается к характерному ближайшему элементу сцены из списка типов, перечисленных на вкладке Snaps (Объектные привязки) диалогового окна Grid and Snap Settings (рис. 1.33). Благодаря этому опорные
точки создаваемых или редактируемых объектов размещаются в точно определенных
местах.
Рис. 1.33. Режимы привязки
Можно установить или сбросить флажки 12 режимов привязок, относящихся к группе
Standard и действующих для любых типов объектов:
Grid Points — привязка к узлам координатной сетки;
Grid Lines — привязка к линиям координатной сетки;
Pivot — привязка к опорным точкам объектов;
Bounding Box — привязка к восьми углам габаритных контейнеров объектов;
Perpendicular — привязка сегментов текущего сплайна к точкам других сплайнов,
в которых сегменты перпендикулярны этим сплайнам;
Tangent — привязка сегментов текущего сплайна к точкам других сплайнов, в которых сегменты касательны к этим сплайнам;
Vertex — привязка к вершинам объектов-сеток или объектов, преобразованных
к типу Editable Mesh или Editable Poly;
Endpoint — привязка к концевым точкам ребер каркаса или сегментов сплайна;
Edge/Segment — привязка к произвольным точкам в пределах видимых и невидимых ребер каркасов;
Основные понятия
43
Midpoint — привязка к серединам ребер каркасов или сегментов сплайнов;
Face — привязка к произвольным точкам в пределах граней;
Center Face — привязка к центральным точкам граней.
Для использования привязок необходимо на главной панели инструментов программы
активизировать соответствующий тип привязки:
,
или
.
Первая из этих кнопок имеет три разновидности:
•
— привязка, действующая во всех трех измерениях и позволяющая точно
выравнивать новые объекты по всем элементам сеток. Например, если при создании параллелепипеда установлен режим привязки Grid Points, то каждая точка
основания параллелепипеда располагается на пересечении линий сетки, а его высота ограничивается шагом сетки;
•
— включает режим привязки курсора в текущей плоскости и к проекциям на
текущую плоскость элементов объектов, выбранных для привязки и расположенных над или под плоскостью. Такая привязка чаще всего используется при архитектурном моделировании. Например, в вашем проекте имеются построенные
стены, и вам необходимо сделать потолок. Для этого включается привязка 2,5D,
выбирается команда Line и в окне Top обходят внешние углы стен. Получится
сплайн, точно обводящий периметр стен. Потом этот сплайн останется выдавить
(т. е. применить модификатор Extrude), и потолок будет готов;
•
— включает режим пространственной привязки курсора только в плоскости
координатной сетки текущего окна проекции. Эта привязка удобна, если вы работаете со сплайнами или с плоскими объектами, которые располагаются непосредственно на сетке.
Угловая привязка Angle Snap Toggle
включает режим поворота объектов со
значением шага 5°. Изменить заданное по умолчанию значение шага можно на
вкладке Options (Опции) диалогового окна Grid and Snap Settings.
Процентная привязка Percent Snap Toggle
определяет фиксированную величину
приращений в любых операциях, связанных с масштабированием. Шаг приращений
устанавливают в диалоговом окне Grid and Snap Settings на вкладке Options с помощью счетчика Percent (Процент).
— управляет реОпция Spinner Snap Toggle (Изменение приращений счетчиков)
жимом установки фиксированных приращений параметров во всех счетчиках. Настроить величину шага приращения можно через главное меню Customize (Настройки) |
Preferences (Настройки параметров) на вкладке General (Общие параметры) в области
Spinners (Счетчики) (рис. 1.34). Это же окно можно вызвать, если щелкнуть правой
.
кнопкой мыши по иконке Spinner Snap Toggle
Рис. 1.34. Настройка приращений счетчиков
44
Глава 1
Команда Select and Place (Выделить и разместить)
, размещенная на главной панели
инструментов, позволяет перемещать выделенный объект по поверхности другого объекта. На рис. 1.35, а изображены коробка и чайник. Если теперь включить команду
Select and Place, выделить чайник и приблизить его к коробке (например, сбоку), то он
притянется к ней (рис. 1.35, б). После этого чайник можно перемещать, но он попрежнему будет оставаться на коробке.
а
б
в
Рис. 1.35. Два объекта (а) и применение к ним команд Select and Place (б) и Select and Rotate (в)
Там же в выпадающем списке имеется команда Select and Rotate (Выделить и вращать)
. С ее помощью можно вращать объект относительно его локальной оси Z.
Если, например, сначала расположить чайник на поверхности коробки, а затем вращать
его с помощью этой команды, то он по-прежнему будет оставаться на коробке
(рис. 1.35, в).
Выравнивание объектов
Чтобы выровнять положение одного объекта относительно другого с помощью коман, нужно выделить первый объект (объект, который выравнивается Current),
ды Align
выполнить команду Align и щелкнуть мышью на
втором объекте (целевой объект Target). На экране откроется окно, в котором необходимо указать принцип выравнивания (рис. 1.36, видео
Video_1.36.mp4). При этом в разделе Align Position
(Выравнивание положения) указывается, по каким координатам будут выравниваться положения объектов. Затем задаются характерные точки
выравниваемого (Current) и целевого (Target)
объектов, положение которых должно быть совмещено по заданным координатам:
Minimum — ближайшая крайняя точка габаритного контейнера объекта;
Рис. 1.36. Указание принципа выравнивания
Основные понятия
45
Center — центр габаритного контейнера;
Pivot Point — опорная точка габаритного контейнера;
Maximum — дальняя крайняя точка габаритного контейнера объекта.
В разделе Align Orientation (Согласовать ориентацию) укажите, по каким осям следует
выровнять ориентацию объектов.
Чтобы масштаб первого объекта (Current) сделать таким же, как второго (Target),
в разделе Match Scale (Выровнять масштабы) укажите, по каким осям следует выровнять масштабы объектов. При этом учитываются масштабы, заданные в окне Scale
Transform Type-In.
Файлы
Программа 3ds Max работает с файлами формата имя_файла.max. Можно открыть
файл, сохраненный только в текущей (или предыдущей) версии программы. Нельзя открыть файл, который сохранен в версии программы 2022, в 3ds Max 2020. В программе
есть возможность сохранять файлы для более ранних версий, например в версии 2022
можно сохранять файлы для версий 2021, 2020 и 2019, также есть возможность импортировать объекты или всю сцену целиком для использования их в других приложениях.
Для работы с файлами предназначены команды, расположенные в главном меню в команде File (Файл):
New (Новый). Ее вариант — New All (Все новое) — открывает новый файл, сохра-
няя в нем предыдущие установки сцены. Команда New from Templates (Новый
с использованием шаблона) создает новый файл на основе готовых сцен с уже настроенными источниками света и набором соответствующих объектов;
Reset (Сброс) — открывает пустую сцену со всеми установками, принятыми по
умолчанию;
Open (Открыть) — открывает существующий файл;
Save (Сохранить) — сохраняет сцену без дополнительных подсказок. Однако при
сохранении нового файла в первый раз появляется диалоговое окно Save File As
(Сохранить файл как);
Save As (Сохранить как) — открывает дополнительное подменю с несколькими ва-
риантами сохранения файла. Одноименная команда подменю сохраняет сцену под
новым именем и делает новую сцену текущей. Команда Save Copy As (Сохранить
копию как) сохраняет текущий файл под новым именем, но в качестве текущего оставляет прежний файл;
Save Selected (Сохранить выбранное) — сохраняет в новом файле только те объекты
сцены, которые предварительно были выделены;
Archive (Архив) — архивирует текущий файл и все, что с ним связано, в один ZIP-
файл и собирает все текстурные карты, которые были использованы в сцене, что полезно при переносе сцены на другой компьютер;
Import (Импорт) — открывается новое подменю. Import позволяет импортировать
файлы разных форматов (FBX, OBJ, 3DS, DWG и др.) в сцену 3ds Max, например
файлы, созданные в других приложениях. Команда Merge (Вставить) дает возмож-
46
Глава 1
ность вставить объекты из другого MAX-файла в текущую сцену. Команда Replace
(Заменить) позволяет заменить выделенный объект на тот же тип объекта из другого
MAX-файла;
Export (Экспорт) — имеет три варианта экспортирования файла. Команда с тем же
именем сохраняет сцену в файле с другим форматом для использования в других
приложениях. Команда Export Selected (Экспортировать выделенное) делает то же
самое, но только по отношению к ранее выделенным объектам сцены. Команда
Export to DWF экспортирует сцену в специальный формат DWF;
Send To (Отправить в) — позволяет отправить сцену с объектами в одну из выбран-
ных программ компании Autodesk, установленных на компьютере.
В процессе работы программы создаются три резервные копии сцен каждые 5 минут,
которые сохраняются в специально предназначенной для этого папке AutoBackup. Чтобы отыскать эту папку, в главном меню выберите команду Customize (Настройки) |
Configure Project Paths (Настройки расположения файлов проекта) или File (Файл) |
Project (Проект) | Configure Project Paths. В открывшемся окне Configure Project
Paths под строкой Project Folder (Папка проекта) будет расположен путь к папке
(рис. 1.37). Обычно эта папка расположена в системной папке Мои документы. В папке
проекта можно найти папку для автосохранения AutoBackup.
Рис. 1.37. Положение резервных копий сцен
Если в процессе вашей работы произошел какой-либо сбой, то вы сможете воспользоваться резервной копией сцены из этой папки. Настроить интервал сохранения и число
создаваемых копий можно в настройках Customize | Preferences на вкладке Files области Autobackup.
Команду Hold (Фиксация), расположенную в главном меню Edit, можно применить
в тех ситуациях, когда вы собираетесь выполнить операцию, которая сделает невозможным возврат к предыдущим параметрам сцены. В подобном случае, чтобы застраховаться от возможной неудачи, можно сохранить текущее состояние сцены. При выпол-
Основные понятия
47
нении команды Hold все сведения о сцене сохраняются во временном буфере и могут
быть восстановлены при помощи команды Edit | Fetch (Выборка).
Импорт в сцену объектов из других MAX-файлов
Иногда в создаваемую сцену требуется вставить какие-либо объекты из другого файла.
Для этого служит команда File (Файл) | Import (Импорт) | Merge (Добавить). При выполнении этой команды откроется диалоговое окно, в котором следует указать путь
к файлу, содержащему объекты для новой сцены. Выделите файл, из которого вы собираетесь скопировать объекты, и нажмите кнопку Open.
Откроется еще одно диалоговое окно (рис. 1.38), содержащее список всех объектов,
находящихся в файле. Если в сцене есть группы объектов, то их названия будут написаны в квадратных скобках. Выделите в этом списке объекты, которые вы хотите внедрить
в новую сцену, и нажмите кнопку OK.
Рис. 1.38. Внедрение объектов из других файлов
Создание и работа с проектом
Для удобной работы в программе 3ds Max используется проект, он дает возможность
организовать все файлы сцены. По умолчанию в программе уже создан проект, и вся
работа с файлами определяется расположением этого проекта. Сам проект представляет
собой набор папок, для каждого типа файла предназначена своя папка. Управление проектом осуществляется через главное меню File | Project (Проект), доступны следующие
команды (рис. 1.39):
48
Глава 1
Automatic switch (Переключать автоматически) — автоматически переключает на
соответствующий проект, к которому относится открытая сцена;
Recent Projects (Последние проекты) — показывает список последних проектов;
Set Active Project… (Установить текущий проект) — устанавливает путь к сущест-
вующему проекту в качестве текущего (рабочего);
Create Empty... (Создать пустой проект) — создает новый проект без структуры
путем выбора папки;
Create Default… (Создать проект по умолчанию) — создает новый проект со струк-
турой по умолчанию путем выбора корневой папки;
Create from Current (Создать проект из текущего) — создает новый проект на
основе структуры текущего проекта;
Configure Project Paths (Настройки расположения файлов проекта) — открывает
окно с настройками расположения папок проекта и организации сцены.
Структура проекта по умолчанию состоит из 16 папок и файла 3ds Max 2022.mxp
(рис. 1.40). В файле находятся настройки проекта, а в папки сохраняют соответствующие файлы. Например, в папке /scene/ находятся файлы MAX-формата, в папке
/sceneassets/ — текстурные карты, в папке /renderoutput/ — файлы визуализации.
Рис. 1.39. Команды
для управления проектом
Рис. 1.40. Структура проекта
В следующих главах для каждого раздела книги будет создан отдельный проект с соответствующими файлами. Вы можете создавать свою структуру и организовывать файлы
по своему желанию, однако помните, что MAX-файлы зависят от многих внешних файлов, используемых в сцене, и, чтобы не потерять их, лучше придерживаться концепции
работы с проектом.
Визуализация и сохранение растрового изображения
Все, что вы видите в окнах проекций, представляет собой результат визуализации создаваемой вами сцены. Однако это только черновая визуализация. Настоящая (качественная) визуализация, предусмотренная программой 3ds Max, получается после выполнения рендеринга с помощью определенных команд. Этому вопросу в дальнейшем
будут посвящены отдельные разделы книги. Пока же нам достаточно воспользоваться
, расположенной на главкомандой Render Production (Финальная визуализация)
Основные понятия
49
ной панели инструментов. Команду визуализации можно вызвать комбинацией клавиш:
<Shift>+<F9> или <Shift>+<Q>. Произойдет визуализация активного окна.
Полученную картинку можно сохранить с помощью кнопки Save Image (Сохранить
, расположенной в верхней части визуализированной картинки
изображение)
(рис. 1.41). В открывшемся диалоговом окне указывается папка, в которой предполагается сохранить изображение, вводится имя файла и выбирается нужный формат растрового изображения, например, *.png. Картинка будет сохранена.
Рис. 1.41. Сохранение визуализированного изображения
Настройка некоторых параметров
графического интерфейса
Темно-серый фон экрана программы при желании можно изменить. Выберите пункт
меню Customize (Настройки) | Customize User Interface (Настроить пользовательский
интерфейс). В результате на экране откроется окно Customize User Interface. Переключитесь на вкладку Colors (Цвета), расположенную в верхней части окна. В раскрывающемся списке Elements, находящемся в верхнем левом углу окна, укажите элемент
Viewports (Видовые окна). Ниже выберите элемент Viewport Background (Фон видового окна). Щелкните мышью на прямоугольном образце цвета, расположенном в правом верхнем углу окна. В результате на экране откроется окно выбора цвета Color
Selector. Задайте в этом окне какой-либо цвет, например более светлый, чем тот, что
сейчас установлен у вас в видовых окнах, чтобы было легче рассмотреть элементы сцены. Нажмите кнопку Apply Colors Now (Применить цвета), расположенную в правом
нижнем углу окна Customize User Interface. В результате цвет фона в видовых окнах
изменится.
Аналогично можно настроить другие параметры интерфейса.
50
Глава 1
Контрольные вопросы
1. В процессе работы над проектом произошел сбой компьютера. Как найти резервную копию создаваемого проекта?
2. Как настроить конфигурацию видовых окон?
3. Чем отличаются режимы отображения в видовых окнах Default Shading и Wireframe Override?
4. В каком случае появляется режим отображения Smooth + Highlights?
5. Чем отличаются настройки видовых окон при применении драйверов Nitrous и
Legacy Direct3D?
6. Чем отличаются команды Zoom Extents All и Zoom Extents All Selected?
7. Как раскрыть видовое окно на весь экран?
8. Как вызвать окно Move Transform Type-In? Для чего оно служит? Чем отличаются
параметры Absolute World от параметров Offset World?
9. Какие системы координат вам известны? Что такое глобальная система координат?
10. Где располагается локальная система координат? Что такое опорная точка объекта?
Как изменить ее положение?
11. Как влияет центр преобразования на перемещение объекта? Какие существуют
типы центров преобразования объектов?
12. Чем отличается действие опций Copy, Instance, Reference в списке параметров
окна Clone Options?
13. Как создать зеркальное отображение объектов?
14. Как присоединить новый объект к существующей группе объектов?
15. Как установить метрические единицы измерения?
16. Как включить (или выключить) отображение сетки координат в видовых окнах?
17. Как установить привязку курсора к узлам координатной сетки?
18. Какие действия выполняются по командам группы Align? Чем отличается группа
команд Align Position от Align Orientation?
19. Как выделить объект в сцене по его имени?
20. Что происходит по команде Select Invert?
21. Как вставить в создаваемую сцену объекты из других файлов?
22. Как сохранить в файле визуализированное изображение?
ГЛАВА
2
Моделирование
Создание простых объектов
Объектами в 3ds Max являются различные геометрические формы, источники света,
камеры и вспомогательные объекты. Каждый объект обладает определенными параметрами и свойствами. Параметры геометрических объектов — это те характеристики,
которые описывают их форму и местоположение в пространстве. Источники освещения
также имеют свои параметры, например яркость или угол конуса света. Параметры
объектов можно задавать при их создании, а также менять при редактировании на
.
вкладке Modify (Изменить)
| Geometry (Геометрия)
представВ 3ds Max 2022 на вкладке Create (Создать)
лены следующие группы базовых объектов, доступные из выпадающего списка:
Standard Primitives (Стандартные примитивы) — набор базовых простых фигур,
используемых для моделирования сцен разной степени сложности, например фигура
Box (Параллелепипед) может служить основой для практически любого объекта;
Extended Primitives (Дополнительные примитивы) — расширенный набор фигур,
предназначенных для создания сложных геометрических форм или абстрактных
объектов;
Compound Objects (Составные объекты) — набор команд для объединения двух
или более объектов в один объект;
Particle Systems (Системы частиц) — системы частиц для создания анимации снега,
пыли, дождя и др.;
Patch Grids (Патч сетка) — создание патчей (лоскутков) треугольной или четырех-
угольной формы, кривизна которых управляется сплайнами Безье, что упрощает
редактирование формы;
Body Objects (Базовые объекты) — специальные утилиты для импорта объектов из
SAT-файлов, например из программ Autodesk Inventor, Alias, Autodesk Showcase;
Doors (Двери) — архитектурные объекты в виде трех типов дверей с соответствующими параметрами;
NURBS Surfaces (NURBS-поверхности) — создание поверхностей, которые строятся на основе NURBS (неоднородных рациональных B-cплайнах);
52
Глава 2
Windows (Окна) архитектурные объекты в виде шести типов окон с соответствую-
щими параметрами;
AEC Extended (Архитектурные объекты, ландшафты) — набор архитектурных объ-
ектов, включающих деревья, забор и стены, все объекты параметрические и легко
анимируются;
Point Cloud Objects (Точечные облачные объекты) — объекты, которые позволяют
из данных, полученных из фотографии, построить трехмерную оболочку;
Dynamics Objects (Динамические объекты) — вспомогательные объекты для симу-
ляции поведения физических тел;
Stairs (Лестницы) — архитектурные объекты в виде четырех видов лестниц;
Alembic — специальные утилиты для импорта эффектов и анимации;
Arnold (Объекты визуализатора Arnold) — объекты визуализатора Arnold для им-
порта файлов Alembic, ASS, USD и для создания тумана;
Fluids (Жидкости) — объекты для симуляции жидкости.
Каждый создаваемый объект параметрический, т. е. форма его определяется набором
параметров. Удобнее всего сперва создать объект, а затем корректировать его параметры на вкладке Modify
, а положение — в окне Transform Type-In, которое вызыва(см. главу 1,
ется нажатием правой кнопкой мыши по инструменту Select and Move
раздел Трансформации объектов). По умолчанию каждому объекту случайным образом назначается определенный цвет. Цвет объекта можно поменять, щелкнув мышью
в квадратном поле с образцом цвета на командной панели на панели Modify
(рис. 2.1, видео \Modeling\Video_2.1.mp4), — откроется окно Object Color (Цвет объекта),
где можно выбрать подходящий для объекта цвет (рис. 2.2).
Рис. 2.1. Образец цвета
на командной панели
Рис. 2.2. Настройка цвета объекта
Если эти цвета вас не устраивают, там же можно нажать кнопку Add Custom Colors…
(Добавить дополнительные цвета) — откроется диалоговое окно Color Selector (Назначение параметров цвета) (рис. 2.3). В левой части окна имеется цветовое поле Hue (Оттенок), где выбирается базовый цвет объекта. В центре расположена вертикальная шкала Whiteness (Белизна), ползунок которой позволяет управлять интенсивностью цвета.
Моделирование
53
Справа находятся ползунки для регулировки цветовых компонентов аддитивной цветовой модели RGB (по названиям основных цветов: Red — красный, Green — зеленый и
Blue — синий), а также еще одной цветовой модели — HSV (по названиям компонентов: Hue — оттенок, Saturation — насыщенность и Value — интенсивность).
Рис. 2.3. Установка параметров цвета
П РИМЕЧАНИЕ
В дальнейшем нам часто придется пользоваться параметрами цвета. Везде, где встречается ссылка на эти параметры, будет подразумеваться аддитивная цветовая модель RGB,
а параметры цвета всегда будут перечисляться в последовательности R, G, B. Например,
если нужно задать параметры цвета R = 150, G = 130 и B = 220, то будет указано (150, 130, 220).
Стандартные и дополнительные примитивы имеют несколько общих групп параметров:
размеры;
Segments (Сегменты) — определяют степень разбиения сеточной модели объекта.
Число сегментов задается параметром Segments, находящемся в свитке Parameters
каждого параметрического объекта;
Smooth (Сглаживание) — применяется к объектам, которые состоят из криволиней-
ных поверхностей. На рис. 2.4 слева изображен объект с числом сегментов, равным
Рис. 2.4. Влияние параметра Smooth и числа сегментов
54
Глава 2
двум и со снятым флажком Smooth, в центре — тот же объект с таким же количеством сегментов и с установленным флажком Smooth, а справа — сглаженный объект
с большим числом сегментов;
Generate Mapping Coordinates (Генерировать координаты проецирования текстур-
ной карты) — объекту добавляются параметрические координаты размещения
текстур на его поверхности.
Упражнение № 2-1. Привязка к сетке, массивы
Установка проекта
В этой главе будем работать с новым проектом 02_project. Вы можете создать свой проект и копировать в него файлы и текстуры или установить проект, предоставленный
с электронным архивом к книге в качестве основного. Чтобы установить новый проект,
в главном меню выполните последовательность команд File | Project | Create Default.
Далее выберите папку, где будет размещаться проект, и щелкните по пункту Select
Folder (Выбрать папку). В выбранной папке будут созданы подпапки проекта для сцен,
визуализации и текстурных карт. При создании нового проекта обязательно копируйте
сцены и текстурные файлы для корректной их подгрузки при открытии.
Для установки существующей папки проекта в качестве основной в программе 3ds Max
в главном меню выберите File | Project | Set Active Project и укажите папку проекта.
Рядом с папкой проекта вы найдете папку 02_video, в которой будут находиться дополнительные видеофайлы к упражнениям.
В папке 02_images находятся цветные иллюстрации к упражнениям.
Э ЛЕКТРОННЫЙ
АРХИВ
В электронном архиве (ссылку на архив можно найти в предисловии) проект для главы 2
расположен в папке 02\02_project. Список функций и папок, которые использует программа
3ds Max в проекте, можно увидеть, выполнив команды File | Project | Configure Project
Path (Настройки расположения файлов проекта). Внутри папок проекта, например scenes,
можно создавать произвольные папки для организации файлов.
Сразу после установки проекта сохраним файл, для этого в главном меню выберите
команду File | Save (Сохранить), откроется папка созданного проекта, сохраните файл
сцены программы 3ds Max в папке scenes с именем Forest.max. Имя сохраненного файла
будет отображаться в заголовке окна программы.
Настройка единиц измерения и параметров сетки
Выполните команду Customize | Units Setup, установите метрическую систему единиц
(Metric), а в качестве единиц отображения размерных параметров задайте сантиметры
(Centimeters). Теперь определите системные единицы измерения — они повлияют на
размеры сетки на экране. Для этого в том же окне нажмите кнопку System Unit Setup и
также установите опцию Centimeters. Подробно настройка единиц измерения описана
в главе 1 в разделе Единицы измерения.
Моделирование
55
Для дальнейшей работы настроим параметры сетки в видовых окнах. Задайте компоновку рабочей области в виде четырех равных по величине окон. Во всех окнах должна
быть включена сетка, если ее нет, включите сетку, нажав клавишу <G> на клавиатуре
компьютера. То же самое можно сделать, щелкнув мышью на значке [+] в заголовке
видового окна и выбрав пункт Show Grids (Показать сетки). Сетка может быть не видна из-за сильной удаленности от центра сцены. Чтобы восстановить масштаб отображения, щелкните на панели управления видовыми окнами в нижнем правом углу на
значке Zoom Extents All Selected (Масштабировать выделенные объекты во всех окнах
. Если в сцене отсутствуют объекты или не выделен ни один объект,
до заполнения)
масштаб отображения будет восстановлен по умолчанию.
Затем на главной панели инструментов щелкните правой кнопкой мыши на значке
, чтобы открыть окно Grid and
Snaps Toggle (Переключатель объектных привязок)
Snap Settings (Настройки сетки и объектных привязок), перейдите в нем на вкладку
Home Grid (Координатная сетка) и в поле Grid Spacing (Расстояние между линиями
сетки) укажите величину 10,0 см. Тогда шаг основной сетки, отображаемой в видовых
окнах, будет равен этой величине. В поле Major Lines every Nth Grid Line (Основные
линии через каждые N линий сетки) введите 5. В результате между основными линиями сетки будут размещены пять ее делений. Закройте это окно.
Установка привязок
Щелкните правой кнопкой мыши на инструменте Snaps Toggle
— окно Grid and
Snap Settings (Настройки сетки и объектных привязок) раскроется по умолчанию на
вкладке Snaps (Объектные привязки). Оставьте на ней флажок только для пункта Grid
Points (Узлы сетки) и закройте окно. Однако пока эта привязка действовать не будет,
т. к. мы установили только ее параметры. Чтобы ее активизировать, необходимо
выбрать соответствующий тип привязки — активизируйте там инструмент Snaps
.
Toggle
и попробуйте теперь
Перейдите на командную панель на вкладку Create (Создать)
создать объект типа Box (Параллелепипед). Обратите внимание, что возле курсора по— этот прямоугольник как бы "прилипает"
явится прямоугольник с перекрестием
к узлам сетки. Для тренировки создайте три куба со сторонами 20, 30 и 40 см.
Чтобы удалить результаты экспериментов, выполните из главного меню команду Edit
(Редактировать) | Select All (Выделить все), в результате все объекты будут выделены,
затем снова в главном меню выполните Edit | Delete (Удалить). Все объекты будут удалены.
Пример создания деревьев из примитивов
На вкладке Create (Создать)
в выпадающем списке пункта Geometry (Геометрия)
убедитесь, что включена опция Standard Primitives (Стандартные примитивы) — откроется меню стандартных примитивов (рис. 2.5). К стандартным примитивам
3ds Max практически всех версий относятся следующие объекты: Box (Параллелепипед), Cone (Конус), Sphere (Сфера), GeoSphere (Геосфера), Cylinder (Цилиндр), Tube
56
Глава 2
(Труба), Torus (Тор), Pyramid (Пирамида), Teapot (Чайник), Plane (Плоскость) и
TextPlus (ТекстПлюс).
Создайте простую елочку (рис. 2.6) из двух стандартных примитивов: ствол — из цилиндра (Cylinder) и крону — из конуса (Cone).
Рис. 2.5. Стандартные примитивы
Рис. 2.6. Первый объект — "елочка"
Обратите внимание на то, чтобы елка оказалась реального размера, учитывая, что в качестве единиц измерения у нас включены сантиметры. Пусть она будет высотой 2–3 м.
Чтобы уточнить размеры исходных примитивов, на командной панели инструментов
и внесите нужные изменения в значения параметров. Для
откройте вкладку Modify
размещения конуса над цилиндром воспользуйтесь командой Select and Move
, расположенной на главной панели инструментов. Примените подходящие цвета и сгруппируйте оба примитива, для этого выделите их, удерживая клавишу <Shift>, и выполните из главного меню команду Group (Группа) | Group (Группировать). Присвойте
созданной группе имя, например, Elm.
Из получившейся "елочки" (см. рис. 2.6) создадим аллею. Выделите объект Elm и в
главном меню выберите Tools (Инструменты) | Array (Массив). В разделе Array
Dimensions (Размерность массива) отметьте вариант 1D (Одномерный массив) и число
Count (Количество) задайте равным 5, а в верхней части окна в разделе Incremental
(Расстояние между объектами) установите смещение по оси Х — например, 150 см
(рис. 2.7). Предварительный результат в видовых окнах можно просмотреть, щелкнув
кнопкой Preview (Предварительный просмотр), — у нас получилась небольшая аллея.
Теперь создадим двумерный массив. Рядом с объектом Elm установите еще одно дерево
(рис. 2.8), сделанное из двух примитивов: ствол — из объекта Cylinder (Цилиндр) и
крона — из объекта OilTank (Бак), входящего в семейство объектов Extended
Primitives (Дополнительные примитивы), см. раздел Создание простых объектов, глава 2. Сгруппируйте объект и назовите группу Tree.
Оставьте дерево выделенным. Снова выберите в главном меню инструмент Tools |
Array. Задайте опцию Array Dimensions — 2D (Двумерный массив) и смещение по оси
Х в разделе Incremental (Расстояние между объектами) установите равным 150 см,
Моделирование
57
Рис. 2.7. Создание одномерного массива
число Count (Количество) для 1D — 5, для 2D — тоже 5.
В нижней части окна установите смещение по оси Y равным
150 см (рис. 2.9).
Осталось добавить основание — сделаем его из примитива
Box (Параллелепипед) зеленого цвета. Должно получиться
примерно так, как изображено на рис. 2.10 (готовый пример
массива приведен в файле \scenes\lesson_2.1\Forest_end.max,
расположенном в электронном архиве в папке проекта
02_project).
Рис. 2.9. Создание двумерного массива
Рис. 2.8. Еще одно дерево
58
Глава 2
Рис. 2.10. Массивы простых объектов
Упражнение № 2-2. Основные команды.
"Восстанови стену, собери спички"
Первый способ, установка координат
Откройте файл \scenes\lesson_2.2\Lesson_2.2_wall.max из папки в электронном архиве
с помощью команды в главном меню File (Файл) | Open (Открыть). Исходная картинка
выглядит так, как показано на рис. 2.11.
Рис. 2.11. Кирпичи нужно вставить в стену
Ваша задача — вернуть кирпичи на место в стену. Для этого достаточно двух основных
кнопок: Select and Move
и Select and Rotate
, расположенных на главной панели инструментов. Начинайте с установки угла, для этого выделите темный кирпич, рас. В нижней части
положенный вне стены, с помощью инструмента Select and Rotate
окна программы будут отображаться углы разворота кирпича, параметры углов также
можно найти в окне Rotate Transform Type-In, вызываемом нажатием правой кнопки
мыши по иконке инструмента Select and Rotate
. Установите для X, Y и Z значение 0.
Затем выделите белый кирпич на стене во втором ряду и обратите внимание на координаты по оси Y и Z. Такие же координаты по оси Y и Z установите для темного кирпича
вне стены, для которого ранее сбрасывали углы разворота. Останется только ввести
значение по оси X, его можно высчитать в соответствии с положением соседних или
посмотреть координаты у кирпича на стене, расположенном в четвертом ряду в том же
самом месте, только выше. Продолжите разворачивать и перемещать кирпичи по коор-
Моделирование
динатам так, чтобы они стали параллельны
стене, и вставляйте в отверстия (видео
\lesson_2.2\Reconstruct_the_wall_var1.mp4).
Чтобы убедиться, что кирпич попал на место, можно вращать изображение в окне
Perspective, нажав предварительно кнопку
. Этот режим включаOrbit SubObject
ется также клавишами <Ctrl>+<R>. Окончательный результат показан на рис. 2.12,
см. файл \scenes\lesson_2.2\Lesson_2.2_wall_
59
Рис. 2.12. Собранная стена
end.max.
Второй способ
Снова откройте файл \scenes\lesson_2.2\Lesson_2.2_wall.max. Воспользуемся инструментом выравнивания, чтобы восстановить стену. Чтобы выровнять один объект относительно другого, можно воспользоваться командой Align (Выровнять)
, расположенной на главной панели инструментов, или через главное меню выполнить команду
Tools | Align | Align...
Начнем восстанавливать стену с угла. Выделите темный кирпич вне стены и щелкните
. Далее щелкните указателем мыши на том кирпиче в стене,
по команде Align
параллельно которому следует расположить новый кирпич (белый кирпич во втором
ряду), — откроется диалоговое окно Align Selection (Выровнять положение выделенных объектов), в котором необходимо сбросить флажок X Position (Позиция по оси X)
в области Align Position (Выровнять положение), Y и Z должны быть активны, установить все флажки в области Align Orientation (Выровнять ориентацию), щелкните по
кнопке OK. Таким образом вы выровняете взаимную ориентацию объектов и положение вдоль осей Y и Z. Далее, не снимая выделения с темного кирпича, снова активируйте команду Align
и щелкните по темному кирпичу в четвертом ряду на углу,
расположенному ровно над тем местом, где будет установлен отсутствующий кирпич.
В появившемся окне Align Selection установите X Position, а Y и Z выключите. Щелкните по кнопке OK. Темный кирпич будет ровно установлен в стену (видео \lesson_2.2\
Reconstruct_the_wall_var2.mp4).
Продолжите восстанавливать стену при помощи инструмента Align, попробуйте не использовать другие инструменты (Select and Rotate
или Select and Move
).
Собрать спички
Откройте файл \scenes\lesson_2.2\Lesson_2.2_matches.max из той же папки. Здесь требуется собрать все спички в коробок. Для этого сперва выделите все спички и с помощью
команды Align
разверните их относительно коробка, сбросив все флажки в области
Align Position и установив флажки в области Align Orientation. Затем командой Select
and Rotate
одновременно поверните все спички на угол –90° относительно оси X,
перед вращением убедитесь, что центр преобразования установлен в Use Pivot Point
Center (Использовать опорную точку)
(см. в главе 1 раздел Центр преобразова-
60
Глава 2
ния). В результате они будут расположены параллельно коробку и у каждой спички
угол поворота относительно оси X будет равен 0. С помощью команды Select and
Move
перетащите каждую спичку в коробок (\scenes\lesson_2.2\Lesson_2.2_matches_
end.max, видео \lesson_2.2\Matches.mp4).
П РИМЕЧАНИЕ
После каждого упражнения предлагается выполнить самостоятельно практическую работу
для закрепления навыков, рассмотренных в упражнении. Вы можете присылать результат
выполнения через форму обратной связи на сайте 3dtuts.by и задавать вопросы, если возникнут трудности при выполнении.
Практическая работа
Самостоятельно соберите карточный домик любым рассмотренным способом, похожий
на тот, что приведен в файле \renderoutput\practice_2.2\Practice_2.2_card_house.jpg (готовый карточный домик находится в файле \scenes\practice_2.2\Practice_2.2_card_house.max).
Упражнение № 2-3. Создание конструкций
из примитивов, рендеринг
Стандартные примитивы
Каждая поверхность любого объекта (не только стандартного) имеет две стороны: лицевую (Facing) и заднюю (Back). В любой точке поверхности можно восстановить
нормаль. Нормаль к поверхности всегда направлена в сторону от лицевой стороны (для
тел — наружу от объекта). Например, у стандартного примитива типа Box по умолчанию все грани повернуты наружу лицевой стороной, а задние стороны граничных поверхностей обращены внутрь объекта и поэтому не видны.
Стандартный примитив типа Teapot (Чайник) образован поверхностью без толщины.
По умолчанию вся внешняя сторона чайника лицевая, значит, вся его внутренняя сторона является задней. Если в списке параметров чайника убрать флажок у параметра
Lid (Крышка), то станет видна и его внутренняя сторона.
Создание колоннады
Создайте новую сцену программы, выполнив команды
File (Файл) | New (Новый) | New All (Новая сцена без
шаблона), и установите в качестве единиц измерения
сантиметры (см. раздел Упражнение 2.1). Сначала создайте основание будущей колонны, воспользовавшись
стандартным примитивом Cone. На виде Top изобразите основание конуса, отпустите кнопку мыши и переместите курсор на высоту конуса, потом щелкните
мышью и, перемещая указатель мыши вниз, выберите
верхний радиус (рис. 2.13). Щелкните правой кнопкой
мыши для завершения построения и выхода из инструмента Cone.
Рис. 2.13. Примитив Cone
Моделирование
61
Теперь зададим размеры конуса. Перейдите на вкладку Modify (Изменить)
и в
свитке Parameters введите значения параметров конуса: нижний радиус Radius 1 =
= 60 см, верхний радиус Radius 2 = 30 см и высоту Height = 40 см.
Поместите основание колонны в начало координат. Для этого выберите команду Select
и в строке состояния задайте всем координатам нулевые значения. Если
and Move
все изображение исчезло с экрана, то щелкните на кнопке Zoom Extents All Selected
(Масштабировать все окна до заполнения)
(справа внизу).
Измените цвет конуса — на вкладке Modify
значьте соответствующий цвет.
нажмите кнопку выбора цвета и на-
Теперь на основании возведем колонну. Воспользуйтесь стандартным примитивом
Cylinder и на вкладке Modify
задайте цилиндру точные размеры: Radius = 30 см
(равен параметру Radius 2 у основания), высоту Height = 260 см (чтобы вместе с высотой основания получилось 260 + 40 = 300).
Колонну нужно поставить на основание. Для этого опять воспользуйтесь инструментом
Select and Move
и в строке состояния введите значения координат X = Y = 0, Z = 40 см
(высота основания). Цвет колонны также измените, чтобы он совпадал с цветом основания.
Для удобства дальнейшей работы сгруппируйте основание с колонной — выделите конус и цилиндр (при нажатой клавише <Ctrl>) и на главной панели инструментов выполните команду Group | Group, после чего введите имя группы — например, Column.
Для того чтобы таких колонн было три, создайте копии первой колонны — клоны. На
виде Front (Вид спереди) выделите первую колонну и, нажав клавишу <Shift>, переместите клон колонны в новое положение. Повторите это дважды. Можно иначе: в контекстном меню в окне Number of Copies (Количество копий) введите 2. Одну колонну
переместите в положение с координатой X = –200 см, другую — в X = 200 см. Обратите
внимание, что координата Z для всей группы стала равна 150 см (половина от высоты
300 см).
Сгруппируйте все три колонны и назовите новую группу, например, 3_Columns. Затем
, удерсоздайте копии этой группы, для чего выделите ее кнопкой Select and Move
живая нажатой клавишу <Shift>, двигайте группу 3_Columns в нужном направлении —
откроется окно, показанное на рис. 2.14. Переключатель установите в положение Copy
(Копия), а в поле Number of Copies (Количество копий) введите 4. Не забывайте, что
шаг между колоннами мы установили равным 200 см. Исходя из такого шага, откорректируйте положение новых групп.
Разгруппируйте три промежуточные группы, для чего выделите их, а затем выполните
команду Group (Группа) | Ungroup (Разгруппировать) и удалите из них внутренние
колонны, — результат на виде Top демонстрирует рис. 2.15.
Выберите стандартный примитив Box и на виде Top очертите площадь основания колоннады. Переместите указатель мыши на вид Front или Left (Вид слева) и покажите
высоту параллелепипеда. Чтобы уточнить размеры основания, переключитесь на
командной панели и в свитке Parameters установите его размеры:
вкладку Modify
длина Length = 960 см, ширина Width = 560 см и высота Height = 40 см. Координаты
62
Глава 2
Рис. 2.14. Создание четырех копий
Рис. 2.15. Положение колонн
X = 0, Y = –400 см (это центр сооружения), Z = –40 см (высота основания со знаком
«минус»).
Клонируем теперь основание колоннады. Для этого щелкните на нем правой кнопкой
мыши и в контекстном меню выберите команду Clone (Клон). Переместите клон и на
виде Left создайте верхнюю часть сооружения. У нее относительно нижней будет изменена только координата Z = 300 см (высота колонн) (рис. 2.16).
На виде Top создадим крышу из примитива Pyramid. Установите для нее ширину
Width = 600 см, размер в другом направлении Depth = 1000 см и высоту Height = 100 см.
Координаты также рассчитать нетрудно: X = 0, Y = –400 см, Z = 340 см (высота колонн + размер верхней части). Подберите для крыши подходящий цвет (рис. 2.17). Готовая модель объекта приведена в файле \scenes\lesson_2.3\Lesson_2.3_temple_end.max,
расположенном в папке этого упражнения.
Рис. 2.16. Остается создать крышу
Рис. 2.17. Окончательный вид сооружения
Рендеринг
В главном меню раскройте панель Rendering (Визуализация) | Environment (Окружающая среда), в области Background (Фон) открывшегося окна нажмите кнопку
Color и измените цвет фона, на котором будет выводиться изображение (рис. 2.18).
Закройте это окно, сделайте активным видовое окно Perspective (щелкните правой
кнопкой мыши в любом месте видового окна) и выполните команду Rendering (Визуа-
Моделирование
63
лизация) | Render Setup... (Настройка параметров визуализатора). В верхней части окна
нажмите кнопку Render (Визуализировать). В результате вы получите окончательное
просчитанное изображение активного вида Perspective. Изображение можно сохранить
с помощью кнопки Save
.
Рис. 2.18. Настройка цвета фона
Практическая работа
Самостоятельно создайте модель столика (см. файл \renderoutput\practice_2.3\Shelf.png
в папке проекта). При построении используйте примитивы Box, Tube, Sphere, Teapot.
Упражнение № 2-4. Стандартные
и дополнительные примитивы
Создадим из примитивов небольшой замок (см. файл \renderoutput\lesson_2.4\Castle.png,
расположенный в папке проекта, рис. ЦВ-2.19). На этот раз воспользуемся как стандартными, так и дополнительными примитивами Extended Primitives (Дополнительные примитивы). Все дополнительные примитивы с разными настройками наглядно
представлены в файле \renderoutput\lesson_2.4\Extended_primitives.png.
Рис. ЦВ-2.19. Сцена из дополнительных примитивов
64
Глава 2
Откройте новую сцену (File | New | New All…), если она не была открыта. При открытии программы новая сцена открывается автоматически. Установите в качестве единиц
измерения сантиметры. Для этого в главном меню выберите команду Customize (Настройки) | Units Setup (Настройка единиц измерения), выберите метрическую систему
Metric = Centimeters, далее щелкните по кнопке System Unit Setup (Установка системных единиц) и убедитесь, что для параметра System Unit Scale (Масштаб системной
единицы) также установлены сантиметры — Centimeters. Далее сохраните сцену
в папке проекта \scenes\Castle.max.
На командной панели перейдите на вкладку Create
, убедитесь, что активирована
. Из свитка групп базовых объектов выберите Extended Primitives
опция Geometry
(Дополнительные примитивы) (см. видео \lesson_2.4\Extended_primitives.mp4). Начнем
создание сцены с основания замка. Щелкните по команде ChamferCyl (Цилиндр с закругленными краями) и создайте цилиндр пока произвольных размеров. На командной
панели перейдите на вкладку Modify
и измените следующие параметры объекта:
Radius (Радиус) = 30 см, Height (Высота) = 50 см, Fillet (Скос) = 1.5 см, увеличьте значение параметра Sides (Количество сторон) до 18 и Fillet Sides до 4, чтобы сгладить
форму. Переместите объект в точку (0, 0, 0). На командной панели задайте произвольный цвет, авторами был выбран RGB (154, 154, 229).
Создайте объект Gengon произвольных размеров из группы Extended Primitives. Поизмените слеложение объекта пока тоже не имеет значения. На вкладке Modify
дующие параметры: Sides (Количество сторон) = 12, Radius (Радиус) = 36 см, Fillet
(Скос) = 1 см, Height (Высота) = 15 см. Далее, не снимая выделения с объекта типа
. Затем щелкGengon, на главной панели инструментов щелкните по иконке Align
ните по ранее созданному цилиндру с закругленными углами. В появившемся окне
включите выравнивание по X Positoin и Y Position и далее нажмите кнопку OK. Высоту (Z) задайте координатой равной 50 см (см. видео \lesson_2.4\Castle_step1.mp4).
Создайте еще один цилиндр с закругленными краями ChamferCyl с параметрами:
Radius = 30 см, Height = 30 см, Fillet = 1.5 см, Fillet Sides = 4, Sides = 18. Используя
, разместите объект над двумя объектами (рис. 2.20).
команду Align
Создадим для замка лестницу и начнем с перил. Из группы Extended Primitives выберите объект L-Ext (объемная фигура напоминает букву L или угол) и создайте произвольную форму. Для объекта L-Ext задаются параметры для боковой и фронтовой стоукажите следующие параметры: Side
роны, а также высота. На панели Modify
Length (Длина боковой стороны) = –28 см, Front Length (Длина передней стороны) =
= –15.6 см, Side Width (Ширина боковой стороны) = 10 см, Front Width (Ширина передней стороны) = 10 см, Height (Высота) = 5 см. Фигуру нужно развернуть вдоль оси Y,
, на главной панели инструментов
для этого выберите инструмент Select and Rotate
включите угловую привязку Angle Snap
, данный тип привязки позволит разворачивать объект с шагом в 5°, разверните на –90° по оси Y. Не забудьте проверить значения
углов, они должны быть (X = 0, Y = –90, Z = 0). Переместите объект в точку (X = 15 см,
Y = –30 см, Z = 15 см). Правая часть перил для лестницы будет выглядеть в соответствии с рис. 2.21.
Создадим зеркальную копию правой части лестницы. Не снимая выделения с перил, на
главной панели инструментов щелкните по иконке Mirror (Зеркальное отображе-
Моделирование
65
ние)
. В окне Mirror: World Coordinate укажите для параметра Mirror Axis (Ось
отображения) ось X, Offset (Смещение) = −30 см и обязательно включите тип Clone
или Instance. В отличие от Clone, значение Instance позволит одновременно менять параметры сразу двух объектов. При создании большого количества копий лучше всегда
использовать тип Instance. Щелкните OK для завершения создания зеркальной копии.
Рис. 2.20. Основание замка
Рис. 2.21. Правая сторона
перил
Построим ступеньки. Из той же группы Extended Primitives создайте параллелепипед
со скошенными краями ChamferBox с параметрами: Length = 22 см, Width = 25 см,
Height = 2.5 см и Fillet = 0.5 см. Переместите объект в точку (0, −40 см, 0). Выберите
и, удерживая нажатой клавишу <Shift>, переместите
инструмент Select and Move
нижнюю ступеньку по оси Z вверх на 2.5 см. Появится окно клонирования, в котором
укажите тип клонирования Instance и количество копий Numbers of Copies = 2. Сместите каждую копию на 5 см вдоль оси Y (см. видео \lesson_2.4\Castle_step2.mp4). Укажите для всех созданных объектов цвет основания замка или любой другой по своему
желанию.
Создайте в сцене произвольных размеров объект Hose (Шланг). Это гибкий объект,
который можно соединять между двумя другими, реагируя на их движение. Используем этот объект в нестандартном назначении, для нашей сцены он будет служить в качестве двери. Для достижения нужной формы укажите следующие параметры: в области
Free Hose Parameters (Параметры свободного шланга) высота Height = 2 см, в области
Common Hose Parameters (Основные параметры шланга) Segments = 3, выключите
параметр Flex Section Enable (Включение гибких витков), в области Hose Shape (Форма шланга) включите значение D-Section Hose, чуть ниже введите параметры Width
(Ширина) = 30 см, Depth (Глубина) = 15 см, Round Sides (Количество сторон по кругу) = 15. Разверните дверь оси Z на 90 или −90°, арочная часть двери должна смотреть
в направлении замка, но пока останется лежать на горизонтальной плоскости. Чтобы
установить дверь в нужном месте на основании замка, выберите на главной панели ин. Наведите мышью на дверь, щелкните и переструментов команду Select and Place
местите ее над лестницей (см. видео \lesson_2.4\Castle_step3.mp4). Можно было не вра-
66
Глава 2
щать предварительно, а сразу воспользоваться инструментом Select and Place, но
потом пришлось бы уточнять угол прямо на основании замка. Задайте цвет, например
RGB (228, 184, 153).
Создайте несколько копий двери, уменьшите масштаб и распределите по основанию
замка (рис. 2.22).
Рис. 2.22. Расположение окон и двери
Рис. 2.23. Размещение деревьев
Для деревьев будем использовать объект Hedra и OilTank (Бак). Создайте произвольного размера объект Hedra, он будет служить кроной дерева. Укажите для него следующие параметры: Family (Семейство) = Cube/Octa, в области Family Parameters
(Параметры семейства) P = 0.3, Radius = 20 см. Параметры P и Q определяют геометрию между вершинами и гранями. Расположите крону недалеко от замка на высоте
35 см. Задайте цвет, например RGB (228, 214, 153).
Создадим ствол дерева, создайте объект OilTank с параметрами Radius = 2.8 см,
Height = 20 см, Cap Height = 2 см. Задайте цвет, например RGB (228, 143, 87). Далее
выровняем объекты дерева относительно друг друга. Не снимая выделения со ствола,
на главной панели инструментов и
в окне Perspective выберите инструмент Align
щелкните по кроне дерева. Укажите выравнивание относительно оси X Position и Y
Position, ось Z Position нужно выключить. Ствол дерева должен иметь нулевую пози, в нижней
цию по оси Z. Это можно проверить, выбрав инструмент Select and Move
части окна программы будут отображаться координаты положения объекта.
Выделите все объекты, образующие дерево (для добавления объектов к выделенным
нужно удерживать нажатой клавишу <Ctrl>). Создайте копию дерева, увеличьте немного крону и расположите второе дерево на другой стороне замка (рис. 2.23).
Создайте еще шесть копий кроны дерева для создания кустов. Измените размеры каждой копии, дополнительно можно уменьшить значение параметра P до 0.23 из области
Family Parameters для получения более округлой формы, и в области Axis Scaling (Ось
масштабирования) можно изменить значения параметров P, Q, R, чтобы придать неоднородность формам и сделать уникальные объекты. Расположите вокруг замка все
копии (рис. 2.24).
Самостоятельно из группы примитивов Standard Primitives добавьте крышу (объект
Cone), ручку для двери (объект Sphere) и землю (объект Plane) (см. рис. 2.19).
Моделирование
67
Рис. 2.24. Расположение кустов вокруг замка
Для создания красивой визуализации щелкните по иконке Render Setup (Настройки
визуализации)
на главной панели инструментов. В окне Render Setup для параметра Renderer (Визуализатор) выберите из списка пункт Arnold.
П РИМЕЧАНИЕ
Если в списке визуализаторов нет варианта Arnold, это означает, что программа установлена некорректно, попробуйте переустановить, ссылку на стабильную версию можно найти
на официальном сайте компании Autodesk. Есть также возможность заказать студенческую
версию с лицензией на год, однако для этого нужно предоставить подтверждение из учреждения образования, что вы являетесь учащимся.
Настроим цвет окружения, который будет служить подсветкой для нашей сцены.
В главном меню выберите Rendering (Визуализация) | Environment (Окружение).
В окне Environment and Effects установите для фона светлый тон, например можно
выбрать тот же цвет, что и для земли, но светлее. Чем светлее будет окружение, тем
ярче получится визуализация.
Для создания визуализации настройте вид и сделайте активным видовое окно
Perspective и на главной панели инструментов щелкните по команде Render Pro. Финальную визуализацию можно увидеть в папке проекта \renderoutput\
duction
lesson_2.4\Castle.png, готовая сцена находится в папке \scenes\lesson_2.4\Castle_end.
Практическая работа
Из простых фигур самостоятельно создайте модель часов (см. файл \renderoutput\
practice_2.4\Clock.png в папке этого же упражнения). В модели использовались стандартные и дополнительные примитивы, для построения стрелок выбран тип объекта
Hose.
Модификаторы
Вкладка Modify (Изменить)
командной панели открывает доступ к списку модификаторов Modifier List (Список модификаторов). Список модификаторов появляется
68
Глава 2
только в том случае, если выделен хотя бы один объект. Модификаторы позволяют изменять самые разные характеристики объектов. Список модификаторов приведен в меню (рис. 2.25) и разделен на три категории:
Selection Modifiers — служат для создания вариантов выбора элементов объекта;
WORLD-SPACE MODIFIERS (Глобальные модификаторы) — их можно приме-
нять сразу к нескольким объектам, используя глобальные координаты сцены;
OBJECT-SPACE MODIFIERS (Объектные модификаторы) — применяются только
к отдельным объектам или подобъектам с указанием локальных систем координат
этих объектов.
Некоторые модификаторы пригодны только для объектов определенного типа, поэтому
список модификаторов зависит от того, какой объект сцены выделен.
Работа со многими модификаторами сопровождается созданием так называемых габаритных контейнеров (объекта Gizmo). Это специальные визуальные каркасы, которые
отображаются в окнах проекций при работе с модификатором и показывают, как модификатор влияет на объект. Действие модификатора обычно распространяется внутри
контейнера. Для применения модификатора необходимо выбрать объект и щелкнуть на
требуемом модификаторе. Все примененные к объекту модификаторы записываются
в стеке модификаторов (рис. 2.26) в последовательности снизу вверх, т. е. каждый
новый модификатор размещается вверху стека.
Рис. 2.25. Список модификаторов
Рис. 2.26. Стек модификаторов
Конечная форма объекта зависит от последовательности применения модификаторов,
и каждый последующий модификатор влияет на результат всех предыдущих модификаторов, задействованных до него.
Моделирование
69
В стеке можно выбрать нужный модификатор и изменить его параметры. Модификатор
можно удалить, выделив его в стеке, а затем щелкнув мышью на значке корзины чуть
ниже. Чтобы поменять модификаторы местами, необходимо выделить в стеке один из
модификаторов и, удерживая нажатой левую кнопку мыши, перетащить его в нужное
место. В стеке модификаторов можно перейти на уровень частей объекта, щелкнув на
слева от наименования модификатора, а затем выделив соответствующий
значке
,
и
позволяют управлять положеподобъект. Инструменты трансформаций
нием габаритного контейнера.
Стек модификаторов обеспечивает доступ к истории моделирования объекта. Каждая
выполняемая над объектом операция моделирования сохраняется в стеке, и к ней всегда можно вернуться для настройки или удаления.
Чем больше модификаторов в стеке, тем больший объем памяти требуется для вычислений. С помощью команды Collapse All (Свернуть все) удаляется вся история создания объекта, и все отдельные модификаторы стека объединяются в одно общее изменение. Команду Collapse All вызывают из контекстного меню, щелкнув правой кнопкой
мыши в стеке модификаторов. После сворачивания стека изменять параметры модификаторов уже невозможно. Поэтому такую операцию рекомендуется выполнять только
в том случае, если дальнейшее видоизменение объекта с помощью указанных параметров не предполагается.
, похожий на глаз.
Внутри стека рядом с каждым модификатором появляется значок
"Выключив" его, вы отменяете действие выбранного модификатора, при включении вы
снова активируете модификатор.
Действие отдельных модификаторов описано далее в соответствующих упражнениях.
Упражнение № 2-5.
Применение модификаторов
В упражнении создадим небольшой интерьер и рассмотрим применение модификаторов Bend, Taper, Melt, Lattice, FFD и Slice. Финальную сцену можно увидеть на
рис. 2.39.
Создайте в проекте файл Room.max. Установите единицы измерения — сантиметры.
Построение лампы
Создайте в сцене в видовом окне Perspective объект Cylinder (расположен в группе
Standard Primitives) с параметрами Radius = 1 см, Height = 120 см. Так как мы будем
менять форму цилиндра, необходимо добавить сегменты, в данном примере нужно добавить сегменты по высоте. Увеличьте параметр Height Segments до 45.
и из списка
На командной панели перейдите на вкладку Modify (Изменить)
Modifier List выберите модификатор Bend (Изгиб). Пока объект не изменится, т. к. мы
не изменили силу воздействия модификатора. Чуть ниже в параметрах модификатора
в области Bend увеличьте параметр Angle до 165. В результате объект плавно изогнется (рис. 2.27, б).
70
Глава 2
П РИМЕЧАНИЕ
Если после применения модификатора вы не увидите изгиба, а появится только наклон
объекта, значит, не хватает сегментов по высоте. При использовании любого модификатора убедитесь, что у объекта достаточное количество сегментов.
Область действия модификатора можно ограничивать и дополнительно переносить его
центр воздействия. В настройках модификатора Bend активируйте опцию Limit Effect
(Ограничения). И введите для параметра Upper Limit (Верхний предел) значение 50 см.
В результате нижняя часть цилиндра будет изгибаться до высоты 50 см, а дальше будет
идти прямой объект (рис. 2.27, а).
а
б
Рис. 2.27. Применение модификатора Bend: а — увеличен угол изгиба, б — включены ограничения
Далее переместим центр воздействия модификатора, для этого слева от его названия
щелкните по иконке , раскроются подобъекты. Щелкните по строке Center и с попереместите центр примерно на высоту 70 см
мощью инструмента Select and Move
(см. видео \lesson_2.5\Video_2.27.mp4). Снова щелкните на подобъекте Center или по
названию модификатора Bend, чтобы выйти из редактирования.
Переместите объект немного в сторону, координаты объекта могут быть (−60 см, 0, 0).
Создайте сферу радиусом 26 см, число сегментов Segments укажите равным 34. Часть
сферы вдоль оси Z можно обрезать, за это отвечает параметр Hemisphere, введите для
этого параметра значение 0.5. В результате получим половину сферы, разместите ее
в соответствии с рис. 2.28, а, примерные координаты (−26 см, 0, 50 см).
Примените к сфере модификатор FFD3x3x3. Данный модификатор строит вокруг объекта сетку 3×3×3, и независимо от числа сегментов у объекта у вас есть возможность
изменять его форму, используя только вершины модификатора FFD. Есть другие виды
этого модификатора, различия между ними заключаются только в типе сетки. На конапротив названия модификатора FFD3x3x3,
мандной панели щелкните по иконке
чтобы раскрыть его подобъекты. Перейдите на уровень Control Points (Контрольные
вершины). В видовом окне появится сетка с вершинами в виде небольших квадратиков.
Для каждой вершины или группы вершин можно применять инструменты трансформации (перемещение, вращение, масштабирование).
Выделите все вершины, расположенные в середине сферы (это будет 9 вершин), увеличьте масштаб выделенной группы вершин на 50% и опустите их на 5 см вниз
(рис. 2.28, б, см. видео \lesson_2.5\Video_2.28.mp4). Щелкните по имени модификатора
FFD 3x3x3, чтобы выйти из режима редактирования контрольных вершин.
Моделирование
71
а
б
Рис. 2.28. Деформация сферы, а — активирована опция Hemisphere,
б — деформация с помощью FFD
Основание для лампы создано из объекта Box с параметрами Length = 40 см, Width = 8 см,
Height = 2 см. Поместите параллелепипед примерно в точку (−60 см, 0, 0).
Моделирование кресла
Кресло создадим из параллелепипеда и цилиндра, форму изменим с помощью модификаторов Bend и Taper.
Создайте в сцене объект ChamferBox (группа объектов Extended Primitives) с параметрами: Length = 4 см, Width = 70 см, Height = 25 см, Fillet = 1 см, увеличьте количество сегментов по ширине Width Segs = 30 и добавьте скосу плавности Fillet Segs = 3.
Примените к объекту модификатор Bend, для параметра Bend Axis (Ось изгиба) включите ось X, угол изгиба Angle = 260 см. Должно получиться неполное кольцо
(рис. 2.29). Раскройте подобъекты модификатора и выберите строку Gizmo, появится
желтый контейнер, повторяющий форму объекта. С помощью инструмента Select and
разверните контейнер на 90° вдоль оси X (рис. 2.30).
Rotate
Рис. 2.29. Применен модификатор Bend
Рис. 2.30. Gizmo развернут на 90°
72
Глава 2
Прежде чем применять второй модификатор к объекту, переместим его опорную точку
в центр. Выделите параллелепипед, на командной панели перейдите на вкладку
и активизируйте кнопку Affect Pivot Only (Воздействовать только на
Hierarchy
опорную точку), чуть ниже щелкните по кнопке Center To Object (В центр объекта).
Снова щелкните по кнопке Affect Pivot Only, чтобы выйти из режима редактирования
опорной точки.
Примените к объекту модификатор Taper (позволяет заострять или расширять объект).
Введите в области Taper для параметра Amount (Количество) значение 0.5, в области
Taper Axis Primary = Z, Effect = XY. В результате объект по форме станет напоминать
усеченный конус (рис. 2.31).
Создайте в сцене объект ChamferCyl (группа объектов Extended Primitives) с параметрами: Radius = 10 см, Height = 16 см, Fillet = 1 см. Примените к объекту модификатор Taper с теми же настройками, что и для предыдущего объекта (спинки кресла).
Выровняйте спинку и сидение кресла относительно друг друга, создайте группу Chair и
переместите объект, например в точку (0, –40 см, 12.5 см) (рис. 2.32).
Рис. 2.31. Применение модификатора Taper
Рис. 2.32. Готовое кресло
Моделирование стола
Создайте произвольных размеров объект ChamferBox и разместите его на высоте 15 см
(рис. 2.33). Для ножек будем использовать объект L-Ext. Создайте в сцене объект из
группы Extended Primitives L-Ext с параметрами Side Length = 5 см, Front Length =
= 10 см, Side Width = Front Width = 1.5 см, высота должна быть такой же, на которую
мы поднимали крышку стола — 15 см. Количество сегментов по всем направлениям
оставьте равным единице. Разместите ножку на углу стола (рис. 2.34).
Оставьте ножку стола выделенной и на главной панели инструментов выберите инст. В параметрах зеркального отражения выберите плоскость Mirror
румент Mirror
Axis (Ось отражения) = XY, для Clone Selection выберите Instance. Переместите зеркальную копию в противоположный по диагонали угол, старайтесь изменять положение только вдоль осей X и Y и не менять ее высоту. Обязательно проверьте положение
объектов на видах Top и Front.
Моделирование
73
Рис. 2.33. Форма и расположение крышки стола
Рис. 2.34. Положение ножки стола
Примените к любой из копий модификатор TurboSmooth. Так мы выбрали тип клонирования Instance, установленный модификатор автоматически применится для второй
копии. Модификатор TurboSmooth сглаживает ребра, причем степень сглаживания
зависит от удаленности ребер друг друга, чем ближе ребра, тем менее сглаженным
будет участок на модели.
Финальное размещение ножек показано на рис. 2.35.
Рис. 2.35. Финальная модель стола
Моделирование корзины
Корзину создадим из сферы и применим к ней модификаторы Lattice, Slice и Melt для
имитации плетеной корзины.
Активизируйте команду Sphere, но прежде, чем создавать объект, включите параметр
AutoGrid, расположенный чуть выше на командной панели. После этого подведите
курсор мыши к столешнице и создайте сферу. Параметр AutoGrid автоматически определяет поверхность, на которой создается объект (см. видео \lesson_2.5\AutoGrid.mp4).
Измените параметры сферы: Radius = 6 см, количество сегментов Segments укажите 20
и введите для Hemisphere значение 0.5.
Разверните сферу относительно оси X на –180° и переместите ее над столом. Примените к сфере модификатор Melt (Плавление). Данный тип модификатора изменяет форму
объекта в соответствии с формой расплавленного вещества. В настройках модификатора можно выбрать Ice (Лед), Glass (Стекло), Jelly (Желе) и Plastic (Пластик). Параметр
74
Глава 2
Amount определяет степень плавления объекта. В нашем примере будем использовать
модификатор Melt для создания дна. В настройках модификатора установите следующие параметры: Amount = 16, Solidity (Плотность) = Plastic.
Раскройте подобъекты модификатора Melt и щелкните по строке Center. Переместите
центр воздействия вниз (вдоль оси Z) примерно на –3 см (рис. 2.36, см. видео \lesson_2.5\
Video_2.36.mp4).
Добавьте к корзине модификатор Lattice (Решетка). Модификатор создает из объекта
видимую объемную сетку на основе положения его сегментов. В параметрах модификатора в области Geometry активируйте Struts Only from Edges (Создание цилиндрических отрезков из ребер объекта). Чуть ниже в области Struts введите следующие
параметры: Radius = 0.1 см, Sides = 10. Результат применения модификатора Lattice
показан на рис. 2.37.
Рис. 2.36. Изменен центр воздействия
модификатора Melt
Рис. 2.37. Применен модификатор Lattice
Каркас корзины создан, однако ее нужно открыть. Это можно сделать с помощью
модификатора Slice, обрезав верхнюю часть. Добавьте к корзине модификатор Slice.
Модификатор позволяет обрезать или разделить объект по трем плоскостям, параллельным осям X, Y и Z соответственно. По умолчанию включена ось Z, это означает, что
Рис. 2.38. Применен модификатор Slice
Рис. 2.39. Финальная сцена
Моделирование
75
объект будет обрезаться по вертикали. В настройках модификатора в области Slice
Type включите опцию Remove Negative. В результате все, что расположено выше
плоскости, будет удалено. Зайдите в подобъекты модификатора и передвиньте немного
вниз плоскость модификатора Slice Plane. Щелкните по названию модификатора, чтобы выйти из режима работы с подобъектами. Переместите корзину на стол (рис. 2.38).
Финальная сцена представлена на рис. 2.39 и в файле \scenes\lesson_2.5\Room_end.max.
Практическая работа
Создайте модель рожка мороженого в соответствии с файлом \renderoutput\practice_2.5\
Icecream.jpg. Для рожка используйте модификаторы Taper и Lattice.
Упражнение № 2-6. Сплайны, тела вращения
Типы сплайнов
В 3ds Max часто встречаются объекты под общим названием Shapes (Формы). Они
представляют собой одну или несколько кривых или прямолинейных отрезков. Обычно
формы входят в состав других объектов. 3ds Max 2022 поддерживает 13 основных объектов форм типа Splines (Сплайны), два типа NURBS-кривых (NURBS Curves), комбинирование форм Compound Shapes, пять дополнительных типов сплайнов (Extended
Splines) и три шаблона Max Creation Graph (Программируемый набор процедурных
команд).
Чтобы получить доступ к инструментам создания форм, перейдите на вкладку Create
и нажмите кнопку Shapes
. В разворачивающемся списке вы найдете все категории форм.
Выберите категорию Splines, чтобы раскрыть 13 кнопок для формирования объектов
этого типа. В cвитке Object Type (Тип объекта) имеются инструменты для создания
следующих стандартных сплайнов: Line (Линия), Rectangle (Прямоугольник), Circle
(Окружность), Ellipse (Эллипс), Arc (Дуга), Donut (Кольцо), NGon (N-угольник), Star
(Звезда), Text (Текст), Helix (Спираль), Section (Объект специального вида), Egg (Яйцо)
и Freehand (Сплайн от руки) (рис. 2.40).
Построение сплайнов
Примеры типов сплайнов представлены на рис. 2.41.
Создадим сначала сплайн типа Line. При выборе команды Line на командной панели
чуть ниже раскройте свиток Creation Method (Метод создания) и для пунктов Initial
Type (Исходный тип) и Drag Type (Перетаскиваемый тип) установите опции Corner
(С изломом) (рис. 2.42, видео \lesson_2.6\Video_2.42.mp4). Щелкните левой кнопкой
мыши несколько раз, перемещая курсор в новое место, — в результате вы получите
ломаную линию. Завершить создание кривой можно щелчком правой кнопки мыши или
клавишей <Esc>. Если выбрать другие опции из свитка Creation Method (Метод создания), то получится плавная кривая.
76
Глава 2
Рис. 2.40. Типы сплайнов
Рис. 2.41. Примеры сплайнов
Для создания сплайна типа Text сперва активизируйте эту команду, затем щелкните
мышью в нужном месте экрана (появится текст "MAX Text"), перейдите в свиток
Parameters этой команды и в поле Text введите требуемый текст. В том же свитке
задают и другие параметры текста (рис. 2.43).
Рис. 2.42. Методы создания Line
Рис. 2.43. Параметры текста
Визуализация сплайнов
Если сейчас с помощью команды Rendering | Render выполнить визуализацию, то получится пустая картинка. Это связано с тем, что сплайны по умолчанию не визуализируются. Чтобы сплайн стал при визуализации видимым (у сплайна появится толщина),
выделите его, перейдите на вкладку Modify
, в свитке Rendering поставьте флажок
Моделирование
77
в Enable In Renderer (Показать при визуализации) и повторите визуализацию —
сплайн появится. Флажок Enable In Viewport (Показать в видовом окне) создает толщину сплайна в видовом окне.
Попробуйте создать остальные типы сплайнов и визуализируйте их.
Однако сейчас все сплайны имеют одинаковую толщину. Чтобы ее изменить, снова
и в том же свитке Rendering измевыделите сплайн, перейдите на вкладку Modify
ните толщину в поле Thickness (Толщина). Задайте для сплайнов в сцене разную толщину: от 1 до 5 см. Проведите визуализацию и убедитесь, что толщина сплайнов изменилась (см. видео \lesson_2.6\Spline_thickness.mp4).
Типы вершин сплайна Line
Вершины сплайна Line различаются по типу и определяют степень кривизны сегментов сплайна, прилегающих к этим вершинам. Поддерживаются четыре типа вершин:
Corner (С изломом) — вершина, в которой сплайн претерпевает излом. Участки
сегментов вблизи такой вершины не имеют кривизны;
Smooth (Сглаженная) — вершина, через которую кривая сплайна проходит с плав-
ным изгибом (без излома), имея одинаковую кривизну сегментов при входе в вершину и выходе из нее;
Bezier (Безье) — вершина, подобная сглаженной, но позволяющая управлять кри-
визной сегментов сплайна при входе в вершину и при выходе из нее. Для этого вершина снабжена касательными векторами с маркерами в виде квадратиков зеленого
цвета на концах. У вершин типа Bezier касательные векторы всегда лежат на одной
прямой, а удаление маркеров от вершины, которой принадлежат векторы, можно
изменять. Перемещение одного маркера вершины Безье всегда вызывает симметричное перемещение второго. Перемещая маркеры касательных векторов вокруг
вершины, можно менять направление, под которым сегменты сплайна входят в вершину и выходят из нее, а изменяя расстояние от маркеров до вершины, можно регулировать кривизну сегментов сплайна;
Bezier Corner (Безье с изломом) — вершина, кото-
рая, как и вершина типа Bezier, снабжена касательными векторами. Однако у вершин типа Bezier
Corner касательные векторы не связаны друг с другом, и маркеры можно перемещать независимо.
Чтобы понять типы вершин, создайте из сплайна Line
исходную ломаную линию, которую вы видите на
рис. 2.44. Выделите ее, перейдите на вкладку Modify
и нажмите на знак
рядом с Line (Линия), а затем
выберите пункт Vertex (Вершина).
Рис. 2.44. Исходная кривая
Теперь выделяйте вершины по одной и на каждой нажимайте правую кнопку мыши —
при этом появится контекстное меню, фрагмент которого показан на рис. 2.45, а. Для
каждой вершины выберите соответствующий тип (рис. 2.45, б).
78
Глава 2
а
б
Рис. 2.45. Выбор типов вершин: а — контекстное меню; б — типы вершин сплайна
Задание типов вершин сплайна Line
При создании линий инструментом Line тип вершины определяют двумя способами.
В свитке Creation Method (Метод создания) в области Initial Type (Исходный тип) задают тип вершины, создаваемой простым щелчком. А в области Drag Type (Перетаскиваемый тип) назначают тип вершины, создаваемой перетаскиванием курсора мыши.
При создании линий с угловыми вершинами образуются прямолинейные сегменты, для
кривых с вершинами Безье получаются только криволинейные сегменты.
Преобразование сплайна в редактируемый сплайн
При создании сплайнов типа Rectangle, Circle, Donut и т. д. у вас есть возможность
изменить параметры фигуры, но нельзя поменять форму, переместить вершины сплайна и тем более изменить их тип. Однако, независимо от типа сплайна, его можно в любой момент преобразовать в редактируемый сплайн (за исключением кривой типа Line,
т. к. она всегда находится в таком состоянии). С этого момента будут доступны многие
полезные операции со сплайнами. Например, создайте или выделите в сцене сплайн
раскройте список модификаторов Modifier List,
Rectangle, на вкладке Modify
в котором найдите и выполните команду Edit Spline (Редактировать сплайн).
Преобразовать кривую в редактируемый сплайн можно также с помощью команды
Editable Spline (Редактируемый сплайн), выбираемой из контекстного меню, появляющегося после щелчка правой кнопкой мыши на названии типа сплайна в стеке
модификаторов.
Редактирование сплайна
Редактируемые сплайны можно править на уровне их подобъектов (вершин, сегментов,
сплайнов) посредством преобразований перемещения, вращения и масштабирования.
При удалении вершины она исключается из сплайна, а на ее месте создается сегмент,
соединяющий две соседние вершины. Это можно выполнить с помощью клавиши
<Delete> на клавиатуре компьютера или инструментом Delete в нижней части свитка
Geometry.
Моделирование
79
При объединении двух или более вершин образуется одна вершина. Инструмент Weld
(Объединить) для объединения вершин расположен в средней части свитка Geometry
(Геометрия). Числовое поле справа определяет порог объединения вершин. Вершины,
отстоящие друг от друга дальше, чем указано в пороговом значении, не объединяются.
Объединяемые вершины предварительно следует выделить. При выделении вершин на
сплайне их число отображается в нижней части свитка Selection (Выбор).
Чтобы добавить в сплайн новые вершины, нужно в верхней части свитка Geometry
активизировать команду Refine (Детализировать), а затем в требуемом месте кривой
вставить дополнительные вершины.
Создание тела вращения
Создадим из сплайна тело вращения — постараемся получить рюмку. Сначала на виде
Front создайте исходный сплайн для будущей рюмки (рис. 2.46, см. видео \lesson_2.6\
Video_2.46.mp4). Проследите, чтобы первая и последняя вершины сплайна имели одну и
ту же координату по оси X. При возникновении трудностей можно посмотреть готовый
сплайн в файле \scenes\lesson_2.6\Line_glass.max в папке проекта.
Теперь выделите исходный сплайн, перейдите на вкладку Modify
и разверните список Modifier List (Список модификаторов), в котором найдите модификатор Lathe (Тело вращения). Поначалу может получиться не слишком похоже на рюмку, поскольку
пока не указано правильное положение оси вращения. Изменить ее положение можно
несколькими способами. На вкладке Modify в свитке Parameters команды Lathe выберите подходящее значение для выравнивания (Align) оси относительно сплайна (Min,
Center, Max). Подходящим для вас окажется значение Max. Если достичь желаемого
результата все равно не удается, попробуйте изменить направление (Direction) осей X,
Y или Z. Если применить выравнивание Max и ось Y, то должно получиться, как показано на рис. 2.47 (см. видео \lesson_2.6\Video_2.47.mp4). Параметр Segments (Сегменты)
позволит управлять сглаженностью формы.
нажмите знак
Ось вращения можно перемещать иначе. Для этого на вкладке Modify
рядом с пунктом Lathe и выделите строку Axis (Оси) (рис. 2.48) — теперь с помощью
Рис. 2.46. Исходный сплайн
для тела вращения
Рис. 2.47. Тело вращения
Рис. 2.48. Выделена
ось вращения рюмки
80
Глава 2
инструмента Select and Move
можно просто двигать ось вращения в видовых окнах
(готовый пример тела вращения приведен в файле \scenes\lesson_2.6\Glass.max).
Установите флажок для Weld Core, в результате совпадающие вершины, которые
лежат на оси вращения, сливаются в одну вершину. При вращении на 360° (полное
вращение) рекомендуется всегда устанавливать Weld Core.
Построение модели фонтана
Создайте сцену Fountain.max, установите в ней единицы измерения — сантиметры. Сначала на виде Front постройте половину профиля основания фонтана (рис. 2.49), старайтесь начинать строить профильную линию сверху вниз. Затем примените модификатор
Lathe. Если в видовом окне основание фонтана выглядит неестественно (темные затенения на поверхности объекта), то попробуйте в свитке Parameters этого модификатора установить флажок рядом с опцией Flip Normals (Переориентировать нормали).
Включите параметр Weld Core и для параметра Segments поставьте значение 32.
Затем с помощью сплайна типа Line создайте в фонтане струи воды. Вначале изобразите одну струю, ее начало должно быть в центре фонтана. Выделите ее. На командной
, и активипанели перейдите на вкладку Hierarchy (Иерархия), щелкнув по иконке
зируйте команду Affect Pivot Only (Оказывать влияние только на опорную точку).
переместите систему координат струи
С помощью инструмента Select and Move
в ее начало. Выключите команду Affect Pivot Only (см. видео \lesson_2.6\Fountain_
part1.mp4). На главной панели инструментов установите положение центра преобразо, относительно которования Use Pivot Point Center (Использовать опорную точку)
го будет осуществляться "клонирование" струи. Сделайте активным видовое окно
Perspective, в результате вертикальная ось у объектов будет совпадать с глобальной
системой координат — Z. Затем, чтобы создать восемь струй, примените команду
формирования массива Tools (Инструменты) | Array (Массив), в верхней части слева
во второй строке задайте вращение (Rotate) на угол 45° вокруг вертикальной оси Z,
ниже в позиции для 1D (Одномерный массив) введите число 8 (45 · 8 = 360°) (см. видео
\lesson_2.6\Fountain_part2.mp4). Установить толщину струек воды можно в настройках
сплайна, увеличив параметр Thickness, финальная версия фонтана представлена на
рис. 2.50 (см. готовый файла \scenes\lesson_2.6\Fountain_end.max).
Рис. 2.49. Половина профиля основания фонтана
Рис. 2.50. Модель фонтана
Моделирование
81
Модель вазы
Создадим с помощью спирали модель вазы (см. рис. 2.54). В папке проекта scenes создайте сцену Vase.max. В окне Perspective создайте модель спирали (Helix) с параметрами, приведенными на рис. 2.51. Добавим видимость сплайну, для этого на панели
в свитке Rendering включите опции Enable In Renderer и Enable In
Modify
Viewport, измените толщину сплайна Thickness = 0.6 см. В перспективе спираль примет вид, как показано на рис. 2.52.
Рис. 2.51. Параметры спирали
Рис. 2.52. Вид спирали
На командной панели перейдите на вкладку Hierarchy
и щелкните на кнопке Affect
Pivot Only (Воздействовать только на опорную точку). Затем на виде Top сместите локальную систему координат вправо таким образом, чтобы ее ось Х прошла посередине
между проекциями верхнего и нижнего оснований (рис. 2.53). Отключите команду
Affect Pivot Only, перейдите в окно Perspective и выделите спираль. Далее создадим
24 копии спирали, каждая из которых будет разворачиваться на 15°, создавая объемную
форму. На главной панели инструментов выполните команду Tools | Array и создайте
массив с параметрами: в области Incremental в строке Rotate введите значение 15 для
оси Z, в области Array Dimensions для параметра Count 1D введите значение 24
(см. видео \lesson_2.6\Vase_array.mp4). Так как было активно видовое окно Perspective,
для клонирования относительно вертикальной оси мы выбрали ось Z.
Мы получили форму вазы, но без нижнего основания. Для его создания в окне
Perspective постройте цилиндр с радиусом 2.8 см и высотой 0.5 см. Выделите его, на
и укажите на
главной панели инструментов нажмите кнопку Align (Выравнивание)
одну из спиралей, образующих форму кувшина. В окне Align Selection (Выровнять положение выделенного объекта) установите выравнивание относительно X Position и Y
position, а для Current Object (Выравниваемый объект) и Target Object (Целевой
объект) было выбрано Pivot Point (Опорная точка).
При создании массива по умолчанию был выбран тип клонирования Instance, это означает, что все спирали зависимы друг от друга и достаточно поменять параметр одной,
чтобы изменить все копии. Выделите одну из спиралей, в свитке Rendering переключите форму сплайна с Radial на Rectangular и задайте параметры Width = 0.24 см,
Length = 0.48 см. Финальная форма вазы представлена на рис. 2.54.
82
Рис. 2.53. Новое положение системы координат
на виде Top
Глава 2
Рис. 2.54. Модель вазы
Готовый пример модели вазы приведен в файле \scenes\lesson_2.6\Vase_end.max, расположенном в папке проекта.
Практическая работа
Создайте шахматную фигуру в соответствии с файлом \renderoutput\practice_2.6\Chess.png.
Упражнение № 2-7. Выдавливание, фаски
Создание объемной модели
с помощью модификатора Extrude
Метод выдавливания (Extrude) удобен для формирования предметов, которые имеют
постоянное поперечное сечение вдоль одной из осей. При использовании этого метода
необходимо сначала нарисовать двумерную форму, предназначенную для выдавливания трехмерного тела. Кривая формы-профиля может быть как разомкнутой, так и
замкнутой. Форма для выдавливания может состоять из нескольких кривых. Для преобразования формы-профиля в тело к ней следует применить модификатор Extrude
(Выдавливание).
Создайте новый файл Extrude.max и установите в нем единицы измерения — сантимет| Shapes (Формы)
ры. На командной панели перейдите в раздел Create (Создать)
. Из открывающегося списка выберите категорию Splines. В окне проекции Front
создайте объекты типа Rectangle, Circle, NGon и незамкнутую кривую Arc в соответствии с рис. 2.55, параметры фигур могут быть произвольными. Выделите сплайн типа
и примените к нему
Rectangle, на командной панели перейдите на вкладку Modify
модификатор Extrude. В настройках модификатора для параметра Amount (Количество) введите значение 30 см. Примените модификатор Extrude ко всем созданным
сплайнам со следующими значениями Amount: NGon — 40 см, Circle — 10 см, Arc —
12 см. Создайте дубликаты колес и расположите созданные элементы в соответствии
с рис. 2.56. Готовый файл находится в папке проекта \scenes\lesson_2.7\Car_end.max, визуализация — в папке \renderoutput\lesson_2.7\Car.png.
Моделирование
Рис. 2.55. Пример расположения
профильных кривых
83
Рис. 2.56. Готовая модель
Создание объемной модели
с помощью модификатора Bevel
Создайте новую сцену Text.max и установите в ней сантиметры в качестве единиц измерения. Еще одно средство, позволяющее преобразовать двумерный профиль в тело выдавливания, — это модификатор Bevel (Фаска). В качестве исходного создайте сплайн
в параметрах текста измените
типа Text. На командной панели на вкладке Modify
текст на Hi!. Примените к тексту модификатор Bevel, надпись станет сплошной, но не
объемной. Чтобы сделать текст объемным, в свитке Bevel Values (Параметры фаски)
модификатора Bevel в области Level 1 (Уровень 1) задайте значение параметра Height
(Высота) равным 16 см. Модификатор Bevel содержит три уровня выдавливания (как
одновременное объединение трех модификаторов Extrude в одном месте), но кроме выдавливания Bevel позволяет на каждом уровне сделать скос, это добавляет плавности
форме. Level 1 включен всегда, и его высота показывает, насколько выдавлен первый
уровень. Значение Outline (Контур) указывает величину и направление скоса вдоль
всего контура для этого уровня. Положительные значения увеличивают очертания наружу, а отрицательные — внутрь. Для первого уровня оставим скос равным 0. Включите уровень 2 Level 2, установив флажок рядом с названием уровня. Установите высоту
Height (для Level 2) = 3 см, а скос Outline = –1 см. Включите Level 3 и введите для
высоты Height значение 3 см, для скоса Outline — значение –2 см. Настройки модификатора представлены на рис. 2.57. Результат моделирования показан на рис. 2.58.
Рис. 2.57. Параметры фасок
Рис. 2.58. Объемная фигура
84
Глава 2
Готовый пример тела выдавливания приведен в файле \scenes\lesson_2.7\Text_end.max,
расположенном в папке проекта.
Рассмотрим некоторые параметры из свитка Parameters (Параметры) модификатора
Bevel. У объектов, созданных как выдавливанием, так и методом фасок, имеется параметр Capping (Покрытие), в котором по умолчанию стоят два флажка напротив слов
Start (Закрыть в начале) и End (Закрыть в конце). Благодаря им происходит пространственное заполнение объекта. Попробуйте убрать эти флажки, и объект останется объемным, но пустым внутри (см. видео \lesson_2.7\Bevel_capping.mp4).
В качестве упражнения создайте объект в соответствии с файлом \renderoutput\
practice_2.7\Big_dipper.jpg. Для создания толщины объекта примените модификатор
Extrude.
Упражнение № 2-8. Построение
объемных моделей методом лофтинга
Метод лофтинга — наиболее гибкий и универсальный способ преобразования кривых
в объемные тела. При его использовании трехмерное тело строится с помощью двумерных объектов или сечений, перемещаемых вдоль кривой, называемой путем (Path).
Путь может иметь произвольную конфигурацию, а форма и размеры сечений вдоль пути могут меняться.
Чтобы создать объект методом лофтинга, требуются как минимум две формы: первая
в качестве сечения (сечений может быть несколько) и вторая — в роли пути. Если задано только одно сечение, то 3ds Max разместит его на обоих концах пути. Единственное
ограничение на путь — требование, чтобы он представлял собой одиночный сплайн
или кривую. Например, кольцо (Donut) не может служить путем, т. к. состоит из двух
сплайнов.
Создадим горку с помощью двух форм: спирали и П-образного сплайна (см. рис. 2.63).
|
Создайте новую сцену Slide.max. В окне Perspective с помощью команды Create
Shapes
| Helix создайте спираль со следующими параметрами: Radius 1 = 22 см,
Radius 2 = 10 см, Height (Высота) = 60 см, Turns (Число витков) = 2 и Bias (Смещение) = 0.1. Созданная спираль будет являться путем.
Далее создадим форму. На виде Front выполните команду Create | Shapes и в категории Extended Splines командой Channel создайте фигуру с параметрами Length = 6.5 см,
Width = 4 см, Thickness (Толщина) = 0.8 см. Оставьте флажок у Sync Corner Fillets
(Одинаковые скругления в углах) и значения обоих радиусов задайте равными 2 см
(рис. 2.59).
Для обеспечения доступа к инструменту Loft (Лофтинг) в составе сцены должна иметься хотя бы одна выделенная форма. Выделите форму (см. рис. 2.59), нажмите кнопку
командной панели Create
и выберите в раскрывающемся списке разGeometry
новидностей объектов вариант Compound Objects (Составные объекты) — в свитке
Object Type (Тип объекта) появятся кнопки, соответствующие типам составных объектов. Нажмите кнопку Loft — и в нижней части командной панели появятся свитки параметров лофтинга: Creation Method (Метод создания), Surface Parameters (Параметры
Моделирование
Рис. 2.59. Сплайн и сечение
85
Рис. 2.60. Параметры команды Loft
поверхности), Path Parameters (Параметры траектории) и Skin Parameters (Параметры
оболочки), показанные на рис. 2.60.
В свитке Creation Method имеются две кнопки: Get Path (Выбрать путь) и Get Shape
(Выбрать форму в качестве опорного сечения). 3ds Max проверяет, можно ли использовать выделенную кривую в качестве пути, т. е. состоит ли она из единственного сплайна. Если нет, то такая кривая может служить лишь опорным сечением создаваемого
объекта, и в этом случае в свитке Creation Method будет доступна только кнопка Get
Path. Если заранее выделенная кривая будет служить сечением, то следует нажать
кнопку Get Path, чтобы выбрать путь.
В нашем случае выделенная фигура является формой, поэтому нам следует выбрать
путь кнопкой Get Path.
Не изменяйте принятое по умолчанию состояние переключателя в свитке Creation
Method, который может быть установлен в одно из трех положений:
Move — форма, указанная после щелчка кнопкой Get Shape или кнопкой Get Path,
будет помещена в создаваемый объект и удалена со сцены;
Copy — в составе создаваемого объекта будет использована независимая копия
исходной формы;
Instance (Экземпляр) — будет задействован образец формы (этот вариант задан по
умолчанию).
При активизированной кнопке Get Path перейдите в любое видовое окно и укажите
курсором на спираль (рис. 2.59). Курсор примет вид, соответствующий режиму выделения пути, и если этого не произошло, значит, данная кривая не может быть выбрана
в качестве пути.
Щелкните левой кнопкой мыши. В результате будет получен объект Loft001 (рис. 2.61, а),
образованный движением сечения по спирали (см. видео \lesson_2.7\Loft_Slide.mp4). При
86
Глава 2
этом первая вершина траектории совпадет с положением формы сечения, а касательная
к траектории будет направлена в сторону оси Z сечения. В нашем случае положение
траектории не имеет значения.
Если при указании на путь держать нажатой клавишу <Ctrl>, то будет получен объект
с противоположной ориентацией (рис. 2.61, б), форма как будто вывернется наизнанку.
а
б
Рис. 2.61. Лофтинг с одним поперечным сечением: а — без нажатия клавиши <Ctrl>;
б — нажата клавиша <Ctrl>
Чтобы получить горку для спуска, потребуется деформация путем скручивания. Для
этого выделите объект Loft001 и перейдите на вкладку Modify
. В свитке Deformations (Деформации) нажмите кнопку Twist (Скручивание) — откроется окно Twist
Deformation (Деформация скручиванием). В нем выделите левую черную точку (она
отвечает за разворот сечения в его начале) и сместите ее вверх настолько, чтобы
в самом начале пути (оно расположено в нижней части спирали) основание сечения
стало горизонтальным. Затем выделите правую черную точку и сместите ее вниз
настолько, чтобы конец траектории также стал горизонтальным (рис. 2.62).
Рис. 2.62. Настройки лофта скручиванием
Моделирование
87
Объект типа лофт сохраняет связь с формами, созданными ранее (Helix и Channel).
Если изменить высоту спирали или число витков, то все изменения отразятся на финальной модели. Например, выделите объект формы (Channel), легче всего это сделать
в окне Tools (Инструменты) | Scene Explorer (Обзор сцены). В окне достаточно кликнуть по имени объекта для его выделения. На панели Modify измените длину формы
Length = 12 см, автоматически изменится ширина горки.
Метод лофтинга позволяет работать с несколькими профильными кривыми, что дает
возможность создавать сложные модели. Создайте на видео Front еще один сплайн
Channel (расположен в группе Extended Splines) с параметрами Length = 20 см, Width =
= 10 см, Thickness (Толщина) = 2 см. Положение сплайна может быть произвольным.
Выделите объект типа лофт и в свитке Path Parameters (Параметры пути) для параметра Path (Путь) введите значение 50. Таким образом мы определим позицию на пути для
следующей формы (в процентах). В свитке выше Creation Method щелкните по кнопке
Get Shape и щелкните по только что созданной форме Channel002. Объект типа лофт
изменится, на половине длины его форма плавно поменяется. Затем вернитесь в свиток
Path Parameters и введите для параметра Path значение 100. Щелкните по кнопке Get
Shape и выберите первую форму Channel001 (см. видео \lesson_2.7\Loft_slide_double_
form.mp4).
Итоговая модель горки представлена на рис. 2.63.
П РИМЕЧАНИЕ
Программа строит объект типа Loft на месте того объекта, который был выбран первым.
Например, если сперва было выбрано сечение, а затем вы указали на путь, то объект
будет построен на том месте, где размещалось сечение.
Рис. 2.63. Модель горки с двумя профильными кривыми
Практическая работа
Самостоятельно создайте модель отвертки в соответствии с файлом \scenes\practice_2.8\
Screwdriver.png. Используйте для создания модели профильные линии, которые отображены в файле, и прямую линию в качестве пути.
88
Глава 2
Упражнение № 2-9. Булева операция ProBoolean
Булевы операции
До определенного времени в программе 3ds Max имелась только одна возможность для
выполнения булевых операций — это команда Boolean. Она сохранилась и сейчас.
Однако в последних версиях программы появились две более совершенные команды:
ProBoolean и ProCutter. Первая из них целиком перекрывает возможности команды
Boolean и добавляет к ней намного больше функциональности, поэтому на команде
Boolean мы останавливаться не будем.
Для начала уточним сущность команды ProBoolean (Булева операция). Откройте файл
\scenes\lesson_2.9\Duck.max из папки проекта и рядом постройте произвольных размеров
параллелепипед Box001. Вдвиньте объект Duck наполовину в параллелепипед. Выделите
и из списка типов объектов выберите
объект Box001, перейдите на вкладку Create
Compound Objects (Составные объекты). Активизируйте команду ProBoolean.
В свитке Pick Boolean (Указать операнд) отметьте флажком вариант Move, и тогда после выполнения булевой операции вспомогательный параллелепипед исчезнет с экрана
(во всех остальных случаях он по-прежнему останется на экране). Далее в свитке
Parameters установите выполняемую булеву операцию (выберите вариант Subtraction), в области Apply Material (Применить материал) отметьте вариант Apply
Operand Material (Применить материал операнда), щелкните на кнопке Start Picking
(Начать выбор) и укажите на объект Duck. Результат выполнения булевой операции
Subtraction приведен на рис. 2.64.
а
б
Рис. 2.64. Результат операции Subtraction: а — исходные операнды; б — результат вычитания
Обратите внимание, что в данном случае выдавленная часть поверхности приобрела
цвет операнда Duck (см. файл \scenes\lesson_2.9\Duck_subtraction.max в папке этого упражнения). Если в области Apply Material отметить вариант Retain Original Material
(Сохранить исходный материал), то булев объект приобретет цвет первого операнда.
Моделирование
89
Виды операций команды ProBoolean
Команда ProBoolean поддерживает выполнение следующих булевых операций: Union
(Объединение), Intersection (Пересечение), Subtraction (Вычитание), Merge (Слияние),
Attach (Присоединение), Insert (Вставка), Imprint (Оттиск) и Cookie. При этом в одной команде ProBoolean могут выполняться разные булевы операции. Кроме того,
ProBoolean может разбивать результат выполнения операции на четырехугольные грани, которые хорошо сглаживаются применением модификатора Turbosmooth.
Операция Union (рис. 2.65, а) объединяет обе модели в единую модель, а операция
Intersection (рис. 2.65, б) сохраняет в новой модели только общую часть операндов.
Команда Merge объединяет сетки двух моделей без удаления исходных полигонов
(многоугольников), создавая новые ребра там, где объекты пересекаются.
Операция Attach объединяет два или несколько объектов в один объект без изменения их топологии (сеточной структуры).
Операция Insert сначала вычитает границу первого операнда из второго, а затем
замещает вырезанную часть первым операндом.
Операции Imprint и Cookie представляют собой варианты выполнения некоторых
предыдущих операций:
• Imprint вставляет ребра, возникающие при пересечении операндов, между операндом и исходной сеткой без удаления или добавления новых граней, создавая
отпечаток операнда на исходной сетке (рис. 2.66, а).
а
б
Рис. 2.65. Результат выполнения операций Union (а) и Intersection (б)
а
б
Рис. 2.66. Варианты булевых операций: а — Intersection+Imprint;
б — Union+Cookie; в — Intersection+Cookie
в
90
Глава 2
• Cookie выполняет специфическую булеву операцию и не добавляет грани из
операндов в исходную сетку. Но эта операция может быть полезна, чтобы вырезать отверстие в сетке или получить часть сетки внутри другого объекта
(рис. 2.66, б и в).
Создание модели кружки
с использованием булевых операций
Создадим модель кружки и тарелки, используя только примитивы и булевы операции,
финальную модель смотрите на рис. 2.71 или в файле \renderoutput\lesson_2.9\Cup.png.
Создайте сцену Cup.max и установите в ней в качестве единиц измерения — сантиметры.
Для основания чашки будем использовать цилиндр с фаской (ChamferCyl), объект
шланг (Hose) и тор (Torus). Все объекты для основания старайтесь располагать в центре сцены (координаты по оси X и Y должны быть равны 0).
Создайте объект ChamferCyl (объект находится в категории Extended Primitives)
в окне Perspective с параметрами: Radius (Радиус) = 25 см, Height (Высота) = 38 см,
Fillet (Скос) = 7 см, Sides (Количество сторон) = 40, Fillet Segs (Количество сегментов
на скосе) = 10. Поместите объект в точку (0, 0, 0). Далее создадим объект для отверстия
в кружке.
Продолжим работать в окне Perspective, добавьте в сцену объект Hose (объект находится в категории Extended Primitives) с параметрами: Height = 50 см, в области
Common Hose Parameters Starts = 50%, Ends = 62%, Cycles (Количество витков) = 1,
Diameter = –4%. В области Hose Shape задайте параметры Diameter = 42 см и Sides = 40
(количество сторон совпадает с основанием кружки). Поместите объект в точку (0, 0, 9 см)
(рис. 2.67).
Рис. 2.67. Расположение базовых форм для кружки
Выделите объект ChamferCyl001, перейдите на вкладку Create
и из списка типов объектов выберите Compound Objects (Составные объекты). Активизируйте команду
ProBoolean. В свитке Parameters выберите Subtraction (Вычитание), затем щелкните
по кнопке Start Picking (Начать выбор) и выберите в сцене объект Hose001. В кружке
появится пустая область (рис. 2.68, а).
Моделирование
91
Далее для скругления верхней части кружки добавьте в сцену Torus (объект находится
в категории Standard Primitives) с параметрами: Radius 1 = 20 см, Radius 2 = 3.2 см,
Segments = 40, Sides = 11. Переместите объект в точку (0, 0, 35 см).
Объединим созданный тор с кружкой. Выделите кружку, на панели Modify
вы увидите, что объект преобразовался в тип ProBoolean. В свитке Parameters выберите
пункт Union и щелкните по кнопке Start Picking, укажите объект Torus001. Результат
объединения смотрите на рис. 2.68, б.
а
б
Рис. 2.68. Результат булевых операций для кружки, а — отверстие, б — сглаживание края
Часто возникает необходимость изменить параметры или положение объекта, участвовавшего в булевой операции. Это можно сделать в любой момент, достаточно зайти
в подобъект Operands объекта ProBolean. Выделите чашку, на панели Modify
раскройте подобъекты, щелкнув по иконке , появится подобъект Operands. Щелкните
по нему. Таким образом вы активируете режим редактирования компонентов булевой
операции. Ниже в параметрах перейдите в свиток Sub-object Operations (Операции
с подобъектами). В поле со списком объектов щелкните по строке 2: Union – Torus001.
) и измените координату по
Активируйте команду перемещения (Select and Move
оси Z с 35 см на 34.4 см (см. видео \lesson_2.9\Cup_move_operands.mp4). Выйдите из
режима операндов, щелкнув по объекту ProBolean.
Для ручки чашки создайте объект тор (Torus) с параметрами: Radius 1 = 10 см, Radius 2 =
= 3 см, Segments = 30, Sides = 10. Дополнительно удалим сразу лишние части на торе,
чтобы части ручки не заходили внутрь чашки, для этого активируйте опцию Slice On и
введите для параметра Slice To значение 180. Разверните тор на 90° по оси X и расположите его на чашке так, чтобы он слегка заходил внутрь, но не проходил насквозь
(рис. 2.69).
Выделите чашку, в свитке Parameters выберите Union и щелкните по кнопке Start
Picking, укажите объект Torus001.
П РИМЕЧАНИЕ
Так как предыдущий тор уже был в составе кружки, то новый тор создался с тем же именем
Torus001, как и предыдущий. Если вы работаете с большим количеством объектов, рекомендуется переименовывать их, чтобы избежать путаницы в операндах булевой операции.
92
Глава 2
Изменим немного параметры ручки. Для этого выделите чашку, раскройте подобъекты
ProBolean и щелкните по кнопке Operands. В свитке Sub-object Operations (Операции
с подобъектами) щелкните по строке 3: Union – Torus001, в стеке модификаторов появится третья строка Torus, щелкните по ней. Ниже откроются параметры тора. Увеличьте Radius 2 до 3.5 см (см. видео \lesson_2.9\Cup_change_operands.mp4).
Добавим в сцену тарелку, она будет состоять из двух объектов OilTank, этот тип объекта имеет плавные элементы, подходящие для формы тарелки. Временно скроем чашку, чтобы она не мешала моделированию. Выделите чашку и щелкните по ней правой
кнопкой мыши, в контекстном меню выберите пункт Hide Selection (Скрыть выделенное).
Создайте в сцене объект OilTank (объект находится в категории Extended Primitives)
с параметрами: Radius = 52 см, Height = 50 см, Cap Height = 24 см, Sides = 24. Переместите объект в точку (0, 0, 0). Создайте копию полученного объекта (тип клонирования обязательно выберите Copy (независимая копия). Измените у копии следующие
параметры: Radius = 97 см, Height = 80 см, Cap Height = 40 см, и переместите ее в точку (0, 0, 6 см).
Выделите первый созданный объект OilTank001, перейдите в команду ProBolean. Выберите операцию Subtraction, щелкните по кнопке Start Picking и выберите верхний
объект OilTank002. Результат операции представлен на рис. 2.70.
Рис. 2.69. Расположение ручки
Рис. 2.70. Результат вычитания
Примените к тарелке модификатор TurboSmooth для сглаживания границ.
Верните в сцену чашку, щелкните правой кнопкой мыши в любом месте сцены и выберите команду Unhide All (Отобразить все). Поднимите чашку немного выше, чтобы она
стояла на тарелке.
Дополнительно можно добавить несколько сфер над чашкой разного радиуса для имитации дыма. Результат показан на рис. 2.71, финальная сцена — \scenes\lesson_2.9\Cup_
end.max.
С ОВЕТ
При выполнении булевых операций с объектами любых типов нужно убедиться, что они не
имеют самопересечений.
Моделирование
93
Рис. 2.71. Финальная модель чашки
В НИМАНИЕ !
Несмотря на эффективность булевых операций, старайтесь применять их с осторожностью, поскольку они часто приводят к построению плохой сеточной модели. Всегда, когда
это возможно, следует избегать булевых операций, если вы работаете с персонажной анимацией или создаете сложные текстурные карты.
Упражнение № 2-10. Булева операция ProCutter
Операция ProCutter позволяет рассечь один или несколько объектов другими объектами на несколько частей. Она удобна в тех случаях, когда объект взрывается, распадается на части под действием некоторой силы или другого объекта, а также если нужно
получить много мелких объектов разной формы.
В этом упражнении создадим витражное окно (см. рис. 2.75). Откройте файл \scenes\
lesson_2.10\Window_start.max из папки проекта. В сцене уже создана рама и стекло. Для
удобства работы с инструментом ProCutter "заморозим" раму для окна, чтобы случайно ее не выделить. В правой части окна программы по умолчанию размещается Scene
Explorer (Проводник сцены), в котором отображаются объекты сцены, если его нет, то
в главном меню выберите Tools | Scene Explorer. В окне Scene Explorer напротив объ, чтобы "заморозить"
екта window_frame в колонке Frozen щелкните по "снежинке"
объект.
Далее создайте четыре одинаковых параллелепипеда, примерные параметры: Length =
= 0.6 см, Width = 30 см и Height = 80 см. Каждый параллелепипед должен проходить
сквозь стекло, его толщина определяет будущее пространство между разбиваемыми
элементами. Разверните каждый из них на произвольный угол, например, как показано
на рис. 2.72.
Добавьте в сцену объект Tube (расположен в группе Standard Primitives), например
с параметрами: Radius 1 = 26 см, Radius 2 = 25.4 см, Height = 30 см. Расположите объект так, чтобы он пересекал окно (рис. 2.73).
94
Глава 2
Рис. 2.72. Положение секущих
параллелепипедов
Рис. 2.73. Положение секущей трубы
Выделите один из секущих объектов и в командной панели на вкладке Create
выберите из списка объекты типа Compound Objects. Активизируйте команду ProCutter.
Сначала будем выделять секущие объекты (параллелепипеды и трубу), а последним
укажем стекло.
В свитке Cutter Picking Parameters (Параметры указания секатора) щелкните по кнопке
Pick Cutter Objects (Указать секущие объекты) и укажите на остальные секущие
объекты. Все объекты должны появиться ниже в параметрах в области Sub-object
Operations (рис. 2.74).
Рис. 2.74. Список секущих объектов
Рис. 2.75. Результат разбиения стекла на кусочки
Вернитесь в свиток Cutter Picking Parameters и в области Cutter Tool Mode (Режим
работы секатора) установите флажки для опций Auto Extract Mesh (Автоматически
извлекать сетку) и Explode By Elements (Разделять по элементам). Первая из них автоматически извлекает результат разбиения после указания на разбиваемый объект. Бла-
Моделирование
95
годаря этому можно снова передвинуть секущий объект и продолжить разбиение уже
того, что получилось. Вторая опция автоматически отделяет каждый элемент
в отдельный объект и активна только в том случае, когда включена первая опция.
Нажмите кнопку Pick Stock Objects и укажите на стекло (объект window_glass) — останутся выделенными все секущие объекты, удалите их. Стекло будет разбито на некоторое число частей, каждая из которых окажется выделена своим цветом (рис. 2.75).
Этому состоянию соответствует файл \scenes\lesson_2.10\Window_end.max из той же
папки. Визуализация сцены расположена в папке проекта \renderoutput\lesson_2.10
\Window.png.
В свитке Cutter Parameters расположены параметры, влияющие на результат разбиения:
при включении опции Stock Outside Cutter результат будет содержать части разбиваемых объектов, которые находятся вне всех секущих объектов. Однако если среди
них имеются незамкнутые поверхности, например плоскости, то их ориентация будет определять те части разбиваемых объектов, которые оказываются внутри или
вне секущего объекта;
при включении опции Stock Inside Cutter результат будет содержать те части разбиваемых объектов, которые находятся внутри всех секущих объектов;
опция Cutter Outside Stock позволяет получать части секущих объектов, которые
находятся вне разбиваемых объектов.
Остальные функции команды ProCutter аналогичны таким же функциям команды
ProBoolean.
Практическая работа
Самостоятельно создайте сцену в соответствии с файлом из папки \renderoutput\
practice_2.10\Pumpkin.png.
Упражнение № 2-11. Простой домик
Создайте сцену Simple_house.max. Убедитесь, что в сцене установлены сантиметры
качестве единиц измерения. Не забудьте, что для их установки необходимо указать
нужные единицы измерения в двух окнах, особенно для системных единиц, более подробно см. главу 1, раздел Единицы измерения.
Построение стен
Чтобы обеспечить точность проектирования, следует включить привязку к узлам сетки.
Для этого щелкните правой кнопкой мыши на значке Snaps Toggle (Переключатель
объектных привязок)
главной панели инструментов и в открывшемся окне Grid and
Snaps Settings (Настройки сетки и объектных привязок) пометьте флажком клетку около Grid Points (Узлы сетки), очистив все остальные клетки. Закройте это окно и вклю.
чите привязку, щелкнув левой кнопкой мыши на значке Snaps Toggle
Будем строить дом с размерами в плане примерно 950 см вдоль оси X и 880 см вдоль
оси Y. Сначала в окне Top создадим исходную систему стен. Наружные стены пусть
96
Глава 2
будут толщиной 50 см, а внутренние — толщиной 25 см. Для построения стен воспользуемся сплайнами. Каждую стену необходимо создавать как замкнутый сплайн. Основную часть стены формируют инструментом Line (Линия) или Rectangle (Прямоугольник), а дугообразную часть — инструментом Arc (Дуга) (рис. 2.76).
Наибольшие трудности могут возникнуть при работе
с инструментом Arc (Дуга). Перед созданием дуги в
настройках привязки выключите привязку к узлам сетки (Grid Points) и включите привязку к вершинам
(Vertex). Для построения дуги перейдите на вкладку
| Shapes
и среди объектов типа Splines
Create
нажмите кнопку Arc — откроются свитки с параметрами дуги. В свитке Creation Method (Метод создания)
включите вариант построения End-End-Middle (Конецконец-середина). Проследите, чтобы в свитке Object
Type (Тип объекта) была отключена команда Start New
Shape (Начать новую форму), что позволит вам создать
Рис. 2.76. Планировка стен
дугообразный профиль стены из четырех линий, но образующих единый объект. Если этого не сделать, то
в дальнейшем вам придется соединять все стороны профиля в один объект с помощью
команды Attach (Присоединить).
Создайте одну дугу, затем вторую. Далее с помощью команды Line проведите два боковых отрезка. Теперь нужно убедиться, что дугообразный профиль стены построен
правильно, — это должен быть один объект, и в каждой его вершине должно быть по
одной вершине.
На главной панели инструментов включите режим выделения Select Object
и щелкните мышью в любом месте дугообразного профиля стены — он должен выделиться целиком.
Если дугообразный профиль не выделяется целиком одним щелчком (возможно, вы
своевременно в свитке Object Type не отключили опцию Start New Shape), то дальше
можно поступить следующим образом. Выделите в арке один из прямолинейных отрез. В свитке Geometry нажмите
ков (тип сплайна Line) и перейдите на вкладку Modify
кнопку Attach Mult (Присоединить несколько объектов). В открывшемся окне выделите все перечисленные в списке объекты, относящиеся к арке, а затем там же внизу нажмите кнопку Attach. Теперь все элементы арки образуют единый объект, и он выделяется одним щелчком в любом месте этого объекта.
Вы могли начать объединение всех элементов арки в один объект с выделения не прямолинейного отрезка, а дуги. Но тогда вам пришлось бы дополнительно превратить ее
в редактируемый сплайн. Для этого нужно выделить дугу, щелкнуть на ней правой
кнопкой мыши и в открывшемся контекстном меню выполнить команду Convert to
Editable Spline (Преобразовать в редактируемый сплайн). Тогда на вкладке Modify
в свитке Geometry для этой дуги появятся команды Attach и Attach Mult.
Убедимся, что в каждой угловой вершине дугообразного профиля имеется по одной
вершине. Перейдите на вкладку Modify и выделите рассматриваемый профиль. Раскройте список Editable Spline (Редактируемый сплайн) и перейдите в режим редакти-
Моделирование
97
рования Vertex (Вершина). По очереди с помощью инструмента Select Object
обведите прямоугольной рамкой каждую угловую вершину профиля и убедитесь, что
всякий раз вы выделяете только по одной вершине (рис. 2.77).
Рис. 2.77. Проверка
вершин дугообразного
профиля
Рис. 2.78. Выделена
одна вершина
Рис. 2.79. Построены стены
Число выделенных вершин отображается в нижней части свитка Selection (Выбор)
(рис. 2.78). Если там вы увидите надпись вроде 2 Vertices Selected (Выделены 2 вершины), то совпадающие вершины нужно будет превратить в одну с помощью команды
Weld (Объединить) из свитка Geometry. Тогда после выделения угловой вершины рамкой вы получите сообщение вида Spline 1/Vert 4 Selected (На сплайне № 1 выделена
вершина № 4). Можно, кстати, рамкой выделить сразу все вершины и выполнить
команду Weld, после чего у вас должны остаться выделенными четыре вершины.
Команда Weld объединяет вершины только в том случае, если расстояние между ними
не превышает значения, указанного в поле, расположенном справа от этой команды.
Поэтому если вершины не объединились, то следует увеличить это значение и снова
выполнить эту команду. Можно поступить иначе и воспользоваться командой Fuse
(Совместить) из этого же свитка — она совмещает обе вершины, устанавливая для них
одинаковые координаты. Однако у вас по-прежнему останутся отдельные вершины,
которые затем следует объединить в одну с помощью команды Weld.
Теперь можно отключить привязку к узлам сетки, включить режим редактирования
Segment (Сегмент) и подправить положение дугообразных стенок.
Когда исходная система стен готова, объедините их в одну группу: сначала выделите
все созданные сплайны, потом на главной панели инструментов выберите команду
Group | Group и введите имя группы — в нашем случае floor_plane (см. файл \scenes\
lesson_2.11\Plan.max из папки проекта).
Далее выделите группу floor_plane, перейдите на вкладку Modify
, раскройте список
модификаторов Modifier List, найдите команду Extrude (Выдавливание) и введите
300 см (или число, пропорциональное вашим размерам стен) в поле Amount (Количество) свитка Parameters (рис. 2.79).
98
Глава 2
Затем создадим проемы для окон — постройте четыре параллелепипеда (типа Box)
размером 130×140×75 см и разместите их внутри стен там, где должны располагаться
оконные проемы. Аналогично создайте и разместите еще три параллелепипеда размером 130×140×200 см — для дверей. При этом параллелепипеды должны выступать
за пределы стен, как показано на рис. 2.80.
Рис. 2.80. Вставлены заготовки
для проемов
Рис. 2.81. Созданы проемы
для окон и дверей
Далее мы создадим проемы с помощью другой булевой операции — ProBoolean (Профессиональная булева операция). Но поскольку булевы операции не работают с группами, то временно с помощью команды Group | Ungroup разгруппируйте floor_plane.
в выпадающем списке выберите
Выделите дугообразную стену, на панели Create
пункт Compound Objects и нажмите кнопку ProBoolean. Затем нажмите кнопку Start
Picking (Начать выбор), убедитесь, что в свитке Parameters для параметра Operation
стоит значение Substraction, и последовательно выберите все три параллелепипеда.
В результате два оконных и дверной проемы будут вырезаны из стены.
Отмените действие команды ProBoolean, выделите другую стену и аналогично создайте следующие проемы для окон и дверей (рис. 2.81).
Теперь сгруппируем этаж — выделите все созданное, на главной панели инструментов
выберите команду Group | Group и введите имя группы: floor_plane (см. файл
\scenes\lesson_2.11\Floor.max).
Построение крыши
Осталось сделать крышу. Основные скаты (боковые) создайте из примитива Plane.
Конусообразную часть крыши можно выполнить из примитива Cone (Конус). Создав
конус и подобрав его размеры, половину конуса можете "обрезать". Для этого выделите
, в свитке Parameters поставьте флажок проконус и перейдите на вкладку Modify
тив пункта Slice On (Обрезать) и поставьте для Slice To значение 180.
Заднюю стенку крыши можно сформировать из сплайна. Из линий создайте треугольник и примените к нему модификатор Extrude (Выдавливание) с небольшим значением
Amount, чтобы определить толщину крыши. У параметров Cap Start (Закрыть в начале) и Cap End (Закрыть в конце) установите флажки, чтобы стенка стала сплошной
Моделирование
99
Рис. 2.82. Модель дома
(рис. 2.82). Этому состоянию соответствует файл \scenes\lesson_2.11\House.max из той
же папки.
Практическая работа
Самостоятельно создайте модель бильярдного стола (см. файл \renderoutput\practice_2.11\
Billiard.jpg в папке этого упражнения).
Упражнение № 2-12. Составные объекты.
Команда Scatter
Команда Scatter (Распределить) дает возможность размещать по поверхности одного
объекта другие объекты. Так можно создавать поляны с травой, деревья с листьями,
парки и т. п. Эта команда находится в разделе Compound Objects.
В этой сцене создадим маленькую планету с деревьями и камнями, познакомимся
с созданием материалов и воспользуемся модификатором Noise для образования неровной поверхности, финальную визуализацию можно увидеть в файле \renderoutput\
lesson_2.12\Planet.png и на рис. 2.89 далее.
Сначала создадим объекты, которые будем распределять по планете, это будут два вида
деревьев и три вида камней. В качестве планеты возьмем простую форму сферы.
Деревья
Все построения делаем в видовом окне Perspective. Очень важно, в каком окне идет
построение, от этого может зависеть ориентация создаваемого объекта. Например, цилиндр может стоять вертикально или горизонтально относительно глобальной оси Z.
Создайте в сцене объект OilTank (из группы Extended Primitives) с параметрами:
Radius = 3 см, Height = 30 см, Cap Height = 2.6 см. Далее создайте объект GeoSphere
(расположен в группе объектов Standard Primitives) с радиусом Radius = 20 см. С помощью инструмента Align
, расположенного на главной панели инструментов, выровняйте крону дерева относительно ствола по оси X и Y и переместите ее на высоту
примерно 36 см.
Примените к кроне дерева модификатор Noise (Шум), он позволит добавить неровности к форме. Перейдите на панель Modify и в параметрах модификатора в области
100
Глава 2
Strength (Сила воздействия) введите следующие деформации вдоль осей координат:
X = –50 см, Y = –30 см, Z = 30 см. Вокруг объекта будет отображаться Gizmo — контейнер оранжевого цвета, который будет показывать изменение формы. Пока изменения почти незаметны. В параметрах модификатора уменьшите Scale до 30 (рис. 2.83,
см. видео \lesson_2.12\Video_2.83.mp4).
Рис. 2.83. Результат применения модификатора Noise
Применим к объекту материалы. В предыдущих упражнениях цвет объектам назначался через командную панель, путем изменения цвета сетки. По умолчанию в 3ds Max
материал не назначается объектам, для них задается цвет сетки, а набора характеристик, которыми обладает материал (прозрачность, отражение и т. д.), они не имеют.
Нам нужно объединить крону дерева со стволом, чтобы образовать единый объект (это
требование команды Scatter), и для того, чтобы крона и ствол имели разные цвета, необходимо применить к ним материалы.
На главной панели инструментов щелкните по иконке Material Editor (Редактор мате. Откроется окно Slate Material Editor (Узловой редактор материалов)
риалов)
(рис. 2.84), горячая клавиша <M>.
П РИМЕЧАНИЕ
Если у вас возникли трудности при открытии редактора материала, посмотрите видео
\lesson_2.12\Open_material_editor.mp4. Существует еще компактный вид окна работы с материалами, возможно, вы открыли именно его. Подробнее о работе с материалами будет
рассказано в следующей главе.
В окне редактора материалов слева будут расположены виды материалов, справа —
настройки выделенного материала, а в середине — рабочая область, где будут расположены слоты материалов и текстурных карт. В левой области в свитке Materials (Материалы) | General (Основные) перетяните в рабочую область материал Physical
Material (Физический материал). Это основной материал, который работает в стандартном визуализаторе Scanline Renderer и Arnold Renderer, однако он не будет работать в V-ray (популярный визуализатор, не входит в состав программы и устанавливается отдельно).
После того как вы перетянули материал, справа откроются его настройки, измените
цвет параметра Base Color (Основной цвет) на светло-зеленый (см. видео \lesson_
2.12\Set_up_base_color.mp4).
Моделирование
101
Рис. 2.84. Окно Slate Material Editor
Обратите внимание, что материал в рабочей области обрамлен в пунктирную линию,
это означает, что он выделен и его настройки отображаются справа.
Не закрывайте редактор материалов (его можно просто свернуть), выделите крону дерева. Снова перейдите в редактор материалов и в верхней части окна, в ряду, где расположены иконки, щелкните по команде Assign Material to Selection (Применить мате. Материал применится к объекту, в окне Perspective вы должны
риал к выделению)
будете увидеть примененный цвет (при качестве отображения High Quality или
Standard) (см. видео \lesson_2.12\Assign_material.mp4).
Перетяните в рабочую область еще один материал Physical Material. Измените его цвет
на светло-оранжевый и примените к стволу дерева.
Далее объединим крону дерева и ствол в один объект с помощью булевых операций,
рассмотренных в предыдущих упражнениях. Выделите ствол дерева, перейдите на
, раскройте категорию Compound Objects и щелкните по команде
вкладку Create
ProBoolean. В параметрах булевой операции выберите тип Union, щелкните по кнопке
Start Picking и щелкните по кроне дерева. Убедитесь, что опорная точка объединенного объекта находится у основания, в противном случае перейдите на панель Hierarchy
и с помощью команды Affect Pivot Only и инструмента перемещения (Select and
Move
) переместите опорную точку. Переименуйте объект в Tree.
Создайте копию объекта Tree (тип клонирования выбирайте Copy). Не снимая выделения с копии, зайдите в подобъекты ProBoolean, найдите операнд, который относится
к кроне дерева, и измените параметры области Strength модификатора Noise: X = –70 см,
Y = –50 см, Z = 60 см. Увеличьте радиус геосферы до 24 см (рис. 2.85, см. видео
\lesson_2.12\Video_2.85.mp4).
102
Глава 2
Рис. 2.85. Подготовлены два дерева для работы с инструментом Scatter
Камни
Построим в сцене три камня. Создайте сферу Sphere с радиусом 16 см и измените масштаб вдоль оси Z до 30%, чтобы ее сжать. Добавьте к объекту модификатор Noise,
в параметрах в области Strength измените следующие параметры: X = 10 см, Y = 0 см,
Z = 30 см, параметр Scale уменьшите до 18. Переименуйте сферу в Rock_1.
Создайте два дубликата (метод клонирования Copy) объекта Rock_1, каждую копию
переименуйте соответственно в Rock_2 и Rock_3. Для объекта Rock_2 уменьшите радиус
сферы до 13 см. В настройках модификатора Noise измените величину смещения по
осям: X = 0 см, Y = –40 см, Z = 10 см. Маcштаб по оси Z увеличьте до 60%.
Для объекта Rock_3 уменьшите радиус сферы до 10 см, а масштаб по оси Z увеличьте до
50%. Построенные камни будут соответствовать рис. 2.86.
Рис. 2.86. Форма камней
Далее можно назначить каждому камню материал Physical Material, аналогично как
мы делали с деревом, или можно просто назначить цвет сетки на панели Modify. В
данном упражнении способ, который вы выберете для окраски камней, не имеет значения, т. к. камень является единым объектом, а при использовании визуализатора
Arnold, всем объектам, у которых нет материала, назначается стандартный материал с
небольшим отражением. Выберите произвольные цвета для каждого камня, главное,
чтобы они немного отличались друг от друга.
Моделирование
103
Следующий шаг — подготовить модели камней к инструменту Scatter. В стеке модификаторов не должно быть истории, т. е. все примененные инструменты и деформации
должны быть свернуты в один, кроме того, масштаб не может отличаться от 100% по
всем осям. А мы уже масштабировали объекты вдоль оси Z. Чтобы сбросить значения
масштаба, воспользуемся командой Reset, она позволяет сбросить значения масштаба и
вращения без деформации самого объекта. Такой сброс параметров трансформации
часто используется при создании прямой кинематики, анимации и персонажной анимации.
Выделите первый камень, перейдите на вкладку Utility (Утилиты)
на командной
панели и щелкните по кнопке Reset XForm, затем чуть ниже — по кнопке Reset
Selected. К объекту добавится модификатор XForm. Если сейчас проверить значения
масштаба, то по всем осям будет стоять 100% (см. видео \lesson_2.12\Reset_
transformation.mp4).
и щелкните правой
Не снимая выделения с камня, перейдите на вкладку Modify
кнопкой мыши, например, на модификаторе XForm, в контекстном меню выберите
команду Collapse All (Свернуть все). Появится окно с предупреждением, щелкните по
кнопке Yes. Вместо двух модификаторов и сферы, появится модификатор Editable
Mesh (Редактируемая сетка). На этом этапе вам будет недоступно изменение параметров радиуса сферы или изменение модификатора Noise. Повторите сброс трансформации и сворачивание стека модификаторов для двух других камней.
Все объекты готовы к распределению. Создадим поверхность, по которой будут распределяться построенные деревья и камни. Пусть это будет сфера с радиусом 160 см.
Переименуйте сферу в Planet.
Распределение объектов
с помощью инструмента Scatter
Выделите любое дерево и перейдите на вкладку Create
| Geometry
, из свитка
типов объектов выберите Compound Objects и щелкните по кнопке Scatter. Чуть ниже
в параметрах в свитке Pick Distribution Object (Выберите объект распределения)
щелкните по одноименной кнопке и выберите в сцене объект Planet. Дерево появится
на вершине планеты (рис. 2.87). Чуть ниже кнопки будут расположены варианты клонирования, по умолчанию выбран вариант Instance (Зависимые копии), этот вариант
оптимизирует сцену при большом количестве копий.
Чуть ниже в области Scatter Objects в области Distribution (Распределение) можно
выбрать вариант Use Distribution Object (Использовать объект распределения) или Use
Transform Only (Использовать только трансформацию). Первый вариант задан по
умолчанию и позволяет создавать массивы объектов на поверхности другого объекта
(рис. 2.88). Второй вариант просто создает массив объектов, напоминает инструмент
Tools | Array, однако, в отличие от Array, инструмент Scatter позволяет создавать случайную трансформацию.
Перейдите в свиток Source Object Parameters (Параметры источника), в этой области
настраивается количество копий, базовый масштаб и хаотичность вершин. Увеличьте
параметр Duplicates (Дубликаты) до 40 Base Scale — до 80%. Чуть ниже в области
Distribution Object Parameters (Параметры размещения на базовой поверхности)
104
Глава 2
оставьте включенным параметр Perpendicular (Перпендикулярно), если его выключить, то объекты будут иметь исходную ориентацию, в нашем примере все деревья будут смотреть вверх, а не перпендикулярно поверхности сферы. В области Distribute
Using (Метод распределения) можно настроить варианты распределения по поверхности базового объекта. Пока оставим вариант Even, при котором копии случайно распределяются по полигонам базового объекта.
Рис. 2.87. Активизация
инструмента Scatter
Рис. 2.88. Массив объектов,
распределенных по сфере
Раскройте свиток Transforms (Трансформации), в этом свитке находятся основные настройки инструмента Scatter. Свиток разделен на области, соответствующие виду
трансформации (вращение, перемещение, масштабирование). В полях напротив каждой
из осей задается максимальное число, на которое может измениться объект. Например,
если задать Rotation (Вращение) по оси X = 15 deg, это означает, что каждая копия будет разворачиваться на угол в пределах от –15 до 15°. Угол выбирается программой
случайным образом.
Для дерева изменим только масштаб. В области Scaling (Масштабирование) включите
параметр Use Maximum Range и введите для оси X значение 40%. Все деревья будут
иметь свой уникальный масштаб, не больше 140% и не меньше 60%.
И последнее, в свитке Display включите параметр Hide Distribution Object (Скрыть
объект распределения). Команда Scatter создает копию поверхности распределения
и позволяет ее оптимизировать в случае, если поверхность имеет сложную форму.
В данном примере у нас простая поверхность и нет необходимости ее оптимизировать,
а дубликат создаст лишние проблемы при визуализации.
Выделите второе дерево и снова активизируйте команду Scatter. С помощью кнопки
Pick Distribution Object выберите сферу. В свитке Source Object Parameters введите
число дубликатов (Duplicates) = 20, для метода распределения Distribute Using выберите вариант Area, чтобы уменьшить пересечения с первым деревом. В свитке
Transform в области Scaling введите для осей следующие параметры: X = 10%,
Y = 10%, Z = 80%. Обязательно в свитке Display включите параметр Hide Distribution
Object.
Моделирование
105
Самостоятельно распределите три вида камней на поверхности сферы (объект Planet),
попробуйте кроме изменения масштаба реализовать вращение относительно оси Z.
Итоговая сцена может выглядеть в соответствии с рис. 2.89. Файл с итоговой сценой
находится в папке проекта \scenes\lesson_2.12\Planet_end.max.
Рис. 2.89. Итоговая сцена
Рис. 2.90. Сеточная модель поросенка
Модификаторы Edit Poly и Edit Mesh
Сеточные модели
Сеточные модели — это один из основных типов моделей, с которыми приходится работать в программе 3ds Max. Любой объект может быть представлен в виде сеточной
модели, а затем с помощью специальных инструментов редактирования преобразован
практически в любую другую форму. Например, можно создать объект типа Box
(Параллелепипед), преобразовать его в сеточную модель, после чего с помощью инструментов редактирования трансформировать ее в модель поросенка (рис. 2.90).
В 3ds Max можно оперировать сеточными моделями двух типов: с треугольными гранями и с полигонами:
объекты с треугольными гранями создают с помощью модификатора Edit Mesh (Ре-
дактируемая сетка) либо конвертированием объекта в Editable Mesh (Редактируемая сетка). Их структурными элементами (или подобъектами) являются Vertex
(Вершина), Edge (Ребро), Face (Грань), Polygon (Полигон) и Element (Элемент).
Если в стеке модификаторов раскрыть структуру такого объекта и выбрать строку
Face, то на объекте будут выделяться треугольные грани;
полигональные объекты создают с помощью модификатора Edit Poly (Редактируе-
мая полигональная поверхность) либо конвертированием объекта в Editable Poly
(Редактируемая полигональная поверхность). Их структурными элементами являются Vertex, Edge, Border (Граница), Polygon и Element. Если раскрыть структуру
такого объекта и выбрать строку Polygon, то на объекте могут выделяться полигоны
с большим числом сторон.
106
Глава 2
Объекты типа Edit Mesh поддерживались, начиная с более ранних версий программы.
Затем были введены объекты типа Edit Poly, обладающие рядом преимуществ. Поэтому именно их рекомендуется использовать при сеточном моделировании объектов.
Непосредственно с помощью вкладки Create
сеточные модели не создаются. Их
следует создавать либо конвертированием объекта в Editable Mesh или Editable Poly,
либо применением к объекту соответственно модификаторов Edit Mesh или Edit Poly.
Основное отличие применения Editable Poly от модификатора Edit Poly заключается
в том, что в последнем случае сохраняется параметрический характер создания модели
объекта. Например, если вы создадите объект типа ChamferBox, а затем примените
к нему модификатор Edit Poly, то в дальнейшем можно будет снова вернуться к исходной модели и изменить ее параметры, что окажется невозможным в случае конвертирования этого объекта в Editable Poly. То же самое касается и модификатора Edit Mesh.
Свитки Selection и Soft Selection
Создайте в сцене объект Teapot и добавьте к нему модификатор Edit Poly.
Выделение подобъектов
Выделить подобъекты объекта типа Edit Poly (Редактируемая полигональная поверхность) можно несколькими способами. В свитке Selection предусмотрена возможность
выделения подобъектов с помощью параметра By Vertex (Указанием вершины). Если
установить флажок у этой опции и выделить какую-либо вершину, то при активизации
режима выбора ребер (Edge) будут выделяться все ребра, инцидентные этой вершине, а
при активизации режима выбора полигонов (Poligon) будут выделены все инцидентные
ему полигоны (рис. 2.91, см. видео \Mesh\Video_2.91.mp4).
Рис. 2.91. Выделены четыре полигона, инцидентные указанной вершине
Чуть ниже расположен параметр Ignore Backfacing, если его активировать, то будут
выделяться только те вершины, которые видны в видовом окне.
В этом же свитке имеются также команды Shrink (Уменьшить), Grow (Увеличить),
первая команда сокращает объем выделения, вторая — увеличивает. В режимах редак-
Моделирование
107
тирования ребер можно воспользоваться командами Ring (Кольцо) и Loop (Цикл):
команда Ring позволяет выделить все ребра, лежащие в параллельных плоскостях
(рис. 2.92, а), а команда Loop выделяет все ребра, лежащие в той же плоскости
(рис. 2.92, б). Если затем нажать клавишу <Ctrl> и в свитке Selection щелкнуть на кноп, то выделятся все полигоны, которым принадлежат выделенные перед
ке Polygon
этим ребра. Количество выделенных объектов указывается в нижней части свитка
Selection.
а
б
Рис. 2.92. Выделение ребер: а — командой Ring; б — командой Loop
С ОВЕТ
Команду Loop можно вызвать двойным щелчком мыши на ребре. Для быстрого выделения
можно также использовать клавишу <Ctrl>. Для этого выделяется вершина, ребро или полигон, затем двойным щелчком по соседнему компоненту, удерживая нажатой клавишу
<Ctrl>, выделяется ряд или кольцо (см. видео \Mesh\Loop_ring_selection.mp4).
На панели Ribbon (Лента) имеются дополнительные удобные инструменты выделения
компонентов сетки Editable Poly. Чтобы инструменты панели Ribbon отображались
в интерфейсе программы, убедитесь, что на главной панели инструментов активна
. Между главной
кнопка Show Ribbon (Отображение инструментов панели Ribbon)
панелью инструментов и видовыми окнами будет расположена панель в свернутом виде. Раскройте ее, щелкнув по иконке
. Перейдите на вкладку Modeling — появятся несколько дополнительных областей. На вкладке Modify Selection расположены инструменты для быстрого выделения подобъектов, они будут недоступны, пока мы не
перейдем к работе с вершинами, ребрами или полигонами. На командной панели на
раскройте модификатор Edit Poly и щелкните по строке Edge. На
вкладке Modify
панели Ribbon появятся дополнительные команды выбора подобъектов (рис. 2.93). Некоторые из них дублируют команды в настройках модификатора Edit Poly на вкладке
Modify
— например: Grow, Shrink, Loop и Ring. Кнопки
, расположенные под командой Loop, позволяют постепенно увеличивать или уменьшать выделение
группы ребер, лежащих в той же плоскости. Аналогичные кнопки, расположенные под
командой Ring, увеличивают или уменьшают выделение группы ребер, лежащих в параллельных плоскостях.
108
Глава 2
Рис. 2.93. Команды выбора на панели Ribbon
Плавное выделение подобъектов
В настройках модификатора Edit Poly cвиток Soft Selection (Плавное выделение) позволяет выбирать подобъекты, расположенные в окрестности явно выбранного объекта.
В данном режиме перемещение или поворот выделенного подобъекта частично затрагивает рядом расположенные невыделенные объекты. Этот эффект плавно убывает при
увеличении расстояния в ребрах (Edge Distance) или при уменьшении силы воздействия, которые задаются параметрами Falloff (Зона охвата), Pinch (Сужение) и Bubble
(Степень влияния). На рис. 2.94 применены команды свитка Soft Selection и выбранная
вершина смещена в сторону (см. видео \Mesh\Soft_selection.mp4).
Рис. 2.94. Применение команды Soft Selection
В зависимости от типа выбранного подобъекта, на вкладке Modify
раскрываются
свитки с командами редактирования вершин (Edit Vertices), ребер (Edit Edges), границ
(Edit Borders), полигонов (Edit Polygons), элементов (Edit Element), геометрии (Edit
Geometry) и деформации раскраской (Paint Deformation). Многие из этих команд
будут рассмотрены далее на конкретных примерах.
Упражнение № 2-13. Моделирование флакона
В упражнении создадим простую форму флакона для хранения парфюмерной воды
(см. рис. 2.111), используя основные инструменты полигонального моделирования.
Моделирование
109
Создание базовой формы
Создайте файл Bottle.max. Установите единицы измерения — миллиметры. В окне
Perspective создайте примитив Box с размерами 60×60×90 мм, которые примерно соответствуют габаритам планируемого объекта. Число сегментов по всем сторонам оставьте равным единице. Переименуйте объект в Bottle. Примените к объекту модификатор
Edit Poly (Редактируемая полигональная поверхность). В стеке модификаторов перейдите на уровень полигонов (Polygon) и выделите верхний полигон.
В свитке Edit Polygons (Редактирование полигонов) примените к выделенному полигону команду Inset (Врезка), щелкнув указателем мыши на маленьком квадратике
справа, — в видовом окне появится небольшое экранное меSettings (Установки)
ню — Caddy-интерфейс.
C ADDY - ИНТЕРФЕЙС
Заголовок на черном фоне Caddy-интерфейса обозначает название выполняемой команды,
в нашем случае — Inset. Можно подвести курсор к заголовку, нажать кнопку мыши и переместить экранное меню в любое место видового окна. Если подвести курсор к любой из
нижних кнопок интерфейса, то кнопка станет более яркой, а под заголовком появится название команды, выполняемой выбранной кнопкой (рис. 2.95, см. видео \lesson_2.13\
Video_2.95.mp4).
Введите числовое значение параметра Amount Inset (Величина врезки) — например,
4 мм. Не выходя из интерфейса, щелкните на значке
, — в результате на верхней
грани появятся новые полигоны (рис. 2.95).
Рис. 2.95. Caddy-интерфейс: применение команды Inset
В том же свитке щелкните возле команды Extrude (Выдавливание) на иконку
Settings . В появившемся Caddy-интерфейсе введите для параметра Height значение
–80 мм и щелкните на значке
для принятия изменений.
В окне Top выделите четыре полигона (для добавления выделения удерживайте нажатой клавишу <Ctrl>) на верхней поверхности объекта и масштабируйте их по двум осям
на 80% (рис. 2.96, см. видео \lesson_2.13\Video_2.96.mp4) — такому состоянию объекта
соответствует файл \scenes\lesson_2.13\Bottle_step1.max, расположенный в папке проекта.
110
Глава 2
Рис. 2.96. Построена
базовая форма объекта
Рис. 2.97. Результат применения
команд Slice Plane и Slice
Создание новых ребер
В стеке модификаторов выделите подобъект Edge и в свитке Edit Geometry нажмите
кнопку Slice Plane (Секущая плоскость). Сместите плоскость вверх на высоту 82 мм
(координаты отображаются в нижней части интерфейса программы) и нажмите кнопку
Slice (Срез). Теперь опустите секущую плоскость на 20 мм вниз (координата по оси
Z = 62 мм) и снова нажмите кнопку Slice, после чего сместите плоскость еще на 8 мм
вниз и опять нажмите кнопку Slice. Отключите команду Slice Plane — в верхней части
объекта появятся новые ребра и грани (рис. 2.97). Такому состоянию объекта соответствует файл \scenes\lesson_2.13\Bottle_step2.max.
Выдавливание кольцевых выступов
на боковых гранях
Воспользуемся командой выдавливания с фаской Bevel для создания красивого выступа. В средней части объекта нужно выдавить как внутренние, так и внешние грани наружу на 3 мм. Однако, поскольку грани имеют противоположно направленные нормали, одной командой это сделать невозможно. Поэтому сперва выделите четыре внутренние грани и в свитке Edit Polygons примените к ним команду Bevel (Фаска) со
значениями параметров Height = –3 мм и Outline = –1 мм. Самый верхний параметр
следует установить в положение Local Normals (Локальные нормали) — в противном
в Caddy-интерфейсе,
случае результат получится совсем иным. Нажмите кнопку
чтобы завершить выполнение операции (рис. 2.98, см. видео \lesson_2.13\Video_2.98.mp4).
Теперь выделите четыре наружные грани и к ним примените команду Bevel с положительным значением параметра Height (рис. 2.99).
Выделите четыре наружные грани в верхней части объекта и аналогично примените
к ним команду Bevel с параметрами Height = 3 мм и Outline = –2 мм (рис. 2.100).
Моделирование
Рис. 2.98. Выдавливание внутренних граней вдоль
локальных нормалей
111
Рис. 2.99. Выдавливание внешних граней
вдоль локальных нормалей
Выделите одно внутреннее ребро на верхней поверхности объекта и в свитке Selection
нажмите кнопку Loop (Цикл) — выделятся все четыре ребра по контуру отверстия.
опустите эти ребра вниз на 5 мм (рис. 2.101).
С помощью команды Select and Move
Такому состоянию объекта соответствует файл \scenes\lesson_2.13\Bottle_step3.max.
Рис. 2.100. Внутренние грани верхнего венца
выдавлены внутрь
Рис. 2.101. Построен скос
на верхнем торце
Создание впадин на боковых гранях
Добавим декоративные углубления в нижнюю часть объекта. В режиме редактирования
ребер (Edge) выделите любое горизонтальное ребро на боковой стороне объекта,
в свитке Selection щелкните по кнопке Ring. Будут выделены все ребра на боковых
, расположенсторонах (рис. 2.102). В свитке Edit Edges нажмите иконку Settings
ную справа от команды Connect (Соединить). Эта команда предназначена для добавления новых ребер, перпендикулярных выделенным ребрам. В поле Segments этой
112
Глава 2
Рис. 2.102. Выделены
все боковые ребра
Рис. 2.103. Созданы
дополнительные боковые ребра
команды задается число создаваемых ребер — установите его равным 2. В результате
боковые части будут разбиты на три равные части (рис. 2.103).
Чтобы изменить нижнюю часть объекта, удалим его дно, для этого выделите три полигона снаружи и три полигона внутри объекта, образующих дно, и нажмите на клавишу
<Del>.
На боковых сторонах выделите два нижних средних полигона внутри объекта и в свитке Edit Polygons примените к ним команду Extrude с параметрами Local Normals
и Height = –2 мм, удалите нижний полигон в выступе. Повторите действия для двух
внешних полигонов (рис. 2.104, см. видео \lesson_2.13\Video_2.104.mp4). Такому состоянию объекта соответствует файл \scenes\lesson_2.13\Bottle_step4.max.
Рис. 2.104. Созданы впадины на боковых гранях
Моделирование
113
Закрытие дна и скругление ребер
При создании впадин мы удали полностью дно, это было сделано для исключения наложения полигонов. Сейчас закроем его с помощью команды Cap. В окне Perspective
разверните объект так, чтобы стала видна его донная часть. Перейдите в режим выделения Border и выделите любое ребро на границе внутреннего днища — выделятся все
ребра по контуру днища. В свитке Edit Borders нажмите кнопку Cap (Закрыть) —
в результате днище закроется одним многоугольником. Затем выделите какое-нибудь
ребро на границе наружного днища и снова выполните команду Cap.
Перейдите в режим выделения ребер (Edge). Выделите все ребра (<Ctrl>+<A>) модели
и в свитке Edit Edges с помощью команды Chamfer (Сопряжение) создайте на них небольшое скругление со значениями параметров Amount = 0,8 мм и числом сегментов
Segments = 2 (рис. 2.105).
Переключитесь в режим выделения полигонов (Polygon), выделите основание и в свитке Edit Polygons выполните команду Inset (Врезка) со значением параметра Amount =
= 4 мм (рис. 2.106).
Рис. 2.105. Скругление ребер
Рис. 2.106. На днище построен
новый полигон
Не снимая выделения, в свитке Edit Polygons выполните команду Extrude с параметром Height = –2 мм. В результате на днище образуется небольшое углубление.
Создание надписей
Добавим надпись на переднюю сторону флакона с помощью проецирования текста на
полигональную поверхность.
Создайте текст BASEL (тип шрифта — Tahoma, параметры Size = 13 мм). Поместите его
на переднюю часть флакона чуть ниже середины (рис. 2.107). Раскройте свиток
Rendering, уберите флажки с параметров Enable In Renderer и Enable In Viewport.
Примените к тексту модификатор Edit Spline.
114
Глава 2
Выделите флакон. Перейдите к подобъекту Polygon и выделите полигон напротив надписи. Перед проецированием разобьем полигон на сегменты, чтобы исключить артефакты при проецировании. В свитке Edit Geometry щелкните три раза по кнопке
Tessellate. В результате выделенный полигон объекта разобьется на 64 полигона.
| Geometry
и выберите
Далее перейдите в командную панель на вкладку Create
категорию Compound Objects. Активизируйте там команду ShapeMerge (Объединить
со сплайном). Нажмите кнопку Pick Shape (Указать сплайн) и укажите на текст — он
спроецируется на поверхность объекта. Не отменяя выделения объекта, примените
к нему модификатор Edit Poly. Проследите, чтобы каждая буква представляла собой
замкнутую область, в противном случае следует изменить параметры текста. Перейдите
в режим выделения полигонов (Polygon), автоматически должен выделиться спроецированный текст. В свитке Edit Polygons примените к тексту команду Extrude с параметрами By Polygon и Height = –1 мм — на поверхности объекта образуется вдавленный текст. Скройте исходный текст (рис. 2.108).
Рис. 2.107. Положение надписи
Рис. 2.108. Выдавлена надпись
Создание крышки
Создайте объект Box с параметрами Length = 40 мм, Width = 40 мм и Height = 10 мм.
Увеличьте параметр Height Segs до 2, чтобы добавить сегменты по высоте. Расположите объект над флаконом, немного опустив его внутрь (рис. 2.109).
Добавьте для объекта модификатор Edit Poly. Перейдите к редактированию ребер Edge
и выделите четыре ребра, проходящие по середине крышки. Увеличьте их масштаб на
10% (рис. 2.110).
Выделите верхний полигон и примените к нему команду Inset с параметром Amount =
= 12 мм. Выдавите с помощью команды Extrude образовавшийся полигон в центре на
высоту 10 мм.
Перейдите в режим выделения ребер (Edge). Выделите все ребра (<Ctrl>+<A>) модели
и в свитке Edit Edges с помощью команды Chamfer (Сопряжение) создайте на них не-
Моделирование
115
Рис. 2.109. Положение крышки
Рис. 2.110. Масштабирование ребер
большое скругление со значениями параметров Amount = 0,8 мм и числом сегментов
Segments = 2.
Готовая модель объекта (рис. 2.111) приведена в файле \scenes\lesson_2.13\Bottle_end.max
в папке проекта.
а
б
Рис. 2.111. Готовая модель флакона: а — визуализация модели; б — модель в видовом окне
Практическая работа
Самостоятельно создайте модель кресла (см. файл \renderoutput\practice_2.13\Chair.jpg).
116
Глава 2
Упражнение № 2-14. Editable Poly.
Деформация кистью
Деформация кистью инструментами панели Ribbon
В упражнении рассмотрим инструмент, который используется при скульптинге органических моделей, напоминает работу скульптора при лепке. В 3ds Max имеется ограниченный набор инструментов, существуют отдельные программы, такие как Autodesk
Mudbox или Zbrsh, которые могут работать с высокополигональными моделями и имеют расширенные инструменты для модификации формы.
Создайте сцену Cat_head.max. Установите единицы измерения — сантиметры. Создайте сферу с радиусом 40 см и параметром Segments = 64. Для деформации поверхности
воспользуемся командами панели Ribbon. Убедитесь, что эта панель включена (активизирована кнопка
на главной панели инструментов). Для удобства работы с панелью Ribbon раскройте ее вид с помощью кнопки
, расположенной на этой же панели, — все команды будут отображены в виде кнопок с подписями, разделенными по
группам (вкладкам). В свернутом режиме (режим по умолчанию) эта панель доступна
в трех режимах: Minimize to Tab, Minimaze to Panel Titile и Minimaze to Panel
Buttons.
Выделите сферу, примените к ней модификатор Edit Poly, на панели Ribbon перейдите
на вкладку Freeform (Свободная деформация) и активизируйте команду Push/Pull
(Вдавить/Вытянуть) — в активном окне вместо курсора мыши появится кисть в виде
окружности и перекрестья, а рядом с объектом отобразится панель с настройками кисти
(рис. 2.112).
Параметр Size определяет размер кисти, Strength — силу воздействия, Offset — область деформации внутри кисти. При маленьких значениях последнего параметра максимальные деформации будут затрагивать только полигоны, расположенные в центре
кисти.
Увеличьте размер кисти до 40, а параметр Offset — до 10 и проведите кистью по сфере
для создания выпуклых областей с одной и с другой стороны сферы, чтобы получить
ушки будущей кошки (рис. 2.113). При нажатой клавише <Ctrl> все изменения в объекте будут, наоборот, удаляться.
Рис. 2.112. Инструменты деформации сетки на панели Ribbon
Рис. 2.113. Созданы выпуклости
для ушек
Моделирование
117
а
б
в
Рис. 2.114. Выбор инструмента Conform
Выберите инструмент Conform
(рис. 2.114, а) — в сцене курсор мыши изменится
на кисть в виде двух окружностей (рис. 2.114, б):
внешняя окружность — это размер кисти, его можно изменить, удерживая нажатой
клавишу <Ctrl> и перемещая курсор мыши вверх-вниз при нажатой левой кнопке;
внутренняя окружность — это сила воздействия кисти, ее можно изменить, удерживая клавишу <Shift> и нажимая левую кнопку мыши.
Возле модели также появится окно Conform
Options (рис. 2.114, в) с настройками кисти. Установите значения параметров Full Strength (Полное воздействие) = 6 и Falloff (Зона охвата) = 106.
Разверните модель и создайте углубление для рта
(рис. 2.115).
Рис. 2.115. Воздействие
инструментом Conform
Рис. 2.116. Инструменты сглаживания
Чтобы немного сгладить форму, выберите инструмент
(рис. 2.116), уменьшите значения параметров Size до 20 и Strength до 0,05 и проведите этим инструментом по грубым формам модели.
С помощью инструмента Push/Pull сформируйте небольшую выпуклость для носа
(рис. 2.117, а), а удерживая нажатой клавишу <Alt>, создайте маленькие углубления
для глаз (рис. 2.117, б).
Рис. 2.117.
Воздействие
инструментом
Push/Pull
а
б
118
Глава 2
Теперь создадим усы. На вкладке PolyDdaw выберите инструмент Branches (Ветвлеи с помощью кисти вытяните полигон над губой. Повторите эту операние)
цию несколько раз с одной и с другой стороны (рис. 2.118). На вкладке Paint Deform
выберите инструмент Flatten
и проведите им по усам, чтобы придать неравномерность и сгладить неровности (рис. 2.119). Готовая модель объекта приведена в файле
\scenes\lesson_2.14\Cat-head.max в папке проекта.
Пользуясь рассмотренными в этом упражнении командами, самостоятельно создайте
модель головы собачки, приведенную в файле \renderoutput\practice_2.14\Dog_head.jpg.
Рис. 2.118. Воздействие инструментом Branches
Рис. 2.119. Воздействие инструментом
Flatten
Упражнение № 2-15. Модель лодки.
Использование модификатора Displace
В упражнении продолжим работать с сеточной моделью и рассмотрим способ моделирования по эскизам. Создадим небольшую лодку (см. рис. 2.141).
Создание эскизов
Создайте новую сцену и сохраните ее под именем Boat.max. В папке проекта к этой главе найдите папку \sceneassets\images. В ней обычно располагаются файлы текстур и
изображения, используемые в сцене, там вы найдете файлы front_view.png, left_view.png и
top_view.png. Эти файлы будут служить в качестве эскизов в видовых окнах. Для этого
нам понадобятся плоскости (объекты типа Plane), на которые применим текстурные
карты.
Моделирование
119
Размер плоскостей нужно выбрать так, чтобы он совпадал с соотношением сторон эскизов. Например, если размеры эскиза front_view.png составляют 1500 px по ширине и
229 px по высоте, то плоскость будем создавать с шириной 150 см и длиной 22.9 см или
1500 см и 229 см. Очень важно сохранить пропорции, чтобы дополнительно не настраивать расположение текстуры.
Начнем с вида сверху, создайте на виде Top плоскость размером Width = 150 см,
Length = 42.5 см. Применить текстуру к объекту можно перетягиванием ее из папки на
объект в программе. Откройте окно проводника так, чтобы оно немного перекрывало
окно 3ds Max, перейдите в папку sceneassets/images, перетяните файл top_view.png на
плоскость в видовом окне Perspective (см. видео \lesson_2.15\Assign_texture_from_
folder.mp4). В результате в окне Perspective будет отображаться лодка, вид сверху
(рис. 2.120). Во всех остальных видовых окнах текстурная карта отображаться не будет,
т. к. по умолчанию в них активизирован режим отображения Wireframe (Каркасная
модель отображения).
Переименуйте созданную плоскость в Top_view и переместите в точку (0, 0, –20 см).
Данная плоскость будет нужна только для срисовки, поэтому ее следует заблокировать
от выделения и перемещения. Щелкните правой кнопкой мыши по плоскости и в контекстном меню выберите опцию Object Properties (Свойства объекта). В области
Display Properties (Свойства отображения) выключите опцию Show Frozen in Gray
(Отображать в сером при заморозке) и чуть выше в области Interactivity (Интерактивность) включите опцию Freeze (Заморозить). Внешне в сцене ничего не должно измениться, однако плоскость не будет доступна для выделения. Чтобы изменить ее положение или удалить, нужно в окне Tools | Scene Explorer выделить объект, зайти в его
свойства и снять "заморозку".
Далее на виде Front создайте плоскость с размерами Width = 150 см, Length = 22.9 см.
Переместите плоскость в точку (0, 40, 10 см), переименуйте ее в Front_view. Примените
к ней текстурную карту front_view.png и "заморозьте" объект так же, как объект Top_view
(рис. 2.121).
Рис. 2.120. Результат применения текстуры
top_view
Рис. 2.121. Результат применения текстуры
front_view
Создайте третью плоскость в окне Left с именем Left_view и параметрами Width =
= 37.7 см, Length = 21.9 см. Примените к ней текстурную карту left_view.png, переместите плоскость в точку (100 см, 0, 10.5 см) и "заморозьте" ее.
120
Глава 2
В видовых окнах Top, Front и Left в меню каждого видового окна щелкните по режиму
отображения Wireframe и переключитесь на Default Shading, чтобы во всех окнах отображались плоскости с текстурными картами (рис. 2.122).
Сцена готова для моделирования лодки.
Рис. 2.122. Созданы плоскости с эскизами
Моделирование лодки
Существует несколько приемов моделирования сложных форм, одним из них является
использование примитива Box, последующее его усложнение путем добавления ребер и
редактирование формы в соответствии с эскизом. Такой подход, напоминающий работу
скульптора, когда из примитивной формы вырезается модель, мы и рассмотрим
в упражнении. Существует также метод, при котором из плоскости путем вытягивания
ребер создают сложные формы, его часто применяют при моделировании лиц или
органических моделей.
При выборе любого подхода всегда следует помнить о топологии модели (расположение и форма полигонов), правильная топология важна при текстурировании и анимации, а также критично важна при использовании модели в игровых приложениях.
Создайте объект Box произвольных размеров в центре сцены. Щелкните правой кнопкой мыши по объекту и выберите команду Convert To (Конвертировать в) | Convert to
Editable Poly (Конвертировать в редактируемую сетку). В данном случае лучше преобразовать параллелепипед в Editable Poly, а не применять соответствующий модификатор, т. к. нам не нужно возвращаться в настройки примитива Box.
Переименуйте объект в Boat. Сейчас объект имеет сплошную заливку и сложно рассмотреть детали эскиза за ним. Выделите объект Boat, щелкните по нему правой кноп-
Моделирование
121
кой мыши и откройте его свойства Object Properties. В области Display Properties
(Свойства отображения) включите опцию See-Through (Смотреть сквозь).
Перейдите к редактированию вершин и на каждом виде (Top, Left, Front) измените
положение вершины так, чтобы границы параллелепипеда очертили границы лодки
(рис. 2.123, см. видео \lesson_2.15\Video_2.123.mp4). Для более удобной работы с сеткой
рекомендуется включить отображение ребер, для этого в каждом видовом окне в меню
щелкните по пункту Default Shading и в выпадающем меню выберите опцию Edge
Faces.
Рис. 2.123. Начальная форма модели
Выделите четыре ребра, расположенные вдоль лодки, и в настройках модификатора
команды Connect. В настройках укажите
в области Edit Edges откройте опции
Segments (Сегменты) = 4. На виде Top и Front измените положение вершин в соответствии с эскизами. Число сегментов выбирается исходя из расположения структурных
элементов. В лодке есть перекрытия, и чтобы в будущем была возможность их создать,
добавляем нужное количество сегментов в начале. Сперва на виде Top определим положение вершин и соответственно ребер вдоль оси X (рис. 2.124, а).
Следующим шагом уточните положение вершин вдоль вертикальной оси Y (на виде
Top вертикальной осью является именно ось Y) (рис. 2.124, б).
а
б
Рис. 2.124. Расположение ребер и вершин на виде Top
122
Глава 2
Перейдите на вид Front и скорректируйте положение вершин по вертикали, по горизонтали мы можем изменить положение только крайних вершин, нижний темный
выступ пока не учитываем, он будет создан позже (рис. 2.125).
Рис. 2.125. Положение вершин на виде Front
На рис. 2.125 видно, что на носу лодки мы не можем повторить ее форму из-за нехватки сегментов. Выделите четыре продольных ребра на носу лодки (рис. 2.126, а) и примените команду Connect с Segments = 1. Все выделенные ребра будут соединены
новыми сегментами (рис. 2.126, б).
а
б
Рис. 2.126. Добавлены дополнительные ребра на носу лодки,
а — выделены ребра, б — применена команда Connect
На видах Top и Front уточните форму новых вершин в соответствии с эскизом.
Далее изменим положение нижних вершин в соответствии с видом Left. Третий вид на
эскизах обычно является уточняющим, иногда добавляют еще больше видов, чтобы
проработать детально модель с разных сторон. Чем меньше эскизов, тем чаще придется
принимать решение о форме модели, т. к. некоторые детали могут быть скрыты на виде
Front или Top. В нашем примере эскиз для вида Left поможет проработать нижнюю
часть лодки, т. к. она сужается, и мы это сможем изменить только на третьем эскизе
(вид Left). Начнем с носа лодки. Первые две пары вершин на основании лодки уже
уточнены на виде Top. Возьмем третью пару вершин (рис. 2.127).
П РИМЕЧАНИЕ
Используйте для выделения пары вершин на ортогональных проекциях (Top, Front, Left
и т. д.) рамку выделения, это позволит сразу манипулировать симметричной вершиной.
уменьшите масПерейдите на вид Left и с помощью инструмента Select and Scale
штаб вдоль оси X, пока вершины не коснутся края лодки (рис. 2.128, см. видео
\lesson_2.15\Video_2.128.mp4). Масштабирование вершин применяется только при выде-
Моделирование
123
лении двух и более вершин и работает как перемещение, с помощью масштабирования
вы не сможете увеличить масштаб вершины, для ребер и полигонов инструмент масштабирования работает в своем обычном режиме и изменяет их размеры.
Рис. 2.127. Выделена третья нижняя
пара вершин
Рис. 2.128. Изменено положение
нижней пары вершин
Выделите следующую пару вершин по направлению к корме лодки. Повторите масштабирование по оси X, пока не коснетесь края лодки на эскизе. Продолжите уточнять
форму дна лодки, пока не останется вершин, выходящих за пределы эскиза (рис. 2.129).
Рис. 2.129. Положение вершин в нижней части лодки
До этого мы добавляли сегменты только по длине лодки, теперь добавим сегменты по
высоте. Выделите все вертикальные ребра на лодке (не забывайте использовать команды Ring и Loop, см. Упражнение 2-14) и примените команду Connect c параметром
Segments = 1 (рис. 2.130).
Рис. 2.130. Создан дополнительный ряд ребер
124
Глава 2
На виде Front уточните по вертикали положение новых вершин в соответствии с положением белой доски в верхней части лодки. Далее, поочередно выделяя пары вершин
на только что созданном ряду сегментов, с помощью масштабирования немного расширьте форму лодки (рис. 2.131).
Рис. 2.131. Положение вершин
Создайте еще два ряда сегментов, один в верхней части, другой — в нижней (рис. 2.132).
Верхний ряд будет совпадать с темным деревом на лодке, нижний — с темно-желтым
(на рис. 2.132 — темно-серым). Уточните положение вершин на новых сегментах, расширьте их, только следите за эскизом на виде Left, вершины не должны выходить за
его пределы. Проверяйте форму лодки в окне Perspective, не должно быть перекрытий
и скрученных элементов. Этот этап сцены сохранен в файле \lesson_2.15\Boat_part1.max.
Рис. 2.132. Добавлены два новых ряда ребер
Продолжим добавлять детали. Выделите два полигона на дне на корме лодки
(рис. 2.133, а) и, если они широкие, то немного сузьте их по оси X в окне Perspecitve
(рис. 2.133, б).
а
б
Рис. 2.133. Масштабирование дна лодки: а — выделение полигонов; б — сужение
Моделирование
125
Не снимая выделения с полигонов, перейдите к настройкам модификатора и в области
Edit Polygons щелкните по настройкам команды Inset, введите в поле Amount значение 0.2 см и щелкните по кнопке OK. Будут созданы два внутренних полигона. Выделите на них две вершины, расположенные ближе к центру, и переместите вдоль оси X
в соответствии с эскизом и выступающей частью на лодке (рис. 2.134).
Рис. 2.134. Положение двух внутренних вершин
Попарно выделите остальные вершины и немного придвиньте их друг другу, используя
инструмент масштабирования. Выделите два внутренних полигона и выдавите их вниз
с помощью инструмента Extrude. Уточните положение вершин на виде Front
(рис. 2.135).
Рис. 2.135. Создан выступ
Выделите по периметру ряд полигонов (рис. 2.136) и выдавите их на 0.5 см с типом
выдавливания Local Normal (см. видео \lesson_2.15\Video_2.136.mp4). Если выбрать тип
выдавливания Group, полигоны будут смещаться вверх, в нашем примере они должны
идти перпендикулярно выделенным полигонам.
Рис. 2.136. Выдавлена окантовка
Выделите шесть верхних внутренних полигонов и удалите их с помощью клавиши
<Del>. Добавьте толщину, для этого примените модификатор Shell (Оболочка) и в параметрах модификатора введите для параметра Inner Amount значение 0 см, для Outer
Amount — значение 1 см. Щелкните правой кнопкой мыши по объекту и в контекстном меню выберите команды Convert to | Convert to Editable Poly. Мы снова преобразовали модель в сетку, чтобы была возможность выделять компоненты объекта.
126
Глава 2
Добавьте перекрытия. Для этого выделите два полигона с внутренней стороны лодки
(рис. 2.137, а) и в параметрах модификатора щелкните по команде Bridge (Соединение)
(расположена в свитке Edit Polygons). Выделенные полигоны соединятся (рис. 2.137, б).
Соедините остальные группы полигонов в соответствии с рис. 2.138.
а
б
Рис. 2.137. Создание соединений между полигонами: а — выделение полигонов; б — соединение
Рис. 2.138. Добавлены еще два перекрытия
При создании перекрытия в носовой части могут возникнуть трудности, будет казаться,
что полигоны перевернуты. Если это так, отмените операцию Bridge для носовой части
(File | Undo…). Выделите по два полигона с каждой стороны, откройте настройки
команды Bridge и подберите значения параметра Twist 1 или Twist 2 (оно может меняться от 0 до 3) так, чтобы полигоны отображались без скручивания (см. видео
\lesson_2.15\Bridge_twist.mp4).
Выйдите из режима работы с полигонами, щелкнув по названию модификатора Edit
Poly. Далее щелкните правой кнопкой мыши и откройте окно Object Properties, в котором выключите опцию See-Through.
Моделирование океана
Выключим отображение эскизов в сцене, для этого откройте окно командой Tools |
Scene Explorer, возле названия объектов Front_view, Left_view, Top_view выключите
.
видимость, щелкнув по иконке глазика
Океан будем создавать путем деформации вершин по текстурной карте. Создайте плоскость с размерами Length = 460 см, Width = 600 см. Добавим большое количество сег-
Моделирование
127
ментов, необходимых для деформации поверхности. Увеличьте параметры Length
Segs = 80, Width Segs = 160. Переименуйте плоскость в Ocean.
Примените к объекту Ocean модификатор Displace (Смещение). Сначала добавим текстурную карту, потом увеличим силу смещения. В параметрах модификатора в области
Image (Изображение) щелкните по кнопке None для параметра Bitmap (Растровое изображение). В появившемся окне в папке проекта к этой главе откройте файл
\sceneassets\images\water_displace.jpg. На кнопке появится путь к изображению.
Чуть выше в параметрах модификатора в области Displacement (Смещение) увеличьте
силу смещения Strength = 20 см. Вершины плоскости деформируются по текстурной
карте (рис. 2.139). Изображение, которое мы использовали для смещения, представляет
собой черно-белый растровый файл, при смещении белый цвет соответствует максимальному изменению, указанному в параметре Strength, черный цвет — нулевому
смещению. Таким образом можно самостоятельно создавать текстурные карты в любом
растровом редакторе с помощью мягкой кисти.
Рис. 2.139. Применение модификатора Displace
При желании можно увеличить частоту волн, изменив значение параметров U Tile и
V Tile в области Map.
Из папки \sceneassets\images\ перетяните на плоскость изображение water.jpg.
Переместите лодку ниже так, чтобы она погрузилась немного в воду (рис. 2.140).
Рис. 2.140. Положение лодки относительно воды
С помощью булевой операции уберем воду из лодки. Создайте копию лодки и переместите оригинал лодки чуть выше, чтобы она не мешала выделению. Выделите океан,
| Geometry
и из списка типов объектов выберите
перейдите на панель Create
128
Глава 2
Compound Objects. Щелкните по кнопке ProBoolean. В свитке Parameters выберите
вариант Inset, чуть выше щелкните по кнопке Start Picking и щелкните по копии лодки. Возможно, лодка полностью исчезнет вместе с тем участком океана, который проходил внутрь, или исчезнет частично, в любом случае конвертируйте океан в Editable
Poly. Перейдите на уровень Element (этот уровень позволяет выделить целиком объекты, объединенные ранее) и щелкните по остаткам лодки. Удалите их. Переместите оригинал лодки в первоначальное положение. Финальная сцена представлена на рис. 2.141.
Рекомендуется клонировать сложные объекты перед применением булевой операции,
т. к. вычитание, и особенно команда Inset, может некорректно отработать, все модели
должны иметь идеальную топологию. Если хотя бы одна вершина будет заходить или
пересекать соседний полигон, произойдут ошибки.
Рис. 2.141. Финальная модель лодки
Финальная сцена расположена в файле \scenes\lesson_2.15\Boat_end.max. Визуализация
сделана с помощью Arnold, свет для окружения изменен в окне Rendering | Environment, для параметра Color установлен белый цвет.
Практическая работа
Самостоятельно создайте модель, приведенную в файле \renderoutput\lesson_2.15\Bottle.png.
Упражнение № 2-16. Моделирование
скатерти и шторы. Модификаторы Cloth,
Garment Maker и HSDS [18]
Моделирование скатерти
Создайте модель простого стола с круглой столешницей. Число сегментов столешницы
установите минимальным, а число сторон (Sides) пусть будет равным 32. На виде Top
создайте прямоугольник (Rectangle) и расположите его над столом — он будет служить моделью скатерти, поэтому по размерам его нужно сделать больше столешницы
(рис. 2.142). Примените к нему модификатор Garment Maker (Модельер).
В общем случае этот модификатор предназначен для того, чтобы наносить поверхность
(выкройку) на трехмерный объект — чаще всего, на трехмерный персонаж. В нашем
Моделирование
129
Рис. 2.142. Скатерть над столом
примере модификатор Garment Maker преобразует прямоугольник в каркасный объект
и разобьет его на треугольники. Число треугольников в сетке можно регулировать
с помощью параметра Density (Плотность). Хотя с ним нужно быть осторожным, поскольку большое значение этого параметра создаст слишком много треугольников
и компьютер может зависнуть.
Параметр Auto Mesh (Обновить сетку автоматически) обеспечивает автоматическое
обновление плотности сетки. Если он отключен, то для обновления сетки следует нажать кнопку Mesh It (Обновить сетку). Опция Preserve (Фиксировать) должна быть
включена, иначе скатерть будет оставаться плоской. Установим значение параметра
Density = 0.2, чтобы сделать сетку более плотной.
Выделите все объекты в сцене и примените к ним модификатор Cloth (Ткань). В свитке
Object этого модификатора щелкните на кнопке Object Properties (Свойства объекта) — откроется диалоговое окно, в котором слева указаны объекты, участвующие
в процессе моделирования ткани. Каждый из них может быть неактивным (Inactive),
тканью (Cloth) или объектом столкновения (Collision Object). Выделите название
Tablecloth и в области рядом выберите опцию Cloth, чтобы указать, что этот объект является тканью. В области Presets (Предварительные настройки) назначьте материал
скатерти, например, Silk (Шелк). Тогда все физические параметры скатерти будут
установлены автоматически (рис. 2.143).
Затем в этом же окне выделите название Countertop. Внизу окна укажите, что этот объект является объектом столкновения (Collision Object), и с ним произойдет столкновение скатерти. Там же следует задать параметры столкновения (рис. 2.144) — установите значение параметра Offset = 3 см. Слишком малое значение этого параметра может
привести к тому, что объект столкновения будет выступать из-под ткани. При излишне
большом его значении может оказаться, что ткань не будет прилегать к объекту столкновения, а окажется над ним. Остальные объекты определите как неактивные (Inactive).
На панели модификатора Cloth раскройте свиток Simulation Parameters (Параметры
моделирования) и установите значение параметра Subsample (Подвыборка) = 3. Увели-
130
Глава 2
Рис. 2.143. Физические параметры скатерти
Рис. 2.144. Параметры столкновения
чение значения этого параметра повышает точность, но увеличивает время вычислений. Значение параметра Self Collision (Самостолкновение) установите равным 1. Его
увеличение способствует устранению самостолкновений ткани, и чаще всего рекомендуемого значения вполне достаточно. Число кадров моделирования (End Frame) задайте равным 100.
В свитке Object нажмите кнопку Simulate Local (Моделировать локально) — скатерть
опустится на стол, а ее края будут свисать по сторонам. Когда вы увидите, что полученный результат вас удовлетворяет, либо когда движение скатерти прекратилось, повторно нажмите кнопку Simulate Local, чтобы закончить моделирование. Такому состоянию объекта соответствует файл \scenes\lesson_2.16\Table_cloth1.max, расположенный в папке проекта.
Если же результат получится неудовлетворительным, то в свитке Object следует нажать кнопку Reset State (Восстановить состояние) и снова открыть окно Object
Properties, чтобы уточнить параметры моделирования. Если ткань опускалась на стол
слишком быстро, то в свитке Object следует нажать кнопку Simulate Local (damped),
чтобы замедлить движение и тем самым упростить для компьютера процесс моделирования. Возможно, придется увеличить значение параметра Subsample. Посмотрим, что
у нас получилось (рис. 2.145).
Теперь можно улучшить модель скатерти, применив к ней модификатор Edit Poly.
В видовом окне включите режим отображения Edged Faces и примените к скатерти
модификатор HSDS (Иерархическое подразбиение поверхностей) — он позволяет выполнять дополнительную дискретизацию объекта только в тех местах, где это нужно.
Для этого в свитке Advanced Options (Дополнительные опции) нажмите кнопку
Adaptive Subdivision (Адаптивное подразбиение) — в открывшемся одноименном окне
ис. 2.146) предлагается несколько вариантов такого подразбиения: низкое (Low), среднее (Medium), высокое (High) и произвольное (Custom).
Моделирование
Рис. 2.145. Предварительный результат
моделирования
131
Рис. 2.146. Варианты адаптивного
подразбиения поверхности
Включите среднее подразбиение и нажмите кнопку OK. В результате к модели скатерти будут добавлены вершины, и произойдет ее дополнительное сглаживание
(рис. 2.147). Чтобы заметить эффект сглаживания, перейдите на вкладку Modify
и в структуре модификатора HSDS выделите опцию Vertex. Затем попеременно выслева от названия
ключайте и включайте действие модификатора HSDS (значок
модификатора).
При желании аналогично можно выполнить дополнительное адаптивное подразбиение
модели и ее сглаживание (см. файл \scenes\lesson_2.16\Table_cloth2.max из той же папки).
Наложим на скатерть текстуру, из папки \sceneassets\images\table_cloth.jpg перетяните
изображение на объект Tablecloth. Создайте плоскость достаточного большого размера
для пола и установите для нее белый цвет.
Откройте настройки визуализатора Rendering | Render Setup и для параметра
Renderer установите визуализатор Arnold. Для окружения (Rendering | Environment)
для параметра Color установите светлый, почти белый цвет. Визуализируйте сцену
(рис. 2.148), а готовая модель объекта приведена в файле \scenes\lesson_2.16\Table_
cloth3.max из той же папки.
Рис. 2.147. Результат дополнительного
подразбиения и сглаживания модели скатерти
Рис. 2.148. Модель скатерти
132
Глава 2
Самостоятельно создайте модель умывальника с полотенцем (см. файл \renderoutput\
practice_2.16\Washstand.png).
Моделирование шторы
Штору создадим, используя модификатор Surface (Поверхность). Перейдите на вкладку Create
| Shapes
и из списка категорий объектов выберите пункт Max
Creation Graph (Программируемый набор процедурных команд). Щелкните по кнопке
Sin Wave (Синусоидальная волна) и просто щелкните в окне Front или Left. Будет создан объект с настраиваемыми волновыми витками. Для объекта укажите следующие
параметры: Segments = 40, Domain = 20, Range = 40. Переместите объект в точку
(0, 0, 0). Создайте копию объекта и переместите ее в точку (0, 0, 20 см).
Примените к любой форме модификатор Edit Spline и в настройках модификатора
щелкните по кнопке Attach (Присоединить) в области Geometry. Далее выберите
в сцене вторую форму. Таким образом объединим две формы в один редактируемый
сплайн (рис. 2.149).
Рис. 2.149. Формы объединены
в один сплайн
Рис. 2.150. Созданы
соединяющие сплайны
Перейдите к редактированию вершин и щелкните по кнопке Cross Section (Поперечное
сечение) в области Geometry. Подведите курсор мыши к нижней части вершин, щелкните, затем подведите курсор к верхней группе вершин и снова щелкните. Будут созданы сплайны, соединяющие каждую вершину (рис. 2.150, см. видео \lesson_2.16\Video_
2.150.mp4).
Примените к сплайну модификатор Surface. Будет создана поверхность на основе положения сплайнов (рис. 2.151). Далее добавим сегменты и, чтобы была возможность
модифицировать поверхность, добавьте к шторе модификатор TurboSmooth. И добавим еще один модификатор — FFD4x4x4. Зайдите в подобъекты модификатора и с помощью управляющих вершин Control Vertex создайте форму, например, как показано
на рис. 2.152.
Итоговый файл расположен в папке scenes\lesson_2.16\Blind.max.
Моделирование
133
Рис. 2.151. Применен модификатор Surface
Рис. 2.152. Модификация формы шторы
Практическая работа
Самостоятельно перевяжите штору ленточкой и создайте модель из файла \renderoutput\
practice_2.16\Washstand.png.
Архитектурные объекты
В 3ds Max имеются специальные архитектурные объекты, позволяющие быстро строить модели помещений,
зданий и зеленых участков вокруг них (рис. 2.153).
К ним относятся двери (Doors), окна (Windows), лестницы (Stairs), а также дополнительные архитектурные
объекты (AEC Extended): стены (Wall), перила и ограждения (Railing), зеленые насаждения (Foliage). Объекты типа Railing включают перила (Rails), стойки (Posts)
и заборы (Fencing).
Рис. 2.153. Раскрывающийся список
категории Geometry
Стены
Стены (Wall) строятся из подобъектов — сегментов, которые можно редактировать на
. Для построения цепочки стен выберите категорию объектов AEC
вкладке Modify
Extended, в ней щелкните левой кнопкой мыши на кнопке Wall и продолжайте после-
134
Глава 2
довательно щелкать столько раз, сколько стен предполагается задействовать в цепочке.
Чтобы замкнуть цепочку стен, повторно щелкните в начале первого сегмента и на вопрос Weld Point? (Место замыкания?) дайте утвердительный ответ. Щелчком правой
кнопкой мыши можно прекратить построение цепочки стен.
Стены должны иметь толщину и высоту, и, чтобы определить эти параметры, на вкладперейдите на уровень подобъектов Segment. В свитке Edit Segment раске Modify
положены команды, с помощью которых можно менять параметры и структуру сегментов:
Break (Разбить) — разбивает сегмент стены на части. Для разбиения сегмента акти-
визируйте команду Break и на виде сверху щелкните левой кнопкой мыши в нужном месте сегмента. В результате будут созданы новые сегменты;
Delete (Удалить) — удаляет выделенные сегменты стены;
Detach (Отсоединить) — отсоединяет выбранные сегменты стены и создает из них
новую стену. Для этого вначале следует выделить нужные сегменты и щелкнуть
кнопкой Detach. Затем в открывшемся окне указывается имя новой стены;
Divide (Разбить) — разбивает все выделенные сегменты на несколько равных час-
тей. Вначале следует выделить нужные сегменты и в поле Divisions (Число разбиений) указать, на сколько частей их следует разбить;
Insert (Вставить) — вставляет в стену одну или несколько вершин, создавая допол-
нительные сегменты. Вначале следует активизировать команду Insert, а затем на
виде сверху подвести курсор к нужному месту сегмента стены. Если теперь щелкнуть левой кнопкой мыши и сместить ее в сторону, то в этой точке возникнет излом
сегмента стены, и он сместится вслед за курсором. Можно снова щелкнуть левой
кнопкой и сместить курсор, и тогда будет построен новый сегмент. Чтобы завершить построения, нужно повторно щелкнуть левой кнопкой мыши, а затем правой
кнопкой, чтобы остановить действие команды (рис. 2.154);
Refine (Вставить) — эта команда проще предыдущей и разбивает сегмент стены
в указанном месте. Вначале ее следует активизировать, а затем на виде сверху
щелкнуть в нужном месте сегмента.
Аналогичную корректировку стены можно выполнять на уровне ее подобъектов Vertex
(Вершина).
Рис. 2.154. Применение команды Insert
Моделирование
135
Когда вы перемещаете, масштабируете или вращаете объект типа Wall, то связанные со
стеной двери и окна также повторяют эти движения. Если включить локальную систему координат, то при перемещении двери или окна вдоль стены вместе с ними будут
перемещаться также отверстия под них. При изменении размеров двери или окна автоматически будут меняться и размеры отверстий в стене.
Если ваша стена состоит из одного сегмента, то после ее выделения не забудьте
повторно щелкнуть по ней, чтобы перейти к корректировке этого сегмента.
Окна
На вкладке Create в разделе Geometry из выпадающего списка выберите группу объектов Windows (Окна). В 3ds Max есть шесть типов окон (рис. 2.155):
Awning — навесное. Имеет одну или несколько створок;
Casement — створное с одной или двумя створками;
Fixed — неподвижное окно, не открывается;
Pivoted — поворотное. Створка вращается вертикально или горизонтально;
Projected — имеет три створки;
Sliding — скользящее с двумя створками.
Awning (Навесное),
открывается наверх
Casement (Створное)
Fixed (Неподвижное,
глухое окно)
Pivoted (Поворотное)
Projected (Имеет три створки)
Sliding (Скользящее)
S
Рис. 2.155. Типы окон
Рассмотренные окна удобны тем, что в стенах типа Wall (Стена) для них автоматически прорубаются оконные проемы. Некоторые из них можно открыть на любой угол
и анимировать их открытие.
Если у вас уже есть прямоугольное отверстие в стене, то вы можете создать дверь или
окно, не опираясь на предварительно созданную стену, и вставить их в это отверстие.
Для того чтобы прорубить оконный проем в стене, необходимо включить 2.5D-прии в окне Grid and Snap Settings (Настройки сетки и объектных привязок)
вязку
136
Глава 2
установить вариант привязки к ребрам (Edge/Segment). Строить окна лучше всего на
виде Top.
Двери
Для построения дверей на вкладке Create в разделе Geometry выберите группу объектов Doors (Двери).
В 3ds Max существуют три типа дверей (рис. 2.156):
Pivot — навесная дверь, может быть одиночной и двойной;
Sliding — раздвижная дверь (с разным числом панелей);
BiFold — складная дверь с двумя или четырьмя дверными элементами.
Двери встраивают в стены так же, как и окна.
Pivot (Навесная)
Sliding (Раздвижная)
BiFold (Складная)
Рис. 2.156. Типы дверей
Упражнение № 2-17. Строим дачный дом
Создайте сцену Cottage.max и установите единицы измерения — сантиметры. Далее
настроим параметры сетки. Для этого на главной панели инструментов щелкните правой кнопкой мыши на команде Snaps Toggle (Переключатель объектных привязок)
и в открывшемся окне Grig and Snap Settings (Настройки сетки и объектных привязок)
перейдите на вкладку Home Grid (Координатная сетка). В поле Grid Spacing (Расстояние между линиями сетки) укажите величину 10,0 см. Тогда шаг сетки, отображаемой
в видовых окнах, будет равен этой величине. На этой же панели раскройте вкладку
Snaps (Объектные привязки) и отметьте опцию Grid Points (Узлы сетки), убрав все
активной.
остальные варианты. Оставьте команду Snaps Toggle
Построение системы стен
Перейдем к созданию реальной модели.
При наличии в сцене большого числа объектов удобно относить их к соответствующим
слоям. Это позволит легко скрывать их в видовых окнах, "замораживать" выделение,
Моделирование
137
назначать один цвет всем объектам в слое. В данном случае рекомендуется создать
шесть слоев (работа со слоями описана в главе 1 в разделе Слои):
Floor1_Inner — все внутренние стены первого этажа, двери, лестницы, пол;
Floor1_Outer — все наружные стены первого этажа, двери, окна, наличники, отливы;
Floor2_Inner — все внутренние объекты второго этажа;
Floor2_Outer — фронтоны и окна второго этажа;
Top_Outer — крыша, конек, печные трубы, водосточная система;
Bottom_Outer — веранда, столбики, фундамент, ступеньки.
С ОВЕТ
При создании любых объектов относите их к соответствующим слоям.
Для создания стен в разделе Geometry выберите подраздел AEC Extended (Архитектурные объекты) и нажмите кнопку Wall. В свитке Parameters введите значения Width
(Толщина стены) = 30 см и Height (Высота стены) = 270 см. На виде Top создайте четыре внешние стены, чтобы получить помещение размером 1080×640 см. Чтобы этот
размер оказался внешним размером помещения, в разделе Justification (Выравнивание)
выберите подходящие опции Left или Right.
На главной панели инструментов щелкните правой кнопкой мыши на команде Snaps
Toggle
и в окне Grid and Snap Setting раскройте вкладку Snaps (Объектные привязки). Отметьте опцию Vertex (Вершина) и уберите остальные варианты. Постройте
все внутренние стены (рис. 2.157), не обращая внимания на наличие дверей и окон, —
они будут вставлены позднее. Толщину этих стен назначьте равной 20 см. Под стенами
постройте пол толщиной 40 см. Такому состоянию объекта соответствует файл
\scenes\lesson_2.17\Cottage_step1.max, расположенный в папке проекта.
Рис. 2.157. Построены стены дома
Построение окон
Откройте настройки привязки, на вкладке Snaps включите привязку Grid Lines и от. На вкладке
ключите остальные привязки. Активизируйте привязку Snaps Toggle
| Geometry
выберите подраздел Windows (Окна) и из списка окон выбеCreate
рите тип окна Fixed (Неподвижное). На виде Top перейдите к нижней стене, к левой ее
части, где будет располагаться окно (см. рис. 2.158, помещение "кухня"). Привязавшись
138
Глава 2
к внешней грани стены, нажмите левую кнопку мыши и, удерживая ее нажатой, переместите курсор мыши на ширину окна вправо или влево. Отпустите кнопку мыши и
привяжитесь к внутренней грани стены (это будет глубина окна). Сделайте на ней один
щелчок левой кнопкой мыши и, отпустив кнопку, сместите мышь вверх (на высоту окна). Повторно щелкнув левой кнопкой мыши, закрепите высоту. Затем щелкните правой кнопкой мыши для выхода из режима построения. Таким образом, окно строится
в последовательности: ширина (Width), толщина (Depth), высота (Height). Правильно
построенное окно должно прорубить стену и вставиться в нее (см. видео \lesson_2.17\
Video_2.158.mp4). Выключите привязку.
и установите следуюНе снимая выделения с окна, перейдите на вкладку Modify
щие размеры окна: Height = 140 см, Width = 200 см, Depth = 50 см. В области Frame
(Рама) введите значение 5 см для параметров Horiz. Width (Ширина горизонтальных
планок) и Vert. Width (Ширина вертикальных планок). В области Rails and Panels
установите количество горизонтальных панелей #Panels Horiz = 3 и количество вертикальных панелей #Panels Vert = 2, ширину панели (Widh) задайте равной 5 см. В области Glazing (Остекление) назначьте толщину стекла Thickness (Толщина).
В результате окно будет построено внизу стены — поднимите окно на высоту 60 см
на виде Front.
инструментом Select and Move
Среднюю планку окна желательно поднять повыше. Для этого примените к окну модификатор Edit Poly, перейдите на уровень выделения Element, выделите эту планку и
сместите ее вверх на 20 см (рис. 2.159).
Рис. 2.158. Привязка окна
к внутренней грани стены
Рис. 2.159. Построение окна
Аналогично постройте окна на других стенах (схема расположения окон приведена на
рис. 2.160 и 2.161). Задайте разные настройки для окон (в примере использовались окна
с шириной 110 см, 60 см, 185 см, 105 см, также менялись значения параметров #Panels
Horiz и #Panels Vert). Имейте при этом в виду, что окна можно клонировать. При
установке окон типа Pivoted (Поворотное) их можно приоткрыть. Чтобы приоткрыть
окно, установите значение параметра Open (Открыть) равным 45º. Окно можно раскрыть и в другую сторону — установите для этого флажок около пункта Flip Swing
(Повернуть в обратную сторону). Если окно не открывается при изменении значения
параметра Open, значит, оно не прорубило стену, и необходимо заново вернуться к построению окна.
Моделирование
Рис. 2.160. План первого этажа
139
Рис. 2.161. Вставлены окна и двери
первого этажа
Построение дверей
Двери создают так же, как и окна. На вкладке Create
| Geometry
выберите подраздел Doors (Двери) и из списка дверей выберите дверь типа Pivot (Навесная). На виде
Top постройте дверь с параметрами дверного блока Height = 200 см, Width = 90 см,
Depth = 5 см. Раскройте дверь, задав значение параметра Open = 70°. В области Frame
(Рама) установите Width = 5 см, Depth = 15 см. Можно настроить внешний вид двери,
например, со стеклом (Glass) или с панелями. Эти параметры находятся в свитке Leaf
Parameters (Параметры створки). Установите число панелей по горизонтали #Panel
Horiz = 1 и по вертикали #Panel Vert = 1.
Аналогично создайте остальные двери на первом этаже дома. На рис. 2.160 показан
план первого этажа, а на рис. 2.161 — вид первого этажа со вставленными окнами
и дверями (см. файл \scenes\lesson_2.17\Cottage_step2.max из той же папки).
Построение фронтонов
Командой Box создайте потолок толщиной 30 см. С помощью булевой операции сделайте в нем отверстие размером 80×80 см под люк (рис. 2.162, а).
Фронтон можно создать с помощью команды Wall, развернув список подобъектов и
выделив элемент Profile. Однако в нашем случае удобнее строить фронтоны как полигональные объекты.
Для построения фронтона на виде Left с помощью команды Line создайте треугольник
высотой 480 см, выступающий за пределы боковых стен на 60 см. Примените к нему
модификатор Extrude с параметром Amount = 30 см. Это будет левый фронтон со стороны мансарды. Копию построенного фронтона разместите с другой стороны дома.
В левом фронтоне с помощью булевой операции вырежьте отверстие размером
240×120 см — оно будет служить видом с мансарды. В правом фронтоне вырежьте отверстие под окно размером 130×150 см — сюда будет вставляться окно типа Casement
(Створное) (рис. 2.162, б).
140
Глава 2
а
б
Рис. 2.162. Создание мансарды: а — отверстие под люк в потолке; б — фронтоны
Второй этаж
На втором этаже построим внешнюю стену с помощью архитектурного объекта Wall на
виде Left. Ширина короба под крышей равна 1020 см, толщина стен — 5 см
(рис. 2.163).
Рис. 2.163. Построение второго этажа
При необходимости корректировки размеров стены следует выделить ее, перейти на
вкладку Modify
, раскрыть перечень подобъектов объекта Wall и перейти в режим
выбора вершин (Vertex).
Вставьте окна в проемы фронтонов (см. файл \scenes\lesson_2.17\Cottage_step3.max из
той же папки).
Построение лестницы
3ds Max содержит четыре типа лестниц:
спиральные (Spiral stair);
U-образные (U-type stair);
Моделирование
141
L-образные (L-type stair);
прямые (Straight stair).
Создадим прямую лестницу, которая должна размещаться в коридоре первого этажа и
соединять его с люком (проемом) в потолке для выхода на второй этаж дома. Предварительно скройте все лишнее, что могло бы помешать построениям (рис. 2.164).
Скрыть элементы можно, щелкнув правой кнопкой мыши по объекту и выбрав опцию
Hide Selection, или на панели Layer Explorer.
откройте категорию объектов Stairs (Лестницы) и
В категории объектов Geometry
выберите вариант построения прямой лестницы Straight Stair. Перейдите к виду сверху. Нажмите левую кнопку мыши внутри коридора, не отпуская ее, переместите курсор
к стене влево и отпустите кнопку мыши. Затем переместите курсор в сторону перпендикулярной стены, чтобы показать ширину лестницы, и щелкните там мышью, после
чего поднимите курсор вверх, чтобы обозначить высоту лестницы, и щелкните там еще
раз, чтобы закончить построения. Все построения наблюдайте в окне Perspective.
. Тип лестницы задайте Open (Открытая). Высоту леПерейдите на вкладку Modify
стницы уточните в разделе Rise (Высота), и значение параметра Overall (Общая высота) задайте равным 260 см. Здесь параметр Riser Ht означает высоту ступеньки, а Riser
Ct — число ступенек.
В разделе Steps (Ступеньки) задайте значение ширины ступеньки Depth = 20 см. Ее
толщина определяется параметром Thickness.
В разделе Generate Geometry укажите вариант построения лестницы Stringers (Продольные балки), а Carriage выключите. В свитке Stringers задайте значение ширины
продольных балок Depth = 25 см и их толщину Width = 3 см.
Перила на этой лестнице нужны только слева. Поэтому в области Handrail (Перила)
поставьте флажок у Left. Параметры перил настраивают в свитке Railings (Ограждения). Можно самостоятельно построить несколько стоек для перил.
Наклон и ширину лестницы можно уточнить в разделе Layout. Готовая лестница показана на рис. 2.165.
Отобразите скрытые элементы. Для этого в любом окне щелкните правой кнопкой
мыши и в контекстном меню выберите пункт Unhide All.
Рис. 2.164. Подготовка к построению лестницы
Рис. 2.165. Построена прямая лестница
на второй этаж
142
Глава 2
Сделай сам
Под домом постройте фундамент высотой 80 см. Создайте фундамент и пол под веранду. Со стороны мансарды веранда пусть будет шириной 130 см, а с другой стороны —
110 см. С двух сторон создайте ступеньки для схода с веранды (рис. 2.166).
Рис. 2.166. Дом с фундаментом, полом
и ступеньками
Рис. 2.167. Дом с верандой
Постройте ограждение веранды толщиной 2 см и поставьте промежуточные столбики
(рис. 2.167).
Такому состоянию объекта соответствует файл \scenes\lesson_2.17\Cottage_step4.max из
той же папки.
Построение ломаной крыши
Крышу нужно построить так, чтобы она опиралась на столбики. Для ее создания воспользуемся объектом Wall. Скройте все, кроме двух фронтонов, — это легко сделать
с помощью команды Hide Unselected (Скрыть невыделенное). Построения выполняйте
на виде Left, очерчивая верхний край фронтона (рис. 2.168). В свитке Parameters введите толщину крыши Width = 10 см и примерную ее длину Height = 1070 см.
, выделите строку
Чтобы поправить положение крыши, перейдите на вкладку Modify
Vertex (Вершина) и с помощью инструмента Select and Move
выполните необходимую корректировку.
По размеру крыша не подходит к стенам. Поэтому на вкладке Modify зайдите на уровень подобъектов Segment, выделите все сегменты (комбинацией клавиш <Ctrl>+<A>)
и измените значение параметра Height (Высота) на 1160 см с таким расчетом, чтобы
с каждой стороны крыша выступала за фронтоны на 30 см. Затем передвиньте крышу
так, чтобы она покрыла весь дом.
Крыша с одной стороны должна быть ломаной и опираться на столбики. Поэтому далее
мы будем редактировать крышу в полигональном режиме.
Примените к крыше модификатор Edit Poly. Перейдите в режим выбора Edge. Выделите любое вертикальное ребро со стороны веранды, в настройках модификатора Edit
Моделирование
Рис. 2.168. Построение крыши
143
Рис. 2.169. Построены дополнительные сегменты на крыше
Poly щелкните по кнопке Ring, чтобы выделить все вертикальные ребра на правой стороне крыши, и с помощью команды Connect создайте новый ряд ребер (рис. 2.169).
Перейдите в видовое окно Left и, выделяя пары вершин, измените правую сторону
крыши в соответствии с рис. 2.170.
Со стороны мансарды также следует создать навес, который начинается под самой
мансардой и другой стороной опирается на столбики. Его можно построить тоже из
объекта Wall. Для деформации крыши используйте разбиение на сегменты с помощью
команды Connect. Самостоятельно достройте недостающие элементы, закрывающие
образовавшиеся пустоты в крыше с помощью команды Extrude (рис. 2.171). Такому
состоянию объекта соответствует файл \scenes\lesson_2.17\Cottage_step5.max из той же
папки.
Рис. 2.170. Форма крыши
Рис. 2.171. Построены ломаная крыша
и навес над верандой
Металлочерепица
Крышу дома покроем металлочерепицей. Откройте раздел Shapes (Сплайны)
|
NURBS Curves (NURBS-кривые) и активизируйте команду CV Curve (Кривая, управляемая контрольными точками). На виде Top постройте волнистую сплайн-кривую
144
Глава 2
с длиной волны 18 см, амплитудой 2,5 см и длиной 140 см (рис. 2.172, а). На виде Left
постройте вторую, ступенчатую, кривую с расстоянием между ступеньками в 35 см,
высотой ступеньки 2 см и длиной 200 см (рис. 2.172, б).
а
б
Рис. 2.172. Заготовки для построения металлочерепицы: а — на виде Top; б — на виде Left
Выделите волнистую кривую и перейдите на вкладку Modify. В свитке General нажми, чтобы открыть панель с инструментами для
те кнопку NURBS Creation Toolbox
.
построения объектов типа NURBS. Активизируйте команду Create 1-Rail Sweep
Проведите курсором от волнистой кривой к ступенчатой, затем щелкните на ней левой
кнопкой мыши, а потом правой — построится поверхность листа металлочерепицы.
Примените к этой поверхности модификатор Shell (Оболочка) со значением параметра
Outer Amount (Размер наружу) = 0,2 см (рис. 2.173). Расположите листы металлочерепицы на крыше дома, для этого лучше воспользоваться инструментов Tools | Array.
В параметрах клонирования независимо от выбранного способа выбирайте вариант
Copy. Со стороны веранды крыша имеет излом, поэтому часть листа может заходить
внутрь. Обрезать лучше с помощью модификатора Slice. Для этого выделите любой
лист, расположенный в ряду на изломе, примените к нему модификатор Edit Poly и
с помощью команды Attach в настройках модификатора присоедините все листы, расположенные в этом ряду. Примените модификатор Slice, в подобъектах модификатора
настройте положение Slice Plane, для Slice Along можно настроить направление плоскости, для параметра Slice Type выбирается подходящий вариант Remove Negative или
Remove Positive (см. видео \lesson_2.17\Video_2.174.mp4).
Над крышей создайте конек (рис. 2.174).
Рис. 2.173. Модель листа металлочерепицы
Рис. 2.174. Конек над крышей
Покройте листами металлочерепицы крышу мансарды. Возможно, крайние листы придется обрезать, чтобы они не вылезали из-под крыши. Для этого примените модификатор Slice (рис. 2.175).
Моделирование
Рис. 2.175. Крыша мансарды
покрыта металлочерепицей
145
Рис. 2.176. Уточнение сетки на трубе
Печные трубы
Нижняя часть квадратной трубы — просто объект Box размером 40×40 см. Разместите
трубу между кухней и первой комнатой. Для создания части трубы, выступающей над
крышей, на виде Top сформируйте два прямоугольника, один внутри другого (внешний
прямоугольник — Rectangle с размерами 40×40 см), отключив предварительно опцию
Start New Shape, — получится объект типа Editable Spline. Примените к этому объекту модификатор Extrude с параметром Amount = 180 см, а затем модификатор Edit
Poly. К верхней части объекта примените модификатор Slice (Срез) и расположите секущую плоскость параллельно и выше крыши на 10 см. В области Slice Type (Тип среза) выберите опцию Refine Mesh (Уточнить сетку). В результате в местах пересечения
секущей плоскости с объектом будут образованы новые вершины и ребра, а пересекаемые грани разобьются на новые грани.
Снова примените модификатор Edit Poly, а затем Slice. Расположите секущую плоскость ниже самого верха трубы на 10 см и установите опцию Refine Mesh (рис. 2.176).
Опять примените модификатор Edit Poly. Перейдите в режим выделения ребер (Edge)
этого модификатора и выделите на трубе по одному вновь образованному ребру сверху
и снизу. В свитке Selection модификатора Edit Poly нажмите кнопку Loop, чтобы выделить все ребра по контуру трубы. Затем в свитке Edit Edges этого модификатора
справа от команды Connect и в Caddyщелкните мышью на маленькой кнопке
интерфейсе задайте число сегментов равным 6 — на всех сторонах трубы создадутся
новые ребра.
Перейдите в режим выделения Polygon и выделите все внутренние полигоны (по три
полигона с каждой стороны). В свитке Edit Polygons щелкните курсором мыши на маленькой кнопке справа от Extrude и задайте небольшое отрицательное значение параметра Height Extrude, чтобы вдавить эти полигоны внутрь поверхности трубы
(рис. 2.177).
Создайте пирамиду (Pyramid) с параметрами 60×60×20 см. Примените к ней модификатор Edit Poly. Перейдите в режим выделения полигонов и выделите все полигоны
146
Глава 2
в основании пирамиды. В свитке Edit Polygons выполните команду Inset с параметрами Group и Amount = 1. Перейдите в режим выделения вершин, выделите центральную вершину в основании пирамиды и сдвиньте ее в сторону вершины пирамиды, чтобы получить тонкостенный колпак (рис. 2.178). Поместите его над квадратной трубой.
Рис. 2.177. Созданы углубления в облицовке трубы
Рис. 2.178. Колпак для квадратной
трубы
Для крепления колпака с трубой создадим модель крепежной пластины. Для этого активизируйте команду Line и в свитке Creation Method (Метод создания) для опций
Initial Type (Исходный тип) и Drag Type (Перетаскиваемый тип) установите вариант
Corner (С изломом). Постройте линию, по форме и размерам соответствующую предполагаемому креплению, которое должно прилегать к внутренней стороне колпака
и к трубе (рис. 2.179, а).
а
б
Рис. 2.179. Создание модели пластины: а — заготовка; б — сечение пластины
Чтобы скруглить острые углы линии, выделите две средние угловые вершины и в свитке Geometry примените к ним команду Fillet (Скругление) с небольшим радиусом.
Теперь на вкладке Modify
перейдите в режим выделения Spline и в свитке
Geometry активизируйте команду Outline. Подведите курсор к линии, нажмите кнопку
мыши (при этом курсор приобретет форму концентрических окружностей) и сдвиньте
ее немного в сторону, чтобы создать сечение пластины (рис. 2.179, б).
Моделирование
147
К полученной форме примените модификатор Extrude с параметром, равным 10 см. Создайте еще три копии такой пластины и
прикрепите их к колпаку и трубе с разных сторон (рис. 2.180).
Круглую трубу и колпак над ней создайте самостоятельно
(см. файл \scenes\lesson_2.17\Cottage_step6.max).
Рис. 2.180. Квадратная труба с колпаком
Построение водостоков
Желоб будем строить с помощью команды Line. Проведите линию вдоль края крыши
с небольшим наклоном в одну сторону и на вкладке Modify
в свитке Rendering
установите флажки для опций Enable In Rendering (Показать при визуализации)
и Enable In Viewport (Сделать видимым в видовых окнах). Сделайте желоб круглым (Radial). Там же установите параметры линии Thickness (Толщина) = 20 см и
Sides = 12. Примените к ней модификатор Edit Poly. Перейдите в режим выделения
полигонов и удалите шесть верхних полигонов, чтобы получился желоб.
Торцы желоба также нужно доработать, срезав их верхние части. Для этого в режиме
выбора полигонов перейдите в свиток Edit Geometry и нажмите там кнопку Cut (Разрезать). Затем, как показано на рис. 2.181, подведите курсор к первой вершине и щелкните левой кнопкой мыши, переместите курсор ко второй вершине и снова щелкните на
ней. Тем самым вы разрежете торец и создадите новый полигон (рис. 2.181, а). Отключите команду Cut и удалите лишний полигон на торце трубы (рис. 2.181, б). Аналогично поступите с торцом на другом конце желоба.
а
б
Рис. 2.181. Обрезка торца командой Cut
Примените к желобу модификатор Shell с параметром Outer Amount = 0,5 см для создания толщины, а затем снова модификатор Edit Poly.
Водосточную трубу также создадим командой Line, задав толщину 10 см. Примените
к линии модификатор Edit Poly и удалите торцевые полигоны, чтобы получить пусто-
148
Глава 2
телую трубу. Чтобы сделать изломы на трубе более гладкими, выберите на каждом
из них по одному ребру и в свитке Selection нажмите кнопку Loop, — в результате
будут выбраны все ребра на изломах трубы. Затем перейдите в свиток Edit Edges и выполните команду Chamfer с параметром Amount = 2 см и Segments = 2, чтобы скруглить изломы трубы (рис. 2.182). Примените к трубе модификатор Shell с параметром
Inner Amount = 0,2 см.
Держатели для трубы и кронштейны для желоба (рис. 2.183) сделайте самостоятельно
(см. файл \scenes\lesson_2.17\Cottage_step7.max из той же папки).
Окончательная модель дачного дома приведена на рис. 2.184.
Практическая работа
Самостоятельно создайте модель садового участка, окружающего домик.
Рис. 2.182. Скругление излома трубы
Рис. 2.183. Построены желоб
с водосточной трубой
Рис. 2.184. Модель дачного дома
Моделирование
149
Контрольные вопросы
1. Какие объекты программы 3ds Max вам известны?
2. Какие стандартные объекты программы 3ds Max вы знаете?
3. Как создать модель объекта Teapot без верхней крышки?
4. Как поменять параметры объекта после его создания?
5. Как установить цвет объекта при его создании?
6. Что такое аддитивная цветовая модель RGB?
7. Что такое цветовая модель HSV?
8. Как изменить цвет фона при визуализации изображения?
9. Какие группы модификаторов вам известны?
10. Какие действия над объектом выполняют модификаторы Lattice, Taper, Noise?
Каковы их параметры?
11. Как визуализировать сплайн при выполнении рендеринга? Как задать толщину
линии сплайна при его визуализации в окне проекции?
12. Назовите типы вершин сплайна. Чем они отличаются?
13. Как создать тело вращения? Как можно изменить положение оси вращения?
14. Как создают объекты методом выдавливания (Extrude)?
15. Как создать объект с помощью команды Loft?
16. Какие булевы операции используются в 3ds Max?
17. Как выполняют булевы операции в 3ds Max?
18. Как создать полсферы?
19. Что происходит с моделью объекта при конвертировании его в Editable Poly?
20. На что влияет параметр Ignore Backfacing?
21. Что такое Gizmo? На что влияют его параметры?
22. Как объединить несколько близких по расположению вершин в одну?
23. Как добавить в сплайн новую вершину?
24. Какие встроенные архитектурные объекты содержатся в 3ds Max?
ГЛАВА
3
Освещение и материалы
Установка проекта
В этой главе будем работать с новым проектом 03_project. Вы можете создать свой проект и копировать в него файлы и текстуры из рабочего проекта или установить проект,
предоставленный с электронным архивом к книге в качестве основного. Чтобы установить новый проект, в главном меню выполните команды File | Project | Create Default.
Далее выберите папку, где будет размещаться проект, и щелкните по Select Folder
(Выбрать папку). В выбранной папке будут созданы подпапки проекта для сцен, визуализации и текстурных карт. При создании нового проекта обязательно копируйте сцены
и текстурные файлы для корректной их подгрузки при открытии.
Для установки существующей папки проекта в качестве основного в программе
3ds Max в главном меню выберите File | Project | Set Active Project и укажите папку
проекта.
Рядом с папкой проекта вы найдете папку 03_video, в которой будут находиться дополнительные видеофайлы к упражнениям.
В папке 03_images находятся цветные иллюстрации к упражнениям.
Источники освещения
В 3ds Max 2022 имеются следующие собственные категории источников света: стандартные (Standard), фотометрические (Photometric), источники света визуализатора
Arnold, а также системные источники света: Daylight (Дневное освещение) и Sunlight
(Солнечное освещение). Кроме того, при подключении к 3ds Max внешних визуализаторов, например V-ray, mental ray или Corona, вместе с ними появляются также и их
собственные источники света. Стандартные источники света функционируют по
упрощенным алгоритмам расчета распространения и отражения света. Точнее моделировать действие реальных источников света позволяют источники фотометрические —
в основу их работы положены алгоритмы, лучше соответствующие законам физики.
В реальной жизни интенсивность света, исходящего от источника, зависит от расстояния до него, и это учитывается при моделировании фотометрических источников света.
Каждый источник света характеризуется такими параметрами, как Color (Цвет),
Multiplier (Яркость), Decay (Затухание), Shadow Map (Карта теней).
Освещение и материалы
151
Системные источники освещения имитируют солнечный свет для заданных параметров: географических координат, времени дня, месяца и года. Намного проще воспользоваться такими источниками освещения, чем имитировать солнечный свет с помощью
стандартных и фотометрических источников света. Эти источники открываются на
в категории Standard.
вкладке Systems (Системы)
По направлению излучаемого света стандартные и фотометрические источники света
делятся на направленные и всенаправленные. Всенаправленные источники света (Omni,
Skylight, Free light) излучают свет равномерно во все стороны, а направленные (Target
Spot, Free Spot, Target Direct, Free Direct, Target Light) — только в заданном направлении. Последние, в свою очередь, подразделяются на нацеленные (Target) и свободные (Free). Для нацеленных источников можно задать точку цели. При перемещении
такой осветитель автоматически поворачивается для того, чтобы всегда освещать свою
точку цели. Для свободных осветителей можно задать только направление света. При
перемещении источника это направление в глобальной системе координат остается постоянным.
Правильное освещение — один из наиболее существенных факторов обеспечения реализма сцены при ее визуализации. При расстановке источников света в сцене всегда
необходимо также обращать внимание и на их цвет — источники дневного света имеют
голубой оттенок, а при создании источников искусственного освещения им нужно придавать желтоватый оттенок. Цвет источника, имитирующего уличный свет, зависит от
времени суток. Например, если сюжет сцены подразумевает вечернее время, то освещение может иметь красноватые тона летнего заката.
В этой главе рассматриваются только стандартные и фотометрические источники света,
которые могут применяться совместно с различными визуализаторами. Специфические
источники света, применение которых возможно только с определенными визуализаторами (с визуализаторами Arnold и V-Ray), будут описаны в следующей главе при рассмотрении этих визуализаторов.
Освещение по умолчанию
Когда нет установленных источников света, в 3ds Max используется так называемое
освещение по умолчанию (Default Lighting) — способ визуализации сцены при полном
отсутствии источников света. Эту установку можно представить себе в виде одного или
двух стандартных всенаправленных точечных источников света типа Omni, которые
всегда находятся на строго определенном месте и не обладают настройками. В любой
из создаваемых сцен такое освещение задано по умолчанию.
Если включить систему координат World (Мировая система координат) и представить
себя находящимся в ее начале и наблюдающим в направлении оси Y, то одиночный
источник окажется расположенным сзади и сверху наблюдателя (будет иметь отрицательные значения координат по осям X и Y и положительное значение по оси Z) и станет давать контрастный не очень естественный свет. При наличии двух встроенных
источников света один будет расположен там же, а другой — спереди в правом нижнем
углу (будет иметь положительные значения координат X и Y и отрицательное значение
координаты Z). Объекты, освещенные этими источниками света, не отбрасывают тени.
152
Глава 3
Можно переключаться с одного на два таких источника света и наоборот. Для этого
следует щелкнуть мышью в меню видового окна на третьей группе свойств и выбрать
вкладку Per-View Presets. Затем в окне Viewport Settings (Настройки видового окна)
в строке Default Lights (Источники света по умолчанию) установить два источника
света (2 Default Lights) (рис. 3.1, см. видео \Lights\Video_3.1.mp4.). Освещение с двумя
встроенными источниками получается мягче и естественнее, чем с одним.
Рис. 3.1. Изменение освещения по умолчанию
Рис. 3.2. Добавление источников света,
установленных по умолчанию
При первом добавлении в сцену источника света 3ds Max удаляет освещение, установленное по умолчанию, чтобы можно было видеть действие нового источника. Освещение, заданное по умолчанию, остается отключенным до тех пор, пока в сцене имеются
созданные пользователем источники света, независимо от того, включены они или выключены. Когда из сцены удаляются все пользовательские источники света, автоматически восстанавливается освещение, принятое по умолчанию.
Источники света, установленные по умолчанию, не видны в сцене. Однако их можно
сделать видимыми и превратить в обычные источники света. Для этого сначала в настройках Viewport Settings установите, как было только что показано, два источника
света (см. рис. 3.1). После этого в меню последовательно выберите пункты Create |
Lights (Источники света) | Standard Lights (Стандартные источники света) и выберите
команду Add Default Lights To Scene (Добавить в сцену источники света, установленные по умолчанию) — откроется окно с названиями источников света, установленными
по умолчанию (рис. 3.2).
Параметр Distance Scaling (Масштабный фактор) определяет, насколько далеко эти
источники света располагаются относительно начала координат. В нашем случае появятся два источника света: DefaultKeyLight (Основной источник света, установленный по умолчанию) и DefaultFillLight (Заполняющее освещение, установленное по
умолчанию) (рис. 3.3), они могут находиться достаточно далеко от центра сцены. Они
отобразятся также и на панели Scene Explorer (рис. 3.4). Чтобы увидеть данные источники в видовом окне, выделите их названия на этой панели
П ОЯСНЕНИЕ
Панель Scene Explorer включается и отключается на главной панели инструментов путем
выбора пункта меню Tools | Scene Explorer.
Освещение и материалы
Рис. 3.3. Источники света,
установленные по умолчанию,
видны в сцене
153
Рис. 3.4. Источники света,
устанавливаемые
по умолчанию
Рис. 3.5. Стандартные источники
света
Упражнение № 3-1.
Стандартные источники света
Если на вкладке Create
выбрать команду Lights (Источники света)
, то в выпадающем списке категорий Standard будут присутствовать пять основных типов стандартных источников света (рис. 3.5):
Omni — точечный источник света, излучает свет равномерно во всех направлениях.
Его можно сравнить с обычной электрической лампочкой;
Target Spot — направленный источник света, состоящий из собственно излучателя
и цели (Target), задающей направление лучей. Положением точки цели можно
управлять. Расстояние от цели до источника света не влияет ни на яркость, ни на ослабление света, эти параметры настраиваются отдельно. Такой осветитель ограничивает освещение определенным объемом в форме конуса с вершиной в точке излучения. При перемещении источника света положение цели не меняется и источник
света по-прежнему продолжает светить в направлении точки цели. При перемещении объектов направление лучей света сохраняется прежним, поэтому освещение
сцены становится иным;
Target Direct — аналогичен источнику света Target Spot, но излучает параллель-
ный пучок лучей прямоугольной или овальной формы. Такой осветитель можно
представить в виде параллелепипеда или цилиндра. Он также имеет области максимальной освещенности и полутени и часто применяется для создания освещения,
имитирующего солнечный свет;
Free Direct — испускает пучок параллельных лучей света. Точка цели отсутствует;
Free Spot — свободный прожектор. Он обладает всеми возможностями источника
Target Spot, но не имеет целевого объекта. Примером использования такого источника света может служить имитация света передних фар автомобиля.
154
Глава 3
На той же вкладке вместе со стандартными указан также источник Skylight (Небесное
освещение). Воображаемые лучи света у него исходят из каждой точки бесконечно
большой полусферы. Действие этого источника света основано на алгоритме расчета
глобальной освещенности Light Tracer (Трассировщик лучей).
Категория источников света Standard поддерживается визуализаторами Scanline
Renderer (установлен по умолчанию и является самым простым видом визуализации)
и V-ray (внешний плагин, будет рассмотрен в следующих главах, позволяет передать
реалистичность материалов и света). Arnold не визуализирует стандартные источники
совсем, для него в сцене предусмотрены специальные источники света — Arnold Light.
Для V-ray также лучше задействовать специальные источники VrayLight, несмотря на
то, что он поддерживает стандартные. Источники света из категории Standard в V-ray
используются в сцене, если требуется передать эффект прожектора, отобразить объемность лучей или упростить сцену для анимации. Хотя стандартные источники света
редко встречаются в проектах, они позволяют понять принцип работы всех видов источников света. Рассмотрим основные их настройки.
Параметры источника света Omni
Откройте из папки этого упражнения файл \scenes\lights\Teapots.max. В сцене присутствуют два точечных всенаправленных источника света Omni. С помощью щелчка правой кнопки мыши в окне Perspective сделайте его активным. На главной панели инст. В сцене установлен визуализатор
рументов вызовите команду Render Production
Scanline Renderer, поэтому визуализация будет проходить построчно. Можно увидеть
четкие тени и яркое белое пятно в центре. Однако любые эффекты преломления света
будут отсутствовать.
В окне Front выделите правый источник света OmniFill_right. Его настройки сгруппированы в нескольких свитках (рис. 3.6).
К элементам управления свитка General Parameters (Общие параметры) относятся:
Light Type (Тип источника света) с опцией On (Включить освещение) — позволяет
изменить тип источника света на Omni, Spot (Точечный) или Directional (Направленный). Таким образом, всенаправленный источник света легко преобразовать
в направленный;
Shadows (Тени) с опцией On (Включить отображение теней) — в открывающемся
списке перечисляется несколько различных алгоритмов создания теней.
После нажатия на кнопку Exclude (Исключить) открывается диалоговое окно, где можно указать объекты, которые не будут освещаться, — опция Illumination (справа сверху) отключает освещение, или отбрасывать тени — опция Shadow Casting (справа
сверху) отключает отбрасывание теней. Опция Both отключает и то и другое. Кнопка
Exclude есть практически у источников света всех типов, часто используется при исключении объектов, которые не должны отбрасывать тени.
Выделите источник света OmniFill_left и в области Shadow активируйте параметр On,
чтобы включить отображение теней. В видовом окне и при визуализации можно будет
увидеть тени от объектов в двух направлениях. С одной стороны сцены они будут
сильнее проявляться, с противоположной — слабее, это в большей степени зависит от
Освещение и материалы
155
яркости источника света и удаленности от него. Щелкните по кнопке Exclude, расположенной под областью Shadow. В окне Exclude/Include в левой части будут отображаться все объекты сцены. Удерживая нажатой клавишу <Ctrl>, выделите слева объекв правую область.
ты Teapot01 и Torus Knot01 и переместите их с помощью кнопки
Чуть выше в правой области можно выбрать опцию, которую мы хотим исключить:
освещение (Illumination), тени (Shadow Casting) или и то и другое. Выберите только
тени Shadow Casting. Щелкните по кнопке OK. Действие исключения будет работать
только при визуализации. Поэтому визуализируйте сцену, двойная тень появится только для маленького чайника (рис. 3.7).
Рис. 3.6. Свитки
с настройками источника света Omni
Рис. 3.7. Исключение теней
у некоторых объектов сцены
П РИМЕЧАНИЕ
Для упрощения визуализации видового окна Perspective в окне визуализации в выпадающем свитке Viewport выберите видовое окно Perspective (если еще не выбрано) и щелкните по иконке Lock To Viewport
\Lesson_3.1\Lock-viewport.mp4).
(Заблокировать
видовое
окно)
(см.
видео
Основные настройки источника света выполняются в свитке Intensity/Color/Attenuation
(Интенсивность/Цвет/Затухание), предлагающем следующие возможности (рис. 3.4):
Multiplier (Коэффициент) — определяет яркость источника света. Поле справа
позволяет настроить цвет излучения источника. Нулевое значение выключает источник света, значение по умолчанию равно единице, можно указать отрицательное
значение, в этом случае происходит инверсия света;
Decay (Затухание) — задает закон, по которому затухает освещение. Если указать
тип затухания (Type) равным None (Отсутствует), то затухания не будет, если
Inverse, то затухание происходит обратно пропорционально расстоянию от источника света, если Inverse Square — затухание обратно пропорционально квадрату
расстояния от источника света. В поле Start указывается расстояние, начиная с которого начнет действовать затухание;
156
Глава 3
Near Attenuation (Ближнее затухание) — параметр Start задает расстояние, начиная
с которого свет постепенно нарастает, а End — расстояние, на котором свет достигает полной силы;
Far Attenuation (Дальнее затухание) — параметр Start устанавливает расстояние,
начиная с которого свет постепенно затухает, а End — расстояние, при котором свет
полностью затухает.
Для выделенного источника света OmniFill_right для параметра Decay установите тип
затухания освещения Inverse, чуть ниже установите начало затухания Start = 110 см.
В соответствии с этим законом освещение начнет затухать с расстояния, превышающего 110 см от источника света. А вокруг источника появится сферическая область, визуально помогающая оценить зону затухания. Включите инверсное затухание для источника света OmniFill_left. Только старт затухания установите 60 см. Снова визуализируйте окно Perspective, свет станет мягче и появится световой градиент (свет начнет
затухать по мере удаления от источника) (рис. 3.8).
Рис. 3.8. Активирован параметр Decay
Рис. 3.9. Параметры свитка Advanced Effects
Тип затухания Inverse Square увеличит затухание в несколько раз, при этом придется
сильно увеличивать яркость источника и станет тяжелее его настраивать, т. к. появляются резкие перепады между освещенным участком и теневым. Но результат максимально приближен к затуханию света в реальном мире.
Попробуем управлять интенсивностью света. Перейдите в свиток Intensity/Color/
Attenuation (Интенсивность/Цвет/Затухание) и измените интенсивность источника
OmniFill_right, например, на 1.3 — освещение сцены станет ярче. В том же свитке можно управлять и цветом освещения. Немного правее значения Multiplier есть поле, которое по умолчанию окрашено белым. Щелкните на нем мышью и измените цвет, например, на светло-оранжевый. Проведите рендеринг и обратите внимание, что теперь сцена как бы освещена оранжевой лампочкой. Второй источник света OmniFill_left
перекрасьте в светло-голубой цвет. Снова визуализируйте сцену, каждая часть сцены
будет освещена соответствующим цветом.
Свиток Advanced Effects (Дополнительные эффекты) предлагает следующие настройки
(рис. 3.9):
Contrast (в пределах от 0 до 100) — настраивает контрастность изображения сцены и помогает увеличить разницу между затененными и освещенными областями
сцены;
Освещение и материалы
157
Soften Diff. Edge (Смягчение границ диффузии) — смягчает грань между яркими и
темными частями поверхности. Иногда помогает устранить дефекты, которые могут
появиться на поверхности;
Diffuse (Диффузия) — включает отражение света от поверхности объекта. При вы-
ключении этой опции исчезает отражение света, сцена становится более тусклой;
Specular (Блик) — включает отображение световых бликов на поверхности объек-
тов. Они остаются на объекте и при отключении опции Diffuse;
Ambient Only (Только фоновое освещение) — оставляет только фоновое освеще-
ние;
Projector Map (Проецируемая карта) — проецирует на объекты сцены произволь-
ное изображение. Для активизации этой опции нужно нажать кнопку None и
выбрать любую текстурную карту, которая будет проецироваться источником света
на всю сцену.
Финальная сцена расположена в файле \scenes\lesson_3.1\Teapots_end.max
Настройка теней
Тени придают получаемым результатам реалистичность. Для источников света, поставляемых вместе с визуализатором Arnold или V-ray, настройки теней (размытие и яркость) в основном зависят от установок самого источника и его расположения и не
имеют специальных параметров. Однако фотометрические и стандартные источники
могут использовать четыре типа теней: Adv. Raytraced, Shadow Map, Area Shadows и
Ray Traced Shadows. Из них Shadow Map является самым быстрым, т. к. строится на
основе проецирования текстурной карты, все остальные задействуют методы расчета
переотражения луча и могут сильно увеличивать время визуализации.
Рассмотрим настройки карты теней Shadow Map, т. к. она позволяет ускорить процессы анимации или тестовой визуализации.
Откройте файл \scenes\lesson_3.1\Shadow.max. Выделите источник света Bulb, который
находится внутри светильника. В свитке General Parameters включите параметр On
для отображения теней. В том же свитке из выпадающего списка выберите опцию
Shadow Map (Карта теней).
появляются другие свитки,
При выборе типа построения теней на вкладке Modify
соответствующие способу построения теней. В нашем случае появится свиток Shadow
Map Params (Параметры карты теней). Настройки этого свитка:
Bias (Смещение) — отвечает за смещение тени относительно объекта. Увеличение
значения Bias смещает тень дальше от объекта, а уменьшение — приближает тень
к объекту;
Size — размер проецируемой карты, чем выше это значение, тем более качествен-
ной будет тень. Принято задавать размер, кратный 2x, если по умолчанию стоит 512,
то следующий будет 1024, 2048 и т. д.;
Sample Range — позволяет размыть край тени.
Увеличьте значение параметра Sample Range до 40 и визуализируйте сцену. Тень, которая образуется от источника света (дуга на стене), станет немного размытой
158
Глава 3
(рис. 3.10). Дополнительно можно увеличить качество просчитываемой тени, для параметра Size введите значение 1024.
Свиток Shadow Parameters (Параметры тени) появляется при всех вариантах выбора
опции построения теней. В нем содержатся следующие общие параметры для настройки теней:
Color (Цвет тени) — задает цвет тени;
Dens. (Плотность тени) — определяет плотность тени;
Map (Карта) — с помощью кнопки None позволяет назначить карту тени, при этом
3ds Max смешивает цвета тени и карты.
Теперь в свитке Shadow Parameters измените цвет тени, установив, например, для нее
цвет Color = RGB (25, 11, 4) и плотность Dens = 0.8. Тень получится более светлой и не
будет так сильно выделяться на стене (рис. 3.11). Финальная сцена расположена в файле \scenes\lights\Shadow_end.max.
Рис. 3.10. Размытие теней
Рис. 3.11. Регулировка плотности тени
Раздел Atmosphere Shadows (Тени от атмосферных объектов) свитка Shadow
Parameters (Параметры теней) предлагает следующие настройки:
On — включить отбрасывание теней от атмосферных объектов (например, от ту-
мана);
Opacity — задать непрозрачность отбрасываемых теней;
Color Amount — определить количество цвета атмосферного объекта в цвете тени.
Источники света Target Spot и Free Spot
Откройте из папки проекта файл \scenes\lesson_3.1\Spots.max. В сцене (рис. 3.12) будет
находиться уличный фонарь и автомобиль. Для автомобиля создана анимация, которую
можно запустить с помощью панели Time Slider (Шкала времени) в нижней части окна
.
программы с помощью иконки Play Animation (Проиграть анимацию)
Освещение и материалы
Рис. 3.12. Заготовка
для источников света Spot
159
Рис. 3.13. Положение источника света
Target Spot в окне Front
Источники света типа Spot распределяют свет вдоль конуса из точки, которая имитирует искусственный свет, свет фар, прожекторы. В сцене для уличного фонаря добавим
Target Spot, а для фар — Free Spot.
Перейдите на вкладку Create
и выберите команду Lights (Источники света)
,
группа источников света должна быть выбрана Standard. Добавим направленный источник для уличного фонаря. Щелкните по кнопке Target Spot и в окне Front нажмите
левую кнопку мыши у лампочки фонаря, затем протяните курсор вниз до дороги
(рис. 3.13). В видовом окне Left измените положение источника света в соответствии
с расположением фонаря. Обратите внимание, что источник света состоит из двух
подобъектов: основания и цели. Каждый из подобъектов можно перемещать.
Управление формой источника настраивается в свитке Spotlight Parameters (Параметры прожектора) (см. рис. 3.15), для получения доступа к которому выделите основание
. Управлять можно как ярким пятисточника света и перейдите на вкладку Modify
ном света (внутренней областью), так и спадом света (областью между внутренним и
внешним конусами), где интенсивность освещения плавно уменьшается к краям.
Когда оба световых пятна близки друг к другу, то свет получается особенно резким и
дает на сцене яркое световое пятно. Но если значение спада света (Falloff) оказывается
существенно бо́льшим, чем значение яркого пятна (Hotspot), то область света получается с более размытыми краями. Таким образом, внутри круга с радиусом, задаваемым
параметром Hotspot/Beam, свет имеет одинаковую интенсивность, а за пределами круга с радиусом, задаваемым параметром Falloff/Field, свет полностью затухает. Внутри
этого кольца свет постепенно затухает от внутреннего круга к внешнему. Введите для
параметра Hotspot/Beam значение 60, а для Falloff/Field — 100. Визуализируйте вид из
окна Perspective (рис. 3.14). Если вы не увидите световое пятно, значит, основание
источника находится внутри фонаря, немного опустите его вниз. Убедитесь, что включены тени (Shadow Map) и в свитке Intensity/Color/Attenuation увеличьте яркость
источника (параметр Multiplier) до 1.3. Дополнительно включите затухание Decay =
= Inverse, Start = 50 см.
Многие параметры этих источников аналогичны источнику света Omni. Поэтому остановимся только на опциях свитка Spotlight Parameters (рис. 3.15):
160
Глава 3
Show Cone (Показать конус) — управляет отображением конуса света в окнах про-
екций, если источник этого света не выделен. Если источник света выделен, то
конус света отображается независимо от того, будет ли помечено это поле;
Hotspot/Beam (Размер светового пятна) — задает размер светового пятна, в преде-
лах которого интенсивность света максимальна и постоянна;
Falloff/Field (Область затухания) — определяет внешние размеры кольца, в преде-
лах которого свет размыт и постепенно затухает от внутреннего круга, задаваемого
предыдущим параметром, к внешнему;
Circle (Круг) и Rectangle (Прямоугольник) — определяют вид светового пятна. При
выборе прямоугольной формы становится доступным параметр Aspect, устанавливающий соотношение сторон светового пятна;
Overshoot (Рассеивание) — заставляет источники света освещать сцену во всех на-
правлениях аналогично источнику света Omni, не учитывая значение параметра
Falloff/Field. Однако тени будут отбрасываться только в пределах, задаваемых этим
параметром. Эта опция полезна, когда вы хотите осветить большую область, но сделать так, чтобы тени отбрасывались только в ограниченной ее части, что позволяет
ускорить визуализацию сцены;
Bitmap Fit (Подогнать под размеры изображения) — позволяет подогнать размер
светового пятна под размер проецируемой картинки, если источник света используется в качестве проектора. Применяется, когда световое пятно имеет форму прямоугольника (Rectangle).
Рис. 3.14. Освещение источником света
Target Spot
Рис. 3.15. Настройки формы источника света
типа Spot
Далее добавим источник света Free Spot. На командной панели на вкладке Create
и щелкните по кнопке Free Spot. Источник света создаетвыберите команду Lights
ся одним щелчком мыши, в зависимости от того, в каком видовом окне кликнуть, будет
задано его направление. Создайте источник света типа Free Spot в видовом окне Front.
Далее с помощью вращения и перемещения уточните его положение в окнах Top и Left
(рис. 3.16).
Источник света не имеет цели, поэтому состоит только из основания, которое можно
вращать и перемещать. Любой источник света типа Free Spot можно преобразовать
Освещение и материалы
161
в Target, для этого достаточно включить параметр Targeted (Направленный) в свитке
General Parameters (Основные параметры).
В свитке Intensity/Color/Attenuation увеличьте яркость для фары до 1.5 и измените
цвет на желтый. В том же свитке для параметра Decay (Затухание) выберите Inverse и
для параметра Start установите 80 см.
Рис. 3.16. Положение источника света Free Spot
В свитке Spotlight Parameters для параметра Hotspot/Beam установите значение 40,
а для Falloff/Field — 60.
Для того чтобы отобразить свет от источников света в видовом окне, должен быть
активирован режим отображения High Quality (Высокое качество). Он выбирается
в меню после названия видового окна (Perspective) (рис. 3.17).
Рис. 3.17. Активизирован режим отображения High Quality
На этом можно было бы завершить, однако при запуске анимации источник света остается на месте. Чтобы фонарь и машина были связаны, нужно создать связь подчинения,
это значит, что все параметры трансформации будут наследоваться для дочернего объекта. Дочерним объектом будет фонарь, а родителем — машина. И при любом изменении положения машины фонарь станет следовать за нею, созданная анимация также
будет наследоваться. Для этого выделите фонарь и на главной панели инструментов
щелкните по кнопке Select and Link
, затем как бы перетяните от фонаря к машине
пунктирную линию. На мгновение вокруг машины появится рамка, значит, связь создалась. Проиграйте анимацию и проверьте, двигается ли фонарь вместе с машиной
(см. видео \Lesson_3.1\Link_light.mp4) (рис. 3.18).
162
Глава 3
Визуализируйте сцену. Поскольку при визуализации методом Scanline Renderer отображаться будут только прямые лучи света, некоторые участки сцены окажутся очень
темными. Добавим в сцену источник света Skylight для создания дополнительного об,
щего освещения. На командной панели инструментов перейдите на вкладку Create
выберите команду Lights
, в группе источников света Standard щелкните по кнопке
Skylight и затем щелкните мышью в любом месте сцены. Положение и размер источника света не влияют на освещение, источник света строит вокруг сцены купол, имитируя небо. Skylight будет более подробно рассмотрен чуть далее, а пока настроим
в области Sky Color (Цвет неба) для паосновные параметры. На вкладке Modify
раметра Sky Color… задайте темно-синий цвет. В области Render активизируйте параметр Cast Shadows (Отбрасывать тени), а Rays per Sample введите значение 10. Последний параметр отвечает за качество теней и сильно увеличивает время просчета.
Проиграйте анимацию и остановите ее на любом понравившемся кадре (см. видео
\Lesson_3.1\Play_car_animation.mp4). Визуализируйте сцену (рис. 3.19). Финальная сцена
расположена в папке проекта \scenes\lesson_3.1\Spots_end.max.
Рис. 3.18. Фонарь привязан к машине
Рис. 3.19. Добавлен источник света Skylight
Источники света Free Direct и Target Direct
Откройте из папки проекта файл \scenes\lesson_3.1\Direct.max. В сцене используются
текстурные карты, для корректной их работы обязательно скопируйте содержимое папки sceneassets к себе в проект в аналогичную папку или разместите рядом со сценой.
Иногда требуется переоткрыть файл через главное меню File | Open, чтобы подгрузить
текстуры.
Источники света типа Direct распределяют свет параллельно из круглой или прямоугольной области. Часто применяются для имитации солнечного освещения. Различия
между Free Direct и Target Direct только в наличии цели у последнего, которая позволяет более точно настроить направление света.
В сцене уже есть источник света Skylight, который мы добавляли в предыдущем примере при работе с источниками света Spot Light.
Освещение и материалы
163
В окне Front добавьте в сцену источник света Target Direct (рис. 3.20) аналогично добавлению источника Target Spot. В сцене появится источник света, по форме напоминающий цилиндр. Проверьте расположение источника в окне Left.
У этого источника можно задать интенсивность и оттенок света в соответствующих
полях свитка Intensity/Color/Attenuation. Для параметра Multiplier установите значение 5 и цвет измените на желтый, включите в свитке Decay затухание Inverse и настройте параметр Start так, чтобы свет был не ярким и не тусклым. В свитке
Directional Parameters (Направляющие параметры) выставьте величины Hotspot/Beam
(Размер светового пятна) = 200 см и Falloff/Field (Область затухания) = 350 см (или
другие значения, но первое должно быть значительно меньше второго). Проведите рендеринг и убедитесь, что пятно света размыто (рис. 3.21).
Рис. 3.20. Положение источника света
Target Direct в окне Front
Рис. 3.21. Световое пятно размыто
В меню видового окна Perspective вместо Standard активизируйте High Quality. Переместите основание источника так, чтобы он светил на боковую сторону домика
(рис. 3.22). Легче всего источник света перемещать в окне Top. При перемещении мишени источник света автоматически меняет свою ориентацию, постоянно оставаясь
нацеленным на мишень. Проследите, чтобы мишень была в центре домика. Визуализируйте сцену (рис. 3.23).
Рис. 3.22. Новое положение источника света
Рис. 3.23. Финальная визуализация
164
Глава 3
Изменяя угол наклона источника света (он определяет форму теней) и его цвет, можно
имитировать разное время суток (утро, день и вечер).
Финальная сцена находится в файле \scenes\lesson_3.1\Direct_end\max.
Источник света Skylight
Источник Skylight (Небесное освещение) моделирует дневное освещение. Он позволяет
установить цвет неба Sky Color (Цвет неба) или назначить ему текстурную карту. Небо
моделируется в виде купола, расположенного над сценой (рис. 3.24). Освещение сцены
не зависит от положения и ориентации источника света. При этом визуализация сцены
требует значительных временных затрат. Источник света Skylight позволяет добавить
в сцену переотражения, не используя специальные визуализаторы, такие как Arnold
и V-ray, дополнительно можно включить мягкие тени.
Рис. 3.24. Схема распределения света в Skylight
Откройте сцену \scenes\lesson_3.1\Skylight.max. Добавьте источник света Skylight.
Настройка источника Skylight выполняется в свитке Skylight Parameters (Параметры
небесного освещения). Параметр Multiplier увеличивает/уменьшает яркость источника
света. Увеличьте значение до 1.5. Следующий параметр — Sky Color, он определяет
цвет неба или излучаемого света над сценой. При наличии в сцене источника света
Skylight цвет фона в настройках визуализации уже не учитывается. В области Sky
Color можно включить опцию Use Scene Environment, в этом случае будет задан цвет
или текстурная карта, установленные в окне Rendering | Environment. В нашем примере будем использовать настройки окружения в параметрах источника света, для этого
включите параметр Sky Color. Убедитесь, что установлен белый цвет. Перейдите в область Render свитка Skylight Parameters и установите флажок у опции Cast Shadows
(Отбрасывание теней). Поскольку при этом время визуализации может оказаться значительным, то его пока можно сократить за счет ухудшения качества теней, уменьшив
там же величину параметра Rays per Sample (Количество лучей на фрагмент) до 10.
Визуализируйте вид из окна Perspective (рис. 3.25).
Добавим текстурную карту. Щелкните мыщью по кнопке No Map, в окне Material/Map
Browser раскройте свиток Maps | General и дважды щелкните по текстурной карте
Bitmap. Появится окно для выбора текстурной карты, обычно это растровое изображение формата JPG или PNG, а также может быть карта HDRI (панорамная карта с высоким динамическим диапазоном). Выберите в папке проекта карту HDRI \sceneassets\
images\indoor.hdr (см. видео \Lesson_3.1\Assign_hdri.mp4).
В параметрах источника света на кнопке выбора текстурной карты появится имя добавленной карты HDRI, чуть выше напротив параметра Map расположено значение, кото-
Освещение и материалы
165
рое определяет степень влияния текстуры, например если установить значение 50, то
текстурная карта будет смешиваться с цветом неба в пропорции 50 на 50%. Оставим
значение по умолчанию 100.
Изменим метод распределения текстурной карты по источнику света Skylight. Для этого щелкните правой кнопкой мыши по кнопке с именем текстурной карты и выберите
в контекстном меню пункт Edit in SME (Редактировать в редакторе материалов). Появится редактор материалов, в котором справа будут расположены параметры карты.
В свитке Coordinates (Координаты) переключите опцию Texture на Environ (Окружение), а для параметра Mapping выберите значение Spherical Environment (Сферическое окружение). Закройте редактор материалов.
Визуализируйте сцену из окна Perspective, вы увидите большое количество "мусора" и
серых точек, однако можно понять, надо ли увеличивать яркость или менять текстурную карту для окружения. Карта добавила общий цвет и блики с правой стороны
объектов, освещение должно быть более объемным (рис. 3.26).
Рис. 3.25. Сцена с базовыми настройками
источника света Skylight
Рис. 3.26. Добавлена карта HDRI
для источника света Skylight
Для финальной визуализации увеличьте значение параметра Rays per Sample до 64.
Визуализация будет идти долго, поэтому наберитесь терпения, в результате весь шум
должен исчезнуть. Финальную визуализацию смотрите в файле \renderoutput\lesson_3.1\
Skylight.png, финальная сцена расположена в файле \scenes\lesson_3.1\Skylight_end.max.
Практическая работа
Откройте из папки этого упражнения файл \scenes\practice_3.1\Chair.max и самостоятельно настройте источники света (Skylight, Target Spot и Omni) так, чтобы получить
изображение, приведенное в файле \renderoutput\practice_3.1\Chair.png.
Упражнение № 3-2. Фотометрические источники
света. Освещение тремя источниками света
До сих пор мы в основном пользовались стандартными источниками света. Фотометрические источники основаны на уточненной модели освещенности и служат для получения более достоверных результатов освещения объектов и сцены. Свет, испускаемый
166
Глава 3
фотометрическими источниками света, всегда затухает обратно пропорционально
квадрату расстояния до освещаемой поверхности.
C физической точки зрения световое излучение характеризуется световым потоком,
силой света и освещенностью. Световой поток задает энергию света, излученную за
единицу времени, и измеряется в люменах (lm). Световой поток, испускаемый в пределах заданной области пространства, называется силой света и измеряется в канделах
(cd). Освещенность — это отношение светового потока к площади освещаемой поверхности, измеряется она в люксах (lx). Все эти характеристики используются при настройке параметров фотометрических источников света.
Помимо указанных характеристик освещения для трехмерной графики важно понятие
цветовой температуры. Под цветовой температурой понимают физическую величину,
характеризующую цвет и яркость источника света и измеряемую в кельвинах (K). Источники с температурой ниже 4000 K считаются теплыми (цвета от красного до желтого — цвет свечи, лампы накаливания и т. д.), а источники с большей цветовой температурой — холодными (лампы дневного света).
Характеристики света, испускаемого фотометрическими источниками, задаются в 3ds Max
в действующих физических единицах, таких как канделы, люмены или люксы. Например, лампочке накаливания мощностью 100 Вт соответствует источник с интенсивностью 1750 люменов или 139 кандел.
В 3ds Max в списке категорий источников света
Photometric (рис. 3.27) расположены три типа источников, из них Target Light и Free Light можно считать за
один, т. к. в любой момент можно сделать нацеленный
(Target) или всенаправленный (Free) источник. Sun
Positioner в сочетании с Physical Sky создает систему
дневного света.
Рис. 3.27. Фотометрические источники света
Фотометрические источники света хорошо подходят для визуализатора Arnold. Далее
создадим трехточечную систему освещения.
Создание трехточечной системы света
Откройте из папки этого упражнения файл \scenes\lesson_3.2\Three_point_light.max. Текстурная карта к ней находится в папке \sceneassets\images, убедитесь, что содержимое
папки скопировано в ваш проект, или разместите папку images рядом с файлом *.max.
В сцене находится статуя, для объектов применен материал типа Physic Material (работа с ним будет рассмотрена в следующих упражнениях) и установлен визуализатор
Arnold (встроенный визуализатор, имеет продвинутые методы расчета освещения по
сравнению с Scanline Render) (рис. 3.28). Чтобы сделать сцену более привлекательной,
воспользуемся трехточечной схемой освещения.
Перейдите на вкладку Create
и нажмите кнопку Lights
, из списка категорий
источников света выберите Photometric, а затем в свитке Object Type укажите источ-
Освещение и материалы
167
ник света Target Light. Как только вы щелкнете по кнопке типа источника света, появится окно с вопросом об использовании контроля экспозиции, щелкните по кнопке
Yes. Контроль экспозиции поможет убрать яркие световые пятна или увеличить общую
освещенность без изменения яркости каждого источника. Щелкните мышью в окне
Front и перетащите курсор от левого верхнего угла к статуе. Переместите нацеленный
источник в окне вида сверху, расположив его внизу видового окна (рис. 3.29). Переименуйте прожектор в Main_Light — это будет основной источник. Добавьте еще два
источника света Target Light в соответствии с рис. 3.29. Источник света Fill_Light будет создавать заполняющий свет, Top_Light — верхнюю подсветку. Точные значения
для положения источников света не обязательно выставлять, далее можно будет подкорректировать при визуализации и подобрать положение теней и света. Никогда не
стремитесь сразу правильно поставить источник света, его можно изменять в зависимости от атмосферы, которую вы хотите передать, или от примененных материалов.
Рис. 3.28. Начальная сцена
Рис. 3.29. Установлены источники света
168
Глава 3
Настройка источников света
Если сейчас визуализировать видовое окно Perspective, то сцена будет сильно засвечена.
При установке источников света был активирован контроль экспозиции, поэтому теперь
общая освещенность сцены может контролироваться одним значением. Сперва установим среднее значение для экспозиции, для этого в главном меню выберите Rendering |
Environment. В области Exposure Control установлена опция Physical Camera Exposure
Control (Контроль экспозиции физической камеры). Чуть ниже расположен одноименный свиток, в котором можно настроить уровень освещения, теплоту света и яркость,
контрастность визуализации. Пока изменим только общую освещенность, в свитке
Global Exposure увеличьте параметр Exposure Value до 9, чем выше значение, тем темнее будет сцена. Обычно значения варьируются от 6 до 15. Далее со средним значением
экспозиции настроим источники света. Визуализируйте сцену (рис. 3.30, см. видео
\Lesson_3.2\Video_3.30.mp4), освещенность сцены значительно снизится.
Рис. 3.30. Настроен контроль экспозиции
Рис. 3.31. Увеличена яркость
для основного источника света
Перейдем к настройкам основного источника света. Выделите источник света Main_Light
и перейдите на вкладку Modify
. Отметьте флажком опцию Shadows в свитке
General Parameters и выберите тип теней Area Shadows. Чуть ниже будут находиться
параметры, отличающиеся от стандартных. Параметр Light Distribution позволяет выбрать один из двух типов источников света, по умолчанию выбран источник, который
равномерно испускает лучи света Uniform Spherical, второй тип — Photometric Web.
Этот источник света распределяет свет по выбранной форме, он подходит для имитации светильников возле сцены, чтобы передать форму света по форме светильника.
В нашем примере будет использоваться стандартный тип Uniform Spherical.
В свитке Intensity/Color/Attenuation в поле Intensity настраивается яркость света
в канделах, люменах и люксах. Будем задавать значения в канделах (kd). Для выбранного источника света задайте силу света, равную 6500 kd.
Перед тем как продолжить, убедимся, что главный источник света достаточно освещает
объект в сцене, визуализируйте вид Perspective (рис. 3.31). Объект должен быть хоро-
Освещение и материалы
169
шо освещен, не должно быть пересветов или очень темных участков. Световая сторона
должна хорошо просматриваться, пока не обращайте внимания, что теневая сторона
плохо освещена. Трехточечная расстановка света предполагает, что в сцене свет поступает со всех направлений. Создается ощущение музейности, когда объект освещен со
всех сторон.
Продолжим настраивать источники света. Для удобного изменения их параметров воспользуемся специальным окном Light Lister… (Список источников света). В главном
меню выберите опцию Tools | Light Lister… В окне будут отображаться все установленные в сцену источники света, кроме этого, есть хороший набор инструментов для их
настроек (рис. 3.32).
Рис. 3.32. Окно настроек источников света
Слева от названия источника света расположены две кнопки, первая позволяет выделить источник и настроить дополнительные параметры на панели Modify, вторая —
включает и выключает источник света из сцены. Кроме этого, можно сразу настроить
яркость (колонка Intensity), тип теней (колонка Shadows) и др.
В окне Light Lister для источников света Fill_Light и Top_Light введите значения 6500
и 5000 kd соответственно. Визуализируйте сцену, она должна быть освещена со всех
сторон, убедитесь в отсутствии ярких пятен. Если необходимо, уменьшите яркость света или отодвиньте источник света от объекта.
Далее немного растушуем края теней. Размытие теней инструментом Area Shadow
происходит за счет размера формы, из которого испускаются лучи света, по умолчанию
это точка. Чем меньше размер источника по отношению к объекту, тем более резкие
границы тени будут от него. В окне Light Lister щелкните слева от названия источника
Main_Light по кнопке, чтобы его выделить. На панели Modify перейдите в свиток
Shape/Area Shadows и для параметра Emit light from (Shape) (Излучать свет из (Форма)) выберите форму Sphere. Чуть ниже увеличьте радиус до 6 см. Изменение формы
и радиуса будет заметно в видовых окнах (см. видео \Lesson_3.2\Light_shape.mp4). Повторите настройку теней для остальных источников света. Визуализируйте сцену
(рис. 3.33).
Практическая работа
Откройте из папки этого упражнения файл \scenes\practice_2.2\Dog.max, самостоятельно
установите источники света и настройте параметры источников и теней.
170
Глава 3
Рис. 3.33. Финальная сцена
Упражнение № 3-3. Объемное освещение
Создание подводной сцены [22]
Когда свет проходит сквозь воду, туман, дым или пыль, его лучи становятся видимыми.
В компьютерной графике подобный эффект называется объемным освещением. Объемное освещение (Volume Light) наполняет конус света частицами так, чтобы луч или
ореол при визуализации становились видимыми. Покажем здесь, как это можно реализовать.
Откройте из папки этого упражнения файл \scenes\lesson_3.3\Underwater.max, содержащий сцену, в которой присутствует фиктивный объект Dummy01 в виде зеленого куба, а
также ориентированная относительно него скрытая камера. Щелкните правой кнопкой
мыши в окне вида сверху, чтобы его активизировать, и постройте в нем плоскость, поместив ее внутрь фиктивного объекта. Перейдите на вкладку Modify
и установите
в свитке Parameters следующие значения параметров плоскости: Length = 250 см,
Width = 250 см, Length Segs = 50, Width Segs = 50. Не снимая выделения с плоскости,
на главной панели инструментов выберите инструмент Align, а затем в любом окне
щелкните мышью на фиктивном объекте и в открывшемся окне Align Selection укажите
выравнивание объектов по положению (Align Position) по всем осям координат. В итоге положение плоскости будет совмещено с положением фиктивного объекта.
Активизируйте окно вида в перспективе, а затем нажмите клавишу <C>, чтобы перейти
к виду из камеры. Выделите только что созданную плоскость Plane01, а затем перейдите
на вкладку Modify
, чтобы переименовать эту плоскость в Ocean_Floor_01. Создадим
на дне океана неровности (рис. 3.34). Для этого примените к плоскости модификатор
Noise (Нерегулярность) и установите параметру Scale (Масштаб) значение 50. Для задания высоты неровностей в свитке Parameters для параметра Strength (Интенсивность) в поле Z введите значение 20 см. Отметьте флажком опцию Fractal (Случайное
Освещение и материалы
171
Рис. 3.34. Модель океанического дна
распределение), а для параметра Iterations задайте значение 6. Примените к плоскости
модификатор TurboSmooth.
Дополним подводную сцену камнями. В окне вида сверху постройте сферу радиусом
20 см, а для параметра Segments задайте значение 60. Назовите эту сферу Rock_01. Выберите для нее модификатор Noise и в поле Scale этого модификатора установите значение 50. Установите флажок Fractal, а также значение 20 см в полях X, Y и Z области
Strength. На главной панели инструментов нажмите кнопку Select and Uniform Scale
, а затем в окне вида из камеры перетащите курсор вниз по оси Z, чтобы сделать
камень более плоским (рис. 3.35).
Самостоятельно сделайте копии этого камня и разбросайте их по поверхности. Видоизмените их, чтобы они не были похожи друг на друга (рис. 3.36).
Рис. 3.35. На дне уложен камень
Рис. 6.36. Копии камней
разбросаны по поверхности дна
В окне вида спереди создайте тор (объект Torus) со следующими параметрами: Radius 1 =
= 20 см, Radius 2 = 4 см, Segments = 60. На панели Modify
в свитке параметров тора
установите флажок Slice On (Обрезать). Задайте значение 90 в поле Slice From (Обрезать от), а также значение 270 в поле Slice To (Обрезать до), чтобы оставить только половину тора. Переименуйте полученный объект в Torus. Переместите объект на плоскость ближе к камере, чтобы он был лучше виден.
172
Глава 3
Назначьте объекту Torus модификатор Noise. Введите значение 20 для параметра Scale,
установите флажок Fractal, а также значение 6 в поле Iterations (Число итераций)
и значения 5, 25 и 15 см в полях X, Y и Z области Strength. Настройте вид в перспективе, чтобы лучше видеть объект.
Примените к объекту Torus модификатор FFD 2×2×2 (Свободная деформация решеткой
размерностью 2×2×2). Раскройте список подобъектов этого модификатора и щелкните
указателем мыши на метке подобъекта Control Points (Управляющие вершины). Видоизмените тор, перемещая управляющие вершины и меняя значение Seed (Затравка)
в свитке Parameters модификатора Noise (рис. 3.37).
Самостоятельно создайте еще несколько аналогичных объектов. Завершенный вариант
этой сцены (рис. 3.38) представлен в файле \scenes\lesson_3.3\Underwater_step1.max.
Рис. 3.37. Моделирование подводной скалы
Рис. 3.38. Подводная сцена
Создание источников света
Установите в нашей подводной сцене в видовом окне Left три стандартных источника
света типа Target Direct. Расположите их в разных участках сцены и направьте в сторону камней, находящихся на дне океана рис. 3.39.
Рис. 3.39. Расположение источников света
Освещение и материалы
173
В параметрах всех источников света установите тип теней Shadow Map. Включите затухание Decay = Inverse. Параметр Start в области Decay установите таким, чтобы начало затухания было в середине формы источника света, в примере это значение составляет 100 см. В свитке Directional Parameters задайте форму источника:
Hotspot/Beam = 100 см, Folloff/Field = 140 см. Визуализируйте сцену вида из камеры,
освещение может быть как на рис. 3.40. Старайтесь избегать очень ярких световых пятен.
Рис. 3.40. Базовое освещение в сцене
Для создания световых бликов, возникающих на дне океана в результате ряби на поверхности воды добавим проекцию на источники света. Выделите любой источник света и перейдите в свиток Advanced Effects (Дополнительные эффекты). В области
Projector Map (Проецируемая карта) активируйте параметр Map и щелкните по кнопке
None напротив этого параметра. В появившемся окне раскройте свиток Maps | General
и щелкните два раза по текстурной карте Noise (Шум). Щелкните по кнопке None
(c выбранной картой) правой кнопкой мыши, чтобы открыть контекстное меню, и выберите пункт Edit in SME (Редактировать в редакторе материалов).
В свитке Coordinates этой карты в области Source выберите вариант наложения текстуры Explicit Map Chanel (Непосредственное проецирование). В свитке Noise
Parameters нужно назначить два цвета: один светлее, а другой темнее, чтобы они создавали пятна на поверхности дна океана. Цвет Color #1 установите равным (190, 200,
210), цвет Color #2 пусть будет равным (60, 75, 85). Тип нерегулярности распределения
пятен Noise Type установите в Turbulence (Турбулентность). Значения остальных
параметров приведены на рис. 3.41.
Рис. 3.41. Параметры нерегулярности
174
Глава 3
Чтобы скопировать текстурную карту Noise на остальные источники света, в области
Projector Map настроек источника света щелкните правой кнопкой мыши по названию
текстуры и выберите Copy. Перейдите к настройкам второго источника света, в свитке
Advanced Effects напротив параметра Map щелкните правой кнопкой мыши по кнопке
None и выберите Past (Instance). Вариант Instance позволит использовать ту же текстурную карту и при изменении ее настроек, они будут применяться сразу для всех источников света (см. видео \Lesson_3.3\Copy_Noise.mp4). После применения текстурной
карты к источникам света можно немного увеличить их яркость до 1.5, если это необходимо (рис. 3.42).
Рис. 3.42. Результат проецирования текстурной карты
Добавьте подводный источник света типа Skylight (переименуйте его в SkySea), освещающий всю сцену, задайте значение параметра Multiplier = 0.2. Положение этого источника не имеет значения. В его настройках в области Render включите опцию Cast
Shadows (Отбрасывание теней).
Создание эффекта объемного освещения
Чтобы добавить к источникам света эффект объемного освещения, перейдите на вкладку Rendering |
Environment и в свитке Atmosphere нажмите кнопку
Add (Добавить). В открывшемся диалоговом окне выберите эффект Volume Light (Объемное освещение)
(рис. 3.43).
В поле Name переименуйте его в Volume Light1. Снова
Рис. 3.43. Список
нажмите кнопку Add и еще раз добавьте эффект Volume
атмосферных эффектов
Light. Назовите его Volume Light2. Благодаря этому разным источникам света можно будет назначать разные
эффекты объемного освещения.
Ниже появится свиток (необходимо прокрутить вниз ползунок справа, сделав активным
параметр Volume Light1) Volume Light Parameters с большим числом параметров
(рис. 3.44). Основные параметры объемного освещения таковы:
Pick Light — указать источник освещения;
Fog Color — цвет тумана;
Освещение и материалы
175
Attenuation Color — цвет затухания;
Density — плотность тумана;
Max Light % — максимальная интенсивность свечения;
Min Light % — минимальная интенсивность свечения;
Atten. Mult. — коэффициент затухания цвета.
В свитке Atmosphere выберите эффект Volume Light1 и справа установите флажок для
опции Active, чтобы активизировать действие этого эффекта. Назначим эффект объемного освещения одновременно для источников света Direct01, Direct02. Для этого
в свитке Volume Light Parameters нажмите кнопку Pick Light и выберите источник
света Direct01 — его название должно появиться в поле справа от Pick Light. Снова
нажмите кнопку Pick Light и укажите источник света Direct02.
Рис. 3.44. Параметры объемного освещения
Теперь следует назначить параметры объемного эффекта Volume Light1. В разделе
Volume свитка Volume Light Parameters поставьте флажок около опции Exponential
(определяет закон ослабления света на расстоянии). Плотность объемного эффекта
176
Глава 3
Density установите равной 1. В поле Fog Color (Цвет тумана) подберите подходящий
цвет для объемного освещения. Остальные параметры объемного эффекта Volume
Light1 оставьте по умолчанию рис. 3.44.
Перейдите в свиток Atmosphere, выберите эффект Volume Light2 и самостоятельно
настройте его для источников света Direct03. Результат визуализации приведен на
рис. ЦВ-3.45. Финальная сцена размещена в файле \scenes\lesson_3.3\Underwater_end.max.
Рис. ЦВ-3.45. Подводная сцена с объемным освещением
Практическая работа
Используя эффект объемного освещения, самостоятельно создайте сцену, показанную
в файле \renderoutput\practice_3.3\Window_light.jpg из папки этого упражнения. Чтобы получить цветные лучи объемного света, его нужно пропускать через прозрачную мозаичную поверхность.
Редактор материалов
Окончательное представление моделируемой сцены зависит от правильно подобранных
и отлаженных материалов. Без этого объекты не будут выглядеть естественно. Только с
помощью материалов объекту можно придать определенную прозрачность или степень
отражения его поверхности. В трехмерной графике все эти свойства материала необходимо устанавливать вручную.
Формально материалы — это совокупность настроек, определяющих внешний вид
трехмерного объекта. Параметры материала задают с помощью либо числовых параметров, либо текстурных карт (растровых изображений) и процедурных изображений.
Материал можно присвоить как всей поверхности трехмерного объекта, так и ее определенным граням или участкам.
3ds Max предоставляет широкие возможности для работы с материалами. Чтобы создать новый материал и применить его к объекту, прежде всего следует решить, какой
Освещение и материалы
177
визуализатор предполагается использовать для получения окончательного изображения. От этого зависят тип материала и способы их применения. Основной вопрос заключается в том, насколько точно вы хотели бы учесть реальные физические свойства
материала. Существуют разные визуализаторы, которые дают наиболее точное представление о материалах, — например, Mental Ray, V-Ray, Arnold, Corona. В 3ds Max
2022 встроен только один из них — Arnold. Остальные визуализаторы представляют
собой внешние плагины и требуют дополнительной установки. Если особая точность
в передаче физических свойств материалов не требуется, то можно пользоваться визуализатором Scanline Render (Визуализация методом построчного сканирования), принятым в 3ds Max по умолчанию.
Визуализатор Mental Ray хорошо зарекомендовал себя при работе с материалами
Arch&Design, которые дают физически точные изображения архитектурных объектов
(металлов, дерева, стекла), хорошо моделируют свойства отражения и преломления
света. Визуализаторы V-Ray и Arnold содержат свои наборы материалов.
Для визуализатора Scanline Render лучше подходят материалы типа Physical Materia,
который содержит большой набор шаблонов для передачи свойств металла, бетона,
резины и т. д., материалы Architectural и Raytrace.
Компоненты материала описывают его визуальные и оптические свойства. Для каждого
материала существует базовый материал, который может передать основные свойства
объекта: цвет, отражение, преломление, просвечивание и рельеф. Также есть специальные материалы, например, для свечения объекта.
Материалы типа Raytrace описывают поверхности посредством нефизических характеристик и различаются в зависимости от заданного визуализатора. Например, стандартный материал Raytrace обеспечивает формирование эффектов отражения и преломления методом трассировки световых лучей. Эти материалы связаны с программой
визуализации Default Scanline Render.
Важнейшее свойство материала — цвет — определяется с помощью параметра Diffuse
(Рассеянный отраженный цвет). Кроме того, можно управлять цветом зеркальных бликов, их интенсивностью, размером пятна зеркального блика, самосвечением материала
и т. п.
Свойство объекта не пропускать через себя свет определяется параметром Opacity (Непрозрачность), выражаемым в процентах. Следовательно, объект с непрозрачностью
0% будет совершенно прозрачным, а с непрозрачностью 100% — полностью не пропускающим свет. Свойство объекта Transparent (Прозрачность) — полная противоположность непрозрачности. Оно определяет способность объекта пропускать определенное количество света. Для управления прозрачностью предусмотрены несколько
параметров: Falloff (Спад), Amount (Количество) и Type (Тип).
Свойства материала Reflection (Отражение) и Refraction (Преломление) определяют
уровни отражения и преломления света при прохождении через прозрачный материал.
Степень преломления света задается параметром Index of Refraction (Коэффициент
преломления). Например, вода имеет коэффициент преломления 1,3, а стекло — около 1,5.
При отражении света от таких предметов, как металл и стекло, на поверхности объектов появляются световые блики. При создании материалов с подобными свойствами
178
Глава 3
настраивают параметры Specular Level (Интенсивность зеркального блика), позволяющие задать яркость пятна зеркального блика на материале, и Glossiness, определяющие размер блика. Параметр Soften (Смягчение) дает возможность слегка размыть
пятно блика на поверхности материала, уменьшая размер области с максимальной
яркостью.
Многим компонентам материала могут быть назначены текстурные карты, улучшающие реальное представление материала. Текстурные карты всегда назначаются на объект через материал, обязательно нужно указать, к какому свойству относится текстура,
например если вы хотите заменить основной цвет объекта текстурой, то она назначается на свойство материала Diffuse.
Материалы работают в сочетании с источниками света. Интенсивность света, падающего на объект, определяют три фактора: интенсивность самого источника света, угол
падения и расстояние до источника.
Фотометрические источники света испускают свет, который всегда затухает обратно
пропорционально квадрату расстояния от источника света до объекта. По умолчанию
стандартные источники света не затухают, но всегда можно включить затухание, определить его степень (обратно пропорционально расстоянию до объекта или квадрату
этого расстояния) и расстояние, на котором действует затухание.
Для работы с материалами в 3ds Max применяют редактор материалов. После того как
вы выбрали тип материала, следует открыть панель какого-либо из двух редакторов
и Slate
материалов: Compact Material Editor (Компактный редактор материалов)
Material Editor (Панель редактора материалов)
.
При смене визуализатора список доступных материалов меняется и появляются специальные материалы, визуализация которых связана с конкретным визуализатором.
Редактор материалов Compact Material Editor
Редактор материалов Compact Material Editor открывают нажатием на кнопку
,
расположенную на главной панели инструментов. Нажатием клавиши <M> (в английской раскладке клавиатуры) также вызывается редактор материалов, но при этом он
может быть открыт в любом из двух возможных вариантов. Чтобы поменять редактор
материалов, следует в его меню раскрыть выпадающий список Modes (Режимы) и выбрать нужный вариант (рис. 3.46).
Для создания материала в редакторе Compact Material Editor необходимо активизировать свободную ячейку образца материала и в свитках, отвечающих за назначение
свойств материала, установить его параметры, например: Diffuse (Рассеянный отраженный цвет), Specular (Цвет зеркального блика), Glossiness (Размер пятна зеркального блика), Opacity (Непрозрачность) и т. д.
Чтобы назначить материал объекту, следует выделить соответствующую ячейку материала и требуемый объект, а затем на панели инструментов редактора материалов нажать кнопку Assign Material to Selection (Назначить материал выделенному объек— материал отобразится в видовом окне. Однако окончательный вид материала
ту)
можно получить только после выполнения операции Rendering (Визуализация).
Освещение и материалы
179
Рис. 3.46. Редактор материалов Compact Material Editor
Ячейки с образцами материалов дают наглядное представление о создаваемых и редактируемых материалах до их применения к объекту. Чтобы увидеть параметры созданного материала, нужно щелкнуть на его ячейке, и тогда в ней появится окаймляющая
прямоугольная рамка, а в свитках редактора материалов отобразятся параметры этого
материала. Когда материал назначается находящемуся в сцене объекту, в каждом углу
ячейки появляются небольшие треугольники. Пустые треугольники означают, что материал уже задействован в сцене и назначен какому-либо объекту, закрашенные треугольники означают, что материал назначен выделенному в сцене объекту.
При создании материала для удобства дальнейшей работы обычно ему задают имя,
. Справа от него указывается
которое вводят в поле
тип материала (в данном случае — Standard (Legacy). Тип материала можно изменить,
щелкнув мышью по его названию.
После выбора необходимого типа материала его образец и настройки отображаются
в окне редактора материалов. Соответственно изменяются количество и названия свитков в нижней области редактора материалов.
Для доступа к другим типам готовых материалов, текстурных карт и библиотек материалов следует нажать кнопку Get Material (Получить материал)
— откроется окно
Material/Map Browser (Браузер материалов и текстурных карт), предоставляющее
такой доступ. На рис. 3.47, а в свитке Materials | General приведен список стандартных
материалов, а в свитке Maps | General — перечень стандартных текстурных карт
(рис. 3.47, б).
Библиотеки готовых материалов содержатся в файлах с расширением mat. Чтобы их
обнаружить, в окне Material/Map Browser следует нажать кнопку Material/Map
и в раскрывшемся списке
Browser Options (Опции браузера материалов и карт)
выбрать опцию Open Material Library (Открыть библиотеку материалов) (рис. 3.48).
180
Глава 3
Однако внешний вид материала в полученном изображении сильно зависит от множества других факторов, среди которых параметры освещения (яркость и угол падения
света, цвет источника света и т. д.), метод визуализации сцены и его настройки, разрешение растровой текстуры.
а
б
Рис. 3.47. Окно браузера материалов (а) и текстурных карт (б)
Рис. 3.48. Доступ
к библиотеке материалов
Редактор материалов Slate Material Editor
Редактор материалов Slate Material Editor открывается нажатием на кнопку
, расположенную в том же месте главной панели инструментов, что и кнопка компактного
редактора материалов, или на кнопку Modes в самом редакторе. В левой части редактора Slate Material Editor (рис. 3.49) находится окно Material/Map Browser, скрыть или
отобразить можно клавишей <O>. В средней части расположено активное окно View1,
а справа — окно Material Parameter Editor (Редактор параметров материала), скрыть
или отобразить можно клавишей <P>. Любое из этих окон также можно скрыть или
отобразить с помощью меню Tools в окне редактора Slate Material Editor.
Перетащите материал нужного типа (например, Material | General | Physical Material)
из браузера в активное окно — материал отобразится там в виде узла. Щелкните дважды на заголовке материала, и его параметры отобразятся справа на панели этого редактора (рис. 3.50).
Чтобы применить материал к объекту, выделите объект сцены и в редакторе материалов выберите созданный материал. Затем на панели инструментов редактора материалов нажмите кнопку Assign Material to Selection (Назначить материал выделенному
.
объекту)
Есть и иной способ — справа от созданного материала имеется круглый узелок, и от
него можно протянуть курсор мыши к выбранному объекту сцены (рис. 3.7, см. видео
\Material\Assign_material_to_selection.mp4).
Освещение и материалы
Рис. 3.49. Редактор материалов Slate Material Editor
Рис. 3.50. Материал Physical Material отобразился в активном окне
и на панели редактора параметров
181
182
Глава 3
Рис. 3.51. Применение материала к объекту (способ 2)
В активном окне View1 под названием материала Physical Material перечислены названия каналов (Base Color Map, Reflectivity Map, Refl Color Map и т. д.), каждому из
которых можно назначить свою текстурную карту. Например, перетяните из браузера
материалов в активное окно стандартную текстурную карту Maps | General | Checker
(Шахматная текстура), а затем с помощью мыши свяжите ее с каналом Base Color
Map. Если теперь выполнить двойной щелчок на названии добавленной карты
Checker, то справа отобразится список параметров этой текстурной карты (рис. 3.52).
Рис. 3.52. Каналу Base Color Map назначена текстурная карта Checker
Упражнение № 3-4. Mатериал Physical Material
По умолчанию в 3ds Max всегда предлагался материал типа Standard, однако в последних версиях программы его заменили на Physical Material, а Standard идет с припиской Legacy, что является устаревшим и больше не поддерживается разработчиками.
Physical Material имеет тип затенения или метод визуализации освещенных поверхностей, схожий с материалами реального мира. Материал поддерживается устаревшим
методом визуализации Scanline Renderer и отображает базовые настройки материала,
однако сложные эффекты затенения лучше визуализировать в Arnold.
Освещение и материалы
183
Материал Physical Material включает:
Base Layer (Базовый слой) — представляет собой диффузный цвет или эффекты
отражения от металла;
Transparency (Непрозрачность);
Emission (Слой для рассеивания или просвечивания);
Self-Illumination (Самосвечение);
Coating (верхний покрывающий слой) — определяет степень отражения и прозрач-
ности материала.
Настройки материала имеют два режима: простой и расширенный. В расширенный режим включены дополнительные эффекты отражения и настройки шероховатости.
Рассмотрим создание материала Physical Material на примере. Откройте файл \scenes\
lesson_3.4\Cats.max.
В сцене будет уже установлен визуализатор Arnold и добавлены фотометрические источники света. Вместо окна Perspective в сцене установлена и включена камера. В центре сцены расположены четыре объекта (рис. 3.53), к которым не применены материалы, однако при визуализации им автоматически назначается материал Physical
Material со стандартными настройками.
Рис. 3.53. Начальная сцена
Шаблоны материала Physical Material
Откройте Slate Material Editor (Редактор материалов)
, щелкнув по соответствующей иконке на главной панели инструментов или нажатием клавиши <M>. В заголовке
окна редактора материалов убедитесь, что вы открыли именно Slate Material Editor.
Из области Material/Map Browser перетяните в рабочую область View1 материал
Physical Material. Автоматически вокруг материала появится пунктирная линия и
справа отобразятся его настройки. Физический материал имеет много предустановленных шаблонов. В настройках материала в свитке Presets (Шаблоны) щелкните на выпадающий список, чтобы увидеть весь список шаблонов, которые разделены на группы:
184
Глава 3
Finishes — отделочные материалы, в них входят глянцевая, сатиновая, матовая и
лакированные отделки;
Non-metallic material — неметаллические поверхности, содержит материалы рези-
ны, керамики, пластика;
Transparent Material — прозрачные материалы, содержит три варианта стекла;
Metals — металлические поверхности;
Special — содержит материалы с эффектом полупрозрачности: воск свечи, плотные
жидкости.
Выберите материал Glossy Varnished Wood (Глянцевая лакированная древесина) из
группы Non-metallic material. Примените созданный материал к объекту Cat1 (способы
применения материала к объекту были описаны немного ранее).
Материал дерева содержит привязку к текстурным картам, которые расположены
в библиотеке программы 3ds Max, поэтому при переносе проекта не стоит забывать,
что некоторые текстурные карты расположены вне вашего проекта и могут не загрузиться на другом компьютере. Для таких целей в программе предусмотрена команда
File | Archive, которая собирает в один архив все файлы, используемые в сцене.
Визуализируйте вид из камеры, крайняя левая фигурка будет напоминать материал
глянцевого дерева. Вернитесь в редактор материалов и в настройках добавленного физического материала поменяйте шаблон на Matte Plastic (Матовый пластик) и измените
цвет для параметра Base Color (Основной цвет), например на RGB (0.7, 0.3, 0.5). У объекта Cat1 исчезнет отражение, а блики станут очень размытыми. В настройках материала в правой верхней области задайте ему новое имя: cat1_plastic.
Далее разберемся с основными настройками материала, чтобы понимать и менять
настройки шаблона при необходимости.
Создание стекла
Добавьте еще один материал Physical Material в рабочую область View1. Примените
его к объекту Cat2 и переименуйте в cat2_material. Двойным щелчком по материалу
сделайте его активным, справа откроются его настройки.
В настройках материала в свитке Material Mode выберите вариант Advanced (Расширенный). В результате поля Base Color (Основной цвет) и Reflection (Отражение) разделятся на отдельные блоки. Для параметра Base Color в первое поле со значением
введите 0, чтобы выключить влияние цвета. Чуть ниже для параметра Transparency
(Непрозрачность) введите значение 1, чтобы, наоборот, сделать объект прозрачным.
Это самые простые настройки стекла.
Визуализируйте вид из камеры, объект Cat2 станет прозрачным (рис. 3.54).
Продолжим редактировать материал cat2_glass. В настройках материала в области
Reflections задаются параметры отражения, коэффициент IOR определяет кривизну
стекла, обычно каждому типу материала соответствует свой коэффициент отражения и
преломления, однако вы можете подбирать его в соответствии с желаемым результатом. Например, поставьте его равным 1.3 (рекомендуются значения от 1.2 до 1.7). После визуализации материал станет более чистым, создастся ощущение тонкого стекла.
При значении IOR = 1 объект превратится в мыльный пузырь. Оставьте значение 1.3.
Освещение и материалы
185
В области Transparency измените цвет прозрачности, например, на RGB (0.38, 0.64, 0.6).
Визуализируйте сцену, для стекла добавится оттенок зеленого. Дополнительно можно
создать эффект цельного стеклянного объекта, для этого увеличьте значение параметра
Depth (Глубина) до 2 см. Таким образом мы зададим глубину, на которой будет задаваться установленный зеленый цвет (рис. 3.55).
Рис. 3.54. Создана стеклянная поверхность
Рис. 3.55. Создание цветного стекла
Создание металлической поверхности
Создайте новый материал Physical Material в редакторе материалов, переименуйте его
в cat3_metal. Примените материал к объекту Cat3.
Для параметра Material Mode включите режим Advanced.
В области Refections введите значение 1 для параметра Metalness. В той же области
увеличьте значение параметра IOR до 6, чтобы увеличить коэффициент отражения и
добавить явные искажения в отражении. Если сейчас визуализировать сцену из камеры,
мы увидим отражение на объекте Cat3 в основном от черного фона, который установлен для окружения, но эффект хромированного металла будет хорошо ощущаться.
Добавим на окружение карту HDRI. Если вы используете отражения в сцене, нужно
позаботиться о том, что мы увидим в отражении, лучше всего применить специальные
карты, такие как HDRI, они панорамные и позволяют передать карту освещенности,
например, если вы выберете карту заката, то в сцене все будет окрашено в цвет заката.
В главном меню выберите Rendering | Environment. В области Background (Фон)
щелкните по кнопке None для параметра Environment Map (Карта окружения). В свитке General щелкните по карте Bitmap. В окне выбора файла откройте \sceneassets\
images\ roomHDRI.hdr.
После добавления карты понадобится изменить освещенность, т. к. при визуализации
вы увидите яркий свет. Это связано с тем, что карта HDRI является одновременно и
источником освещения. В меню видового окна камеры (обычно в этом окне мы работали с видом Perspective) щелкните по пункту PhysCamera001 и выберите опцию Select
Camera (Выделить камеру). На командной панели откроются настройки камеры,
186
Глава 3
в свитке Exposure введите для параметра Target значение 9. Визуализируйте сцену из
камеры (рис. 3.56, см. видео \Lesson_3.4\Video_3.56.mp4).
Вернемся к настройке материала cat3_metal. Чтобы сделать металл матовым, увеличьте
значение параметра Roughness в области Reflections до 0.3. Визуализируйте сцену из
камеры (рис. 3.57).
Рис. 3.56. Создана гладкая металлическая
поверхность
Рис. 3.57. Создана матовая металлическая
поверхность
Неоновое освещение
Создайте четвертый материал типа Physical Material и переименуйте его в
cat4_emission. Примените материал к последнему объекту. В настройках материала
включите расширенный режим и перейдите к области Emission. Создадим эффект неонового свечения. Для значения Emission должна стоять цифра 1, чтобы активировать
свечение, задайте, например, цвет RGB (0, 0.6, 0.8). Значение Luminance (Яркость)
увеличьте до 5000 cd/m2. Параметр Luminance определяет интенсивность свечения.
При активных источниках света можно будет увидеть небольшое свечение на плоскости и в отражении соседних объектов. Неоновое свечение будет хорошо заметно, если
выключить все источники света. Для этого в главном меню выберите Tools | Light
Lister и в левой колонке On выключите все источники света. Кроме этого, карта HDRI,
добавленная на окружение, также является источником света. В главном меню выберите Rendering | Environment и в появившемся окне выключите параметр Use Map (Использовать текстурную карту).
Визуализируйте сцену из камеры (рис. 3.58). Из-за недостатка освещения и низких настроек визуализации мы увидим интенсивный шум. Снова включим один источник
света, в окне Tools | Light Lister включите источник света Fill. Чтобы немного убрать
шум, откройте настройки визуализации через главное меню Rendering | Render Setup
(Настройка визуализации) и перейдите на вкладку Arnold Renderer, в свитке Sampling
and Ray Depth значение параметра Camera увеличьте до 12. Визуализируйте сцену
(рис. 3.59). Время визуализации увеличится в несколько раз, но шум должен исчезнуть
и неоновый материал будет смотреться как светильник.
Освещение и материалы
Рис. 3.58. В сцене только неоновый свет
187
Рис. 3.59. Добавлен
заполняющий источник света
Сохранение созданных материалов
в текущей библиотеке
Чтобы можно было использовать созданные материалы в других сценах, их следует
занести в отдельную библиотеку материалов. Предварительно ее необходимо создать.
Для этого на панели Material/Map Browser редактора материалов щелкните на кнопке
и из выпадающего меню выберите пункт New Material Library (Новая библиотека
материалов). Задайте имя создаваемой библиотеки материалов и сохраните ее в папке
вашего проекта \materiallibraries\. Название новой библиотеки материалов появится
в окне Material/Map Browser.
Чтобы занести материал в созданную библиотеку, в редакторе материалов Slate
Material Editor выделите четыре созданных материала с помощью рамки выделения и
щелкните правой кнопкой мыши по названию библиотеки на панели Material/Map
Browser. В контекстном меню Get Selected Material/Maps (Добавить выделенный материал/текстурную карту). Обратите внимание, что перед именем библиотеки материалов будет стоять звездочка, она означает, что библиотека не сохранена. Для сохранения
библиотеки снова щелкните правой кнопкой мыши по названию материала, затем выберите первый пункт, в котором будет находиться путь к библиотеке, и дополнительное
выпадающее меню Save (см. видео \Lesson_3.4\Create_material_library.mp4).
Финальный файл сцены находится в \scenes\lesson_3.4\Cats_end.max.
Практическая работа
Откройте файл \scenes\practice_3.4\Candles.max и примените к объектам физические
материалы, чтобы получить изображение в соответствии с файлом \renderoutput\
practice_3.4\Candles.png.
188
Глава 3
Упражнение № 3-5. Составные материалы
Материал Top/Bottom
Наряду с обычными материалами на поверхность объектов можно наносить и сложные
композиции. Для построения такой композиции откройте модель утенка (см. файл
\scenes\lesson_3.5\Duck.max в папке этого упражнения), на которую будет наноситься
материал. Вызовите редактор материалов Slate Material Editor. Начнем с самого простого составного материала. В открывшемся окне добавьте в рабочую область материал
Material | General | Top/Bottom. Появятся три материала, из них Top/Bottom, состоящий из двух физических материалов (рис. 3.60), будет являться главным. Примените
этот материал к объекту.
Теперь на поверхность объекта можно нанести два материала, один из которых назначается верхней части объекта, а другой — нижней. После выделения главного материала в настройках справа появится свиток Top/Bottom Basic Parameters (Основные параметры материала для верха и низа) (рис. 3.60).
Рис. 3.60. Задание материала для верха и низа
Настроим в нем параметры материала: Top Material (Материал для верха) — назначают для верхней части объекта, Bottom Material (Материал для низа) — для его нижней
части. В качестве материалов можно выбрать обычную тонированную раскраску или
карты текстур. Например, назначим в качестве материала для верха красный цвет. Для
этого обратите внимание, какой материал присоединен к узлу Top главного материала,
щелкните по нему для выделения и в параметрах для Base Color выберите красный
цвет. В настройках материала для нижней части (Bottom) установите синий цвет.
Чтобы поменять местами материалы для верха и низа, следует нажать кнопку Swap
(Перестановка) в настройках главного материала Top/Bottom.
Увидеть составной материал можно только при рендеринге, в окне проекций его не
видно. Нажмите клавишу <F9>, чтобы отобразить результат визуализации.
Между материалами может проходить четкая граница, а можно, используя счетчик
Blend (Смешивание), задать смешивание двух материалов в процентах — тогда граница между верхом и низом объекта становится плавной (рис. 3.61, б).
Счетчик Position (Положение) позволяет задать положение границы между двумя материалами в процентах от его высоты.
Освещение и материалы
189
а
б
Рис. 3.61. Разные цвета для верха и низа модели: а — граница четкая; б — граница размытая
Готовая модель объекта приведена в файле \scenes\lesson_3.5\Duck_end.max — используйте его для самоконтроля.
Материал Double Sided
Рассмотрим теперь составной материал Double Sided
(Двусторонний). Создайте в сцене объект Teapot (Чайник). Для этого выделите чайник в окне проекций, пеи ниже, в свитке
рейдите на вкладку Modify
Parameters, уберите флажки у пунктов Handle (Ручка),
Spout (Носик) и Lid (Крышка). С помощью команды
масштабирования его можно еще непропорционально
сжать вдоль оси Z — получится модель плошки
(рис. 3.62).
Рис. 3.62. Модель плошки
Плошка имеет внешнюю и внутреннюю стороны. Чтобы увидеть при визуализации
внутреннюю сторону, в настройках рендеринга (Rendering | Render Setup) на вкладке
Common (Общие параметры) пометьте режим Force 2-Sided (Задействовать обе стороны).
С помощью материала Double Sided можно задавать разные представления для внешней и внутренней сторон объекта. Для назначения материала откройте редактор материалов, перетяните в рабочую область материал Double Sided из группы Material |
General. В редакторе материалов появится материал с двумя подматериалами. Справа
отобразятся основные настройки материала Double Sided (рис. 3.63).
В его настройках имеются два пункта: Facing Material — материал для лицевой стороны поверхности объекта и Back Material — материал для задней стороны поверхности.
Поскольку объект типа Teapot образован поверхностью без толщины, то вся внешняя
сторона чайника является лицевой, а вся его внутренняя сторона — задней. Поэтому
при применении к нему материала Double Sided отобразятся оба подматериала: и для
лицевой, и для задней стороны. Чтобы настроить каждый из них, поочередно выполните двойной щелчок по каждому материалу и выберите цвет (рис. 3.64). Назначьте цвет
материалов для обеих сторон самостоятельно. Готовая модель объекта приведена
в файле \scenes\lesson_3.5\Double_Sided_end.max.
190
Глава 3
Рис. 3.63. Основные параметры
двустороннего материала
Рис. 3.64. Использован
двусторонний материал
В настройках двустороннего материала также можно поменять значение параметра
Translucency (Прозрачность) — счетчик позволяет регулировать прозрачность лицевого материала, что дает возможность внутреннему материалу просвечивать через него.
П РИМЕЧАНИЕ
Если к чайнику применить модификатор Shell, то его поверхность приобретет толщину,
и тогда вся она станет лицевой. Поэтому после применения к такому чайнику двустороннего
материала будет виден только тот материал, который применен к его лицевой стороне.
Упражнение № 3-6.
Многокомпонентный материал Multi/Sub-Object
Откройте файл \scenes\lesson_3.6\Multi-Sub.max.max. В сцене находится цельный объект,
объединенный при моделировании и конвертированый в редактируемую сетку Editable
Poly. В предыдущих упражнениях мы назначали материалы на целый объект, и рассматривали составные объекты, которые автоматически без нашего влияния назначались на части объекта. А если необходимо применить материал только к отдельным
полигонам и участкам на объекте, которые мы сами выбираем, то используют
материал Multi/Sub-Object. В этом случае каждому полигону или группе полигонов
назначается номер (ID), затем в основном материале создается несколько подматериалов с соответствующим ID, и после этого с учетом ID каждый подматериал назначается
на соответствующий полигон.
Подготовка материала
Сначала сделаем заготовки для материалов. Откройте редактор материалов (<M>), будем продолжать работу с версией редактора Slate Material Editor, т. к. в ней намного
удобнее работать с составными материалами. Для перемещения в рабочей области используйте колесико мыши, его прокручивание позволяет приближать или отдалять материалы, а при нажатии на него можно перемещаться по рабочему полю. Для быстрой
или
организации материалов задействуйте команды Lay Out All (Упорядочить все)
на панели инструментов окна редактоLay Out Children (Упорядочить потомков)
ра. Первая команда упорядочивает в колонку все материалы, подматериалы и текстурные карты, вторая — упорядочивает только подматериалы и текстурные карты, которые входят в состав основного материала.
Освещение и материалы
191
Добавьте в рабочую область редактора материалов из группы Material | General материал Multi/Sub-Object. По умолчанию материал содержит 10 слотов для подматериалов, это число настраивается. Для этого в настройках добавленного материала
Multi/Sub-Object щелкните по кнопке Set Number и введите число 4 (именно столько
материалов нам понадобится для объекта) (рис. 3.65).
Рис. 3.65. Установлено число подматериалов
Далее в рабочей области создайте четыре новых материала типа Physical Material
и расположите их рядом с основным материалом Multi/Sub-Object (рис. 3.66, а). Соедините каждый подматериал с соответствующим номером основного материала
(рис. 3.66, б, см. видео \Lesson_3.6\Multi-Sub-connect.mp4).
а
б
Рис. 3.66. Для материала Multi/Sub Object установлены четыре подматериала
Сверху вниз переименуйте материалы соответственно в Body_mat, Beak_mat, Legs_mat,
Base_mat. Щелкните по материалу Body_mat и в его настройках в свитке Presets (Шаблоны) щелкните на выпадающий список и выберите шаблон Satin Varnished Wood
(Лакированное дерево). Назначьте шаблоны для остальных материалов:
Body_mat — Satin Varnished Wood;
Beak_mat — Matte Plastic;
Legs_mat — Polished Aluminum;
Base_mat — Rubber.
192
Глава 3
После того как основной материал создан, назначьте его объекту Wooden Birds (задавать
материал объекту можно на любом этапе, необязательно после создания всех подматериалов). После применения материала к объекту он должен выглядеть полностью деревянным, т. е. на весь объект распределился только подматериал #1. Чуть далее мы это
изменим.
Обратите внимание на плашку с названием материалов, она разделена пополам, и левая
часть окрашена в красный цвет. Это означает, что текстурная карта, которая используется в материале, будет отображаться в видовом окне. Эта опция активизируется с помощью кнопки Show Shaded Material in Viewport (Показывать материал в видовом
окне)
(см. видео \Lesson_3.6\Show_material_in_viewport.mp4).
Распределение материалов по полигонам
Сверните редактор материалов и перейдите к редактированию объекта. Раскройте подобъекты модификатора Edit Poly и щелкните по строке Polygon, чтобы перейти к редактированию полигонов. Перейдите в свиток Polygon: Material IDs. Выделите любой
полигон и обратите внимание, какой номер отображается в полях Set ID (Установить
ID) и Select ID (Выделить по ID). Выделите любой другой полигон, для всех полигонов
будет установлен ID = 1. Это объясняет отображение первого подматериала на всем
объекте. Далее можно выделять полигоны и назначать им соответствующие номера. Но
данная модель была создана объединением форм, а не цельным объектом, поэтому есть
возможность упростить процесс выделения.
В подобъектах модификатора Edit Poly перейдите на строку Element и щелкните по
клюву объекта. Все полигоны на клюве должны выделиться. В настройках модификатора перейдите в свиток Polygon: Material IDs, введите в поле Set ID значение 2 и обязательно нажмите клавишу <Enter>, чтобы закрепить назначение. Щелкните в любом
месте сцены, чтобы снять выделение, клюв получит уже другой материал с номером 2
в списке подматериалов основного материала Multi/Sub Object.
Далее выделите ноги объекта и назначьте им ID = 3. Для нижней подставки без сучка
назначьте ID = 4. Перейдите к редактированию полигонов (Polygon), выделите один
полигон на глазике (рис. 3.67) и назначьте для него ID = 4.
Снимите выделение с полигонов, после назначения каждому полигону своего идентификатора (ID) можно легко перейти к выделению групп полигонов. Для этого в свитке
Polygon: Material IDs в выпадающем свитке выберите соответствующую группу
(рис. 3.68) или введите ID в поле Select ID и щелкните по соответствующей кнопке
(см. видео \Lesson_3.6\Select_material_by_ID.mp4).
Рис. 3.67. Выделен полигон на глазике объекта
Рис. 3.68. Выделение полигонов по ID
Освещение и материалы
193
Сейчас можно также вносить изменения в материалы, они автоматически будут меняться на соответствующих участках модели. Например, шаблон материала Legs_mat замените на Patterned
Cooper.
Выйдите из режима редактирования полигонов
и визуализируйте сцену (рис. 3.69). Готовая модель объекта приведена в файле \scenes\lesson_3.6\
Multi-Sub_end.max.
Рис. 3.69. Финальная визуализация
Практическая работа
Создайте модель детской горки и раскрасьте ее (см. файл \renderoutput\practice_3.6\
Slide.png в папке проекта).
Текстурные карты и каналы
Текстурные карты — это растровые изображения (например, в форматах JPG или PNG)
или процедурные изображения (их еще называют процедурными картами), генерируемые программным путем по специальным алгоритмам. Их можно наносить на поверхность объектов либо использовать для изменения свойств материалов. Текстурные карты можно накладывать на источники освещения или создавать на их основе фоновое
изображение. Имеется несколько типов карт, допускающих их комбинирование. В частности, с помощью карт Mix (Смешанный материал) и Composite (Составной материал) можно объединить несколько карт, чтобы сформировать изображение новой карты.
Текстурные карты назначаются каналам проецирования, расположенным в свитке
Maps (Текстурные карты) в настройках материала. Доступ к списку текстурных карт
можно получить, нажав кнопку с надписью No Map в соответствующем канале свитка
Maps. Список доступных текстурных карт меняется при смене визуализатора. Список
каналов зависит от типа материала и от заданного алгоритма затенения.
После назначения карты каналу ее можно отключить, например, список доступных
каналов в материале Physical Material приведен на рис. 3.70.
Назначить текстуру можно также в свитках параметров возле соответствующего канала, как это показано на рис. 3.71 на примере свитка Basic Parameters.
Каналы отвечают за управление свойствами материала. Любой элемент свитка Maps
настраивают включением/выключением флажка состояния и определением типа текстурной карты.
194
Глава 3
Рис. 3.70. Каналы проецирования
в свитке Maps
Рис. 3.71. Каналы проецирования
в свитке параметров
Главный пункт в списке каналов свитка Maps — Base Color (Рассеянный отраженный
цвет), определяющий текстуру объекта. Текстурные карты можно назначить и большинству других каналов — например, текстурные карты в каналах Reflection Color
(Цвет отражения) и Roughness (Шероховатость) позволяют имитировать оптические
эффекты. Применение текстурной карты в канале Transparency Weight (Сила прозрачности) обеспечивает управление степенью прозрачности объекта. Чисто белый цвет
полностью непрозрачен, абсолютно черный — полностью прозрачен, оттенки серого
обозначают пропорциональные уровни непрозрачности. Канал Bump (Рельеф) необходим при формировании рельефных поверхностей.
Канал Transparency Color (Цвет прозрачности) предназначен для указания цвета прозрачного объекта. При активизации в полную силу этот канал заменяет базовый цвет
отражения.
Каналы, в имени которых присутствует слово Color, работают с цветом, поэтому подключаемые к ним текстурные карты обычно цветные. Все остальные каналы учитывают только интенсивность цвета, поэтому на таких каналах принято подключать в качестве карт черно-белые изображения или изображения в градациях серого цвета.
Типы текстурных карт
В 3ds Max доступно несколько типов текстурных карт: двумерные, трехмерные, композитные, цветовые и др. Трехмерными могут быть только процедурные карты. Они
заполняют не поверхность, а трехмерное пространство. Их текстура насквозь пронизывает весь объект. Поэтому текстура таких объектов не нарушается даже в тех случаях,
если их разбить на части.
Нажатие на кнопку No Map в любом канале свитка Maps (Текстурные карты) редактора материалов открывает доступ сразу ко всем типам карт (рис. 3.72).
Освещение и материалы
195
Двумерные карты (2D Maps) при визуализации рассчитываются по двум осям, и для их
корректного отображения недостаточно выбрать и настроить текстурную карту, — необходимо также правильно ее проецировать на поверхность объекта (этот вопрос будет
рассмотрен позднее).
Примеры двумерных карт:
Bitmap (Растровое изображение) — представляет собой графический файл (чаще
всего текстуру), который хранится на диске и может быть подготовлен в любом
графическом пакете в одном из графических форматов;
Checker (Шахматная текстура) — позволяет создавать
текстуру в виде шахматного поля, клетки которого могут
иметь тонированную раскраску либо представлять собой
другие карты текстур;
Gradient (Градиент) — обеспечивает радиальную или
линейную градиентную заливку с плавными переходами
между указанными цветами;
Swirl (Завихрение) — обеспечивает создание своеобраз-
ных вихревых узоров.
Рис. 3.72. Типы текстурных карт
Трехмерные карты (3D Maps) отличаются от двумерных тем, что при их наложении
расчет ведется сразу по всем трем осям, и поэтому отпадает необходимость контролировать процесс проецирования карт.
Примеры трехмерных карт:
Noise (Шум) — обеспечивает генерацию неоднородных по структуре (более естест-
венных) материалов;
Smoke (Дым) — имитирует такие атмосферные эффекты, как пар, туман, дым и т. п.;
Wood (Древесина) — формирует структуры древесной поверхности с отображением
годовых колец, фрагментов сучков;
Cellular (Ячейки) — имитирует ячеистые структуры: пенопласт, бетон, кожуру
апельсина, кожу пресмыкающихся и т. п., используется преимущественно на канале
Bump;
Marble (Мрамор) и Perlin Marble (Перламутр) — применяются для создания таких
природных материалов, как мрамор, малахит, родонит и т. п.;
Dent (Выбоина) — позволяет генерировать на поверхности объекта случайные вмя-
тины и шероховатости и обычно применяется совместно с картой Noise (Шум) для
придания материалу большей естественности;
Falloff (Спад) — обеспечивает неоднородную прозрачность материала и чаще всего
используется на канале Opacity (Непрозрачность).
196
Глава 3
Группа текстурных карт Compositors (Композиции) объединяет так называемые многокомпонентные карты, которые позволяют комбинировать несколько карт, что обеспечивает получение уникальных композиций. Основные карты этой группы:
Mask (Маска) — обеспечивает отображение текстурной карты в соответствии с ука-
занной маской. Маской служат полутоновые черно-белые изображения, при этом
черные пикселы считаются прозрачными и отображаются текстурой, белые — полностью непрозрачными (сквозь них текстура не видна), а серые обладают той или
иной степенью прозрачности в зависимости от степени яркости;
Composite (Смесь) — позволяет генерировать материалы путем смешивания двух и
более текстурных карт, накладываемых одна на другую с учетом их прозрачности.
Прозрачность компонентов можно задать посредством карты Mask либо при помощи растровой карты (Bitmap);
Mix (Смесь) — напоминает карту Composite, однако генерируется несколько иначе,
т. к. текстурные карты в ней смешиваются с учетом процентных соотношений
яркости.
Кроме основных карт из свитка General в 3ds Max есть возможность создавать процедурные OSL-карты, они описываются специальным языком, созданным компанией
Sony Pictures. У таких текстурных карт много преимуществ: во-первых, вы можете
создать уникальную текстуру; во-вторых, OSL-текстура не зависит от версии 3ds Max
и, начиная с версии 2019, написанные текстурные карты будут работать во всех старших версиях; в-третьих, нет ограничений по визуализаторам, они одинаково работают
в Arnold, Corona и V-Ray.
С помощью OSL можно создавать как абстрактные, так и реальные текстуры, например, кирпичные стены. В 3ds Max имеется набор шаблонов, которые дают возможность
пользователям решать широкий набор задач.
Упражнение № 3-7.
Работа с текстурными картами
Применение текстурной карты
Создайте сферу. Оставьте ее выделенной и перейдите в редактор материалов, нажав
клавишу <M>. В окне редактора материалов перетяните в рабочую область материал
Physical Material и примените его к объекту. Затем в настройках материала перейдите
в свиток Generic Maps и против параметра Base Color нажмите кнопку No Map. В открывшемся окне Material/Map Browser выберите текстурную карту General |
Checker — объект покроется черно-белой клеткой (рис. 3.73).
Теперь научимся управлять текстурной картой. В рабочей области щелкните по плашке
текстурной карты Checker (справа от Base Color), чтобы отобразить ее настройки.
В свитке Coordinates (Координаты) измените значение параметра Tiling (Мозаичное
расположение). По умолчанию там стоит 1,0. Но если поставить, например, 3,0 (как
в верхнем, так и в нижнем окне), то "кирпичики" станут мельче, и их поместится на
сфере гораздо больше (рис. 3.74).
Освещение и материалы
197
Рис. 3.73. К объекту применена текстурная карта Checker
Рис. 3.74. Изменено значение параметра Tiling
Применение произвольных графических файлов
в качестве текстурных карт
Применять в качестве текстурных карт можно не только те, что предусмотрены в 3ds
Max, но и произвольные графические файлы (рисунки или, например, фотографию
кафельной плитки). Создайте произвольную коробку: Create | Geometry | Standard
Primitives | Box. Затем, оставив коробку выделенной, откройте окно редактора материалов, примените к ней материал Physical Material. В настройках материала перейдите в свиток Generic Maps и против параметра Base Color нажмите кнопку No Map.
Чтобы применить произвольную карту, выполните двойной щелчок на обозначении
карты General | Bitmap (Растровое изображение) и в открывшемся окне Select Bitmap
Image File (Выбор файла растрового изображения) найдите нужный графический файл,
например \sceneassets\images\Giraffe.jpg из папки проекта. Текстурная карта распределится на все стороны коробки (рис. 3.75).
Настройка параметров текстурной карты
С помощью настроек текстурной карты Bitmap в свитке Coordinates (Координаты)
можно управлять положением текстуры на поверхности объекта.
198
Глава 3
Рис. 3.75. Применение текстурной карты
Система координат текстурной карты отличается от привычной для нас системы координат в осях X, Y и Z. Чтобы их не путать, для описания и трансформаций текстурных
карт используется система координат с осями U, V и W.
Основные параметры свитка Coordinates:
Offset — смещение текстуры;
Tiling — повторение текстуры;
Mirror — зеркальное отображение текстуры;
Angle — угол поворота текстуры;
Blur — степень размытия текстуры.
В свитке Coordinates установите значения параметров Tiling = 2 и Offset = 0,25 по
осям U и V (рис. 3.76). Тогда на гранях коробки будут размещены по два экземпляра
этой карты (рис. 3.77). Готовая модель сцены приведена в файле \scenes\lesson_3.7\
Tiling_end.max.
Рис. 3.76. Установка
параметров Tiling и Offset
Рис. 3.77. Изменены
значения параметров Tiling и Offset
Освещение и материалы
199
Параметры свитка Noise позволяют задавать степень зашумления текстуры. Из свитка
Bipmap Parameters можно загрузить графический файл для использования его в качестве текстурной карты. Параметры свитка Output позволяют изменить цветовую гамму
текстурной карты.
Практическая работа
В завершение самостоятельно создайте детскую комнату, показанную в файле \renderoutput\
practice_3.7\Children_room.png. Текстурные карты находятся в папке \sceneassets\images\
Children_room\.
Упражнение № 3-8. Создание рельефа
с помощью канала Bump и эффекта Displacement
Придать рельеф поверхности можно, не только меняя положение вершин или добавляя
новые грани, рельеф можно создавать с помощью текстурных карт. Существуют два
подхода: первый основывается на прорисовке теней на визуализации, добавляя объекту
выпуклости и впадины (карта Bump), а второй подход — детализация объекта на уровне геометрии (эффект Displacement).
Текстурная карта в канале Bump не влияет на геометрию поверхности объекта, а лишь
имитирует рельеф. При рендеринге серые области текстурной карты, назначенной каналу Bump, станут отображаться как обычно, черные будут казаться вдавленными, а
белые — приподнятыми. Чем светлее область, тем больше уровень приподнятости, что
и создает иллюзию рельефа поверхности. При этом параметр Amount управляет кажущейся высотой выдавливания. Канал часто используют для отображения небольших
впадин или потертостей, например, кирпичные стены, шероховатость бетона, швы для
плитки, деревянные впадины.
Откройте файл \scenes\lesson_3.8\Bump_Displace.max. В файле среди геометрических
объектов вы найдете только две плоскости и объект бревна, с помощью текстурных
карт передадим для них рельеф поверхности.
Откройте редактор материалов, где уже должны быть материалы сцены ground, water и
Если редактор материалов пустой или отображаются не все материалы, это не повод беспокоиться, редактор предназначен только для изменения параметров материалов, все материалы сохраняются на объектах внутри сцены, и в любой момент их можно восстановить. Для этого в верхней части окна Slate Material Editor щелкните по
и выберите объиконке Pick Material from Object (Добавить материал из объекта)
ект в сцене. Материал, назначенный на объект, должен отобразиться в рабочей области.
log.
Применение инструмента Displacement
Инструмент Displacement меняет геометрию объекта по текстурной карте (впадины,
выпуклости, шероховатости, неровности). Для такой деформации можно использовать
и модификатор Displace, который применяется к трехмерному геометрическому объекту. Но одним из условий работы этого модификатора является наличие у объекта высокополигональной сетки. Это может нагрузить сцену и снизить производительность.
200
Глава 3
Еще один вариант изменения геометрии — деформация на этапе визуализации, когда
метод визуализации сам рассчитывает, на сколько частей разбить объект, и реализует
сглаживание, в этом случае вы экономите количество полигонов, для такого способа
создания рельефа не обязательно предварительно добавлять сегменты.
Сделайте активным вид из камеры и визуализируйте сцену (рис. 3.78). Камни будут
плоскими, и вид будет почти таким же, как в видовом окне. Добавим рельеф камням.
Рис. 3.78. Начальная визуализация сцены
Выделите в сцене плоскость с камнями и примените к ней модификатор Arnold
Properties. Раскройте свиток Displacement (Смещение) и активируйте, включив параметр Enable. Чуть ниже для параметра Height введите значение 4, эта величина определяет силу деформаций. Далее необходимо добавить текстуру для смещения геометрии объекта. Откройте редактор материалов и в рабочую область добавьте текстурную карту Bitmap из раздела Maps | General. В появившемся окне выберите файл
\sceneassets\images\rock_displace.png. Текстурные карты, используемые для Displacement или Bump, обычно черно-белые, где белые области соответствуют максимальному изменению рельефа, а черные не меняют рельеф. Для канала Bump также используют карту с фиолетовыми оттенками (карта нормалей), она более точная, т. к. содержит направления рельефа, в отличие от черно-белой, где есть только информация
о высоте рельефа. Если вы добавите цветную карту (RGB), то программа автоматически преобразует ее в градацию серого. Соедините добавленную текстурную карту
с кнопкой No Map в области Displacement Map в параметрах модификатора Arnold
Properties, тип клонирования выберите Instance (рис. 3.79, см. видео \Lesson_3.9\
Video_3.79.mp4). Активируйте параметр Use Map.
Перейдите в свиток Subdivision (Подразделения) и активируйте опцию подразделения
поверхности, включив параметр Enable. Для параметра Iteration введите значение 6.
Модификатор Subdivision отвечает за сглаживание модели в тот момент, когда идет
процесс рендеринга, т. е. он разбивает модель на сегменты и сглаживает по выбранному методу (по умолчанию Catmull-Clark). Это напоминает применение модификатора
TurboSmooth для объектов сцены.
Перейдите к виду из камеры и визуализируйте сцену (рис. 3.80). Камни должны стать
объемными, и некоторые будут выступать из воды.
Освещение и материалы
201
Рис. 3.79. Добавляем текстурную карту для Displacement
Рис. 3.80. Создан рельеф для камней
Применение текстурной карты Bump
Добавим текстурную карту Bump для создания рельефа для дерева. Откройте редактор
материалов и найдите материал log. Добавьте в рабочую область текстурную карту
Bitmap из раздела Maps | General, выберите файл \sceneassets\images\log_normal.png.
Соедините добавленную текстурную карту с каналом материала log Bump Map
(рис. 3.81). Щелкните по материалу log, чтобы открыть его настройки. Перейдите
в свиток Special Maps (Специальные карты). Напротив параметра Bump Map будет
назначена текстурная карта log_normal.png. Между назначенной текстурной картой и
названием параметра будет находиться поле Amount, определяющее силу влияния
карты деформации Bump. По умолчанию это значение равно 0.3, увеличьте его до 10
(рис. 3.82).
Визуализируйте сцену (рис. 3.83), на дереве появятся шероховатости. Финальная сцена
расположена в файле \scenes\lesson_3.8\Bump_Displacement_end.max.
Рассмотренный способ использования Displacement работает только в визуализаторе
Arnold, для V-Ray и Corona предусмотрены другие инструменты, но подход одина-
202
Глава 3
Рис. 3.81. Добавлена текстурная карта на канал
Bump Map
Рис. 3.82. Увеличена сила влияния карты Bump
Рис. 3.83. Добавлена текстурная карта на канал Bump Map
ковый. Канал Bump присутствует у всех базовых материалов независимо от визуализатора.
Практическая работа
Самостоятельно создайте модель вазы \renderoutput\practice_3.8\Vases.png. Текстуры расположены в папке \sceneassets\images\Vases\.
Упражнение № 3-9. Подробнее о каналах
В упражнении рассмотрим применение текстурных карт на каналы прозрачности и отражения и эффекты, которые можно создавать с их помощью. Финальное изображение
см. на рис. 3.95.
Откройте сцену \scenes\lesson_3.9\Channel.max из папки проекта. В сцене будут расположены три колбочки с базовым материалом Physical Material (рис. 3.84). В качестве
источников света установлены две фотометрические лампочки и карта HDRI на окру-
Освещение и материалы
203
жение. Также в сцене присутствует физическая камера, с параметрами которой мы познакомимся в следующей главе, она установлена вместо вида Perspective. Для того
чтобы повращать сцену или вернуться в окно перспективы, просто в меню видового
окна щелкните по названию камеры PhysCamera001 и выберите опцию Perspective. Но
визуализацию всегда делайте из камеры, иначе изображение будет ярким и засвеченным.
Откройте редактор материалов и перетяните в рабочую область View1 материал
Physical Material из группы Material | General. Переименуйте материал в glass_mosaic
и назначьте на объект Cone01. Щелкните по только что созданному материалу и в настройках для Base Color установите белый цвет.
Рис. 3.84. Начальная сцена
Рис. 3.85. Создано простое стекло
Настройка прозрачности по текстурной карте
Перейдите в свиток Transparency, введите для величины прозрачности (первый числовой параметр) 1. Таким образом мы включим прозрачность материала на 100%. Визуализируйте вид из камеры, первая колбочка должна быть полностью прозрачной
(рис. 3.85).
Рядом с величиной прозрачности находится цветовая плашка, которая позволяет окрасить стекло, по умолчанию она белая, измените цвет, например, на RGB (0.76, 0.56,
0.95). Если визуализировать сцену, то вы увидите, что стекло окрасится в назначенный
цвет.
Добавим на канал Transparency Map текстурную карту, которая позволит выборочно
добавлять эффект прозрачности на объект. В редакторе материалов в рабочей области
рядом с материалом glass_mosaic щелкните правой кнопкой мыши и в контекстном меню выберите опции Maps | General | Cellular (Ячеистость). Текстурная карта представляет собой набор ячеек в виде сот, в параметрах можно настраивать размер ячеек, цвет
и форму. Рядом с материалом отобразится текстурная карта (рис. 3.86, а). Соедините
текстурную карту с каналом материала Transparency Map (рис. 3.86, б). На визуализации можно будет увидеть хаотичные цветные пятна по всему периметру объекта. Настроим текстурную карту.
Щелкните по текстурной карте Cellular и в настройках в области Division Color (Цвет
разделения) измените цвет первой цветовой плашки с серого на белый. Перейдите
204
Глава 3
в область Cell Characteristics (Параметры ячейки). Выберите тип Chips (Кусочки), для
параметра Size введите значение 20, а для Spread (Распространение) — 0.2 (рис. 3.87).
Визуализируйте сцену, в местах, где цвет ячеек белый, будет установлена 100%-ная
прозрачность. Перемычки черные, поэтому в этих местах мы увидим цвет объекта
(рис. 3.88).
а
б
Рис. 3.86. Создана текстурная карта Cellular
Рис. 3.87. Настройки текстурной карты Cellular
Рис. 3.88. Создана стеклянная мозаика
Настройка отражения по текстурной карте
Добавьте новый материал Physical Material, переименуйте его в tiles_metal и примените к объекту Cone02. Перейдите в расширенный режим редактирования материала
Material Mode = Advanced. Добавим на объект в качестве цвета плитку. Для этого
в редакторе материалов рядом с материалом tiles_metal щелкните правой кнопкой
мыши и в контекстном меню выберите опции Maps | General | Tiles (Плитка). Соедините текстурную карту с каналом материала Base Color Map (рис. 3.89). Щелкните по
текстурной карте Tiles и перейдите к ее настройкам. Сразу развернем плитки на 45°,
Освещение и материалы
205
для этого в области Coordinates в группе Angle установите для W значение 45. Увеличим число плиток с помощью параметра Tiling U = 8 и V = 8. Раскройте свиток
Advanced Controls (Дополнительные настройки) и в области Tiles Setup (Настройки
плитки) измените цвет параметра Texture, например, на RGB (30, 30, 44). Этот параметр определяет цвет самой плитки. Далее настроим цвет швов, для этого в области
Grout Setup измените цвет параметра Texture на черный. Увеличим размер шва:
Horizontal Gap = 1 и Vertical Gap = 1. Так как рядом между этими параметрами активизирован значок в виде замка, то при изменении одного автоматически будет меняться
второй. Если вы хотите установить разную ширину для вертикальных и горизонтальных швов, следует выключить замок. Настройки текстуры представлены на рис. 3.90.
Рис. 3.89. Добавлена текстурная карта Tiles
Рис. 3.90. Параметры текстурной карты Tiles
В параметрах материала tiles_metal в области Reflection для параметра IOR введите
значение 4, чтобы усилить степень отражения. Визуализируйте сцену (рис. 3.91), на
объекте отобразится диагональная плитка, основной цвет будет темно-синий, а цвет
швов — черный. Можно заметить, что на швах и на плитке одинаковые отражения,
и швы теряются. Чтобы это исправить, необходимо исключить отражения только на
швах плитки, добавив текстурную карту на канал Reflectivity Map (Карта отражения).
В редакторе материалов, удерживая нажатой клавишу <Shift>, переместите вниз текстурную карту Tiles, чтобы создать копию, и назначьте скопированную текстурную
карту на канал материала Reflectivity Map (см. видео \Lesson_3.9\Duplicate_Maps.mp4).
Отражение будет работать там, где в текстурной карте присутствует белый цвет. В на-
206
Глава 3
шей карте белого цвета нет, только темно-синий, который будет автоматически преобразован в темно-серый, в результате на объекте практически не будет отражения. В параметрах текстурной карты Tiles, которая назначена на канал Reflectivity Map, в свитке
Advanced Controls в области Tiles Setup измените параметр Texture на белый цвет.
Ту же текстуру соедините с каналом Bump Map, чтобы добавить впадины на швах. Визуализируйте сцену из камеры (рис. 3.92).
Рис. 3.91. На канал Base Color Map
применена текстурная карта Tiles
Рис. 3.92. Установлено выборочное отражение
с помощью текстурной карты Tiles
Градиентное отражение
Добавьте новый материал Physical Material, переименуйте его в gradient_metal и примените к объекту Cone03. Перейдите в расширенный режим редактирования материала.
Добавим на объект градиентное отражение, которое будет затухать к основанию объекта.
Установите для параметра Base Color цвет RGB (1, 0.9, 0). Это будет цвет, который
будет появляться у основания объекта. В области Reflection установите для параметра
IOR значение 40.
Рядом с материалом gradient_metal щелкните правой кнопкой мыши и в контекстном
меню выберите опции Maps | General | Gradient Ramp (Градиент). Свяжите градиент
с каналами Reflectivity Map и Refl Color Map (рис. 3.93). Откройте настройки градиента. По умолчанию градиент распределяется справа налево, в нашем примере лучше всего расположить его сверху вниз, поэтому в свитке Coordinates в области Angle введите
для W значение −90. В редакторе материалов на иконке отображения текстурной карты
градиент поменяет свое направление и будет распределяться сверху вниз от белого
к черному.
В настройках градиента в свитке Gradient Ramp Parameters находится плашка с изображением цветового перехода, а снизу на границе плашки будут размещаться метки
(справа, в центре и слева) (рис. 3.94). Щелкните два раза по центральной метке, должно
появиться окно с выбором цвета, выберите белый цвет и щелкните по кнопке OK
(см. видео \Lesson_3.9\Video_3.94.mp4).
Освещение и материалы
207
Рис. 3.93. Текстурная карта назначена
на каналы отражения
Рис. 3.94. Настройка цветовых переходов
для карты Gradient Ramp
При визуализации сцены из камеры объект практически весь окажется желтым, кроме
некоторых участков на горлышке, там будет слегка просматриваться отражение. Это
связано с тем, что на объекте неправильно распределены проекционные координаты,
которые отвечают за расположение текстуры на поверхности объекта. Выделите в сцене объект Cone03 и примените к нему модификатор UVW Map. В параметрах модификатора в области Mapping выберите вариант Cylindrical и чуть ниже щелкните по
кнопке Fit (Подобрать). В сцене можно будет заметить сеточный цилиндр оранжевого
цвета, распределенный вокруг объекта. В следующих упражнениях мы подробнее рассмотрим работу с модификатором UVW Map.
Визуализируйте сцену (рис. 3.95). Финальный файл сцены расположен в папке проекта
\scenes\lesson_3.9\Channel_end.max.
Рис. 3.95. Итоговая визуализация
Практическая работа
Создайте объект в соответствии с файлом \renderoutput\practice_3.9\Vase.png. Схема примененных материалов приведена в файле \renderoutput\practice_3.9\Vase_material.png.
208
Глава 3
Упражнение № 3-10. Текстурные карты.
Моделирование груши
Создание базовой формы [27]
Войдите в меню Customize (Настройки), выберите опцию Units Setup (Установка единиц измерения) и задайте метрическую систему измерения (Metric), а в качестве единиц измерения выберите миллиметры. Там же раскройте окно System Unit Setup и
в качестве системных единиц измерения также установите миллиметры.
На виде Front c помощью команды Line создайте половину поперечного сечения груши. При рисовании используйте тип вершин Bezier. Выровняйте координаты первой
и последней вершин по координатам X и Z (рис. 3.96).
Выделите сплайн. На командной панели перейдите в категорию
Hierarchy
(Иерархия), нажмите кнопку Affect Pivot Only (Воздействовать только на опорную точку) и с помощью команды Select
совместите систему координат сплайна с осью симand Move
метрии груши (координата по оси X должна быть равна 0). Примените модификатор Lathe (Тело вращения). В свитке Parameters
этого модификатора установите значение Degrees (Градусы) = 360 и
включите параметра Weld Core.
Рис. 3.96. Профиль груши
Создание неровностей, вмятин и асимметрии
Теперь нужно базовую форму груши довести до более естественного вида, создав
неровности и вмятины. Для этого примените модификатор Edit Poly, раскройте его и
выберите компонент Vertex (Вершина).
Настроим параметры выделения вершин груши. Раскройте свиток Soft Selection (Плавное выделение), отметьте флажком опцию Use Soft Selection (Активизировать плавное
выделение) и установите примерные значения: Falloff (Зона охвата) = 90 мм, Pinch
(Сужение) = –0.25, Bubble (Степень влияния) = –0.45, Edge Distance (Расстояние в ребрах) = 12 (рис. 3.97, а). Выделите вершины, щелкнув указателем мыши на любой из них
(рис. 3.97, б).
Сместите выделенные вершины немного вниз и в сторону. Щелкните мышью на строке
Edit Poly, чтобы отменить выделение вершин.
Поскольку груша не бывает абсолютно симметричной, следует немного исказить полученную форму, применив два модификатора Bend (Изгиб) и один модификатор Noise
(Нерегулярность). Параметры первого модификатора Bend: Angel = 10, Bend Axis (Ось
изгиба) — Y. Параметры второго модификатора Bend: Angel = 20, Bend Axis — Z.
Параметры модификатора Noise установите следующим образом: Seed (Затравка) = 5,
Scale = 40, Strength (Интенсивность): X = 5 мм, Y = 20 мм, Z = 15 мм.
Освещение и материалы
209
а
б
Рис. 3.97. Построение формы груши: а — параметры выделения вершин; б — выделение вершин
Дополнительно можно применить модификатор TurboSmooth, чтобы сгладить неровности.
Создание материала груши
Форма груши готова, осталось создать и наложить на нее материал. Материал будет
стандартный. Создадим его на панели редактора материалов Slate Material Editor. На
главной панели инструментов нажмите кнопку
, чтобы раскрыть панель редактора
материалов Slate Material Editor. В области Materials | General щелкните кнопкой
мыши на строке материала Physical Material и перетащите его в область View1. Дважды щелкните на заголовке панели материала Physical Material — справа откроется развернутая панель этого материала. Назовите его Pear (рис. 3.98).
Рис. 3.98. Развернутая панель материала Standard
210
Глава 3
На этой панели для параметра Material Mode выберите тип Advanced. Для параметра
Reflection введите значение 0.5, таким образом мы уменьшим величину отражения.
Чуть правее для параметра Roughness установите значение 0.4, чтобы добавить поверхности матовость.
Для канала Base Color Map материала Physical Material установим текстурную карту
Gradient. Для этого на панели редактора материалов в категории Maps | General щелкните кнопкой мыши на строке Gradient и перетащите ее в область View1. Гибкой
линией соедините панель карты Gradient со строкой Base Color Map (рис. 3.99).
Рис. 3.99. Для Base Color материала Physical Material назначена карта Gradient
Настроим общие параметры текстурной карты Gradient. Двойным щелчком на названии текстурной карты Gradient откройте ее настройки и введите следующие значения:
Noise Amount (Степень нерегулярности) = 0.7, Noise Size (Величина нерегулярности) = 10,
Phase = 2.2. Для Noise Threshold (Пороговое значение нерегулярности) установите
Smooth (Сглаживание) = 1 и High = 1 (рис. 3.100). В нашем случае параметры группы
Noise влияют на количество и размещение пятнышек на модели объекта.
Рис. 3.100. Настройки параметров карты Gradient
После этого для карты Gradient назначим текстурные карты цветам Color 1, Color 2
и Color 3. Для цветов Color 1 и Color 3 выберем одну и ту же текстурную карту RGB
Multiply — перетащите ее мышью из списка Maps | General на панель View1 и соедините гибкой линией с Color 1 и Color 3 на панели Gradient (рис. 3.101, карта Map #2).
Перейдем к карте RGB Multiply (рис. 3.102, карта Map #2). У нее два цвета: Color 1 и
Color 2. Назначьте карту Noise (Нерегулярность) третьего уровня для Color 1 и карту
Освещение и материалы
211
Splat (Разбрызгивание) третьего уровня для Color 2. В нашем случае карта Splat создает пятнышки на объекте.
Для Color 2 карты Gradient назначьте текстурную карту Splat — дерево материала
Physical Material построено (рис. 3.102).
Рис. 3.101. Назначена карта RGB Multiply для цветов Color 1 и Color 3
Рис. 3.102. Дерево материала Physical Material
Перейдем к цвету Color 1 третьего уровня (к текстурной карте Map #3) (рис. 3.102).
Двойным щелчком на заголовке этой панели откройте свитки Coordinates и Noise.
В свитке Coordinates для Tiling установите Y = 0.2. В свитке Noise (Параметры нерегулярности) укажите: Noise (Тип нерегулярности) = Fractal, Size = 0.8, Low = 0.4, Color 1 =
= (220, 188, 12), Color 2 = (235, 255, 25).
Перейдите к текстурной карте Splat (Разбрызгивание) Map #4. В свитке Splat
Parameters (Параметры разбрызгивания) установите: Size = 2, #Iterations = 2, Color 1 =
= (255, 240, 105), Color 2 = (130, 160, 30).
Вернемся к Color 2 текстурной карты Gradient первого уровня. Ей была назначена карта Splat (панель Map #5), и для нее установим значения Splat Parameters: Size = 15,
#Iterations = 3, Threshold = 0.2, Color 1 = (240, 230, 0), Color 2 = (180, 200, 145).
Присвойте материал объекту и визуализируйте сцену (рис. 3.103). Готовая модель груши приведена в файле \scenes\lesson_3.10\Pear_end.max из папки этого упражнения.
212
Глава 3
Рис. 3.103. Финальная визуализация груши
Практическая работа
Самостоятельно создайте модель апельсина.
Проецирование текстурных карт
Для того чтобы объект выглядел естественно, текстурную карту необходимо правильно
спроецировать на поверхность объекта, т. е. верно задать координаты отображения текстуры, определяющие порядок проецирования текстуры на объект. Под проецированием текстурной карты понимается определение положения и ориентации текстурной
карты на поверхности объекта, ее масштаб, особенности повторения. Без проецирования параметры отображения текстурной карты устанавливаются по умолчанию, и совсем не обязательно, что они будут оптимальными. Исключение составляют примитивы и объекты, полученные при помощи некоторых методов моделирования, для которых правильное наложение текстурных карт определяется автоматически. Кроме того,
не требуется проводить проецирование для трехмерных процедурных карт (например,
для карт Noise и Marble).
Основная задача проецирования текстурных карт на поверхность объекта — присвоение объектам текстурных координат, обозначаемых U, V и W. Текстурные координаты
не определяют точное расположение текстур в пространстве, а лишь задают их относительное положение.
Текстурные координаты можно присвоить объекту несколькими способами. Самое
простое — сгенерировать их автоматически, что обеспечивается включением параметра объекта Generate Mapping Coordinates (Генерировать координаты наложения текстуры). Однако это возможно только в отдельных случаях — для примитивов и объектов, полученных с применением некоторых модификаторов. Такой способ проецирования текстурных карт называется параметрическим проецированием.
Другой вариант присвоения текстурных координат заключается в применении модификатора UVW Map. C его помощью несложно создать координаты отображения текстур
Освещение и материалы
213
для объектов, которые не могут их генерировать самостоятельно, и более точно настроить отображение текстурной карты. Однако применения этого метода может оказаться недостаточно при сложных для текстурирования моделях.
Третий способ — создание развертки модели с помощью модификатора Unwrap UVW.
Он позволяет поместить текстуру на поверхности объекта в соответствии с полученной
разверткой. В итоге появляется возможность не только поместить текстуру с минимальными искажениями, но и вручную нарисовать любую текстуру по готовой развертке.
Упражнение № 3-11. Параметрическое
проецирование текстурных карт
Проецирование текстурных карт на примитивы [35]
Для стандартных примитивов параметрические текстурные координаты генерируются
автоматически. При создании примитивов на вкладке Modify
флажок Generate
Mapping Coordinates (Генерировать координаты наложения текстуры) включается по
умолчанию, что в ряде случаев обеспечивает корректное положение текстуры
(рис. 3.104). Остальные типы объектов, допускающие использование параметрических
координат (редактируемые сплайны, объекты вращения и др.), создаются при отключении этого флажка.
Рис. 3.104. Параметрическое проецирование текстурной карты на примитивах
Изображения объектов на рис. 3.104 получены с использованием материала General |
Blend (Смесь). Для них в качестве первого материала взят физический материал, который определяет цвет Base Color с параметрами (0.906, 0.718, 0.424) (для бокала был
создан отдельный материал Blend и качестве первого материала выбран шаблон Glass
(Thin Geometry)). Материал Blend отображается только при визуализации.
Вторым физическим материалом служит текстурная карта \sceneassets\images\Maple.png
из папки проекта с изображением кленового листа в канале Base Color Map, а
в качестве маски задано черно-белое изображение \sceneassets\images\Mapple_mask.png
этого листа (рис. 3.105). Пример создания материала Bend см. в видео \Lesson_3.11\
Blend_material.mp4.
214
Глава 3
Рис. 3.105. Назначение материала Blend
В результате часть второго материала, которая закрыта светлой частью маски, не изменяется (поэтому весь лист остается видимым), а остальная часть второго материала (она
черного цвета), на которую ложится темная часть маски, полностью игнорируется,
и в итоге остается видимым первый материал (см. в папке этого упражнения файл
\scenes\lesson_3.11\Param_proj_step1.max).
Положение текстурной карты на примитивах, полученное таким образом, не всегда
может устроить пользователя. Действительно, положение текстурной карты на бокале
(см. рис. 3.104) нельзя признать удовлетворительным.
Корректировка положения текстурной карты
При параметрическом проецировании положение текстурной карты корректируют
через свиток Coordinates (Координаты) этой карты, где можно регулировать такие
параметры, как Offset (Смещение), Tiling (Повторяемость) и Angle (Угол поворота)
(рис. 3.106).
Рис. 3.106. Свиток с параметрами корректировки положения текстуры
Если вы самостоятельно не создали сцену в соответствии с рис. 3.104, откройте файл
\scenes\lesson_3.11\Param_proj_step1.max. В редакторе материалов должны быть созданы
два материала типа Blend (один для бокала, другой для примитивов). Перейдите к редактированию текстурной карты, назначенной на Material 2 основного материала
Blend (повторите для двух основных материалов). Справа откроется свиток
Coordinates текстурной карты \scenesassets\images\Maple.png. В нем установите значе-
Освещение и материалы
215
ние параметра U Offset (Смещение по координате U) равным 0.2 и значение параметра
V Offset (Смещение по координате V) равным –0.3. Но поскольку мы воспользовались
материалом Blend (Смесь) с применением маски, то и для маски в свитке Coordinates
нужно внести те же самые изменения. Это приведет к смещению положения текстуры
на 20% вправо и на 30% вниз относительно предыдущей позиции (рис. 3.107).
Рис. 3.107. Корректировка положения текстуры
Рис. 3.108. Построение зеркальной копии текстуры
П РИМЕЧАНИЕ
Если одна и та же текстурная карта используется на нескольких материалах, то ее можно
соединить гибкой линей с несколькими материалами через канал, например, Base Color
Map, см. видео \Lesson_3.11\Use_map_in_materials.mp4.
Аналогично предыдущему примеру для основной текстуры и для маски в свитке
Coordinates установите параметр W Angle (Поворот вокруг оси W) равным 45º, и на
всех объектах положение текстурной карты изменится.
Верните угол поворота текстуры на значение 0º и включите флажок Mirror (Зеркальное
отображение) для координаты V — тогда на каждом объекте, помимо исходной текстуры, появится ее зеркальная копия (рис. 3.108).
Если увеличить значение параметра Tiling, то изменится число повторений текстурной
карты на каждой поверхности (рис. 3.109). Такому состоянию объектов соответствует
файл \scenes\lesson_3.11\Param_proj_step2.max.
Рис. 3.109. Значение параметра Tiling установлено равным 2
216
Глава 3
Использование
фактического размера текстурной карты
Рассмотрим еще один пример. Создайте новую сцену и постройте объект типа Box
с размерами 20×40×80 мм. Из файла Param_proj_step2.max с помощью команды Import |
Merge встройте в сцену бокал Gobl_1, сохранив настройки его материала. Откройте редактор материалов, и если в нем не видно материала бокала, то на панели инструментов
окна Slate Material Editor щелкните по иконке Pick Material From Object (Выбрать
. К бокалу применен материал Blend. В настройках второго
материал из объекта)
материала замените текстурную карту Maple.png на файл Rabbit.jpg из папки \sceneassets\
images. А в качестве маски примените к бокалу текстурную карту Rabbit_mask.jpg.
Для параллелепипеда создайте материал Blend. Для него в качестве первого выберите
физический материал, который определяет цвет объекта. А в качестве второго материала на канал Base Color примените текстурную карту Rabbit.jpg. В качестве маски для
параллелепипеда задайте черно-белое изображение Rabbit_mask.jpg (рис. 3.110). Примените материал к объекту.
Рис. 3.110. Создание материала Blend для параллелепипеда
Для визуализации сцены включите Arnold Render и измените фон в окружении
(Rendering | Environment) на светлый.
В материале бокала в свитках Coordinates поверните текстурную карту второго материала и маску на 90º вокруг оси W. Визуализируйте сцену, вы увидите, что текстурная
карта оказалась наложенной на каждую грань объекта целиком. Но поскольку размеры
граней различны, на каждой из них изображение выглядит по-разному (рис. 3.111).
и в
Теперь поступим иначе. Выделите объект Box01, раскройте вкладку Modify
свитке Parameters установите флажок в поле Real-World Map Size (Фактический размер текстурной карты). Перейдите в редактор материалов к настройке материала параллелепипеда, щелкните по текстурной карте (Rabbit.jpg), назначенной на второй материал. Справа в параметрах в свитке Coordinates установите флажок в поле Use RealWorld Scale (Использовать фактический размер текстурной карты), а чуть ниже, в полях Size (Размер), задайте конкретные размеры текстурной карты, — например
25×15 мм (рис. 3.112). То же самое обязательно проделайте и по отношению к маске.
Повторите все указанные действия для материала бокала. При этом также в настройках
объекта на панели Modify в параметрах модификатора Lathe установите флажок в поле
Real-World Map Size. Визуализируйте сцену — на всех поверхностях параллелепипеда
изображения будут иметь одинаковый размер и пропорции, на бокале они будут очень
Освещение и материалы
217
мелкие (рис. 3.113). Это связано с тем, что масштаб бокала был изменен, и теперь он
, то
составляет 5% от реального размера. Если выбрать инструмент Select and Scale
в нижней части программы для всех координат будет стоять значение 5%.
Рис. 3.111. Разные пропорции изображения на гранях
Рис. 3.112. Задаются конкретные размеры
текстурной карты
Рис. 3.113. Ошибка распределения текстуры
на бокале
При масштабировании объекта следует всегда помнить про нарушение расчетов его
размеров, масштаб влияет на проекционные координаты, булевы операции, анимацию
и параметры наследования. Значения масштабирования следует сбрасывать в исходное
состояние. Выделите бокал и на командной панели перейдите на панель Modify
.
Активируйте вкладку Utility
, щелкните по кнопке Reset XForm и чуть ниже по
кнопке Reset Selected (Сбросить выделенное). К бокалу будет добавлен модификатор
XForm, и параметры масштабирования и поворота вернутся к значениям по умолчанию
(100% и 0 соответственно), не изменяя текущего состояния объекта. Далее нужно обновить проекционные координаты для бокала. Настроить базовые правила распределения
218
Глава 3
проекционных координат можно в параметрах примитива некоторых модификаторов,
образующих трехмерную форму из сплайна (например, Lathe). Основные настройки
находятся в специальных модификаторах UVW Map или Unwrap UVW. Более подробно эти модификаторы рассматриваются в следующих упражнениях, а пока для бокала
необходимо активировать распределение текстуры в реальных размерах.
Примените к бокалу модификатор UVW Map. В настройках модификатора в области
Mapping включите опцию Cylinder и чуть ниже активируйте параметр Real-World
Map Size. Визуализируйте сцену (рис. 3.114). Такому состоянию объектов соответствует файл \scenes\Rabbit_end.max.
Рис. 3.114. На всех поверхностях текстурная карта имеет одинаковые размеры и пропорции
Самостоятельно настройте параметры свитка Coordinates так, чтобы на боковых сторонах параллелепипеда было видно только по одному крупному изображению кролика.
Упражнение № 3-12. Применение
модификатора UVW Map
Типы проецирования текстурных карт [35]
Более точно настроить отображение текстурной карты можно с помощью модификатора UVW Map (Проецирование по координатам UVW). Такая настройка удобна в тех
случаях, когда разные части объекта требуют различных методов проецирования.
Модификатор UVW Map выбирается из списка модификаторов вкладки Modify
и
может применяться как ко всему объекту, так и к его отдельным частям. Он позволяет
использовать для выделенных областей различные типы проецирования, а также вручную настраивать особенности проецирования под конкретную модель.
В 3ds Max предусмотрено несколько типов проецирования текстурных карт (рис. 3.115):
Planar (Плоское) — выполняется по нормали к поверхности и применяется к любым
плоскостям и схожим с ними объектам;
Cylindrical (Цилиндрическое) — предназначено для объектов, имеющих цилиндри-
ческую форму;
Освещение и материалы
219
Spherical (Сферическое) — применимо к объектам, близким по форме к сфере;
Box (Кубическое) — используется для объектов, имеющих форму параллелепипеда.
При этом текстурная карта наносится на каждую сторону параллелепипеда;
Face (На грани) — текстурная карта наносится на каждую грань объекта;
Shrink Wrap (Сферическое с обрезкой) — применяется сферическое проецирова-
ние, но уголки текстурной карты обрезаются и объединяются все в один полюс.
Рис. 3.115. Пример проецирования текстурной карты
При выборе подходящего типа проецирования текстурной карты лучшим обычно оказывается тот, при котором форма объекта Gizmo (Габаритный контейнер) этого типа
проецирования близка к форме объекта. Однако такой тип проецирования не всегда
самый удачный. Поэтому целесообразно проверить возможность применения других
типов проецирования, чтобы установить, в каких случаях деформация текстуры минимальна. Чаще всего используются типы проецирования текстурных карт Planar,
Cylindrical, Spherical и Box.
Настройка параметров модификатора UVW Map
Откройте файл \scenes\lesson_3.12\UVW_map.max из папки этого упражнения. Последовательно назначьте модификатор UVW Map (Проецирование по координатам UVW)
каждому из объектов и визуализируйте сцену. При этом будут использованы текстуры
из папки \sceneassets\images. Вы увидите, что наложение текстур оказалось неудовлетворительным. Это вызвано тем, что по умолчанию устанавливается тип проецирования текстурной карты Planar (рис. 3.116). Однако не для всех объектов сцены такое
проецирование подходит.
Чтобы исправить ситуацию, выделите цилиндр и в разделе Mapping (Проецирование)
свитка Parameters установите для него вариант проецирования текстуры Cylindrical,
для сферы — вариант Spherical, для пирамиды — Box, для конуса — Cylindrical, для
параллелепипеда — Box, для бокала — Cylindrical.
220
Глава 3
После визуализации сцены (рис. 3.117) текстуры на примитивах будут выглядеть точно
так же, как и при параметрическом проецировании (см. файл \scenes\lesson_3.12\
UVW_map_step2.max). Что касается бокала, то к нему мы еще вернемся. Может показаться, что никаких преимуществ применение модификатора UVW Map не дает. Однако до этого мы работали с примитивами, для которых нужные координаты проецирования текстурных карт устанавливались по умолчанию. Кроме того, в случае примитивов
использование модификатора UVW Map открывает больше возможностей для управления наложением текстур. Например, с помощью настройки значений параметров
Length, Width и Height этого модификатора можно корректировать размеры налагаемой текстуры, параметры U Tile (Повторить по координате U), V Tile и W Tile позволяют задавать число повторений текстуры по каждой из осей, а включение/выключение
флажков Flip обеспечивает зеркальное отображение текстуры. Кроме того, управлять
наложением текстурной карты теперь можно с помощью Gizmo (Габаритный контейнер).
Рис. 3.116. Типы
проецирования текстурной
карты
Рис. 3.117. Тип проецирования выбран для примитивов
Подобъект Gizmo
В стеке модификаторов каждого объекта появляется модификатор UVW Map, имеющий подобъект Gizmo (рис. 3.118). Он показывает, как текстура проецируется на объект, и определяет границы, до которых простирается текстурная карта материала. Вид
Gizmo зависит от типа проецирования, поэтому с его помощью можно управлять особенностями проецирования текстурной карты (рис. 3.119).
Размеры Gizmo можно корректировать, меняя значения его параметров Length, Width
и Height. Gizmo можно перемещать, масштабировать и вращать с помощью инстру, Select and Uniform Scale
и Select and Rotate
. Пементов Select and Move
ремещая Gizmo, можно смещать текстурную карту вдоль осей. Масштабирование
Gizmo приводит к изменению масштаба текстуры, а его вращение позволяет развернуть текстуру на определенный угол.
В области Alignment (Выравнивание) также имеется несколько вариантов установки
положения Gizmo относительно объекта. Команда Fit (Подгонка) максимально подго-
Освещение и материалы
221
няет текстуру к поверхности объекта, а команда Center (Центрировать) выравнивает
текстуру относительно центра объекта. Соответствующим образом будет меняться и
положение текстуры на объекте.
Рис. 3.118. Подобъект Gizmo
Рис. 3.119. Подобъект Gizmo на конусе
Чтобы устранить искажения текстуры, выровняйте значения параметров Length и
Width так, чтобы Gizmo равномерно охватывал бокал. С помощью инструмента Select
переместите Gizmo вверх (рис. 3.120), установив текстуру напротив ценand Move
тральной части бокала. На свое усмотрение измените значение параметра Height, чтобы уточнить пропорции текстуры. Обратите внимание, что в нижней части бокала появилось повторение текстуры. Для его устранения раскройте редактор материалов и
в свитках Coordinates текстурной карты и маски отключите флажки U Tile (Повторить
по координате U) и V Tile (Повторить по координате V). Такому состоянию объекта
соответствует файл \scenes\lesson_3.12\UVW_map_step3.max.
Рис. 3.120. Уточнение положения текстуры относительно поверхности бокала
222
Глава 3
Поскольку в редакторе материалов в свитках Coordinates была отключена повторяемость текстуры, то на бокале сохранится только одно ее изображение. Если теперь в
этих же свитках изменить значение параметра Tiling (Кратность) на 2, то это будет означать, что вокруг бокала могут разместиться две текстуры (рис. 3.121). Но поскольку
перед этим мы отключили повторяемость текстуры (параметр Tile), то сохранится
только одно ее изображение, которое займет половину поверхности бокала.
Рис. 3.121. Отключен параметр Tile и увеличена кратность Tiling
Размещение текстуры внутри боковых поверхностей
Рассмотрим еще один пример. Откройте файл \scenes\lesson_3.12\UVW_map_size.max.
В сцене использована текстура Bronze.jpg из папки \sceneassets\images. Текстура уже
нанесена на поверхности объектов, но модификатор UVW Map не был задействован.
Разместим эту текстуру внутри боковых поверхностей параллелепипеда и пирамиды.
Откройте редактор материалов и в свитках Coordinates текстурной карты уберите
флажки в полях U Tile и V Tile — в противном случае текстура будет размножаться на
поверхностях объекта. Затем выделите параллелепипед и примените к нему модификатор UVW Map. Установите тип проецирования текстуры Box. Переключитесь в режим
и уменьуправления Gizmo. Активизируйте инструмент Select and Uniform Scale
шите размеры Gizmo до 80%, в результате текстурная карта будет меньше, чем поверхность граней. При необходимости скорректируйте положение текстуры в центре плос. То же сделайте и в отношении пирамиды.
кости инструментом Select and Move
Визуализируйте сцену, и на каждой грани объекта останется только по одному изображению текстуры (рис. 3.122).
Рис. 3.122. Текстура внутри боковых поверхностей
Освещение и материалы
223
Теперь измените масштаб объекта Box01 по оси Z, чтобы он превратился в тонкую пластину и с помощью инструмента Select and Move
переместите Gizmo вверх так,
чтобы он расположился над объектом. Тогда после визуализации изображение текстуры не будет отображаться на боковых гранях параллелепипеда (рис. 3.123). Вдоль
оси X Gizmo для пирамиды также был сдвинут. Этому состоянию объекта соответствует файл \scenes\lesson_3.12\UVW_map_size_end.max.
Рис. 3.123. Текстура не отображается на боковых гранях
Практическая работа
Самостоятельно создайте модель полки с книгами (см. в папке проекта файл
\renderoutput\practice_3.12\Book_shelf.png), воспользовавшись для этого текстурами из
файла \sceneassets\images\BookCoverPages.jpg.
Упражнение № 3-13. Материал Multi/Sub-Object
и модификатор UVW Map
Поскольку объекты состоят из множества подобъектов, то, как правило, обойтись одним вариантом настроек проецирования при их текстурировании не удается. Приходится применять разные подходы для различных подобъектов, что может быть вызвано
как необходимостью использования нескольких текстурных карт, так и особенностями
геометрии модели. При наличии нескольких текстурных карт объекту назначают многокомпонентный материал Multi/Sub-Object с последующим добавлением и настройкой модификатора UVW Map (Проецирование по координатам UVW).
На примере модели бутылки рассмотрим ситуацию, когда нескольким элементам
объекта требуется назначить различные материалы.
Назначение объекту нескольких материалов
Откройте файл \scenes\lesson_3.13\Bottle.max. В сцене расположена бутылка, назначим
на крышку, бутылку и место для этикетки три разных материала. Для этого воспользуемся материалом Multi/Sub-Object.
224
Глава 3
Откройте редактор материалов Slate Material Editor. Добавьте в рабочую область материал Multi/Sub-Object из группы Materials | General. В параметрах материала щелкните по кнопке Set Numbers и укажите число 3, именно столько подматериалов понадобится для объекта.
Добавьте в сцену первый материал типа Physical Material и переименуйте его в Glass.
Включите для него расширенный режим Material Mode = Advanced. Для параметра
Transparency (Прозрачность) установите значение 1 и измените цвет на светлоголубой, например, RGB (0.83, 0.98, 1). Для основного цвета Base Color установите
черный цвет. Параметр IOR увеличьте до 6. Соедините материал Glass с первой ячейкой материала Multi/Sub-Objects (рис. 3.124).
Рис. 3.124. Подготовлен материал для стекла бутылки
Создайте второй материал для крышки бутылки Physical Material и переименуйте его
в Lid. В настройках материала в свитке Presets выберите шаблон Matte Plastic. Для параметра Base Color выберите цвет, например синий. Соедините материал со второй
ячейкой материала Multi/Sub-Object.
Создайте третий материал Physical Material и переименуйте его в Label. Для канала
Base Color Map добавьте текстурную карту Aquafina.png из папки \sceneassets\images.
В параметрах материала Label включите режим Material Mode = Advanced. Для этикетки отключим отражение: Reflections = 0. Соедините третий материал с третьей
ячейкой материала Multi/Sub-Object. Структура материала бутылки представлена на
рис. 3.125.
Рис. 3.125. Структура материала бутылки
Освещение и материалы
225
Переименуйте главный материал Multi/Sub-Object в Bottle. Примените основной материал к объекту. Все подматериалы будут применены хаотичным образом, назначим
соответствующие ID.
Выделите в сцене бутылку и в настройках модификатора Edit Poly перейдите к компонентам Element. Щелкните для выделения по крышке бутылки. Вернитесь в настройки
модификатора, в свитке Polygon: Material IDs для параметра Set ID введите число 2
и нажмите клавишу <Enter>.
Далее щелкните по бутылке, выделится все, кроме крышки. В свитке Polygon: Material
IDs для параметра Set ID установите число 1 (рис. 3.126).
Визуализируйте сцену, материал для бутылки и крышки создан, нет только этикетки
(рис. 3.127).
Рис. 3.126. Номера групп полигонов
Рис. 3.127. Бутылка без этикетки
В настройках бутылки перейдите к подобъектам Polygons. Перейдите в видовое окно
Front и с помощью рамки выделения выделите центральную плоскую часть бутылки
(рис. 3.128, см. видео \Lesson_3.13\Select_polygon.mp4). В настройках модификатора Edit
Poly убедитесь, что в свитке Selection выключен параметр Ignore Backfacing, если он
включен, то будут выделены только полигоны, которые видны в активном видовом окне. В окне Perspective убедитесь, что все полигоны по периметру объекта выделены.
Назначьте выделенным полигонам в свитке Polygon: Material IDs значение ID = 3.
Визуализируйте сцену (рис. 3.129). Для отображения текстурной карты в видовом окне
можно активировать режим высокого качества, для этого в меню видового окна
Perspective щелкните по пункту Standard и выберите вариант High Quality (режим
доступен только работе с драйвером Nitrous). И в видовом окне, и при визуализации
видно, что текстурная карта растянута по вертикали.
Для корректного распределения этикетки на бутылке добавим модификатор UVW
Map.
226
Глава 3
Рис. 3.128. Выделена
центральная часть бутылки
Рис. 3.129. Отображение этикетки
на бутылке
Настройка параметров модификатора UVW Map
Выделите бутылку и примените к ней модификатор UVW Map. В параметрах модификатора в области Mapping выберите вариант Cylinder. Чуть ниже для высоты Gizmo
контейнера установите Height = 50 мм. В подобъектах модификатора UVW Map щелкните по строке Gizmo и переместите контейнер немного выше, чтобы он совпадал
с положением этикетки (рис. 3.130). Визуализируйте сцену (рис. 3.131), этикетка должна корректно распределяться по бутылке.
Рис. 3.130. Положение контейнера Gizmo
Рис. 3.131. Финальная визуализация бутылки
Освещение и материалы
227
Упражнение № 3-14.
Видеоролик на экране телевизора
Цель этого упражнения — нанесение готовой анимации в формате AVI на экран модели телевизора. Откройте из папки этого упражнения файл \scenes\lesson_3.14\
TV_set.max. Разобьем весь объект на два подобъекта: экран телевизора и вся его остальная часть. Для этого выделите объект TV и раскройте вкладку Modify
. В стеке модификаторов перейдите в режим редактирования полигонов Polygon (Полигон). Выделите все полигоны объекта, в свитке Polygon: Material IDs (Полигон: Идентификаторы
материала) присвойте им идентификатор ID, равный 1 (Set ID = 1), и нажмите клавишу
<Enter>. Затем выделите полигоны экрана телевизора и установите Set ID = 2. С помощью команды Select ID (Выделить материал с указанным идентификатором) проверьте
правильность выделения областей.
Откройте редактор материалов и создайте стандартный материал Multi/Sub-Object
(Многокомпонентный материал) с двумя подматериалами. В первом подматериале измените цвет параметра Base Color на черный. В качестве второго подматериала в канале Base Color Map назначьте видеоролик \sceneassets\animations\Gol_Clausura.avi.
Назначьте объекту модификатор UVW Map (Проецирование по координатам UVW).
Раскройте его структуру и выделите подобъект Gizmo (Габаритный контейнер).
В свитке Parameters этого модификатора оставьте метод проецирования Planar, в области Alignment (Выравнивание) установите выравнивание по оси Y и нажмите кнопку
Fit (Подогнать). Присвойте созданный материал объекту.
Загруженное видео — это анимация, которую мы можем проиграть в видовом окне.
В нижней части окна программы щелкните по иконке Play animation (Проиграть анимацию)
. Так как по умолчанию в сцене можно проиграть только 100 кадров, а это
примерно 3 с, то не всю анимацию можно будет увидеть в видовом окне. Чтобы увеличить время проигрывания, в нижней части окна программы откройте окно Time
Configuration (Конфигурация временных параметров)
. В одноименном окне для
параметра End Time установите продолжительность анимации равную 1500 кадрам.
Воспроизведите анимацию, включив команду Play Animation
.
Один из промежуточных кадров видеоролика показан на рис. 3.132 (см. файл \scenes\l
esson_3.14\TV_set_end.max).
Рис. 3.132. Кадр видеоролика на экране модели телевизора
228
Глава 3
В сцене задействован ART Render (Autodesk Raytracer) — базовый визуализатор, который имеет минимальный набор настроек и поддерживает физические материалы,
может использоваться для интерьерной визуализации и анимации.
Практическая работа
Самостоятельно настройте демонстрацию ролика на экране проектора \renderoutput\
practice_3.14\KSM.avi.
Упражнение № 3-15. Модификатор Unwrap UVW
Возможности модификатора Unwrap UVW
Представьте себе сложный криволинейный объект — автомобиль или персонаж. На
такой объект нанести текстуру с помощью рассмотренных ранее способов либо очень
сложно, либо практически невозможно. Основная задача при этом заключается в том,
чтобы развернуть поверхность такого объекта на плоскость. Для этого существуют
способы текстурирования модели объекта сложной формы, основанные на построении
развертки поверхности объекта, — это модификатор Unwrap UVW (Развертка поверхности). Его применение позволяет не только минимизировать искажения при наложении текстуры на объект, но и вручную нарисовать любую текстуру по готовой развертке.
В распоряжении модификатора Unwrap UVW имеется много инструментов, позволяющих строить развертку поверхности. Во всех случаях развертка поверхности объекта разбивается на более мелкие части, которые называются кластерами. Границы кластеров определяются швами, которые либо наносятся на поверхность модели автоматически, либо строятся вручную. Кластеры, или участки развертки, должны быть без
перекрытий и обеспечивать последующее наложение текстуры без искажений. Желательно, чтобы число швов на развертке было минимальным и они располагались в таких местах, которые не видны при визуализации сцены.
Не всякое разбиение развертки на кластеры удобно для дальнейшего наложения на нее
текстурной карты. Поэтому в дальнейшем с помощью инструментов модификатора
Unwrap UVW кластеры обычно редактируются для придания им нужной формы, после
чего они располагаются на соответствующих участках текстурной карты. Если в проекте текстурная карта не используется, то на редактированные кластеры в графическом
редакторе можно затем нанести соответствующую раскраску или узор.
Плоскостное проецирование Flatten Mapping
Для уяснения сущности модификатора Unwrap UVW начнем с самого простого примера — наложения текстурной карты на боковые стороны коробки.
П РИМЕЧАНИЕ
На такой простой объект текстуру можно нанести, используя материал типа Multi/SubObject (Многокомпонентный материал). Но мы вместо этого воспользуемся модификатором Unwrap UVW.
В редакторе материалов создайте физический материал и на канале Base Color Map
примените к нему текстурную карту \sceneassets\images\BoxNew.png из папки проекта.
Освещение и материалы
229
Создайте объект типа Box с параметрами Length = 80 см, Width = 200 см и Height =
= 300 см. Количество сегментов по каждой из сторон оставьте равным 1. Примените
к коробке созданный материал. На рис. 3.133 можно видеть, что он наложен на нее неправильно.
Используемая текстурная карта представляет собой единое растровое изображение,
которое содержит несколько текстур для передней, верхней, левой и правой сторон
коробки. Задача состоит в том, чтобы на каждую грань коробки правильно нанести
нужное изображение.
Назначьте объекту модификатор Unwrap UVW и в структуре модификатора перейдите
в режим выделения полигонов. В свитке Edit UVs (Редактор координат UV) нажмите
кнопку Open UV Editor (Открыть редактор координат UV) — откроется окно Edit
UVWs (Редактор координат UVW) (рис. 3.134).
Рис. 3.133. Неправильное положение
текстурной карты
Рис. 3.134. Редактор координат UVW
В окне редактора в центральной части все грани объекта будут спроецированы в виде
квадрата. На фоне по умолчанию размещается текстурная карта Checker. В этом окне
справа вверху из выпадающего списка выберите текстурную карту BoxNew.png
(рис. 3.135). Текстурная карта должна появиться в центральной рабочей части редактора. Если в списке вы не можете найти нужную текстуру, щелкните в этом же свитке по
команде Pick Texture (Выбрать текстуру) и выберите из папки нужный файл.
Главное меню окна Edit UVWs содержит несколько команд для автоматического создания развертки поверхности объекта. Выделите все грани коробки (это можно сделать
сочетанием клавиш <Ctrl>+<A> или в видовом окне Perspective), в меню Mapping (Построение развертки) выберите вариант Flatten Mapping (Плоскостное проецирование)
(рис. 3.136) и нажмите кнопку OK.
230
Глава 3
Рис. 3.135. Выбор текстурной карты в окне редактора UVW
Рис. 3.136. Окно Flatten Mapping для проецирования текстурной карты
с параметрами по умолчанию
При этом поверхность объекта автоматически разбивается на несколько плоских участков-кластеров. Их количество зависит от значения параметра Polygon Angle Threshold
(Пороговый угол между полигонами). Параметр Spacing определяет расстояние между
этими участками. Старайтесь задавать это значение поменьше, чтобы плотнее расположить кластеры развертки. Установка флажка Normalize Clusters позволяет разместить все кластеры в окне Edit UVWs.
При уменьшении порогового угла Polygon Angle Threshold число кластеров и швов
между ними возрастает (но не в нашем примере), однако обеспечивается бо́льшая точность наложения текстуры. В нашем случае все углы между гранями равны 90º, т. е.
больше 45º, и поэтому поверхность коробки разбилась на шесть кластеров. В окне Edit
UVWs они хорошо видны, если в меню команд этого окна временно отключить коман.
ду Shows the active map in the dialog (Показать текстурную карту)
При приведенных на рис. 3.136 значениях параметров для коробки получаем расположение кластеров, показанное на рис. 3.137. При других значениях параметров размещение проекций граней несколько изменится, хотя в нашем случае это не важно.
Обратите внимание на зеленые линии в видовом окне программы и в окне редактора
координат Edit UVWs (чтобы их увидеть, снимите выделение с кластеров). Они соответствуют автоматически созданным швам на поверхности модели коробки. Если
теперь выделить любой кластер в окне редактора координат, то выделится также соответствующая этому кластеру часть поверхности объекта. И наоборот, при выделении
любого полигона на поверхности объекта тут же выделяется полигон соответствующего кластера.
Для правильного наложения текстурной карты на коробку теперь следует в видовом
окне поочередно выделять грани объекта, а затем в окне Edit UVWs трансформировать
Освещение и материалы
231
соответствующие им кластеры до совпадения с соответствующими фрагментами текстурной карты.
Если в окне редактора координат Edit UVWs текстура повторяется, то в главном меню
этого окна выберите команду Options | Preferences и в диалоговом окне Unwrap
Options (Опции развертки) в области Display Preferences снимите флажок Tile Bitmap.
Чтобы при трансформации кластера легче было просматривать его положение относительно текстурной карты, в главном меню окна Edit UVWs выполните команду
Options | Preferences и в открывшемся окне Unwrap Options в области Color установите вариант отображения кластера Cross Hatch Horisontal/Vertical (рис. 3.138).
Рис. 3.137. Применение к коробке
метода Flatten Mapping
Рис. 3.138. Вариант отображения кластера
в окне редактора координат
В видовом окне программы выберите переднюю грань объекта — в окне Edit UVWs
выделится соответствующий кластер. В верхней части этого же окна имеются команды
для перемещения кластеров вдоль осей координат: Move Selected Subobject
, их
вращения Rotate Selected Subobjects
, масштабирования кластеров Scale Selected
Subobjects
, их свободной деформации Freeform Mode
и зеркального отображе. Удобно также пользоваться аналогичными командами, которые открываются,
ния
если в окне редактора Edit UVWs щелкнуть правой кнопкой мыши и выбрать соответствующую команду. С их помощью трансформируйте кластер таким образом, чтобы он
расположился на соответствующей части текстурной карты. Аналогично поступите
с остальными гранями и соответствующими им кластерами (см. видео \Lesson_3.15\
Video_3.139.mp4). После всех трансформаций кластеров их положение в окне Edit
UVWs будет выглядеть так, как показано на рис. 3.139.
Поскольку на обе передние, нижнюю и верхнюю грани наложено одно и то же изображение, то соответствующие им кластеры в окне Edit UVWs совпадают. Окончательный
232
Глава 3
Рис. 3.139. Положение кластеров в редакторе UVW
Рис. 3.140. Результат наложения текстурной карты
результат наложения текстуры на коробку показан на рис. 3.140. Финальная сцена расположена в файле \scenes\lesson_3.15\Box_end.max.
Криволинейный объект
Рассмотрим теперь более сложный криволинейный объект, показанный на рис. 3.141
(файл \scenes\lesson_3.15\Duck.max из папки этого упражнения). На нем мы познакомимся с другими возможностями построения развертки поверхности и наложения текстуры с помощью модификатора Unwrap UVW.
Примените этот модификатор к модели, в его структуре перейдите на уровень выделения полигонов и откройте окно Open UV Editor. Обратите внимание, что на модели
Освещение и материалы
233
утенка появились яркие зеленые линии — это швы, по которым программа автоматически разрезала развертку (рис. 3.142). Однако вряд ли такое разбиение развертки нас
устроит: на голове утенка создано много лишних надрезов, на боковой поверхности
шов остался незамкнутым, крылья утенка разрезаны двумя швами.
Рис. 3.141. Модель утенка
Рис. 3.142. Первоначальные швы
на модели утенка
В свитке Arrange Elements (Расположить элементы) окна Edit UVWs щелкните на
кнопке Pack: Custom (Расстановка кластеров) — полученные кластеры (их всего четыре) распределятся в квадратном окне (рис. 3.143).
Выполните в этом окне двойной щелчок на любом из полигонов — выделятся все полигоны этого кластера, а также соответствующий участок поверхности модели объекта.
Перейдите в свиток Peel (Инструменты построения развертки) и нажмите кнопку Reset
Peel (Отменить изменения)
— все швы исчезнут (файл \scenes\lesson_3.15\Duck_
step1.max). В дальнейшем нам придется исправить автоматически полученное разбиение развертки. Рассмотрим на этом примере основные инструменты модификатора
Unwrap UVWs. Его подобъектами являются вершины (Vertex), ребра (Edge) и грани
(Polygon) (рис. 3.144).
В свитке Selection этого модификатора можно установить режим выбора соответствующих подобъектов: вершин
, ребер
или граней
. Если щелкнуть на расположенной рядом кнопке Select By Element XY Toggle (Переключатель выделения области указанием элемента)
и указать, например, на одну грань, то выделятся все
грани объекта.
Кнопки
и
позволяют расширить или сократить объем текущего выделения.
В режиме выбора ребер можно нажать кнопку Loop: XY Edges (Цикл ребер)
и выделить сразу все ребра, расположенные на их продолжении. Если же нажать кнопку
Ring: XY Edges (Кольцо ребер)
, то выбирается кольцо ребер, расположенных
параллельно. Кнопка Ignore Backfacing
предотвращает выделение задних граней.
Если активизировать режим выбора ребер, то команда Point-to-Point Edge Selection
позволяет выбрать цепочку ребер объекта указанием
(Выбор ребер от точки к точке)
на последовательность его вершин (не обязательно, чтобы вершины были смежными).
234
Глава 3
Рис. 3.143. Кластеры в окне Edit UVWs
Рис. 3.144. Подобъекты
модификатора Unwrap UVW
Можно выделить группу полигонов, между которыми угол не превышает значения,
указанного в поле, расположенном справа. Для этого служит команда Select by Planar
. Чтобы ею воспользоваться, сперва необходимо устаAngle (Выбрать по углу)
новить нужный угол и щелкнуть на этой кнопке, а затем выбрать соответствующий
полигон. При этом учитывается усредненный угол между выделенными полигонами.
Команда Symmetrical Geometry Selection
позволяет выбрать полигоны (а также
вершины или ребра), симметрично расположенные относительно указанной плоскости
системы координат. Выделяются все полигоны, угол между которыми не превышает
установленного в поле Select by Planar Angle
.
В свитке Material IDs можно установить идентификаторы материалов. Команда Select
ID позволяет выделить участок модели с соответствующим идентификатором.
Другие команды удобнее рассматривать при открытом окне редактора текстурных координат Edit UVWs. Это основной свиток, с помощью которого выполняется развертка
поверхности объекта и совмещение ее с текстурной картой (рис. 3.145).
Для разбиения поверхности модели на участки, необходимые для построения развертки, можно применять команды из свитка Explode (Разбиение) окна редактора Edit
, Flatten by
UVWs: Flatten by Polygon Angle (По углу между полигонами)
Smoothing Group (По группам сглаживания) , Flatten by Material ID (По идентифии Flatten: Custom (По параметрам пользователя)
.
каторам материалов)
Освещение и материалы
235
Рис. 3.145. Команды окна редактора текстурных координат
Примените, например, первую из указанных команд. В результате в окне редактора Edit UVWs будет построена соответствующая развертка поверхности объекта со
значением параметра Polygon Angle Threshold (Пороговый угол между полигонами) = 60º
(рис. 3.146, а), а в видовых окнах на модели объекта в виде зеленых линий отобразятся
новые швы (рис. 3.146, б).
Полученная таким образом развертка может быть принята за основу с последующим ее
редактированием, однако мы этого делать не станем и создадим швы с таким расчетом,
чтобы получаемые при этом участки развертки можно было без большого труда спроецировать на плоскость.
удалите все
Перейдите в режим выделения ребер. С помощью команды Reset Peel
швы с модели. Если некоторые швы на модели все-таки остались, то можно включить
, нажать клавишу <Alt> и выделить некоманду Edit Seams (Редактировать швы)
нужные швы.
Включите команду Ignore Backfacing (Игнорировать задние грани) и выделите кольцо
ребер на голове утенка (чтобы ускорить выделение ребер, воспользуйтесь командой
Loop: XY Edges). Затем нажмите кнопку Convert Edge Selection To Seams (Конверти— будет создан шов на голове (рис. 3.147). Выдеровать выбранные ребра в швы)
лите любой внутренний полигон и выполните команду Expand Polygon Selection To
— выделятся все полигоны полученSeams (Расширить выбор полигонов до швов)
ной области.
236
Глава 3
а
б
Рис. 3.146. Развертка поверхности, построенная командой Flatten by Polygon Angle
Рис. 3.147. Создан шов на голове
Перейдите в свиток Projection и нажмите кнопку Planar Map (Плоскостное проециро, а ниже — в области Align Options (Способы выравнивания) — укажите
вание)
в качестве направления проецирования ось Z. Не лишним будет нажать еще располо. В результате в окне Edit UVWs отобразитженную рядом кнопку Fit (Подогнать)
ся проекция выделенной области или соответствующий ей кластер. В свитке Projection
отмените действие команды Planar Map. Щелкните правой кнопкой мыши внутри созданного кластера и в контекстном меню с помощью команд Scale и Move масштабируйте кластер (рис. 3.148, а), а затем переместите его в свободное место (рис. 3.148, б).
Пока не обязательно, чтобы кластер располагался внутри основного квадрата.
Освещение и материалы
237
а
б
Рис. 3.148. Кластер в окне Edit UVWs
В свитке Projection, кроме плоскостного, имеются еще три типа проецирования:
, Spherical Map (Сферическое
Cylindrical Map (Цилиндрическое проецирование)
проецирование)
и Box Map (Кубическое проецирование)
. Команды свитка Projection активизируются только в режиме выделения граней (рис. 3.149).
Рис. 3.149. Типы проецирования текстурных карт
Следует выбрать тот тип проецирования, который в большей степени соответствует
форме выделенной части модели объекта, после чего в области Align Options (Способы
или , чтобы выровнять положение
выравнивания) нажать на одну из кнопок ,
контейнера Gizmo текстурной карты относительно соответствующей оси координат.
позволяет уточнить положение
Команда Best Align (Наилучшее выравнивание)
контейнера относительно выделенных граней, команда View Align
располагает оси
располагает конконтейнера параллельно осям видового окна, команда Center
тейнер Gizmo по центру выделенных граней, а команда Fit уточняет положение контейнера относительно выделенного объекта.
В окне Edit UVWs с помощью команды Brings up the options dialog (Раскрыть диалог
откройте окно Unwrap Options и установите флажок для параметра Tile
опций)
Bitmap (Повторяемость растрового изображения) — на всем поле окна Edit UVWs
появятся черно-серые квадратики — чекеры (checkers), которые нужны для оценки
правильности расположения текстуры на поверхности модели. Кроме того, в том же
окне в области Color замените вид отображения выделяемых кластеров с Solid Fill
(Равномерное заполнение) на Cross Hatch Horizontal/Vertical (Заполнение заштрихованными квадратиками), благодаря чему кластеры будут лучше видны при их выделении.
В верхней части окна Edit UVWs раскройте выпадающее меню и выберите для отображения на модели объекта шаблон CheckerPattern (Checker) (Шахматная текстура) — чекеры отобразятся на поверхности модели. От того, насколько близко их форма
238
Глава 3
похожа на квадраты, будет зависеть правильность расположения текстуры на модели
объекта. В нашем случае они на квадраты похожи. Однако для улучшения качества
(она
развертки поверхности можно еще нажать кнопку Pelt Map (Растяжка карты)
появляется только в режиме выделения ребер) и в открывшемся одноименном окне нажать кнопку Start Pelt (Начать растяжку). Затем нажмите на кнопки Stop Pelt (Прекратить растяжку) и Commit (Закончить) (сделанные изменения отражены в файле
\scenes\lesson_3.15\Duck_step3.max).
Выделите теперь два кольца ребер на голове модели. Поскольку окаймляемая область
схожа с цилиндрической формой, выделите еще три вертикальных ребра, по которым
будет разрезана эта поверхность. Лучше всего выделить их на затылке головы утенка
(рис. 3.150, а). С помощью команды Convert Edge Selection To Seams
конвертируйте выделенные ребра в швы. Затем перейдите в режим выделения полигонов, выделите любой полигон внутри этой области и с помощью команды Expand Polygon
выделите всю область.
Selection To Seams (Расширить выбор полигонов до швов)
(рис. 3.150, б).
Выполните команду Quick Peel (Быстрая развертка)
а
б
Рис. 3.150. Выделено кольцо полигонов на голове
Развертка этой области отобразится в окне Edit UVWs (рис. 3.151). Так мы получили
один симметричный кластер (файл \scenes\lesson_3.15\Duck_step4.max).
Рис. 3.151. Развертка кольца полигонов
Перейдем теперь к той части головы, в которой находятся глаза утенка. На затылке
утенка также создайте дополнительные ребра, по которым будет разрезана развертка.
К ней применим цилиндрическое проектирование Cylindrical Map
в направлении
оси Z. Отмените команду цилиндрического проектирования. Поскольку эта развертка
получилась несимметричной, то выделите половину ее левой части (рис. 3.152, а)
, чтобы отрезать эту
и в окне Edit UVWs выполните команду Break (Отрезать)
часть от остальной развертки. Затем сместите ее вправо и нажмите кнопку Stitch To
, чтобы снова соединить их вместе (рис. 3.152, б).
Target (Сшить с основной частью)
Освещение и материалы
239
а
б
Рис. 3.152. Исправление несимметричной развертки
Однако в окне программы можно видеть, что в этой области головы чекеры получились
неправильной формы (рис. 3.153).
Рис. 3.153. Неправильное положение чекеров
Для улучшения развертки щелкните на кнопке Pelt Map, в открывшемся окне нажмите
сначала кнопку Start Pelt, а затем кнопки Stop Pelt и Commit. Развертка примет вид,
показанный на рис. 3.154, а. При этом чекеры на голове примут более правильную
форму (рис. 3.154, б). Эти изменения отражены в файле \scenes\lesson_3.15\Duck_step5.max.
Создайте теперь швы в области грудки утенка, как показано на рис. 3.155, а. Примените
плоскостное проецирование Planar Map в направление оси Y. Затем выполните команды Pelt Map , Start Pelt, Stop Pelt и Commit (рис. 3.155, б). Внесенные изменения
отражены в файле \scenes\lesson_3.15\Duck_step6.max.
Создайте еще шов на спинке утенка, а также один шов посередине его животика. На
этом создание швов будет закончено (рис. 3.156).
К спинке примените процедуру выравнивания развертки с помощью Pelt Map, как это
делалось ранее. К боковой поверхности также примените Pelt Map, затем выполните
команду Start Pelt, а потом в том же окне еще команду Start Relax, которая улучшает
развертку. Подождите, пока закончится ее выполнение (рис. 3.157).
240
Глава 3
а
б
Рис. 3.154. Положение чекеров на голове после корректировки: а — развертка; б — чекеры
а
б
Рис. 3.155. Развертка в области грудки: а — создание швов;
б — результат
Рис. 3.156. Все швы
на модели утенка
Рис. 3.157. Развертка спинки утенка (слева), развертка левого бока (в центре),
развертка правого бока (справа)
Освещение и материалы
241
Рис. 3.158. Положение чекеров на модели
К модели объекта примените текстурную карту Checker, чтобы убедиться, что все
квадратики имеют одинаковый размер и правильно расположены (рис. 3.158).
Осталось в окне Edit UVWs выполнить команду Pack: Custom
, чтобы расположить
все кластеры в пределах основного квадрата (рис. 3.159). Сделанные изменения отражены в файле \scenes\lesson_3.15\Duck_step7.max .
Рис. 3.159. Окончательная форма кластеров
242
Глава 3
В окне редактора Edit UVWs выполните команду Tools (Инструменты) | Render UVW
Template (Визуализировать шаблон с координатами UVW). Откроется окно Render
UVs (рис. 3.160, а), в котором следует задать размеры текстурной карты (в нашем случае 1024×1024 пикселов), а затем нажать внизу кнопку Render UV Template (Показать
текстурную карту). Откроется окно Render Map (Визуализация текстурной карты)
с изображением текстурной карты (рис. 3.160, б).
а
б
Рис. 160. Создание шаблона текстурной карты: а — окно Render UVs;
б — изображение текстурной карты
Нажмите кнопку Save Image (Сохранить изображение)
, расположенную в верхнем
левом углу окна Render Map, и сохраните это изображение на вашем компьютере
в формате JPEG (файл \sceneassets\images\ Duck_UVMap.jpg в папке проекта).
Создание текстуры
Откройте сохраненное изображение в каком-либо графическом редакторе — например,
в программе Photoshop, оно будет служить шаблоном. Сейчас вам следует на шаблоне
текстурной карты либо самостоятельно создать текстуру, которая затем будет наложена
на модель утенка, либо наложить на шаблон заранее заготовленные вами текстуры (на
рис. 3.161 показана текстурная карта Duck_texture.png, созданная в программе Photoshop,
Освещение и материалы
243
которая находятся в папке \sceneassets\images\duck). При создании текстуры не обязательно придерживаться границ сетки развертки, т. к. видимая текстура находится внутри сетки.
Если у вас возникает вопрос о том, какая часть текстурной карты соответствует интересующей вас области модели объекта, то следует снова вернуться в 3ds Max и в окне
Edit UVWs выделить какие-либо грани. Тогда в видовых окнах на трехмерной модели
утенка автоматически выделятся соответствующие грани.
Рис. 3.161. Текстурная карта,
подготовленная в программе Photoshop
Рис. 3.162. Модель утенка
после текстурирования
Сохраните полученное изображение в формате JPEG (файл Duck_texture.png) и для
окончательного текстурирования модели утенка воспользуйтесь файлом, который создали самостоятельно. Обратите внимание: файлом, расположенным в папке этого
упражнения, вам для текстурирования модели своего утенка пользоваться не следует,
поскольку вы могли моделировать несколько иначе.
Вернитесь в 3ds Max и откройте редактор материалов. Создайте физический материал и
для канала Base Color Map назначьте текстуру Duck_texture.png. Перейдите в видовое
окно Perspective и, вращая модель, убедитесь, что текстурная карта назначена модели
объекта.
Текстурирование модели утенка окончено (рис. 3.162). Окончательное решение приведено в файле \scenes\lesson_3.15\Duck_end.max.
Практическая работа
Самостоятельно создайте развертку и текстуру для модели из файла \scenes\practice_3.15\
Dunkey.max.
244
Глава 3
Контрольные вопросы
1. Каковы основные параметры стандартного источника света?
2. Назовите три категории источников света. Чем они различаются?
3. Как подразделяются источники света по направлению излучаемого света?
4. Что такое освещение по умолчанию? Как оно устанавливается?
5. Перечислите типы стандартных источников света. Чем они различаются?
6. Как создаются тени при использовании стандартных источников света?
7. Какие существуют способы создания теней?
8. Какие фотометрические источники света вы можете назвать? Каковы их особенности?
9. В каких единицах измеряется интенсивность света фотометрических источников?
10. Какова сила света в канделах у лампы накаливания мощностью 100 Вт?
11. Как располагаются источники света при трехточечной схеме освещения?
12. Что такое объемное освещение? Как оно создается?
13. Что такое материал?
14. Каковы основные свойства материала?
15. Что определяется параметром Base Color?
16. Чем отличаются параметры Reflection и Transparent?
17. Как задать коэффициент преломления света материалом?
18. Как назначить материал объекту?
19. Какие типы материалов вам известны?
20. Что такое текстурная карта? Чем отличаются двумерные текстурные карты от
трехмерных?
21. Для чего нужны каналы материалов?
22. Как создать материал, соответствующий тонированному стеклу?
23. В каких случаях и как применяют материал Multi/Sub-Object?
24. Как проверить правильность выбора набора полигонов при назначении материала
Multi/Sub-Object?
25. Как применить в качестве материала произвольный графический файл?
26. Для чего и как используется модификатор UVW Map?
27. Как наложить текстуру на объект с учетом ее фактических параметров?
28. Что такое развертка текстуры? Как используется модификатор Unwrap UVW?
29. Для чего служит окно Edit UVWs?
30. От чего зависит точность наложения текстуры при плоскостном проецировании
Flatten Mapping?
ГЛАВА
4
Визуализация сцены и камеры
Установка проекта
В этой главе будем работать с новым проектом 04_project. Вы можете создать свой проект и копировать в него файлы и текстуры из рабочего проекта или установить проект,
предоставленный с электронным архивом к книге в качестве основного. Чтобы установить новый проект, в главном меню выполните последовательность команд File |
Project | Create Default. Далее выберите папку, где будет размещаться проект, и щелкните по Select Folder (Выбрать папку). В выбранной папке будут созданы подпапки
проекта для сцен, визуализации и текстурных карт. При создании нового проекта
обязательно копируйте сцены и текстурные файлы для их корректной загрузки при открытии.
Для установки существующей папки проекта в качестве основного в программе
3ds Max в главном меню выполните команды File | Project | Set Active Project и укажите папку проекта.
Рядом с папкой проекта вы найдете папку 04_video, в которой будут находиться дополнительные видеофайлы к упражнениям.
В папке 04_images находятся цветные иллюстрации к упражнениям.
Глобальное освещение
Глобальное освещение определяет общую освещенность сцены даже при отсутствии
источников света. Для его активации достаточно изменить черный цвет фона, заданный
по умолчанию. Чем он светлее, тем ярче будет освещаться сцена. Глобальное освещение можно представить в виде неба или бесконечного купола над сценой. При использовании визуализаторов ART Renderer, Arnold или V-Ray с включенным глобальным
освещением можно получить мягкие тени. В предыдущей главе во многих сценах было
включено только глобальное освещение.
246
Глава 4
Упражнение № 4-1. Настройка параметров
глобального освещения
Из папки проекта \scenes\lesson_4.1\ откройте сцену Bull.max, изображенную на рис. 4.1.
Освещенность сцены зависит от окружающей подсветки (глобального освещения), не
имеющей источника и управляемой изменением общего уровня освещенности. Настройки глобальной освещенности вызываются командой Rendering (Визуализация) |
Environment (Окружающая среда) (<8>) и находятся в свитке Common Parameters
(Общие параметры) диалогового окна Environment and Effects (Окружающая среда и
эффекты). В области Background задается цвет фона (Color) для всей сцены, он влияет
на освещенность объектов сцены для некоторых визуализаторов. Там же вместо цвета
фона можно назначить ему текстурную карту.
Измените в области Background цвет Color на светло-серый RGB (200, 200, 200) и визуализируйте сцену (рис. 4.2). При установленном визуализаторе Arnold в сцене будет
мягкий свет с размытыми тенями.
Рис. 4.1. Начальная сцена
Рис. 4.2. Установлен светлый фон
Если цвет фона задать отличающимся от серого, то все окружение окрасится в заданный тон. Например, установите в области Background цвет RGB (200, 70, 120) и визуализируйте сцену. В результате все белые объекты окрасятся в цвет фона, а остальным
добавится соответствующий оттенок. Следует учитывать, что чем светлее вы задаете
фон, тем ярче будет визуализация. Измените цвет фона на белый, чтобы создать максимальную освещенность.
Текстурные карты, установленные в области Environment Map (Карта окружения),
также влияют на освещение сцены. Щелкните по кнопке None в области Environment
Map, далее выберите текстуру Bitmap (в нашем примере будем использовать графический файл), затем выберите файл из папки проекта \sceneassets\images\sky.jpg. Визуализируйте сцену, мы увидим установленное фоновое изображение, и оно будет придавать
сцене характерный оттенок (рис. 4.3).
Кроме обычных графических файлов в качестве фона можно загружать файлы HDRI
(изображения высокой контрастности). Кроме цвета эти файлы создают освещение и
могут также выступать в качестве источника света.
В области Environment Map щелкните правой кнопкой мыши по кнопке с установленной текстурой Map #1 (sky.jpg) и выберите опцию Clear (рис. 4.4).
Визуализация сцены и камеры
Рис. 4.3. На фон установлена текстурная карта
247
Рис. 4.4. Сбрасываем фоновую текстурную карту
Снова щелкните по кнопке None, затем выберите опцию Bitmap и на этот раз назначьте
текстурную карту \sceneassets\images\satara_night.exr. Сразу появится окно с настройками карты HDRI, где можно изменить яркость и оттенки. Введите для параметра RGB
Level значение 6.0 и щелкните по кнопке OK (рис. 4.5).
Рис. 4.5. Параметры текстурной карты HDRI
Визуализируйте сцену (рис. 4.6), появится красивое ночное освещение и будет создаваться впечатление, что мы установили источник света.
Рис. 4.6. Результат применения карты HDRI
248
Глава 4
Финальная сцена находится в файле \scenes\lesson_4.2\Bull_end.max.
Другие параметры освещенности сцены задаются в области Global Lighting (Глобальное освещение):
Tint (Цветовой тон) — цвет, который придает основной цветовой оттенок всему
освещению, установленному в сцене;
Level (Уровень) — позволяет повысить или понизить общий уровень освещенности
сцены;
Ambient (Фоновое освещение) — цвет фонового освещения, который в сочетании
с цветовым тоном придает сцене определенный оттенок. Фоновое освещение не
имеет источников и определенного направления. По умолчанию его цвет устанавливается абсолютно черным, и тогда в сцене отсутствует фоновое освещение.
Параметры из области Global Lighting работают только в визуализаторе Scanline
Renderer (один из самых быстрых визуализаторов, но с упрощенной системой расчета
освещения и отражений).
Имитация глобального освещения [17]
При работе с визуализатором Scanline Renderer требуется дополнительно подключать
алгоритмы расчета глобального освещения или создать его иллюзию с помощью фонового. В остальных визуализаторах глобальное освещение уже встроено.
Откройте из папки проекта файл \scenes\lesson_4.1\Imitation.max, содержащий сцену
с грушами, лежащими на столе. Файлы с текстурными картами для этого примера находятся в папке \sceneassets\images\. Активизируйте вид в перспективе и визуализируйте сцену (можно просто нажать клавишу <F9>). В сцене установлен визуализатор
Scanline Renderer. Лучи света от основного источника освещения в этой сцене распространяются справа налево, в результате чего левая сторона груш получается очень темной.
Выберите из главного меню команду Rendering (Визуализация) | Environment (Окружающая среда). Щелкните мышью на образце цвета Ambient (Фоновое освещение)
и в открывшемся окне выбора цвета установите его значение в поле Value равным 200.
Снова визуализируйте сцену. Вся сцена станет светлее, но освещена она слишком ровно и выглядит малоконтрастной.
Можно попробовать осветлить всю сцену, изменив другие параметры глобального
освещения: Tint (Цветовой тон) и Level (Уровень). Однако параметр Tint уже определяет самое яркое освещение, а увеличение значения Level приводит к слишком сильному повышению контрастности изображения.
Верните свет Ambient к исходному черному, установив нулевое значение в поле Value
окна выбора цвета. Перейдите в окно Front и выделите источник света в левой стороне
видового окна (объект Spot02). Перейдите на вкладку Modify
и в свитке General
Parameters (Общие параметры) установите для Light Type (Тип источника света) флажок On (Включить), чтобы активизировать выбранный источник света.
Откройте окно вида в перспективе, а затем вновь визуализируйте сцену. Теперь, когда
для освещения используется вспомогательный источник света, сцена выглядит намного
реалистичнее, чем раньше (рис. 4.7).
Визуализация сцены и камеры
249
Рис. 4.7. Применен вспомогательный источник света
Общие параметры визуализации
По умолчанию 3ds Max 2022 подключает визуализатор Scanline Renderer (Визуализация методом построчного сканирования), который с помощью программы Raytracing,
выполняющей расчет параметров сцены и формирующей окончательное изображение,
реализует метод трассировки лучей. Перейдем к рассмотрению технологии практического использования этого визуализатора.
Параметры визуализации настраиваются в диалоговом окне Render Setup (Настройка
параметров визуализации). Чтобы его открыть, щелкните мышью на команде Rendering
главной панели инструментов — откроется окно, содержащее пять вкладок (рис. 4.8, а).
Состав и количество вкладок этого окна изменяются в зависимости от того, какой
визуализатор выбран для текущей работы. Чтобы назначить конкретный визуализатор,
из выпадающего списка Renderer окна Render Setup выберите визуализатор Scanline
, котоRenderer (рис. 4.8, б). В верхней части окна Render Setup имеется кнопка
рая запускает процесс визуализации сцены.
а
б
Рис. 4.8. Верхняя часть диалогового окна Render Setup
Общие параметры визуализации задаются в свитке Common Parameters (Общие параметры) (рис. 4.9), открываемом щелчком на вкладке Common (см. рис. 4.8, а):
в области Time Output (Выходные настройки диапазона) этого свитка (см. рис. 4.9, а)
указывается диапазон кадров, которые предстоит визуализировать: можно визуали-
250
Глава 4
зировать текущий кадр (Single), диапазон кадров (Range) или, установив переключатель в положение Frames (Кадры), ввести номера вручную. При создании анимации можно воспользоваться также вариантом Active Time Segment (Активный временной сегмент);
а
б
Рис. 4.9. Свиток Common Parameters: общие параметры визуализации
в области Output Size (Настройки размера кадра) назначаются размер и разрешение
выходного изображения;
если в области Options (Опции) установить флажки Atmospherics (Атмосферные
явления) и Effects (Эффекты), то программа будет учитывать эти эффекты в сцене.
Установка флажка Force 2-Sided (Отображать обе стороны) в той же области
заставляет модуль визуализации отображать обе стороны поверхностей. Например,
на рис. 4.10, а показано изображение с выключенной командой Force 2-Sided, а на
рис. 4.10, б эта команда была активизирована;
а
б
Рис. 4.10. Особенности применения команды Force 2-Sided: а — выключена; б — включена
Визуализация сцены и камеры
251
в области Render Output (Вывод результатов визуализации) нажатием на кнопку
Files (см. рис. 4.9, б) можно определить тип сохраняемого файла (анимация, графическое изображение), а также его расположение и название.
Упражнение № 4-2. Визуализатор Arnold.
Начнем с простого
Уже из версии программы 3ds Max 2018 был удален визуализатор mental ray и вместо
него добавлен визуализатор Arnold, хорошо зарекомендовавший себя в производстве
кинофильмов, на телевидении и в анимации. Визуализатор mental ray может попрежнему использоваться совместно с 3ds Max, однако он уже не входит в его стандартную поставку и должен приобретаться отдельно.
При инсталляции 3ds Max 2022 Arnold устанавливается автоматически. Чтобы выбрать
Arnold в качестве визуализатора, раскройте панель Rendering | Render Setup и из
выпадающего списка Renderer выберите пункт Arnold (рис. 4.11).
Рис. 4.11. Выбор визуализатора Arnold
Откройте из папки этого упражнения файл \scenes\lesson_4.2\Less.max и на главной панели инструментов щелкните кнопку Render Production
— вы получите первую
визуализацию созданной сцены с физическими материалами, присвоенными всем объектам (рис. 4.12). При этом полезно получать предупреждения о возможных ошибках
визуализации. Для этого в главном меню программы выполните команду Rendering |
Render Message Window — откроется окно с возможными ошибками, возникшими при
визуализации. Чтобы это окно открывалось каждый раз при появлении ошибки, в его
нижней части поставьте флажок Open on Error.
Установка материалов
Откройте редактор материалов Slate Material Editor. В нем отобразятся только физические материалы — три материала: для сферы, цилиндра и фоновых поверхностей,
а также материал для статуэтки. Физические материалы универсальны, поддерживаются
во всех установленных по умолчанию визуализаторах, однако лучше всего применять
252
Глава 4
Рис. 4.12. Визуализация сцены с физическими материалами
специальные материалы, разработанные под конкретный визуализатор. Удалите все
старые материалы. Щелкните в редакторе материалов правой кнопкой мыши и из набора материалов программы Arnold | Surface создайте материал типа Standard Surface,
как показано на рис. 4.13, а. Всего создайте три таких материала (рис. 4.13, б). Первый
из них назовите gray и назначьте его трем фоновым плоскостям и цилиндру. Второй
материал назовите cyan и назначьте его сфере, третий материал назовите gold и назначьте статуэтке.
а
б
Рис. 4.13. Создание материала Standard Surface: а — опции меню; б — три созданных материала
В окне Slate Material Editor в рабочей области щелкните по материалу gray. Справа
отобразятся его настройки. В свитке Base (рис. 4.14) щелкните в поле с обозначением
цвета и в открывшемся окне Color Selector установите цвет со значениями (0.75, 0.75,
0.75). Значение параметра Base Color установите равным 0.8. Для материала cyan
назначьте цвет (0.7, 0.9, 0.9), для gold — цвет (0.82, 0.73, 0.5).
Визуализация сцены и камеры
253
Рис. 4.14. Настройка параметров цвета
Установка источников света
На командной панели перейдите на вкладку Create
, щелкните по иконке Lights
и из списка категорий источников света выберите Arnold. Чуть ниже будет отображен
источник света Arnold Light. Установите в сцене два источника света типа
в свитке Shape задайте тип их форArnoldLight (рис. 4.15, а) и на вкладке Modify
мы — Quad (Прямоугольный) (рис. 4.15, б). Данные источники являются направленными, и поэтому в свитке General появится флажок у слова Targeted (Направленный).
Разверните источники в сторону главной фигуры в сцене.
а
б
Рис. 4.15. Настройка источников света
Чтобы можно было в видовом окне видеть прямоугольную форму источников света,
в этом же свитке установите для них флажок Always Visible in Viewport. По умолчанию в Arnold задано квадратичное затухание света, что позволяет получать более реалистичные изображения сцен.
Теперь нужно правильно установить освещенность сцены. Для этого выберите источв свитке Color | Intensity
ник света ArnoldLight001 (рис. 4.16) и на вкладке Modify
установите для него значения Intensity = 4 и Exposure = 12. Для источника света
254
Глава 4
ArnoldLight002 аналогично
установите значения Intensity = 1 и Exposure = 10. Как видите, интенсивность света можно регулировать одновременно с помощью двух параметров, при этом параметр Exposure значительно сильнее меняет интенсивность освещения. Целесообразно сначала приблизительно настроить интенсивность освещения с помощью параметра Exposure, а затем окончательно отрегулировать освещенность
посредством параметра Intensity. Однако можно ограничиться и только одним из этих
параметров.
Рис. 4.16. Настройка интенсивности
источника света ArnoldLight001
Рис. 4.17. Визуализация сцены с материалами
визуализатора Arnold
Если у источников света в свитке Shape увеличить размеры прямоугольника, излучающего свет (параметры Quad X и Quad Y), то можно получить более мягкие тени. Увеличение значения параметра Samples в свитке Rendering уменьшает шум в области
теней.
(рис. 4.17). Этому состояВизуализируйте сцену, нажав кнопку Render Production
нию сцены соответствует файл \scenes\lesson_4.2\Less_end.max. В сцене присутствуют
размытые тени, отражения и световые блики.
Если сцена окажется слишком темной или светлой, то для источников света следует
соответствующим образом подобрать значения параметров Intensity и Exposure. Еще
один способ изменить освещение сцены — открыть окно Environment and Effects
и изменить значение параметра Color в разделе Background.
Упражнение № 4-3. Настройки
визуализатора Arnold и его компоненты
При выборе Arnold в качестве визуализатора его глобальные настройки открываются
в окне Render Setup. Оно содержит несколько вкладок (рис. 4.18).
Common — предоставляет доступ к выходным драйверам программы, эта вкладка
общая для всех визуализаторов.
Визуализация сцены и камеры
255
Рис. 4.18. Вкладки с глобальными настройками Arnold
System — содержит настройки, связанные с визуализацией на графическом и цен-
тральном процессоре, распределением памяти, а также настройки лицензии.
Arnold Renderer — содержит параметры, которые управляют качеством визуализа-
ции, источниками света, размытием движений и т. д. Она включает несколько свитков и будет интересовать нас больше всего. На рис. 4.19 приведены общие параметры свитка Sampling and Ray Depth вкладки Arnold Renderer.
Рис. 4.19. Общие параметры свитка Sampling and Ray Depth
Рассмотрим параметры этого свитка из области Samples:
Preview (AA) — служит для настройки предварительной визуализации сцены и мо-
жет принимать значения от –5 до 0. Значение –5 соответствует самому низкому
качеству, значение 0 — наилучшему качеству визуализации и наибольшим затратам
времени на предварительную визуализацию;
Camera (AA) — определяет количество лучей, исходящих из камеры на каждый
пиксел в сцене, и изменяется в пределах от –3 до 100. Чем больше это значение, тем
выше качество рендеринга и, естественно, тем больше время визуализации. Точное
значение количества лучей, приходящихся на каждый пиксел, равно квадрату значения этого параметра. Например, для параметра Camera (AA) значение Samples = 3
означает 9 семплов на пиксел. На практике значения 4 вполне достаточно для получения изображений среднего качества. Следует также иметь в виду, что при увеличении значения этого параметра следует уменьшать значения семплов для параметров Diffuse и Specular, иначе время визуализации сцены станет очень большим. Дело в том, что при увеличении значения параметра Camera (AA) значения всех
256
Глава 4
остальных параметров, расположенных ниже (Diffuse, Specular и т. д.), умножаются
на это значение. Поэтому нужно определить, какой из остальных параметров для вас
важнее, и увеличивать только его значение;
Diffuse — увеличение числа семплов для этого параметра позволяет уменьшить
шум от освещения отраженным светом. Чтобы убедиться в том, что шум происходит от освещения отраженным светом, рекомендуется установить значение этого
параметра равным нулю и проверить результат визуализации;
Specular и Transmission — увеличение числа семплов для этих параметров также
дает лучший результат для получения зеркальных отражений и преломлений. Если
по отдельности задать эти значения равными нулю и справа от них установить значения параметров Ray Depth также равными нулю, то можно выяснить, влияют ли
эти параметры на уровень шума на изображении;
SSS (SubSurface Scattering, подповерхностное рассеивание) — отвечает за шум, по-
лучаемый за счет прямого и отраженного освещения. Чтобы устранить этот тип
шума, можно попробовать увеличить число семплов для параметра Camera (AA) и
уменьшить число семплов для параметров Specular, Diffuse и SSS. Можно сделать
иначе: не меняя числа семплов для параметра Camera (AA), увеличить число семплов для параметров Specular и Diffuse;
значение параметра Ray Depth для параметра Volume Indirect желательно задавать
не менее 1, поскольку установка его в нуль отключает освещение отраженным светом.
Параметры свитка Sampling and Ray Depth в области Ray Depth определяют число
отскоков лучей света при вычислении соответствующих составляющих освещения. Чем
больше это число, тем выше качество тех составляющих освещения, к которым это
значение относится. Значение, равное нулю, полностью отключает вклад составляющей
в освещение сцены. Для среднего качества визуализации обычно достаточно задавать
эти значения равными 2 или 3. Большие значения этого параметра существенно сказываются на времени расчетов.
В области Depth Limits параметр Ray Limit Total устанавливает верхнюю суммарную
границу для числа отскоков, задаваемых для параметров Diffuse, Specular и Transmission, — она не должна превышать значения параметра Ray Limit Total (рис. 4.20).
Значение параметра Transparency Depth определяет число отскоков, используемых
при вычислении прозрачности объекта. Если значение этого параметра и параметра
Ray Limit Total одновременно равны нулю, то объект станет непрозрачным.
Параметр Low Light Threshold ограничивает вычисление отскоков, если вклад составляющей в результирующее освещение не превышает заданного значения. Например,
если установить значение этого параметра равным единице, то Arnold прекратит трассировку лучей, вклад которых в результирующее изображение будет меньше единицы.
Благодаря этому могут сокращаться затраты на вычисления.
На вкладке Arnold Renderer в свитке Filtering среди большого числа фильтров, перечисленных в выпадающем списке Type, полезными могут оказаться фильтры Gaussian
со значением параметра Width = 2 и Blackman-Harris (рис. 4.21).
Фильтр Gaussian с Width = 2 слегка размывает изображение, но картинку можно сделать более резкой, если задать меньшее значение параметра Width. Чем больше это
Визуализация сцены и камеры
Рис. 4.20. Установка верхнего числа отскоков
257
Рис. 4.21. Назначение фильтра
значение, тем более размытым получается изображение (рис. 4.22). Этим состояниям
сцены соответствует файл \scenes\lesson_4.3\Gaussian.max.
Фильтр Blackman-Harris размывает изображение несколько иначе. При этом большее
значение его параметра Width сильнее сглаживает изображение.
а
б
Рис. 4.22. Фильтр Gaussian: а — Width = 1; б — Width = 10
Источники света и камеры
визуализатора Arnold
В визуализаторе Arnold имеется только один тип источников света — Arnold Light.
Характер освещения, создаваемого этим источником, определяется типом его формы.
Рассмотрим некоторые формы источников света визуализатора Arnold (все они приведены на рис. 4.23).
Источник типа Quad, которым мы пользовались в Упражнении № 4-2, имитирует
свет, исходящий из некоторой четырехугольной области, и может применяться,
например, для освещения сцены из окна. Он имеет собственные параметры, показанные на рис. 4.24.
Свет от этого источника распространяется вдоль нормали к области, задаваемой
параметрами Quad X и Quad Y. При значении параметра Spread (Рассеяние), равном 1, свет равномерно рассеивается источником света. При уменьшении этого значения пучок света сужается, постепенно превращаясь в луч лазера.
258
Глава 4
Рис. 4.23. Типы источников света
Cylinder — этот источник определяется значениями двух параметров: Radius (Ра-
диус) и Height (Высота). Он удобен для имитации освещения удлиненными источниками, например лампами дневного света. Чем больше радиус этого источника,
тем мягче будут получаемые от него тени.
Distant — удаленный источник параллельного пучка света, который часто исполь-
зуется для имитации солнечного освещения. У него имеется только один собственный параметр — Angle (Угол), измеряемый в градусах. Чем больше его значение, тем
мягче будут тени от этого источника: при значении Angle = 0 они станут резкими,
а при значении Angle = 5 станут значительно мягче (рис. 4.25). Этому состоянию
сцены соответствует файл \scenes\lesson_4.3\Distant.max из папки проекта.
Рис. 4.24. Параметры
источника света типа Quad
Рис. 4.25. Освещение источником типа Distant: Angle = 5
Point — представляет собой светящуюся сферическую поверхность с параметром
Radius.
Skydome — имитирует свет, исходящий из полусферы, представляющей собой
небо. Чаще всего используется для освещения экстерьеров.
Spot — имитирует освещение в виде конуса. Его свет распространяется от источни-
ка в указанном направлении (рис. 4.26, а). Источник имеет несколько собственных
параметров (рис. 4.26, б). Показанному на рис. 4.26, а состоянию сцены соответствует файл \scenes\lesson_4.3\Spot.max из той же папки.
Визуализация сцены и камеры
а
259
б
Рис. 4.26. Освещение сцены источником типа Spot (а) и его параметры (б)
Рассмотрим подробнее значения параметров этого источника:
• большее значение параметра Radius смягчает тени от источника;
• значение параметра Cone Angle определяет размеры конуса (в градусах), в пределах которого будет распространяться освещение;
• при значении параметра Lens Radius, отличном от нуля, конус становится усеченным. Таким образом можно имитировать, например, свет, исходящий из
параболического рефлектора;
• параметр Penumbra Angle определяет угол в градусах от внешней стороны конуса в сторону его оси — в пределах этого угла интенсивность света спадает до нуля на внешней стороне конуса;
• при значении параметра Aspect Ratio = 1 поток света имеет круговое сечение.
Чем меньше это значение, тем больше поток света приобретает эллиптическую
форму;
• при значении параметра Roundness = 1 падающий свет имеет форму диска, а при
уменьшении этого значения до нуля диск постепенно превращается в квадрат
с прямыми углами (рис. 4.27, а). Показанному на рис. 4.27, а состоянию сцены
соответствует файл \scenes\lesson_4.3\SpotAspect.max.
а
б
Рис. 4.27. Вариант освещения сцены источником типа Spot (а) с другими параметрами (б)
260
Глава 4
В 3ds Max 2022 визуализатор Arnold поддерживает четыре типа камер. Предпочтительной является камера VR Camera. Уровень поддержки камеры зависит от используемого визуализатора — это касается и визуализатора Arnold. Поэтому в видовых
окнах не исключаются некоторые искажения изображений и отсутствие их размытия.
Материалы визуализатора Arnold
Визуализатор Arnold поддерживает физические материалы (Physical Material) программы 3ds Max, преобразуя их в материалы типа Standard Surface версии 3ds Max
2022. Поддерживаются также материалы Multi/Sub-Object, Blend и Double Sided. Остальные типы материалов 3ds Max не поддерживаются. Чтобы обойти это ограничение,
можно воспользоваться модулем Scene Converter, который преобразует остальные материалы в физические.
Наряду с этим Arnold имеет свои собственные материалы — часть их показана на
рис. 4.28. Остановимся на некоторых материалах, рассмотрев отдельные их параметры.
Рис. 4.28. Материалы визуализатора Arnold
Наиболее часто используемый материал визуализатора Arnold — Standard Surface
(см. рис. 4.28). Он позволяет имитировать многие типы материалов. По умолчанию он
подходит для таких материалов, как пластик, дерево и камень. Однако путем соответствующих настроек из него можно создавать материалы различных типов: металлы (золото, серебро, медь, автомобильные краски), полупрозрачные среды (стекло, вода,
мед), материалы с подповерхностным отражением (кожа, мрамор, воск), тонкостенные
(бумага, листва, мыльные пузыри). Материал Standard Surface содержит большое число настроек, размещаемых в нескольких свитках (рис. 4.29).
Параметры свитка Coat (Облицовка) (рис. 4.30) служат для придания материалу
окончательного внешнего вида и превалируют над всеми другими свойствами как
внешний слой. Отражение от облицовки определяется ее заданной шероховатостью
(Roughness). Параметр Roughness (Шероховатость) из области Clearcoat управляет
степенью размытости светового блика: чем меньше это значение, тем более резким
становится отражение. Параметр IOR определяет коэффициент преломления материала по Френелю, который тесно связан со свойством отражения материала.
Визуализация сцены и камеры
Рис. 4.29. Свитки параметров
материала Standard Surface
261
Рис. 4.30. Параметры свитка Coat
В примере, показанном на рис. 4.31 (файл \scenes\lesson_4.3\Coating.max), в свитке
Base для первой вазы vase1 (рис. 4.31, а) параметру Base Color был установлен зеленый цвет и значение интенсивности этого же параметра 0.8. Для объекта vase2
(рис. 4.31, б) в свитке Coat для параметра Clearcoat, равного 0.7, был установлен
синий цвет. В результате зеленый цвет вазы смешался с синим цветом и приобрел
новый оттенок. Для первых двух ваз параметр IOR был равен 1.5. Для третьей вазы
vase3 (рис. 4.31, в) увеличено значение IOR = 4 в свитке Coat, в результате, на вазе
появились отражения желтого цвета от стола, и она стала больше походить на хромированную поверхность.
Рис. 4.31. Влияние параметров свитка Coat
В свитке Base материала Standard Surface значение параметра Base Color определяет степень воздействия заданного цвета на результирующий цвет поверхности.
При значении Base Color = 0 базовый цвет никак не воздействует на окончательный
цвет поверхности — она становится черной и подсвечивается цветом, установлен-
262
Глава 4
ным в свитке Coat. Так, изображение вазы vase4 (рис. 4.31, г) получено при значениях, соответствующих изображению на рис. 4.31, в, но параметр Base Color равен
нулю.
Этому состоянию сцены соответствует файл \scenes\lesson_4.3\Coating.max.
Параметр Roughness свитка Base отвечает за степень размытости отражений на поверхности. Чем больше это значение, тем более размытыми становятся такие отражения. Параметр Indirect Diffuse определяет степень освещения отраженным светом (рис. 4.32).
Рис. 4.32. Параметры свитка Base
Рис. 4.33. Параметры свитка Specular
Параметры свитка Specular (рис. 4.33) управляют степенью отражений и зеркаль-
ных бликов на поверхности объекта:
• параметр General определяет степень отражений на поверхности объекта;
• параметр Roughness устанавливает степень размытия зеркального отражения;
• параметр IOR определяет коэффициент преломления материала по Френелю;
• при значениях параметров Metalness = 1 и Roughness = 0 поверхность выглядит
как металлическая. При этом следует устанавливать значения параметров Base
Color и Specular Color, соответствующие свойствам различных металлов.
В табл. 4.1 приведены рекомендуемые значения этих параметров для получения
некоторых металлических поверхностей.
Таблица 4.1. Параметры металлических поверхностей
Материал
Base Color
Specular Color
Алюминий
0,912 0,914 0,920
0,970 0,979 0,988
Медь
0,926 0,721 0,504
0,996 0,957 0,823
Золото
0,944 0,776 0,373
0,998 0,981 0,751
Никель
0,649 0,610 0,541
0,797 0,801 0,789
На рис. 4.34, а приведены настройки, соответствующие параметрам меди, а на
рис. 4.34, б показано, как будет выглядеть чайник с такими настройками (им соответствует файл \scenes\lesson_4.3\Copper.max). В сцене использован один источник
света Arnold Light типа Quad.
Визуализация сцены и камеры
263
а
б
Рис. 4.34. Медный чайник и его настройки: а — параметры свитка Base; б — внешний вид объекта
В свитке Transmission (рис. 4.35) устанавливается степень прозрачности объекта.
Если открыть файл \scenes\lesson_4.3\Copper.max и для материала чайника (материал
Teapot) в свитке Specular установить значение параметра Metalness = 0, а в свитке
Transmission установить значение одноименного параметра равным 1, то чайник
станет прозрачным с преломлениями света внутри чайника, за которые отвечает параметр IOR = 1.52 в свитке Specular. Отражения на поверхности чайника определяются значением параметра General и его цветом в этом же свитке (рис. 4.36).
[
Рис. 4.35. Свиток Transmission
Рис. 4.36. Параметры материала Teapot
в свитке Specular
Вид чайника с преломлениями света на его поверхности показан на рис. 4.37, а (ему
соответствует файл \scenes\lesson_4.3\Copper_transmission.max. Изображение, показанное
на рис. 4.37, б, получено при значении параметров IOR = 1, а в свитке Transmission
параметру General присвоено значение, равное 0.9. Как можно видеть, преломления
здесь полностью отсутствуют.
Материал Lambert — это еще один собственный материал визуализатора Arnold, он
самый простой, и на нем не бывает бликов. Цвет Opacity чисто белый — полностью
непрозрачен, черный — полностью прозрачен. При Diffuse = 0 свет от объекта не
рассеивается, и объект выглядит черным. Чем больше значение этого параметра, тем
сильнее происходит отражение цвета Color от объекта (0 ≤ Diffuse ≤ 10). На рис. 4.38, а
264
Глава 4
а
б
Рис. 4.37. Преломления света на чайнике: а — IOR = 1.52; б — IOR = 1
а
б
Рис. 4.38. Применение материала Lambert
Рис. 4.39. Собственные материалы визуализатора Arnold
Визуализация сцены и камеры
265
показаны параметры материала Lambert, при которых получено изображение, приведенное на рис. 4.38, б (ему соответствует файл \scenes\lesson_4.3\Lambert.max). В качестве источника света выбран источник типа Point.
Существует также библиотека собственных материалов визуализатора Arnold. На
рис. 4.39 показаны материалы, содержащиеся в этой библиотеке.
Здесь вы можете увидеть готовые материалы для керамики (Ceramic), хрома (Chrome),
меда (Honey) и пр. Все они построены на базе материала Standard Surface.
Упражнение № 4-4.
Текстурные карты визуализатора Arnold
Список текстурных карт, непосредственно реализованных в Arnold, весьма ограничен,
однако это не исключает возможности применения других текстурных карт 3ds Max.
Выбор конкретных текстурных карт путем обращения к Bitmap практически ничем
не ограничен. Для этого в окне редактора материалов Slate Material Editor следует
выбрать команду Maps | General | Bitmap.
Текстурные карты и материалы, подключаемые в режиме совместимости, иногда могут
не раскрыться в окне Slate Material Editor. В этом случае можно в заголовке панели
(рис. 4.40) и в выпадающем списке
Material/Map Browser щелкнуть на стрелке
установить флажок у строки Show Incompatible.
Рис. 4.40. Раскрытие списка материалов и текстурных карт
Откройте файл \scenes\lesson_4.4\Box.max из папки проекта. В сцене задействованы текстурная карта из файла \sceneassets\images\BoxNew.jpg и источник света Sky001. В качестве визуализатора используется Scanline Renderer. На нижнюю плоскость текстурная
карта не наложена. Наша задача заключается в том, чтобы преобразовать настройки
в этой сцене таким образом, чтобы ее можно было визуализировать с помощью визуализатора Arnold.
В окне Render Setup в качестве визуализатора установите Arnold. Откройте редактор
материалов Slate Material Editor и на главной панели инструментов выполните команду Material | Get All Scene Materials — в окне появится материал, используемый
в сцене (рис. 4.41).
Это физический материал, присвоенный коробке. Он использует карту Bitmap. Для ее
применения совместно с Arnold никакие изменения не требуются. Однако материал
Physical material следует заменить на материал визуализатора Arnold. Поэтому в окне
Slate Material Editor отсоедините текстурную карту от материала, потянув за конечный узел в любой свободное пространство в рабочей области (см. видео \Lesson_4.4\
Disconnect_map.mp4). Затем щелкните правой кнопкой мыши по шапке материала и
266
Глава 4
в контекстном меню выберите опцию Change Material/Map Type (Изменить тип материала/текстурной карты) и выполните команды Material | Arnold | Surface | Standard
Surface визуализатора Arnold. Соедините карту Map #2 с каналом Base Color материала Standard Surface (рис. 4.42).
Рис. 4.41. Открытие материала сцены
Рис. 4.42. Создан материал Standard Surface
Рис. 4.43. Применение
режима совместимости
В сцене, как отмечалось ранее, также использован источник света Sky001 — удалите его
и добавьте источник света Arnold Light с типом Skydom визуализатора Arnold. Настройте яркость источника.
К плоскости, на которой стоит коробка, примените материал Standard Surface и для
канала Base Color назначьте текстурную карту Checker с числом повторений вдоль
осей Tiling = 4. Визуализируйте сцену (рис. 4.43). Такому состоянию сцены соответствует файл \scenes\lesson_4.4\Box_end.max.
Визуализация сцены и камеры
267
Упражнение № 4-5. Создание преломлений
Откройте из папки этого упражнения файл \scenes\lesson_4.5\Oil.max — в нем уже установлен визуализатор Arnold и два источника света: ArnoldLight001 типа Point и
ArnoldLight002 типа Quad (рис. 4.44).
Настроим для бутылочек прозрачный материал. Откройте редактор материалов Slate
Material Editor и раскройте параметры материала Glass1 (он присвоен бутылочкам).
В свитке Transmission установите значение параметра General = 0.8.
Рис. 4.44. Объекты непрозрачны
Откройте окно Rendering | Render Setup и в нем раскройте вкладку Arnold Rederer.
Чтобы улучшить качество визуализации сцены, в свитке Sampling and Ray Depth
в области General установите глобальные настройки, как показано на рис. 4.45. Результат визуализации приведен на рис. 4.46.
В редакторе материалов выберите материал Oil1 — он присвоен объектам Object01 и
создающим модель жидкости в бутылочках. В свитке Specular задайте значе-
Object02,
Рис. 4.45. Установлены глобальные настройки
для сцены
Рис. 4.46. Бутылочки стали прозрачными
268
Глава 4
ния параметров General = 0.5 и IOR = 1.46. Последнее значение соответствует коэффициенту преломления оливкового масла, который чуть больше, чем у воды (1,333).
Осталась проблема с тенями. Свет проникает через стекло и жидкость, однако маслины
в бутылочках оказались неосвещенными, и тень от них на столе отсутствует. Это связано с тем, что материалы стекла и жидкости не сделаны прозрачными.
В редакторе материалов снова выберите материал Oil1 и в свитке Transmission установите значение параметра General = 0.8. Визуализируйте сцену. Теперь тени станут
светлее, стеклянные бутылочки и жидкость — прозрачными, и на столе появятся отражения маслин.
Придадим жидкости желтоватый оттенок. Для этого перейдите к редактированию материала Oil1. Задайте значения параметра Base Color, например, равными (1.0, 0.89,
0.66), что соответствует желтоватому цвету. В результате жидкость приобретет цвет
оливкового масла. Оливкам (материал Olive1) присвойте темный цвет. Этому состоянию сцены (рис. 4.47) соответствует файл \scenes\lesson_4.5\Oil_end.max. Текстурная
карта wood-dark.jpg к этому упражнению находится в папке \sceneassets\images\.
Рис. 4.47. На столе появились отражения маслин
Упражнение № 4-6. Конвертация
из mental ray в Arnold
П РИМЕЧАНИЕ
Как уже отмечалось ранее, визуализатор mental ray может по-прежнему использоваться
совместно с 3ds Max, однако он уже не входит в стандартную поставку программы и должен приобретаться отдельно.
Если у вас имеются файлы, созданные с применением визуализатора mental ray или
любого другого визуализатора, который не поддерживается в вашей установленной
версии программы 3ds Max, или вы просто хотите преобразовать один тип материалов
в другой, можно использовать конвертер сцены. Он преобразует все неизвестные материалы в материал, указанный в настройках конвертера. Но следует учитывать, что по-
Визуализация сцены и камеры
269
сле преобразования всегда требуется доработка в настройках текстурных карт, свойств
материалов и источников света.
В программе 3ds Max 2022 откройте из папки проекта файл \scenes\lesson_4.6\
Grammophon.max, созданный для визуализации с использованием mental ray. Появятся
ошибки, связанные с отсутствием плагина mentalray.dll (рис. 4.48).
Далее появится окно с информацией о том, что сцена содержит обращение к визуализатору mental ray, и, чтобы совместить ее с 3ds Max 2022, необходимо внести некоторые
изменения (рис. 4.49). Обязательно выключите опцию Automatically remove missing
legacy assets on File Open (Автоматически удалить отсутствующие устаревшие компоненты при открытии файла), т. к. в противном случае все материалы из сцены будут
удалены.
Рис. 4.48. Ошибки из-за отсутствия визуализатора mental ray
Рис. 4.49. Предупреждение об использовании устаревших материалов и объектов
Щелкните на кнопке OK, и сцена будет загружена в 3ds Max 2022. Откройте редактор
материалов (рис. 4.50). Сцена содержит материал для граммофона MultiSub-Object,
состоящий из пяти подматериалов типа Arch&Design, однако вместо него вы увидите
Missing Mtl, т. к. из-за отсутствия mental ray программа не знает о существовании
материала Arch&Design. В сцене также есть два фотометрических источника света.
В окне Render Setup установите в качестве визуализатора Arnold, сразу появятся сообщения о неизвестном материале, и при визуализации вы увидите черные объекты.
270
Глава 4
Рис. 4.50. Материалы, присутствующие в сцене
Выполните команду Rendering | Scene Converter. В открывшемся окне (рис. 4.51) по
умолчанию установлен вариант конвертации ART. Он хорошо подходит в нашем случае и гарантирует полную совместимость с Arnold — исходные материалы будут конвертированы в физические материалы, а источники света — в фотометрические источники света, совместимые с Arnold. Щелкните кнопку Convert Scene (Конвертировать
сцену), чуть ниже в области Conversion progress будет отображаться процесс конвертации, после надписи Conversion Complete закройте окно (см. видео \Lesson_4.6\Scene_
converter.mp4).
Рис. 4.51. Фрагмент окна Scene Converter
Если снова открыть редактор материалов, то будет видно, что вместо отсутствующего
материала Missing Mtl появятся физические материалы, совместимые с большинством
визуализаторов, включая Arnold (рис. 4.52).
Проверьте, чтобы в окне Render Setup был установлен визуализатор Arnold (при конвертации он может замениться на ART Renderer). Теперь работу можно продолжить
с этим визуализатором, однако могут потребоваться еще некоторые изменения. Результат визуализации сцены без дополнительных доработок показан на рис. 4.53. Этому ее
состоянию соответствует файл \scenes\lesson_4.6\Grammophon_converted.max.
Визуализация сцены и камеры
271
Рис. 4.52. Материалы типа Arch&Design конвертированы в Physical Material
Рис. 4.53. Визуализация без доработок
Настройка физических материалов
Визуализируйте вид из камеры, чтобы получить результат. Визуализация должна пройти нормально, однако могут потребоваться некоторые более тонкие настройки. Несмотря на то что материалы mental ray были конвертированы в физические, текстурные карты потеряли связь с каналами материала.
Изменим материалы граммофона. В окне Slate Material Editor в главном меню выберите опцию Material | Get All Scene Materials (Получить все материалы сцены), потом
272
Глава 4
откройте параметры материала, входящего в первый слот главного материала Multi/
Sub-Object (рис. 4.54).
Найдите в рабочей области редактора материала текстурную карту Map #9 с загруженной текстурой развертки граммофона. Соедините текстурную карту с каналом Base
Color выбранного материала (рис. 4.55).
Рис. 4.54. Выбран первый подматериал граммофона
Рис. 4.55. Текстурная карта соединена с каналом Base Color
Аналогично соедините текстурную карту Map #9 с остальными подматериалами
(рис. 4.56).
На панели инструментов редактора материалов выберите инструмент Pick material
и щелкните по поверхности пола, чтоfrom Object (Показать материал из объекта)
бы быстро найти материал, назначенный на окружение. Выделите найденный материал.
В параметрах материала в свитке Presets раскройте список предварительных настроек,
выберите вариант Matte Plastic и сразу измените цвет материала на светлый вместо
желтого.
Визуализируйте сцену после настроек материалов (рис. 4.57). Граммофон будет выглядеть достаточно темным, т. к. два источника света в сцене очень слабые и практически
не светят.
Визуализация сцены и камеры
273
Рис. 4.56. Текстурная карта назначена на все подматериалы граммофона
В главном меню выберите Tools | Light Lister. В колонке Intensity задайте яркость
первого источника света Light1 равную 700, второго Light2 — 80.
Результат выполненных настроек показан на рис. 4.58. Такому состоянию сцены соответствует файл Grammophon_end.max.
Рис. 4.57. Визуализация
после настроек материалов
Рис. 4.58. Визуализация после настроек
источников света
Упражнение № 4-7. Камеры
Типы камер
При видеосъемке положение точки, из которой ведется наблюдение, может изменяться.
В 3ds Max подобный эффект можно создать при помощи объектов типа Cameras (Ка-
274
Глава 4
меры)
. Они предназначены для того, чтобы менять положение точки съемки в виртуальном пространстве. Виртуальная камера выполняет ту же функцию, что и настоящая, — она фиксирует все то, что попадает в ее объектив. Но, в отличие от настоящей,
виртуальная камера — это вспомогательный объект, который не виден в трехмерной
сцене. Вы можете использовать несколько камер и последовательно переключаться
между ними. Камеры можно анимировать и в результате получать динамическую съемку, которая ведется из перемещающейся точки. В 3ds Max 2022 предусмотрены стандартные камеры трех типов: Target (Направленная камера), Free (Свободная камера)
и Physical (Физическая).
Откройте из папки этого упражнения файл \scenes\lesson_4.7\Camera.max. Создайте
камеру типа Target. Для этого перейдите на вкладку Create
командной панели и в
категории Cameras
| Standard нажмите кнопку Target. Затем в окне Front щелкните мышью слева от объекта и, не отпуская кнопки мыши, протяните курсор в направлении центра сцены, чтобы расположить там Target — цель камеры. Назовите эту камеру
TarCam. Обратите внимание, что при перемещении камеры TarCam положение цели остается неизменным, — такие камеры удобны в тех случаях, когда требуется привязать
направление камеры к какому-либо объекту.
командной панели
Теперь создайте камеру типа Free. Для этого на вкладке Create
в категории Cameras
| Standard нажмите кнопку Free, а затем щелкните мышью
в видовом окне Front в центре объекта, чтобы расположить камеру в сцене. Назовите
ее FreeCam. На виде Top переместите камеру вниз, чтобы она не врезалась в объект
(рис. 4.59). Камеры типа Free не связаны с целью. Как и при работе с источниками света, направленную камеру (Target) всегда можно преобразовать в свободную (Free),
просто выключив параметр Target. Это же правило работает и в обратную сторону,
камеру Free можно преобразовать в Target.
Рис. 4.59. Положение камер в видовом окне Top
Для отображения вида из камеры следует щелкнуть правой кнопкой мыши в левом
верхнем углу видового окна на названии вида и выбрать нужную камеру (рис. 4.60).
Выберите FreeCam. Такому состоянию сцены соответствует файл \scenes\lesson_4.7\
Camera_step1.max.
Визуализация сцены и камеры
275
Рис. 4.60. Выбор вида из камеры
Линии голубого цвета, появляющиеся при выделении камеры, обозначают границы
поля зрения (пирамиды видимости) камеры (рис. 4.61).
Рис. 4.61. Голубым цветом обозначена пирамида видимости камеры типа Target
Настройка камер
Переключитесь на вид из камеры TarCam. Для правильной установки положения камеры следует перейти в окно вида из камеры и воспользоваться командами, расположенными в правой
нижней части меню (рис. 4.62):
Dolly Camera (Передвижная камера или направленная камера), работает в трех режимах:
— перемещает камеру типа Target
• Dolly Camera
вдоль главной оси камеры, чтобы приблизить или удалить объекты сцены;
— перемещает только цель, а сама каме• Dolly Target
ра остается неподвижной;
• Dolly Camera + Target
так и цель.
Рис. 4.62. Команды
работы с камерой
— перемещает как камеру,
П РИМЕЧАНИЕ
Камеры типа Target имеют дополнительные команды, влияющие на перемещение цели.
Для камеры типа Free возможен только один вид значка — с опцией приближения или удаления камеры.
Понаблюдайте за положением камер в разных видовых окнах.
276
Глава 4
Perspective (Ракурс)
— меняет угол поля зрения камеры, приближая или удаляя
ее от объектов сцены.
Выделите камеру и раскройте вкладку Modify. Наблюдайте за одновременными изменениями значений параметров Lens (Объектив, фокусное расстояние) и FOV
(Field of View, угол зрения) в свитке Parameters. Эти параметры связаны между собой, и при изменении одного параметра второй меняется автоматически;
Roll Camera (Поворотная камера)
— камеру типа Target эта опция вращает
вокруг ее главной оси, камеру типа Free — вокруг ее локальной оси Z;
разверните немного камеру, чтобы увидеть
С помощью инструмента Roll Camera
переднюю часть объекта (рис. 4.63). При активном инструменте Roll Camera, если
удерживать нажатой среднюю кнопку мыши, то камеру можно двигать в плоскости
(см. видео \Lesson_4.7\Rotate_camera.mp4).
Рис. 4.63. Вид из камеры TarCam
команда Field-of-View (Поле зрения)
— меняет угол зрения камеры;
Truck Camera (Передвижная камера)
— перемещает одновременно камеру и
объекты сцены. То же самое можно сделать при нажатой средней кнопке мыши;
Orbit Camera
— вращает камеру вокруг ее цели;
Walk Through
— камера неподвижна, перемещается ее цель.
Объекты типа Cameras имеют те же параметры, что и настоящие камеры: Lens (Фокусное расстояние) и FOV (Угол поля зрения) (рис. 4.64, а).
Размеры угла поля зрения могут задаваться по горизонтали, по вертикали или по диагонали — нужный вариант выбирается нажатием на кнопку слева от счетчика FOV.
Вместо настройки параметров Lens и FOV с помощью группы кнопок Stock Lenses
(Набор объективов) можно выбрать один из готовых объективов с заданным фокусным
расстоянием и соответствующим углом поля зрения.
В группе Clipping Planes (Плоскости отсечения) задаются параметры Near Clip
(Переднее отсечение) и Far Clip (Дальнее отсечение) плоскостей, отсекающих изобра-
Визуализация сцены и камеры
277
жения сцены (рис. 4.64, б). Эти параметры полезны, когда вы хотите скрыть из поля
зрения камеры лишние объекты.
Визуализаторы V-Ray и Arnold имеют свои типы камер.
а
б
Рис. 4.64. Параметры камеры типа Target
Упражнение № 4-8.
Настройка физической камеры
Физическая камера, в отличие от стандартной камеры Target или Free, может управлять экспозицией в сцене и другими эффектами визуализации. Визуализаторы Arnold
и V-Ray поддерживают эту камеру, она помогает контролировать общую освещенность
сцены и часто используется при визуализации интерьеров и экстерьеров.
Откройте файл \scenes\lesson_4.8\Physical_Camera.max. На вкладке Create
командной панели в категории Cameras
| Standard нажмите кнопку Physical. В окне Front
щелкните кнопкой мыши, чтобы указать положение камеры, затем протяните к центру
сцены для указания положения цели (рис. 4.65). Физическую камеру создают точно так
же, как и направленную.
Переключите вид Perspective на вид из камеры и с помощью инструментов Roll
и Dolly Camera
измените вид в соответствии с рис. 4.66. Щелкните по
Camera
имени камеры в видовом окне и в меню выберите опцию Show Safe Frames (Показать
безопасные рамки), безопасные рамки позволяют показать размеры окна визуализации
прямо в видовом окне.
Пока все настройки актуальны и для направленной камеры, однако если визуализировать сцену из камеры, вы увидите сильно пересвеченную сцену, едва будут угадываться
очертания объекта.
Выделите камеру и перейдите на вкладку Modify командной панели. В настройках камеры в свитке Basic находятся базовые настройки положения и активации цели. С по-
278
Глава 4
мощью параметра Target Distance можно приблизить или отдалить цель от камеры, что
удобно использовать для настройки фокусного расстояния и размытия заднего плана.
В свитке Physical Camera первый параметр Preset (Шаблон) позволяет выбирать модель пленки или тип матрицы фотокамеры. Каждый параметр влияет на ширину кадра
и меняет параметр Width, расположенный ниже.
Рис. 4.65. Положение физической камеры
Рис. 4.66. Вид из камеры
В области Lens находятся параметры объектива камеры:
Focal Lens — фокусное расстояние, по умолчанию установлено 40 мм.
Specify FOV — угол поля зрения, выключено по умолчанию, поскольку этот пара-
метр зависит от установленного фокусного расстояния. Следует менять при необходимости, т. к. может сильно исказить перспективу.
Zoom — меняет расстояние до объекта без изменения положения камеры.
Aperture — определяет диафрагму, параметр влияет как на экспозицию, так и на
глубину резкости (как в настройках реального фотоаппарата). Чем меньше число f,
тем шире диафрагма и ýже пределы глубины резкости.
Focus — настраивается для передачи глубины резкости, по умолчанию фокус каме-
ры совпадает с положением цели. Если включить значение Custom, то вы сможете
настроить произвольное положение фокуса.
Область Shutter отвечает за скорость срабатывания затвора камеры и влияет на экспозицию.
Перейдите в свиток Exposure, параметры этого свитка отвечают за уровень экспозиции
в сцене. В области Exposure Gain для параметра Target введите значение 9EV. Параметр Target соответствует комбинации трех значений фотографической экспозиции.
Каждое увеличение или уменьшение значения EV соответствует двукратному уменьшению или увеличению экспозиции сцены. Таким образом, более высокие значения
уменьшают, а более низкие увеличивают яркость изображения.
При переключении на режим Manual вы выбираете значение ISO, в этом случае экспозиция рассчитывается на основе скорости затвора и настройки диафрагмы. Чем выше
это значение, тем больше экспозиция.
Визуализация сцены и камеры
279
Визуализируйте вид из камеры (рис. 4.67). Изображение станет намного темнее, но при
отсутствии источников света будет менее контрастным.
В области White Balance настраивается баланс белого. По умолчанию включен режим
Illuminant, из списка, расположенного ниже, выбирается тип используемого в сцене
света, и программа автоматически подбирает значения цветовой температуры для обеспечения баланса белого. Переключитесь на режим Temperature и установите значение
3000 kelvin. Визуализируйте сцену, все будет окрашено в голубоватый оттенок. Измените значение температуры на 8000 kelvin и снова визуализируйте сцену. Вы увидите
преобладание желтых оттенков.
Физическая камера также позволяет включить виньетку. Активируйте параметр Enable
Vignetting и установите значение 5. Визуализируйте сцену (рис. 4.68), по краям кадра
появятся затемненные области.
Рис. 4.67. Установлено значение
экспозиции 9EV
Рис. 4.68. Для физической камеры
активирован эффект виньетки
Чтобы повысить контраст, добавьте источник света Arnold Light с типом Point и установите его перед объектом и выше камеры. Настройте яркость, изменяя параметр
Intensity. Итоговый файл \scenes\lesson_4.8\Physical_Camera_end.max. Результат визуализации представлен на рис. 4.69.
Рис. 4.69. Итоговая визуализация
280
Глава 4
Упражнение № 4-9. Размытие сцены
Глубина резкости
Вид на сцену из камеры всегда выглядит более естественным, чем ее перспективное
изображение. Кроме того, вид из камеры можно настроить аналогично тому, как это
делается при фотографировании, когда те объекты, на которые сфокусирован фотоаппарат, оказываются резкими, а предметы, расположенные ближе и дальше от цели,
выглядят менее резкими. Такое изображение является более естественным для глаза и
позволяет сконцентрировать внимание наблюдателя на главном элементе сцены. В фотоаппарате это свойство обеспечивается за счет значения диафрагмы объектива и расстояния до фокуса и называется глубиной резкости. В программе 3ds Max аналогичным
свойством обладают камеры, которые могут быть настроены соответствующим образом.
Откройте из папки этого упражнения сцену \scenes\lesson_4.9\Depth_of_Field.max и визуализируйте изображение в окне Perspective (рис. 4.70) — все объекты сцены будут
выглядеть одинаково резкими.
Рис. 4.70. Все объекты сцены выглядят резкими
Камеру удобно создавать из видового окна Perspective. На вкладке Create
команд| Standard выберите камеру Target и создайте ее
ной панели в категории Cameras
в любом месте сцены. Далее выделите камеру, щелкните правой кнопкой мыши внутри
окна Perspective, чтобы сделать его активным, и нажмите сочетание клавиш <Ctrl>+<C>
(см. видео \Lesson_4.9\Create_camera_from_perspective.mp4). После этого камера должна
переместиться в новое положение. Переключите вид Perspective на вид из камеры
(рис. 4.71). Если не получается автоматически изменить положение камеры, измените
его вручную.
Цель камеры совместите с изгибом дороги. Автомобили, расположенные ближе к цели
камеры, останутся резкими, а остальные мы уведем в нерезкость. Степень размытости
Визуализация сцены и камеры
281
Рис. 4.71. Положение камеры в сцене
будет зависеть от расстояния каждого объекта сцены до цели камеры. Настроить резкость можно тремя разными способами.
Глубина резкости для камеры Target
Выделите камеру и перейдите на панель Modify. Параметры глубины резкости настраиваются в двух свитках камеры типа Target: в области Multi-Pass Effect (Эффект,
получаемый за несколько проходов) (рис. 4.72, а) и Depth of Field Parameters (Параметры глубины резкости) (рис. 4.72, б).
Глубина резкости, как можно понять из названия свитка, рассчитывается за несколько
проходов. Для ее активизации сперва в свитке Multi-Pass Effect включите команду
а
б
Рис. 4.72. Настройка параметров глубины резкости в стандартном визуализаторе
282
Глава 4
Enable (Разрешить) и из выпадающего списка выберите вариант расчета Depth of Field
(Глубина резкости). Кнопка Preview позволяет увидеть предварительный результат
размытия в видовом окне. В поле Target Distance (Расстояние до цели) указывается
расстояние от камеры до цели. Если вы хотите регулировать размытие относительно
главного объекта с помощью цели камеры, то в свитке Depth of Field Parameters следует установить флажок для опции Use Target Distance (Использовать расстояние до
цели). Переместите цель, например, в точку X = 7.84 см, Y = −170 см, Z = 6.7 см, она
может совпадать с положением одной из машин вблизи камеры.
В области Sampling (Дискретизация) важным является параметр Total Passes (Число
проходов), который определяет число проходов при генерации эффекта глубины резкости. От его значения зависит качество конечной визуализации, которое достигается за
счет увеличения времени расчета эффекта. Чем больше это значение, тем выше качество визуализации.
Параметр Sample Radius (Радиус размытия) отвечает за глубину резкости — чем
больше это значение, тем меньше глубина резкости и, значит, тем сильнее становится
размытие сцены при удалении от главного объекта.
Установите значение параметра Тоtаl Passes равным 40 и значение параметра Sample
Radius равным 2 см. Перейдите в окно вида из камеры и визуализируйте сцену — одна
из машин (где расположена цель камеры) будет выглядеть резкой, а остальные объекты
окажутся размытыми (рис. 4.73). Этому состоянию сцены соответствует файл
\scenes\lesson_4.9\ Depth_of_Field _target.max.
а
б
Рис. 4.73. Эффект глубины резкости: а — Тоtаl Passes = 10, Sample Radius = 1 см;
б — Тоtаl Passes = 40, Sample Radius = 2 см
Глубина резкости для камеры Physical
Откройте файл \scenes\lesson_4.9\ Depth_of_Field _physical.max с той же сценой. В ней
установлена физическая камера, нацеленная на машину. Выполните визуализацию сцены — получите изображение без размытия. Выделите камеру и перейдите на вкладку
Modify. В свитке Physical Camera установите значение параметра Aperture (Диафраг-
Визуализация сцены и камеры
283
ма) равным 2 и в области Focus активируйте параметр Enable Depth of Field (Активировать глубину резкости). Снова визуализируйте сцену. Сцена станет размытой
(рис. ЦВ-4.74), кроме объектов на линии цели камеры. Чем меньше значение параметра
Aperture (Диафрагма), тем меньше глубина резкости и, значит, тем больше становится
размытие сцены при удалении от главного объекта.
Рис. ЦВ-4.74. Активирован режим глубины резкости в физической камере
Контрольные вопросы
1. Как называется визуализатор, подключаемый программой 3ds Max по умолчанию?
2. Какие визуализаторы поддерживает 3ds Max 2022? Как назначить нужный визуализатор?
3. Глобальные настройки визуализатора Arnold.
4. Какие источники света имеются в Arnold?
5. Параметры источника света Quad визуализатора Arnold.
6. Чем отличается источник света Distant визуализатора Arnold от других его источников света?
7. Какие материалы поддерживает визуализатор Arnold?
8. Как настроить в Arnold материал никель?
9. Как настраиваются в Arnold преломления и отражения света?
10. Как настроить материал Standard Surface визуализатора Arnold?
11. Какие текстурные карты реализованы в Arnold?
12. Какие типы камер существуют в 3ds Max? Чем они отличаются?
13. Как расположить камеру в нужном месте пространства?
14. Как создать глубину резкости для камеры типа Target?
15. Как создать глубину резкости для камеры типа Physical?
ГЛАВА
5
Визуализатор V-Ray
Обзор V-Ray
Визуализатор V-Ray фотометрический, он позволяет работать с большими сценами,
используя прокси-объекты и распределенный сетевой рендеринг. В плагин V-Ray входит богатая библиотека материалов, а также фоторедактор для постобработки. В процессе работы над сценой есть возможность проводить качественную интерактивную
визуализацию.
В предыдущих главах мы работали с визуализатором Arnold, который позволяет создавать качественную визуализацию. Существуют также плагины Corona, Redshift и многие другие, которые используют разные алгоритмы просчета преломлений. В мире
компьютерной графики у каждого художника есть свои предпочтения в выборе визуализатора, часто на этот выбор влияют условия коммерческого проекта. Научившись
работать с одним, вы сможете в короткие сроки овладеть навыками работы с другим
визуализатором. Подходы работы с материалами и светом очень схожи. Нет универсального метода, вы всегда выбираете тот подход или плагин, который удобен именно
вам или который требуется для вашего проекта.
Установка проекта
В этой главе будем работать с новым проектом 05_project. Для установки нового проекта в главном меню выполните команды File | Project | Create Default. Далее выберите
папку, где будет размещаться проект, и щелкните по пункту Select Folder (Выбрать
папку). Для установки существующей папки проекта в качестве основного в программе
3ds Max в главном меню выберите опции File | Project | Set Active Project и укажите
папку проекта.
Рядом с папкой проекта вы найдете папку 05_video, в которой будут находиться дополнительные видеофайлы к упражнениям.
В папке 05_images находятся цветные иллюстрации к упражнениям.
Визуализатор V-Ray
285
Упражнение № 5-1.
Установка визуализатора V-Ray
Визуализатор V-Ray — один из наиболее популярных алгоритмов просчета глобального освещения, у него есть свои источники света, материалы и настройки визуализации.
Во всех последующих упражнениях рассматриваются настройки V-Ray на примере
версии V-Ray 5.2 для 3ds Max 2022. Плагин V-Ray не встроен в программу 3ds Max по
умолчанию, его нужно устанавливать отдельно. На официальном сайте вы можете скачать пробную 30-дневную версию плагина, чтобы испробовать все функции. После
установки плагина V-Ray в окне программы появится дополнительная панель (рис. 5.1).
Она легко встраивается в интерфейс 3ds Max, и вы можете разместить ее вверху между
главной панелью инструментов и Ribbon или слева, все зависит от ваших предпочтений (см. видео \Lesson_5.1\Place_vray_panel.mp4). Панель позволяет получить быстрый
доступ к инструментам V-Ray, большинство из них дублируется в интерфейсе программы.
Рис. 5.1. Панель инструментов V-Ray
Откройте из папки этого упражнения файл \scenes\lesson_5.1\Settings.max. В сцене уже
созданы источники освещения V-Ray и назначены соответствующие материалы, однако сам визуализатор не установлен.
В главном меню выберите Rendering | Render Setup или на главной панели инструмен. Установите V-Ray 5 в качестве визуализатов щелкните по иконке Render Setup
тора. После его установки вкладки на панели Render Setup изменят свое содержание
(рис. 5.2).
Рис. 5.2. Вкладки визуализатора V-Ray 5
286
Глава 5
Визуализатор V-Ray содержит много параметров, позволяющих управлять качеством
визуализации сцены и временем вычисления. Однако далее рассмотрены только основные параметры V-Ray, управление которыми обеспечивает достаточно качественный
результат.
Во всех случаях, когда предполагается применить визуализатор V-Ray, необходимо
выполнить ряд обязательных настроек.
Визуализируйте сцену из видового окна Perspective. Появится непривычное окно
визуализации V-Ray Frame Buffer (рис. 5.3), V-Ray имеет свое собственное окно визуализации с дополнительными настройками. Работа с окном V-Ray Frame Buffer
обсуждается в следующем упражнении.
Рис. 5.3. Окно Frame Buffer
Рассмотрим основные настройки.
Вкладка V-Ray
Свиток Global switches
Разверните свиток Global switches — он открывается в двух вариантах: Default (Основной) и Advanced (Продвинутый). Для их открытия следует последовательно нажимать на соответствующие кнопки (см. видео \Lesson_5.1\Settings_mode.mp4).
Основной вариант свитка (рис. 5.4, а) содержит минимальное число настроек V-Ray.
Так, параметр Lights разрешает или запрещает обработку источников света. Если
отключить эту опцию, то V-Ray будет использовать источники света, установленные
по умолчанию. Оставьте ее включенной.
В варианте Advanced свитка Global switches (рис. 5.4, б) параметр Default lights (Источники света по умолчанию) может принимать три разных значения:
Off (Выключено) — источники света по умолчанию будут всегда выключены, даже
если сцена не содержит ни одного источника света;
On (Включено) — источники света по умолчанию включены, если сцена не содер-
жит никаких других источников света;
Визуализатор V-Ray
287
а
б
Рис. 5.4. Свиток Global switches
Off with GI (Выключено при GI) — источники света по умолчанию выключаются
при включении глобального освещения (GI), а также при наличии других источников света.
Выберите последнее значение этого параметра.
В свитке также можно настроить общие параметры работы со светом, тенями и отражением:
Hidden lights (Скрытые источники света) — разрешает или запрещает использование скрытых источников света;
Shadows (Тени) — разрешает или запрещает генерацию теней;
Reflection/refraction (Отражение/преломление) — разрешает или запрещает вычис-
ление отражений и преломлений в картах и материалах V-Ray.
Physical Material as VRayMtl — допускает использование физических материалов
в сцене, при визуализации автоматически заменяет на материал визуализатора V-Ray.
Свиток IPR Options
Свиток отвечает за настройки интерактивной визуализации.
Свиток Image sampler (Antialiasing)
Свиток Image sampler (Antialiasing) отвечает за устранение ступенчатости на границах
объектов и текстур. Здесь указывается алгоритм вычисления цветовых параметров
каждого пиксела изображения (рис. 5.5). После его выбора внизу открывается новый
свиток, соответствующий выбранному значению параметра Type (Тип) (см. видео
\Lesson_5.1\Image_sampler_type.mp4). Существуют два типа семплера изображения:
Bucket (Область) — визуализирует изображение в виде прямоугольных областей и
лучше работает при распределенной сетевой визуализации;
288
Глава 5
Progressive (Последовательный) — работает сразу со всем изображением и визуали-
зирует его по фазам, и поэтому окончательное изображение появляется постепенно.
Это позволяет предположить результат визуализации изображения еще до того, как
будет запущена чистовая визуализация.
Рис. 5.5. Типы семплера изображения
При выборе одного из этих семплеров открываются дополнительные свитки со своими
конкретными параметрами: Bucket image sampler (рис. 5.6, а) или Progressive image
sampler (рис. 5.6, б). Попробуйте включить сначала вариант Bucket и визуализировать
сцену, затем Progressive, обратите внимание на разницу процесса просчета. Для нашей
сцены остановимся на семплере Progressive.
а
б
Рис. 5.6. Параметры семплеров
В настройках каждого типа семплера указывается качество просчета, которое влияет на
время визуализации. В процессе моделирования сцены, настроек материалов и установок источников света необходимо постоянно проводить визуализацию для просмотра
предварительного результата. Для такого рода визуализации, ее еще называют черновой визуализацией, можно устанавливать меньшее качество для ускорения времени
просчета.
Для семплера Backet при предварительной визуализации параметр Max subdivs можно
уменьшить до 4 вместо 24. В результате может появиться шум в тенях или в отражении, но просчет света и теней будет отображаться корректно. Для финальной визуализации следует увеличить значение Max subdivs до 24, если этого будет недостаточно
для удаления шума, его можно еще увеличить и дополнительно уменьшить величину
Noise threshold (Порог шума) до 0.005.
Для семплера Progressive качество визуализации во многом зависит от времени, которое вы выделили для него. Большим преимуществом также является то, что в любой
момент времени вы можете остановить процесс визуализации, если вас не удовлетворяет результат освещения или внешний вид материалов на объектах. По умолчанию время визуализации Render time (min) не определено, это означает, что программа прервет процесс, когда посчитает визуализацию завершенной. Для чернового рендеринга
вы можете поставить значение Render time (min) = 5, тогда сцена будет визуализиро-
Визуализатор V-Ray
289
ваться не больше 5 минут. Для финальной визуализации выставляют нулевое значение
параметра Render time (min), а значение параметра Noise threshold уменьшают до
0.005.
Свиток Image filter
В свитке Image filter выбирается фильтр сглаживания изображения (рис. 5.7). По умолчанию V-Ray сглаживает в изображении все, включая текстуры, что особенно полезно
для текстур с мелкими деталями, и эту опцию всегда нужно включать. Фильтры сглаживания по-разному воздействуют на изображение. Устанавливая их параметры, можно сделать изображение более резким или сильно размытым (фильтры Area и Blend),
можно подчеркнуть края изображения (фильтр Mitchell-Netravali), фильтр CatmullRom часто используется для архитектурной визуализации, можно также установить
размытие по Гауссу (фильтр Soften). Размывающие фильтры (Area, Quadratic, Cubic)
позволяют уменьшить эффект муара. Фильтр V-Ray Lanczos Filter, установленный по
умолчанию, обеспечивает бóльшую сглаженность деталям, часто применяется для создания эффекта фотографии.
Рис. 5.7. Настройка фильтра сглаживания
Остановимся на фильтре Mitchell-Netravali — его параметры позволяют сделать выбор
между подчеркиванием краев и размытостью, и оставим значения параметров этого
фильтра, установленные по умолчанию.
Свиток Environment
В свитке Environment можно указать цвет и текстурную карту, на основе которых
будут вычислены глобальное освещение, отражения и преломления. Если цвет и текстурная карта в нем не указаны, то вместо них будут взяты цвет и текстурная карта из
настроек окружающей среды в окне Rendering | Environment.
П РИМЕЧАНИЕ
Следует иметь в виду, что если в сцене нет ни одного источника света и в свитке Global
switches отключено освещение, установленное по умолчанию (значение параметра Default
lights равно Off with GI или Off, как это ранее было рекомендовано делать при настройке
значений параметров в свитке Global switches), то всегда необходимо включать глобальное освещение в свитке Environment, иначе вы получите черную визуализацию из-за отсутствия источников света.
В свитке Environment включите параметр GI environment. Цвет окружения можете
выбрать произвольный, но лучше всего подойдут светлые оттенки. Визуализируйте
сцену (рис. 5.8), она станет намного ярче из-за добавления в нее глобального освещения.
290
Глава 5
Рис. 5.8. В настройках визуализатора включено глобальное освещение
Свиток Color mapping
Изображение может содержать более широкий диапазон цветов, чем позволяет отобразить экран монитора. Кроме того, при визуализации изображение может оказаться излишне темным или светлым. Параметры свитка Color mapping позволяют установить
тип преобразования цветов и его параметры для выполнения тоновой коррекции.
Функции тоновой коррекции выбираются в списке Type (рис. 5.9). Свиток открывается
в двух вариантах: Default и Advanced.
Рис. 5.9. Базовый вариант свитка Color mapping
Вкладка GI
Свиток Global illumination
В свитке Global illumination выбирается алгоритм вычисления отраженного освещения
(рис. 5.10), один из важнейших параметров для создания фотореалистичности. Свиток
этот также открывается в двух вариантах Default и Advanced.
Здесь предлагаются следующие возможности:
Brute force (Прямой метод) — отраженное освещение вычисляется независимо для
каждой закрашиваемой точки поверхности посредством трассировки большого
количества лучей в различных направлениях в полусфере над этой точкой. Такой
способ сохраняет в изображении все детали (мелкие и четкие тени), но очень
медленно выполняется для сложных изображений (например, для освещения интерьера);
Визуализатор V-Ray
291
Irradiance map (Карта освещенности) — отраженное освещение вычисляется толь-
ко в некоторых точках сцены, и его результаты интерполируются на остальные точки. Это очень быстрый метод по сравнению с Brute force, однако некоторые мелкие
детали вследствие интерполяции могут быть потеряны или размыты;
Light caсhe (Световой кеш) — строится посредством трассировки многих зритель-
ных путей из камеры. Подходит для интерьеров и экстерьеров. Световой кеш прост
в настройке, он эффективно работает с любыми источниками света и дает корректные результаты в узлах и вокруг мелких объектов, однако работает только с материалами визуализатора V-Ray.
Рис. 5.10. Свиток выбора алгоритма вычисления отраженного освещения
Свиток имеет следующие основные параметры:
Enable GI (Включено) — включает и выключает расчет отраженного освещения.
Если его отключить, то рассеянного освещения в сцене не будет, так что эту опцию
всегда следует включать, если вы хотите добавить фотореализм;
Primary engine (Первичные отражения) — здесь устанавливается метод расчета
первичных отражений;
Secondary engine (Вторичные отражения) — здесь устанавливается метод расчета
вторичных отражений. При выборе значения None вторичные отражения не рассчитываются.
С помощью параметров Saturation (Насыщенность), Contrast (Контраст) и Contrast
base можно увеличить или уменьшить насыщенность и контраст отраженного освещения.
Параметр Amb. Occlusion добавляет в сцену дополнительные затенения между поверхностями объекта.
Настройки отраженного освещения оставим по умолчанию.
Свиток Irradiance map
В свитке Irradiance map настраивается карта освещенности. Свиток появляется только
тогда, когда эта карта выбрана в качестве метода расчета глобальной освещенности для
первичного диффузного отражения света (Primary engine) (рис. 5.11).
292
Глава 5
Рис. 5.11. Настройка карты освещенности
Карта освещенности является адаптируемой, и визуализация изображения происходит
в несколько этапов.
Устанавливать параметры для черновой и чистовой визуализации можно с помощью
выпадающего списка Current preset (Предварительная настройка), в котором есть
готовые установки для параметров карты освещенности: Very low — очень низкое
качество визуализации, Low — низкое качество, Medium — среднее качество, High —
высокое качество, Very high — самое высокое качество визуализации. Предусмотрены
два режима анимации: Medium animation и High animation.
На скорость визуализации влияет размер изображения, который настраивается на
вкладке Common (Общие параметры). Для ускорения задайте небольшой размер изображения, например, 640×480 пикселов, а для финальной (итоговой) работы задавайте
размер более чем 1024 пикселов по ширине.
Первичные настройки визуализатора V-Ray
Подытожим сделанные настройки визуализатора:
на вкладке V-Ray:
• в свитке Global switches включена обработка источников света Lights и для
параметра Default lights выбрано значение Off with GI;
• при отсутствии в сцене источников света, в свитке Environment включено глобальное освещение;
• в свитке Image sampler (Antialiasing) задан семплер Progressive;
• в свитке Image Filter выбран фильтр сглаживания Mitchell-Netravali со значениями параметров, установленными по умолчанию;
на вкладке GI:
• в свитке Global illumination включен расчет отраженного освещения (Enable GI);
Значения остальных параметров оставлены без изменения.
Визуализатор V-Ray
293
V-Ray имеет много и других настроек, позволяющих улучшить качество изображения
или сократить время вычислений для конкретной сцены. Поэтому приведенные установки следует рассматривать только как минимальные, с которых можно начинать
визуализацию сцены. Подробнее о настройках V-Ray смотрите в [8].
П РИМЕЧАНИЕ
Поскольку некоторые настройки визуализатора V-Ray 5, update 2.2 для программы
3ds Max версии 2022 отличаются от настроек визуализатора V-Ray для программы 3ds Max
версии 2020, то в папках, в которых хранятся файлы к упражнениям, к названиям некоторых файлов могут быть добавлены названия версии программы, для которой они предназначены. Так, файл Vray2_2020.max следует применять с версией программы 3ds Max 2020,
а файл Vray2_2022.max — с версией программы 3ds Max 2022. Однако в последующем тексте этот файл будет упоминаться без такой добавки, т. е. просто как файл Vray2.max.
Упражнение № 5-2. Работа с окном визуализации
V-Ray Frame Buffer
В упражнении познакомимся с окном визуализации V-Ray Frame Buffer, в котором
можно проводить постобработку и сохранять историю. По умолчанию, когда вы устанавливаете визуализатор V-Ray в качестве основного, стандартное окно визуализации
заменяется на Frame Buffer. При необходимости его можно отключить, для этого
в окне Render Setup необходимо перейти на вкладку V-Ray в свиток Frame Buffer
и выключить параметр Enable built-in frame buffer. Однако отключать это окно нецелесообразно, поскольку в результате вы потеряете ряд возможностей.
Откройте файл \scenes\lesson_5.2\Frame_buffer.max. Визуализируйте вид из камеры
(рис. 5.12). Вы увидите достаточно освещенную солнцем сцену с желтоватым оттенком. Для корректировки света и баланса белого не обязательно менять настройки ис-
Рис. 5.12. Визуализация сцены в окне Frame Buffer
294
Глава 5
точника света, это возможно уже после визуализации с помощью инструментов окна
V-Ray Frame Buffer (VFB). Рассмотрим его рабочие зоны. Окно VFB разделено на три
зоны слева направо: History (История), основная область и Layers (Слои). Чтобы
скрыть правую и левую панели, достаточно потянуть за разделитель, расположенный
между основной панелью и боковыми (см. видео \Lesson_5.2\Hide_panels.mp4).
В верхней области центральной части окна расположены инструменты, связанные
с процессом визуализации:
Save current channel (Сохранить текущий канал)
— сохраняет текущую визуализацию в файл, красный, зеленый и синий каналы в этой опции активны по умолчанию и расположены левее от кнопки, можно также включить канал alpha для сохранения прозрачности;
Clear image (Очистить изображение)
— удаляет текущий рендер из основной
области и очищает ее;
Follow mouse (Следовать за мышью)
— определяет приоритет визуализируемой
области с помощью курсора мыши, работает только в режиме Bucket;
Test resolution (Разрешение для тестовой визуализации)
— уменьшает размер
изображения на 50% относительно установленного на вкладке Common в окне
Render Setup. В заголовке окна VFB отображается размер изображения;
Region render (Область визуализации)
— задает область визуализации, вы можете выбрать произвольный участок на изображении для визуализации;
Start interactive rendering (Запустить интерактивную визуализацию)
— запускает визуализацию в режиме реального времени, в этом случае при любом изменении свойств объектов в сцене автоматически выполняется визуализация;
Abort rendering (Прервать визуализацию)
— останавливает процесс визуали-
зации;
Render (Визуализировать)
— запускает процесс визуализации.
В правой области окна VFB расположена панель со списком слоев и их свойствами.
Каждый слой представляет собой специальный эффект или корректирующий слой
(рис. 5.13, а). По умолчанию активен только слой Source: RGB из группы слоев
Display Correction (Коррекция отображения). Кроме него в списке присутствуют Lens
Effect (Световой эффект), Sharpen/Blur (Резкость/Размытие), Denoiser (Шумоподавление), они будут неактивны, и их нельзя будет включить, пока не добавлен соответствующий эффект в настройках визуализации. Эффект Lens Effect и Denoiser будет рассматриваться следующих упражнениях.
Весь список слоев, доступных для визуализации, появляется при нажатии кнопки
Create layer (Создать слой)
.
и в выпадающем списке щелкните по строке
Щелкните по кнопке Create layer
Exposure (Экспозиция). В группе слоев Display Correction добавится и активируется
выбранный слой, чуть ниже на панели Properties (Свойства) отобразятся его настройки
(рис. 5.14). В настройках для слоя Exposure уменьшите значение одноименного параметра Exposure до −1.1. В результате общая освещенность изображения в центральной
Визуализатор V-Ray
295
а
б
Рис. 5.13. Панель слоев в окне V-Ray Frame Buffer
части уменьшится. Если щелкнуть по иконке
напротив слоя Exposure, вы выключите действие этого слоя (см. видео \Lesson_5.2\Visible_layers.mp4).
Снова щелкните по кнопке Create layer
и выберите опцию White Balance (Баланс
белого). Чуть ниже в настройках измените параметр Temperature на 5500 (рис. 5.15).
В результате мы приглушим желтый оттенок.
Настройки слоя появляются на панели Properties при выделении соответствующего
слоя. Удалить слой можно с помощью кнопки Delete selected layers (Удалить выделен-
Рис. 5.14. Настройки слоя Exposure
Рис. 5.15. Настройки слоя White Balance
296
Глава 5
ные слои)
. Набор используемых слоев можно сохранить в файл с помощью кнопки
Save layer tree preset (Сохранить шаблон списка слоев)
и впоследствии его открыть с помощью кнопки Load layer tree preset (Загрузить шаблон списка слоев)
.
В левой области окна VFB расположена панель History (История). Она предназначена
для сохранения этапов визуализации, это дает возможность сравнить использование
разных типов источников света, их настройки, а также любые изменения в сцене. Но
сохраняются только изображения визуализации, сцена не возвращается к тому моменту, когда было создано сохраненное изображение. Активировать историю необходимо
в настройках окна VFB с указанием папки хранения файлов изображений. В меню окна
V-Ray Frame Buffer выберите опции Options | VFB Settings (Настройки окна). В окне
настроек перейдите на вкладку History. Включите параметр Enabled и чуть ниже в области Location включите Use Project Path (Использовать путь проекта) (рис. 5.16).
В результате история визуализации будет сохраняться в папке проекта. Можно не привязываться к проекту, тогда при выключенном параметре Use Project Path ниже для
параметра History Folder указывается папка хранения файлов. В нижней части окна
щелкните по кнопке Save and Close (Сохранить и закрыть).
Рис. 5.16. Настройки истории визуализации
Теперь на панели History станет активна панель инструментов. Щелкните по кнопке
, текущая визуализация появится в колонке
Save to history (Сохранить в историю)
ниже. При наведении на изображение будет отображаться информация о времени
визуализации, размере и имени файла, в котором проведена визуализация (рис. 5.17).
Сверните окно VFB и в видовом окне Left опустите вниз источник света VRaySun001
примерно на высоту 130 см. Визуализируйте вид из камеры и в окне VFB сохраните
визуализацию в историю. В истории уже будут расположены два изображения
(рис. 5.18), в верхней части всегда будет находиться последнее сохраненное.
Две визуализации можно сравнить между собой с помощью команды A|B horizontal
. Для этого указываются экземпляры A и B и в основной области, перемещая центральный индикатор вправо или влево, можно сравнить изменения (см. видео \Lesson_5.2\
AB_compare.mp4).
Выберите лучшую визуализацию и сохраните ее с помощью кнопки Save current
.
channel (Сохранить текущие каналы)
Визуализатор V-Ray
Рис. 5.17. Визуализация сохранена в историю
297
Рис. 5.18. Список сохраненных изображений
Упражнение № 5-3.
Интерактивная визуализация в V-Ray
В упражнении рассмотрим процесс работы с интерактивной визуализацией. Откройте
файл \scenes\lesson_5.3\Interactive_render.max.
Визуализируйте сцену из окна Perpsective. В процессе визуализации не ждите, пока она
завершится, как только появится изображение, сразу останавливайте визуализацию
с помощью кнопки Abort rendering (Прервать визуализацию)
в верхней части окна
V-Ray Frame Buffer (VFB). Сейчас нет необходимости получать окончательную
визуализацию.
Запустить интерактивную визуализацию можно несколькими способами, один из
них — в окне VFB. В верхней части окна щелкните по кнопке Start interactive
. Начнется процесс визуализаrendering (Запустить интерактивную визуализацию)
ции, как и при обычном запуске, однако сейчас вам доступно любое изменение в сцене.
Не закрывая окно VFB (можете сместить его в сторону), в окне Perpsective выделите
объект Ball3 и переместите его немного вверх. В окне VFB автоматически запустится
новый процесс визуализации без вашего участия. Программа отслеживает любые изменения в сцене и сразу визуализирует ее.
Откройте редактор материалов, выделите материал Blue и в настройках материала в области Basic parameters для параметра Diffuse (рис. 5.19) измените цвет, например на
зеленый. В процессе изменения цвета в видовом окне в окне VFB будет меняться цвет
центрального объекта.
Для остановки интерактивной визуализации в окне VFB щелкните по кнопке Abort
.
rendering
Интерактивная визуализация требует много ресурсов, и для работы с большими сценами удобнее следить за изменениями только участка сцены, иначе визуализация может
замедлить все остальные процессы. В окне VFB в верхней части окна щелкните по
и нарисуйте в основной области
иконке Region render (Область визуализации)
прямо по изображению небольшой прямоугольник (рис. 5.20, см. видео \Lesson_5.3\
298
Глава 5
Рис. 5.19. Настройка цвета объекта
Рис. 5.20. Рамкой обозначена область визуализации
Video_5.20.mp4). Запустите интерактивную визуализацию с помощью кнопки Start
interactive rendering
.
Выделите в окне Perspective объект Ball1 и увеличьте его радиус до 40 см. В редакторе
материалов откройте настройки материала Pink и измените цвет параметра Diffuse
в свитке Basic Parameters. В процессе всех изменений будет визуализироваться только
часть изображения, расположенная в рамке.
Для того чтобы выключить режим визуализации фрагмента, щелкните еще раз по кноп, затем остановите интерактивный рендер.
ке Region render
Упражнение № 5-4.
Настройки источников света V-Ray
Для визуализатора V-Ray существуют четыре типа источников освещения, они доступны на командной панели на вкладке Create
| Lights
| V-Ray:
VRayLight — основной источник света, принимает разную форму, дает возмож-
ность имитировать лампы дневного света.
VRayAmbientLight — всенаправленный источник света, используется для имита-
ции глобального освещения.
Визуализатор V-Ray
299
VRayIES — специальный источник света, который позволяет загружать профили
распределения света (IES-файлы).
VRaySun — источник света дневного освещения, идет совместно с VRaySky. Вместе они создают систему окружающей среды с солнцем и небом. Позволяют изменять время суток в зависимости от направления источника света.
Настройка параметров источника света VRayLight
Откройте из папки проекта файл \scenes\lesson_5.4\Lights_inside.max.
На виде Top создайте в сцене источник света VRayLight типа Plane так, чтобы он занимал половину импровизированной комнаты, и на виде Left поднимите его на высоту
комнаты, примерно на 140 см (рис. 5.21). Переименуйте источник света в main_light. По
умолчанию источник света представляет собой прямоугольник со стрелкой, указывающей направление распределения света. Убедитесь, что источник света направлен вниз.
Рис. 5.21. Положение источника света VRayLight
Освещенность сцены зависит от размеров источника света, перейдите в настройки
источника света и установите для параметров Length (Длина) и Width (Ширина) значения 60×60 см.
В свитке General расположены основные настройки источника света. Поясним некоторые из них (рис. 5.22):
Type — тип источника света: Plane — плоскость, Dome — купол, Sphere — сфера,
Disk — диск, Mesh — любой объект в виде сеточной модели (рис. 5.23), тип источника выбирается в соответствии с требуемым распределением света;
Targeted — добавляет к источнику света цель. При перемещении цели источник
света меняет свое направление;
Length и Width — размеры источника света;
Multiplier — интенсивность источника света;
Units — единицы измерения интенсивности источника света. При использовании
установок Luminous power (lm) и Radiant power (W) интенсивность источника света не зависит от размера источника;
300
Глава 5
Рис. 5.23. Типы источников света
Рис. 5.22. Параметры
источника света
типа VRayLight
Рис. 5.24. Дополнительные параметры освещения сцены
П РИМЕЧАНИЕ
Radiant power (W) — мощность источника света, измеренная в ваттах. Однако это не то же
самое, что электрическая мощность, потребляемая лампой накаливания.
Temperature — цветовая температура, указывается в кельвинах. Доступна при вы-
боре одноименного варианта из свитка Mode.
В свитке Options указываются дополнительные параметры освещения сцены (рис. 5.24):
Cast shadows — отбрасывать тени;
Double-sided (Двусторонний) — указывается для источника типа Plane, в этом слу-
чае свет излучается с двух сторон плоскости;
Invisible — если этот флажок не включить, то форма источника света будет видна
в визуализируемой сцене;
Skylight portal — при включении этого флажка цвет и яркость игнорируются, вме-
сто них используется интенсивность окружения Environment вкладки V-Ray;
Affect diffuse — при включении свет будет влиять на диффузные свойства материа-
лов;
Affect specular — при включении свет будет влиять на отражающие свойства мате-
риалов, формирующих блики;
Визуализатор V-Ray
301
Affect reflections — при включении этой опции источник света будет появляться
в отражениях.
В свитке Rectangle/disk light можно изменить область распределения света. Если, например, для параметра Directional задать значение 0.4 и для параметра Preview (Просмотр) выбрать опцию Selected (Выделенный), то источник света будет испускать свет
в пределах формы конуса (рис. 5.25). Если вы изменяли значение параметра Directional,
верните его на 0.
Дополнительные параметры тени указываются в свитке Sampling:
Shadow bias — смещение тени. Тень смещается от объекта;
Cutoff — отсечка. Этот параметр указывает порог для интенсивности света, ниже
которого свет не будет рассчитываться. Может быть полезен в сценах, в которых
много источников света, чтобы ограничить действие конкретного источника света
на некотором расстоянии от него;
Tex resolution — указывается разрешение, при котором текстура подвергается по-
вторному просчету, рекомендуется устанавливать значение, кратное 2n;
Выделите источник main_light и в настройках в свитке General задайте его яркость
Multiplier = 8, для параметра Color установите слегка желтоватый оттенок RBA
(255, 251, 228). Визуализируйте сцену (рис. 5.26), вы должны увидеть приглушенный
желтоватый свет.
Рис. 5.25. Задано ограничение распределения света
Рис. 5.26. В сцене установлен
один источник света VRayLight
Далее включим искусственные источники света, расположенные на стене и столе.
Добавьте в сцену еще один источник света типа VRayLight, он может располагаться
в любом месте сцены. Переименуйте его в table_lamp. В настройках источника света
в свитке General для параметра Type выберите Mesh. Это означает, что теперь мы можем выбрать любую триангулированную сетку в качестве источника света. Перейдите
к свитку Mesh light и щелкните по кнопке Pick mesh (Указать меш), наведите мышью
на сферу Shpere001, входящую в состав лампы на столе. К плафону лампы будет автома-
302
Глава 5
тически применен модификатор VRayLight (рис. 5.27). 3ds Max запомнил настройки
предыдущего источника света, поэтому для table_lamp также установлена яркость
Multiplier = 8 и цвет светло-желтый. Уменьшите яркость до 5 и цвет источника установите белый. На визуализации (рис. 5.28) плафон лампы на столе будет излучать мягкий
белый свет.
Рис. 5.27. Объект указан
в качестве источника света
Рис. 5.28. Визуализация с источником света
типа Mesh
В видовом окне Front добавьте в сцену третий источник света типа VRayIES и переименуйте его в wall_light. Расположите его внутри лампы на столе таким образом, чтобы источник света оказался внутри объекта лампочки, а цель была направлена вверх
(рис. 5.29). Проверьте положение источника света на всех проекциях.
Далее нужно найти профиль IES, сам профиль представляет собой файл, в котором находится информация о типе лампы и ее яркости. В сети Интернет можно найти бесплатные библиотеки (ies library) с профилями для самых разных ламп. Выделите источник света wall_light и в настройках щелкните по кнопке None напротив параметра Ies
file. В окне выбора файла укажите файл папки проекта \sceneassets\photometric\towsided.ies.
Чтобы источники света, установленные для светильников, проявляли себя ярче, немного приглушим интенсивность основного источника. Выделите main_light и в параметрах
установите для Multiplier значение 1. После визуализации будет виден профиль источника света, однако он как будто проходит сквозь лампу (рис. 5.30). Это связано с тем,
что форма лампы, описанная внутри файла IES, намного шире лампы в сцене, это хорошо видно по размеру источника света, который изменился после загрузки профиля.
В параметрах источника света wall_light включите параметр Override shape (Переназначить форму). Чуть ниже для параметра Shape (Форма) выберите вариант sphere и
укажите Diameter (Диаметр) = 15 см. Таким образом мы назначим новую сферическую
форму для источника, которая больше всего соответствует геометрии лампы. Дополнительно можно усилить яркость источника, введя для параметра Intensity value (Значение интенсивности) значение 1600. Визуализируйте сцену, сверху и снизу плафона
Визуализатор V-Ray
Рис. 5.29. Источник света VRayIES
добавлен внутрь светильника
303
Рис. 5.30. Загружен профиль IES
для источника света VRayIES
Рис. 5.31. Установлена пользовательская форма источника света VRayIES
лампы свет будет распределяться в форме конуса. Финальная визуализация представлена на рис. 5.31. Итоговый файл \scenes\lesson_5.4\Lights_inside_end.max.
Применение стандартных источников света
Откройте файл \scenes\lesson_5.4\Lights_standard.max. В сцене установлен визуализатор
V-Ray и добавлены стандартные источники света.
При визуализации с помощью V-Ray доступны также стандартные и фотометрические
источники света. При этом, включив источник света типа Standard, в его свитке
Intensity | Color | Attenuation следует указать тип затухания (Decay): Inverse (Обратно
304
Глава 5
пропорционально) или Inverse Square (Обратно пропорционально квадрату расстояния).
Выделите источник света main_light и в его настройках в свитке Intensity | Color |
Attenuation для параметра Decay установите тип затухания Inverse, для параметра
Start задайте расстояние 280 см.
При использовании стандартных и фотометрических источников света следует применять тип теней VRayShadow, который устанавливается в свитке General Parameters.
Настройки этих теней находятся в свитке VRayShadows params (рис. 5.32). Включите
для источника света в сцене тип теней VRayShadow.
Основные параметры этого свитка:
Transparent shadows — прозрачные тени;
Bias — смещение теней относительно объекта;
Area shadow — отображение размытых теней, чуть ниже определяется размер фор-
мы источника света для расчета теней, чем больше размер, тем более размытыми
будут тени.
В настройках источника света включите параметр Area shadow и для параметров
UVW size установите размер 30 см.
Визуализируйте сцену (рис. 5.33). Такому ее состоянию соответствует файл \scenes\
lesson_5.4\Lights_standard_end.max. Поэкспериментируйте с этими параметрами, чтобы
увидеть их влияние на результат визуализации.
Рис. 5.32. Параметры настройки
теней VRayShadow
Рис. 5.33. Источник света Target Spot
с картой теней VRayShadow
Источник солнечного света VRaySun
Еще один источник, доступный в V-Ray, — это источник солнечного света VRaySun.
Обычно он применяется совместно с текстурной картой VRaySky, которая представляет собой карту окружающей среды (Environment Map) на панели Environment and
Визуализатор V-Ray
305
Effects или в свитке Environment вкладки V-Ray на панели Render Setup. Однако это
не мешает воспользоваться любой другой текстурной картой для создания фона.
Откройте из папки этого упражнения файл \scenes\lesson_5.4\Cottage.max, установите
визуализатор V-Ray. Текстурные карты к этой сцене находятся в папке \sceneassets\
images\. На вкладке Create
| Lights
выберите из свитка типов источников света
VRay и щелкните по кнопке VraySun. Проще всего создавать этот источник света
в видовых окнах Front или Left. В нашем примере создайте в окне Left, начиная
с верхнего левого угла и протягивая к середине дома (рис. 5.34). Как только вы отпустите кнопку мыши, появится сообщение об автоматической установке карты неба
VRaySky, согласитесь, щелкнув по кнопке Yes.
Не поднимайте источник солнечного света слишком высоко над горизонтом, иначе
освещение сцены будет излишне ярким. Угол наклона источника солнечного света
имитирует интенсивность солнечного освещения: если он в зените, то это будет соответствовать максимальной яркости и четким коротким теням, если же сделать угол наклона солнечных лучей равным 30º, то это будет соответствовать закату и образуются
длинные тени.
Для более точной настройки положения солнца воспользуемся режимом Look Through
(Смотреть через). Для этого щелкните по названию видового окна Perspective и выберите опцию Lights | VraySun001. Используйте инструменты перемещения в видовых
окнах, расположенные в нижнем правом углу (такие же, как и для камеры) и измените
вид в соответствии с рис. 5.35 (см. видео \Lesson_5.4\Video_5.35.mp4).
Рис. 5.34. Положение солнца
в видовом окне Left
Рис. 5.35. Вид из источника света
После настроек положения источника света верните вид Perspective и измените его
таким образом, чтобы мы видели солнце за домом (рис. 5.36). Визуализируйте сцену,
вы увидите очень яркое, практически белое изображение, это связано с большой интенсивностью солнца.
Выделите источник света и перейдите на вкладку Modify для его настроек. Опишем
далее основные параметры источника света VRaySun (рис. 5.37).
306
Глава 5
Свиток Sun Parameters (Параметры солнца):
Enabled (Включен) — включает и выключает солнечный свет;
Intensity multiplier (Коэффициент интенсивности) — регулирует яркость солнечно-
го света;
Size multiplier (Коэффициент размера) — управляет видимым размером солнца.
Влияет на вид солнечного диска при наблюдении через камеру, в отражениях, а
также на нерезкость солнечных теней. Чем больше значение, тем более размытыми
будут тени;
Filter color — позволяет сдвигать цветовой тон (Hue) системы V-Ray Sun and Sky
к указанному цвету;
Color mode (Цветовой режим) — воздействует на изменение цвета солнца, заданное
в параметре Filter color.
Рис. 5.36. Вид из окна Perspective
Рис. 5.37. Настройки источника света VRaySun
Свиток Sky Parameters (Параметры неба):
Sky model (Модель неба) — позволяет выбрать процедурную модель для генерации
текстуры неба VRaySky;
Ground albedo — меняет цвет земли;
Indirect horiz illum. (Непрямое горизонтальное освещение) — величина освещенно-
сти (в люксах) горизонтальных поверхностей.
Blend angle (Величина смешивания) — определяет степень размытия горизонта;
Horizon offset (Смещение горизонта) — определяет положение горизонта по верти-
кали;
Turbidity (Дымка) — задает количество пыли в воздухе и влияет на цвет солнца и
неба. Малые значения дают чистый воздух, голубое небо и яркое солнце. Большие
значения делают небо и солнце желтыми и оранжевыми;
Визуализатор V-Ray
307
Ozone (Озон) — влияет на цвет солнечного света. Меньшие значения делают сол-
нечный свет более желтым, бо́льшие — более голубым.
Свиток Options:
Invisible (Невидимый) — когда опция включена, солнце становится невидимым для
камеры и для отражений;
Affect diffuse (Влиять на диффузные отражения) — определяет, будет ли VRaySun
влиять на диффузные свойства материалов;
Affect specular (Влиять на блики материалов) — определяет, будет ли VRaySun
влиять на блики материалов;
Affect atmosphere (Влиять на атмосферные эффекты) — определяет, будет ли
VRaySun влиять на атмосферные эффекты;
Cast atmospheric shadows (Отбрасывать атмосферные тени) — когда опция вклю-
чена, атмосферные эффекты в сцене будут отбрасывать тени.
Свиток Sampling:
Shadow bias (Смещение тени) — управляет положением теней относительно объек-
та;
Photon emit radius (Радиус источника фотонов) — определяет радиус области, из
которой излучаются фотоны.
Установите следующие параметры в свитке Sun Parameters: Intensity multiplier = 0.04,
Size multiplier = 4. Так как солнце расположено достаточно низко над землей, на визуализации будет мягкое вечернее освещение (рис. 5.38).
Рис. 5.38. Установлено вечернее освещение
На визуализации хорошо видна линия горизонта, т. к. в этом упражнении дом стоит на
небольшой плите, то отображение земли больше мешает, чем украшает. В настройках
солнца перейдите в свиток Sky Parameters и увеличьте значение параметра Horizon
offset до 20. Параметры Turbidity и Ozone неактивны, т. к. для Sky model активировано
безоблачное небо, при включении, например, опции CIE Overcats (Облачное небо) вам
будут доступны параметры для настроек дымки и затухания света к горизонту.
308
Глава 5
Настройки текстурной карты неба и солнца связаны между собой. Чем ярче вы делаете
солнце, тем ярче будет небо. Если необходимо разорвать эту связь, нужно открыть редактор материалов и перетащить мышью в рабочую область редактора название карты
с панели Environment and Effects. В настройках карты необходимо включить опцию
Specify sun node, тогда вам будут доступны настройки неба, независимо от яркости
солнца.
В визуализации экстерьера редко делают внутреннюю отделку, т. к. это увеличит объем
сцены и время визуализации, но, чтобы окна не оставлять черными, можно добавить
внутрь плоскость с изображением интерьера или ввести источник света для имитации
освещения внутри дома.
На виде Top добавьте в сцену два источника света типа VRayLight внутрь дома (в те
комнаты, где расположены окна, отображаемые в окне Perspective). В настройках источников света выберите для Type = Sphere, Radius = 60 см, Multiplier = 4. В свитке
Options активируйте опцию Invisible. Визуализируйте сцену (рис. 5.39), в окнах должен появиться свет, если его нет или он очень тусклый, переместите источники света
ближе к окнам и увеличьте их интенсивность (параметр Multiplier). Дополнительно
можно добавить источники света VRayLight на втором этаже возле окна и деревья
с помощью команды File | Import | Merge. Деревья расположены в файле \scenes\
lesson_5.4\Tree.max. Результат финальной визуализации показан на рис. ЦВ-5.39. В окне
VRay Frame Buffer был добавлен слой Exposure с параметрами в соответствии
с рис. 5.40 для увеличения контрастности.
Этому состоянию сцены соответствует файл \scenes\lesson_5.4\Cottage_end.max.
Рис. ЦВ-5.39. Финальная визуализация
Рис. 5.40. Настройки экспозиции
Практическая работа
Откройте файл \scenes\practice_5.4\House.max и установите солнечное освещение.
Визуализатор V-Ray
309
Упражнение № 5-5. Освещение
и установка камер в интерьере
В упражнении научимся выставлять дневное освещение для интерьера и работать с камерами. В сцене уже будут назначены необходимые материалы, мы сделаем акцент
только на свет за окном и внутри помещения. В следующих упражнениях будут рассмотрены методы работы с материалом VRayMtl и библиотекой материалов.
Откройте файл \scenes\lesson_5.5\Interior.max. Все материалы сцены расположены в папке \sceneassets\images\Interior\. Если вы создавали свой проект, обязательно перенесите
все текстуры в соответствующую папку.
В нашей сцене находится более 600 000 полигонов, и это не так много для интерьера,
обычно сцена может содержать 2 или 3 миллиона полигонов. В этом случае увеличивается размер сцены и медленнее происходит сохранение и манипуляции, кроме того, при
визуализации сильно увеличивается время просчета. Многое зависит от мощности компьютера и объема оперативной памяти, если ваш компьютер средней мощности и всего
8 Гб оперативной памяти, то старайтесь придерживаться следующих рекомендаций:
При импорте объектов всегда проверяйте число полигонов. Статистику сцены мож-
но включить с помощью клавиши <7>, в верхнем левом углу активного видового
окна отобразится информация о видимых объектах (рис. 5.41), где Polys — число
полигонов в сцене, Verts — число вершин и FPS — скорость взаимодействия с видовым окном (число кадров в секунду), режим активируется, когда вы начинаете
вращать сцену. При включении режима Isolate Selection (Изолировать выделение),
будет отображаться информация только для изолированного объекта.
Рис. 5.41. Статистика сцены
Рис. 5.42. Настройки оптимизации отображения
Включайте режим отображения ребер с помощью клавиши <F4> или через меню
видового окна, щелкнув по последнему пункту и выбрав опцию Edged Faces. Отображение сетки поможет вам сразу увидеть объекты с большим числом полигонов.
При этом на задний план помещайте объекты максимально оптимизированные.
Для оптимизации объектов используйте модификатор ProOptimizer. Он позволяет
уменьшить число полигонов и оптимизировать модель до 90%. Модификатор изменяет структуру объекта, поэтому нарушается распределение проекционных коорди-
310
Глава 5
нат и нужно будет заново назначать UVW Map или строить развертку Unwrap
UVW (см. видео \Lesson_5.5\Optimize_object.mp4).
Не используйте большие текстурные карты (при высоком разрешении они могут
быть более 20 Мб). Уменьшайте их размер в растровых редакторах, особенно если
ваша визуализация невысокого разрешения (не более 3000 px).
Оптимизируйте настройки видового окна. Для этого в меню окна Perspective (в том
окне, где отображаются материалы) щелкните по предпоследнему пункту Standard
(по умолчанию). Для вас доступны настройки отображения материалов, теней и
прозрачности (рис. 5.42). Если значение FPS при манипуляциях в сцене меньше 10,
включите вместо Standard вариант Performance. Дополнительно для Standard |
Material можно выбрать опцию Override with Fast Shader (Заменить быстрым методом затенения), в этом случае, если программе будет тяжело просчитывать сцену,
она заменит отображаемые материалы на самые простые (без текстур, отражений
и преломлений). Все настройки в меню Standard относятся только к видовым окнам
и никак не отражаются на визуализации.
Установка камер
Подготовим сцену и скроем лишние объекты. На главной панели инструментов щелк, чтобы открыть редактор слоев. Выключите
ните по кнопке Toggle Layer Explorer
видимость слоев Декор, Мебель, Цветы, Светильники и Потолок. Создайте новый слой Камеры,
. Автоматически новый слой станет активщелкнув по иконке Create New Layer
ным, и все новые объекты будут создавать в нем.
В сцене создадим три физические камеры VRayPhysicalCamera. Перейдите в окно Top
и на командной панели перейдите на вкладку Create
| Cameras
. В списке типов
объектов выберите VRay и щелкните по кнопке VRayPhysicalCamera. Создайте три
камеры соответствии с рис. 5.43 и переименуйте их в Камера1, Камера2 и Камера3.
Настроим вид из камер. Чтобы легче было выделять камеры, на главной панели инструментов в выпадающем свитке Selection Filter (рис. 5.44) выберите пункт Cameras.
В результате нам будут доступны для выделения только камеры.
Рис. 5.43. Начальное положение камер в сцене
Рис. 5.44. Активирован фильтр выделения
объектов
Визуализатор V-Ray
311
В окне Front выделите поочередно каждую камеру и ее цель и поднимите их на высоту
1200 мм.
Начнем настройку вида из камер. Перейдите в видовое окно Perspective, щелкните
в меню по его названию и выберите опцию Camera | Камера1. Для точной настройки
отобразим границы визуализации, для этого снова щелкните по названию видового
окна, теперь это будет Камера1, и выберите опцию Show Safe Frames (Показать безопасные границы).
Включите отображение всех слоев и, изменяя только горизонтальное положение камеры, настройте вид в соответствии с рис. 5.45. Перемещать камеру удобно в окне Top,
если вы используете инструменты из нижнего правого угла для манипуляций с камерой, то проверьте, не изменилась ли высота. Координаты положения объекта Камера1
могут быть X = 540 мм, Y = −5000 мм, Z = 1200 мм.
Рис. 5.45. Вид из Камера1
Переключите вид на объект Камера2. Быстрое переключение камер доступно по клавише
<C>. Настройте вид в соответствии с рис. 5.46, координаты этой камеры: X = 940 мм,
Y = −1200 мм, Z = 1200 мм. Камеру Камера3 настройте в соответствии с рис. 5.47, ее координаты: X = 3600 мм, Y = −5300 мм, Z = 1200 мм.
Рис. 5.46. Вид из Камера2
Рис. 5.47. Вид из Камера3
312
Глава 5
Если сейчас визуализировать сцену из любой камеры, мы увидим черное изображение,
поскольку в сцене отсутствуют источники света. Далее добавим дневной свет.
На главной панели инструментов выключите фильтр Selection Filter для ограничения
выделения камер, задав ему значение All.
Промежуточный файл с камерами находится в папке проекта \scenes\lesson_5.5\Interior_
camera.max.
Установка дневного освещения
Перейдите на вкладку Create
| Lights
. В группе типов объектов выберите VRay
и щелкните по кнопке VRaySun. На виде Left создайте источник света от верхнего левого угла к центру помещения. Источник света должен располагаться достаточно далеко от центра. На виде Top сместите солнце немного правее (рис. 5.48). Примерные
координаты положения могут быть такими: X = 3000 мм, Y = 15000 мм, Z = 7500 мм.
Рис. 5.48. Положение солнца на виде Top и Left
Перейдите на вид из Камера1 и визуализируйте сцену, она получится достаточно темной.
Перед окнами дома установлены параллелепипеды, на которые мы будем применять
текстуру окружения, они закрывают все окно и не дают солнечному свету попасть
внутрь. Исключим их у источника света VRaySun. Выделите солнце и перейдите к его
настройкам. В свитке Options щелкните по кнопке Exclude (Исключить) и перенесите
из левой части в правую объекты Фон1 и Фон2.
Визуализируйте сцену из первой камеры, изображение станет намного светлее. Выделите солнце и в его параметрах в свитке Sun Parameters (Параметры солнца) установите Size multiplier = 3, параметр отвечает за размер диска солнца и влияет на размытие
теней.
Визуализация после настроек солнца будет соответствовать рис. 5.49.
Добавим окружение за пределами помещения. Откройте редактор материалов и
добавьте в рабочую область материал, выполнив команды Materials | VRay |
VRayLightMtl. Это специальный материал для создания неонового свечения, часто
Визуализатор V-Ray
313
применяется для имитации окружения интерьера. Рядом с материалом добавьте
текстурную карту Bitmap и выберите файл из папки \sceneassets\images\Interior\
background.jpg. Соедините текстурную карту с параметром Light color материала
VRayLightMtl. В настройках материала установите для параметра Color значение 20
для увеличения интенсивности свечения. При использовании обычного материала фон
получился бы слишком тусклым из-за того, что недостаточно освещен, поэтому рекомендуется применять самосветящийся материал. Примените материал к объектам Фон1
и Фон2. Визуализируйте сцену (рис. 5.50).
Рис. 5.49. В сцене установлено солнечное освещение
Рис. 5.50. В сцену добавлен фон за окном
Искусственное освещение
Добавим в сцену источники искусственного освещения. Несмотря на то что у нас есть
яркое солнце, свет от лампочек красиво смотрится даже при солнечном освещении.
В помещении присутствует пять лампочек: четыре на потолке, а одна возле стены
314
Глава 5
в декоративном светильнике. Для потолочных источников будем использовать VRayLight
сферической формы, для декоративного — Mesh-форму.
В редакторе слоев создайте новый слой Источники света.
Добавьте в сцену источник света VRayLight, пока в произвольном месте. В параметрах
источника света в свитке General для параметра Type выберите Sphere, Radius =
= 45 мм. Поместите источник света внутри одного из светильников на потолке, прямо
на место лампочки (рис. 5.51). Проверьте положение источника света во всех проекциях.
Создайте три копии добавленного источника света с типом клонирования Instance. Это
позволит изменить настройки только у одного источника, параметры клонов будут меняться автоматически. Для удобства выделения и перемещения источников света на
главной панели инструментов в свитке Selection Filter выберите опцию Lights. Разместите все источники внутри светильников (рис. 5.52).
Рис. 5.51. Положение источника света
VRayLight
Рис. 5.52. Положение источников света
внутри светильников
Для быстрой настройки источников света V-Ray в главном меню откройте окно Tools |
V-Ray Light Lister. В окне будут расположены все источники света типа V-Ray. В первой строке, где отображается VRayLight, можно заметить выпадающий список с зависимыми копиями. В той же строке для параметра Multiplier введите значение 30, в колонке Units (Единицы измерения) выберите из списка пункт Radian power (W) и
включите параметр Invisible (рис. 5.53).
Искусственные источники дадут нам небольшой свет внутри помещения и возможность добавить специальный оптический эффект свечения, который можно активировать в постобработке в окне V-Ray Frame Buffer.
На лампочки внутри светильников назначим самосветящийся материал. Так как лампочка находится внутри группы, предварительно нужно открыть несколько вложенных
групп (см. видео \Lesson_5.5\Open_group.mp4). Выделите в сцене группу caspian grande
pendant. В главном меню выберите команду Group | Open. Щелкните по зеленому светильнику lamp 003 и снова выполните команду Group | Open. Далее следует последовательно щелкнуть по светильнику для выделения внутренней группы Lampo4ka 003. Снова
откройте группу, сейчас будет возможность выделить объект Lampo4ka light 005. В редакторе материалов создайте материал VRayLightMtl. В настройках для параметра
Color введите значение 20 и примените к объекту Lampo4ka light 005.
Визуализатор V-Ray
315
Рис. 5.53. Окно V-Ray Light Lister
Откройте группы для остальных светильников и примените созданный материал
VRayLightMtl к лампочкам Lampo4ka light 004, Lampo4ka light 002, Lampo4ka light 006.
Чтобы случайно не переместить объект, выделять объекты лучше инструментом Select
Object.
После применения материалов группу лучше всего закрыть, для этого щелкните по розовой рамке вокруг светильников и в главном меню выберите команду Group | Close.
Визуализируйте сцену, в процессе визуализации в окне V-Ray Frame Buffer добавьте
новый слой Exposure и в параметрах укажите следующие настройки Exposure = 1.4,
Highlight Burn (Блики) = 0.2, Contrast = 0.15 (рис. 5.54). Параметр Highlight Burn хорошо приглушает засвеченные области.
Рис. 5.54. Визуализация с искусственным светом и коррекцией экспозиции
Добавим в декоративную лампу у стены источник света в соответствии с ее формой.
Переключите вид на Камера2. Затем, чтобы не менять положение камеры и иметь возможность вращать видовое окно, переключитесь на вид Perspective. Выделите группу
лампа декоративная и щелкните в нижней части окна программы по иконке Isolate
Selection
, чтобы скрыть все объекты сцены, кроме лампы (рис. 5.55). Раскройте
316
Глава 5
группу с помощью команды Group | Open. Найдите объект белого цвета внутри центральной части лампы светящийся элемент (рис. 5.56).
Создайте источник света VRayLight в любом месте сцены. В настройках источника
света в свитке General измените параметр Type на Mesh. В свитке Mesh light щелкните
по кнопке Pick mesh и укажите объект светящийся элемент. Для параметра Multiplier
установите значение 120. Закройте группу и выйдите из режима Isolate Selection, снова
.
щелкнув по кнопке
Визуализируйте сцену из Камера2 (рис. 5.57), созданный источник света будет давать
мягкие блики на стене.
Рис. 5.55. В сцене изолирована
декоративная лампа
Рис. 5.56. Выделена центральная часть
декоративной лампы
Рис. 5.57. Визуализация из второй камеры
Визуализатор V-Ray
317
Добавим эффект световых бликов для источников света в сцене. Для этого откройте
настройки визуализации Render | Render Setup и перейдите на вкладку Render
Elements (Элементы визуализации). Щелкните по кнопке Add и добавьте эффект
VRayLightMix. Визуализируйте сцену. После первичного просчета и нескольких проходов вторичного, в сцене появятся яркие световые пятна, а в окне V-Ray Frame Buffer
будет активен слой Lens Effects. Если он не активизировался, щелкните по слою Lens
Effects и в параметрах включите опцию Enable bloom/glare. Дополнительно в параметрах эффекта увеличьте значение Size (Размер) до 70 и Intensity (Интенсивность) до 6
(рис. 5.58).
Рис. 5.58. Активизирован эффект Lens Effects
Настройка ограничивающих плоскостей у камеры
При визуализации интерьеров часто не хватает размеров помещения, и для более широкого охвата вида из камеры ее необходимо переместить за пределы комнаты. В этом
случае в настройках камеры активируются специальные плоскости, отсекающие предметы за их пределами. Перейдите к виду из Камера3, выделите ее на виде Top и измените ее координаты: X = 5300 мм, Y = −2500 мм, Z = 1200 мм, дополнительно измените
координаты цели камеры: X = 1500 мм, Y = −2500 мм, Z = 1200 мм. Камера теперь
смотрит на внешнюю стену помещения. Перейдите в настройки третьей камеры,
в свитке Clipping & Environment активизируйте параметр Clipping. Чуть ниже находятся координаты плоскостей, определяющих зону визуализации. Near clipping
plane — ближайшая к камере плоскость, если камера находится за пределами помещения, ее передвигают внутрь помещения, Far clipping plane — самая удаленная от камеры плоскость, обычно выходит за пределы помещения. Плоскости в видовых окнах
отображаются в виде красных линий. Установите для плоскости Near clipping plane
расстояние 2280 мм, для Far clipping plane — 5800 мм. Положение плоскостей соответствует рис. 5.59, вид из камеры изображен на рис. 5.60.
Визуализируйте вид из третьей камеры (рис. ЦВ-5.61). Дополнительно можно в окне
V-Ray Frame Buffer создать слой White Balance и для параметра Temperature устано-
318
Глава 5
вить значение 5000. Освещение на визуализированной сцене будет менее желтым.
Готовая сцена находится в папке \scenes\lesson_5.5\Interior_end.max.
П РИМЕЧАНИЕ
Файл с интерьером для учебных целей предоставил талантливый начинающий дизайнер
интерьеров Васильева Наталия.
Рис. 5.59. Положение ограничивающих плоксостей
Рис. 5.60. Вид из третьей камеры
Рис. ЦВ-5.61. Визуализация из третьей камеры
Практическая работа
Самостоятельно: 1) добавьте в сцену четвертую камеру для визуализации вида сверху,
чтобы отображалось все помещение; 2) уберите свет солнца и создайте визуализацию
вечернего освещения, при необходимости добавьте источники света.
Визуализатор V-Ray
319
Упражнение № 5-6. Материалы V-Ray
Материал VRayMtl
При визуализации с помощью V-Ray доступны практически все материалы 3ds Max,
кроме материалов типа Raytrace и Architectural.
Создайте новую сцену и установите в ней визуализатор V-Ray. Откройте редактор материалов, щелкните правой кнопкой мыши в рабочей области и выберите Material |
VRay | VRayMtl. Основные настройки материала VRayMtl сосредоточены в свитке
Basic parameters (рис. 5.62):
раздел Diffuse (Рассеивание):
• Diffuse — отраженный цвет материала;
• Roughness — шероховатость;
раздел Reflect (Отражение):
• Reflect — цвет отражения. Если установить черный цвет, то отражения не будет.
Белый цвет означает полное отражение;
• Fresnel reflections (Отражения по Френелю) — этот эффект зависит также от
коэффициента преломления (IOR);
• Glossiness — определяет размытость отражений. Чтобы сделать отражение более
размытым, следует уменьшать это значение;
• Max depth — максимальное число отражений луча;
Рис. 5.62. Настройки материала VRayMtl
320
Глава 5
раздел Refract (Преломление):
• Refract — цвет преломления. Черный цвет означает отсутствие прозрачности,
преломления не будет. Белый цвет соответствует полной прозрачности;
• IOR — коэффициент преломления материала;
• Glossiness — определяет размытость преломлений;
раздел Translucency (Прозрачность):
• None/Volumetric/SSS — определяют алгоритм расчета рассеивания материала;
• Depth — глубина просвечивания;
раздел Self-illumination (Самосветимость):
• Self-illumination — cамосветимость, управляет излучением с поверхности;
• GI — когда флажок установлен, самосветимость влияет на лучи непрямого освещения (GI) и позволяет этой поверхности излучать свет на соседние объекты;
• Mult — множитель для эффекта самосветимости.
Создание материалов
Откройте из папки этого упражнения файл \scenes\lesson_5.6\Materials.max. На командной панели инструментов перейдите в категорию Lights и из выпадающего списка
выберите источники света типа V-Ray. Добавьте в сцену источник света VRayLight:
Type = Plane, Width = 100 мм, Length = 100 мм, Multiplier = 16. Расположите его со
стороны камеры (это будет основной свет). В настройках визуализации перейдите на
вкладку V-Ray в свиток Environment и задайте параметру GI Environment значение 0.5. Откройте редактор материалов и всем объектам сцены назначьте материал
VRayMtl (расположен в группе Material | V-Ray). Задайте разные цвета Diffuse каждому материалу. Визуализируйте сцену (рис. 5.63).
Рис. 5.63. В сцене установлен основной источник света и глобальное окружение
Простое стекло
Выберите объект Cup и в редакторе материалов перейдите к настройкам соответствующего материала. Его цвет Diffuse сделайте черным. Цвет параметра Refract (белый —
Визуализатор V-Ray
321
абсолютно прозрачное стекло, серый — полупрозрачное) сделайте равным (210, 210,
210). Установите коэффициент преломления IOR = 1.1. Там же включите флажок
Affect shadows, чтобы материал этого объекта отбрасывал прозрачные тени. Визуализируйте сцену (рис. 5.64).
Чтобы создать матовое стекло, оставьте все предыдущие настройки без изменения.
В разделе Refract редактора материалов для объекта Cup в счетчике Glossiness установите значение 0.7. У вас получится полупрозрачное матовое стекло (рис. 5.65). Такому
состоянию сцены соответствует файл \scenes\lesson_5.6\Materials_glass.max.
Рис. 5.64. Прозрачное стекло
Рис. 5.65. Полупрозрачное матовое стекло
Зеркальная поверхность
Создадим отражающий материал. Для этого переставьте объекты в сцене так, чтобы
в них могли отражаться соседние объекты, и переназначьте материалы так, чтобы для
объекта Vase было назначено матовое стекло, остальные материалы распределите произвольно. Для материала объекта Cup в разделе Reflect установите светлый цвет, указав
значение параметра Reflect равным (215, 215, 215). Для материала объекта Box там же
установите значение параметра Reflect равным (190, 190, 190). Визуализируйте сцену
(рис. 5.66), на объекте Cup отражение будет заметно сильнее и появится блик, на объек-
Рис. 5.66. Зеркальное отражение света
Рис. 5.67. Размытое зеркальное отражение
322
Глава 5
те Box, для материала которого было установлено менее интенсивное отражение, появятся слегка различимые силуэты соседних объектов.
Чтобы создать материал с размытыми отражениями, оставьте все предыдущие настройки без изменения. Для материалов объектов Cup и Box в разделе Reflect в счетчике
Glossiness установите значение 0.8 (рис. 5.67). Этому состоянию сцены соответствует
файл \scenes\lesson_5.6\Materials_mirror.max.
Библиотека материалов
При установке визуализатора V-Ray версии 5 появляется библиотека материалов
V-Ray Material Library. Если вы ее загрузили, то вам будет доступен разнообразный
набор качественных материалов. Если вы не загружали библиотеку материалов,
ее можно установить, запустив файл mtllib.exe из папки C:\ProgramData\Autodesk\
ApplicationPlugins\VRay3dsMax2022\bin.
Доступ к библиотеке осуществляется через панель V-Ray. Щелкните по кнопке V-Ray
Material Library Browser
(см. видео \Lesson_5.6\Material_library.mp4). Откроется
одноименное окно с категориями материалов и их предварительным просмотром
(рис. 5.68).
Рис. 5.68. Библиотека маетриалов V-Ray
Для того чтобы воспользоваться материалом из библиотеки, его нужно перетянуть
в редактор материалов и затем применить к объекту (см. видео \Lesson_5.6\Assign_
material_from_library.mp4). Для объекта Cup назначьте материал Metal_Pattern_A_
bmp_5cm из категории Metal (Металл). Для объекта Vase — материал Glass_Window_
Water_Blue из категории Glass (Стекло) и для объекта Box — материал Carpet_
A04_100cm из категории Fabric (Материал). Визуализируйте сцену (рис. 5.69).
Этому состоянию сцены соответствует файл \scenes\lesson_5.6\Materials_library.max.
Визуализатор V-Ray
323
Рис. 5.69. К объектам применены материалы из библиотеки V-Ray
Упражнение № 5-7.
V-Ray. Настройки цвета и отражений
Создание материалов и освещения
Откройте из папки этого упражнения файл \scenes\lesson_5.7\Reflect.max. В рассматриваемой сцене объекты расположены так, чтобы можно было наблюдать их отражения.
Создадим бесконечную плоскость, для этого на командной панели на вкладке Create |
Geometry из списка типов объектов выберите пункт V-Ray и щелчком мыши в окне
камеры создайте в сцене объект типа VRay Plane. Появится плоскость со стрелкой
вверх, в сцене она имеет ограниченный размер (рис. 5.70), но при визуализации она
будет бесконечной вдоль плоскости XY. Установите визуализатор V-Ray.
В редакторе материалов есть четыре материала типа VRayMtl. Параметру Diffuse (Рассеянный отраженный цвет) первого материала задайте значение, соответствующее
ярко-оранжевому цвету (235, 120, 25), и присвойте этот материал объекту pot1. Для
второго материала задайте бирюзовый цвет, установив значение параметра Diffuse равным (0, 76, 112), и присвойте этот материал объекту pot2. Для третьего материала
задайте красный цвет (150, 0, 0) и присвойте этот материал объекту pot3. Цвет плоскости можно сделать светло-серым (200, 200, 200).
Рис. 5.70. Взаимное расположение объектов
Рис. 5.71. Включено освещение типа Skylight
324
Глава 5
Для цветов создайте материал типа VRayMtrl и сделайте их синими (0, 0, 200).
Откройте настройки визуализации Rendering | Render Setup, перейдите на вкладку V-Ray
и раскройте свиток Environment. Включите там небесное освещение (GI environment).
Небесный свет установите чисто-белым. После визуализации у вас должно получиться
примерно так, как показано на рис. 5.71.
Этому состоянию сцены соответствует файл \scenes\lesson_5.7\Reflect_sky.max.
Создание отражений
В редакторе материалов выделите материал с назначенным ранее бирюзовым цветом
для объекта pot2. Поле Reflect в свитке Basic Parameters отвечает за свойства отражения выбранного материала. Установка цвета в этом поле является основным параметром, управляющим свойствами отражения. Черный цвет означает, что материал не обладает свойством отражения, белый — материал на 100% отражающий. Если сделать
его красным, то отражения будут иметь красный оттенок. Сначала попробуйте серый
цвет (например, 200, 200, 200) — должно получиться как на рис. 5.72. Обратите внимание, что поверхность объекта pot2 стала отражать. Попробуйте задать темные и светлые
градации серого цвета, чтобы увидеть разницу.
Рис. 5.72. Параметру Reflect установлен цвет (125, 125, 125)
Влияние параметра Fresnel reflections
(Отражения по Френелю)
Части поверхности, расположенные перпендикулярно линии взгляда, отражают, как
правило, меньше, чем части поверхности, повернутые к нам под другими углами. Подобное явление наблюдается практически на всех отражающих поверхностях. Величиной этого эффекта можно управлять, задавая значения параметров Fresnel reflection
(Отражения по Френелю) и Fresnel IOR (Коэффициент преломления для эффекта Френеля) того или иного материала. В реальности эффект Френеля всегда связан со значением коэффициента преломления IOR.
По умолчанию для V-Ray материалов всегда включено отражение по Френелю, и сила
отражения зависит от угла, под которым мы смотрим на поверхность объекта. В на-
Визуализатор V-Ray
325
стройках бирюзового материала для объекта pot2 в области Reflect выключите параметр Fresnel reflection и визуализируйте сцену (рис. 5.73), вы увидите зеркальную
поверхность, в этом случае вы никак не управляете коэффициентом преломления.
Рис. 5.73. Выключен параметр
Fresnel reflection
Рис. 5.74. Изменен коэффициент преломления
по Френелю
Снова включите параметр Fresnel reflection и чуть ниже щелкните указателем мыши на
маленькой букве L справа от поля Fresnel IOR, чтобы параметр Fresnel IOR стал доступным для изменения. Обычно этот параметр связан с коэффициентом Refract IOR,
находящимся в другом свитке. Выключив L (Lock), мы сможем настроить свой коэффициент отражения. Задайте значение Fresnel IOR = 3 и визуализируйте сцену
(рис. 5.74, см. файл \scenes\lesson_5.7\Reflect_fresnel.max). Попробуйте поставить значения 10, 20 и 1, посмотрите, как меняется отражение в зависимости от заданного коэффициента. Чем меньше будет значение параметра Fresnel IOR, тем слабее будет отражение в средней части объекта.
Создание размытых отражений:
параметр Reflection glossiness
Для материала объекта pot2 уменьшите параметр Glossiness с 1.0 до 0.5 и увеличьте
параметр Fresnel IOR до 10, для увеличения отражения (рис. 5.75). Параметр
Glossiness позволяет размыть отражение, чем меньше его значение, тем более размытым будет поверхность.
Этому состоянию сцены соответствует файл \scenes\lesson_5.7\Reflect_glossiness.max.
Hilight glossiness (Размытость блика)
Hilight — это отражения яркого источника света. Они появляются на поверхности материала только в том случае, когда в сцене есть источник света и для материала включено отражение Reflect. Небесный свет (Skylight) не будет вызывать такой эффект, т. к.
создает непрямые лучи света.
Чтобы наблюдать эффект Hilight glossiness, добавьте источник света типа VRayLight,
направленный на объекты. В окне Render Setup в свитке Environment (на вкладке
326
Глава 5
Рис. 5.75. Применено размытие отражения
Рис. 5.76. На поверхности объекта
появились блики
V-Ray) уменьшите значение параметра GI environment до 0.2. Визуализируйте сцену.
Светлые блики на поверхности объекта pot2 — это и есть Hilight Glossiness (рис. 5.76).
Измените значение Glossiness в разделе Reflect на 0.9, чтобы убрать матовость и придать блику четкие края.
Для того чтобы материал не имел отражений и рассчитывался только с помощью алгоритма Hilight Glossiness, отражения у материала необходимо выключить. Это можно
сделать в свитке Options редактора материала (рис. 5.77).
Уберите флажок у опции Trace reflections (Трассировать отражения) для материала
объекта pot2 и визуализируйте сцену. Теперь на материале видны только блики, но это
также нереалистичный материал, поскольку он отражает лишь источник света
(рис. 5.78).
Этому состоянию сцены соответствует файл \scenes\lesson_5.7\Reflect_highlight.max.
Рис. 5.77. Свиток Options редактора материалов
Рис. 5.78. Отключена трассировка отражений
Применение текстурных карт
В редакторе материалов к параметрам, расположенным в области Reflect, можно применять текстурные карты. Это значит, что вы можете задавать цвет отражений, пара-
Визуализатор V-Ray
327
метр Glossiness и величину эффекта Френеля при помощи карты. Например, создайте
в редакторе материалов текстурную карту Checker и привяжите ее к каналу Reflect
материала объекта pot3.
В параметрах материала в области Reflect увеличьте значение Metalness до 1. Таким образом мы активируем максимальное отражение поверхности, тот же эффект можно получить, если выключить отражение по Френелю (Fresnel reflection). Визуализируйте сцену (рис. 5.79). Поскольку текстурная карта состоит из чередующихся черно-белых
квадратов, точно так же будет повторяться отражение. Там, где белый цвет, будет максимальное отражение, где черный — отражение будет отсутствовать. Можно менять
цвета, тем самым изменяя силу и цвет отражений.
Этому ее состоянию соответствует файл \scenes\lesson_5.7\Reflect_texture.max.
Рис. 5.79. К объекту pot3 применена карта отражения Checker
Все черные части карты стали полностью неотражающими, все белые части — стопроцентно отражающими.
Практическая работа
Импортируйте в сцену объект из файла \scenes\practice_5.7\Ryan_Coffee_3Dhi.3ds и самостоятельно создайте изображение, аналогичное приведенному в файле \renderoutput\
practice_5.7\Ryan_Coffee.jpg.
Упражнение № 5-8. V-Ray.
Настройки прозрачности и свойств преломления
Создание тестовой сцены
Создайте новую сцену. В качестве единиц измерения установите в сцене миллиметры.
На вкладке Create командной панели в категории Geometry выберите из раскрывающегося списка вариант построения объектов Extended Primitives (Дополнительные
примитивы) и создайте объект Knot (тор) типа Torus Knot (рекомендуемые его настройки приведены на рис. 5.80).
328
Глава 5
Добавьте к сцене модель бокала из файла \scenes\lesson_5.8\Glass.max, расположенного
в папке проекта, для чего выполните последовательность команд File | Import | Merge,
в открывшемся диалоговом окне выберите нужный файл и загрузите в сцену модель
одного бокала (Gobl_4). Аналогичным образом из файла \scenes\lesson_5.8\Chess.max загрузите в сцену модель одной фигуры (например, фигуры alfil). Поместите ее позади
созданных объектов — она будет служить фоновой фигурой. Создайте цилиндр высотой 5 мм и радиусом 530 мм, на котором располагаются объекты.
Рис. 5.80. Параметры объекта Knot
Рис. 5.81. Исходная сцена
Всем объектам сцены назначьте материал типа VRayMtl. Для цилиндра установите
синеватый цвет со значением параметра Diffuse = (125, 145, 150), объект Knot сделайте
светлым со значением цвета (230, 230, 230), материалу бокала присвойте цвет
(130, 225, 225). Шахматную фигуру сделайте светлой. Установите светлый цвет для
фона (Rendering | Environment, параметр Background). Во всех материалах цвет для
Reflect (Отражать) и Refract (Преломлять) оставьте абсолютно черным. Визуализируйте сцену — должно получиться примерно так, как показано на рис. 5.81 (см. файл
\scenes\lesson_5.8\Refracr.max).
Создание преломлений
Перейдем к настройкам преломления — за него отвечает параметр Refract в редакторе
материала. Угол отклонения луча света от исходного направления зависит от коэффициента преломления материала IOR (Index of Refraction). Высокие значения IOR повлекут за собой значительное отклонение луча, а если IOR = 1.0, то луч преломляться
не будет.
Материал типа VRayMtl имеет достаточно настроек, чтобы создать практически любой
тип преломляющей среды. Многие опции настроек преломления сходны по значению
с настройками отражения материала.
Для начала измените цвет преломления бокала и объекта Knot (параметр Refract) на
умеренно серый (200, 200, 200). Визуализируйте изображение — объект стал полупро-
Визуализатор V-Ray
329
зрачным (рис. 5.82). Серый цвет в настройках преломления означает, что материал прозрачен примерно на 80%.
Поменяйте цвет Diffuse для объекта Knot на более темный (10, 10, 10) и визуализируйте
картинку снова — результат будет выглядеть так, как показано на рис. 5.83.
Рис. 5.82. Объекты стали прозрачными
Рис. 5.83. Изменен цвет объекта
Измените для объекта Knot цвет преломления (Refract) на чисто-белый. Материал объекта Knot стал на 100% прозрачным, и теперь основной (диффузный) цвет никак не
влияет на конечный вид материала (рис. 5.84). Чтобы сделать стекло цветным, перейдите в область Translucency и для параметра Fog color задайте цвет (215, 190, 250). На
визуализации будет видно, что стекло станет светло-фиолетовым.
Рис. 5.84. Материал тора стал прозрачным
330
Глава 5
Настройка отражений
Для материала бокала примените те же настройки, что и для материала объекта Knot.
В области Translucency для параметра Fog color задайте цвет (165, 200, 250).
Материалы рассматриваемого типа (прозрачные, преломляющие) обычно имеют еще и
свойство отражать окружение. Если теперь для объекта Knot и для бокала настроить
цвет в поле Reflect (Отражать) на чисто-белый, то материал будет выглядеть лучше —
это простой пример прозрачного стекла (рис. 5.85). Такому состоянию сцены соответствует файл \scenes\lesson_5.8\Refract_reflect.max.
Рис. 5.85. Пример прозрачного стекла
Рис. 5.86. Значение параметра Glossiness = 0,8
Размытие прозрачности
Параметры Glossiness в настройках преломления и отражения идентичны и позволяют
размыть прозрачность. Это наиболее "энергоемкая часть" свойств материала — время
расчета возрастает на порядок.
В области Refract (Преломление) редактора материалов для бокала и объекта Knot
установите значение Glossiness = 0.8. Визуализируйте сцену (рис. 5.86). Такому состоянию сцены соответствует файл \scenes\lesson_5.8\Refract_glossiness.max.
Преломление света
В области Refract редактора материалов установите для объекта Knot значение IOR
(Коэффициент преломления) = 1, для значения Glossiness задайте 1 и визуализируйте
картинку — объект станет напоминать цветную каплю воды. Если для параметра Fog
color вернуть белый цвет, то объект совсем исчезнет. Это связано с тем, что ни один
луч не преломится при переходе границы "воздух/стекло" при таких значениях коэффициента преломления. А поскольку Fresnel IOR (Коэффициент преломления для
Визуализатор V-Ray
331
эффекта Френеля) связан с IOR преломления, то и он будет равен 1.0. Значит, объект
потеряет способность не только преломлять, но и отражать. Цвет Refract — чистобелый, следовательно, и оттенков цвета преломления тоже не будет (см. файл \scenes\
lesson_5.8\Refract_ior.max).
Подведем итог
Мы выяснили, что цвет в настройках преломления управляет степенью прозрачности
материала, а в настройках отражения — степенью отражения материала. Преломляющие и отражающие лучи приобретают оттенок соответствующего цвета. Чтобы внутренняя поверхность объекта могла отражать окружение, в свойствах материала на
вкладке Options редактора материала нужно включить опцию Double Sided (Отражать
от обратной стороны). Чтобы размыть прозрачность, используйте параметр Glossiness
(Размытость).
Практическая работа
Самостоятельно создайте сцену и настройте параметры материалов, как показано
в файле \renderoutput\lesson_5.8\Glasses.jpg.
Контрольные вопросы
1. Чем отличается V-Ray от остальных визуализаторов?
2. Какие алгоритмы вычисления отраженного освещения существуют в V-Ray?
3. Каковы первичные настройки визуализатора V-Ray?
4. Как работать с окном V-Ray Frame Buffer?
5. Как настроить тени в визуализаторе V-Ray?
6. Как настроить освещение в интерьере?
7. Какие существуют типы источника света VRayLight?
8. Какие материалы доступны при использовании визуализатора V-Ray?
9. Как создать материал «Стекло» в визуализаторе V-Ray?
10. Как создать материал «Зеркало» в визуализаторе V-Ray?
11. Какие особенности применения источника солнечного света VRaySun вы знаете?
12. Как настроить отражения в визуализаторе V-Ray?
ГЛАВА
6
Анимация
Трехмерная анимация
Под анимацией сцены в 3ds Max понимают автоматизированный процесс визуализации
последовательности изображений, каждое из которых фиксирует некоторые изменения
состояния этой сцены. Изменения могут касаться положений объектов, их формы,
определяемой действием различных модификаторов, свойств материалов объектов
(цвет, блеск, прозрачность), состояния внешней среды и многих других компонентов
сцены, допускающих анимацию. В 3ds Max можно анимировать любые характеристики
всех объектов — примитивов, источников света, камер и др. Задавая значения параметров объектов в ключевых кадрах, можно сделать так, чтобы объекты перемещались
в сцене, изменяли текстуру, увеличивались или уменьшались в размерах.
При воспроизведении визуализированной последовательности кадров со скоростью,
достаточной для создания иллюзии плавного движения, происходит "оживление" сцены. Число кадров, приходящихся на единицу времени анимации, необходимое для
обеспечения плавности изменений сцены, задается в процессе настройки временны́х
интервалов. Обычно в 3ds Max оно составляет 30 кадров в секунду (в кино это 24 кадра
в секунду, а на телевидении — 25 кадров в секунду).
Каждый отдельный кадр анимации ничем не отличается от тех визуализированных
изображений трехмерной сцены, которые рассматривались в предыдущих главах. Таким образом, создание анимации состоит в многократном автоматическом повторении
цикла визуализации изображения сцены в выбранном видовом окне с автоматическим
внесением нужных изменений в эту сцену, т. е. в многократном рендеринге. Поэтому
для анимации требуются бо́льшие вычислительные мощности компьютера.
Для освоения методов анимации, прежде всего, следует уяснить три основных понятия:
Ключевые кадры — это кадры, в которых меняются значения анимируемых пара-
метров. Для создания анимации в 3ds Max достаточно указать значения параметров
в ключевых кадрах, и программа автоматически рассчитает изменение параметров
от одного ключевого кадра к другому;
Ключи анимации — это значения анимируемых параметров в ключевых кадрах;
Контроллеры анимации — это способы управления изменением анимируемых
параметров, а также характером таких изменений (равномерно в интервале между
Анимация
333
ключевыми кадрами, с ускорением и т. д.). Изменением анимируемых параметров
управляют, меняя их значения и настраивая форму графиков функциональных кривых.
В нижней части экрана 3ds Max располагается строка треков (шкала) анимации, на которой размещены значки ключевых кадров анимации выделенных объектов (рис. 6.1).
Рис. 6.1. Строка треков анимации
В программе реализованы два режима анимации методом ключей: автоматическая
анимация (с автоматическим созданием ключей) и ручная анимация (с ручным созданием ключей).
Режим автоматического создания ключевых кадров включается нажатием на кнопку
, располоToggle Auto Key Mode (Автоматическая установка ключей анимации)
женную под шкалой анимации (рис. 6.2).
Рис. 6.2. Включение режима автоматической установки ключей анимации
Любое изменение параметров сцены в текущем кадре запоминается, и на шкале анимации появляется маркер ключевого кадра. Для перемещения между ключевыми кадрами
анимации предназначена кнопка Key Mode Toggle (Режим переключения кадров анимации)
.
По умолчанию продолжительность создаваемой анимации равна 101 кадру. При такой
настройке можно создать анимацию длительностью около трех секунд. Для установки
параметров отображения анимации в видовом окне предусмотрено диалоговое окно
Time Configuration (Конфигурация временны́х параметров) (рис. 6.3), которое откры, расположенную под кнопками управлевается нажатием на одноименную кнопку
ния анимацией. В окне Time Configuration можно установить формат видео (PAL,
NTSC), число кадров в секунду (параметр FPS), способ отображения информации
о времени на ползунке анимации в области Time Display (Отображение временны́х параметров), номера кадров начала и конца анимации в области Animation (Анимация),
продолжительность анимации. Можно увеличить или уменьшить скорость показа анимации в видовых окнах, установив соответствующее значение параметра Speed (Скорость). Там же вы можете изменить режим одноразового или многократного показа
анимации, отметив флажком опцию Loop (Цикл).
Режим ручной анимации включается нажатием на кнопку Toggle Set Key Mode (Ручная
, расположенную под шкалой анимации. В этом слуустановка ключей анимации)
334
Глава 6
Рис. 6.3. Окно установки временны́х параметров анимации
чае ключи анимации создаются только после щелчка на кнопке Set Keys
женной рядом.
, располо-
Упражнение № 6-1. Простейшая анимация
в автоматическом режиме
Анимация падения сферы
Для начала заставим сферу падать на плоскость. Создайте плоскость. В окне Top создайте сферу радиусом 20 мм, перейдите на вкладку Modify
командной панели и
в свитке Parameters установите флажок Base To Pivot (Точка опоры внизу). Расположите сферу над плоскостью на высоте 180 мм.
Затем обратите внимание на строку треков, находящуюся под рабочими окнами. В исходном состоянии на ползунке должна быть надпись 0 / 100 (рис. 6.4).
Рис. 6.4. Строка треков
Анимация
335
В разделе Frame Rate (Частота кадров) окна Time Configuration
выберите настройки Custom (Пользовательские настройки) и задайте желаемое число кадров в секунду (параметр FPS). В разделе Animation укажите общее число кадров анимации
(параметр Length). Например, если анимация должна длиться 5 секунд при частоте
30 кадров в секунду, то общее число кадров анимации составит 150.
. Эта кнопка, рамка
Включите режим анимации, нажав кнопку Auto Key Mode
рабочего окна и пространство над ползунком станут красными. Затем перетащите ползунок к кадру 100 — на нем появится надпись 100 / 150. Далее инструментом Select and
опустите сферу на плоскость, после чего можно снова нажать кнопку Auto
Move
, и она перестанет быть красной, а в строке треков появятся два клюKey Mode
чевых кадра. Простейшая анимация готова.
Для воспроизведения анимации достаточно нажать кнопку Play Animation (Воспроиз(клавиша </>), и в активном видовом окне вы увидите перемещевести анимацию)
ние сферы. Окно можно сменить, и анимация станет проигрываться уже в другом окне.
Можно перетаскивать ползунок трека анимации вдоль строки треков и видеть положение анимируемого объекта в любом кадре. Можно переходить к предыдущему и последующему кадрам анимации, нажимая на кнопки Previous Frame (Предыдущий кадр)
и Next Frame (Следующий кадр)
. Перемещаться на один кадр можно также
с помощью клавиш <стрелка влево> или <стрелка вправо> на клавиатуре.
Остановить анимацию можно нажатием кнопки, которая в момент проигрывания будет
иметь вид
.
Положение ключевых кадров и ключей анимации можно менять. Для этого достаточно
выделить их на строке треков анимации и переместить в новое место. Выделите сферу
и подведите указатель мыши к ключу анимации, соответствующему кадру с номером 100. Нажмите левую кнопку мыши и, не отпуская ее, перетащите ключ к кадру
с номером 90. Теперь анимация будет воспроизводиться с нулевого кадра до кадра
с номером 90 (см. видео \Lesson_6.1\Move_keys.mp4).
Созданные ключи анимации (значения анимированных параметров в ключевых кадрах)
также можно редактировать, изменяя соответствующие настройки. Подведите указатель мыши к ключу анимации с номером 90 и щелкните на нем правой кнопкой
мыши — появится контекстное меню этого ключа анимации (рис. 6.5). Используя это
меню, можно редактировать положение объекта в пространстве, удалять созданные
ранее ключи, фильтровать их по различным признакам, получать доступ к свойствам
присвоенного контроллера, менять конфигурацию строки треков.
Для примера щелкните мышью на строке Sphere001: Z Position (Положение по оси Z) —
откроется одноименное окно. В нем наверху слева есть кнопки с белыми стрелками,
которые позволяют переходить к следующему или предыдущему ключу анимации.
В поле Time (Номер кадра анимации) указывается номер кадра анимации, а в поле
Value (Значение параметра) — соответствующее значение анимируемого параметра
(в нашем случае — значение координаты Z = 0 мм системы координат сферы в 90-м кадре) (рис. 6.6).
В верхней части того же окна щелкните мышью на белой стрелке, указывающей влево, — в строке Time (Номер кадра анимации) появится номер предыдущего ключевого
336
Глава 6
кадра (нулевого кадра) и значение Value = 180 мм координаты Z системы координат
сферы, соответствующее нулевому кадру. Поменяйте эту величину на 150 мм, и сфера
в нулевом кадре переместится в соответствии с новым значением.
Рис. 6.5. Контекстное меню ключа анимации
Рис. 6.6. Ключи анимации в кадре 90
Ускорение падения сферы
В нашей анимации сфера почти равномерно опускается на плоскость, начиная с нулевого кадра и до кадра с номером 90. Она лишь чуть ускоряется в начале движения и
слегка замедляется в конце. Попробуем изменить закон движения сферы, заставив ее
постепенно ускоряться. Для этого нужно отредактировать ключи анимации в нулевом и
90-м кадрах. Щелкните правой кнопкой мыши по 0 кадру и в контекстном меню выберите строку Sphere001: Z Position — в результате снова откроется одноименное диалого(рис. 6.7). Он означает,
вое окно. Нажмите кнопку Out (Выход) и выберите вариант
что, начиная с этого кадра, сфера будет ускоряться. Перейдите к кадру с номером 90.
Нажмите кнопку In (Вход) и выберите из раскрывающегося списка вариант
. Он
означает, что движение к указанному кадру также будет происходить с ускорением.
Проиграйте анимацию, и вы увидите, что при движении сфера постепенно ускоряется
(см. файл \scenes\lesson_6.1\Ball_animation_step1.max в папке проекта).
Рис. 6.7. Выбор кривой анимации для ускорения сферы
Анимация
Э ЛЕКТРОННЫЙ
337
АРХИВ
Файлы, упомянутые в этой главе, находятся в папке проекта 06_project. Видеоматериалы —
в папке 06_video.
Деформация сферы от столкновения с полом
Как известно, мяч при столкновении с полом деформируется (сжимается), а затем, при
отскакивании, восстанавливает форму и подпрыгивает вверх. Отведем на деформацию
мяча два кадра и сделаем так, чтобы в кадре 92 он оказался деформированным. Добиться этого можно путем масштабирования мяча вдоль оси Z. Но поскольку масштабирование мяча должно происходить в интервале между кадрами 90 и 92, то сначала в кадре 90 создадим ключ анимации для масштабирования мяча и укажем, что в этом кадре
значение масштаба вдоль оси Z равно 100. Для этого выделите мяч, подведите движок
таймера анимации к кадру с номером 90, щелкните на нем (щелкните на ползунке, а не
на значке ключа анимации!) правой кнопкой мыши, в открывшемся окне Create Key
установите флажок только для параметра Scale и нажмите кнопку OK (рис. 6.8, см. видео \Lesson_6.1\Create_key.mp4).
Чтобы убедиться в том, что в кадре 90 действительно создан ключ анимации для масштабирования мяча, щелкните правой кнопкой мыши на значке ключа анимации в этом
кадре и в открывшемся контекстном меню (рис. 6.9, а) щелкните на строке Sphere001:
Scale. Из рис. 6.9, б видно, что в кадре 90 значения масштабных коэффициентов вдоль
всех осей равны 100. Таким образом создадим начальный кадр анимации масштаба.
Рис. 6.8. Создание ключа
масштабирования в кадре 90
а
б
Рис. 6.9. Ключи масштабирования в кадре 90:
а — контекстное меню; б — значения параметров
Теперь создадим ключ анимации в кадре 92 — на шкале таймера анимации выделите
значок ключа анимации кадра 90 и скопируйте его в кадр 92. Для этого следует нажать
клавишу <Shift> и перетянуть значок в новое место. После этого значения всех ключей
анимации в кадрах 90 и 92 станут одинаковыми. Но поскольку мы хотим, чтобы в кадре
92 мяч сплющился вдоль оси Z, то это можно сделать либо с помощью команды Select
and Squash
, расположенной на главной панели инструментов, либо в окне
Sphere001: Scale, изменив в нем значение параметра Z Value, например на 80. Тем самым сфера деформируется от столкновения с полом, и мяч будет сжиматься, начиная
с 90-го кадра и до кадра с номером 92.
338
Глава 6
Проиграйте анимацию. Мяч должен сплющиться в промежутке между кадрами 90 и 92
(см. файл \scenes\lesson_6.1\Ball_animation_step2.max).
Растяжение сферы
Еще немного улучшим нашу анимацию. Добавим растяжение мяча с нулевого кадра
до 85-го. Для этого нужно создать ключ анимации в нулевом кадре с исходными значениями масштаба и в кадре 85 — с измененными. Передвиньте ползунок таймера на нулевой кадр. Щелкните правой кнопкой мыши по ползунку таймера и создайте ключ
анимации только для параметра Scale. Далее передвиньте ползунок таймера анимации
.
к кадру с номером 85, выделите сферу и включите режим Auto Key Mode
В окне Front c помощью инструмента Select and Squash
вытяните сферу немного
вверх, чтобы она стала похожа на яйцо. В результате в кадре 85 будут созданы ключи
анимации с масштабированием по осям координат. Отключите режим Auto Key Mode
и воспроизведите анимацию (см. файл \scenes\lesson_6.1\Ball_animation_step3.max в той
же папке). Теперь в промежутке между нулевым и 85-м кадрами сфера станет постепенно вытягиваться по высоте, а в промежутке между кадрами 85 и 90 начнет постепенно возвращаться к своему первоначальному размеру, чтобы затем сплющиться
в промежутке между кадрами 90 и 92.
Анимация отскока
Анимацию отскока выполним при помощи копирования и редактирования построенного ранее ключа. Выделите сферу. Нажмите и удерживайте нажатой клавишу <Shift>.
Затем в строке трека анимации выделите ключ, расположенный в нулевом кадре, и передвиньте его к кадру с номером 120. Тем самым будет создана копия ключа анимации
первого кадра. Воспроизведите анимацию.
Слегка подправим анимацию. В промежутке между кадрами 90 и 92 опорная точка мяча должна оставаться неподвижной. Однако если перейти к кадру 91, то на виде Front
можно заметить, что опорная точка мяча опустилась чуть ниже уровня пола. Это связано с характером кривых, управляющих поведением мяча в промежутках между ключевыми кадрами. Чтобы исправить ситуацию, в 90-м кадре откройте окно с ключом анимации Spere001: Z Position и в поле Out установите тип поведения кривой
(рис. 6.10, а). Затем там же щелкните на правой белой стрелке, чтобы перейти к ключу
а
б
Рис. 6.10. Настройка контроллеров анимации в кадрах 90 (а) и 92 (б)
Анимация
339
анимации в 92-м кадре, и в поле In установите тип поведения кривой
(рис. 6.10, б).
После этого в промежутке между кадрами 90 и 92 опорная точка мяча не будет менять
своего положения.
Движение сферы вверх должно происходить с замедлением. Поэтому в том же окне на
92-м кадре нажмите кнопку Out (Выход) и выберите из раскрывшегося списка значок
(см. рис. 6.10, б). Это означает, что, начиная с 92-го кадра,
управления анимацией
сфера будет двигаться с замедлением.
Затем перейдите к 120-му кадру и в поле In (Вход) выберите вариант
. Это будет
означать, что при подходе к 120-му кадру сфера также станет двигаться с замедлением.
Если же нужно в целом замедлить движение мяча при отскоке, то тогда он должен подниматься вверх не за 28 кадров (120 – 92 = 28), а за большее их число. Поэтому выделите ключ анимации в 120-м кадре и сместите его вправо примерно на 5 кадров. Для ускорения отскока сферы, наоборот, сместите этот ключ влево.
Воспроизведите анимацию (см. файл \scenes\lesson_6.1\Ball_animation_end.max).
Визуализация анимации
Научимся правильно сохранять анимацию в таком виде, чтобы ее можно было просматривать без 3ds Max. Делается это с помощью рендеринга. Для финальной версии
визуализации старайтесь использовать красивые кадры с освещением (можно только
глобальным) и хорошо настроенным видом. В сцене установите белый фон (Rendering | Environment), включите визуализатор V-Ray или Arnold. Настройте вид в окне Perspective и включите рамки визуализации сочетанием клавиш <Shift> + <F>. Перед запуском визуализации анимации проверяйте, как выглядят промежуточные кадры.
При подключении визуализаторов V-Ray или Arnold время визуализации одного кадра
может увеличиться по сравнению с Scanline Renderer. Чтобы ускорить процесс для VRay в параметрах визуализации на вкладке V-Ray в области Progressive image sampler
установите для параметра Render time (min), например, значение 0.05, чтобы визуализация кадра не занимала больше 5 секунд. Для Arnold на вкладке Arnold Renderer
можно уменьшить значение параметра Camera (AA) до 1. Для черновой визуализации
подойдет Scanline Renderer. Лучше всего создавать анимацию и проводить тестовые
визуализации, когда материалы на объекты еще не назначены, т. к. при этом не будут
рассчитываться отражения и преломления. В результате можно сэкономить много времени.
После подготовительного этапа вызовите команду Rendering (Визуализация) | Render
Setup (Параметры визуализатора), в открывшемся окне на вкладке Common (Общие
параметры) выберите размер кадра будущей анимации (например, вариант Custom со
значениями 720×1280), в области Time Output выберите опцию Active Time Segment
(Активный временной интервал), таким образом будут визуализироваться все кадры
анимации на временной шкале. При выборе варианта Range (Интервал), вы можете
задать свой промежуток (например, с 10-го по 60-й кадр или с 50-го по 150-й). Для
визуализации одиночных кадров выбирается вариант Single.
Ниже, в области Render Output (Вывод результатов визуализации), нажмите кнопку
Files, после чего в открывшемся окне Render Output File должна открыться папка
340
Глава 6
проекта renderoutput. Введите имя и выберите подходящий для анимации тип файла
(например, *.avi). Затем там же нажмите кнопку Setup — откроется диалоговое окно
AVI File Compression Setup (Настройка параметров сжатия файлов формата AVI),
в котором следует выбрать подходящий метод сжатия (Compressor), например MJPEG
Compressor с качеством сжатия 90. От значения параметра Quality сильно зависит
размер будущей анимации. Поэтому не следует всегда выбирать максимальное качество анимации, и в пробных анимациях вполне достаточно оставить это значение
в пределах 20–30.
Если вас не устроит качество видеофайлов, можно выбрать вариант Uncompressed (Без
сжатия) и затем использовать специальные программы или онлайн-сервисы для преобразования, например, в формат MP4, который дает более качественный результат. Никогда не оставляйте файлы без сжатия, размер роликов длиной 3 секунды может превышать 500 Мб, и они обычно проигрываются с сильной задержкой.
Убедитесь, что активно окно Perspectve и в окне Render Setup в верхней области
у строки View to Render указана опция Quad4 - Perspective. Выполните команду
Render (Визуализировать), и после прорисовки всех кадров первая анимация будет
полностью готова. Теперь ее можно проигрывать независимо от 3ds Max (см. файл
\renderoutput\lesson_6.1\Ball_animation.mp4).
Визуализация траектории
Траекторию движения объектов можно сделать видимой. Откройте файл \scenes\
lesson_6.1\ Game.max. Выделите объект Tor2, щелкните на нем правой кнопкой мыши и
выполните команду Object Properties (Свойства объекта). Затем в открывшемся окне
пометьте флажком опцию Motion Path (Траектория). Включите анимацию, и вы увидите перемещение объекта вдоль траектории (рис. 6.11, a). Вдоль траектории в виде небольших квадратиков отмечены узловые точки, соответствующие ключевым кадрам
анимации. Их можно перемещать с помощью инструмента, тем самым меняя траекторию движения объекта.
а
б
Рис. 6.11. Визуализация траектории перемещения объекта
При проигрывании анимации заметно, что объект недостаточно высоко поднимается
и задевает конструкцию игрушки. Мы можем это исправить прямо в видовом окне.
Щелкните по верхнему ключевому кадру, предварительно выбрав инструмент Select
Анимация
341
and Move
. После того как ключ в виде квадратика на вершине кривой будет выделен, щелкните правой кнопкой мыши и выберите в контекстном меню опцию Break
Tangents (Разбить касательные). Это похоже на изменение сплайна, его узловых точек
и касательных. Измените траекторию так, чтобы объект не задевал соседние объекты
(рис. 6.11, б) и в то же время сохранилась плавность движения (см. видео \Lesson_6.1\
Motion_path.mp4).
Самостоятельно исправьте движение объекта Tor3.
Удаление анимации
При необходимости удалить созданную анимацию выделите анимированный объект
и в главном меню программы выполните команду Animation (Анимация) | Delete
Selected Animation (Удалить выбранную анимацию).
Практическая работа
Создайте и анимируйте сцену, аналогичную приведенной в файле \renderoutput\
practice_6.1\Balls.mpg из папки проекта.
Упражнение № 6-2. Покадровая визуализация
анимации. Размытие анимации
Сохранение анимации возможно не только в формате AVI или другом видеоформате,
чаще анимация представляет собой последовательный набор кадров, которые потом
объединяют в видеофайл с помощью дополнительных программ. Такой тип сохранения
называют покадровой визуализацией. Она имеет ряд преимуществ. Во-первых,
в любой момент времени вы можете прервать процесс рендеринга без потери итогового
файла. Например, если внезапно выключился компьютер или вы намеренно прервали
процесс, кадры, которые успели сохраниться, не пропадут, в отличие от видеофайла,
который вы теряете, если прерываете процесс визуализации.
Откройте файл \scenes\lesson_6.2\BlurCar_scanline.max. В настройках визуализации на
вкладке Common в свитке Common Parameters в области Time Output выберите вариант Range и установите границы от нулевого до 50-го кадра. Ниже в области Render
Output включите параметр Save File и щелкните по кнопке File. Выберите папку проекта \renderoutput\lesson_6.2\car_images (предварительно создайте папку car_images).
Старайтесь сохранять кадры анимации всегда в отдельную папку. В том же окне
в качестве имени файла введите Car, выберите тип файла JPEG. В качестве имени файла можно выбрать шаблон, расположенный в свитке Name template, например
<scene>_<camera/view>, где в первой части будет название имени сцены, во второй —
имя вида или камеры (рис. 6.12).
Запустите процесс визуализации. Если открыть папку \renderoutput\lesson_6.2\car_images,
то в ней можно будет увидеть 51 кадр (счет кадров идет с нуля) и даже, пока визуализация еще не закончилась, можно просмотреть каждый кадр детально и при необходимости после завершения заменить на новый, если вы увидели проблемы только в нескольких кадрах. Как можно заметить, к имени файла добавился номер кадра, их лучше
не менять и не убирать, т. к. это необходимо при объединении файлов.
342
Глава 6
Рис. 6.12. Выбор шаблона для имени визуализации
Далее возникает вопрос о преобразовании последовательности кадров в один видеофайл. Существуют онлайн-сервисы, такие как fastreel.com или clideo.com, которые позволяют загрузить все кадры и преобразовать их в видео. В бесплатной версии добавляется водяной знак, в платной (примерно 10 $ в месяц) — снимаются все ограничения.
Также можно использовать программы Shotcut (бесплатная), Filmora (есть коммерческая версия и бесплатная с водяным знаком), Adobe Premier Pro или Adobe After
Effects. Последние две программы кроме склейки позволят добавить визуальные эффекты и звуковое сопровождение.
Пример объединения файлов в онлайн-сервисе Clideo можно увидеть в видеофайле
\Lesson_6.2\Merge_images_clideo.mp4 и в программе Shotcut в видеофайле \Lesson_6.2\
Merge_images_shotcut.mp4. Аналогов достаточно много, главное — при объединении
следите за скоростью, которую можно выставить, и размером кадра. В нашей сцене
3ds Max скорость проигрывания 24 кадра в секунду, т. е. 1 кадр должен длиться 0.04
секунды. В некоторых онлайн-сервисах нет возможности выбора длительности кадра
или минимально возможное время равно 0.1 с.
Размытие анимации Scanline Renderer
Откройте файл \scenes\lesson_6.2\BlurCar_scanline.max. Эффект размытия движения или
Motion Blur можно применить глобально для объектов и в свойствах камеры.
При использовании визуализатора Scanline Renderer размытие анимации предусмотрено в его настройках. Для применения эффекта предварительно выделите группу Car,
щелкните на ней правой кнопкой мыши, раскроется окно Object Properties. На вкладке
General этого окна в области Motion Blur (Размытие движения) следует установить
флажок для опции Enabled и выбрать один из вариантов визуализации размытия:
Object или Image (рис. 6.13). В первом случае размытие будет относиться только
к объектам, во втором — распространяться на все изображение.
Затем в окне Render Setup перейдите на вкладку Renderer в свиток Scanline Renderer.
Размытие выполняется в процессе визуализации, а его параметры задаются в областях
Object Motion Blur (Размытие движения объекта) и Image Motion Blur (Размытие
движущегося изображения) этого свитка (рис. 6.14).
Анимация
343
Рис. 6.13. Варианты размытия анимации
Рис. 6.14. Параметры размытия объектов
и изображения
Эффект размытия анимации применяется при включении параметра Apply. Если перед
этим был выбран вариант размытия объекта, то флажок устанавливают в области
Object Motion Blur, если выбран вариант размытия изображения — в области Image
Motion Blur. Параметр Duration определяет значение эффекта размытия — чем больше
это значение, тем сильнее эффект размытия. Визуализируйте любой кадр анимации,
к движущему объекту (машине) будет применено размытие (рис. 6.15).
Пример такого размытия приведен в файле \scenes\lesson_6.2\BlurCar_scanline_motion.max.
Рис. 6.15. Промежуточный кадр анимации быстро движущегося автомобиля
Размытие анимации Arnold
Откройте файл \scenes\lesson_6.2\BlurCar_arnold.max. Настройте вид Perspective, сделайте его активным и нажмите сочетание клавиш <Ctrl> + <C>. Вместо перспективы появится физическая камера. Откройте ее настройки. В свитке Physical Camera в области
Shutter активируйте параметр Enable Motion Blur (рис. 6.16). Степень размытия регулируется с помощью параметра Duration, расположенного выше, чем больше его значение, тем сильнее будет размытие (рис. 6.17).
Чтобы убрать артефакты и повысить качество, в настройках визуализации на вкладке
Arnold Renderer необходимо увеличить значение параметра Camera (AA), например
до 8, но это сильно увеличит время визуализации.
Пример такого размытия приведен в файле \scenes\lesson_6.2\BlurCar_arnold_motion.max.
344
Рис. 6.16. Настройки физической
камеры
Глава 6
Рис. 6.17. Промежуточный кадр анимации в Arnold
Размытие анимации V-Ray
Откройте файл \scenes\lesson_6.2\BlurCar_vray.max. В сцену уже добавлена камера
VRayPhysicalCamera. Перейдите к ее настройкам и в свитке DoF & Motion Blur активируйте параметр Motion Blur. Чуть выше в свитке Aperture можно настроить степень
размытия, изменяя скорость срабатывания затвора виртуальной камеры. Установите
для Shutter speed значение 50 (рис. 6.18), чем меньше значение, тем сильнее будет размытие. Визуализируйте кадр анимации (рис. 6.19). Пример такого размытия приведен
в файле \scenes\lesson_6.2\BlurCar_vray_motion.max.
Рис. 6.18. В настройках камеры активирован
режим размытия движения
Рис. 6.19. Кадр анимации в визуализаторе V-Ray
Упражнение № 6-3. Редактирование анимации
на панелях Track View
Инструменты редактора анимации Graph Editors
Рассмотрим материал этого упражнения на примере находящегося в его папке файла
\scenes\lesson_6.3\Ball.max. Откройте этот файл и выделите мяч. Анимацию удобно ре-
Анимация
345
дактировать с помощью специального инструментария, имеющегося в программе
3ds Max. Он открывается из главного меню программы выбором пункта меню Graph
Editors. Этот инструментарий работает в двух режимах:
Track View - Curve Editor (Редактор треков анимации - Редактор кривых). Содержит графики движения анимированных объектов относительно осей координат,
анимация отображается в виде функциональных кривых (рис. 6.20);
Track View - Dope Sheet (Редактор треков анимации - Диаграмма ключей). Может
содержать ключи анимированных объектов, диапазоны, в пределах которых анимированы конкретные параметры (они обозначаются черными линиями с квадратными
маркерами на концах), и значения неанимированных параметров выделенных объектов сцены (рис. 6.21).
В обоих режимах левая часть панели Track View называется окном контроллеров анимации (Controller window) и содержит иерархический список того, что имеется в сце-
Рис. 6.20. Панель редактора кривых
Рис. 6.21. Панель диаграммы ключей
346
Глава 6
не. В этом окне отображаются имена объектов и определяется, какие кривые и треки
доступны для просмотра и редактирования. Правая сторона панели Track View называется окном ключей анимации (Key Window).
, отобраЕсли на панели Dope Sheet (рис. 6.21) выключить команду Modify Subtree
зятся только ключи анимации. Если же с помощью команды Edit Ranges (Редактиропереключиться на редактирование диапазонов
вать продолжительность анимации)
анимации, то отобразятся только диапазоны, которые можно перемещать, тем самым
изменяя интервалы действия соответствующих ключей анимации. Если включить кои отключить команду Modify
манду редактирования ключей анимации Edit Keys
Subtree
, то на панели Dope Sheet отобразятся ключи анимации и диапазоны.
На панели Dope Sheet ключи анимации раскрашиваются разными цветами в зависимости от того, какой вид ключа существует в том или ином кадре: ключи положения
окрашиваются красным цветом, вращения — зеленым, а масштабирования — синим.
Остальные ключи серого цвета.
Чтобы отобразить дополнительные панели инструментов, следует на свободном месте
в строке меню или в начале любой панели на многоточии щелкнуть правой кнопкой
мыши, в открывшемся списке выбрать команду Show Toolbars (Показать панели инструментов), а затем флажками определить нужные группы инструментов (рис. 6.22).
В окне контроллеров анимации содержится список элементов сцены. Чтобы показать
только часть списка, в строке меню панели Track View выполните команду View |
и в раскрывшемся окне Filters в области Show Only (Показать только)
Filters
оставьте включенным только Animated Tracks (Треки анимированных объектов)
(рис. 6.23).
Если убрать все имеющиеся там флажки, то в окне контроллеров отобразятся все элементы сцены. Обычно все элементы в этом окне не нужны, поэтому чаще всего в окне
Filters в области Show Only оставляют только флажок Animated Tracks (Треки анимированных объектов). В этом случае в окне контроллеров анимации останутся лишь
имена анимированных объектов.
Рис. 6.22. Возможные панели инструментов
Анимация
347
Рис. 6.23. Окно Filter
При создании и редактировании анимации все изменения значений анимированных
параметров появляются в правой стороне панели Track View.
Окно ключей анимации на панели Curve Editor
Интерфейс редактора кривых Track View - Curve Editor состоит из главного меню,
панели инструментов, окна контроллеров и окна с функциональными кривыми и ключами (рис. 6.20). Инструменты этого редактора доступны в трех видах: стандартном,
классическом и по умолчанию. Чтобы раскрыть нужный вид раскладки инструментов,
следует щелкнуть правой кнопкой мыши на пустой области панели инструментов или
меню и выбрать команду Load Layout (Загрузить раскладку) | Function Curve Layout
(Стандартная раскладка), Load Layout | Function Curve Layout (Classic) (Классическая
раскладка) или default (по умолчанию) (рис. 6.24). Все панели инструментов являются
плавающими, и их можно компоновать по своему усмотрению.
В окне ключей анимации редактора кривых отображаются графики функциональных
кривых, характеризующие изменение анимируемых параметров во времени (см. рис. 6.20).
Рис. 6.24. Раскладка инструментов редактора кривых
348
Глава 6
По горизонтальной оси этих графиков откладываются номера кадров, а по вертикальной — значения анимируемых параметров. По виду графиков можно судить о скорости
изменения анимируемых параметров. Для этого нужно мысленно представить себе положение касательной в определенной точке кривой. Чем больше ее наклон, тем выше
скорость изменения параметра.
Функциональные кривые имеют разный цвет. Кривые перемещения и вращения относительно оси Х — красные, относительно оси Y — зеленые, а относительно оси Z —
синие. Точно так же окрашиваются ключи и на треке анимации в нижней части экрана
(рис. 6.25). Если в некотором кадре создано несколько ключей разного типа, то они
будут представлены одним прямоугольником с разными цветами.
Рис. 6.25. Ключи на треке анимации
Рис. 6.26. Окно для создания ключа анимации
В редакторе кривых ключи анимации отображаются в виде небольших квадратиков.
Ключи можно создавать разными способами. Один способ уже был рассмотрен — это
использование режима Auto Key Mode
. Другой способ состоит в том, чтобы в
видовом окне щелкнуть правой кнопкой мыши на ползунке таймера анимации — откроется диалоговое окно Create Key (Создать ключ анимации) (рис. 6.26), этим способом мы также пользовались ранее. Затем в поле Destination Time (Новый кадр) вводится номер кадра, в котором следует создать новый ключевой кадр. Он создается только
для тех групп параметров (Position, Rotation или Scale), которые отмечены флажком.
В нашем случае создается ключевой кадр 40. Одновременно будут созданы ключи анимации (значения анимированных параметров) для параметров положения и вращения
объекта, совпадающие со значениями параметров, находящихся в кадре, указанном
в поле Source Time (Источник данных). Поэтому, если нужно на каких-либо кривых
создать дополнительные ключевые кадры, то в окне контроллеров анимации выделите
названия этих кривых и подведите ползунок таймера анимации к нужному кадру. Новые ключевые кадры появятся на треке анимации и на панели Curve Editor после
щелчка по кнопке OK.
Ключи анимации можно создать и непосредственно в редакторе кривых с помощью
команды Add/Remove Key (Добавить/Удалить ключ анимации)
. Для этого включите ее на панели инструментов Curve Editor и щелкните курсором в нужной точке
функциональной кривой (рис. 6.27). Если на этом кадре щелкнуть правой кнопкой мыши, то откроется новое окно, в котором будут указаны значения ключей анимации
в данном кадре. Их можно менять прямо в этом окне.
Ключи анимации можно создавать также в режиме создания анимации Set Key Mode,
переходя к нужному кадру, смещая объект и затем щелкая на кнопке Set Keys (Установить ключи анимации)
в нижней части окна программы.
Анимация
349
Рис. 6.27. Создается новый ключевой кадр
Наконец, ключи анимации можно создавать и удалять на
командной панели. Для этого выделите анимированный
. Переобъект (мяч) и перейдите на вкладку Motion
двиньте ползунок таймера анимации к тому кадру, где
предполагается создать новый ключевой кадр, например
к кадру 20. Раскройте свиток Parameters | PRS Parameters
(Параметры положения, вращения и масштабирования) и
в колонке Create Key щелкните на названии группы параметров, которые следует создать: Position, Rotation или
Scale (рис. 6.28).
Рис. 6.28. Управление ключами анимации
на вкладке Motion
Если же ползунок таймера анимации установить в кадре, где уже существуют ключи
анимации, то активными станут кнопки в колонке Delete Key, и там можно будет удалить соответствующие ключи анимации. В свитке Key Info можно менять значения
ключей анимации относительно осей координат, указанных в свитках Position XYZ
Parameters (Параметры положения относительно осей координат) и Euler Parameters
(Параметры вращения относительно осей координат). Так, на рис. 6.28 показана возможность создания ключей вращения или масштабирования либо удаления ключей
положения в кадре 20. Кроме того, в свитке Key Info (Basic) можно изменить значение
параметра положения относительно оси Z системы координат. Созданные ключи ани-
350
Глава 6
мации выбранного объекта отображаются в видовых окнах, а также в окне ключей
анимации на панели Curve Editor.
Текущий кадр анимации обозначается с помощью слайдера в виде двойной вертикальной линии. Движение слайдера синхронизировано с перемещением ползунка таймера
анимации в видовом окне.
Упражнение № 6-4. Контроллеры анимации
Две категории контроллеров анимации
Снова вернемся к контроллерам, которые мы создавали с начала первого упражнения
этой главы, и более подробно рассмотрим их назначение. При создании анимации параметры анимации сохраняются в контроллерах. Они служат для управления интерполяцией значений анимированных параметров, а также для управления характером анимации в промежутках между ключевыми кадрами. Существуют две категории контроллеров: контроллеры, основанные на ключах, и параметрические контроллеры.
Остановимся на первой категории контроллеров. При создании ключа анимации каждому анимируемому параметру по умолчанию назначается определенный контроллер.
Откройте файл \scenes\lesson_6.4\Ball.max из папки проекта. Выделите мяч и откройте
окно через главное меню Graph Editors | Track View-Curve Editor, в окне View |
Filters
в области Show Only установите флажок у Animated Objects, а в области
Show — у Controller Types (Типы контроллеров). При этом параметрам X Position,
Y Position и Z Position присваивается контроллер Bezier Float (Управление по Безье),
что можно увидеть, например, на рис. 6.29.
Рис. 6.29. Отображение контроллеров анимации
Контроллеры, основанные на ключах, не меняют значений параметров анимации, хранящихся в ключах, а интерполируют эти значения в промежутках между ключевыми
кадрами. Благодаря этому анимацию между ключевыми кадрами можно сделать, например, равномерной, с ускорением, с замедлением и т. п.
Параметрические контроллеры действуют иначе. Так, контроллер Noise (Шум) является параметрическим контроллером и, в зависимости от заданных значений параметров,
создает неравномерности в поведении анимируемых параметров. Он не использует
ключи анимации и применяется ко всему временно́му интервалу анимации. С его по-
Анимация
351
мощью можно показать движение автомобиля по неровной дороге, мигание источника
света, вибрацию объектов и т. п. Контроллер Audio (Звук) также влияет на значения
анимируемых параметров, заставляя их менять свои значения в зависимости от амплитуды колебания звука.
Список всех контроллеров, имеющихся в 3ds Max, можно увидеть в средней части окна
Filters (см. рис. 6.23). Чтобы узнать, какие контроллеры назначены анимируемым параметрам, выделите анимируемый объект и в окне Filters установите флажок для параметра Controller Types. В результате в окне контроллеров анимации справа от названий анимированных параметров будут отображены контроллеры, присвоенные этим
параметрам.
Вместо контроллера, заданного по умолчанию, можно назначить другой контроллер.
Для этого предусмотрено несколько способов: через главное меню программы
командной панели.
Animation, с помощью окна Track View и на вкладке Motion
Например, в окне Track View - Curve Editor слева в списке параметров щелкните правой кнопкой мыши на названии анимируемого параметра и в открывшемся контекстном меню (рис. 6.30, а) выберите команду Assign Controller (Назначить контроллер) —
появится окно со списком только тех контроллеров, которые допустимы в этом случае
можно получить доступ только к параметрам кон(рис. 6.30, б). На панели Motion
троллера трека Transform в свитке Assign Controller (Назначить контроллер).
а
б
Рис. 6.30. Назначение нового контроллера: а — контекстное меню; б — список контроллеров
Контроллер Bezier Float
Один из наиболее часто применяемых контроллеров анимации, основанный на ключах, — контроллер Bezier Float. Он позволяет задавать значение одного анимируемого
параметра в виде дробного десятичного числа. Этим числом может быть, например,
352
Глава 6
расстояние вдоль какой-либо из осей координат, угол поворота или масштабный коэффициент.
Иногда контроллер Bezier Float приходится модифицировать, чтобы изменить способ
управления объектом при анимации, установленный по умолчанию. Это можно сделать
несколькими способами. Например, в случае контроллера типа Bezier Float для трека
Z Position щелкните правой кнопкой мыши в точке функциональной кривой, соответствующей нужному ключу анимации (см. видео \Lesson_6.4\Modify_bezier_float.mp4), —
откроется окно с параметрами перемещения объекта вдоль оси Z, там их можно уточнить. В том же окне в полях In и Out можно выбрать один из семи вариантов функциональных зависимостей анимированного параметра от контроллера (рис. 6.31).
Модифицировать контроллер анимации типа Bezier Float можно также с помощью
аналогичных команд, расположенных в верхней части панели инструментов окна Track
View - Curve Editor (рис. 6.32).
Рис. 6.31. Варианты сглаживания
функциональных кривых
Рис. 6.32. Команды редактирования
контроллера анимации
Инструмент Set Tangents to Auto
применяется по умолчанию и строит гладкую
кривую, проходящую через ключевой кадр. Если предварительно включить команду
Show Tangents (Показать касательные)
на панели инструментов окна Curve Editor,
то в выделенных ключевых кадрах появятся две ручки, расположенные на одной прямой. Их можно перетягивать и передвигать в сторону, тем самым меняя наклон кривой
и, следовательно, меняя закон интерполяции анимированных параметров в промежутках между смежными ключевыми кадрами. При этом команда Tangents | Break
(расположена на панели инструментов, если не отображается, попробуйте
Tangents
расширить окно) сделает эти ручки независимыми, и тогда они смогут разворачиваться
под разными углами (рис. 6.33, см. видео \Lesson_6.4\Break_tangets.mp4).
создает незаКоманда Set Tangents to Spline (Установить касательные к сплайну)
висимые касательные к кривой. Кроме того, если в окне с параметрами контроллера
развернуть его правую часть, нажав кнопку Advanced, то в полях In и Out можно будет
плавно менять наклон и длину касательных слева и справа от ключевого кадра
(рис. 6.34).
Анимация
353
Рис. 6.33. Ручки с каждой стороны
независимы
Рис. 6.34. Развернутое окно
с параметрами контроллера
Инструмент Set Tangents to Fast (Создать движение с ускорением)
создает ускоренное движение объекта в окрестности ключевого кадра, причем с каждой стороны от
этого кадра (рис. 6.35).
):
Этот инструмент имеет еще два варианта (раскрывают при долгом нажатии на
вариант Set In Tangents to Fast
создает ускоренное движение объекта слева от
— справа от него.
ключевого кадра (рис. 6.36), а Set Out Tangents to Fast
Рис. 6.35. Ускорение
до и после ключевого кадра
Рис. 6.36. Ускорение
слева от ключевого кадра
О скорости движения объекта в каждом кадре анимации можно судить по наклону касательной, проведенной к кривой в этом кадре. Чем больший угол составляет касательная к кривой с горизонтальной осью, тем выше в этом кадре скорость движения объекта. Если касательная к кривой становится горизонтальной, то скорость изменения анимируемого параметра в этом кадре окажется равной нулю. Значит, если наклон
касательной к кривой постепенно увеличивается, то в этих кадрах объект ускоряется,
и наоборот, если наклон касательной к кривой уменьшается, то объект замедляется.
Следующий инструмент — Set Tangents to Slow (Создать движение с замедлением)
также имеет три варианта и создает замедленное движение в районе ключевого кадра.
Три варианта инструмента Set Tangents to Stepped (Создать ступенчатое движение)
создают ступенчатое движение объекта в районе ключевого кадра (рис. 6.37).
В случае равномерного движения объекта его график должен представлять собой прямую линию. Это обеспечивают три варианта инструмента Set Tangents to Linear (Соз. Например, если нужно, чтобы равномерным было
дать равномерное движение)
движение только между двумя ключевыми кадрами, изображенными на рис. 6.38, то
354
Глава 6
Рис. 6.37. Применен инструмент
Set In Tangents to Stepped
Рис. 6.38. График равномерного движения
между двумя ключевыми кадрами
для левого ключевого кадра следует применить инструмент Set Out Tangents to Linear
, а для правого — инструмент Set In Tangents to Linear
.
Если в некотором ключевом кадре движение было неравномерным, то варианты инстпозволяют созрумента Set Tangents to Smooth (Создать плавное сопряжение)
давать плавное поведение функциональной кривой в районе выделенного ключевого
кадра.
Существуют составные контроллеры, использующие контроллер Bezier Float:
контроллер Position/Rotation/Scale устанавливается по умолчанию для трека
Transform, к которому применяются команды перемещения, вращения или масштабирования;
контроллер Position XYZ применяется по умолчанию и разделяет управление ани-
мацией положения объекта по трем осям координат;
контроллер Euler XYZ управляет анимацией параметров вращения объекта и состо-
ит из контроллеров Bezier Float для каждой из трех осей координат;
контроллер Scale XYZ также задан по умолчанию и разделяет управление анимаци-
ей масштабирования объекта по трем осям координат.
Контроллер Color RGB — позволяет управлять анимацией цветовыми параметрами R,
G, B. Для этого каждому параметру назначается контроллер Bezier Color. Впрочем,
на их месте можно назначить другие контроллеры — Point3 XYZ, которые разделяются
на контроллеры для каждой составляющей цвета: R, G и B.
Контроллер Noise
Контроллер Noise применяется для создания неравномерностей изменения анимируемого параметра. Он не использует ключевых кадров и действует на протяжении всего
диапазона кадров анимации. Откройте файл \scenes\lesson_6.4\Noise_controller.max и
в области Show уберите флажок у Global Tracks,
окно Curve Editor. В окне Filters
в области Show Only установите флажок только у Selected Objects и выделите первый
параллелепипед.
В окне Curve Editor слева будут находиться параметры объекта. Раскройте группу
Object (Box), щелкните правой кнопкой мыши по строке Height и выберите Assign
Controller. Примените контроллер Noise Float. Установите значения его параметров,
например, как показано на рис. 6.39. Значение Strength определяет величину изменяемого параметра, в нашем примере это высота; Frequency отвечает за частоту измене-
Анимация
355
Рис. 6.39. Параметры контроллера
ний (как быстро будет меняться значение Strength); параметр Seed отвечает за неравномерность.
Воспроизведите анимацию — параллелепипед станет пульсировать, изменяя свою
высоту.
Аналогично применим контроллер Noise Float для параметра Height к остальным
объектам.
Чтобы каждый раз не повторять настройки контроллера, скопируем уже созданный.
Выделите первый объект, в окне Curve Editor слева щелкните правой кнопкой мыши
по строке Height : Noise Float и выберите команду Copy. Выделите второй параллелепипед, в окне Curve Editor раскройте группу Object (Box), щелкните правой кнопкой
мыши по строке Height и выберите Paste. В появившемся окне выберите тип клонирования Copy. Двойным щелчком по строке параметра Height : Noise Float вызовите
настройки контроллера и введите для Seed, например, значение 10 (см. видео \Lesson_6.4\
Copy_controller.mp4).
Для каждого объекта в параметрах контроллеров меняйте значение Seed, чтобы добавить неоднородность анимации.
Проиграйте анимацию, все объекты начнут произвольным образом менять свою высоту. Смотрите файл \scenes\lesson_6.4\Noise_controller_end.max.
Контроллер Audio
Контроллер Audio (Звук) позволяет анимировать почти любой параметр, преобразуя
амплитуду звука в значения анимируемого параметра объекта.
Откройте файл \scenes\lesson_6.4\Audio_controller.max. Установите продолжительность
анимации равной 300 кадрам. Выделите объект Speaker.
Откройте окно Track View - Curve Editor и в окне Filters в области Show Only отметьте флажком опцию Selected Objects. Слева раскройте дерево иерархии объекта Speaker |
Modified Object | Melt и выделите параметр Melt Amount. Щелкните на нем правой
кнопкой мыши и в открывшемся контекстном меню выберите команду Assign
Controller. В окне Assign Scale Controller выберите контроллер AudioFloat и нажмите
кнопку OK — откроется окно Audio Controller (рис. 6.40). В нем нажмите кнопку
Choose Sound и выберите подходящий звуковой файл формата WAV, например файл
\sceneassets\sounds\drum.wav из папки проекта. В области Controller Range в поле Min
356
Глава 6
оставьте нулевое значение, а для поля Max введите число 80. Числа в полях Min и Max
определяют минимальное и максимальное значения параметра Melt Amount, для которого мы применили контроллер.
Рис. 6.40. Назначение параметров аудиофайла
Закройте окно Audio Controller и воспроизведите анимацию. Не забывайте, что анимация проигрывается в активном видовом окне. Чтобы одновременно услышать музыку,
этот же файл следует подключить в окне Track View - Curve Editor на треке Sound.
Для этого в окне Filters в области Show установите флажок у параметра Global Tracks,
в результате трек отобразится слева в окне Curve Editor. Затем дважды щелкните на
строке Sound, в открывшемся окне ProSound нажмите кнопку Add (Добавить) и дов области
бавьте тот же звуковой файл. Не забудьте в окне Time Configuration
Playback включить опцию Real Time. Проиграйте анимацию, произведенные изменения содержатся в файле \scenes\lesson_6.4\Audio_controller_end.max из папки этого
упражнения.
Контроллер Block
Этот контроллер позволяет объединять треки анимации объекта. Затем такой блок
можно многократно использовать в других местах анимируемой сцены для повторения
сохраненной в нем анимации, меняя при этом скорость воспроизведения анимации.
Сохраненный блок можно вставлять также в другие сцены, применяя его к новым объектам.
Продемонстрируем применение блока на примере анимации мяча. Откройте файл
\scenes\lesson_6.4\Block_controller.max из папки проекта и воспроизведите анимацию.
Мяч один раз поднимается наверх и падает, вращаясь вдоль оси Z. Добавим с помощью
блоков анимации повторение.
В окне Time Configuration
для скорости анимации Frame Rate задайте Custom и
для поля FPS введите число 24, установите длину анимации равной 72 кадрам, чтобы
Анимация
357
анимация длилась 3 секунды. Откройте окно Track View - Dope Sheet и в разделе Show
окна Filters отметьте флажком опцию Global Tracks, а в разделе Show Only — вариант
Selected Objects (Выбранные объекты).
Выделите мяч и раскройте трек Global Tracks (Общие треки) | Block Control (Управление блоком). Под ним расположен трек Available (Доступный) (рис. 6.41). Если
Global Tracks не отображается, закройте окно Dope Sheet, выделите мяч и снова
откройте Track View - Dope Sheet.
Выделите этот трек, щелкните на нем правой кнопкой мыши и выполните команду
Assign Controller (Назначить контроллер) | Driver Block (Ведущий блок) — откроется
окно Driver Block Parameters (Параметры ведущего блока). Щелкните в нем на кнопке
Add (Добавить) — откроется окно Track View Pick (Указатель треков), в котором следует развернуть дерево объекта Box001. В окне появятся треки анимированных параметров этого объекта. Выделите треки, относящиеся только к положению мяча (рис. 6.42),
и нажмите кнопку OK.
Рис. 6.41. Трек Available
Рис. 6.42. Выделены треки анимированного положения мяча
В результате откроется окно Block Parameters, в котором в верхнем поле укажите
название блока (Move), а ниже задайте номера кадров начала и конца копируемой анимации (Start = 0, End = 16). Образец цвета также можно изменить, чтобы легче было
различать разные блоки (рис. 6.43, а). После щелчка на кнопке OK в окне Driver Block
Parameters появится название созданного блока (рис. 6.43, б).
а
б
Рис. 6.43. Создание блока: а — параметры блока; б — создан блок Move
358
Глава 6
Снова щелкните на кнопке OK. В результате в окне Track View - Dope Sheet в разделе
Block Control появится подраздел DriverBlock — раскройте его, и вы увидите там
название созданного блока.
Так как был создан блок только для положения мяча, добавим еще один блок для вращения. Такое разделение было сделано намеренно, чтобы изменять свойства поворота
независимо от положения.
В окне Dope Sheet слева в свитке Global Tracks | Block Control снова щелкните по
строке Available правой кнопкой мыши и выберите опцию Assign Controller (Назначить контроллер) | Driver Block (Ведущий блок). В окне Driven Block Parameters
щелкните по кнопке Add, на этот раз выберите только треки поворота (можно выбрать
только Z Rotation). Нажмите кнопку OK и в окне Block Parameters введите имя
Rotate, Start = 0, End = 16, можете задать зеленый цвет, чтобы отличать блоки положения и вращения.
В результате в окне Dope Sheet в категории Block Control появятся два контроллера:
Move и Rotate (рис. 6.44). Щелкните правой кнопкой мыши в основной части по серой
полосе напротив верхнего контроллера DirveBlock и выберите опцию Move. Аналогично добавьте блок Rotate (рис. 6.45, см. видео \Lesson_6.4\Add_block_controller.mp4).
Рис. 6.44. Добавлены два контроллера
Рис. 6.45. Добавлены два блока Rotate и Move
Добавленные блоки можно перемещать, дублировать и масштабировать. Для перемещения достаточно щелкнуть по блоку и перетянуть вдоль горизонтальной линии.
Щелкните по блоку Move, чтобы сделать его активным, затем щелкните правой кнопкой мыши, появятся его параметры, уточните значения Start = 17, End = 35 (рис. 6.46).
Добавленные блоки — это дополнительная анимация, она не заменяет той, что уже создана в сцене, а блок Move представляет собой фрагмент движения мяча вверх и вниз.
Поэтому его начало (параметр Start) установлено в кадре 17 после основной анимации.
Аналогично уточните положение блока Rotate.
Проиграйте анимацию. После основной анимации, мяч сделает еще один повтор движения вверх/вниз.
Удерживая нажатой клавишу <Shift>, перетяните блок Move вправо для создания дубликата, блоки должны идти друг за другом. В параметрах блока задайте End = 45,
таким образом ускорим движение мяча. Положение блоков будет соответствовать
рис. 6.47.
Анимация
359
Рис. 6.46. Параметры положения
блока Move
Рис. 6.47. Положение блоков Move
Создайте дубликат блока Rotate и в параметрах введите для End значение 50, чтобы
после того, как мяч коснется земли, он продолжил вращаться еще некоторое время.
Проиграйте анимацию, произведенные изменения содержатся в файле \scenes\lesson_6.4\
Block_controller_end.max из папки этого упражнения.
Практическая работа
Создайте и анимируйте сцену, аналогичную приведенной в файле \renderoutput\
practice_6.1\Still_life.mp4 из папки проекта.
Упражнение № 6-5. Продолжение анимации мяча
Графики анимированных параметров сферы
Откройте файл \scenes\lesson_6.5\Ball_animation.max из папки проекта. Продолжим создание анимации мяча, заставив его после отскока продолжать прыгать по полу.
Откройте окно редактора кривых, выполнив в главном меню команду Graph Editors
(Графовые редакторы) | Track View - Curve Editor (Просмотр треков - Редактор крив области Show Only (Показать только) установите флажок
вых). В окне Filters
Animated Tracks (Анимированные треки) и снимите все остальные флажки, в области
Show уберите флажок у Global Tracks. Нажмите кнопку OK. В результате в левой части окна Track View (Просмотр треков) в области иерархического списка останутся
только анимированные элементы. Щелкните мышью на "плюсике", расположенном
слева от строки Sphere001, чтобы раскрыть всю структуру. В главном меню окна Track
View - Curve Editor выполните команду View (Отобразить) | Keyable Icons (Ключевые
значки). В результате в левой части окна Curve Editor все анимированные параметры
будут отмечены значком с изображением ключа (рис. 6.48).
Рис. 6.48. Окно редактора кривых
360
Глава 6
В правой части редактора кривых отображаются графики перемещения и масштабирования сферы. По горизонтальной оси графика откладываются номера кадров анимации,
по вертикальной оси — значения параметров сферы в этих кадрах. Например, если
в левой части редактора кривых выделить трек Z Position, то справа появится график,
по вертикальной оси которого будут отображены значения координат сферы вдоль оси Z
в каждом кадре. Если в окне контроллеров анимации выделить только строку для параметров масштабирования Scale, то справа в окне ключей анимации отобразятся только
графики масштабирования сферы вдоль осей координат (рис. 6.49). Чтобы отобразить
полный график, можно воспользоваться командой Frame Value Extents Selected Keyes
, расположенной в нижней части экрана.
(Отобразить значения выделенных ключей)
Рис. 6.49. Графики масштабирования сферы
Кривая синего цвета, соответствует анимации масштабирования сферы вдоль оси Z. По
ней видно, что в 85-м кадре ее масштаб вдоль оси Z составляет примерно 110%, а в
кадре 92 он составляет 80%. Другая кривая фактически представляет собой две совпавшие кривые красного и зеленого цветов: они показывают анимацию масштабирования сферы вдоль осей X и Y. В 85-м кадре масштабные коэффициенты сферы вдоль
этих осей составляют около 100%. Чтобы увидеть точные значения этих коэффициентов в ключевых кадрах, в окне Curve
Editor на любой из кривых выделите значок ключевого кадра и
щелкните на нем правой кнопкой мыши. Откроется окно со
значениями масштабных коэффициентов в указанном ключевом кадре (рис. 6.50).
Рис. 6.50. Масштабные коэффициенты сферы
Эту же информацию можно получить и на командной панели. Для этого перейдите там
и в разделе Parameters в нижней части свитка PRS Parameters
на вкладку Motion
включите кнопку Scale. В результате в свитке Key Info (Basic) отобразятся точные значения масштабных коэффициентов в указанных ключевых кадрах.
На рис. 6.49 строка Scale: Bezier Scale представляет собой контроллер масштабирования Bezier Scale, он отвечает сразу за три трека анимации. Вместо него можно назна-
Анимация
361
чить другой контроллер масштабирования — ScaleXYZ. Для этого щелкните на строке
Scale: Bezier Scale правой кнопкой мыши и в открывшемся контекстном меню нажмите
кнопку Assign Controller (Назначить контроллер). В открывшемся окне Assign Scale
Controller укажите на контроллер ScaleXYZ (рис. 6.51, а). В результате мы получим
отдельные треки масштабирования относительно каждой из осей координат (рис. 6.51, б).
необходимо включить параметр
Для отображения типов контроллеров в окне Filters
Controller Types.
а
б
Рис. 6.51. Контроллеры масштабирования: а — выбран контроллер ScaleXYZ;
б — треки масштабирования
Продолжение отскоков
В окне контроллеров анимации выделите все анимированные элементы (они помечены
там значком с изображением ключа) и в главном меню окна Curve Editor выполните
команду Edit | Controller (Контроллер) | Out of Range Types (Типы движения вне диапазона).
П РИМЕЧАНИЕ
Если у вас загружена раскладка инструментов Function Curve Layout, то эту же команду
панели инструментов.
можно открыть щелчком на кнопке
В открывшемся окне Param Curve Out-of-Range Types выбора варианта экстраполяции под значком Cycle (Циклический) нажмите кнопку со стрелкой, направленной
вправо, чтобы задать поведение анимации после окончания диапазона ее фактического
определения (рис. 6.52). Подтвердите выполненные изменения, нажав кнопку OK.
После выполнения указанных действий справа от функциональных кривых появятся
пунктирные линии, повторяющие их форму (рис. 6.53). Это означает, что анимация,
созданная в диапазоне от нулевого кадра до кадра с номером 120, будет непрерывно
повторяться.
Откройте окно Time Configuration
и включите непрерывное повторение анимации,
установив флажок рядом с опцией Loop. Если сейчас включить анимацию, то можно
увидеть, что на участке между кадрами 120 и 150 мяч продолжает двигаться, повторяя
предыдущую анимацию. Однако при переходе от кадра 150 к нулевому кадру происходит скачок. Это вызвано тем, что длина анимации установлена не кратной длине фак-
362
Глава 6
тической анимации сферы, равной 120 кадрам. Поэтому в окне Time Configuration
установите длину анимации равной, например, 240 кадрам. Теперь анимация сферы
будет происходить непрерывно.
Рис. 6.52. Типы экстраполяции кривых
Рис. 6.53. Пунктирные линии показывают экстраполяцию анимации
Выделите сферу, чтобы отобразить ее ключевые кадры на треке анимации. Рамкой выделите все ключи, кроме первого, и переместите их одновременно на 60 позиций влево
(рис. 6.54). Снова включите анимацию, и ее цикличность станет более наглядной
(см. файл \scenes\lesson_6.5\Ball_animation_loop.max в папке проекта).
Рис. 6.54. Новое положение ключей анимации
Чтобы отменить действие команды Out of Range Types, в окне Param Curve Out-ofRange Types под значком Constant отключите кнопки, направленные в обе стороны.
Упражнение № 6-6. Вращение юлы
Анимация юлы
Создайте модель юлы, как показано на рис. 6.55. Сфера на юле сделана для более наглядной демонстрации вращения юлы вокруг своей оси, составные объекты юлы долж-
Анимация
363
ны быть объединены в один через команду Attach (модификатор Edit Poly) или с помощью группы. Переименуйте цельный объект в Jula. Задача заключается в том, чтобы
заставить ее равномерно вращаться вокруг собственной оси с большей скоростью, а
затем наклонить ее на небольшой угол и равномерно вращать вокруг вертикальной оси
с меньшей скоростью. Кроме того, ее основание должно совершать движение по круговой траектории, как показано в файле \renderoutput\lesson_6.6\Jula.mp4 из папки проекта.
Модель юлы находится в папке \scenes\lesson_6.6\Jula.max.
Рис. 6.55. Модель юлы
Установите систему координат World.
П РИМЕЧАНИЕ
Система координат выбирается на главной панели инструментов в свитке Reference
Coordinate System. По умолчанию установлена система координат View.
Сдвиньте ползунок таймера анимации в нулевой кадр и включите режим Auto Key
Mode
. В любом окне выделите объект Jula и сместите ползунок анимации
к 20-му кадру. Щелкните правой кнопкой мыши на значке главного меню Select and
, в области Offset:World окна Rotate Transform Type-In введите значение
Rotate
Z = 360 и нажмите клавишу <Enter>. В результате будут созданы ключи анимации
в нулевом и 20-м кадрах.
Отключите режим Auto Key Mode и воспроизведите анимацию — юла совершит полный оборот в интервале между нулевым и 20-м кадрами. Выделите юлу и на главной
, чтобы
панели инструментов щелкните на кнопке Curve Editor (Редактор кривых)
открыть окно Track View - Curve Editor. Проверьте, чтобы в области контроллеров
анимации был выделен анимированный параметр Z Rotation. В строке меню этого окна
выполните команду Edit | Controller | Out Of Range Types, под миниатюркой Cycle
нажмите на правую стрелку и затем на кнопку OK — анимация будет зациклена. Однако вращение юлы окажется неравномерным. Равномерным оно станет, когда в правой
части окна Track View - Curve Editor график ее вращения будет представлять собой
прямую линию.
Щелкните правой кнопкой мыши по ключу анимации в нулевом кадре и в области Out
. Это будет означать, что при выходе из нулевого
воспользуйтесь инструментом
кадра юла станет вращаться равномерно.
364
Глава 6
Теперь там же вверху щелкните правой кнопкой мыши по 20-му кадру, чтобы отобра. Это будет озназить его параметры, и в области In воспользуйтесь инструментом
чать, что при подходе к 20-му кадру юла так же будет вращаться равномерно. То же
самое можно было сделать, выделив оба ключа анимации и выбрав команду Set
Tangents to Linear
на панели инструментов редактора кривых. Как можно видеть,
график вращения юлы вокруг оси Z превратился в прямую линию (рис. 6.56).
Рис. 6.56. График вращения объекта Jula
Убедитесь, что отключен режим Auto Key Mode. Создайте новую группу (Jula1) из одного объекта — Jula. Выделите ее, активизируйте команду на командной панели
Hierarchy
| Affect Pivot Only и сместите опорную точку группы Jula1 ниже опорной плоскости. Отключите эту команду. На главной панели инструментов в качестве
и с помощью команды
центра вращения установите опцию Use Pivot Point Center
наклоните юлу примерно на 15° (рис. 6.57).
Select and Rotate
а
б
Рис. 6.57. Положения юлы: а — система координат смещена ниже опорной плоскости;
б — юла повернута
Установите ползунок анимации в 100-й кадр и включите режим Auto Key Mode. Если
у вас установлена система координат World, то в любом окне выделите юлу, а затем
щелкните правой кнопкой мыши на значке главного меню Select and Rotate
в окне
Rotate Transform Type-In, в области Offset:World введите Z = 360. В результате юла
Анимация
365
совершит полный оборот вокруг вертикальной оси в интервале между нулевым и
100-м кадрами, и при этом ее основание будет совершать круговое движение. Чтобы
вращение юлы выглядело равномерным, график ее вращения следует сделать прямолинейным, выполнив действия, аналогичные только что рассмотренным. Установите длину анимации равной 300-м кадрам и зациклите ее так же, как сделали это ранее. Только
на этот раз раскрывайте параметры группы Jula1 и редактируйте анимационную кривую Z Rotation.
Масштабирование
скорости воспроизведения анимации
Скорость анимации можно изменить, не затрагивая саму анимацию. Откройте окно
Time Configuration
и в нем щелкните на кнопке Re-scale Time (Масштабировать
временной интервал) — откроется одноименное окно (рис. 6.58).
Чтобы замедлить анимацию, например, в три раза, нужно
в этом окне параметру End Time (Время окончания) задать
значение, равное 900, т. е. в три раза большее, чем было до
этого. Тогда продолжительность анимации увеличится
в три раза, а ключи анимации соответственно сместятся
с 20-го и 100-го кадров в 60-й и 300-й. Для ускорения анимации значение параметра End Time следует, наоборот,
уменьшать. В нашем примере введите для параметра End
Time значение 250, чтобы немного ускорить анимацию.
Рис. 6.58. Масштабирование анимации
Итоговая сцена расположена в файле \scenes\lesson_6.6\Jula_end.max. Сохраним созданную анимацию. Для этого откройте панель Render Setup, в области Time Output отметьте вариант Active Time Segment и в области Output Size установите размер выводимого изображения. В области Render Output задайте имя и место расположения
анимационного файла. В окне Render Output File в области Gamma оставьте активным вариант Automatic, нажмите кнопку Setup и выберите тип компрессора. На панели Render Setup щелкните по кнопке Render. В результате будет получена анимация
(см. файл \renderoutput\lesson_6.6\Jula.mp4 в папке проекта).
Практическая работа
Создайте и анимируйте сцену, аналогичную приведенной в файле \renderoutput\
practice_6.6\Mechanism.mp4 из папки проекта.
366
Глава 6
Упражнение № 6-7. Контроллер Path Constraint
Создайте новую сцену Solar_system.max в папке проекта \scenes\lesson_6.7\. В сцену добавьте сферу — это будет Солнце (Sun), меньшую сферу для Земли (Earth), а также
сплайн вокруг Солнца в виде эллипса — он будет служить траекторией для Земли
(Earth_Orbit). Рядом с Землей создайте сферу для Луны (Moon), а также круговую орбиту
(Moon_Orbit), по которой будет двигаться Луна (рис. 6.59). Примените к объектам соответствующие текстурные карты из папки проекта \sceneassets\images\. На окружение
(Rendering | Environment) применена текстурная карта stars.jpg.
Рис. 6.59. Начальная сцена Солнечной системы
Откройте окно Time Configuration
и установите длину анимации равной 360 кадрам, — они будут соответствовать числу дней в году. Выделите объект Moon и на главной панели инструментов выполните команду Animation | Constraints (Ограничители) |
Path Constraint (Ограничитель вдоль пути), укажите на траекторию Луны Moon_Orbit.
Чтобы заставить орбиту Луны перемещаться вместе с Землей, выделите ее орбиту и
свяжите ее с Землей. Выделите объект Earth,
с помощью команды Select and Link
на главной панели инструментов выполните команду Animation | Constraints (Ограничители) | Path Constraint (Ограничитель вдоль пути) и укажите на траекторию Земли — Earth_Orbit. (см. видео \Lesson_6.7\Path_constraint.mp4).
Контроллер Path Constraint заставляет объект двигаться вдоль траектории, имеющей
вид сплайна, или на некотором усредненном расстоянии между несколькими сплайнами. Чтобы получить доступ к параметрам контроллера, следует выделить анимируемый
, открыть панель Parameters и в свитке PRS
объект, перейти на панель Motion
Parameters щелкнуть на кнопке Position, Rotation или Scale — в зависимости от того,
какие параметры положения объекта вас интересуют. Ниже, в свитке Euler Parameters,
можно выбрать название той оси координат, относительно которой нужно проверить
значение анимируемого параметра. Там же в свитке Key Info (Basic) указываются номера кадров анимации и значения анимируемых параметров относительно выбранной
оси координат.
Воспроизведите анимацию. За 360 кадров Земля совершит один оборот вокруг Солнца,
а Луна совершит один оборот вокруг Земли. Чтобы заставить Луну совершить за это же
время 12 оборотов вокруг Земли, установите ползунок таймера анимации в кадр 360,
выделите объект Moon и включите режим Auto Key Mode. Перейдите на панель Motion
и в нижней части панели в свитке Path Parameters в поле % Along Path (Часть
траектории) введите число 1200. Отключите режим Auto Key Mode.
Анимация
367
Земля за сутки делает полный оборот вокруг своей оси. Следовательно, за год она
должна сделать 360 оборотов. Однако на дисплее это не будет выглядеть наглядно. Поэтому заставим Землю сделать только три оборота, а значит, она должна повернуться
на 360×3 = 1080°. Для этого снова установите ползунок таймера анимации в кадр 360,
выделите объект Earth и включите режим Auto Key Mode. Щелкните правой кнопкой
и в области Offset:Screen введите Y = 1080.
мыши на команде Select and Rotate
Отключите режим Auto Key Mode и воспроизведите анимацию. Дополнительно можно
добавить источник света (рис. 6.60).
Рис. 6.60. Промежуточный кадр анимации
Готовая модель сцены приведена в файле \scenes\lesson_6.7\Solar_system.max, а ее анимация — в файле \renderoutput\lesson_6.7\Solar_system.mp4.
Практическая работа
В качестве самостоятельной работы создайте полную модель Солнечной системы.
Упражнение № 6-8. Анимация в ручном режиме
Откройте файл \scenes\lesson_6.8\Simple_animation.max, в котором анимация была создана с использованием автоматического режима.
Последовательность создания анимации
Режим ручной анимации (Set Key Mode) используется для того, чтобы иметь более
полный контроль над ключами параметров и объектов, создаваемых в каждом ключевом кадре, по сравнению с методом автоматической анимации (Auto Key Mode). Для
создания анимации в ручном режиме в общем случае необходимо выполнить следующие действия:
1. Привести объекты сцены в начальное состояние и установить ползунок таймера
анимации в нулевой кадр.
2. Задать частоту кадров и число кадров анимации в диалоговом окне Time Configuration (Конфигурация временны́х параметров).
368
Глава 6
3. Активизировать ручной режим создания анимации кнопкой Set Key Mode (Уста.
новка ключей)
(Фильтры ключей), расположенную в нижней части ин4. Нажав кнопку
терфейса программы, и вызвав диалоговое окно Set Key Filters (Установка фильтров ключей), с помощью флажков указать категории ключей анимации, которые
будут создаваться в ручном режиме (рис. 6.61).
На самом деле параметров, допускающих анимацию, намного больше, чем указанно
в окне Set Key Filters. Для назначения дополнительных анимируемых параметров
откройте диалоговое окно Graph Editors | Track View - Curve Editor, раскройте все
свойства объектов в сцене и на панели инструментов этого редактора выполните
команду View (Отобразить) | Keyable Icons (Анимируемые параметры). В результате в левой части окна Track View все параметры, которые могут быть анимированы, будут отмечены
. Здесь же можно отключить
значком с изображением ключа
те треки, для которых вы не хотите создавать ключи анимации
(в автоматическом и ручном режимах). Для этого достаточно
щелкнуть на соответствующем значке — он окажется пере.
черкнутым
Рис. 6.61. Окно управления ручной анимацией
5. Нажать кнопку Set Keys (Установить ключи анимации)
,
чтобы зафиксировать значения установленных параметров в начальном кадре. Этим
режим Set Key Mode существенно отличается от режима Auto Key Mode.
6. Переместить ползунок таймера анимации к следующему ключевому кадру и внести
необходимые изменения в сцену для создания анимации. Снова нажать кнопку Set
Keys
, чтобы зафиксировать значения установленных параметров в этом кадре.
Если этого не сделать, то ключи не будут созданы.
7. Завершить анимацию, выключив ручной режим кнопкой Set Key Mode
.
На треке анимации созданные ключи окрашиваются разными цветами, чтобы показать,
для каких треков они созданы.
Анимация сцены
Установите в качестве текущего нулевой кадр. При помощи раскрывающегося списка
(рис. 6.62) укажите программе, для каких объектов следует устанавливать ключи. По
умолчанию в списке задан вариант Selected (Выделенные), значит, ключи будут создаваться для всех выделенных объектов сцены.
Рис. 6.62. Выбор категории анимированных объектов
Анимация
369
Выделите в сцене тор и укажите, для каких параметров тора следует создавать ключи
и в открывшемся диалоговом окне Set
анимации. Для этого нажмите кнопку
Key Filters оставьте флажок только у пунктов Object Parameters (Параметры объекта)
и Modifiers (Модификаторы), задающих установку ключей параметров объекта
и модификаторов. Закройте окно Set Key Filters. Ограничение в типе создаваемых
ключей позволяет контролировать количество ключей анимации и в дальнейшем это
упросит их редактирование.
Перейдем к созданию анимации. Нажмите кнопку Set Key Mode (Установка ключей)
— она будет выделена красным цветом, и это означает, что программа находится в режиме ручного создания ключей анимации.
Мы не станем изменять параметры тора на интервале от нулевого кадра до 20-го. Поэтому просто переместите ползунок таймера анимации к 20-му кадру и назначьте тору
модификатор Squeeze (Сжать), оставив его параметры без изменения, а затем нажмите
, расположенную слева от кнопки Set Key Mode
, чтобы
кнопку Set Keys
установить в этом кадре ключи анимации, фиксирующие значения параметров тора.
В настройках модификатора возле всех параметров появится красная рамка, означающая, что для них создан ключ анимации.
Переместите ползунок таймера анимации к 60-му кадру и установите значения параметров тора Radius 1 = 25 и Radius 2 =12. Кроме того, установите для модификатора
Squeeze в области Axial Bulge (Выпуклость вдоль оси) значение параметра Amount
(Количество) равным двум, а в области Radial Squeeze (Сжатие вдоль радиуса) значе.
ние параметра Amount равным трем. Снова нажмите кнопку Set Keys
Перейдите к 100-му кадру, верните измененные параметры к первоначальным значениям (параметры тора: Radius 1 = 17 и Radius 2 = 6, параметры модификатора: Axial
Bulge | Amount = 0, Radial Squeeze | Amount = 0) и опять нажмите кнопку Set Keys
.
.
Выключите режим создания анимации, нажав кнопку Set Key Mode
Воспроизведите анимацию (см. файл \scenes\lesson_6.8\Simple_animation_end.max). Положение объектов сцены, соответствующее 60-му кадру, показано на рис. 6.63.
В качестве самостоятельного упражнения отредактируйте полученную анимацию так,
чтобы при движении чайник "пролетал" сквозь деформированный тор.
Рис. 6.63. Положение объектов сцены в 60-м кадре
370
Глава 6
Практическая работа
Самостоятельно создайте анимацию, показанную в файле \renderoutput\practice_6.8\Newton’s
Cradle.mp4 из папки проекта.
Упражнение № 6-9. Редактор кривых.
Звуковое сопровождение
Анимация баскетбольного мяча [22]
Откройте сцену из файла \scenes\lesson_6.9\Basketball.max, расположенного в папке проекта. Выделите мяч и активизируйте окно вида спереди Front. Нажмите кнопку Auto
Key Mode. Переместите ползунок таймера шкалы анимации к кадру 30. Щелкните на
мяче правой кнопкой мыши и выберите команду Object Properties (Свойства объекта).
Установите флажок Motion Path (Траектория) в области Display Properties (Свойства
отображения). Траектория показывает путь движения мяча в видовых окнах, что помогает в работе над анимацией, и с ее помощью можно редактировать положение ключевых кадров.
Чтобы изначально траектория мяча была плавной, нажмите кнопку Default In/Out
Tangents for New Keys (Положение касательных для новых ключей на входе/выходе)
, расположенную в самом низу окна программы и отвечающую за плавность траектории. Из раскрывающегося перечня выберите вариант сглаживания с горизонтально
расположенными касательными (рис. 6.64).
Рис. 6.64. Выбран вариант
сглаживания траектории
Рис. 6.65. Мяч расположен над кольцом
Нажмите кнопку Select and Move
и переместите мяч в окне вида спереди, расположив его над кольцом (рис. 6.65), — в нулевом и 30-м кадрах будут созданы ключи анимации.
Переместите ползунок таймера шкалы анимации к кадру 15 и сместите мяч вверх, чтобы траектория его стала похожа на дугу. Перейдите к кадру 45 и переместите мяч в такое положение, при котором он касается пола (рис. 6.66).
Анимация
371
Создание эффекта отскакивания мяча
Теперь необходимо создать эффект отскакивания мяча от пола. Перейдите к кадру 55
и переместите мяч немного вверх и влево. Затем перейдите к кадру 65 и переместите
мяч к полу и немного влево. Это будет первый отскок мяча. Повторите описанные действия, чтобы создать еще два отскока мяча. Каждый последующий отскок должен быть
меньше предыдущего. Создайте один отскок в кадрах 73 и 80 (движение мяча вверх и
вниз), а другой — в кадрах 86 и 92. Завершите последовательность анимации скачущего мяча небольшой прямой линией в промежутке между кадрами 90 и 100 (рис. 4.62).
Рис. 6.66. Перемещение мяча
Рис. 6.67. Траектория анимации мяча
Отключите режим Auto Key Mode и воспроизведите полученную анимацию, нажав
. Полученная анимация выглядит излишне плавной и гладкнопку Play Animation
кой. Кроме того, в конце движения мяч ускоряется, хотя он должен замедлять свое
движение. Такому состоянию сцены соответствует файл \scenes\lesson_6.9\Basketball_
step1.max из папки проекта.
372
Глава 6
Корректировка полета мяча
Устраним отмеченные недостатки с помощью редактора кривых. Выделите мяч и на
главной панели инструментов нажмите кнопку Curve Editor (Редактор кривых)
.
В нем раскройте структуру объекта Ball. В области Position выделите контроллеры,
соответствующие перемещениям мяча вдоль осей координат X, Y и Z (рис. 6.68).
Рис. 6.68. Графики анимации мяча
Редактор кривых поможет нам проанализировать и откорректировать поведение мяча.
При этом не следует забывать про законы физики.
Поскольку мяч не перемещается вдоль оси Y, то в нашем случае трек анимации вдоль
этой оси представляет собой горизонтальную прямую и коррекции подлежит только
движение мяча по осям X и Z.
По законам физики с начала своего движения и до 30-го кадра мяч должен двигаться
с одной и той же скоростью вдоль оси X. Поэтому его траектория от нулевого кадра и
до 30-го должна представлять собой прямую линию. Следовательно, нужно внести изменения в указанные кадры. Для этого в левой части редактора кривых щелкните мышью на пунктах X Position и Z Position, и в окне останутся только две кривые: красная
для оси X и синяя для оси Z.
В окне редактора кривых щелкните указателем мыши на нулевом ключевом кадре
красной кривой. Затем на панели инструментов этого окна нажмите кнопку Set Tan. То же самое сделайте в 30-м кадре, поскольку после столкновения
gents to Linear
мяча со щитом и до столкновения с полом в кадре 45 его скорость относительно оси X
также должна быть постоянной. Далее скорость мяча будет постепенно уменьшаться,
но после каждого столкновения с полом и до каждого следующего столкновения с ним
она должна оставаться постоянной. Поэтому в тех кадрах, где мяч ударяется о пол,
, а затем поправьте вертикальное потакже нажмите кнопку Set Tangents to Linear
ложение ключевых кадров на красной кривой таким образом, чтобы наклон кривой относительно оси X постепенно уменьшался. Это легко сделать, щелкнув правой кнопкой
мыши по ключу на красной кривой в 30-м кадре. В появившемся окне Ball/X Position
(рис. 6.69) переходите по кадрам и проверяйте значение параметра Value, с увеличением кадра оно должно уменьшаться, если нет, то измените значение.
Поскольку после каждого столкновения с полом скорость мяча постепенно уменьшается, то красная кривая на участке от 30-го кадра и до конца анимации должна быть
Анимация
373
выпуклой вниз. Однако пока это не получилось, и скорость мяча в конце анимации возрастает вместо того, чтобы уменьшаться (рис. 6.70). Это видно на участке красной кривой от 90-го до 100-го кадра.
Рис. 6.69. Корректировка
положения мяча
Рис. 6.70. Корректировка движения мяча вдоль оси X
Установите число кадров анимации равным 140. На панели Time Slider выделите кадр
100 и перенесите его в кадр 140. В редакторе кривых с помощью команды Add/Remove
в промежутке между 92-м и 140-м кадрами добавьте еще
Key (Добавить ключи)
один ключ на красную кривую (положение объекта по оси X), например в кадре 113,
и опустите кривую чуть вниз, чтобы она стала выпуклой вниз. В кадре 140 касательная
к кривой должна стать горизонтальной, поскольку скорость мяча в этом кадре должна
быть нулевой (рис. 6.71).
Рис. 6.71. Кривая выпукла вниз
Корректировка отскоков мяча от пола
Теперь нам предстоит поправить отскоки мяча от пола в направлении оси Z — за это
отвечает синяя кривая в окне Track View - Curve Editor. Коррективы необходимо внести в те кадры, где мяч соприкасается с полом. На панели инструментов окна Curve
. Нажмите клавишу <Ctrl> и в окне редакEditor выберите инструмент Move Keys
тора кривых щелкните мышью на ключевых кадрах (45, 65, 80 и 92) синей кривой, обозначающих положение мяча в моменты его соударения с полом. Поменяйте тип касательной, нажав кнопку Set Tangents to Fast (Установить касательные в режим быстро, расположенную на панели инструментов редактора
го подъема и спуска)
кривых, — график траектории мяча по оси Z изменит свою форму (рис. 6.72). То же
самое произойдет и с траекторией мяча в окне проекции.
374
Глава 6
Рис. 6.72. График траектории мяча по оси Z после корректировки
Нулевой кадр на кривой Z также нужно исправить, т. к. в промежутке между нулевым
и 15-м кадрами синяя кривая должна быть выпуклой вверх, поскольку скорость мяча
в вертикальном направлении на этом участке уменьшается. Выделите на синей кривой
ключ в нулевом кадре и на панели инструментов окна Track View нажмите кнопку Set
— в видовом окне форма траектории также изменится.
Tangents to Fast
Закройте окно Track View редактора кривых, перейдите в окно вида в перспективе
и воспроизведите анимацию.
Чтобы сделать траекторию невидимой, выделите мяч, щелкните на нем правой кнопкой
мыши, выберите команду Object Properties и уберите флажок у опции Motion Path.
Затем снимите выделение с мяча.
Такому состоянию сцены соответствует файл \scenes\lesson_6.9\Basketball_step2.max.
Воспроизведите полученную анимацию.
Корректировка анимации в видовом окне
Корректировку траектории анимированного объекта можно выполнять непосредственно в видовом окне. Если выделить анимированный объект и включить опцию Motion
, то в видовом окне автоматически отобраPath, а затем перейти на вкладку Motion
зится траектория его движения и ключевые кадры. Отобразить траекторию объекта
можно иначе — щелкните на объекте правой кнопкой мыши и в открывшемся меню
выберите команду Show Motion Path. Все изменения, сделанные в видовом окне, отображаются в окне Track View - Curve Editor.
В каждом ключевом кадре отображаются касательные, которыми можно управлять
с целью корректировки траектории созданной анимации. Ключи можно смещать, поворачивать, масштабировать (рис. 6.73).
имеется несколько свитков с инструментами, с помощью котоНа вкладке Motion
рых можно управлять анимацией непосредственно в видовом окне.
При включении режима Sub-Object в свитке, показанном на рис. 6.74, а, появляется
возможность изменять положение ключей, отображенных на траектории. При включении опции Always Show Motion Path траектория всегда будет отображаться в видо-
Анимация
375
а
б
в
Рис. 6.73. Корректировка ключей анимации в видовом окне:
а — смещение; б — поворот; в — масштабирование
а
б
Рис. 6.74. Инструменты управления анимацией в видовом окне
вом окне. Команда Delete Key удаляет выбранные ключи, а Add Key добавляет новые
ключи.
В области Tangents настраиваются касательные в ключах. Если выбрать одну из коили Select and Rotate
, в видовом окне выделить ключ
манд Select and Move
анимации, а затем щелкнуть на кнопке Break Tangents
, то касательные с каждой
стороны станут разного цвета, и ими можно будет управлять по отдельности. Команда
, напротив, заставляет касательные двигаться одновременно, а коUnify Tangents
манда Set Tangents to Auto
выравнивает направления касательных.
376
Глава 6
В свитке Display (рис. 6.74, б) имеется параметр Path Coloring. Если ему присвоить
значение Velocity, то цвет участков траектории объекта будет зависеть от относительной скорости объекта на этом участке: красный цвет показывает самую большую скорость, а синий — самую меньшую. Это помогает увидеть неточности в создании анимации.
Включение опции Trim Path позволяет отображать только часть траектории объекта.
Например, если затем установить флажок для Frame Offset и задать значение Offset
равным 10, то траектория объекта будет отображаться позади и впереди объекта на
10 кадров.
Создание звукового сопровождения
Добавим в нашу сцену звуковое сопровождение. В анимации мяча присутствуют один
удар мяча о щит и четыре удара о пол, и на каждый такой удар необходимо загрузить
соответствующее звуковое сопровождение. В 3ds Max встроены два инструмента для
работы со звуком: Default Sound и ProSound. Первый позволяет добавить лишь один
звуковой файл, второй — более профессиональный инструмент, обеспечивающий загрузку нескольких звуковых файлов и более тонкую настройку.
Воспользуемся инструментом ProSound, по умолчанию он уже включен. Для проверки
в главном меню программы 3ds Max выберите команду Customize | Preferences. На
вкладке Animation в области Sound Plug-In убедитесь, что стоит ProSound, если нужно выбрать другой плагин, нажмите кнопку Assign (Назначить) и в окне Choose Sound
Plug-In выберите необходимую строку.
С помощью команды Graph Editors (Графические редакторы) | Track View-Dope Sheet
(Просмотр треков на диаграмме ключей) откройте одноименное диалоговое окно. Оти убедитесь, что в области Show активен параметр Global
кройте окно Filters
Tracks. Выполните двойной щелчок на строке Sound (Звук) — откроется менеджер
настроек звуковых файлов ProSound (рис. 6.75). Нажмите кнопку Add (Добавить) и
Рис. 6.75. Настройка звуковых файлов
Анимация
377
выберите из папки проекта звуковой файл \sceneassets\sounds\hi elect.wav. В области
Input Files выделите только что добавленный файл и установите начало его проигрывания — в области File Details для параметра Start (Начальный кадр) введите значение
30, именно в этом кадре мяч ударяется о щит. Окончание проигрывания (End Frame)
установите в кадре 40.
Добавим тот же звуковой файл для первого удара мяча об пол в 45-м кадре. Нажмите
кнопку Add и выберите файл \sceneassets\sounds\hi elect.wav. Для второго файла установите параметр Start Frame = 45. Этот же файл добавьте еще три раза и установите последовательно значения для параметра Start Frame 65, 80 и 92 — в этих кадрах мяч
ударяется о пол. Можете подключить также еще один файл — \sceneassets\sounds\
clap.wav — со звуками аплодисментов. Начните его воспроизведение с 20-го кадра. Закройте окно ProSound кнопкой Close.
В диалоговом окне Time Configuration
установите нормальную скорость воспроизведения анимации 1x, в противном случае звуковое сопровождение не появится. Проиграйте анимацию. Результат проделанной работы находится в файле \scenes\lesson_6.9\
Basketball_step3.max.
Анимация сетки
Разгруппируйте кольцо с сеткой. Выделите сетку и примените к ней модификатор
FFD(box). Число контрольных точек (Control Point) оставьте равным 4×4×4. Включите
режим Auto Key Mode. Перейдите к кадру 37 (для нашего примера это должен быть
командной панели
кадр до соприкосновения мяча с сеткой). На вкладке Modify
раскройте структуру подобъектов и отметьте строку Control Point. Выделите все контрольные точки и чуть сдвиньте их в любую сторону, чтобы зафиксировать в этом кадре их исходное положение. Проще всего это сделать, если на главной панели инструи в окне Move
ментов правой кнопкой мыши щелкнуть на кнопке Select and Move
Transform Type-In по одной из координат ввести, например, 0.1. Перейдите к кадру,
где мяч выступает за сетку (38 кадр), выделите часть вершин и сместите их по контуру
мяча (рис. 6.76, а).
а
б
Рис. 6.76. Деформация сетки: а — в кадре 38; б — в кадре 39
378
Глава 6
Перейдите к кадру 39, выделите те же, а также дополнительные контрольные точки
и снова сместите их вниз и влево (рис. 6.76, б). Аналогично поступайте в каждом
кадре вплоть до кадра, когда мяч вылетает из сетки, а далее постепенно возвращайте контрольные точки в исходное положение (см. файл \scenes\lesson_6.9\Basketball_
step4.max).
Вращение мяча
Добавим мячу вращение. Перейдите в окно вида спереди (Front). Включите режим
Auto Key Mode, выделите мяч и перейдите к кадру 30. Пусть на этом промежутке мяч
повернется вокруг оси Z системы координат Screen (вокруг оси, перпендикулярной
видовому окну) на 60°. Для этого на главной панели инструментов щелкните правой
и в открывшемся окне Rotate
кнопкой мыши на команде Select and Rotate
Transform Type-In в области Offset: Screen (Относительное смещение в экранной системе координат) установите значение Z = 60.
Между кадрами 30 и 45 мяч не вращается. Поэтому в кадре 45 в том же окне установите значение Z = 0.1 и нажмите клавишу <Enter>.
На промежутке между кадрами 45 и 92 пусть мяч повернется еще на 180°, для этого
в кадре 92 в том же окне установите значение Z = 180. Выключите режим Auto Key
Mode.
На прямолинейном участке между кадрами 92 и 140 ситуация совсем другая. Если мяч
будет вращаться излишне медленно, то возникнет впечатление, что он скользит по
поверхности. Если же он будет вращаться слишком быстро, то это будет означать, что
он "пробуксовывает". Значит, нужно правильно рассчитать, на какой угол следует развернуть мяч на этом участке, чтобы его движение выглядело естественным.
Сначала вычислим расстояние, которое должен пройти мяч между кадрами 92 и 140.
и в 92-м кадре поДля этого выделите мяч, включите команду Select and Move
смотрите значение координаты X в самом низу видового окна (рис. 6.77, а).
а
б
Рис. 6.77. Значение координаты X: а — в кадре 92; б — в кадре 140
Затем перейдите к кадру 140 и снова посмотрите значение этой же координаты
(рис. 6.77, б). Разница между ними 166.355 – 86.757 ≈ 80.
Теперь определим радиус мяча. Для этого перейдите на вкладку Utilities
и щелкните на кнопке Measure. В области Dimensions можно увидеть габариты мяча, которые соответствуют величине его диаметра. В нашем случае он примерно равен 80,
и, значит, радиус мяча равен 40. Следовательно, длина его окружности будет равна
2πR = 2×3.14×40 ≈ 251. Отсюда получаем величину угла, на который должен повернуться мяч: (80 / 251) × 360 ≈ 115°.
Снова включите режим Auto Key Mode, переместите ползунок таймера анимации к кадру, в котором мяч практически останавливается (в примере это 122-й кадр) и в области
Анимация
379
Offset: Screen окна Rotate Transform Type-In установите значение параметра Z = 115.
Отключите режим Auto Key Mode. Проверьте анимацию.
Такому состоянию сцены соответствует файл \scenes\lesson_6.9\Basketball_end.max.
Практическая работа
Самостоятельно создайте модель будильника. Анимируйте движение всех стрелок.
Предусмотрите звуковой сигнал будильника.
Упражнение № 6-10. Прямая кинематика
Иерархические связи [36]
Объекты можно объединять в группы, в которых они равноправны между собой. Есть
и другой способ объединения объектов — создание иерархий, или иерархических связей.
Иерархия — это набор объектов со связями между ними по принципу "предок — потомок". Другое название таких связей "родительский объект — дочерний объект", или,
еще проще, "старший объект — младший объект". Каждый предок контролирует поведение одного или более потомков. В то же время предки могут контролироваться своими предками, имеющими более высокий уровень иерархии. Потомок, контролируемый
некоторым предком, может оказаться предком для других потомков, находящихся по
иерархии ниже него. У каждого предка может быть несколько потомков, однако каждый потомок имеет только одного предка. Самый верхний объект иерархии управляет
всеми объектами иерархии и называется корневым.
Связывать объекты следует от потомков к предкам, т. е. от младших в иерархии
к старшим. Для связывания объектов вначале активизируют инструмент Select and Link
, затем выделяют самый младший в предполагаемой структуре
(Выделить и связать)
объект и при нажатой левой кнопки мыши указывают объект, который должен стать
его предком. Затем выделяют второй снизу в структуре объект и в отношении него выполняют ту же самую операцию — и так до тех пор, пока не будет установлена связь
с корневым объектом. Чтобы разорвать связь, следует выделить объект, связь которого
с вышестоящим в иерархии объектом должна быть уничтожена (или одновременно все
такие объекты), и нажать кнопку Unlink Selection (Разорвать связь выделенных объек.
тов)
В качестве примера рассмотрим приведенную в папке этого упражнения (см. файл
\scenes\lesson_6.10\Table_lamp.max) модель настольной лампы (рис. 6.78). Файл использованной здесь текстуры находится в папке \sceneassets\images. В сцене присутствуют
две группы: Support и Reflector, однако иерархические связи в них пока не установлены.
На главной панели инструментов включите инструмент Select and Link
, зафиксируйте курсор мыши на объекте Reflector, который должен стать самым младшим объектом иерархической цепочки, и, удерживая кнопку мыши нажатой, перетащите курсор
к рычагу Lever03 (при этом за курсором будет тянуться пунктирная линия). Отпустите
кнопку мыши — связь между этими объектами установлена. Снова подведите курсор
мыши к рычагу Lever03 и перетащите указатель к шарниру Hinge03. Повторяйте эти дей-
380
Глава 6
ствия, пока вы не дойдете до объекта Hinge01 (см. видео \Lesson_6.10\Create_direct_
kinematics.mp4), у вас должны установиться иерархические связи, как показано на
рис. 6.79 (см. файл \scenes\Table_lamp_step1.max).
Рис. 6.78. Модель настольной лампы
Рис. 6.79. Иерархические связи
установлены
Чтобы отобразить указанную структуру установленных связей, отключите инструмент
Select and Link
и нажмите кнопку Select by Name
главной панели инструментов или клавишу <H>. Для того чтобы в окне Select From Scene увидеть иерархию объектов, выберите в его меню опцию Display | Display Children, которая позволяет визуально убедиться в правильности создания структуры объекта. Если структура объектов
Рис. 6.80. Иерархические связи в окне Schematic View
Анимация
381
окажется свернутой, то для ускорения раскрытия всей структуры там же щелкните
мышью на строке Expand All (Развернуть все). Значки в виде квадратиков
перед
именами объектов (Support и Reflector) означают, что они представляют собой группы
объектов.
Созданную иерархию объектов удобно просматривать также в окне Schematic View,
на главной панели инсткоторое открывается по команде Schematic View (Open)
рументов (рис. 6.80).
Правила прямой кинематики
Перемещение и поворот объектов, связанных в иерархические цепочки, происходит по
определенным правилам — правилам прямой или инверсной (обратной) кинематики.
По умолчанию установлены правила прямой кинематики. Это означает, что преобразование любого предка автоматически распространяется на всех его потомков, но не касается объектов-предков преобразуемого объекта. Например, выделите объект Hinge02
и поверните его на произвольный угол. Вместе с ним на тот же угол повернутся его
дочерние объекты, имеющие по отношению к нему более низкий приоритет в иерархической цепочке (рис. 6.81). Однако объекты-предки объекта Hinge02 (Lever01, Hinge01 и
Support), имеющие по отношению к нему более высокий приоритет, останутся неподвижными.
Рис. 6.81. Поворот шарнира Hinge02
и его дочерних объектов
Рис. 6.82. Смещение рычага Lever03
и его дочерних объектов
Верните сцену в прежнее положение. Теперь выделите рычаг Lever03 и сместите его
вниз — вместе с ним переместится отражатель Reflector, но не сдвинутся с места объекты, имеющие более высокий иерархический уровень (рис. 6.82).
Объекты, имеющие самый низкий уровень иерархии (в нашем случае это объект
наследуют преобразования всех объектов-предков, а изменение положения
самих низкоуровневых объектов не влияет ни на один другой объект.
Reflector),
382
Глава 6
Возможные проблемы при масштабировании
Применение к объектам операции неравномерного масштабирования по осям (особенно если они объединены в иерархические цепочки) иногда может привести к нежелательным последствиям.
Чтобы избежать проблем при масштабировании, используйте команду Reset XForm
(Сброс преобразований), расположенную на командной панели на вкладке Utility
(см. видео \Lesson_6.10\Reset_XForm.mp4). Для сброса масштабирования и поворота
можно воспользоваться командой Reset (Transform/Scale), расположенной на вкладке
.
Hierarchy
Когда цепочка масштабирования создана, то меняя, например, масштаб старшего объекта, младшие полностью повторяют его трансформацию. Для того чтобы исключить
в разделе Pivot и в свитке
изменения подчиняемых объектов, на вкладке Hierarchy
Adjust Transform необходимо нажать кнопку Don’t Affect Children (см. видео
\Lesson_6.10\Not_to_affect_children.mp4).
Обеспечение целостности конструкции
Продолжим работу с моделью лампы. Выделите рычаг Lever02 и поверните его на произвольный угол (рис. 6.83). Как видите, конструкция разрушилась. Чтобы обеспечить
целостность конструкции при вращении ее звеньев, следует перенести их опорные точки в центры вращения.
Проделаем это с объектом Lever02. Восстановите сцену. Выделите объект Lever02,
перейдите на вкладку Hierarchy, нажмите сначала кнопку Pivot, а затем расположенную ниже кнопку Affect Pivot Only (Воздействовать только на опорную точку). Далее
на главной панели инструментов нажмите кнопку Align (Выровнять)
, а затем щелк-
Рис. 6.83. Поворот
вокруг опорной точки рычага
Рис. 6.84. Выравнивание положения
опорных точек
Анимация
383
ните мышью на объекте Hinge02. В открывшемся окне Align Selection (Выровнять положение выделенного объекта) выровняйте положение объектов по координатам X, Y, Z
и опорным точкам (Pivot Point) и снова нажмите кнопку Affect Pivot Only, чтобы отключить действие этой команды (рис. 6.84). Теперь вращение объекта Lever02 не будет
приводить к разрушению конструкции. Аналогичные действия проделайте с другими
рычагами (Lever01, Lever03), а опорную точку объекта Reflector совместите с верхним
концом рычага Lever03 (см. файл \scenes\lesson_6.10\Table_lamp_step2.max).
Ограничение перемещения объектов
в иерархической цепочке
Перемещение объектов в иерархической цепочке можно ограничить. Для примера вынажмите кнопку Link Info (Информаделите рычаг Lever02 и на вкладке Hierarchy
ция о связях) — появятся свитки Locks (Блокировки) и Inherit (Наследование)
(рис. 6.85).
В свитке Locks можно ограничить перемещение (Move), вращение (Rotate) или масштабирование (Scale) выделенного объекта относительно его локальных осей координат. Блокировка действует только на тот объект, для которого установлены запрещающие флажки.
На главной панели инструментов из раскрывающегося списка систем координат выберите пункт Local, чтобы установить локальную систему координат. В свитке Locks
Рис. 6.85. Свитки для установления ограничений
на перемещение и наследование объектов
Рис. 6.86. Перемещение рычага
относительно его локальной оси координат Y
384
Глава 6
в области Move установите запрещающие флажки для перемещения выделенного рычага относительно осей X и Z локальной системы координат и включите команду Select
— в видовых окнах останется видимой только ось Y локальной системы
and Move
координат, и перемещение выделенного рычага вместе со всеми его дочерними объектами окажется возможным лишь вдоль этой оси (рис. 6.86).
Верните рычаг в исходное положение. Выделите теперь шарнир Hinge02, являющийся
родительским по отношению к рычагу Lever02, и переместите его в любую сторону —
вместе с ним переместятся все его дочерние объекты, и предыдущие запреты, установленные на перемещение рычага Lever02, никак не повлияют на его положение.
Для блокировки вращений, которые могут быть применены к объекту Lever02, выделите
его и в свитке Locks в области Rotate установите флажки для осей X и Y. Включите
и повращайте рычаг Lever02 вокруг разных осей (в видокоманду Select and Rotate
вых окнах будет доступна только ось Z). Во всех случаях рычаг будет поворачиваться
только вокруг оси Z локальной системы координат.
Теперь выделите рычаг Lever01 и повращайте его вокруг разных осей — вместе с ним
будет поворачиваться и рычаг Lever02. Это означает, что блокировки (Locks) действуют
только в том случае, если перемещается или вращается тот объект, для которого эти
блокировки установлены, и они не распространяются на преобразования дочернего
объекта вместе с родительским.
Наследование преобразований
В свитке Inherit (Наследование) указывают преобразования, которые наследуются всеми дочерними объектами от объекта-предка. По умолчанию установлены флажки всех
преобразований по всем осям координат.
В качестве примера для рычага Lever02 сбросьте флажок в области Rotate для оси Y.
Тогда при вращении рычага Lever01 вокруг оси Y его локальной системы координат
рычаг Lever02 вместе со всеми его дочерними объектами будет перемещаться поступательно, и все они будут оставаться параллельными своему первоначальному положению (рис. 6.87, см. видео \Lesson_6.10\Inherit_lock.mp4).
Итоговая сцена находится в файле \scenes\lesson_6.10\Table_lamp_end.max
Пример с настройками блокировок и наследований
Рассмотрим еще один пример с настройками блокировок. Откройте сцену с моделью
робота (рис. 6.88), приведенную в файле \scenes\lesson_6.10\Robot.max из папки этого
упражнения.
Выделите объект Breast (туловище) и поверните его вокруг оси Y локальной системы
координат — вместе со всеми своими дочерними объектами он развернется соответствующим образом (рис. 6.89).
Чтобы избежать возможных ошибок и не допустить перемещения объекта Breast ни по
одной из осей координат, а также его вращения вокруг оси Y, можно установить огращелкните
ничения на эти движения. Выделите объект Breast, на вкладке Hierarchy
на кнопке Link Info (Информация о связях) и в свитке Locks (Блокировки) установите
Анимация
Рис. 6.87. Рычаг Lever02 и все его дочерние
объекты перемещаются параллельно
своему первоначальному положению
Рис. 6.89. Объект Breast развернулся
вместе со своими дочерними объектами
385
Рис. 6.88. Модель робота
Рис. 6.90. Установка блокировок
для объекта Breast
флажки для перемещения (Move) относительно всех трех осей и вращения (Rotate) относительно оси Y. Запретите также масштабирование (Scale) этого объекта вдоль всех
осей (рис. 6.90).
Выделите теперь объект ChamferCyl001 (левое плечо) и разрешите ему поворачиваться
относительно осей X и Y локальной системы координат, запретив все остальные варианты преобразований (рис. 6.91, а). Такие же ограничения наложите на объект
ChamferCyl004 (правое плечо).
Поверните объект Breast относительно оси Z локальной системы координат в сторону
шара, и он повернется вместе со всеми своими дочерними объектами (рис. 6.91, б).
Верните робота в исходное положение. Этому состоянию сцены соответствует файл
\scenes\lesson_6.10\Robot_locks.max.
386
Глава 6
а
б
Рис. 6.91. Ограничения перемещений:
а — установка блокировок; б — разрешенные направления вращения
Анимация манипулятора
Продолжим работу с той же сценой и анимируем движения робота. Вначале он должен
развернуться в сторону шара, наклониться и сомкнуть руки вокруг него. Затем выпрямиться, повернуться влево, снова наклониться, разомкнуть руки и оставить шар на другой стороне стола. После этого снова выпрямиться и вернуться в исходное положение.
Чтобы выполнить эти перемещения, перейдите в нулевой кадр и включите режим создания ключей анимации Set Key Mode (Режим ручной установки ключей анимации)
. Двойным щелчком выделите объект Center (при этом должны выделиться все
, чтобы зафиксировать исходное
подобъекты робота) и щелкните на кнопке Set Keys
положение всех подобъектов робота в нулевом кадре. Перейдите к кадру 10, выделите
объект Breast, разверните его в сторону шара и щелкните на кнопке Set Keys. Перейдите к кадру 15, наклоните объект Breast вперед так, чтобы его руки оказались на уровне
шара, и снова щелкните на кнопке Set Keys. В этом же кадре сдвиньте руки робота
(объекты ChamferCyl001 и ChamferCyl004) так, чтобы они обхватили шар, и для каждой из
них щелкните на кнопке Set Keys.
Перейдите к кадру 25. Выделите объект Breast, придайте ему вертикальное положение,
разверните влево и щелкните на кнопке Set Keys. Перейдите к кадру 30, наклоните
объект Breast в сторону стола, как будто бы робот кладет шар на стол (на самом деле
шар пока остается в правой части стола), и щелкните на кнопке Set Keys. Выделите
ключи анимации в нулевом кадре и при нажатой клавише <Shift> скопируйте их
в кадр 40 — благодаря этому робот примет первоначальное положение.
Выйдите из режима создания ключей анимации Set Key Mode (Режим ручной установи воспроизведите анимацию (см. файл \scenes\lesson_6.10\
ки ключей анимации)
Robot_animation.max).
Анимация
387
Перенос объекта
Выделите шар (объект Ball). На вкладке Motion
разверните раздел Parameters и
раскройте свиток Assign Controller (Назначение контроллера). Внутри окна выделите
строку Transform:Position/Rotation/Scale. Затем чуть выше нажмите кнопку Assign
(рис. 6.92, а). В открывшемся окне Assign Transform Controller (НазнаController
чение контроллера преобразований) выделите опцию Link Constraint (Ограничение на
вид связи) (рис. 6.92, б).
С помощью этого контроллера можно задать временну́ю привязку объектов. На командной панели в свитке Link Params (Параметры связи) щелкните на кнопке Link to
World (Связать с глобальной системой координат). Там же в окне Frame # Target (Номер кадра — Цель) появится строка 0 World. Переместите таймер кадров анимации
к кадру 15. На командной панели нажмите кнопку Add Link (Добавить связь) и укажите на объект Hand_R, к которому осуществляется привязка. Перейдите к кадру 30 и на
командной панели щелкните на кнопке Link to World — связь объекта Ball с роботом
разорвется (рис. 6.93, см. видео \Lesson_6.10\Link_constraint.mp4).
Воспроизведите анимацию (см. файл \scenes\lesson_6.10\Robot_end.max) — робот переместит шар на другую сторону стола (рис. 6.94).
а
б
Рис. 6.92. Назначение контроллера Link Constraint
Рис. 6.93. Настройка контроллера Link Constraint
Рис. 6.94. Перенос шара
388
Глава 6
Практическая работа
Самостоятельно создайте анимацию, показанную в файле \renderoutput\practice_6.10\
step.mpeg из папки проекта.
Упражнение № 6-11. Инверсная кинематика
Режим инверсной кинематики
Инверсная кинематика является основой, на которой строится персонажная анимация.
Она работает совсем не так, как прямая кинематика, — в режиме инверсной кинематики потомки приводят в движение родительские объекты. Потомок, который вызывает
трансформации других объектов по законам инверсной кинематики, называется либо
эффектором (Effector), если он расположен в середине иерархической цепочки, либо
конечным эффектором (EndEffector), если он представляет собой конечный объект
этой цепочки. Через эффектор манипулируют всей иерархической цепочкой. При этом
преобразование конечного эффектора обеспечивает трансформацию всех объектов
иерархической цепи по законам инверсной кинематики, а изменение положения простого эффектора приводит к тому, что положение объектов, стоящих по иерархии ниже
его, меняется по законам прямой кинематики, а объектов с более высокой иерархией —
по законам инверсной кинематики.
В качестве примера откройте из папки этого упражнения файл \scenes\lesson_6.11\
Robot.max. Иерархическая цепь объектов здесь уже создана. Чтобы ее увидеть, на главной панели инструментов нажмите кнопку Schematic View (Open)
— в нашем случае конечными эффекторами иерархической цепочки будут самые нижние в иерархии
объекты Foot_R, Foot_L, Hand_R, Hand_L, Head (см. рис. 6.95).
Установите режим инверсной кинематики. Для этого на панели Hierarchy
откройте
вкладку IK (Инверсная кинематика) и нажмите кнопку Interactive IK (Интерактивная
инверсная кинематика). Выделите объект Center и сместите его в сторону — вместе
Рис. 6.95. Иерархическая цепочка объекта
Анимация
389
с ним точно так же сместятся и все остальные объекты. Теперь выделите, например,
объект ChamferCyl001 и переместите его в любую сторону — это приведет к изменению
положения ряда других объектов. Положение объектов, стоящих по иерархии ниже
перемещаемого объекта (в нашем случае это объекты Sphere008, ChamferCyl003, Sphere009
и Hand_L), будет меняться по законам прямой кинематики, поэтому их взаимное положение не изменится. Положение объектов с более высокой иерархией (Sphere002,
Breast) будет меняться по законам инверсной кинематики (рис. 6.96).
Обратите внимание, что при перемещении объекта ChamferCyl001 положение и ориентация ряда объектов меняются непредсказуемым образом. Это связано с тем, что по
умолчанию для объектов, управляемых посредством эффектора, допустимы любые варианты перемещения и вращения, хотя на практике они могут трансформироваться
только каким-либо определенным образом. При инверсной кинематике эти проблемы
регулируются на вкладке IK панели Hierarchy с помощью параметров, задаваемых
в свитках Sliding Joints (Скользящие соединения) и Rotational Joints (Вращательные
соединения).
Рис. 6.96. Непредсказуемое
поведение объектов
Рис. 6.97. Объект Sphere007 определен
в качестве ограничителя
Кроме того, в системе можно определить объект, который будет играть роль ограничителя. Terminator (Ограничитель) — это последний объект системы инверсной кинематики, начиная с верхнего уровня, который не подвергается влиянию при движении дочернего объекта. Для определения ограничителя достаточно выделить объект и в свитке Object Parameters установить для него флажок Terminator.
Выделите объект Sphere007, перейдите на вкладку Hierarchy | IK и включите команду
Interactive IK. В свитке Object Parameters установите флажок для опции Terminator.
Передвиньте теперь объект ChampherCyl002 в любую сторону — объект Sphere007 и все
объекты, стоящие в иерархии выше него, останутся неподвижными (рис. 6.97).
Решатели инверсной кинематики
Существуют четыре метода, основанные на применении решателей инверсной кинематики (IK-решателей) (рис. 6.98):
HI Solver (History Independent IK Solver) — независящий от предыстории решатель
инверсной кинематики. Скорость работы этого решателя не зависит от числа кадров
390
Глава 6
анимации. Он наиболее подходит для персонажной анимации систем объектов
Bones (Кости), а также для анимации любых других цепочек связанных объектов;
HD Solver (History Dependent Solver) — зависящий от предыстории решатель ин-
версной кинематики. Его также можно применять к системам объектов Bones, а
также к любым другим цепочкам связанных объектов. Зависимость от предыстории
означает, что чем длиннее анимационная последовательность кадров, тем дольше
этот решатель рассчитывает анимацию. Он хорошо подходит для анимации механических устройств, особенно со скользящими деталями;
Рис. 6.98. Решатели инверсной кинематики
IK Limb Solver (Решатель инверсной кинематики для анимации конечностей) — не
зависит от предыстории и рассчитан только на работу с двумя костями иерархической цепи. С его помощью можно анимировать руки и ноги персонажа;
SplineIK Solver (Решатель инверсной кинематики на основе сплайна) — использует
сплайн для определения кривизны последовательности костей или других связанных объектов. Каждой вершине сплайна назначается вспомогательный объект, с помощью которого вершину можно передвинуть. Удобен для анимации позвоночников, вытянутых тел типа хвостов, гусениц, щупалец или змей.
Рассмотренные решатели преобразуют иерархические последовательности объектов
в цепи (IK-цепи), упрощающие управление элементами иерархии по законам инверсной
кинематики. В окнах проекций цепи инверсной кинематики (IK-цепи) выглядят как ряд
перекрестий и линий, соединяющих начало и окончание конкретной IK-цепи. Выбирают эти элементы щелчком по перекрестью или инструментом Select by Name, а редактируют через панель Motion.
IK-решатели различаются между собой разными методами преобразования IK-цепей
при расчетах.
Анимация с использованием решателя HI Solver
Рассмотрим простейший пример создания анимации с помощью решателя анимации HI
Solver. Снова откройте файл \scenes\lesson_6.11\Robot.max и выделите объект ChamferCyl004.
Затем на главной панели инструментов выполните команду Animation | IK Solvers | HI
Solver, после чего щелкните мышью на объекте Hand_R. В результате будет создана цепь
инверсной кинематики IK Chain001 от объекта ChamferCyl004 до объекта Hand_R. В опорной
точке объекта Hand_R будет создано перекрестье, или целевой объект IK Goal (Целевой
объект решателя) (рис. 6.99).
Анимация
391
Выделите объект IK Chain001 и переместите перекрестье, или целевой объект IK Goal,
в любую сторону, и вы заметите, что на этот раз поведение робота стало более предсказуемым. Обратите внимание, что при движении все объекты цепи остаются в плоскости, созданной элементами цепи. Аналогичным образом создайте еще три цепи инверсной кинематики — для левой руки и для обеих ног (рис. 6.100, см. файл \scenes\
lesson_6.11\Robot_solvers.max).
Совместно с решателем HI Solver параметр Terminator не используется.
Активизируйте режим автоматической генерации ключевых кадров Auto Key Mode и
обычным образом анимируйте робота, перемещая объекты IK Chain001, ..., IK Chain004.
Визуализируйте полученную анимацию (см. файл \scenes\lesson_6.11\Robot_animation.max).
Рис. 6.99. Создан решатель HI Solver
Рис. 6.100. Создание цепей
инверсной кинематики
Анимация с использованием решателя HD Solver
Рассмотрим теперь пример создания анимации простого механизма с помощью решателя инверсной кинематики HD Solver. Механизм состоит из трех деталей: поршня,
шатуна и маховика (рис. 6.101). Поршень должен совершать возвратно-поступательное
движение в горизонтальном направлении, при этом маховик должен вращаться вокруг
своей оси.
Прежде всего, нужно установить на поршне и шатуне правильное положение опорных
точек. На поршне опорную точку следует сместить в место крепления поршня с шатуном, а на шатуне опорную точку нужно переместить в место крепления шатуна с маховиком (см. рис. 6.101).
Дальнейшие наши действия будут следующими. Сперва мы создадим цепочку из трех
костей и применим к ней решатель инверсной кинематики HD Solver. После этого настроим движения цепочки костей таким образом, чтобы кости совершали движения,
подобные требуемым движениям деталей нашего механизма. А затем привяжем эти
392
Глава 6
детали к соответствующим костям, и тогда они станут совершать те же движения, что и
кости.
и в свитке Grid And Snap
Предварительно активизируйте инструмент Snaps Toggle
Setting установите привязку к опорным точкам Pivot. На командной панели инструментов раскройте категорию инструментов Systems
, включите команду построения
костей Bones (Кости) и на виде Front создайте цепочку из трех костей. Первую кость
начните создавать слева от поршня, затем щелкните на нем левой кнопкой мыши, в результате будет создана первая кость, которая привяжется к опорной точке поршня. Потом левой кнопкой мыши щелкните на шатуне, чтобы создать вторую кость, которая
продлится до его опорной точки. После этого там же щелкните правой кнопкой мыши,
чтобы построить третью кость и тем самым закончить построение цепочки костей.
Фактически третья кость будет представлять собой точку, которая станет в этой цепочке концевым эффектором (рис. 6.102).
Рис. 6.101. Простой механизм
Рис. 6.102. Построена цепочка костей
П РИМЕЧАНИЕ
Если у вас цепочка костей построилась не совсем ровно, то это можно исправить, выполнив на главной панели инструментов команду Animation | Bone Tools и включив в окне
Bone Tools режим редактирования костей Bone Edit Mode. Затем нужно выбрать соответствующую кость и подправить ее положение.
Отключите режим объектной привязки Snaps Toggle. Применим к построенной цепочке костей решатель инверсной кинематики HD Solver. Для этого выделите конечный
эффектор (он же последняя, третья, кость), перейдите на главную панель инструментов
и выполните там команду Animation | IK Solvers | HD Solver. Затем щелкните на пер-
Анимация
393
вой кости. Тем самым будет завершено построение цепи инверсной кинематики с использованием решателя HD Solver.
Снова выделите третью кость и перейдите на вкладку Motion командной панели.
В свитке IK Controller Parameters перейдите в область End Effectors и там нажмите
кнопку Link, а затем укажите на маховик. Благодаря этому концевой эффектор привяжется к маховику. Переместите концевой эффектор в точку соединения маховика с шатуном. После этих действий при вращении маховика концевой эффектор должен следовать за точкой его крепления к маховику.
Теперь нужно настроить поведение цепочки костей таким образом, чтобы при вращении маховика первая кость двигалась строго в горизонтальном направлении. Для этого
выделите самую старшую кость (она же первая кость в иерархии костей), перейдите на
вкладку Hierarchy и щелкните там кнопкой IK, чтобы включить режим инверсной кинематики. Затем в свитке Rotational Joints отключите команду Active для всех трех
осей координат, а в свитке Sliding Joints оставьте активным только движение вдоль
оси Х.
П РИМЕЧАНИЕ
Чтобы не запутаться в названиях осей координат, следите, чтобы у вас всегда была включена система координат World.
Наконец, с помощью команды Select and Link привяжите поршень к первой кости, а
шатун — ко второй (рис. 6.103). Включите режим Auto Key и создайте анимацию вращения маховика вокруг оси Y на 360° за 50 кадров. Маховик должен вращаться, а поршень двигаться, выполняя возвратно-поступательные движения в горизонтальном направлении. Поскольку вращение маховика окажется неравномерным, откройте окно
Track-View - Curve Editor и сделайте его движения равномерными.
Рис. 6.103. Иерархия костей и деталей механизма
Если окажется, что шатун вращается вокруг своей оси, то выделите вторую кость,
перейдите на вкладку Hierarchy и в свитке Rotational Joints отключите ее вращение
относительно оси X. Выполненные изменения содержатся в файлах \scenes\lesson_6.11\
Machovik.max и \renderoutput\lesson_6.11\Machovik.mp4.
Практическая работа
Самостоятельно создайте анимацию кривошипно-шатунного механизма, как показано
в файле \renderoutput\practice_6.11\kshm.mp4 из папки этого упражнения. Если у вас сразу
не получится, то посмотрите подробное описание метода построения этой анимации на
сайте [20].
394
Глава 6
Контрольные вопросы
1. Что такое ключевые кадры?
2. Как изменить число ключевых кадров в анимации?
3. Как изменить скорость воспроизведения анимации в окне проекции?
4. Что называется ключами и контроллерами анимации?
5. Какие настройки выполняются в окне Time Configuration?
6. Как сохранить созданную анимацию?
7. Как визуализировать покадровую анимацию?
8. Для чего используется окно Track View?
9. Как создается анимация в автоматическом режиме?
10. Как создается анимация в ручном режиме?
11. Как отобразить траекторию объекта?
12. Как удалить созданную анимацию?
13. Какие настройки выполняются в окне Param Curve Out-of-Range Types?
14. Какие настройки анимации осуществляются в окне Track View - Curve Editor?
15. Как добавить звуковое сопровождение анимации?
16. Для чего используются касательные и их маркеры на графиках анимации в окне
Track View - Curve Editor?
17. Как создается иерархическая цепочка объектов?
18. В чем заключаются правила прямой кинематики?
19. Как ограничить перемещение объектов в иерархической цепочке?
20. В чем различие правил прямой и инверсной кинематики?
ГЛАВА
7
Эффекты анимации.
Анимация с учетом законов физики
Установка проекта
В этой главе будем работать с новым проектом 07_project. Вы можете создать свой проект и скопировать в него файлы и текстуры из рабочего проекта или установить проект,
предоставленный с электронным архивом к книге в качестве основного. Чтобы установить новый проект, в главном меню выполните команды File | Project | Create Default.
Далее выберите папку, где будет размещаться проект, и щелкните по кнопке Select
Folder (Выбрать папку). В выбранной папке будут созданы подпапки проекта для сцен,
визуализации и текстурных карт. При создании нового проекта обязательно копируйте
сцены и текстурные файлы для корректной их загрузки при открытии.
Для установки существующей папки проекта в качестве основной в программе 3ds Max
в главном меню выполните File | Project | Set Active Project и укажите папку проекта.
Рядом с папкой проекта вы найдете папку 07_video, в которой будут находиться дополнительные видеофайлы к упражнениям.
В папке 07_images находятся цветные иллюстрации к упражнениям.
Системы частиц
Системы частиц используются при анимации большого числа малых объектов — например, при моделировании снежной бури, струй дождя, дыма, огня, звездного неба
или взрыва. Они представляют собой совокупность малоразмерных объектов, количество и параметры которых изменяются с течением времени (при переходе от одного
кадра анимации к другому). Существуют два разных типа систем частиц: управляемые
событиями (event-driven) и не управляемые событиями (non-event-driven). Первый тип
систем частиц, или Particle Flow, проверяет свойства частиц и на основании результатов этой проверки отправляет их к другим событиям. Каждое событие назначает частицам различные атрибуты и поведение. Системы частиц типа non-event-driven проявляют постоянные свойства в течение всей анимации.
В 3ds Max поддерживаются шесть разновидностей систем частиц: Spray (Брызги),
Super Spray (Супербрызги), Snow (Снег), Blizzard (Метель), PArray или Particle
Array (Массив частиц) и PCloud или Particle Cloud (Облако частиц). Для них, прежде
всего, необходимо определить положение в пространстве точки генерации частиц (она
396
Глава 7
называется эмиттером) и направление, в котором они будут испускаться. Эмиттер
представляет собой плоскость с перпендикулярным вектором, в направлении которого
испускаются частицы. Далее мы подробнее познакомимся с каждой системой частиц.
Увидеть частицы можно в любом кадре, кроме нулевого.
Частицы типа Spray
Самые простые по свойствам и настройке параметров — частицы типа Spray (Брызги)
и Snow (Снег). Первые имитируют дождь, а вторые — снег.
в категорию Geometry
Для создания системы частиц перейдите на вкладку Create
и из выпадающего списка типов объектов выберите пункт Particle Systems (Системы
частиц).
Выберите, например, систему частиц Spray и в окне Perspective постройте произвольную область (одну или несколько) — она будет служить источником частиц (эмиттером).
Чтобы увидеть частицы, нажмите кнопку Play Animation
на панели анимации.
Для настройки параметров частиц предварительно следует выделить их источник и за— откроется окно с параметрами, которыми можно
тем перейти на вкладку Modify
управлять.
Рассмотрим некоторые из параметров настройки частиц типа Spray (Брызги):
Viewport Count (Количество частиц в видовом окне) — максимальное число час-
тиц, отображаемых в видовом окне в любой момент времени;
Render Count (Количество визуализируемых частиц) — максимальное число частиц, видимых в каждом отдельном кадре итоговой визуализации. Как правило, для
окончательной визуализации сцены следует задавать достаточно большую величину
этого параметра — порядка 1000;
Drop Size (Размер капли) или Flake Size (Размер снежинки) — размер отдельной
частицы в текущих единицах измерения;
Speed (Скорость) — средняя начальная скорость каждой частицы в момент отрыва
от источника (эмиттера). В дальнейшем частицы движутся с этой скоростью, если на
них не воздействует какая-либо из объемных деформаций, — например, гравитация;
Variation (Вариации) — степень различия в значениях начальных скоростей и на-
правлений распространения частиц. Чем больше вариации, тем шире область распространения частиц.
Drops (Капли), Flakes (Снежинки), Dots (Точки) и Ticks (Крестики) — это все вари-
анты отображения частиц в видовых окнах:
• Drops (Капли) — капли изображаются в виде штрихов, вытянутых в направлении
распространения частиц, а снежинки (Flakes) — в виде звездочек (если вы выбрали систему частиц Snow);
• Dots (Точки) — частицы изображаются в виде точек;
• Ticks (Крестики) — частицы изображаются в виде маленьких значков +.
Внешний вид частицы при итоговой визуализации задается в области Render (Визуализировать):
Эффекты анимации. Анимация с учетом законов физики
397
Tetrahedron (Тетраэдр) — частицы визуализируются в виде вытянутых тетраэдров,
длина которых соответствует значению параметра Drop Size (Размер капли). Такие
частицы неплохо имитируют падающие дождевые капли (рис. 7.1);
Facing (Облицовка) — частицы визуализируются в виде объектов, размеры которых
равны размерам самой частицы. Этот вариант специально предназначен для материалов на основе карт текстуры, когда с помощью маски непрозрачности можно
придать частицам любую требуемую форму (рис. 7.2).
Рис. 7.1. Кадр анимации с частицами
типа Spray (Tetrahedron)
Рис. 7.2. Кадр анимации с частицами
типа Spray (Facing)
В разделе Timing (Время жизни) указывают продолжительность существования частиц:
Start (Начало) — номер кадра, в котором начнется испускание частиц;
Life (Продолжительность жизни) — среднее время жизни частицы с момента ее
испускания (исчисляется в кадрах);
Birth Rate (Скорость появления) — число новых частиц, появляющихся в каждом
кадре анимации. Если этот параметр превышает значение параметра Max Sustainable Rate (Максимально допустимый темп), то частицы будут генерироваться
прерывисто, в виде выбросов. Параметр Birth Rate доступен только при сброшенном флажке Constant (Константа);
Emitter (Эмиттер) — размер источника генерации частиц. При желании его можно
сделать невидимым, поставив флажок у опции Hide (Скрыть).
Упражнение № 7-1. Примеры использования
систем частиц
Пример с частицами типа Tetrahedron
Откройте файл \scenes\lesson_7.1\Terrain.max. Перейдите на вкладку Create
в категорию Geometry
, из выпадающего списка типов объектов выберите пункт Particle
Systems (Системы частиц) и на виде Top создайте систему частиц Spray так, чтобы она
покрывала горы. Поднимите систему частиц на высоту примерно 8000 мм. Перейдите
.
на вкладку Modify
398
Глава 7
В параметрах уточним размеры эмиттера (источника генерации частиц). Перейдите
в область Emitter и введите для Width и Length значение 16 000 мм. Проиграйте анимацию, вы, скорее всего, не увидите частицы, т. к. они будут рождаться у основания
эмиттера и там же пропадать, не доходя до земли. При сильном увеличении размера
источника необходимо изменить его масштаб по вертикальной оси. Не снимая выделения с системы частиц, щелкните правой кнопкой мыши по инструменту Select and
и в области Absolute: Local введите для оси Z значение 8000.
Uniform Scale
В параметрах системы частиц Spray уменьшите размер частиц Drop Size = 5 мм, увеличьте число частиц Viewport Count = 200 и Render Count = 500. Проиграйте анимацию и визуализируйте кадр анимации (рис. 7.3). Капли будут окрашены в цвет, назначенный по умолчанию. Применим к частицам материал.
Рис. 7.3. Кадр анимации с каплями дождя
В редакторе материалов создайте материал Materials | Arnold | Standard Surface и
примените его к частицам. В настройках материала установите для параметра Base
Color белый цвет, в свитке Specular для параметра General введите число 0. В свитке
Emission для одноименного параметра установите значение 1. В результате будут визуализироваться частицы ярко-белого цвета.
Добавим в материал неоднородность, для этого добавьте текстурную карту Gradient и
соедините ее с каналами материала Emission и Opacity (рис. 7.4). Визуализируйте кадр
анимации (рис. 7.5), на каждую частицу добавится затухание цвета от основания к кончику.
Рис. 7.4. Настройки материала частиц
Рис. 7.5. Визуализации частиц
после применения материала
Эффекты анимации. Анимация с учетом законов физики
399
Сцена с частицами находится в файле \scenes\lesson_7.1\Terrain_rain.max, итоговая визуализация — \renderoutput\lesson_7.1\Terrain_rain.mp4.
Пример с частицами типа Facing
Откройте файл с настроенным дождем \scenes\lesson_7.1\Terrain_rain.max. Выделите систему частиц и перейдите на вкладку Modify
. В области Render измените тип частиц на Facing, в области Particles задайте размер частиц Drop Size = 100 мм. При проигрывании анимации в сцене вы не увидите никаких изменений, т. к. в видовом окне
отображение частиц может быть только в виде капель (Drops), точек (Dots) и крестиков
(Ticks).
Визуализируйте кадр анимации, частицы будут выглядеть в виде квадратов с полупрозрачным градиентом. В редакторе материалов создайте новый материал Materials |
Arnold | Standard Surface, рядом создайте текстурную карту Bitmap и выберите файл
\sceneassets\images\snow.png. Свяжите текстурную карту Bitmap с добавленным материалом через канал Opacity. Примените материал к частицам, проиграйте анимацию и
визуализируйте кадр анимации (рис. 7.6). Чтобы визуализация выглядела как в зимнее
время года, изменим насыщенность цвета у текстуры местности. Для этого в редакторе
материалов найдите текстурную карту Map #23 Color Correction и в ее настройках передвиньте ползунок Saturation на значение −50.
Сцена с частицами находится в файле \scenes\lesson_7.1\Terrain_snow.max, итоговая визуализация \renderoutput\lesson_7.1\Terrain_snow.mp4.
Рис. 7.6. Частицы типа Facing
Частицы типа Snow
Для имитации снега существует отдельный тип частиц Snow. Он очень схож по параметрам с типом Spray.
Приведем варианты конечной визуализации частиц типа Snow (Снег):
Six Point (Шестиконечная звезда);
Triangle (Треугольник);
Facing — то же, что и у частиц типа Spray (Брызги).
400
Глава 7
В области Particles по сравнению с частицами Spray добавлен параметр Tumble, который определяет случайное вращение каждой частицы, значение можно изменять от 0
до 1, причем 1 определяет максимальное вращение. Параметры в разделе Timing совпадают с такими же параметрами для частиц типа Spray.
Пример использования частиц (рис. 7.7) типа Snow находится в файле \scenes\lesson_7.1\
Terrain_particles_snow.max.
Рис. 7.7. Пример использования частиц Snow
Частицы типа Blizzard
Система частиц Blizzard (Метель) имеет больше возможностей и настроек. Рассмотренные ранее типы Spray и Snow являются частными случаями частиц типа Blizzard,
вы можете создать аналогичный результат, используя только Blizzard.
Основные параметры находятся в следующих свитках:
в свитке Basic Parameters (Основные параметры) расположены настройки размеров
генератора частиц и вида частиц в видовом окне;
в свитке Particle Generation (Генерация частиц) задают номера кадров начала (Emit
Start) и конца (Emit Stop) генерации частиц, продолжительность жизни частиц
(Life), размер частиц (Size), число кадров, в течение которых будет происходить
отображение частиц (Display Until), и т. д. Параметр Use Rate (Использовать темп)
определяет количество частиц, испускаемых эмиттером в каждом кадре, а параметр
Use Total (Общее число) — общее число частиц, формируемых в течение всего цикла жизни системы частиц;
в свитке Particle Type (Тип частицы) можно задать тип частиц при конечной визуа-
лизации.
Существуют три типа частиц системы Blizzard:
частицы первого типа — Standard Particles (Стандартные частицы) — могут иметь
следующий вид:
• Triangle (Треугольник) — каждая частица изображается в виде треугольника;
• Cube (Куб) — каждая частица изображается в виде кубика;
Эффекты анимации. Анимация с учетом законов физики
401
• Special (Специальные) — каждая частица образуется тремя взаимно перпендикулярными пересекающимися гранями квадратной формы;
• Facing (Облицовка) — используются с соответствующей картой прозрачности
и имитируют пузырьки и снежинки;
• Constant (Постоянный) — частицы сохраняют постоянный размер независимо от
расстояния до камеры;
• Tetra (Тетраэдр) — каждая частица изображается в виде тетраэдра. Предназначен для имитации дождевых капель и искр;
• SixPoint (Шестиконечная звезда);
• Sphere (Сфера).
MetaParticles (Метачастицы) — еще один тип частиц системы Blizzard. Каждая
частица при визуализации заменяется метасферой (metaball) с имитацией поверхностного натяжения, позволяющего частицам сливаться друг с другом, подобно реальным каплям. Параметры метачастиц задают в разделе MetaParticle Parameters (Параметры метачастиц) свитка Particle Type.
Учитывая, что частицы-метасферы, соприкасаясь друг с другом, начинают взаимопроникать и сливаться, не рекомендуется задавать слишком большое число таких
частиц, поскольку расчет сцены может занять весьма много времени.
Instanced Geometry (Геометрия экземпляра) — третий тип частиц системы частиц
Blizzard. В этом случае каждая частица заменяется произвольной геометрической
фигурой.
Рассмотрим использование системы частиц Blizzard с типом MetaParticles. Откройте
файл \scenes\lesson_7.1\Metaparticles.max. В примере создадим имитацию воды в траншее.
в категорию Geometry
и из выпадающего списка
Перейдите на вкладку Create
типов объектов выберите пункт Particle Systems (Системы частиц) и на виде Left создайте систему частиц Blizzard по размеру траншеи (рис. 7.8).
Рис. 7.8. Положение системы частиц Blizzard в сцене
Переместите источник вдоль оси X в координату −650. Перейдите к настройкам системы частиц. В свитке Basic Parameters (Основные параметры) уточним размеры источника: Width = 210, Length = 52. Перейдите в свиток Particle Type и выберите пункт
402
Глава 7
MetaPartices. Вернитесь в свиток Basic Parameters и выберите в качестве отображаемой частицы Viewport Display = Mesh. Если сейчас проиграть анимацию, то можно
будет увидеть очень маленькие частички. Основная суть метачастиц — при соприкосновении с другими частицами образовывать единую плавную форму. Необходимо увеличить размер частиц и их количество.
Перейдите в свиток Particle Generation (Генерация частиц). В области Particle
Quantity для Use Rate введите значение 40. В области Particle Size для параметра Size
введите значение 50. Проиграйте анимацию, сейчас можно увидеть плавное перетекание форм (рис. 7.9, а). При визуализации, например 30-го кадра, можно заметить, что
форма стала гораздо больше и покрывает практически всю траншею. Дело в том, что
в видовом окне отображается только 10% от реальной формы, этот параметр
(Percentage of Particles) настраивается в свитке Basic Parameters.
При проигрывании анимации можно заметить, что после 60-го кадра все частицы исчезают. По умолчанию генерация частиц останавливается после 30-го кадра, т. е. из источника прекращают появляться новые частицы. В свитке Particle Generation перейдите в область Particle Timing и установите для параметра Emit Stop значение 100. Проиграйте анимацию, частицы не исчезнут, но они будут генерироваться только до
определенного момента. В том же свитке задайте параметру Life (Время жизни) значение 100. Проиграйте анимацию (рис. 7.9, б).
а
б
Рис. 7.9. Отображение частиц MetaParticles: а — в видовом окне, б — при визуализации
Финальная сцена с частицами находится в файле \scenes\lesson_7.1\Metaparticles_
end.max.
Упражнение № 7-2. Деформации Forces
в системах частиц
Деформация типа Gravity
В предыдущем упражнении мы познакомились с системами частиц и научились создавать снег и дождь, но для того, чтобы снег и дождь, а также другие природные явления
выглядели естественно, все должно быть так же, как в природе: снег падает под действием силы тяжести, дует ветер и увлекает за собой снежинки и т. п.
Эффекты анимации. Анимация с учетом законов физики
403
Для имитации действия ветра, гравитации, давления, вихревых воронок, торможения,
а также для изменения движения частиц под действием взрыва существуют деформации типа Forces (Силы), которые находятся в разделе Space Warps (Искривление провкладки Create
.
странства)
Начнем с опции Gravity (Гравитация), которая имитирует действие на систему частиц
силы притяжения или отталкивания. Для создания объемной деформации типа Gravity
нажмите кнопку Gravity в свитке типов объектов раздела Forces. Затем в любом из
окон проекций щелкните мышью в той точке, где должен помещаться центр воздействия, и перетащите курсор по диагонали, — появится прямоугольный значок с нормалью-стрелкой, указывающей направление воздействия деформации.
Деформация типа Gravity определяется следующими параметрами (рис. 7.10):
Strength (Сила воздействия) — задает силу воздействия гравитации на частицы.
При положительных значениях параметра воздействие на частицы будет оказываться в направлении нормали к значку деформации, при отрицательных значениях —
в противоположную сторону;
Decay (Затухание) — определяет степень уменьшения силы воздействия гравитации
на частицы по мере их удаления от источника гравитации. Если выбрать опцию
Planar (Плоский), то воздействие будет происходить
перпендикулярно к плоскости значка. Опция Spherical
(Сферический) устанавливает сферическую форму
фронта силы притяжения с центром в источнике гравитации.
Рис. 7.10. Параметры деформации
типа Gravity
Чтобы силы деформации влияли на частицы, их необходимо связывать с помощью
.
функции Bind to Space Warp (Связать с воздействием)
Откройте из папки этого упражнения файл \scenes\lesson_7.2\Gravity.max. В сцене уже
созданы частицы типа Blizzard, в качестве типа частиц установлен Standard Particles =
= Sphere.
Проиграйте анимацию, частицы будут подниматься вверх (рис. 7.11). Частицы достаточно быстро двигаются вверх, управлять скоростью движения можно с помощью параметра Speed в свитке Particle Motion. Например, установите для этого параметра
значение 1 и проиграйте анимацию. Скорость движения станет меньше, но и число частиц визуально сократится. Частицы не успевают подняться вверх, т. к. их время жизни
всего 30 кадров. В параметрах частиц установите для Emit Stop значение 100 и для Life
значение 80.
Проиграйте анимацию, частицы поднимутся выше (рис. 7.12), высота зависит от времени жизни (Life).
404
Глава 7
Рис. 7.11. Начальная сцена
с частицами Blizzard
Рис. 7.12. Визуализация
кадра анимации
Скорость движения частиц можно задать с помощью гравитации. Перед ее добавлением в параметрах частиц обнулите скорость (Speed = 0), чтобы убрать любое движение
частиц.
В любом месте окна Perspective создайте гравитацию и разверните ее стрелкой вверх.
Свяжем источник деформации Gravity001 с системой частиц, которая должна находиться под влиянием силы притяжения. Для этого выделите чашку, щелкните правой кнопкой мыши и выберите опцию Hide Selection, чтобы временно скрыть ее. Выделите источник деформации Gravity001 и на главной панели инструментов нажмите кнопку Bind
to Space Warp
(Связать с воздействием). Затем наведите курсор мыши на гравитацию, щелкните, не отпуская кнопку мыши, и переместите указатель мыши к системе
частиц. Система частиц ненадолго изменит свой цвет на белый — это значит, что объекты связаны. Чтобы убедиться в том, что источник деформации применен к частицам,
выделите частицы и в стеке модификаторов проверьте наличие модификатора Gravity
Binding (WSM). Имя модификатора зависит от типа источника деформации (см. видео
\Lesson_7.2\Bind_to_space_warp.mp4). Щелкните в пустом месте сцены и выберите опцию
Unhide All.
Теперь можно приступить к настройке параметров гравитации. Перейдите на вкладку
и настройте значения параметров Strength и Decay. При этом нужно иметь
Modify
в виду, что слишком большое значение параметра Strength может привести к тому, что
вы вообще не увидите частиц, поскольку они будут слишком быстро разлетаться.
В нашем примере установите силу гравитации Strength = 0.02, а значение затухания
оставьте пока равным нулю. Проиграйте анимацию и убедитесь, что частицы относительно медленно поднимаются над чашкой (рис. 7.13).
Поднимите систему частиц на высоту 80 и добавьте затухание Decay = 0.1. Система
частиц будет представлена в виде двух ограничителей, определяющих уровень затухания, а частицы станут исчезать быстрее (рис. 7.14).
Верните значение затухания Decay = 0. Финальная сцена расположена в файле
\scenes\lesson_7.2\Gravity_end.max.
Эффекты анимации. Анимация с учетом законов физики
Рис. 7.13. Движение частиц
под действием гравитации
405
Рис. 7.14. Активировано затухание
для гравитации
Деформация типа Wind
Аналогично гравитации создается деформация типа Wind (Ветер), имитирующая воздействие ветра на систему частиц. У этой деформации есть дополнительные параметры:
Turbulence (Турбулентность) — указывает величину турбулентности, т. е. степень
случайных изменений направления ветрового потока;
Frequency (Частота) — устанавливает частоту, с которой будет изменяться положе-
ние частиц под действием турбулентности в ходе анимации;
Scale (Масштабирование) — задает масштаб проявления турбулентного поведения
частиц под действием ветра.
Откройте файл \scenes\lesson_7.2\Wind.max. Добавьте в сцену деформацию типа Wind
(Ветер). Перейдите на 60-й кадр, чтобы частицы появились в сцене, и разместите
деформацию Wind перед частицами (рис. 7.15), предварительно для деформатора была
установлена сила воздействия Strength = 0.
В настройках ветра установите Strength = 0.1 и Decay = 0.1.
Рис. 7.15. Положение
деформатора Wind
Рис. 7.16. Настроены
сила ветра и затухание
406
Глава 7
Дополнительно можно включить неравномерность распределения. Для этого в параметрах деформатора Wind в области Wind установите Turbulence = 0.2. Проиграйте
анимацию, движение частиц станет более хаотичным.
Финальная сцена расположена в файле \scenes\lesson_7.2\Wind_end.max.
Деформация типа PBomb
Следующий тип деформации — PBomb или Particle Bomb (Бомба для частиц) — создает импульсную взрывную волну, способную разбрасывать частицы. Чтобы познакомиться с этой деформацией, создайте систему частиц, на которую она будет воздействовать. В разделе Space Warps (Искривление пространства)
выберите категорию
Forces (Силы) и нажмите кнопку объемной деформации PBomb. Щелкните мышью
в нужной точке любого окна проекции и перетащите курсор, растягивая изображение
значка деформации (по умолчанию этот значок имеет вид сферической "бомбочки").
Поместите источник деформации недалеко от системы частиц и свяжите его с ней.
Чтобы увидеть частицы, перейдите к кадру, отличному от нуля.
. Настройте
Выделите источник деформации PBomb и перейдите на вкладку Modify
параметры деформации в свитке Basic Parameters (Основные параметры), как показано
на рис. 7.17.
В области Blast Symmetry (Симметрия взрывной волны)
можно установить переключатель формы "силового поля"
в одно из трех положений:
Spherical (Сферическая) — ударная волна распространя-
ется во все стороны от источника;
Cylindrical (Цилиндрическая) — ударная волна распро-
страняется в радиальных направлениях перпендикулярно
вертикальной оси значка источника, имеющего вид толовой шашки;
Planar (Плоская) — ударная волна распространяется
вверх и вниз перпендикулярно плоскости значка источника.
Рис. 7.17. Параметры настройки
источника деформации PBomb
Чтобы придать картине взрыва случайный характер, можно указать в счетчике Chaos
(Элемент случайности) процент изменения силы взрывной волны для каждой частицы
в каждом кадре. В разделе Explosion Parameters (Параметры взрыва) задается характер
ослабления силы с расстоянием, выбрав один из переключателей: Unlimited Range
(Неограниченный диапазон), Linear (Линейный спад) или Exponential (Спад по экспоненте). Для двух последних случаев указывается в счетчике Range (Диапазон) максимальное расстояние, на которое будет распространяться действие силы взрыва.
Эффекты анимации. Анимация с учетом законов физики
407
Чуть ниже задается временной интервал:
Start Time (Начальный кадр) — номер кадра начала воздействия;
Duration (Продолжительность) — продолжительность действия деформации (в кад-
рах);
Strength (Интенсивность) — изменение скорости разлета частиц, характеризующее
силу взрыва.
Для управления отображением значка деформации используется параметр Icon Size
(Размер значка) раздела Display Icon (Отображение значка), позволяющий задать размер значка источника деформации.
Деформация типа Path Follow
Эта деформация заставляет частицы следовать вдоль траектории, представленной в виде сплайна.
Откройте из папки этого упражнения файл \scenes\lesson_7.2\Path_flow.max. Создайте
систему частиц Blizzard с частицами сферического типа и установите для нее соответствующие параметры (система частиц Blizzard01): в области Display Icon Width и
Length = 10, Viewport Display = Mesh, Percentage of Particles = 100%, в области
Particle Timing Emit Stop и Life = 100, размер частиц и их количество задайте самостоятельно. Установите систему частиц недалеко от начала спирали. Для создания деформации типа Path Follow (Следовать вдоль траектории) на вкладке Create нажмите
кнопку Space Warps (Искривление пространства)
. Из выпадающего списка выберите пункт Forces и нажмите кнопку Path Follow. В любом видовом окне создайте значок для этой деформации — он появится в виде кубика. Размер и положение значка не
имеют значения.
В свитке Basic Parameters нажмите кнопку Pick Shape Object (Указать траекторию
движения) и выберите сплайн, который был создан перед этим. С помощью команды
Bind to Space Warp (Связать с воздействием)
свяжите значок Path Follow с системой частиц.
Рассмотрим интерфейс команды Path Follow (рис. 7.18):
Pick Shape Object (рис. 7.18, а) — для выбора траектории частиц следует нажать
эту кнопку, а затем щелкнуть мышью на кривой, определяющей траекторию;
Unlimited Range (Неограниченный диапазон) — при отключении этой кнопки расстояние, на которое распространяется влияние деформации, ограничивается значением, установленным параметром Range. При включении — деформация влияет
на все связанные частицы, независимо от их расстояния до траектории. Включите
данную опцию. При этом положение значка Path Follow не имеет значения;
параметры области Motion Timing (Выбор времени движения) определяют, как дол-
го частицы остаются под влиянием траектории:
• Start Frame (Начальный кадр) — номер кадра, начиная с которого траектория
начинает влиять на частицы;
• Travel Time (Время движения) — число кадров, в течение которых частицы двигаются вдоль траектории. В нашем примере это значение равно 100;
408
Глава 7
а
б
Рис. 7.18. Параметры команды Path Follow
• Last Frame (Последний кадр) — номер кадра, до которого траектория будет влиять на систему частиц. Это значение установлено равным 100. Поэтому до
100-го кадра частицы будут строго следовать вдоль заданной траектории, а затем
по-прежнему останутся под действием деформации Path Follow, но их поведение
станет иным;
в области Particle Motion (Движение частиц) находятся параметры, управляющие
движением частиц (рис. 7.18, б):
• при включении опции Along Offset Splines (Вдоль сплайна с учетом смещения)
расстояние между системой частиц и траекторией будет влиять на движение частиц. Если базовая точка эмиттера системы частиц совпадает с первой вершиной
сплайна, то частицы станут следовать вдоль траектории. Если же систему частиц
сместить в сторону, то это повлияет на их движение;
• в режиме Along Parallel Splines (Параллельно сплайну) положение системы частиц относительно траектории не влияет на характер их движения. Если систему
частиц сместить в сторону от траектории, то частицы по-прежнему будут перемещаться параллельно своей траектории, но с учетом смещения системы частиц.
Совместите базовую точку эмиттера системы части с начальной точкой траектории. Создайте копию системы частиц и сместите ее чуть в сторону — тогда частицы можно будет сделать разного цвета, и их движение станет выглядеть более
красочно;
• Constant Speed (Постоянная скорость) — при включении все частицы будут двигаться с одинаковой скоростью;
Эффекты анимации. Анимация с учетом законов физики
409
• Stream Taper (Поведение потока) — частицы сходятся (Converge) или расходятся (Diverge);
• Stream Swirl (Вращение потока) — число оборотов, совершаемых частицами
при следовании вдоль траектории, введите для него значение 10%. Этот эффект
более заметен при выборе опции Along Offset Splines.
Самостоятельно настройте параметры Path Follow, чтобы создать желаемое движение
частиц (рис. ЦВ-7.19) (напомним, что иллюстрации с префиксом ЦВ также продублированы на цветной вклейке).
Этому состоянию сцены соответствует файл \scenes\lesson_7.2\Path_flow_end.max.
Рис. ЦВ-7.19. Промежуточный кадр анимации под воздействием деформации типа Path Follow
Частицы внутри сферы
Откройте из папки этого упражнения файл \scenes\lesson_7.2\Lamp.max — заставим частицы двигаться внутри колбы. Создайте систему частиц Blizzard, расположите ее ближе к центру колбы и настройте ее параметры произвольно. В категории Space Warps
раскройте выпадающий список, укажите вариант
(Искривление пространства)
Рис. 7.20. Промежуточный кадр анимации под воздействием деформации типа Deflector
410
Глава 7
Deflectors (Дефлекторы) и выберите дефлектор SDeflector (Сферический дефлектор).
Внутри колбы вокруг системы частиц создайте дефлектор и свяжите его с системой
частиц. Размер дефлектора не должен превышать размеры колбы, иначе частицы будут
вылетать за ее пределы.
Визуализируйте кадр анимации (рис. 7.20). Итоговая сцена расположена в файле
\scenes\lesson_7.2\Lamp_end.max.
Упражнение № 7-3. Анимация взрыва [13]
Анимация сгорающего бикфордова шнура
Откройте из папки этого упражнения файл \scenes\lesson_7.3\Dynamite.max. В нем уже
создана модель связки динамитных шашек, которую мы впоследствии взорвем. Текстурная карта к сцене находится в папке \sceneassets\images\.
Создадим и анимируем бикфордов шнур. Для этого в окне Top создайте объект
Cylinder с радиусом 0.4 мм и длиной 30 мм, количеством сегментов по высоте Height
Segments, равным 50, и числом сторон Sides (Количество сторон) = 24. Назовите его
Bickford.
Примените к цилиндру модификатор PathDeform (Деформация вдоль траектории) —
не путайте его с другим модификатором: PatchDeform. В свитке Parameters модификатора PathDeform нажмите кнопку Pick Path (Указать траекторию) и выберите
в любом окне сплайн для бикфордова шнура (Line01). Цилиндр должен повторить форму сплайна, при необходимости переместите и разверните деформированный цилиндр
так, чтобы он совместился со сплайном Line01.
Деформированный цилиндр может оказаться короче или длиннее линии Line01 — выровняйте их длину, отрегулировав значение параметра Stretch (Протяженность) в свитке Parameters модификатора PathDeform.
Включите автоматическое создание ключевых кадров, нажав кнопку Auto Key Mode
, и передвиньте ползунок таймера анимации в конец анимации. Выделите объект
Bickford, в стеке модификаторов перейдите к редактированию параметров цилиндра и
задайте параметру Height нулевое значение. Отключите режим Auto Key Mode. Проверьте правильность настроек анимации, включив команду Play Animation , — бикфордов шнур должен исчезнуть в последнем кадре анимации.
Анимация горения бикфордова шнура
Создадим систему частиц с разлетающимися в сторону искрами — они будут подчеркивать эффект горения бикфордова шнура. Для этого построим и анимируем сферу
Spark такого же радиуса, что и бикфордов шнур. Создайте сферу с радиусом 0.4 мм и
примените к ней модификатор PathDeform. В свитке Parameters настроек модификатора нажмите кнопку Pick Path (Указать траекторию) и выберите в одном из окон
сплайн Line01. В свитке Parameters модификатора задайте такое значение параметра
Percent (Процент), при котором построенная сфера в нулевом кадре окажется в начале
бикфордова шнура (99 или 100%).
Эффекты анимации. Анимация с учетом законов физики
411
Включите режим Auto Key Mode и передвиньте ползунок таймера в конец анимации.
Задайте параметру Percent нулевое значение. Отключите режим Auto Key Mode и проверьте настройки анимации, выполнив команду Play Animation , — сфера должна
двигаться вдоль сплайна одновременно с перемещением конца бикфордова шнура
(см. файл \scenes\lesson_7.3\Dynamite_step1.max). Однако может оказаться, что она будет
отставать от конца бикфордова шнура либо опережать его. Чтобы согласовать их перемещение, включите режим Auto Key Mode и постепенно передвигайте ползунок таймера анимации. Как только вы заметите несоответствие в перемещении сферы и конца
бикфордова шнура, в параметрах модификатора PathDeform в текущем кадре измените
промежуточное значение параметра Percent. Выполнив эти действия, отключите режим
Auto Key Mode.
Анимация видимости вспомогательной сферы
Сфера на конце бикфордова шнура играет вспомогательную роль и служит только для
построения системы частиц. Поэтому ее можно было бы не визуализировать. Впрочем,
можно поступить иначе и анимировать ее параметр Visibility (Видимость). Для этого
включите режим Auto Key Mode и переместите ползунок таймера анимации к предпоследнему кадру. Выделите сферу и щелкните на ней правой кнопкой мыши. Из открывшегося контекстного меню выберите опцию Object Properties (Свойства объекта)
и в открывшемся одноименном окне установите значение параметра Visibility = 1 (если
уже установлена цифра 1, измените ее на 0 и снова верните на 1, чтобы создать ключ
анимации). Передвиньте ползунок таймера анимации к последнему кадру и установите
значение параметра Visibility = 0 — в результате в последнем кадре маленькая сфера
исчезнет. Отключите режим Auto Key Mode. Откройте редактор материалов и присвойте сфере материал Materials | Arnold | Surface | Standard Surface. В свитке
Emission задайте значение яркости 0.5 и цвет ярко-оранжевый.
Создание искр
Искры мы будем создавать с помощью системы частиц. Для этого на командной панели
раскройте вкладку Create
| Geometry
и из выпадающего списка выберите объекты типа Particle Systems. Нажмите кнопку PArray (Массив частиц) и создайте знакомандной
чок массива частиц. Выделите этот значок и раскройте вкладку Modify
панели. В свитке Basic Parameters настроек системы частиц в области Object-Based
Emitter (Эмиттер, основанный на объекте) нажмите кнопку Pick Object (Указать объект) и выберите сферу Spark на конце бикфордова шнура. Перейдите к свитку Particle
Generation (Генерация частиц) настроек системы частиц и задайте значения параметров создаваемых частиц, например, как показано на рис. 7.21.
В свитке Particle Type выберите опцию Standard Particles, а ниже, в области Standard
Particles, установите вариант Special (Специальный). В свитке Rotation and Collision
(Вращение и соударение) установите переключатель в положение Direction of Travel/
Mblur (Направление движения/Направление размытия движения), а параметру Stretch
(Протяженность) задайте значение, равное 40. Эти значения параметров позволят получить протяженное размытие частиц. Присвойте частицам материал такого цвета, который по вашему представлению соответствует разлетающимся искрам. Попробуйте
412
Глава 7
самостоятельно подобрать параметры системы частиц и проверить их влияние на анимацию (рис. 7.22). Этому состоянию сцены соответствуют файлы \scenes\lesson_7.3\
Dynamite_step2.max и \renderoutput\lesson_7.3\Dynamite_step2.mp4.
Рис. 7.21. С помощью системы частиц создаются искры
Рис. 7.22. Кадр анимации горения бикфордова шнура
Создание анимации взрыва
Передвиньте движок таймера анимации в нулевой кадр. На командной панели инстру| SpaceWarps
и в выпадающем списке укажиментов раскройте вкладку Create
те тип деформации Geometric/Deformable (Геометрический/Деформируемый). Выберите деформацию типа Bomb, поместите созданный значок бомбы в любом месте сцены и переименуйте объект в MeshBomb. Свяжите объекты Dynamite и Blaster с объектом
MeshBomb (воздействием взрыва) с помощью команды Space Warp
. Чтобы убедиться, что эффект деформации применился к объектам, выделите их, перейдите на вкладку
и проверьте, применен ли к ним модификатор MeshBomb Binding. ПереModify
местите объект MeshBomb в центр объекта Dynamite — тем самым вы определите положение центра взрыва.
Эффекты анимации. Анимация с учетом законов физики
413
Значок бомбы по-прежнему оставьте выделенным и перейдите на вкладку Modify
.
В разделе General (Общие параметры) свитка Bomb Parameters (Параметры бомбы)
установите значение параметра Detonation (Момент взрыва) равным 100. Это означает,
что взрыв должен произойти сразу после кадра с номером 100. Чтобы увидеть последствия взрыва, раскройте окно Time Configuration (Конфигурация временны́х парамети установите продолжительность анимации равной 150 кадрам (Length = 150).
ров)
В параметрах бомбы при нулевом значении параметра Chaos (Неравномерность) осколки будут разлетаться неестественно равномерно — задайте этому параметру большее значение.
Значение параметра Strength (Сила взрыва) в разделе Explosion (Взрыв) определяет
силу взрыва. Если оно окажется слишком большим, то вы можете не заметить эффекта
взрыва, т. к. осколки бомбы быстро улетят за пределы видового окна. Отрегулируйте
величину Strength под свою задачу.
Параметр Spin (Вращение) добавляет фрагментам моделей после взрыва дополнительное вращательное движение. Параметр Gravity (Гравитация) устанавливает силу
притяжения частиц к земле (см. файл \scenes\lesson_7.3\
Dynamite_step3.max). Параметры Min и Max в разделе
Fragment Size (Размер фрагмента) определяют соответственно минимальный и максимальный размеры фрагментов, случайным образом генерируемых при взрыве.
Подберите эти и другие параметры на свое усмотрение
или воспользуйтесь значениями, приведенными на
рис. 7.23. Проиграйте анимацию взрыва бомбы в файле
\renderoutput\lesson_7.3\Dynamite_step3.mp4.
Рис. 7.23. Параметры бомбы
Взрыв автомобиля
Сделаем бикфордов шнур более длинным (рис. 7.24). Выделите линию Line01 (остальные объекты можно временно скрыть), перейдите на вкладку Modify, раскройте структуру объекта и выделите строку Vertex (Вершина). При необходимости удлинить кривую Line01 с помощью команды Refine (Детализировать) в свитке Geometry добавьте
к ней несколько новых вершин.
Снимите выделение с объекта Line01 и выделите объект Bickford. Перейдите на вкладку
и в свитке Parameters модификатора PathDeform (Деформация вдоль траModify
ектории) увеличьте значение параметра Stretch (Протяженность) так, чтобы начало
цилиндра совпало с началом кривой Line01.
Подложим нашу динамитную шашку под автомобиль. С помощью команды File |
Import | Merge (Соединить) добавьте в сцену модель автомобиля из файла \scenes\
414
Глава 7
lesson_7.3\Car.max и импортируйте ее целиком в ваш проект. Масштабируйте модель
автомобиля так, чтобы она оказалась соразмерной с объектом Dynamite и расположите
возле бомбы (рис. 7.25).
Как и прежде, свяжите модель автомобиля с объектом MeshBomb. Проиграйте анимацию,
и в кадре с номером 106 вы получите примерно то, что изображено на рис. 7.26
(см. файлы \scenes\lesson_7.3\Dynamite_step4.max и \renderoutput\lesson_7.3\Dynamite_
step4.mp4).
Рис. 7.24. Изменена длина бикфордова шнура
Рис. 7.25. В сцену добавлена модель автомобиля
Рис. 7.26. Кадр анимации взрыва автомобиля
Эффекты анимации. Анимация с учетом законов физики
415
Добавление эффекта горения
Вначале создадим габаритный контейнер Container, который будет определять зону
|
действия взрыва. Для этого на командной панели раскройте вкладку Create
и из выпадающего списка выберите объект Arnold. В открывшемся
Geometry
свитке выберите команду Volume (Объем) и щелкните в центре сцены. Габаритный
контейнер появится в виде куба, его размеры будут определяться параметрами, встроенными в специальный файл VDB с объемными данными.
В параметрах контейнера Container для параметра VDB File Path загрузите файл
\sceneassets\animation\explosion.vdb. В появившемся окне загружаемых параметров Select
VDB Grids to use (рис. 7.27) щелкните по кнопке OK. VDB-файл — набор данных,
представляющих объемную форму, это может быть статичный объект или последовательность кадров.
Автоматически габаритный контейнер изменит свой размер, убедитесь, что объекты
сцены находятся внутри него (рис. 7.28).
Рис. 7.27. Параметры импортируемого
контейнера
Рис. 7.28. Положение габаритного контейнера
Визуализируйте любой кадр анимации. В центре сцены будет расположен статичный
эффект взрыва. Для анимации эффекта добавим ключи анимации в настройках материала Standard Volume. Для этого откройте редактор материалов и перетяните из
параметров контейнера Container материал Standard Volume (Standard Volume) в рабочую область редактора с типом копирования Instance. Включите режим Auto Key
Mode и перейдите в нулевой кадр. В параметрах материала Standard Volume введите
для параметра Density и Emission значение 0. Перейдите в 150-й кадр и для тех же
параметров введите значение 1. Теперь перейдите в кадр 100 и снова обнулите значения параметров Density и Emission, чтобы поставить дополнительные ключи начала
появления эффекта взрыва. Дополнительно можно анимировать масштаб контейнера:
в кадре 100 для масштаба поставить значение 0, в кадре 110 — значение 100%.
416
Глава 7
Активизируйте окно перспективного вида и анимируйте сцену. В кадре с номером 108
у вас должно получиться примерно то же, что изображено на рис. ЦВ-7.29 (см. файлы
\scenes\lesson_7.3\Dynamite_step5.max).
Рис. ЦВ-7.29. Кадр анимации взрыва и горения автомобиля
Создание звукового сопровождения
Добавим звуковое сопровождение ко всем трем частям нашей анимации: сгоранию
бикфордова шнура, взрыву и горению. Для этого воспользуемся модулем ProSound,
работающим одновременно с несколькими звуковыми файлами.
Выполните команду Customize (Настройки) | Preferences (Настройки). В открывшемся
окне Preference Settings (Настройки параметров) разверните вкладку Animation и в
разделе Sound Plug-In нажмите кнопку Assign (Назначить). Из раскрывшегося списка
выберите пункт ProSound. Затем выполните команду Graph Editors | Track View Dope Sheet. В раскрывшемся одноименном диалоговом окне нажмите кнопку Edit
, а затем выделите строку Sound (Звук) и щелкRanges (Редактирование диапазона)
ните на ней мышью двойным щелчком — откроется окно ProSound, в котором с помощью кнопки Add последовательно добавьте звуковые файлы Strike Match Lt Fuse-e.wav,
Crash.wav и 0374.wav из папки \sceneassets\sounds\. Там же в правой части окна установите номера начального и конечного кадров для каждого звука: 0 и 100, 100 и 110, 110
и 150 (рис. 7.30). После каждой установки нажимайте клавишу <Enter>.
Рис. 7.30. Настройка последнего звука
Эффекты анимации. Анимация с учетом законов физики
417
Закройте окно. Если теперь развернуть строку Sound, то слева можно увидеть названия
всех трех звуковых файлов, а справа — длительность их звучания в виде графиков
(рис. 7.31).
Рис. 7.31. Настройка звуковых файлов
Настроить моменты включения и выключения отдельных звуковых файлов, а также
длительность их звучания можно, перемещая светлые квадратики на концах их графиков. Воспроизведите анимацию и проверьте наличие звуков (см. файлы \scenes\lesson_7.3\
Dynamite_end.max и \renderoutput\lesson_7.3\Dynamite_end.mp4).
Практическая работа
Самостоятельно создайте имитацию бенгальского огня.
Модуль MassFX
Одна из проблем моделирования и анимации — необходимость учитывать обычные
законы физики, без соблюдения которых трудно добиться реалистичности. Сделать это
совсем непросто, например, если требуется смоделировать обычный резиновый мяч,
который при падении подпрыгивает, причем многократно и на разную высоту. Получение подобной анимации методом ключевых кадров потребует создания нескольких
ключей анимации, что придется делать вручную, на глазок оценив временны́е интервалы между ключевыми кадрами и расстояния, на которые должен подниматься объект
при подпрыгивании. Очевидно, что таких движущихся объектов в любой сцене множество, и их движение гораздо сложнее. Более того, имеется немало второстепенных
объектов, создающих фон, и на первый взгляд статичных, которые тем не менее для
реалистичности также должны изменяться во времени. Анимировать все вручную —
задача непосильная, тем более что нужно не просто анимировать, а учитывать реальные
физические свойства присутствующих в сцене объектов.
Для решения таких задач в 3ds Max предусмотрен специальный модуль MassFX, позволяющий моделировать динамику твердых тел и тканей, а также сложных составных
конструкций [1]. При расчете динамики учитываются такие физические свойства объектов, как масса, упругость, коэффициенты трения, а также гравитация и другие назначенные силы. Движение объектов моделируется в режиме реального времени, что позволяет контролировать ситуацию и сразу же корректировать настройку динамических
параметров. Подобный расчет проводится сравнительно быстро и при минимальных
усилиях со стороны пользователя, поскольку отпадает необходимость вручную "оживлять" отдельные взаимодействующие между собой объекты сцены, а все ключевые кадры анимации создаются автоматически.
418
Глава 7
Модуль MassFX включает также инструменты для работы со сложными составными
объектами, связанными между собой. С их помощью можно рассчитать, например,
динамику открывания двери (которая висит на дверных петлях), вращения колес автомобиля (связанных с его кузовом) и т. п.
Модуль MassFX содержит набор инструментов для физического моделирования с использованием понятий твердого тела (Rigid Body) и ткани (Cloth Object). Твердые тела
могут быть трех типов:
Dynamic (Динамические) — движение таких объектов полностью контролируется
при моделировании. На них может воздействовать гравитация, силовые деформации, а также силы, возникающие от столкновения с другими объектами, включая
объекты типа Cloth;
Kinematic (Кинематические) — могут анимироваться с помощью стандартных
методов (автоматической или ручной анимации) или быть просто неподвижными
объектами. Кинематические объекты могут влиять на динамические объекты, но
не наоборот. В любой момент кинематический объект может поменять свой статус
на динамический;
Static (Неподвижные) — не подлежат анимации. Обычно служат в качестве контей-
неров, стен, препятствий.
При моделировании объектов типа Cloth (Ткань) используется модификатор mCloth.
Вы можете совмещать предварительно созданную обычным образом анимацию с результатами физического моделирования. В зависимости от сложности сцены результат
анимации отображается в видовых окнах в реальном времени.
Чтобы визуализировать результаты работы MassFX, можно создать обычные ключевые
кадры анимации динамических объектов, конвертировав их в кинематические объекты.
Если после этого вам потребуется доработать модель, то можно снова удалить все созданные ранее ключевые кадры, и тогда объекты опять станут динамическими.
Панель инструментов MassFX Toolbar
Управляют физической анимацией с помощью панели инструментов MassFX Toolbar.
Для ее отображения щелкните правой кнопкой мыши в любой свободной части главной
панели меню инструментов и из выпадающего меню выберите панель инструментов
MassFX Toolbar (рис. 7.32).
Основной набор инструментов MassFX Tools (Инструменты модуля MassFX)
открывается нажатием на левую кнопку этой панели
параметров MassFX.
и содержит большинство
Нажатие на кнопку
разворачивает список типов физических тел, которые следует назначить объектам, участвующим в моделировании. Каждый анимируемый объект необходимо отнести к одному из трех типов: Dynamic, Kinematic или Static
(рис. 7.33).
Кнопка
открывает небольшой список, в котором можно отнести выделенный
объект к объектам типа mCloth или удалить тип (рис. 7.34).
Эффекты анимации. Анимация с учетом законов физики
Рис. 7.32. Панель инструментов MassFX Toolbar
Рис. 7.34. Присвоение объекту типа mCloth
419
Рис. 7.33. Типы твердых тел
Рис. 7.35. Назначение жесткого ограничения
Кнопка
разворачивает список ограничений на взаимное перемещение твердых
тел, которые накладываются на моделируемые объекты: шарнирное соединение
(Hinge Constraint), скользящее (Slide Constraint), жесткое (Rigid Constraint), вращательное (Twist Constraint) (рис. 7.35).
Инструменты, открывающиеся нажатием на кнопку
, имеют отношение к физи-
ческому моделированию поведения персонажей.
Инструменты панели MassFX Tools
Как уже было отмечено, эти инструменты (рис. 7.36) разворачиваются щелчком на лепанели MassFX Toolbar.
вой крайней кнопке
Рис. 7.36. Инструменты MassFX
Вкладка World Parameters
Первая слева вкладка (World Parameters) открывается нажатием на кнопку
и
содержит, в частности, свитки Scene Settings (Настройки сцены) и Advanced Settings
420
Глава 7
(Дополнительные настройки). В них устанавливают общие параметры проекта
(рис. 7.37).
Свиток Scene Settings
В свитке Scene Settings (рис. 7.37, а) можно настроить параметры гравитации и столкновения с поверхностью основания:
Use Ground Collisions (Использовать как основание) — при активизации этого параметра плоскость, положение которой устанавливается в поле Ground Height (Высота основания), рассматривается как твердое тело типа Static, не подлежащее анимации и невидимое в сцене при визуализации. Иногда параметр Use Ground
Collisions полезно отключить, чтобы он не мешал анимации;
а
б
Рис. 7.37. Свитки на вкладке World Parameters: а — Scene Settings; б — Advanced Settings
Directional Gravity (Направление гравитации) — в этой области устанавливается
ось глобальной системы координат, в направлении которой направлена гравитация;
Acceleration (Ускорение) — величина гравитации. Иногда ее полезно изменить,
чтобы ускорить или замедлить анимацию;
Gravity by Force Object (Притяжение под действием силы) — используется для
создания силовых деформаций типа Gravity Space Warp. Включение этой опции
позволяет моделировать эффект притяжения на системы частиц. Частицы будут
передвигаться с ускорением в направлении гравитации, указанном стрелкой;
No Gravity — отсутствие гравитации;
установки в области Rigid Bodies (Твердые тела) необходимы в тех случаях, когда
возникают проблемы при моделировании столкновений и ограничений объектов:
Эффекты анимации. Анимация с учетом законов физики
421
• Substeps (Подразбиения) и Solver Iter. (Количество итераций) — увеличение
значений этих параметров повышает точность вычислений. Их наилучшие значения зависят от многих факторов и подбираются опытным путем;
• Use High Velocity Collisions (Учитывать при столкновениях на высоких скоростях) — включение этой опции позволяет устранить возможность пропусков
в столкновениях быстро движущихся объектов, когда расстояние между положением объекта в предыдущем и последующем кадрах анимации оказывается
слишком большим;
• Generate Shape Per Element (Генерировать форму для каждого элемента) — при
включении этой опции модификатор MassFX Rigid Body создает отдельную физическую форму для каждого элемента объекта (вспомним, что примитив Teapot,
например, состоит из четырех элементов), что позволяет создать более точную
форму для моделирования объектов.
Свиток Advanced Settings
Если скорость движения твердого тела оказывается ниже некоторой величины, определяемой параметром Sleep Energy (Прекратить движение) свитка Advanced Settings
(рис. 7.37, б), то его движение может быть полностью прекращено. В областях High
Velocity Collisions (Столкновения при высоких скоростях) и Bounce Settings (Настройки отскоков) устанавливается автоматический или ручной способ обнаружения столкновений и вычисления отскоков для твердых тел.
В области Contact Shell (Объем контакта) задается окружающий объем, в пределах которого MassFX обнаруживает столкновения между телами. Параметр Contact Distance
(Величина перекрытия) определяет расстояние, на которое твердые тела могут перекрывать друг друга. Если эта величина слишком мала, то объекты могут испытывать
дрожание. Излишне большое значение параметра Contact Distance может вызвать видимое взаимопроникновение объектов. Оптимальная величина этого параметра зависит
от многих факторов и подбирается опытным путем.
Вкладка Simulation Tools
Вкладка Simulation Tools (рис. 7.38) вызывается нажатием на кнопку
MassFX Tools.
панели
Первые четыре кнопки области Playback в свитке Simulation (Моделирование)
(рис. 7.38, а) управляют процессом моделирования и дублируют аналогичные инструменты, расположенные на панели MassFX Toolbar:
— восстанавливает исходное положение всех динамических
• Reset Simulation
объектов и перемещает ползунок анимации к первому кадру;
• Start Simulation
ских объектов;
(голубая стрелка) — воспроизводит анимацию динамиче-
(черная стрелка) — выполняет моделирование динамиче• Start Simulation
ских объектов без их анимации;
• Step Simulation
— воспроизводит пошаговое моделирование.
422
Глава 7
а
б
в
Рис. 7.38. Свитки на вкладке Simulation Tools
В области Simulation Baking свитка Simulation сосредоточены команды, которые
создают стандартные ключевые кадры анимации динамических объектов и конвертируют их в кинематические объекты.
В свитке Simulation Settings (Настройки моделирования) (рис. 7.38, б) указывается,
как будет продолжаться моделирование после достижения последнего кадра анимации.
В свитке Utilities (Утилиты) (рис. 7.38, в) кнопка Explore Scene (Анализ сцены) от-
крывает специализированную версию программы для анализа работы модуля
MassFX. Она позволяет просмотреть свойства всех объектов, участвующих в процессе моделирования.
Вкладка Multi-Object Editor
Предварительно, с помощью команды Set Selected as ... (Определить выбранные объекты как), расположенной на панели MasFX Toolbar, нужно каждый твердый объект,
участвующий в физическом моделировании, отнести к определенному типу объектов:
динамическому, кинематическому или статическому. В результате на вкладке Modify
к выделенному объекту будет применен модификатор MassFX Rigid Body.
Затем, нажав кнопку
на панели MassFX Tools, открывают несколько свитков, в которых назначают все физические свойства объектов, участвующих в физическом моделировании (рис. 7.39).
Опции свитка Rigid Body Properties (рис. 7.39, а) определяют следующие парамет-
ры:
• Rigid Body Type — здесь выбирается тип моделирования для всех выделенных
тел: Dynamic, Kinematic или Static;
• Until Frame (До указанного кадра) — в указанном кадре выделенные кинематические объекты конвертируются в динамические. Вы можете определить тип
объекта как Kinematic и анимировать объект с помощью стандартных методов
Эффекты анимации. Анимация с учетом законов физики
423
вплоть до обозначенного кадра — с этого кадра он станет динамическим и затем
будет моделироваться программой MassFX.
Предположим, вы желаете подвесить несколько тел и затем отпускать их в разные моменты времени. Для этого можно определить их как кинематические,
включить опцию Until Frame, а затем по очереди выбрать каждое тело и определить для него номер кадра, в котором оно станет динамическим и, значит, будет
подвержено гравитации;
• Bake (Конвертировать в ключи анимации) — результаты моделирования конвертируются в стандартные ключевые кадры. Опция применяется только к динамическим твердым телам. Кнопка Unbake удаляет созданные ключевые кадры и
восстанавливает объектам статус динамических объектов;
а
б
в
Рис. 7.39. Параметры физических свойств объектов
• Use High Veloсity Collisions — активизирует действие этой команды при одновременном включении аналогичной команды в свитке MassFX Tools | World
Parameters | Scene Settings;
• Start in Sleep Mode (Стартовать в спящем режиме) — при включении этой опции
выделенные твердые тела остаются неподвижными до тех пор, пока в них не
ударится какой-нибудь другой объект;
• Collide with Rigid Bodies — при включении твердые тела сталкиваются с другими твердыми телами.
424
Глава 7
Свиток Physical Material (рис. 7.39, б) позволяет сохранить установленные физиче-
ские свойства материалов (команда Create Preset) или удалить их (команда Delete
Preset).
В свитке Physical Material Properties (Физические свойства материала) (см. рис. 7.39, б)
задаются физические свойства материала:
• Density — плотность в г/см3;
• Mass — масса в кг;
• Static Friction — коэффициент трения покоя. Он определяет степень трудности
двух твердых объектов начать скольжение одного объекта относительно другого. Значение 0 соответствует отсутствию трения, а значение 1 — максимальному
трению. Фактическое значение этого коэффициента для двух объектов равно
произведению их коэффициентов трения покоя. Поэтому, например, если для одного из объектов этот коэффициент равен 0, то не имеет значения, чему равен коэффициент трения покоя другого объекта.
Для справки: коэффициент трения покоя для материалов "сталь-сталь" без смазки
равен 0.8; для материалов "металл-дерево" он составляет 0.2–0.6; "стеклостекло" — 0.9–1; "лед-лед" — 0.05–0.1;
• после того как объекты начали движение, сопротивление объектов скольжению
определяется другим коэффициентом — Dynamic Friction (Динамический
коэффициент трения). Значение 0 означает отсутствие трения, а 1 соответствует
максимальному трению. Динамический коэффициент трения всегда меньше коэффициента трения покоя. Как и в случае трения покоя, фактическое значение
динамического коэффициента трения для двух объектов равно произведению их
динамических коэффициентов.
Например, динамический коэффициент трения для материалов "сталь-сталь"
равен 0.15–0.18; для материалов "стекло-стекло" — 0.7; "лед-лед" — 0.028.
Если же в процессе моделирования один объект катится по поверхности другого объекта, то их коэффициент трения будет во много раз меньше коэффициента
трения скольжения, — уменьшение коэффициента трения может составлять
до 50 раз;
• параметр Bounciness (Прыгучесть) означает, насколько легко и высоко объект
отскакивает, ударившись о другой объект. При нулевом значении объект вообще
не станет отскакивать, при значении, равном единице, эффект будет максимальным. Фактическое значение этого коэффициента для двух взаимодействующих
объектов равно среднему арифметическому их коэффициентов. Поэтому, например, если оба объекта имеют коэффициент Bounciness = 0.5, то их прыгучесть
будет такой же, как если бы у одного объекта этот коэффициент равнялся нулю,
а у второго — единице.
П РИМЕЧАНИЕ
Если отскоки объекта неожиданно прекращаются или, напротив, длятся слишком долго, то
следует установить значение параметра Bounciness вручную и настроить значение параметра Min Speed (Минимальная скорость). Для этого нужно открыть вкладку World
Parameters и перейти в свиток Advanced Setting (Дополнительные настройки). Чтобы продлить отскоки, нужно уменьшить значение параметра Min Speed. Для уменьшения числа
отскоков значение этого параметра нужно увеличить.
Эффекты анимации. Анимация с учетом законов физики
425
Cвиток Forces (Силы) (рис. 7.39, в) позволяет управлять гравитацией и применением
физических воздействий. Для этого на командной панели инструментов предварительно открывают панель инструментов Space Warps
и выбирают тип воздействий Forces.
В свитке Advanced (см. рис. 7.39, в) также отметим некоторые параметры:
• опции группы Initial Velocity (Начальная скорость) задают начальное направление и скорость твердого тела, когда оно стало динамическим;
• аналогично параметр Initial Spin (Начальное вращение) задает начальное
направление и скорость (в градусах в секунду) вращения твердого тела;
• в области Damping (Амортизация, затухание) указывают величину силы, приложенной для затухания движения объекта. Она определяет, насколько быстро
динамическое тело вернется в исходное состояние.
Вкладка Display Options
Вкладка Display Options (Настройки отображения) открывается нажатием на кнопку
и управляет отображением физической сетки и отладкой процесса физического
моделирования.
Физические сетки в модуле MassFX
Модуль MassFX работает с двумя видами сеток:
графическая сетка — исходная сетка объекта, обычно она используется для стати-
ческих тел, которые не перемещаются при моделировании;
физическая сетка — геометрия, устанавливаемая модификатором MassFX Rigid
Body для упрощения вычислений. Она предназначена для моделирования движущихся тел.
Чтобы отделить физическую сетку от ее графической сетки, на вкладке Modify
перейдите на уровень подобъектов модификатора MassFX Rigid Body и выделите
строку Mesh Transform. Затем с помощью инструмента Select and Move
сместите
физическую сетку в сторону.
Для динамических тел используются физические сетки, и по умолчанию для них устанавливается тип Convex (Выпуклый). Однако такой тип сетки не всегда является наилучшим приближением. На рис. 7.40, а для сферы, определенной как динамический
объект, слева показана ее графическая сетка, а справа — сетка типа Convex, установленная по умолчанию. На рис. 7.40, б показана другая сетка для сферы, которая будет
использована, если ей задать тип Sphere (рис. 7.40, в). Очевидно, что эта сетка лучше
приближает модель сферы.
На панели MassFX Tools в свитке Physical Mesh (Физическая сетка) (см. рис. 7.39, б)
указывают тип физической сетки твердого объекта: Sphere, Box, Capsule, Convex (Выпуклый), Concave (Невыпуклый), Original (Графическая сетка) или Custom. Сетки
типа Sphere, Box и Capsule являются примитивами модуля MassFX и моделируются
быстрее других. Всегда, когда это возможно, следует пользоваться самыми простыми
типами физической сетки.
426
Глава 7
а
б
в
Рис. 7.40. Типы сеток: а — графическая сетка (слева), сетка Convex (справа);
б — тип сетки Sphere; в — задание сетки типа Sphere
Сетка типа Original использует графическую сетку в качестве физической. Чаще всего
она рекомендуется для невыпуклых статических твердых тел. Для кинематических и
динамических тел она не применяется.
Динамические твердые тела представляются в MassFX выпуклыми физическими формами. Поэтому для более точного моделирования невыпуклого объекта его можно аппроксимировать набором более мелких выпуклых форм. Для этого невыпуклый объект
следует определить как Concave (Невыпуклый). На рис. 7.41 объект определен как выпуклое тело (Convex), и поэтому вокруг него создана выпуклая оболочка. Очевидно,
что если этот объект определить как динамический, то его физическое моделирование
с этой сеткой может привести к значительным погрешностям.
Рис. 7.41. Выпуклая оболочка вокруг объекта
Если же невыпуклый объект определен как Concave, то для получения аппроксимирующих его выпуклых тел в свитке Physical Mesh Parameters (Параметры физической
сетки) следует нажать кнопку Generate. После выполнения вычислений в видовом окне
появится физическая сетка (рис. 7.42), а в свитке Physical Mesh Parameters — сообще(Текущая сетка содержит 5 оболочек). Такому
ние, например, вида
состоянию объекта соответствует файл \scenes\MassFX\Physical_Mesh.max, расположенный в папке проекта.
Чтобы улучшить качество физической сетки и тем самым повысить точность вычислений, в том же свитке установите флажок у опции Improve Fitting (Улучшить подгонку)
Эффекты анимации. Анимация с учетом законов физики
427
Рис. 7.42. Исходная полигональная сетка объекта (слева) и физическая сетка объекта (справа)
и снова нажмите кнопку Generate. В нашем случае в свитке Physical Mesh Parameters
(Текущая сетка содержит 8 оболочек).
появится сообщение вида
Параметры свитка Physical Mesh Parameters
Параметры этого свитка зависят от типа установленной сетки. Как уже было отмечено,
основным типом сетки, устанавливаемым по умолчанию, является тип Convex (Выпуклый) (рис. 7.43).
Рис. 7.43. Параметры сетки типа Convex
Рис. 7.44. Сетка расширена наружу
Строка
показывает фактическое число вершин в сгенерированной
выпуклой физической сетке.
Положительные значения параметра Inflation (Вздутие) расширяют сетку наружу
(рис. 7.44), а при отрицательных значениях она сжимается.
Расширение физической сетки — простой способ предотвратить проникновение для
быстро движущихся объектов. Однако для медленно движущихся объектов это
может вызвать эффект, при котором объекты будут выглядеть отстоящими друг от
друга.
Команда Generate From имеет два варианта:
• Surface — выпуклая оболочка целиком охватывает внешнюю сторону графической сетки. Этот метод иногда создает неаккуратную сетку;
428
Глава 7
• Vertices — строит внешнюю оболочку на основе множества вершин графической
сетки. Физическая сетка получается лучшего качества, однако гарантируется, что
вне графической сетки окажутся только вершины физической сетки. В таком
случае, возможно, следует установить положительное значение параметра
Inflation, чтобы гарантировать, что выпуклая оболочка окажется вне графической сетки целиком.
Параметр Vertices определяет число вершин, используемых для построения выпук-
лой оболочки, — чем больше это число, тем лучше качество аппроксимации исходного объекта.
Сетка типа Concave (Невыпуклый) позволяет представить невыпуклое твердое тело
в виде некоторого числа автоматически сгенерированных выпуклых оболочек. Она
формирует эти оболочки и подгоняет их вместе в виде составной физической формы,
которая согласуется с графической сеткой. Для их создания нужно в свитке Physical
Mesh Parameters нажать кнопку Generate. Число полученных оболочек отображается
в нижней части свитка (рис. 7.45).
Более высокое значение параметра Mesh Detail (Дета-
лизация сетки) может создавать большее число оболочек, повышая точность аппроксимации графической
сетки.
Параметр Min. Hull Size (Минимальный размер обо-
лочки) определяет минимальный объем каждой выпуклой оболочки в процентах по отношению ко всему объекту.
Рис. 7.45. Параметры сетки типа Concave
Параметр Max. Verts per Hull задает максимальное число вершин в каждой выпук-
лой оболочке — большее число вершин дает лучшую аппроксимацию исходного
объекта.
Параметр Improve Fitting дает лучшее согласование между формой составной обо-
лочки и графической сеткой.
После каждого изменения указанных параметров следует выполнять команду
Generate.
Тип сетки Custom применяется, чтобы вычленить физическую сетку из другого объекта, присутствующего в сцене.
Упражнение № 7-4. Скачущий шар
Определение свойств объектов сцены
Откройте файл \scenes\lesson_7.4\Bounce.max из папки этого упражнения. Сцена содержит
четыре объекта: неподвижный стол в форме примитива типа Box, пустотелый резино-
Эффекты анимации. Анимация с учетом законов физики
429
вый мяч в воздухе, тарелку и трубку (Tube) под ней. Щелкните правой кнопкой мыши
в любой свободной части главной панели инструментов и из выпадающего меню выберите панель инструментов MassFX Toolbar. Выделите стол. Так как он должен оставаться неподвижным, то на панели MassFX Toolbar разверните выпадающее меню
(второе слева) и выберите опцию Set Selected as Static Rigid Body (Определить выде(рис. 7.46).
ленный объект как неподвижное твердое тело)
в стеке модификаторов появится модификатор
При этом на вкладке Modify
MassFX Rigid Body, а в его свитке Physical Shapes отобразится имя этого объекта.
На вкладке Modify
в свитке Rigid Body Properties можно увидеть, что сфера действительно отнесена к динамическим объектам. Динамические тела — это объекты, которые перемещаются под действием физических сил, в нашем случае — силы тяжести.
Поскольку мы хотим, чтобы объекты, участвующие в физическом моделировании,
естественным образом сталкивались друг с другом, то в том же свитке нужно установить
флажок для параметра Collide with Rigid Bodies (Сталкиваться с твердыми телами).
В противном случае сфера просто пролетит вниз сквозь другие объекты. Не забывайте
ставить этот флажок для всех объектов сцены — твердых тел (динамических, кинематических и статических), участвующих в физическом моделировании.
Ниже, в свитке Physical Shapes в поле Shape Type (Тип сетки), укажите тип сетки —
Box. В нашем случае стол представляет собой простейший статический объект, и для
него вполне подходит тип сетки Box.
Теперь нужно задать физические свойства объекта в свитке Physical Material (Свойства материала). Этот этап очень важен для правдоподобного физического моделирования, т. к. неправильное задание свойств материала приведет к созданию нереалистичной анимации. Плотность материала (Density) следует задавать в г/см3, а масса будет
вычисляться автоматически с учетом объема физической модели. Естественно, что при
разных физических моделях получается разная масса. Физические свойства материалов
можно найти в Интернете.
Пол будет деревянный. В свитке Physical Material раскройте список Preset предварительно созданных материалов и выберите из него материал Wood — его параметры
откроются в указанном свитке. Если этого материала в списке нет, то в свитке Physical
Material введите значения свойств, как показано на рис. 7.47.
Рис. 7.46. Стол определен
как статическое твердое тело
Рис. 7.47. Установлены свойства
дерева
430
Глава 7
Чтобы их сохранить для дальнейшего использования, в поле Preset из выпадающего
списка выделите строку Create New Preset (Создать новую предварительную настройку), в открывшемся окне введите имя нового материала Wood и нажмите кнопку Save.
Те же значения физических свойств объекта можно увидеть, если на панели
, в открывшейся панели MassFX Tools пеMassFX Toolbar нажать левую кнопку
рейти на вкладку Multi-Object Editor
и раскрыть на ней свиток Physical Material
Properties.
Остальные объекты сцены относятся к динамическим. Выделите объект Sphere. На
панели MassFX Toolbar из выпадающего списка выберите опцию Set Selected as
Dynamic Rigid Body (Определите выделенный объект как динамическое твердое тело).
в поле Shape Type свитка Physical Shapes появится тип сетки
На вкладке Modify
Convex (Выпуклая).
Несмотря на то что сфера является пустотелой и, значит, невыпуклой, ее можно было
бы считать выпуклой и установить тип сетки Sphere, т. к. внутренние пустоты не
влияют на ее внешнюю форму и никак не могут отразиться на точности физического
моделирования. Но если оставить ее выпуклой, то будет неправильно вычислена масса
резинового мяча. Кроме того, ее геометрическая модель представлена в виде редакти. Поэтому для сферы следует
руемой сетки, что можно увидеть на вкладке Modify
указать тип сетки Concave (Невыпуклая).
В свитке Physical Mesh Parameters установите значения параметров, как показано на
рис. 7.48, и щелкните на кнопке Generate, — под ней появится сообщение, что построенная аппроксимация состоит из 51-й выпуклой оболочки.
Рис. 7.48. Параметры генерируемой сетки
для сферы
Рис. 7.49. Параметры материала Rubber
По нашему предположению объект Sphere представляет собой резиновый шар. Поэтому
для него в свитке Physical Material выберите шаблон Rubber (Резина) или задайте
параметры резины, как показано на рис. 7.49.
Объект Plate (тарелка) является вогнутым, выделите его и определите как динамическое твердое тело. Физическая сетка Convex (Выпуклый), установленная по умолчанию, не подходит для этого объекта. Поэтому в поле Shape Type установите для него
Эффекты анимации. Анимация с учетом законов физики
431
тип сетки Concave (Невыпуклый). На вкладке Modify перейдите к свитку Physical
Mesh Parameters, оставьте все его параметры без изменения и нажмите кнопку
Generate (Генерировать). В результате будет выведено сообщение, что физическая
оболочка объекта состоит из 87 выпуклых оболочек. Поскольку это достаточно
большое число выпуклых оболочек, то улучшать аппроксимацию модели тарелки мы
дальше не станем. Чтобы увидеть всю совокупность полученных выпуклых оболочек,
на вкладке Modify в свитке Physical Shapes установите флажок у опции Display
Shaded Hulls (Отобразить выпуклые оболочки) (рис. 7.50).
Рис. 7.50. Аппроксимация объекта Plate выпуклыми
оболочками
Рис. 7.51. Параметры материала Steel
В свитке Physical Material выберите шаблон Steel (Сталь) или установите для этого
объекта материал, как показано на рис. 7.51.
Цилиндр также определите как динамическое твердое тело. Он, кстати, тоже пустотелый. Задайте для него тип сетки Concave (Невыпуклый) и щелкните на кнопке
Generate — вы получите сообщение, что его аппроксимация состоит из четырех выпуклых оболочек. Активизируйте параметр Display Shaded Hulls и внимательно рассмотрите полученную аппроксимацию. Визуально можно убедиться, что аппроксимация цилиндра неудовлетворительна (рис. 7.52, а). Для улучшения аппроксимации
в свитке Physical Mesh Parameters установите флажок у опции Improve Fitting и снова
щелкните на кнопке Generate. Теперь аппроксимация цилиндра состоит из 17 выпуклых оболочек, и он стал пустотелым (рис. 7.52, б).
Пусть цилиндр будет резиновым (рис. 7.49) — выберите этот материал из списка
Preset.
и на ней вкладку World Parameters
Откройте панель инструментов MassFX Tools
. В свитке Scene Settings установите флажок для Use Ground Collisions, а в поле
Ground Height введите значение −50. В области Rigid Bodies установите значения
параметров Substeps (Подразбиения) = 4 и Solver Iter. (Число итераций) = 50 (при повторной анимации снова проверьте их значения). Если будут возникать проблемы
с анимацией, то попробуйте увеличить значения этих параметров, либо на той же
вкладке в свитке Advanced Settings можно попытаться изменить значения параметров
в области Contact Shell.
432
Глава 7
а
б
Рис. 7.52. Аппроксимация цилиндра:
а — 4 выпуклые оболочки; б — 17 выпуклых оболочек
Анимация сцены
На панели MassFX Toolbar нажмите кнопку Start Simulation (Начать моделирова. После некоторой паузы, в течение которой происходят вычисления, начнется
ние)
анимация. Чтобы ее остановить, снова нажмите ту же кнопку. Исходное состояние восстанавливает кнопка Reset simulation (Восстановить исходное состояние моделирова. Попробуйте изменить значения параметров Substeps и Solver Iter. — анимания)
ция станет иной.
Чтобы теперь создать стандартные ключи анимации, на панели MassFX Tools откройте
панель Simulation Tools
и в свитке Simulation нажмите кнопку Bake All (Создать
ключевые кадры анимации). В результате будут созданы ключи анимации для всех
динамических объектов сцены. Чтобы увидеть их в треке анимации, выделите соответствующий объект. После этого полученную анимацию можно будет воспроизводить
. Удалить созданные
как обычную анимацию с помощью кнопки Play Animation
ключи анимации можно командами Unbake All (Удалить ключевые кадры анимации)
и Unbake Selected (Удалить ключевые кадры анимации для выбранных объектов).
Для расчета этой сцены не требуется такого большого числа ключей анимации. Поэтому, когда с помощью команды Bake All динамические взаимодействия будут переведены в ключи анимации, для упрощения редактирования анимации рекомендуется удалить промежуточные ключи. Для их удаления в главном меню Graph Editors выберите
команду Track View - Curve Editor. В левой части открывшегося окна разверните
структуру тех объектов, для которых предполагается удалить избыточные кадры анимации, и выделите контроллеры анимации под строками MassFX Baked Position и
MassFX Baked Rotation, чтобы справа отобразились их ключевые кадры. На панели
инструментов этого окна выполните команду Curves (Кривые) | Simplify Curve (Упростить кривую) — откроется окно, в котором нужно задать значение параметра
Threshold (Пороговая величина). Излишне большое значение этого параметра может
сильно исказить анимацию, поэтому оптимальную его величину придется подбирать
опытным путем. В нашем примере для всех анимированных объектов было задано зна-
Эффекты анимации. Анимация с учетом законов физики
433
чение Threshold = 0.5 (рис. 7.53). Такому состоянию сцены соответствует файл
\scenes\lesson_7.4\Bounce_end.max, визуализация сцены \renderoutput\lesson_7.4\Bounce.mp4
Если необходимо отменить результаты физического моделирования какого-либо объекта, то выделите его, в стеке модификаторов щелкните правой кнопкой мыши на
модификаторе MassFX Rigid Body и в раскрывшемся меню выберите команду Delete.
Рис. 7.53. Удалены промежуточные ключи анимации
Практическая работа
Откройте из папки этого упражнения файл \scenes\practice_7.4\saucepan.max и самостоятельно создайте анимацию падающей кастрюли с крышкой.
Упражнение № 7-5.
Ограничения MassFX constraint
Определение свойств объектов сцены
Откройте файл \scenes\lesson_7.5\Mechanism.max из папки проекта (рис. 7.54). Добавим
в сцену ограничители для раскачивания булавы.
Рис. 7.54. Заготовка сцены
434
Глава 7
Установка свойств
Выделите объект Floor и на панели MassFX Toolbar щелкните по кнопке Set Selected
as Dynamic Rigid Body
, из выпадающего списка выберите пункт Set Selected as
Static Rigid Body. Параметры сетки менять не будем, стандартная настройка (Convex)
подойдет для наших задач. Объект Support тоже определите как неподвижное твердое
тело. Так как этот объект пустотелый, необходимо изменить тип динамической сетки.
Поэтому на вкладке Modify в поле Shape Type установите для него тип сетки Concave
(Невыпуклый). Перейдите к свитку Physical Mesh Parameters, оставьте все его параметры без изменения и нажмите кнопку Generate (Генерировать).
Далее выделите все кирпичи и на панели MassFX Toolbar назначьте для них динамичное твердое тело. Выделите любой из кирпичей и на панели Modify в свитке Physical
Material установите для параметра Mass значение 5, т. к. все кирпичи связаны между
собой, то масса изменится у всех кирпичей.
На панели MassFX Toolbar нажмите кнопку Start Simulation (Начать моделирова. Никаких изменений не должно произойти, только между кирпичами уйдет
ние)
лишнее расстояние.
Выделите объект Mace, на панели MassFX Toolbar щелкните по кнопке Create Hinge
Constraint
и выберите опцию Create Ball & Socket Constraint. Появится сообщение о том, что объект не является динамическим твердым телом с предложением преобразовать его, щелкните по кнопке Yes и далее в видовом окне, перемещая курсор
мыши, определите размер иконки ограничителя (не делайте его слишком большим)
(рис. 7.55, см. видео \Lesson_7.5\Create_constraint.mp4).
Запустите процесс расчета симуляции движения
, булава должна раскачиваться и
сбивать часть кирпичей (рис. 7.56). Выделите ограничитель и на панели Modify перейдите в свиток Swing & Twist Limit (Ограничения раскачивания и скручивания), т. к.
булава двигается только по одной оси, то в области Swing Z установите опцию Lock
и то же самое проделайте в области Twist.
Рис. 7.55. Установлен ограничитель
типа Ball & Socket
Рис. 7.56. Симуляция движения булавы
Эффекты анимации. Анимация с учетом законов физики
435
Выделите объект Plank и примените для него ограничитель Hinge. Если сейчас запустить симуляцию движения, то доска как будто заблокируется на своем положении. Необходимо настроить параметры ограничения. Выделите добавленный ограничитель и
на панели Modify перейдите в свиток Swing & Twist Limit. Доска должна крутиться на
все 360°, значит, в области Swing Z установите для параметра Angle Limit значение
360. Ограничитель примет вид диска. Разверните этот диск вдоль оси X на 90° в соответствии с рис. 7.57. Запустите процесс симуляции движения (рис. 7.58).
Рис. 7.57. Положение ограничителя Hinge
Рис. 7.58. Визуализация кадра анимации
Такому состоянию сцены соответствует файл \scenes\lesson_7.5\Mechanism_end.max, визуализация сцены \renderoutput\lesson_7.5\Mechanism.mp4.
Практическая работа
Самостоятельно создайте анимацию, аналогичную приведенной в файле \renderoutput\
Crash impact.mp4 из папки проекта.
Упражнение № 7-6. Бильярдная пирамида
Определение свойств объектов сцены
Создадим анимацию бильярдной пирамиды. Откройте из папки этого упражнения файл
\scenes\lesson_7.6\Shar.max, в котором содержится модель сцены с шарами и бильярдным столом. Во всех углах стола имеются отверстия (рис. 7.59).
Рис. 7.59. Исходная модель бильярдной пирамиды
436
Глава 7
Все объекты стола определите как статические твердые тела (Set Selected as Static
Rigid Body). На вкладке Modify
свитка Physical Shapes для нижней части стола
Box01 и бруска Box02 укажите тип сетки (Shape Type) Box, для С-образного бруска —
Concave, чуть ниже в свитке Physical Mesh Parameters, включите параметр Improve
Fitting и щелкните по кнопке Generate.
15 игровых шаров пирамиды определите как кинематические твердые тела (Set Selected
as Kinematic Rigid Body
). Ударный шар (Sphere16) определите как динамическое
твердое тело. Выделите все 15 игровых шаров пирамиды и на панели MassFX Tools
на вкладке Multi-Object Editor
в свитке Physical Mesh одновременно для всех шаров задайте тип сетки Sphere. В свитке Rigid Body Properties установите флажок Start
in Sleep Mode. Установите также флажок для параметра Until Frame (До указанного
кадра) и в поле этого параметра оставьте нулевое значение. В результате игровые шары
будут оставаться неподвижными до тех пор, пока в них не попадет ударный шар.
П РИМЕЧАНИЕ
На панели MassFX Tools можно задавать свойства одновременно всем выделенным объектам, а на панели Modify это можно сделать только для одного объекта.
Отдельно выделите ударный шар и для него также укажите тип сетки Sphere.
Настройка параметров анимации
Выделите ударный шар Sphere16 и на панели MassFX Tools
на вкладке Multi-Object
Editor
раскройте свиток Advanced. В области Initial Velocity установите начальную скорость шара Speed = 400. В стеке модификаторов разверните структуру модификатора MassFX Rigid Body и выделите строку Initial Velocity — на виде Top вы
увидите стрелку, исходящую от шара Sphere16. Она показывает направление, в котором
будет перемещаться шар в начале своего движения. Отрегулируйте это направление
с помощью команды Select and Rotate
. Координаты вектора этого направления
отобразятся в свитке Advanced в полях области Initial Velocity.
и в свитке Scene
На панели MassFX Tools раскройте вкладку World Parameters
Settings уберите флажок Use Ground Collisions, в свитке Rigid Bodies установите
Substeps = 4, Solver Iter. = 50. Запустите просчет симуляции движения, чтобы убедиться, что ударный шар движется в правильном направлении (рис. 7.60). Этому состоянию
сцены соответствует файл \scenes\lesson_7.6\Shar_end.max.
Если анимация у вас создаваться не будет, то попробуйте слегка приподнять все шары
над столом. Поменяйте начальную скорость и направление ударного шара, чтобы получить другой вариант физического моделирования.
На вкладке Simulation Tools
нажмите кнопку Bake All, чтобы построить стандартные ключевые кадры анимации. Выделите все шары, чтобы увидеть эти кадры на треке
анимации. Раскройте окно Time Configuration
и установите значение параметра
End Time равным 200, чтобы увеличить длину трека анимации. На треке анимации выделите все кадры анимации и сдвиньте их вправо на 60 кадров. Воспроизведите анимацию с помощью кнопки Play Animation
. Теперь анимация начнет воспроизводиться
с 60-го кадра.
Эффекты анимации. Анимация с учетом законов физики
437
Рис. 7.60. Промежуточный кадр анимации
Практическая работа
Самостоятельно создайте анимацию, аналогичную приведенной в файле \renderoutput\
practice_7.6\Bowling.mp4 из папки этого упражнения.
Упражнение № 7-7. Разбиение объекта на части
Создание тонкостенного объекта
Чтобы воспользоваться модулем MassFX для разбиения объекта на части, предварительно нужно самостоятельно такие части (фрагменты) выделить.
Вначале создадим модель яичной скорлупы (объект Sphere001). Для этого постройте
сферу и растяните ее вдоль оси Z (160%). Сцена находится в файле \scenes\
lesson_7.7\Egg.max.
Разбиение объекта: скрипт FractureVoronoi
Для разбиения объекта на части удобно применять также скрипт FractureVoronoi, который автоматически разбивает объект на заданное число фрагментов.
Создайте копию объекта Sphere001 (щелкните правой кнопкой мыши по объекту и выберите опцию Clone), переименуйте ее Inside. Измените масштаб копии (90%, 90%,
150%) и переместите копию и исходный объект в точку (0, 0, 0).
В Проводнике откройте папку этого упражнения, выделите там файл скрипта
FractureVoronoi_v1.1.ms и перетащите его в окно программы. Нажмите кнопку Pick
Object (Указать объект) и выделите в сцене объект Sphere001 — станут активными все
параметры скрипта. Значение параметра Nb Parts (Число фрагментов) задайте равным 6
(количество фрагментов, на которые следует разбить скорлупу) и нажмите клавишу
<Enter> — в поле Break in (Разбить на) также появится это значение. Чтобы разбить
объект, нажмите кнопку Break in 6 (рис. 7.61, а) — сфера разобьется на шесть фрагментов, и они окрасятся разными цветами. Все фрагменты при этом будут представлять
собой объемные части сферы (рис. 7.61, б).
Чтобы создать модели фрагментов скорлупы, теперь нужно поочередно из каждого
фрагмента вычесть сферу Inside, предварительно создав дополнительную копию
438
Глава 7
(см. видео \Lesson_7.7\Egg_proboolean.mp4). Выполните эту операцию с помощью
команды ProBoolean — и мы получим фрагменты скорлупы (рис. 7.61, в). Этому состоянию сцены соответствует файл \scenes\lesson_7.7\Egg_voronoi.max.
Соберите все фрагменты скорлупы в единое целое, если они были перемещены.
а
б
в
Рис. 7.61. Разбиение объекта на части: а — настройка параметров;
б — сфера разбита на фрагменты; в — получены фрагменты скорлупы
Разбиение объектов: модуль MassFX
Импортируйте в сцену объект Plate из сцены \scenes\lesson_7.7\Plate.max, увеличьте
тарелку в несколько раз, чтобы в ней могло поместиться яйцо (рис. 7.62).
Фрагменты скорлупы определите как динамические твердые тела (Dynamic). Для всех
фрагментов скорлупы задайте тип сетки — Concave (Невыпуклый). В свитке Physical
Mesh Parameters нажмите кнопку Generate, чтобы сгенерировать для них сетки.
П РИМЕЧАНИЕ
Если в процессе генерации сетки возникает ошибка, попробуйте уменьшить детализацию
в свитке Physical Mesh Parameters, изменив параметр Mesh Detail.
Тарелку определите как статическое твердое тело (Static), задайте для нее тип сетки
Concave (Невыпуклый) и аналогично, как и для деталей скорлупы, сгенерируйте сетку,
только включите опцию Improve Fitting.
На панели MassFX Tools раскройте вкладку World Parameters
и в свитке Scene
Settings уберите флажок Use Ground Collisions, в свитке Rigid Bodies установите па-
Эффекты анимации. Анимация с учетом законов физики
439
раметр Substeps = 3, Solver Iter. = 50. Воспроизведите физическое моделирование анина панели MassFX Toolbar (рис. 7.63). Этому состоянию сцемации, нажав кнопку
ны соответствует файл \scenes\lesson_7.7\Egg_end.max.
Рис. 7.62. В сцену импортирована тарелка
Рис. 7.63. Анимация разбиения объекта
Практическая работа
Самостоятельно создайте и анимируйте сцену, показанную в файле \renderoutput\
ractice_7.7\Crash.mp4.
Упражнение 7-8. Модификатор MassFX Cloth
Параметры на уровне модификатора mCloth
Модификатор mCloth представляет собой версию стандартного модификатора Cloth
(Ткань), работающего совместно с модулем MassFX. С его использованием ткань может принимать участие в физическом моделировании. Динамические объекты этого
типа могут влиять на другие объекты типа mCloth, а также на объекты типа Rigid
Body. В свою очередь, твердые объекты могут влиять на объекты типа mCloth. Ткань
может сталкиваться с другими объектами и влиять на их перемещение.
К объектам типа mCloth могут быть применены силовые воздействия Forces (Силы) из
, например, Wind (Ветер),
категории Space Warps (Деформация пространства)
Path Follow (Следовать вдоль траектории). Ткань может разрываться в результате приложенных к ней сил.
Откройте файл \scenes\lesson_7.8\Cloth.max.
На панели MassFX Toolbar определите плоскость (объект Fabric) как объект типа
mCloth. После этого в стеке модификаторов появится модификатор mCloth, имеющий
несколько свитков.
Свиток mCloth Simulation (Моделирование ткани) позволяет отнести ткань к дина-
мическому или кинематическому типу:
440
Глава 7
• объект mCloth кинематического типа влияет на движение других объектов, но
другие объекты не могут влиять на его движение. При включении параметра
Until Frame (До указанного кадра) модуль MassFX, начиная с указанного номера
кадра, конвертирует кинематический объект типа mCloth в динамический. Это
позволяет анимировать объект типа mCloth с помощью стандартных методов
анимации и определять его как кинематический до определенного кадра, после
которого он становится динамическим объектом. Например, можно подвесить на
крючках несколько платков, а затем под действием ветра сбросить их в разные
моменты времени;
• команда Bake (Конвертировать в ключи анимации) конвертирует результаты моделирования объекта mCloth в стандартные ключи анимации. Она применима
только к динамическим объектам.
В свитке Forces можно отменять действие гравитации и применять к объектам
mCloth воздействия типа Forces из категории Space warps
.
В свитке Physical Fabric Properties (Физические свойства ткани) задают физиче-
ские свойства ткани, например:
• Density — плотность ткани (в г/см2);
• Stretchiness — эластичность ткани, она сильно влияет на поведение ткани при
моделировании;
• Bendiness — способность ткани к изгибанию;
• Use Ortho Bending — включение этого параметра обеспечивает бо́льшую точность вычислений.
В свитке Volume Properties (Объемные свойства) можно включить параметр Enable
Balloon Behavior (Режим воздушного шара), и тогда ткань станет развеваться, как
на ветру.
В свитке Interaction (Взаимодействие) при включении параметра Self Collisions
(Самостолкновения) объект типа mCloth пытается устранить возможность самопересечений:
• если имеют место самопересечения ткани, то нужно увеличить значение параметра Self Thickness (Допуск на самостолкновения). Если другие тела пересекают ткань, то следует включить параметр Collide to Rigid Objects (Столкновения
с твердыми объектами) и увеличить значение параметра Thickness;
• при включении параметра Push Rigid Objects (Воздействовать на твердые объекты) объект типа mCloth может влиять на движение твердого тела, с которым он
сталкивается.
Параметры свитка Tearing (Образование разрывов) управляют разрывами объекта
типа mCloth. Места разрывов определяют на уровне вершин в свитке Group.
Выделите объект Fabric и в свитке Forces отключите параметр Use Global Gravity. Из
категории Space warps
добавьте в сцену воздействие Wind (Ветер) и разместите
его перед тканью (рис. 7.64). Вернитесь к настройкам объекта Fabric, в свитке Forces
щелкните по кнопке Add и укажите добавленную силу ветра.
Эффекты анимации. Анимация с учетом законов физики
441
В свитке Physical Fabric Properties щелкните по кнопке Load и загрузите шаблон
Cotton.
Если сейчас запустить симуляцию сцены, то ткань под действием силы ветра улетит за
пределы сцены. Необходимо закрепить группу вершин.
Рис. 7.64. Положение силы ветра в сцене
Параметры на уровне вершин
Перейдите на уровень вершин (Vertex). В модели ткани выделите вершины, примыкающие к прищепкам (лучше выделить несколько вершин), и в свитке Group нажмите
кнопку Make Group (Создать группу). Присвойте ей имя — оно появится на вкладке
в окне этого свитка. В области Constraint (Ограничение) нажмите кнопку
Modify
Pin (Приколоть) — эта команда препятствует перемещению вершин группы и оставляет их в исходном положении (см. видео \Lesson_7.8\Pin_cloth.mp4).
В свитке Group Parameters (Параметры группы) при включении в области Constraint
параметра On становятся доступными ограничения, определенные для этой группы
вершин. Поэтому в свитке Group выделите название созданной ранее группы вершин
и в свитке Group Parameters установите флажок у параметра On.
, чтобы воспроизвести
На панели MassFX Toolbar нажмите кнопку Start Simulation
физическое моделирование (рис. 7.65). Можно уменьшить силу ветра (параметр
Strength). Чтобы ткань начала сталкиваться с элементами сцены, их нужно определить
как статические твердые тела. Этому состоянию сцены соответствует файл \scenes\
lesson_7.8\Cloth_end.max.
Практическая работа
Самостоятельно создайте и анимируйте сцену, показанную в файле \renderoutput\
practice_7.8\Bathroom.mp4.
442
Глава 7
Рис. 7.65. Симуляция поведения ткани под действием силы ветра
Контрольные вопросы
1. В каких случаях целесообразно использовать модуль MassFX?
2. Какие типы твердых тел вам известны?
3. Чем отличаются динамические тела от кинематических?
4. В каких случаях следует отключать опцию Use Ground Plane?
5. Как создать анимацию при помощи модуля MassFX?
6. Как сочетать обычные методы анимации с анимацией посредством модуля MassFX?
7. С какими видами сеток работает модуль MassFX?
8. Как настроить имитацию динамики твердых тел?
9. Как настроить анимацию ткани?
10. Для чего используются объекты типа mCloth?
11. Как создать эффект скачущего шара?
12. Как получить эффект рассыпающегося массива кубиков?
13. Почему массив кубиков рассыпается?
14. Как увеличить точность вычислений?
15. Как создать ограничения на взаимное перемещение объектов?
16. Что означает "спящий" режим объекта и как он задается?
ГЛАВА
8
Персонажная анимация
Установка проекта
В данной главе будем работать с новым проектом 08_project. Вы можете создать свой
проект и копировать в него файлы и текстуры из рабочего проекта или установить проект, предоставленный с электронным архивом к книге в качестве основного. Чтобы
установить новый проект, в главном меню выполните последовательность команд File |
Project | Create Default. Далее выберите папку, где будет размещаться проект, и щелкните по кнопке Select Folder (Выбрать папку). В выбранной папке будут созданы подпапки проекта для сцен, визуализации и текстурных карт. При создании нового проекта
обязательно копируйте сцены и текстурные файлы для корректной их загрузки при
открытии.
Для установки существующей папки проекта в качестве основного в программе
3ds Max в главном меню выберите команды File | Project | Set Active Project и укажите
папку проекта.
В папке 08_images находятся цветные иллюстрации к упражнениям.
Набор инструментов Character studio
В 3ds Max существуют три вида "скелетов": Bones (Кости), Biped (Двуногий) и CAT
Objects (Объекты CAT). Bones обычно используют, когда предполагается создавать
кости вручную. Biped — это предварительно построенная система скелета, работа с ней
значительно проще. CAT Objects — предоставляет дополнительную возможность создания иерархической структуры разнообразных объектов.
Character studio (CS) представляет собой полный набор инструментов для анимации
персонажей. Для двуногих персонажей CS может автоматически создавать скелетную
иерархию (она носит название biped). Если ваш персонаж шагает на двух ногах, то CS
дает вам возможность с помощью режима Footstep animation (Пошаговая анимация)
автоматически создать анимацию, учитывающую гравитацию, равновесие и ряд других
факторов.
Чтобы анимировать персонаж вручную, используется режим Freeform animation (Свободная анимация). Он удобен для анимации персонажей, которые перемещаются более
444
Глава 8
чем на двух ногах, летают или плавают. В этом режиме можно анимировать персонажи
с помощью традиционных методов инверсной кинематики.
Каждый из указанных режимов имеет свои преимущества. Можно конвертировать
анимацию между ними, а можно комбинировать их в одной анимации.
CS содержит инструменты для связывания системы скелета biped с сеточной моделью
персонажа, и тогда скелет будет воздействовать на модель и соответствующим образом
деформировать ее.
Инструмент CS также позволяет отделить анимацию от персонажа. Благодаря этому
можно создать анимацию одного персонажа, а потом применить ее к другому, независимо от его размеров и полноты. Система скелета biped допускает ввод существенных
изменений в структуру скелета и его размеры в любой точке анимации без значительного влияния на анимацию. Существуют библиотеки анимационных файлов (они имеют расширение bip), и можно анимировать персонаж простой загрузкой BIP-файла.
CS включает большой набор инструментов и для редактирования движений персонажа.
Несколько анимаций можно объединить в один клип с помощью технологии Motion
Mixer (Миксер движений). Технология Crowd (Группа персонажей) позволяет создать
анимацию большого числа персонажей, используя систему связей и поведения.
CS состоит из трех основных компонентов:
Biped — инструменты для создания и анимации скелета;
модификатор Physique (Оснастка), который обеспечивает связь скелета с сеточной
моделью объекта. С этой же целью также можно применять модификатор Skin
(Оболочка);
Crowd — инструменты для создания и анимации группы объектов.
Упражнение № 8-1. Двуногие объекты biped
Создание biped
Доступ к компонентам biped можно получить на вкладке Create
в категории
Systems
(рис. 8.1). Скелет biped формируется в виде связанной иерархии, и после
создания он сразу пригоден для анимации.
Для создания biped откройте пункт меню Create
| Systems
и в свитке Object
Type нажмите кнопку Biped. Затем щелкните мышью в окне Front или Perspective
и протащите курсор вверх — в результате будет создан объект Bip001, представляющий
собой иерархию специальных объектов. Родительский объект объекта Bip001 — это его
центр тяжести (Center of Mass, COM). На проекциях COM отображается в виде голубого тетраэдра, расположенного в середине таза объекта Bip001. После создания двуногого
объекта остается выбранным только его центр тяжести COM (рис. 8.2).
Чтобы сразу после создания biped (не нажимая никаких кнопок и не отключая кнопку
Biped) присвоить ему уникальное имя, на командной панели в поле Root Name (Корневое имя) введите новое имя объекта — например, Bip. При этом автоматически переименуются названия всех костей biped.
Персонажная анимация
445
Рис. 8.1. Доступ к компонентам biped
Рис. 8.2. Выделен центр тяжести двуногого объекта
Если же необходимость переименования biped возникла позже, то для изменения его
имени и автоматического переименования всех его костей выберите любую часть biped,
перейдите на вкладку Motion
и включите раздел Parameters. В свитке Biped разверните группу команд Modes and Display (Режимы и отображение), в поле Name введите новое имя Bip и нажмите клавишу <Enter>.
Перемещать в сцене весь двуногий объект можно только в том случае, если выделен
его центр тяжести COM. Проще всего выбрать COM (в нашем случае — объект Bip)
Рис. 8.3. Иерархическая структура объекта Bip
446
Глава 8
в окне Scene Explorer или в окне Schematic View, которое открывается с помощью
команды Schematic View (Open)
, расположенной на главной панели инструментов.
При перемещении COM перемещается весь biped.
Геометрия biped представляет собой связанную иерархию объектов, которая имеет
сходство с фигурой человека (рис. 8.3).
Иерархия biped отличается от стандартной иерархии, принятой в 3ds Max, — в biped
нельзя удалить ни один из компонентов иерархии. Если вы попытаетесь удалить какуюнибудь часть скелета, то будет удалена вся иерархия. Поэтому для создания biped без
какой-либо части тела, например без головы, нужно просто выделить эту часть фигуры
и скрыть ее.
П РИМЕЧАНИЕ
Все дочерние объекты иерархии можно выбрать двойным щелчком на родительском
объекте.
Свиток Structure
В свитке Biped раздела Parameters вкладки Motion
включите режим Figure Mode
(Режим редактирования фигуры) . После этого станет доступным свиток Structure
(Структура). В нем задаются параметры biped — например, как показано на рис. 8.4.
В поле Body Type (Тип тела) можно выбрать тип отображаемого скелета: Skeleton
(Cкелет), Male (Мужской), Female (Женский), Classic (Классический) (рис. 8.5).
Рис. 8.4. Свиток Structure
Рис. 8.5. Типы скелетов biped (слева направо):
Skeleton, Male, Female, Classic
Персонажная анимация
447
Здесь же указываются другие параметры скелета: Neck Links — число шейных позвонков, Spine Links — число звеньев на позвоночнике, Leg Links — число суставов на
ноге, Tail Links — число звеньев в хвосте, Ponytail1 Links — число звеньев в 1-й косичке, Ponytail2 Links — число звеньев во 2-й косичке, Fingers — число пальцев на
руке, Finger Links — число фаланг на пальцах рук, Toes — число пальцев на ноге, Toe
Links — число звеньев на пальцах ног, Height — рост biped. Параметр Props (Стойки)
задает одну, две или три стойки, которые могут быть использованы, чтобы прикрепить
к biped оружие или какой-либо инструмент (рис. 8.6).
Если активизировать параметр Knuckles (Пальцы), то будет построена анатомически
корректная структура кисти с пятью пальцами, позволяющая анимировать каждый палец в отдельности (рис. 8.7).
Рис. 8.7. Структура кисти с пятью пальцами
Рис. 8.6. Создан объект Bip
Рис. 8.8. Область Twist Links
В разворачивающуюся область Twist Links (Скручивание суставов) включены все конечности: Upper Arm — плечо, Forearm — предплечье, Thigh — бедро, Calf — часть
бедра или руки, включающая трицепс (рис. 8.8). Активизация этой опции позволяет
лучше учитывать деформацию модели персонажа в тех случаях, когда возникает скручивание суставов.
С помощью группы параметров Xtras можно добавить к biped дополнительный хвост.
Его анимация возможна исключительно методами прямой кинематики.
В сцене может присутствовать любое число объектов biped, но в режиме Figure
работать можно только с одним из них. Biped не обязательно должен напомиMode
нать фигуру человека. Его элементы можно изменять так, чтобы подогнать его структуру к форме анимируемого персонажа.
448
Глава 8
После создания biped всегда возникает необходимость в изменении структуры и пропорции его скелета. Для этого выделяют любой элемент biped и на вкладке Motion
в свитке Biped активизируют команду Figure Mode. Любые изменения пропорций и
положения biped следует выполнять только в этом режиме. Например, можно применить масштабирование, чтобы сделать короче ноги или удлинить руки. При этом если
вы укорачиваете длину бедра, то средняя часть ноги и лодыжка сохраняют свои размеры, но изменяют свое положение.
П РИМЕЧАНИЕ
Для выбора различных частей иерархической структуры скелета удобно пользоваться клавишами <Page Up> и <Page Down>.
Свиток Biped
Свиток Biped (рис. 8.9) используется для включения основных режимов работы с biped:
Figure Mode (Режим редактирования фигуры) , Footstep Mode (Режим пошаговой
, Motion Flow Mode (Поточный режим)
, Mixer Mode (Миксеранимации)
, Move All Mode (Перемещение во всех режимах)
, а также для выполрежим)
нения ряда других команд.
В режиме Figure Mode
можно масштабировать biped вместе с прикрепленной
сеточной моделью после того, как был применен модификатор Physique.
В режиме Footstep Mode
можно создавать и редактировать шаги biped для
генерации его походки, бега и прыжков.
Режим Motion Flow Mode
предназначен для объединения нескольких BIP-файлов с интерполяцией по скорости или путем оптимизации переходов между ними
для минимизации скольжения ног персонажа. В этом режиме можно загружать
и сохранять анимационные файлы с расширением mix. Они могут быть загружены
в любой biped, и тогда движения, сохраненные в этом файле, будут автоматически
адаптированы к размеру biped.
Рис. 8.9. Свиток Biped
Рис. 8.10. Кадр упрощенной анимации в видовом окне
Персонажная анимация
449
Команда Biped Playback (Воспроизведение анимации biped)
позволяет воспроизвести упрощенную анимацию скелета в видовых окнах (рис. 8.10).
Команда Convert (Конвертировать)
преобразует анимацию, созданную на основе режима пошаговой анимации, в ключи свободной анимации и наоборот.
Она работает только при отключении Figure Mode
жить создание анимации в другом режиме.
. После этого можно продол-
Режим Move All Mode
позволяет перемещать и вращать biped, оставляя нетронутой его анимацию.
В области Display подсвитка Modes and Display присутствуют команды для различных
способов отображения biped. Например, команда Trajectories (Траектории)
отображает траектории выбранных объектов biped, а команда Show Footsteps and Number
показывает следы biped и их номера (рис. 8.11).
Рис. 8.11. Отображение траекторий выбранных костей
Форматы файлов
Команда Load File (Загрузить файл)
файлы, FIG-файлы и STP-файлы:
в свитке Biped позволяет загружать BIP-
файл формата BIP — это файл движений biped. В нем сохраняется вся информация
об анимации biped: шаги, ключевые кадры, включая вращение конечностей, масштабирование biped, значение гравитации (параметр GravAccel). Кроме того, в этом
файле также можно сохранить информацию о других объектах сцены;
FIG-файлы содержат всю информацию о структуре biped, включая положение всех
связей персонажа и других геометрических элементов. Однако они не содержат ни-
450
Глава 8
какой информации об анимации biped, но позволяют применять структуру одного
biped к другому. Чтобы загрузить такой файл, должен быть активным режим Figure
Mode ;
STP-файл загружает шаги без ключевых кадров для тела персонажа. Используя этот
формат, разработчики могут писать программы, которые генерируют STP-файлы
для движений biped. Затем biped будет генерировать ключевые кадры тела персонажа для загруженных шагов.
позволяет сохранять BIP-файлы, FIG-файлы
Команда Save File (Сохранить файл)
и STP-файлы. Чтобы сохранить информацию в виде FIG-файла, на вкладке Motion
нужно включить режим Figure Mode
и в свитке Biped щелкнуть на кнопке Save
File. Этим удобно периодически пользоваться при создании положений biped.
Свиток Track Selection
Свиток Track Selection (Выбор трека) содержит специальные инструменты для манипуляции центром тяжести biped (COM-объектом) (рис. 8.12), а также для выбора симметричных и противоположных костей biped.
COM-объект можно выбрать несколькими способами: можно нажать в свитке Biped
, можно открыть диалоговое окно Select
кнопку Move All Mode (Переместить все)
и выбрать там имя biped, а можно в свитке
From Scene или окно Schematic View
Track Selection нажать одну из кнопок: Body Horizontal (Горизонтальное перемещение
тела)
, Body Vertical (Вертикальное перемещение тела)
или Body Rotation
.
(Вращение тела)
После выбора COM его можно перемещать и вращать. При включении команды Lock
COM Keying (Блокировка треков COM)
оказывается возможным активизировать
одновременно все три трека COM: горизонтального и вертикального перемещения и
вращения.
Ключи анимации на треках COM-объекта окрашиваются следующим образом:
горизонтального перемещения — красным цветом;
вертикального перемещения — желтым;
вращения — зеленым.
Если какой-то кадр содержит несколько треков, то в нем будет несколько цветов
(рис. 8.13).
Команда Symmetrical
выбирает симметричную кость на другой стороне biped. Например, если выделена левая рука, то эта команда выберет также правую руку, и тогда
можно будет масштабировать, перемещать и вращать одновременно кости с обеих сторон biped.
Рис. 8.12. Свиток Track Selection
Рис. 8.13. Окраска треков анимации
Персонажная анимация
451
Команда Opposite
выбирает симметричную кость на другой стороне biped и отменяет выделение текущей кости.
Свиток Bend Links: вращение нескольких связей
Одновременное вращение нескольких связей удобно во многих случаях — например,
когда вы хотите взять рукой какой-либо предмет и нужно, чтобы вместе с вращением
руки пальцы этот предмет обхватывали. Создайте biped и выделите любую его руку
(например, объект Bip001 R Hand) и все ее дочерние объекты — пальцы. Для этого достаточно выполнить двойной щелчок по родительскому объекту — в нашем случае по
объекту Bip001 R Hand. Поверните руку вокруг ее локальной оси Z — одновременно
с рукой станут сгибаться и ее пальцы (рис. 8.14).
Рис. 8.14. Одновременное вращение руки и пальцев
Рис. 8.15. Cгибание позвоночника и хвоста
Аналогично можно заставить естественным образом сгибаться позвоночник, если предварительно выбрать все его позвонки. То же относится и к хвосту. Для одновременного
выбора всех его суставов следует дважды щелкнуть на первом, родительском, суставе и
повернуть хвост относительно оси Z его локальной системы координат (рис. 8.15).
Существует еще один способ для плавного вращения нескольких связей. Он включаетв свитке Bend Links (рис. 8.16). При его использовании необся на вкладке Motion
ходимо включить режим Bend Link Mode (Режим изгибания суставов) и выделить
одну любую связь на позвоночнике, шее или хвосте. В этом свитке можно также польдля настройки плавного скручивания нескользоваться режимом Twist Link Mode
ких связей вокруг локальной оси Х.
Рис. 8.16. Свиток для настройки режимов сгибания и скручивания суставов
452
Глава 8
Команда Zero Twist (Сбросить скручивание)
сустава относительно локальной оси Х.
сбрасывает в нуль вращение каждого
Команда Zero All (Сбросить все) сбрасывает в нуль вращение каждого сустава относительно всех осей, и текущая форма цепи позвонков возвращается в исходное положение.
Связывание других объектов с biped
Связывание различных объектов с biped позволяет, например, связать оружие с рукой,
глаза или зубы с головой biped, связать источники частиц с кистями или ступнями biped
для создания дыма или пыли.
Создайте biped с несколькими пальцами и тремя фалангами и согните его руку в локте,
согните пальцы для обхвата. Для создания палки воспользуйтесь цилиндром и помеси
тите его в центре кисти. Выделите палку, включите команду Select and Link
свяжите палку с кистью правой руки. Теперь измените ее положение — вместе с кистью будет перемещаться и палка (рис. 8.17). Такому состоянию объекта соответствует
файл \scenes\lesson_8.1\BipLink.max из папки этого упражнения.
Э ЛЕКТРОННЫЙ
АРХИВ
Файлы, упомянутые в этой главе, находятся в соответствующих папках: сцены вложены
в папку \scenes\, текстурные карты — в папку \sceneassets\images, анимационные файлы —
в папку \sceneaseets\animation\.
а
б
Рис. 8.17. Применение команды Select and Link:
a — начальное положение; б — после перемещения кисти
Свиток Copy/Paste
С помощью свитка Copy/Paste можно копировать и вставлять три категории информации:
Posture — позиционирование выбранных подобъектов biped;
Pose — позиционирование всего biped;
Track — анимацию выбранных подобъектов biped.
Персонажная анимация
453
П РИМЕЧАНИЕ
Свиток Copy/Paste недоступен в режимах Mixer Mode, Motion Flow Mode и Footstep Mode.
Скопированная информация сохраняется в текущей коллекции. Прежде чем скопировать информацию, с помощью команды Create Collection (Создать коллекцию)
необходимо создать для нее коллекцию. Ее имя указывают в поле Copy Collections
(Копии коллекций).
Имена каждой категории информации доступны в соответствующем раскрывающемся
списке: Copied Postures (Копированные положения выбранных объектов), Copied
Poses (Копированные положения biped) или Copied Tracks (Копированные треки анимации biped) — в зависимости от того, какая информация копируется (Posture, Pose
или Track).
В каждом режиме имеются два варианта вставки:
в режиме Posture варианты вставки называются Paste Posture (Вставить положение)
и Paste Posture Opposite (Вставить положение напротив)
. Последняя команда полезна, чтобы одной части biped присвоить положение противоположной части;
в режиме Pose варианты вставки называются Paste Pose
и Paste Pose Opposite
. Последняя команда меняет позу всего biped на противоположную или применяет противоположную позу к другим biped;
в режиме Track команда Paste Track
служит для копирования анимации одного
biped на другой. Команда Paste Track Opposite
может заставить части biped перемещаться симметрично или же применить симметричное движение к другим
biped.
Откройте файл \scenes\lesson_8.1\Gorilla.max и выделите левую ногу скелета — для этого
нужно выполнить двойной щелчок на кости Bip001 L Thigh. В свитке Copy/Paste c помощью команды Create Collection
создайте коллекцию Left и укажите ее имя в по-
Рис. 8.18. Симметричное копирование положения и размеров звеньев скелета
454
Глава 8
ле Copy Collections. С помощью команд перемещения, вращения и масштабирования
измените положение и размеры левой ноги. После этого активизируйте команду
Posture и нажмите сначала кнопку Copy Posture (Копировать позу)
— чтобы скопировать положение и размеры этих звеньев, а затем кнопку Paste Posture Opposite
— чтобы установить те же размеры и положение для противоположных звеньев
(рис. 8.18).
Упражнение № 8-2. Копирование анимации
Копирование кадров анимации
Откройте из папки проекта файл \scenes\lesson_8.2\Gorilla.max. Выделите любую кость
объекта, перейдите в раздел Parameters вкладки Motion
и убедитесь, что в свитке
Biped отключен режим Figure Mode . Там же нажмите кнопку Load File
и загрузите BIP-файл \sceneassets\animation\AboutFace.bip — вы получите готовую анимацию,
(см. файл \scenes\
которую можно проиграть, нажав кнопку Play Animation
lesson_8.2\GorillaAbout.max).
Наша задача заключается в том, чтобы скопировать кадры анимации отдельных частей
этого объекта, а затем применить их к другому объекту.
В свитке Copy/Paste нажмите кнопку Create Collection
и в поле Copy Collections
введите имя коллекции — Upper. Выберите все кости biped, начиная с позвоночника,
и расположенные выше (шею, голову, руки).
С ОВЕТ
Для ускорения выбора этих костей сначала следует выполнить двойной щелчок на кости
Bip001 Spine 1, а затем добавить к выбранным костям самую нижнюю кость позвоночника
Bip001 Spine.
В свитке Copy/Paste включите режим Posture и нажмите кнопку Copy Posture
.
В поле Copied Postures (Копированные позы) введите имя этой позы — FrameU0. Перейдите к 10-му кадру анимации и снова нажмите кнопку Copy Posture. Новой позе присвойте имя FrameU10. Повторите команду Copy Posture для каждых последовательных
10 кадров анимации (рис. 8.19). Таким образом, анимация верхней части персонажа
скопирована.
Скопируем анимацию нижней части нашего персонажа. Снова нажмите кнопку Create
и в поле Copy Collection введите имя новой коллекции — Lower. ПеCollection
рейдите к нулевому кадру. Выберите все кости biped от таза и ниже, применив
команду Edit | Select Invert. При этом окажется выделенным и COM-объект персонажа.
Поэтому в свитке Track Selection сначала нажмите кнопку Lock COM Keying (Блокировка треков COM-объекта) , а затем слева три кнопки горизонтального, вертикального и вращательного перемещения COM-объекта. Затем аналогично копированию
верхней части персонажа скопируйте положение всех выделенных объектов через каждые 10 кадров cуществующей анимации.
Теперь созданные коллекции движений следует сохранить. Для этого в свитке Copy/
Paste из выпадающего списка Copy Collections выберите коллекцию Upper и с помощью
имеющейся там же команды Save Collection (Сохранить коллекцию)
сохраните ее
Персонажная анимация
455
Рис. 8.19. Копирование положения верхней части biped в 10-м кадре
с тем же именем. Аналогично поступите с коллекцией Lower. В результате анимация
верхней и нижней частей персонажа будет скопирована и сохранена в отдельных файлах. Сохраните вашу сцену (см. файл \scenes\lesson_8.2\GorillaSave.max). Включите режим Figure Mode, раскройте свиток Structure и запомните высоту Height персонажа.
Откройте новую сцену (File | New | New All). В окне Time Configuration
задайте
длину анимации Length равной 139 кадрам. Создайте новый biped и в свитке Structure
установите его высоту Height равной высоте персонажа в файле \scenes\lesson_8.2\
GorillaSave.max.
Применим сохраненные коллекции к новому персонажу. Для этого выделите любую
его часть, перейдите на вкладку Motion
и с помощью команды Load Collections
(Загрузить коллекцию)
из свитка Copy/Paste загрузите коллекцию \sceneassets\
animatios\Upper.cpy.
Выберите верхнюю часть biped и с помощью команды Paste Posture
через каждые
10 кадров вставьте соответствующие положения этих костей из списка Copied
Postures. Для каждого вставленного положения нажимайте кнопку Set Key
из свитка Key Info. Просмотрите созданную анимацию.
Загрузите коллекцию \sceneassets\animatios \Lower.cpy и выполните команду Edit | Select
Invert, чтобы выделить нижнюю часть персонажа. Поскольку оказывается выделенным
COM-объект персонажа, то в свитке Track Selection оставьте выделенными все треки
анимации, а в свитке Copy/Paste нажмите кнопку Track и в области Paste Options
включите все опции вставки кадров анимации
. Затем аналогично действиям
с верхней частью персонажа вставьте соответствующие ключевые кадры для положения костей нижней его части (см. файл \scenes\lesson_8.2\BipedStay.max). Проиграйте
созданную анимацию — она станет выполнять движения, которые были загружены для
нее из других файлов.
456
Глава 8
Копирование треков анимации
Скопируем треки анимации частей персонажа и присвоим их персонажу из другого
файла. В новой сцене создайте biped высотой 170 см, перейдите на вкладку Motion
и в свитке Biped загрузите файл \sceneassets\animations\AxeKick.bip (см. файл \scenes
\lesson_8.2\AxeKick.max). Начиная с позвоночника, выделите верхнюю часть biped. Нажмите кнопку Create Collection
, чтобы создать новую коллекцию TrackU. В свитке
Copy/Paste включите режим Track, который позволяет копировать треки анимации.
— в результате будет создан трек-буфер, в коЗатем нажмите кнопку Copy Track
тором будут сохранены треки перемещения выделенных объектов. В том же свитке нажмите кнопку Save Collection
и сохраните информацию об этих треках анимации
в файле \sceneassets\animatios\TrackU.cpy.
В новой сцене снова создайте biped высотой 170 см и загрузите в нее файл
\sceneassets\animations\BackKick.bip. Выделите нижнюю часть biped, включая таз и COMобъект. Поскольку выделен COM-объект, то в свитке Track Selection следует включить
кнопки горизонтального, вертикального и вращательного перемещения персонажа.
Аналогичным образом создайте новую коллекцию с именем TrackL, скопируйте треки
выделенных объектов и сохраните созданную коллекцию в файл \sceneassets\animatios
\TrackL.cpy.
В третьей сцене снова создайте biped высотой 170 см. Выделите верхнюю часть biped.
Перейдите на вкладку Motion
и в свитке Copy/Paste нажмите кнопку Load
Collections
, чтобы загрузить коллекцию \sceneassets\animatios\TrackU.cpy. Затем там
.
же нажмите кнопку Paste Track (Вставить трек)
Теперь выделите нижнюю часть персонажа и загрузите в сцену ранее сохраненную
коллекцию \sceneassets\animatios\TrackL.cpy. Поскольку нижняя часть biped содержит
его COM-объект, то в свитке Copy/Paste в области Paste Options включите все кнопки
. Нажмите кнопку Paste Track — в результате верхвставки треков анимации
няя часть персонажа будет выполнять движения, сохраненные в коллекции \sceneasset
s\animations\TrackU.cpy, а его нижняя часть — движения, сохраненные в коллекции
\sceneassets\animations\TrackL.cpy (см. файл \scenes\lesson_8.2\AxeBack.max).
Копирование анимации внутри сцены
Снова откройте файл \scenes\lesson_8.2\Gorilla.max. Создайте произвольную анимацию
правой ноги гориллы, перемещая ее за любой палец на ноге. При создании анимации
для фиксации положения костей персонажа в определенных кадрах (начиная с нулево, расположенную в свитке Key Info.
го) нажимайте кнопку Set Key
Присвоим эту анимацию ее левой ноге. Для этого в свитке Biped отключите режим
и в свитке Copy/Paste включите режим Track.
Figure Mode
В сцене с гориллой выполните следующие действия:
и в поле Copy Collection введите имя новой
1. Нажмите кнопку Create Collection
коллекции — CollR.
2. Выберите все кости правой ноги гориллы, треки которых предполагается копировать.
Персонажная анимация
3. Нажмите кнопку Copy Track
457
— в результате будет создан новый трек-буфер.
4. Нажмите кнопку Paste Track Opposite
к левой ноге гориллы.
— выбранная анимация будет применена
Теперь созданную анимацию обеих ног гориллы присвоим новому скелету. Для этого
в той же сцене создайте еще один biped и выполните следующие действия:
1. Выберите любую кость гориллы, перейдите на вкладку Motion
отключен режим Figure Mode .
и убедитесь, что
2. В свитке Copy/Paste нажмите кнопку Create Collection
Collections введите имя новой коллекции — CollLR.
и в поле Copy
3. В свитке Copy/Paste нажмите кнопку Track, чтобы воспользоваться режимом копирования имеющихся треков анимации. Затем выберите все кости обеих ног гориллы,
треки которых предполагается копировать (чтобы упростить выделение, выберите
в свитке Track Selection).
кости одной ноги и нажмите кнопку Symmetrical
4. Нажмите кнопку Copy Track
— в результате будет создан новый трек-буфер
с информацией об анимации ног гориллы.
5. Выберите любую кость нового biped.
или Paste Track Opposite
, чтобы применить
6. Нажмите кнопку Paste Track
сохраненную перед этим анимацию, — выбранная анимация будет применена к новому скелету (см. файл \scenes\lesson_8.2\GorillaNew.max).
Ключи анимации
Цветовая палитра ключей и траекторий biped
Система скелета biped использует цветовые отображения ключей анимации в окнах
Track View - Curve Editor и Track View - Dope Sheet, на треке анимации и при отображении траекторий в видовых окнах. Цветовое отображение помогает различать, задействована ли инверсная или прямая кинематика, а также показывать переходы между
ними.
Ключи инверсной кинематики, отображаемые в окне Track View - Dope Sheet и на треке анимации, используют следующую цветовую схему (рис. 8.20):
оранжевый цвет — для Planted Key
желтый цвет — для Sliding Key
;
;
голубой цвет — для ключей инверсной кинематики с ненулевым значением пара-
метра IK Blend;
все остальные ключи по умолчанию имеют серый цвет.
Чтобы увидеть траектории и ключи опорных точек отдельных элементов biped, нужно
перейти на вкладку Motion
, в свитке Biped развернуть подсвиток Modes and
Display и нажать кнопку Trajectories
. Это же можно сделать и в свитке Key Info.
458
Глава 8
Рис. 8.20. Пример цветовой визуализации ключей в окне Track View - Dope Sheet
и на треке анимации
Свиток Key Info
Инструменты свитка Key Info предназначены для навигации и редактирования ключей
анимации biped (рис. 8.21). Свиток этот состоит из нескольких подсвитков: TCB, IK,
Head, Body и Prop. Любой из них можно развернуть, щелкнув на линии рядом с его
наименованием. Подсвитки свитка Key Info доступны в зависимости от того, какая
часть biped выделена и находится ли она в кадре, для которого существует ключ анимации.
Команды Previous key (Предыдущий ключ)
и Next key (Следующий ключ)
позволяют переходить к предыдущему или последующему ключу анимации выделенного объекта biped.
Откройте из папки проекта для этой главы файл \scenes\lesson_8.2\Head.max. В окне
программы выделите часть левой ноги (например, кость Bip01 R Calf) и пощелкайте
стрелками этих команд, чтобы заставить biped перемещаться вдоль созданных для
выбранной кости ключей анимации. Теперь выделите голову biped. Кадры, в которых были созданы ключи анимации головы, — другие, и поэтому biped будет останавливаться только в этих кадрах.
Рис. 8.21. Свиток Key Info
Персонажная анимация
459
Команда Set Key (Установить ключ анимации)
создает ключи анимации в текущем кадре, когда вы передвигаете объекты biped. Она аналогична команде Set Keys
, расположенной на нижней панели инструментов.
(Установить ключи анимации)
В Character Studio ключи анимации создаются не совсем так, как это делается
в обычной анимации. При формировании первого набора ключей, ключи в нулевом
кадре автоматически не строятся. Поэтому при создании анимации biped в нулевом
кадре следует выбрать все его части, а затем в свитке Key Info (Информация о клю, чтобы создать для них в этом кадре ключи аничах) нажать кнопку Set Key
мации.
Команда Delete Key (Удалить ключ анимации)
удаляет ключ анимации выбранного объекта в текущем кадре. По умолчанию ключи верхней части руки, кисти и
пальцев хранятся на треке ключицы (clavicle). Поэтому если вы удалите ключи для
любого из этих объектов, то потеряете положение всех остальных частей руки
в этом ключевом кадре, включая ключицу. Чтобы этого не произошло, следует открыть свиток Keyframing Tools и в разделе Separate FK Tracks (Разделить треки)
установить флажок для Arms (Руки). Тогда ключи будут создаваться и удаляться
только для тех частей руки, для которых они были установлены.
Команда Set Planted Key (Установить ключ привязки к заданному положению)
обеспечивает неизменное положение костей biped при перемещении других костей.
Чаще всего она служит для фиксации положения ног персонажа.
Команда Set Sliding Key (Установить ключ плавного перемещения)
позволяет
создавать плавные шаги. В режимах пошаговой и свободной анимации, если ступня
не привязана и плавно перемещается, то следует пользоваться этой командой.
Когда ноги biped находятся в состоянии движения, то следует активизировать коман-
ду Set Free Key (Открепить положение объектов)
Команда Trajectories
.
показывает или скрывает траектории выбранных объек-
тов.
Свиток Key Info, подсвиток IK:
выбор опорной точки кисти и ступни
Команда Select Pivot (Выбрать опорную точку) в подсвитке IK (рис. 8.22) служит для
назначения опорной точки, вокруг которой будут вращаться кисти рук и ступни biped.
Предварительно им должны быть назначены ключи анимации Set Planted Key или Set
Sliding Key.
Для назначения опорной точки удобно пользоваться диалоговым окном Pivot Selection
. Если
Dialog (Окно назначения опорной точки), открываемым щелчком на кнопке
выделить правую ступню, то в нем появятся точки зеленого цвета. На рис. 8.23 в качестве опорной выделена точка, обозначенная красным цветом. Расположение точек на
этом рисунке представляет собой условное изображение ступни, и каждая точка на ней
может быть выбрана в качестве опорной. Три верхних столбца маленьких точек соответствуют трем пальцам, каждый из них имеет по три фаланги. Средняя точка между
двумя нижними рядами соответствует опорной точке, расположенной между ступней и
460
Глава 8
Рис. 8.22. Назначение опорной точки
кисти или руки
Рис. 8.23. Опорные точки правой ступни
Рис. 8.24. Опорная точка между ступней и коленом
коленом (кость R Calf), — на рис. 8.24 она выделена красным цветом. Выделите другие
опорные точки и посмотрите в видовом окне их положение на ступне.
Внешний вид диаграммы, а также число опорных точек зависят от формы кисти или
ступни. При открытии диаграммы опорных точек отображается текущая опорная точка
для выбранной конечности. Если диаграмма имеет зеленый или синий цвет, то это
означает, что вы находитесь на ключевом кадре. Чтобы назначить другую опорную
точку, следует щелкнуть на ней. Зеленый цвет диаграммы соответствует правым кисти
и ступне, а синий — левым.
В зависимости от контекста, диаграмма может отображаться в трех видах (рис. 8.25):
зеленая или синяя с красной точкой для обозначения опорной точки правой или левой кисти или ступни. В этом случае ползунок таймера анимации находится напро-
а
б
в
Рис. 8.25. Виды диаграммы: а — правая ступня на ключе инверсной кинематики;
б — в промежутке между ключами инверсной кинематики; в — отсутствие инверсной кинематики
Персонажная анимация
461
тив ключевого кадра, в котором установлен ключ анимации Set Planted Key
или
, и действуют правила инверсной кинематики. В этом кадре
Set Sliding Key
можно установить другую опорную точку (рис. 8.25, а);
серая с белой точкой, когда ползунок таймера анимации находится в промежутке
между ключевыми кадрами с указанными ранее ключами, где действуют правила
инверсной кинематики. Новую опорную точку установить нельзя (рис. 8.25, б);
изображения точек отсутствуют, если таймер анимации находится в промежутке
между ключевыми кадрами прямой кинематики или же никакая конечность не выбрана (рис. 8.25, в).
После щелчка на опорной точке команду Select Pivot выключают, а затем поворачивают кисть или ступню.
С ОВЕТ
При возникновении проблемы со ступней или кистью, отскакивающими назад к предыдущему ключевому кадру, следует убедиться, что отключен параметр Join To Prev IK Key.
Свиток Key Info, подсвиток Head
В подсвитке Head свитка Key Info можно указать объект, в сторону которого будет
направлена голова персонажа. Предварительно в соответствующем кадре для головы
должен быть установлен ключ анимации. Целевой объект назначается по команде
Select Look at Target (Указать направление взгляда) (рис. 8.26), после чего указывается
целевой объект.
Параметр Target Blend (Смещение взгляда) определяет, в какой степени голова будет
повернута в сторону цели:
при значении Target Blend = 1 голова полностью поворачивается в сторону цели;
при значениях, меньших 1, голова будет частично повернута в сторону цели, а частично направлена в сторону созданной вами анимации;
значение, равное нулю, игнорирует указание цели. Цель можно анимировать,
и тогда голова персонажа будет следить за движением цели.
Рис. 8.26. Устанавливается направление взгляда
Упражнение № 8-3. Баланс-фактор и гравитация
Баланс-фактор
Для того чтобы движение персонажа выглядело более натурально, необходимо учитывать положение его центра тяжести. Для этого используется параметр Balance Factor
462
Глава 8
(Баланс-фактор) — он принимает значения в пределах от 0 до 2. Чтобы его увидеть,
в свитке Key Info раскройте подсвиток Body (рис. 8.27).
должен быть отключен режим
Для установки баланс-фактора на вкладке Motion
. Balance Factor работает также только при включении в свитке
Footstep Mode
. Если в том или ином кадре не сущестTrack Selection команды Body Horizontal
вует ключа горизонтального перемещения тела, то его нужно создать, нажав кнопку Set
в свитке Key Info, — лишь после этого будет активизировано поле для устаKey
новки баланс-фактора.
Рис. 8.27. Параметр настройки баланс-фактора
Рассмотрим влияние баланс-фактора на положение biped на примере. В окне
Perspective создайте biped. В свитке Track Selection в нулевом кадре активизируйте
команду Body Horizontal и в свитке Key Info нажмите кнопку Set Key, чтобы создать
ключевой кадр. Включите команду Body Vertical и снова нажмите кнопку Set Key.
Выделите нижний позвонок (объект Bip001 Spine) и для него также создайте ключевой
кадр. Выделите обе ступни (объекты Bip001 R Foot и Bip001 L Foot) и в свитке Key Info
нажмите кнопку Set Planted Key
. Активизируйте команду Body Horizontal
,а
затем установите значение баланс-фактора равным 2.
Перейдите к кадру 20. Активизируйте команду Body Horizontal и установите ключевой
кадр. Сохраните значение баланс-фактора равным 2. В свитке Bend Links активизируйте режим Bend Links Mode . В свитке Track Selection включите команду Body
.
Vertical , слегка согните biped вдоль оси Z в коленях и нажмите кнопку Set Key
Выделите нижний позвонок, поверните его по часовой стрелке, чтобы наклонить туловище biped вперед, и снова нажмите кнопку Set Key — центр тяжести сместится,
и biped примет соответствующее положение (рис. 8.28). Такому состоянию объекта
соответствует файл \scenes\lesson_8.3\BalanceFactor1.max из папки проекта. Другие варианты положения центра тяжести объекта приведены в файлах \scenes\lesson_8.3\
BalanceFactor0.max и \scenes\lesson_8.3\BalanceFactor2.max из той же папки.
Чтобы баланс-фактор воздействовал на анимацию, его значения следует устанавливать
после создания ключей анимации в тех кадрах, в которых задается значение балансфактора, но до того, как будет анимирован biped. Дважды создайте анимацию, устанавливая значения баланс-фактора равными 0 и 1. Получите иные положения объекта при
его анимации. Значение баланс-фактора, равное 1, соответствует нейтральному положению центра масс biped.
Практическая работа
Откройте файл \scenes\practice_8.3\Scrambler2.max и самостоятельно создайте анимацию,
аналогичную приведенной в файле \scenes\practice_8.3\Juggle with Props.max. Создайте
также анимацию, похожую на приведенную в файле \renderoutput\practice_8.3\steps2.mpg.
Персонажная анимация
463
а
б
в
Рис. 8.28. Положение тела biped при различных значениях баланс-фактора: а — 0; б — 1; в — 2
Гравитация
Величиной гравитации управляют параметры GravAccel (Величина гравитации) свитка
Dynamics & Adaptation и Dynamics Blend (Влияние гравитации) подсвитка Body
свитка Key Info. Откройте файл \scenes\lesson_8.3\Dynamics.max — в этой сцене biped
делает несколько прыжков. Выделите COM-объект biped (Объект Bip001) и перейдите
на вкладку Motion
. В свитке Key Info нажмите кнопку Trajectories
, чтобы
отобразить траекторию движения COM-объекта (рис. 8.29, а), и воспроизведите анимацию.
Раскройте свиток Dynamics & Adaptation, увеличьте втрое значение параметра
GravAccel и снова воспроизведите анимацию — на графике траектории амплитуда станет намного больше, и соответственно изменится высота прыжков biped (рис. 8.29, б).
а
б
Рис. 8.29. Влияние параметра GravAccel: а — 1000; б — 3000
464
Глава 8
Параметр Dynamics Blend влияет на движение biped, когда он отрывается от земли,
например если он бежит или прыгает. Параметр активен только при включении команды Body Vertical . Если в этом кадре не существует ключа вертикального перемещения тела, то его нужно создать, нажав кнопку Set Key
. При значении параметра,
равном 1, учитывается ускорение свободного падения объекта. При значении, равном
нулю, эффект гравитации не учитывается.
В свитке Track Selection нажмите кнопку Body Vertical — поле для ввода значения
параметра Dynamics Blend станет активным. В тех кадрах, где biped приземляется,
ключи вертикального перемещения тела уже существуют. В кадрах 40 и 45 установите
значение параметра Dynamics Blend = 0.2. В кадрах 60 и 65 установите его значение
равным 0.5. Обратите внимание на изменение траектории COM-объекта (рис. 8.30).
Этому состоянию сцены соответствует файл \scenes\lesson3\Dynamics1.max.
Рис. 8.30. Изменение траектории COM-объекта
Параметр Ballistic Tension определяет степень упругости при приземлении biped в начале и в конце прыжка. Он влияет на движения biped, когда устанавливается для шагов,
непосредственно предшествующих или следующих за периодом, в течение которых
biped находится в воздухе. Доступ к этому параметру возможен только при активизации команды Body Vertical .
Упражнение № 8-4. Встраивание системы костей
Создание biped
Для того чтобы анимировать персонаж, сначала его нужно создать, а затем встроить
в него систему костей. Процесс встраивания системы костей внутрь сеточной модели
персонажа называется риггингом (Rigging). Далее встроенные кости необходимо связать с сеточной моделью персонажа. Этот этап работы над моделью называется скиннингом (Skinning). Анимации подвергаются кости персонажа, а благодаря связи с моделью они соответствующим образом деформируют модель персонажа.
Персонажная анимация
465
При создании модели персонажа для использования с biped модель следует размещать
в стандартной позе, в которой ее проще настраивать и текстурировать: ноги врозь, руки
в стороны, кисти на уровне рук ладонями вниз, пальцы прямо и слегка в стороны.
В таких случаях говорят, что объект должен находиться в T-образном положении.
Откройте из папки этого проекта модель панды (см. файл \scenes\lesson_8.4\
PandaRigStart.max) и временно отключите модификатор TurboSmooth (Сглаживание
высокого качества).
П РИМЕЧАНИЕ
На эту модель уже наложены текстуры из файла \sceneassets\images\Template.jpg.
Выберите модель, щелкните на ней правой кнопкой мыши и выберите опцию Object
Properties (Свойства объекта). В открывшемся окне поставьте флажок около пункта
See-Through (Видеть сквозь), что позволит легче рассматривать двуногий объект
сквозь модель панды. Для быстрого включения этой функции можно воспользоваться
сочетанием клавиш <Alt> + <X>. Там же поставьте флажок напротив опции Freeze
(Заморозить) — это полезно сделать, чтобы случайно в процессе работы не выбрать
модель.
|
Теперь создадим двуногий объект biped. Для этого откройте пункт меню Create
Systems
и нажмите кнопку Biped. Затем щелкните мышью в окне Front и протащите курсор вверх так, чтобы в результате был создан объект Bip001 примерно такого же
размера, что и исходная модель. Не отключая режим построения biped, в свитке Root
Name (Корневое имя) введите новое имя объекта: BipPanda. После создания двуногого
объекта остается выбранным только его центр тяжести COM.
Сейчас этот объект следует модифицировать так, чтобы он соответствовал требованиям
, выделите люисходной сеточной модели. Для этого перейдите на вкладку Motion
бой элемент объекта BipPanda, активизируйте раздел Parameters и в свитке Biped нажмите кнопку Figure Mode
(любые изменения в положении двуногого объекта нужно выполнять только в этом режиме) — появится новый свиток Structure (Структура),
в нем задайте параметры объекта, например, как показано на рис. 8.4. Число пальцев на
руках (Fingers) и ногах (Toes) задано минимальным, поскольку панда в рукавицах и
в обуви.
Размещение COM-объекта
Теперь объект BipPanda нужно поместить внутрь модели панды. Перемещать весь двуногий объект можно только в том случае, если выделен его центр тяжести COM. Для
этого в окне Scene Explorer выделите строку BipPanda. С помощью команды Select
разместите COM объекта BipPanda между бедрами модели панды. Проand Move
верьте положение COM по двум проекциям.
Перемещать объект желательно насколько возможно точнее. При манипуляциях постарайтесь совместить центр COM с центральной линией сеточной модели. На рис. 8.31, а
COM изображен в виде белого квадратика, а стрелка показывает на центральную линию сеточной модели. Как можно видеть, COM следует сместить вправо до совмещения с центральной линией сеточной модели. Проверьте положение COM на другой
466
Глава 8
а
б
Рис. 8.31. Положение COM-объекта: а — неправильное; б — правильное
проекции, и там также постарайтесь совместить COM с центральной вертикальной линией сеточной модели (рис. 8.31, б).
Масштабирование костей таза и ног biped
относительно модели персонажа
Кости ног нужно расположить так, чтобы их положение было согласовано с положением ног персонажа. Для этого на главной панели инструментов установите локальную
систему координат (Local) и убедитесь, что включен режим Figure Mode . На виде
Front масштабируйте таз (BipPanda Pelvis) по горизонтали, чтобы кости ног панды расположились по центру ног модели. Выделите верхние кости обеих ног (BipPanda R Thigh
и BipPanda L Thigh) и масштабируйте их по вертикали, чтобы у них коленные суставы
совпали с расположением коленных суставов панды. Теперь выберите средние части
обеих ног BipPanda R Calf и BipPanda L Calf и масштабируйте их по вертикали так, чтобы
у них суставы лодыжек совпали с суставами лодыжек панды.
Выделите обе ступни и масштабируйте их так, чтобы они оказались на уровне ступней
панды. Затем выделите кости обеих ног и масштабируйте их по горизонтали, чтобы они
заняли примерно 2/3 размера модели (рис. 8.32). Проверьте положение костей ног по
двум проекциям.
До сих пор мы размещали кости обеих ног одновременно. Но можно сначала разместить кости одной ноги или руки, а затем копировать и вставить их с другой стороны.
На виде Left выберите верхнюю кость правой ноги (BipPanda R Thigh) и поверните ее
немного назад, чтобы все кости ноги заняли среднее положение относительно ноги
панды (рис. 8.33).
раскройте
Оставьте верхнюю кость правой ноги выделенной. На вкладке Motion
. Затем последовательно насвиток Copy/Paste и нажмите кнопку Create Collection
и Paste Posture Opposite
— левая и правая ноги
жмите кнопки Copy Posture
примут одинаковое положение. При этом ступни обеих ног по-прежнему останутся параллельны ступням панды.
На виде Left выделите кости одной ноги и масштабируйте их по горизонтали так, чтобы они полнее (не менее чем на 2/3) заполнили ногу сеточной модели панды. Вставь-
Персонажная анимация
467
Рис. 8.32. Расположение костей ног
Рис. 8.33. Правая нога biped
заняла среднее положение на ноге панды
Рис. 8.34. Таз и ноги biped на виде слева
те полученный результат во вторую ногу. Выделите таз и также масштабируйте его
в горизонтальном направлении (рис. 8.34). Этому состоянию объекта соответствует
файл \scenes\lesson_8.4\PandaRig1.max.
Расположение костей рук и позвоночника biped
На виде Front выберите объект BipPanda L UpperArm (Верхняя часть руки) и поверните
левую руку так, чтобы она стала параллельна левой лапе модели. В свитке Copy/Paste
командой Copy Posture
скопируйте ее положение, а с помощью команды Paste
установите симметричное положение для правой руки (рис. 8.35).
Posture Opposite
468
Глава 8
Рис. 8.35. Кости рук biped параллельны лапам модели
Выделите все позвонки (BipPanda Spine, BipPanda Spine1 и BipPanda Spine2), убедитесь, что
на главной панели инструментов включена локальная система координат Local, и на
виде Front масштабируйте позвонки по вертикали так, чтобы кости рук поднялись
на уровень лап панды. На видах Front и Left масштабируйте кости позвоночника по
ширине, чтобы размер каждого позвонка стал равным примерно 2/3 соответствующего
размера сетки модели (рис. 8.36).
Рис. 8.36. Масштабирование позвонков по ширине
Масштабирование рук начните с левой ключицы (BipPanda L Clavicle). На виде Front
масштабируйте ее вдоль оси Х так, чтобы плечевой сустав biped оказался на месте плечевого сустава сеточной модели (рис. 8.37).
Сделайте так, чтобы локтевой и запястный суставы biped совпали с их положением
в сеточной модели. На виде Top разверните, а затем масштабируйте остальные кости
этой руки. Закончив работу с левой рукой, симметрично скопируйте ее положение на
правую руку (рис. 8.38).
Персонажная анимация
469
Рис. 8.37. Масштабирование ключицы на виде Front
Рис. 8.38. Кости левой руки симметрично скопированы на правую
Размещение пальцев
Размещение пальцев — это наиболее сложная часть позиционирования biped. С каждым суставом пальца приходится работать отдельно. Вначале следует масштабировать
ладонь biped так, чтобы она совпала с тем местом ладони модели, где находятся подушечки. Затем необходимо переместить основание каждого пальца в требуемое место,
не применяя вращения и масштабирования. Теперь можно повернуть каждый палец на
нужный угол, а затем удлинить их так, чтобы они чуть выступали за пределы сетки
(рис. 8.39). Благодаря этому вам не понадобятся дополнительные настройки на следующем этапе.
Рис. 8.39. Размещение пальцев в модели на виде сверху
470
Глава 8
Проверьте положение пальцев в модели под разными углами, а затем скопируйте их
положение и вставьте на другую руку.
Размещение головы
Для размещения головы на виде Left поверните и масштабируйте шейный позвонок
(BipPanda Neck) так, чтобы подбородок biped оказался напротив подбородка модели,
а затем масштабируйте его на виде Front. На обеих проекциях масштабируйте голову
до 2/3 ширины головы модели и до полной высоты головы.
Чтобы завершить размещение biped внутри модели, масштабируйте остальные части
biped в двух проекциях примерно до 2/3 ширины сеточной модели. Отключите режим
Figure Mode , щелкните правой кнопкой мыши в любом окне проекции и выполните
команду Unfreeze All. Полученному состоянию объекта (рис. 8.40) соответствует файл
\scenes\lesson_8.4\PandaRigEnd.max.
Рис. 8.40. Результат встраивания системы костей
Практическая работа
Самостоятельно встройте систему костей в персонаж, приведенный в файле \scenes\
practice_8.4\Scrambler_LR.max.
Упражнение № 8-5. Оснастка скелета
Модификатор Physique
Встроив скелет biped внутрь модели персонажа, следует перейти к созданию оснастки.
Оснастка нужна для того, чтобы связать систему скелета с сеточной моделью персонажа, и тогда скелет будет воздействовать на модель и соответствующим образом дефор-
Персонажная анимация
471
мировать ее. Для создания оснастки предназначены модификаторы Skin (Оболочка)
и Physique (Оснастка).
При построении системы костей на основе biped связывание скелета с моделью удобнее
выполнять посредством модификатора Physique, который назначает каждой вершине
сетки модели одну или несколько костей объекта biped. Когда кости biped анимируются, то соответствующие вершины сеточной модели также начинают двигаться.
Модификатор Physique связывает вершины сеточной модели с определенными костями
biped в зависимости от размера и удаленности костей от вершин. Если оснастка выполнена тщательно, то автоматическое связывание костей с вершинами может оказаться
удовлетворительным. Однако, как правило, требуются дополнительные настройки.
В основе модификатора Physique лежит объем модели. Это означает, что вы можете
позже уточнять ее геометрию с минимальным влиянием на поведение оболочки (сеточной модели объекта). При желании анимацию можно создать и до построения модели
персонажа.
Модель персонажа может состоять из нескольких отдельных объектов: торса, ног и рук.
В таком случае выбирают все эти объекты, и модификатор Physique применяют сразу
ко всем.
На настройку модификатора Physique влияет степень детализации модели персонажа.
С одной стороны, модель персонажа должна иметь достаточное число вершин, чтобы
модификатор Physique мог плавно ее деформировать. С другой стороны, чем меньше
вершин содержит сетка модели, тем легче настроить Physique. При подготовке модели
следует создавать равномерную сетку с прямоугольными полигонами, поскольку длинные треугольные полигоны плохо работают с Physique.
Как правило, следует создать самую простую сетку, применить к ней сначала модификатор Physique, а затем — TurboSmooth (Сглаживание высокого качества). Благодаря
этому упростится настройка Physique и обеспечится гладкость модели при ее визуализации. Если же сетка модели имеет много полигонов неправильной формы, то предварительно их нужно доработать, удаляя или добавляя ребра и полигоны там, где это необходимо. Особенно следует обратить внимание на форму и размеры полигонов
в области бедер и плеч.
Оснастка панды
Откройте из папки этого упражнения файл \scenes\lesson_8.5\PandaRigEnd.max — созданную нами модель панды со встроенным скелетом (как уже отмечалось ранее, на нее
наложены текстуры из файла \sceneassets\images\Template.jpg). Выберите модель панды
и примените к ней модификатор Physique. В стеке модификаторов его следует перенести ниже модификатора TurboSmooth (рис. 8.41). Легче всего выполнить оснастку
с низкополигональной моделью. Поэтому временно следует отключить действие модификатора TurboSmooth.
Перейдите на уровень модификатора Physique и в свитке Physique нажмите кнопку
Attach to Node . Затем нужно указать на объект BipPanda — проще всего это сделать
в окне Scene Explorer. Откроется новое окно Physique Initialization, в котором следует
нажать кнопку Initialize (Инициализация). В результате к модели панды будет применена операция создания оснастки (см. файл \scenes\lesson_8.5\PandaSkin1.max).
472
Глава 8
Рис. 8.41. Применение модификатора
Physique
Рис. 8.42. Деформация сетки модели
Выберите кость головы и поверните ее — сетка тоже деформируется (рис. 8.42).
Нажмите кнопку Undo
для возврата к предыдущему положению.
Настройка параметров оболочки левой руки
Процесс оснастки еще не окончен. Нужно проверить, правильно ли деформируется
модель панды. Если это не так, то необходимо модифицировать некоторые атрибуты
модификатора Physique.
Сначала выделите верхнюю кость левой руки BipPanda L UpperArm и поверните ее. Обратите внимание, что локоть сеточной модели левой руки остался неподвижным, а остальная часть руки деформируется с искажениями (рис. 8.43). Вернитесь в предыдущее
положение.
Для удобства перед настройкой можно скрыть кости в окне проекций. Для этого выделите модель панды, перейдите на вкладку Modify
и выберите модификатор
Physique. В свитке Physique Level of Detail (Уровень детализации Physique) включите
Рис. 8.43. Часть руки не деформируется
Персонажная анимация
473
Рис. 8.44. Выделены связи костей
флажок Hide Attached Nodes (Скрыть прикрепленные узлы) — biped станет невидимым, а на экране будут видны только связи костей в виде оранжевых линий (рис. 8.44).
Если вы захотите снова отобразить biped, то снимите этот флажок.
В стеке модификаторов нажмите на значок
слева от модификатора Physique. Затем
выберите опцию Envelope (Оболочка) — связи костей станут желтыми. Выберите связь
(участок желтой линии между двумя вершинами) в верхней части руки, образованную
костью BipPanda L UpperArm, ее имя отобразится в свитке Physique Selection Status. Вы
увидите красный и фиолетовый круги (рис. 8.45), которые соответственно называются
внутренней и внешней оболочками и определяют области влияния выбранной кости.
Красная внутренняя оболочка (Inner) соответствует наибольшему влиянию кости.
Вершины, расположенные за внешней оболочкой (Outer), никак не связаны с соответствующей костью. Внутри оболочки у некоторых вершин модели появятся красные
и фиолетовые крестики. Вершины, помеченные красными крестиками, находятся под
Рис. 8.45. Области влияния выбранной кости
474
Глава 8
сильным влиянием связи и будут деформироваться вместе с соответствующей костью.
Вершины, помеченные фиолетовыми крестиками, лишь частично связаны с соответствующей костью.
Обратите внимание, что обе оболочки не покрывают прилегающую область сетки,
особенно это касается нижней части руки модели. Ситуацию можно исправить, расширив оболочки. Для этого в свитке Blending Envelopes (Сопряжение оболочек) в разделе Envelope Parameters (Параметры оболочки) выберите пункт Both (Обе) и увеличьте значение параметра Radial Scale (Радиальный масштаб) так, чтобы захватить прилегающий участок сеточной модели. Задайте, например, значение параметра
Radial Scale = 1.75. Обе оболочки расширятся.
При необходимости можно менять значение параметра Radial Scale только для внутренней или внешней оболочки, нажав соответственно кнопки Inner или Outer
(рис. 8.46).
Рис. 8.46. Расширение оболочки
Наряду с параметром Radial Scale, можно редактировать оболочку через расположенные там же параметры Parent Overlap (Перекрытие со стороны родительского объекта)
и Child Overlap (Перекрытие со стороны дочернего объекта). Увеличение первого
параметра раздвигает оболочку в сторону родительского объекта в иерархической
структуре костей biped, увеличение второго — в сторону дочернего объекта. Задайте
значение параметра Parent Overlap = 0.4.
При настройке оболочек следует иметь в виду, что каждая из них должна охватывать
только те вершины сетки модели, которым следует подпадать под влияние соответствующей кости. Поэтому значения параметров оболочки желательно выбирать минимально возможными.
Снова в стеке модификаторов выделите строку Physique и снимите флажок у опции
Hide Attached Nodes для отображения всех костей. Выделите ту же кость и поверните
ее для проверки правильности настройки параметра Radial Scale — на этот раз локоть
сеточной модели панды деформируется вместе с перемещением кости BipPanda L
UpperArm.
Аналогично поступите по отношению к остальным костям руки, включая каждую кость
кисти (BipPanda L Forearm, BipPanda L Hand, BipPanda L Finger0, BipPanda L Finger01, BipPanda
L Finger1, BipPanda L Finger11). Проверяйте положение оболочек по двум проекциям.
Как видите, теперь сеточная модель левой руки деформируется нормально (рис. 8.47).
Персонажная анимация
475
Рис. 8.47. Оболочка настроена для всех костей левой руки
Применение настроек к правой руке
Теперь нужно применить изменение оболочек к другой руке. Командой Hide Attached
Nodes скройте кости. В стеке модификаторов выделите строку Envelope, выделите
одну отредактированную связь и в разделе Edit Commands (Команды редактирования)
нажмите кнопку Copy. Выберите симметричную связь на другой руке и нажмите кнопку Paste. В результате отредактированные оболочки будут симметрично преобразованы
и применены к другой руке. То же самое проделайте с каждой связью. Для удобства
и Next (Следующий)
можно выделять связи командами Previous (Предыдущий)
из свитка Blending Envelopes (Сопряжение оболочек). Кстати, можно не пользоваться
командой копирования и настроить все связи костей на другой руке вручную.
Рис. 8.48. Применение оболочек к другой руке
476
Глава 8
Обе руки на этом участке теперь настроены, и можно деактивировать выбор Envelope
и убрать флажок у опции Hide Attached Nodes для отображения всех костей.
Проверьте положение оболочки на обеих лапах (рис. 8.48). Этому состоянию модели
соответствует файл \scenes\lesson_8.5\PandaSkin2.max.
Можно одновременно редактировать симметричные связи. Для этого следует выбрать
одну связь, нажать клавишу <Ctrl> и выбрать симметричную связь на правой руке.
После этого все корректировки, выполненные в области Envelope Parameters, будут
автоматически применены к оболочкам обеих рук.
Оболочки ног. Редактирование сечений оболочек
Откройте файл \scenes\lesson_8.5\PandaSkin2.max и отобразите кости. Теперь отведите
в сторону верх левой ноги (кость BipPanda L Thigh). Обратите внимание, что низ ноги
при движении деформируется плохо. Кроме того, левая нога при повороте тянет правую ногу (рис. 8.49). Верните левую ногу в исходное положение.
Рис. 8.49. Обе ноги требуют корректировки оболочек
Скройте кости (командой Hide Attached Nodes) и в стеке модификаторов перейдите на
уровень подобъектов Envelope. Выделите связь, образованную костью BipPanda L Calf.
На рис. 8.50 видно, что внешний контейнер этой кости частично захватывает правую
ногу, что может служить причиной неправильного деформирования сеточной модели
ног.
Для редактирования формы контейнеров можно также перемещать и масштабировать
их сечения. В свитке Blending Envelopes нажмите кнопку выбора сечений Cross
. В области Envelope Parameters нажмите кнопку Outer, чтобы
Section (Сечение)
показать, что редактироваться будут только сечения внешнего контейнера. Выберите
в нем два внутренних сечения. Теперь их можно перемещать или масштабировать соответствующими командами главной панели инструментов, а также редактировать
с помощью параметров свитка Envelope Parameters, тем самым меняя форму и влияние оболочек. На рис. 8.51 они выделены желтым цветом.
Примените указанные корректировки к правой ноге модели. Снова визуализируйте
кости и разведите в стороны обе ноги панды — в результате масштабирования сечений
Персонажная анимация
477
Рис. 8.50. Область влияния кости левой ноги охватывает правую ногу
Рис. 8.51. Масштабирование внешнего контейнера
Рис. 8.52. Результат масштабирования сечений
478
Глава 8
искажения на ногах исчезли (рис. 8.52). Этому состоянию модели соответствует файл
\scenes\lesson_8.5\PandaSkin3.max.
Контрольные точки
В свитке Blending Envelopes (Сопряжение оболочек) имеется также команда Control
, которая служит для выбора и последующего редактиPoint (Контрольная точка)
рования положения контрольных точек на оболочках (рис. 8.53).
Снова откройте файл \scenes\lesson_8.5\PandaSkin2.max, убедитесь, что активна команда
, и на левой ноге панды выделите связь, образованную костью BipPanda
Link (Связь)
L Calf. Затем укажите, на каких контейнерах предполагается выполнять редактирование
(Inner, Outer или Both). В нашем случае нас интересует внешний контейнер — Outer.
После этого нажмите кнопку Control Point
(рис. 8.53) — на внутреннем и внешнем
контейнерах появятся контрольные точки, обозначенные квадратиками.
Выберите две точки, оказавшиеся на правой ноге, и с помощью команды Select and
Move сместите их вправо, чтобы устранить влияние рассматриваемой связи на правую
ногу панды (рис. 8.54).
Рис. 8.53. Команда выбора
контрольных точек
Рис. 8.54. Редактирование оболочки
перемещением контрольных точек
При этом команды Previous
и Next
, расположенные правее, помогают переходить к предыдущему или последующему элементу выбора (к следующей контрольной
точке, к следующему сечению или к следующей связи), в зависимости от того, какая
,
функция выбора активизирована в области Selection Level (Уровень выбора): Link
или Control Point
.
Cross Section
Свойства вершин. Проверка привязки вершин
Влияние оболочек можно исправить, назначив свойства вершин модели вручную. При
этом можно удалить влияние неподходящей связи на выбранные вершины. Можно
также изменить распределение весов между связями для определенной вершины путем
ввода весовых коэффициентов.
Персонажная анимация
479
Чтобы убедиться, что вершины привязаны к нужным связям, выполните следующие
действия:
1. На вкладке Modify
уровень Vertex.
раскройте структуру подобъектов Physique и перейдите на
2. В области Vertex Operations (Операции с вершинами) включите режим Select by
Link (Выделить по связи).
с обозначениями типов вершин включены.
3. Убедитесь, что все три кнопки
Левая (красная) кнопка относится к деформируемым вершинам. Средняя (зеленая)
кнопка относится к недеформируемым вершинам, которые просто следуют за назначенной им связью. Правая (синяя) кнопка прикреплена к корневым вершинам.
Синим цветом модификатор Physique обозначает вершины, если он не уверен,
какую связь им назначить. Эти вершины не деформируются, а просто следуют за
центром масс объекта.
4. В видовом окне выделите какую-нибудь связь — модификатор Physique соответствующим цветом отобразит вершины, на которые воздействует эта связь. Если какиелибо вершины не должны под нее подпадать, то их можно переназначить к другой
связи, как будет описано в следующей процедуре.
Удаление влияния связи на вершины
Некоторые связи могут захватить чужие вершины и тем самым оказывать на них нежелательные воздействия. Чтобы исключить влияние лишних связей на вершины, выполните следующие действия:
1. На вкладке Modify
объектов Vertex.
раскройте структуру Physique и перейдите на уровень под-
2. В области Vertex Operations включите режим Select и выберите нужные вершины.
3. В области Vertex Operations включите режим Remove From Link (Удалить влияние
связи).
4. В видовом окне щелкните мышью на связях, влияние которых на выделенные вершины нужно исключить.
5. В области Vertex Operations включите команду Lock Assignments (Блокировать назначения). Это делается для того, чтобы оболочки этих связей не влияли на выделенные вершины после того, как параметры оболочек будут изменены.
Пример удаления влияния связей на лишние вершины
Снова откройте файл \scenes\lesson_8.5\PandaSkin2.max, чтобы освоить новые инструменты редактирования связей. Мы уже видели (см. рис. 8.49), что при повороте кости
Panda L Thigh вершины модели, расположенные на левой ноге, тянутся за правой ногой,
а соответствующие вершины правой ноги тянутся к левой ноге. Исправим эту ситуацию с помощью новых инструментов, удалив влияние связей на лишние вершины.
В стеке модификаторов выделите строку Physique и в свитке Physique Level of Detail
установите флажок напротив опции Hide Attached Nodes. Перейдите на уровень
480
Глава 8
подобъектов Vertex. Включите режим выделения Select by Link и убедитесь, что все
три кнопки
с обозначениями типов вершин включены. В видовом окне выделите связь BipPanda L Calf на левой ноге панды — ее название должно появиться в свитке Physique Selection Status (Статус выделения). Обратите внимание, что на правой
ноге появилось несколько красных вершин, которые подпадают под влияние выделенной связи (рис. 8.55).
Рис. 8.55. Вершины на правой ноге находятся под влиянием связи BipPanda L Calf
В области Vertex Operations нажмите кнопку Select и выделите красные вершины
только на правой ноге. После этого нажмите кнопку Remove from Link, затем щелкните мышью на связи BipPanda L Calf, а потом нажмите кнопку Lock Assignments — вокруг выделенных вершин появятся небольшие квадратики (рис. 8.56).
Рис. 8.56. Блокирование
вершин
Рис. 8.57. На правой ноге исчезли искажения
Проверьте полученный результат. Перейдите на уровень Physique и уберите флажок
напротив опции Hide Attached Nodes. Выделите кость BipPanda L Thigh и поверните ее
на некоторый угол. Обратите внимание, что правая штанина уже не тянется за левой
(рис. 8.57).
Однако искажения на левой ноге остались. Поэтому аналогичные действия следует
проделать по отношению к кости BipPanda R Thigh, чтобы отменить ее влияние на левую
ногу (см. файл \scenes\lesson_8.5\PandaSkin4.max).
Персонажная анимация
481
Если в процессе анимации в модели обнаружатся другие искажения, то аналогичным
образом можно изменить влияние отдельных связей на ее вершины.
Корректировка весовых коэффициентов вершин
Более тонко настроить влияние отдельных связей на вершины можно путем корректировки весовых коэффициентов этих вершин. Для этого предусмотрено диалоговое окно
Type-In Weights (Ввод весовых коэффициентов), расположенное в свитке Vertex-Link
Assignment (он задействуется только для заблокированных вершин).
Чтобы воспользоваться этой возможностью, с помощью команды Select выберите одну
или несколько вершин, а затем командой Lock Assignment заблокируйте их. Вершины
также можно заблокировать, удалив влияние связи на вершины, как это было сделано
в предыдущем разделе. Затем откройте диалоговое окно Type-In Weights. Из выпадающего списка выберите нужную связь и в поле Weight (Весовой коэффициент) введите новое значение весового коэффициента для заблокированных вершин — в видовом окне положение соответствующих вершин обновится. Вы можете откорректировать весовые коэффициенты для вершин, которые находятся одновременно под
влиянием нескольких связей. Так можно достичь более тонкой настройки, что бывает
трудно выполнить подбором только параметров оболочек.
Откройте файл \scenes\lesson_8.5\PandaSkin4.max. Снова поверните кость BipPanda L
в одну и в другую сторону. Обратите внимание, что при этом вершины, расположенные слева на пояснице, вообще никак не смещаются (рис. 8.58), поэтому здесь нужна дополнительная настройка.
Thigh
Рис. 8.58. В этих вершинах требуется
дополнительная настройка
Рис. 8.59. Выделена вершина,
требующая корректировки
Верните ногу в исходное положение. В стеке модификаторов в структуре Physique перейдите на уровень Vertex. Выделите все вершины, требующие корректировки влияния
связей, и нажмите кнопку Lock Assignments, чтобы их заблокировать (рис. 8.59).
482
Глава 8
Рис. 8.60. Степень влияния кости BipPanda Pelvis на выделенную вершину
Выберите первую вершину, требующую корректировки, и раскройте диалоговое окно
Type-In Weights (рис. 8.60).
Как видите, на эту вершину влияет только связь BipPanda Pelvis (Таз) с коэффициентом,
равным 0.02. Увеличим влияние этой связи на вершину и добавим влияние на нее кости
BipPanda L Thigh. Для этого в поле Weight (Весовой коэффициент) введите, например,
значение 0.2, увеличив тем самым влияние на вершину таза. Чтобы добавить влияние
кости BipPanda L Thigh, в том же окне укажите вариант показа всех связей All Links (Все
связи) и в выпадающем списке выделите название этой кости. Затем в поле Weight введите значение коэффициента влияния, равное, например, 0.3. Снова переключитесь
на вариант показа Currently Assigned Links Only (Только назначенные связи), и вы
увидите результат назначения коэффициентов влияния костей на корректируемую
вершину (рис. 8.61).
Рис. 8.61. Новые коэффициенты влияния костей
на вершину
Рис. 8.62. Деформация выделенной
области после корректировки весов
Теперь выделите вершину, расположенную левее, и для нее укажите такие же или
близкие к ним значения. Аналогично следует подобрать значения весовых коэффициентов для всех остальных вершин, требующих дополнительной настройки. Снова отведите в сторону кость BipPanda L Thigh — теперь область корректировки коэффициентов
влияния также деформируется (рис. 8.62). Этому состоянию модели соответствует файл
\scenes\lesson_8.5\PandaSkin5.max.
Самостоятельно откорректируйте коэффициенты влияния костей для правой стороны
панды.
Персонажная анимация
483
Настройка параметров оболочки головы
В режиме Envelope выберите связь кости в голове. В разделе Active Blending (Активное сопряжение) выключите режим Deformable (Деформируемый) и включите Rigid
(Жесткий), т. к. голова не должна деформироваться во время движения. Настройте
внешний контур оболочки так, чтобы он охватывал голову и небольшой участок шеи.
Закончив настройку, отключите выбор режима Envelope. Процесс оснастки скелета
завершен (см. файл \scenes\lesson_8.5\PandaSkin6.max).
Проверка настроек с помощью BIP-файла
Проверить правильность настройки оболочек можно, временно подключив какой-либо
.
BIP-файл. Для этого выделите любую кость скелета и перейдите на вкладку Motion
и с помощью команды Load File
В свитке Biped отключите режим Figure Mode
загрузите нужный BIP-файл — например, \sceneassets\animations\Celeb05.bip. Впрочем,
вы можете также использовать BIP-файлы, поставляемые с 3ds Max, — их можно найти
в Интернете. Cкройте все кости biped и включите модификатор TurboSmooth. Анимируйте сцену и проверьте положение оболочек на лапах панды.
Чтобы продолжить настройку оболочек, остановите анимацию, выделите все кости
biped и с помощью команды главного меню Animation | Delete Selected Animation
удалите ранее созданную анимацию. Затем выделите любую кость и на вкладке
включите режим Figure Mode
— модель и все кости примут исходное
Motion
положение.
На рис. ЦВ-8.63 приведен кадр анимации с использованием файла \sceneassets\
animations\Ballet.bip. Полная анимация персонажа содержится в файле \renderoutput\lesson_8.5\
Ballet.avi, а подготовленная для анимации модель — в файле \scenes\lesson_8.5\
PandaSkinEnd.max.
Рис. ЦВ-8.63. Кадр анимации панды
484
Глава 8
Практическая работа
Откройте файл \scenes\practice_8.5\Scrambler1.max и самостоятельно настройте для него
параметры модификатора Physique.
Упражнение № 8-6.
Анимация biped в свободной форме
Закрепление положения ног
Существуют два типа анимации, которые может выполнять biped: Freeform animation
(Анимация в свободной форме) и Footstep animation (Пошаговая анимация). Режим
свободной анимации активен только при отключении всех других режимов в свитке
Biped.
Рассмотрим анимацию в свободной форме и заставим панду сделать несколько приседаний. Откройте из папки этого упражнения файл \scenes\lesson_8.6\PandaSkin6.max —
он содержит модель панды со встроенным объектом biped. Переместите ползунок таймера анимации в нулевой кадр. Когда панда приседает, ее ноги не должны смещаться
вниз. Чтобы добиться этого, выделите любую кость biped, откройте вкладку Motion
и раскройте свиток Key Info. На любой проекции выберите левую ступню (BipPanda
L Foot) и в свитке Key Info нажмите кнопку Set Planted Key
(рис. 8.64).
Рис. 8.64. Установка ключа привязки к уровню
Затем в свитке Track Selection нажмите кнопку Opposite
для выбора правой ступни
, чтобы закрепить
панды (BipPanda R Foot). Снова нажмите кнопку Set Planted Key
положение правой ступни.
В исходном состоянии панда стоит с вытянутыми в стороны лапами и должна совершить четыре приседания и вернуться в исходное положение. Поскольку ступни панды
зафиксированы, анимация приседаний будет выполняться перемещением ее центра
тяжести.
Создание одного приседания панды
В свитке Track Selection нажмите кнопку Body Vertical , чтобы задать команду вертикального перемещения центра тяжести тела панды, после чего в свитке Key Info нажмите кнопку Set Key
— в результате для вертикального положения центра тяжести
в нулевом кадре будет создан ключ анимации.
Персонажная анимация
485
Включите режим Auto Key, передвиньте ползунок таймера анимации к кадру 15 и
в окне Front передвиньте COM панды вниз примерно на 40 мм — в кадре с номером 15
будет создан еще один ключ анимации.
Передвиньте ползунок таймера анимации в нулевой кадр и раскройте свиток
Copy/Paste с инструментами, позволяющими копировать и вставлять ключи анимации
из одного кадра в другой. По умолчанию активизирована опция Posture, позволяющая
вставлять ключи анимации для отдельных частей тела. Нажмите кнопку Create
и в поле Copy Collections введите имя созданного набора: Panda poses.
Collection
и в поле Copied Postures (Копированные позы) ввеНажмите кнопку Copy Posture
дите имя этой позы: Standing (В стоячем положении).
Передвиньте ползунок таймера анимации к кадру 30. В свитке Copy/Paste в разделе
Paste Options (Опции вставки) нажмите сначала кнопку Paste Vertical (Вставка верти, а затем расположенную выше нее кнопку Paste Posture
кального положения)
(Вставить позу)
. В результате панда вновь выпрямит ноги, и в кадре с номером 30
для вертикального перемещения центра тяжести панды будет создан новый ключ анимации.
Обратите внимание, что в нашем случае мы устанавливали ключи анимации с поиз свитков Key Info и Auto Key в нижней части экрана.
мощью команд Set Key
Копирование и вставка позы панды
Перейдите к кадру с номером 15. В свитке Copy/Paste нажмите кнопку Copy Posture
и в поле Copied Postures (Копированные позы) введите имя этой позы: Squatting
(Приседание). Кнопка Paste Vertical
по-прежнему должна быть нажата. Перейдите
к кадру 45 и нажмите кнопку Paste Posture
— в результате панда снова присядет.
Сохранив эти две позы (Standing и Squatting), можно легко вставить их в другие кадры:
1. Перейдите к кадру с номером 60. Из списка Copied Postures выберите позу с именем Standing и нажмите кнопку Paste Posture — панда выпрямит ноги.
2. Перейдите к кадру с номером 75. Из списка Copied Postures выберите позу Squatting
и нажмите кнопку Paste Posture — панда вновь присядет.
3. Перейдите к кадру с номером 90. Из списка Copied Postures выберите позу Standing
и нажмите кнопку Paste Posture — панда выпрямится.
4. Перейдите к кадру с номером 105. Из списка Copied Postures выберите позу
Squatting и нажмите кнопку Paste Posture — панда присядет.
5. Перейдите к кадру с номером 120. Из списка Copied Postures выберите позу
Standing и нажмите кнопку Paste Posture — панда выпрямится.
Отключите режим Auto Key и проиграйте анимацию (см. файл \scenes\lesson_8.6\
PandaFree1.max).
Анимация рук
В окне Scene Explorer выделите объект BipPanda — на треке анимации появятся все
созданные ключи. Выделите их и сместите вправо на 15 кадров (рис. 8.65).
486
Глава 8
Рис. 8.65. Ключи анимации смещены вправо
Выберите левую кость BipPanda L UpperArm. Убедитесь, что отключен режим Figure
, чтобы
Mode. В свитке Track Selection (Выбор трека) нажмите кнопку Symmetrical
выбрать и противоположную руку. Передвиньте ползунок таймера анимации в нулевой
, чтобы в нулевом кадре создать
кадр. В свитке Key Info нажмите кнопку Set Key
ключевой кадр для положения панды с опущенными лапами. Включите режим Auto
Key. Передвиньте ползунок таймера анимации к кадру 15. Установите систему координат Local, и на виде Front с помощью команды Select and Rotate разведите лапы в стороны.
В свитке Copy/Paste нажмите кнопку Copy Posture
дите имя этой позы: Arms Out (Руки в стороны).
и в поле Copied Postures вве-
Передвиньте ползунок таймера анимации к кадру 30. Не снимая выделения с обеих рук,
на виде Top поверните левую лапу примерно на угол –75° вокруг оси Z по часовой
стрелке (рис. 8.66). Вместе с ней правая лапа также повернется на угол 75°.
Рис. 8.66. Панда с вытянутыми вперед лапами
Обе руки по-прежнему выделены. В результате в кадре номер 30 будет создан новый
и в поле
ключ анимации. В свитке Copy/Paste нажмите кнопку Copy Posture
Copied Postures введите имя для положения панды с вытянутыми лапами: Arms Forward
(Руки вперед).
Персонажная анимация
487
Последовательно вставьте скопированные позы в другие кадры анимации:
1. Кадр 45 — в поле Copied Postures выберите имя Arms Out и нажмите кнопку Paste
Posture.
2. Кадр 60 — в поле Copied Postures выберите имя Arms Forward и нажмите кнопку
Paste Posture.
3. Кадр 75 — Arms Out.
4. Кадр 90 — Arms Forward.
5. Кадр 105 — Arms Out.
6. Кадр 120 — Arms Forward.
7. Кадр 135 — Arms Out.
Отключите режим Auto Key и воспроизведите анимацию.
Сохранение созданной анимации biped
Созданную анимацию biped можно сохранить в формате BIP, т. е. в формате движения
Biped-персонажа, — для повторного использования с другим персонажем.
Для сохранения созданной анимации выберите любую кость biped. В свитке Biped
, определите папку, в которой вы храните BIP-файлы,
нажмите кнопку Save File
и сохраните файл в формате BIP с именем kneebends.bip (см., например, файл
\sceneassets\animations\kneebends.bip).
Выберите все кости объекта biped и выполните команду Hide Selection (Скрыть
выбранное). В видовых окнах перейдите в режим отображения Default Shading и
воспроизведите анимацию (рис. 8.67). Готовая модель объекта приведена в файле
\scenes\lesson_8.6\PandaFreeEnd.max.
Рис. 8.67. Кадр анимации
488
Глава 8
Практическая работа
Откройте файл \scenes\practice_8.6\Scrambler2.max и самостоятельно создайте анимацию
персонажа, аналогичную приведенной в файле \renderoutput\practice_8.6\scrambler_free_
form.avi. Не забудьте предварительно создать раскадровку сцены.
Упражнение № 8-7. Панда на скейтборде
Размещение панды на скейтборде
В данном упражнении мы создадим анимацию панды, катающейся на скейтборде. Для
этого вначале создайте модель скейтборда (см. файл \scenes\lesson_8.7\Skateboard.max
в папке этого упражнения). Затем из той же папки откройте файл \scenes\lesson_8.7\
PandaSkin6.max с персонажем, готовым для анимации. Выполните команду File |
Import | Merge и введите в сцену модель скейтборда. Масштабируйте скейтборд и разместите на нем панду. На виде Top с помощью команды Line задайте траекторию
скейтборда.
Выделите скейтборд и выполните команду Animation (Анимация) | Constraints (Ограничения) | Path Constraint (Ограничение вдоль траектории), указав на траекторию Line
движения скейтборда. При выделенном скейтборде откройте вкладку Motion
.
В свитке Path Parameters (Параметры траектории) установите флажок напротив опции
Follow (Следовать по касательной к траектории). Выделите объект BipPanda и переместите панду так, чтобы уточнить ее положение относительно скейтборда (рис. 8.68).
Если сейчас включить анимацию, то скейтборд будет перемещаться вдоль траектории,
а панда останется на месте. Временно скройте сеточную оболочку модели панды
(см. файл \scenes\lesson_8.7\PandaSkate1.max).
Рис. 8.68. Панда на скейтборде
Связывание панды со скейтбордом
С помощью команды Select and Link
можно связать объект BipPanda со скейтбордом. В результате панда будет перемещаться на скейтборде вдоль траектории. Однако
Персонажная анимация
489
такой вариант закрепления не позволит в дальнейшем продолжить создание анимации.
Поэтому мы поступим иначе.
и создайте объект Dummy. СовмесНа командной панели нажмите кнопку Helpers
тите его с тазом панды (BipPanda Pelvis). На главной панели инструментов щелкните по
— откроется окно Schematic View. В этом окне
кнопке Schematic View (Open)
c помощью команды Select and Link свяжите объект BipPanda с Dummy001 — в результате
BipPanda станет дочерним элементом по отношению к Dummy001 (рис. 8.69).
Рис. 8.69. Фрагмент структуры модели
Передвиньте ползунок таймера анимации в нулевой кадр. С помощью контроллера
Link Constraint (Ограничение на вид связи) назначим временную привязку объекта
Dummy001 к скейтборду. Для этого выделите объект Dummy001 и на командной панели рас. Разверните свиток Assign Controller (Назначить контролкройте вкладку Motion
лер) и внутри окна выделите строку Transform: Position/Rotation/Scale. Затем чуть
выше нажмите кнопку Assign Controller
, в открывшемся окне Assign Transform
Controller (Назначить контроллер преобразований)
выделите опцию Link Constraint (Ограничение на
вид связи) и нажмите кнопку OK.
На командной панели в свитке Link Params (Параметры связи) нажмите кнопку Add Link (Добавить
связь) и укажите на объект skateboard, к которому
осуществляется привязка, — там же, в окне Frame
# Target (Номер кадра — Цель), появится строка
0 skateboard (рис. 8.70).
Рис. 8.70. Привязка к скейтборду
Переместите ползунок таймера анимации к кадру 100 и на командной панели нажмите
кнопку Link to World (Связать с глобальной системой координат) — связь панды со
скейтбордом разорвется, а в окне Frame # Target появятся строки:
0 skateboard
100 World
В результате связывание панды со скейтбордом будет действовать в промежутке от
нулевого кадра до 100-го (см. файл \scenes\lesson_8.7\PandaSkate2.max), и панда будет
следовать вдоль траектории вместе со скейтбордом.
490
Глава 8
Закрепление ног панды на скейтборде
Панде следует немного присесть. Значит, ее ноги нужно установить так, чтобы ступни
не могли перемещаться ниже уровня скейтборда. Для этого откройте вкладку Motion
, выделите любую кость biped и раскройте свиток Key Info. При этом панда может
находиться в любом кадре.
На любой проекции выберите левую ступню (BipPanda L Foot) и в свитке Key Info нажмите кнопку Set Planted Key
. Затем в свитке Track Selection нажмите кнопку
, чтобы выбрать правую ступню панды (BipPanda R Foot). Снова нажмите
Opposite
, чтобы закрепить положение правой ступни.
кнопку Set Planted Key
Теперь при опускании центра тяжести панды (объект BipPanda) ее ноги останутся на
скейтборде (см. файл \scenes\lesson_8.7\PandaSkate3.max).
Восстановите исходное положение панды.
Анимация тела панды
Зафиксируем положение панды в нулевом кадре. Для этого выделите объект BipPanda
и на вкладке Motion
в свитке Track Selection нажмите кнопку вертикального пере,
мещения тела Body Vertical — в свитке Key Info активизируется кнопка Set Key
нажмите ее, в нулевом кадре будет создан ключ вертикального положения панды. Выделите обе ступни панды и снова нажмите кнопку Set Key, чтобы зафиксировать положение ступней панды. Разверните ее голову в направлении движения и снова нажмите
кнопку Set Key
. Выделите позвонок BipPanda Spine. В свитке Bend Links (Изгибание
звеньев) включите режим Bend Links Mode (Режим изгибания суставов) и наклоните
панду вперед на небольшой угол. Включите режим Twist Links Mode (Режим скручивания суставов)
, поверните тот же позвонок по часовой стрелке и нажмите кнопку
. Аналогично зафиксируйте положение рук в нулевом кадре (объекты
Set Key
BipPanda L UpperArm и BipPanda R UpperArm).
Перейдите к 10-му кадру и включите режим Auto Key. Сместите центр масс панды
вниз, чтобы заставить ее согнуть колени. Уточните положение ее рук. Выделив объекты BipPanda L Calf и BipPanda R Calf, слегка разверните ноги панды наружу.
Перейдите к кадру 25 и приподнимите правую ступню панды (BipPanda R Foot). Перейдите к кадру 55 и сместите правую ступню немного вверх и в сторону, снова измените
положение тела панды. В кадре 100 опять измените положение тела панды. Отключите
режим Auto Key. В окне Scene Explorer включите отображение сеточной оболочки
модели панды (слева от ее имени нажмите на значок
), отключите режим SeeThrough, скройте кости, включите TurboSmooth и воспроизведите анимацию
(см. файл \scenes\lesson_8.7\PandaSkate4.max).
Продолжение анимации
Снова включите режим Auto Key. Установите число кадров анимации равным 200
и передвиньте таймер анимации к 110-му кадру. Сместите объект BipPanda вперед и
вниз и опустите ступню правой ноги, чтобы она встала на плоскость. Перейдите к кад-
Персонажная анимация
491
ру 115 и сдвиньте левую ступню на край скейтборда. Перейдите к кадру 120 и опустите
левую ступню на плоскость. И далее:
1. В кадре 130 — восстановите положение позвоночника в вертикальном положении,
опустите руки.
2. В кадре 135 — сместите левую ступню вперед и вверх.
3. В кадре 140 — сместите объект BipPanda вперед и вниз. Левую ступню опустите на
плоскость. Для правой ступни зафиксируйте положение.
4. В кадре 145 — сместите объект BipPanda вперед и вниз. Правую ступню сместите
вперед и вверх.
5. В кадре 150 — правую ступню сместите вперед.
6. В кадре 155 — сместите объект BipPanda вперед. Правую ступню опустите на плоскость.
Продолжайте создание анимации (см. файл \scenes\lesson_8.7\PandaSkateEnd.max).
Упражнение № 8-8. Анимация спортсмена
Создание анимации
Раскройте вкладку Create
| Systems
и создайте скелет biped (рис. 8.71, а) с параметрами, указанными на рис. 8.71, б. Редактирование пропорций biped выполните
в режиме Figure Mode . Число шейных позвонков Neck Links установите равным 2,
число элементов спины Spine Links = 3. Число пальцев на кистях рук Fingers = 4, а
число фаланг на кистях рук Finger Links = 3 — при сжимании пальцев в кулак все они
будут сжиматься одновременно (см. файл \scenes\lesson_8.8\BipStart.max из папки этого
проекта).
а
б
Рис. 8.71. Cкелет biped типа Male в T-образном положении (а) и его параметры (б)
492
Глава 8
Выйдите из режима Figure Mode. Выделите правое плечо (объект Bip01 R UpperArm).
В свитке Track Selection щелкните на кнопке Symmetrical
, чтобы выделить и левое
плечо. На главной панели инструментов установите локальную систему координат
опустите одновременно обе руки
Local и с помощью команды Select and Rotate
вниз вдоль туловища — эта поза будет исходной для создания анимации (см. файл
\scenes\lesson_8.8\Bip01.max).
Откройте свиток Key Info. Сейчас нужно зафиксировать положение персонажа в нулевом кадре — передвиньте ползунок таймера анимации в нулевой кадр, выделите кости
. Это нужступней Bip01 R Foot и Bip01 L Foot и щелкните на кнопке Set Planted Key
но сделать для того, чтобы ноги персонажа оставались на месте, когда вы станете его
перемещать. Обратите внимание, что при этом автоматически были созданы также
ключи анимации для всех остальных подобъектов ног, включая пальцы.
, чтобы
Выделите кисти Bip01 L Hand и Bip01 R Hand и щелкните на кнопке Set Key
создать для них ключи анимации в нулевом кадре. Автоматически ключи анимации
установятся также для всех подобъектов рук, включая ключицы (Bip01 R Clavicle и
Bip01 L Clavicle). Этот же ключ установите для таза (Bip01 Pelvis), головы и одного из
позвонков спины. При установке ключей для головы будут установлены также ключи
для обоих шейных позвонков, а при установке ключей для одного позвонка будут установлены также ключи и для остальных спинных позвонков. Затем в свитке Track
Selection сначала щелкните на кнопке Lock COM Keying , а потом активизируйте
кнопки горизонтального
, вертикального и вращательного движения
COMобъекта персонажа, расположенные левее, и щелкните на кнопке Set Key
(см. файл
\scenes\lesson_8.8\Bip02.max).
Начнем построение первой части анимации, в которой персонаж выполняет удар противника ногой. Перейдите к кадру с номером 10 и в свитке Track Selection щелкните на
, чтобы выделить COM-объект персонажа. Сместите его
кнопке Body Horizontal
.
вперед на полшага и вниз на небольшое расстояние и щелкните на кнопке Set Key
Обратите внимание, что ноги персонажа согнулись в коленях, но ступни остались на
месте. Это произошло благодаря тому, что раньше для ступней был установлен ключ
(рис. 8.72).
Set Planted Key
Выделите правую ступню (объект Bip01 R Foot) — между ступней и пальцами появится
красная точка, указывающая место расположения привязочной точки ступни. Вытяните
ступню вперед — нога выпрямится, но ступня останется параллельной плоскости опоры (рис. 8.73).
и немного разверните ступню против часовой стрелки.
Щелкните на кнопке Set Key
Обратите внимание, что при этом стопа развернулась, а пальцы ноги по-прежнему остались параллельными плоскости опоры (рис. 8.74).
Это произошло из-за того, что была неудачно выбрана точка опоры ступни. Поэтому
отмените последнее вращение, перейдите в свиток Key Info и раскройте его подсвиток
IK (ступня должна быть по-прежнему выбрана). Щелкните там справа от строки Select
Pivot на кнопке Pivot Selection Dialog
— появится диаграмма с обозначением текущей точки опоры ступни. Выберите другую точку опоры, расположенную в центре
Персонажная анимация
493
Рис. 8.73. Ступня осталась параллельной
плоскости опоры
Рис. 8.72. Персонаж смещен
вперед на полшага
Рис. 8.74. Пальцы ноги
по-прежнему параллельны плоскости опоры
между двумя нижними рядами (рис. 8.75), — она соответствует опорной точке, расположенной между ступней и коленом.
Снова поверните ступню против часовой стрелки — на этот раз она повернется вместе
с пальцами ног и не потянет за собой всю ногу (поворот ступни выполнен по правилам
прямой кинематики). Щелкните на кнопке Set Key
(рис. 8.76).
Рис. 8.75. Выбрана опорная точка
между ступней и коленом
Рис. 8.76. Пальцы повернулись
вместе со стопой
Вернитесь к 5-му кадру — в нем следует поправить положение правой ступни и
уменьшить ее разворот. Однако опорная точка снова вернулась на прежнее место. Пои разверните ступню в обратную сторону.
этому щелкните на кнопке Set Free Key
494
Глава 8
Снова щелкните на этой же кнопке — пальцы ноги развернутся вместе со ступней
(рис. 8.77). Такому состоянию объекта соответствует файл \scenes\lesson_8.8\Bip03.max.
Перейдите в 20-й кадр. Выделите правую ступню, в плоскости YOZ опустите ее вниз
. Разверните ступню параллельно плоскости опоры.
и щелкните на кнопке Set Key
Не забывайте после каждого действия щелкать на кнопке Set Key в свитке Key Info.
Сместите ступню на уровень пола (рис. 8.78). Поправьте положение правой ступни
в 15-м кадре, уменьшив ее разворот (см. файл \scenes\lesson_8.8\Bip04.max).
Анимируем руки. Для этого вначале выделите любой позвонок спины — например,
Bip001 Spine1. Перейдите в 10-й кадр и в свитке Bend Links включите режим Bend
.
Links Mode . Разверните позвоночник вперед и щелкните на кнопке Set Key
Теперь при наклоне туловища вперед спина персонажа будет равномерно сгибаться.
Слегка разверните голову по часовой стрелке (рис. 8.79). Такому состоянию объекта
соответствует файл \scenes\lesson_8.8\Bip05.max.
В 10-м кадре на правой руке выделите кость Bip001 R Forearm и разверните ее так, чтобы
согнуть руку в локте. То же самое проделайте и с левой рукой. Двойным щелчком выделите кисть правой руки — одновременно должны выделиться все ее пальцы. В свит, чтобы добавить к выделению
ке Track Selection щелкните на кнопке Symmetrical
кисть левой руки. На главной панели инструментов установите локальную систему коодновременно сожмите обе
ординат Local и с помощью команды Select and Rotate
кисти в кулаки.
Рис. 8.77. Уменьшен
разворот ступни в 5-м кадре
Рис. 8.78. Установлено
положение правой ноги
Рис. 8.79. Позвоночник
равномерно согнулся
Выполните двойной щелчок на верхней фаланге большого пальца правой руки, чтобы
выделить все три его фаланги, поверните и прижмите его к остальным пальцам, чтобы
получился кулак. То же самое проделайте с пальцами левой руки (рис. 8.80). Такому
состоянию модели соответствует файл \scenes\lesson_8.8\Bip06.max.
Персонажная анимация
495
С ОВЕТ
Можно поступить иначе — скопировать положение большого пальца правой руки на левую
. Затем
руку. Для этого в свитке Copy/Paste щелкните на кнопке Create Collection
в 10-м кадре выделите все фаланги большого пальца правой руки и щелкните на кнопке
. В завершение там же щелкните на кнопке Paste Posture Opposite
.
Copy Posture
Выделите левую ступню. Выделите ключ в нулевом кадре, нажмите клавишу <Shift>
и перетащите его в 25-й кадр. Благодаря этому левая нога будет оставаться на месте
с 0-го до 25-го кадра. Поверните ступню на небольшой угол по часовой стрелке и щелк. Скопируйте 25-й кадр в 26-й, дополнительно разверните
ните на кнопке Set Key
ступню по часовой стрелке и щелкните на кнопке Set Key
. Обратите внимание, что
ступня развернулась вокруг опорной точки, расположенной между ступней и пальцами,
однако пальцы остались неподвижными и параллельными плоскости опоры (рис. 8.81).
Рис. 8.80. Положение biped
в 10-м кадре
Рис. 8.81. В 26-м кадре
ступня развернулась
относительно опорной точки
Рис. 8.82. Положение
левой ноги в 35-м кадре
Перейдите в 35-й кадр, сместите левую ногу вперед и щелкните на кнопке Set Key
(рис. 8.82).
Выделите COM-объект, зафиксируйте его положение в 30-м кадре и щелкните на кнопке
. Перейдите в 35-й кадр и сместите COM-объект вперед. Затем в 40-м кадре
Set Key
еще раз сместите вперед левую ногу (ключ в 35-м кадре теперь можно удалить) — стопа
снова будет согнута относительно пальцев. Перейдите в 41-й кадр и разверните стопу
параллельно плоскости опоры (рис. 8.83).
До сих пор при движении biped его левая нога скользила вдоль плоскости опоры. Поэтому перейдите в 33-й кадр и поднимите левую ступню biped так, чтобы придать ноге
более естественное положение. В 33-м кадре также разверните голову слегка вверх,
а в 40-м — снова опустите ее вниз.
496
Глава 8
Чтобы выполнить удар правой рукой, выделите правую кисть (кость Bip01 R Hand) и зафиксируйте ее положение в 30-м кадре. Перейдите в 40-й кадр и в плоскости YOZ
вытяните правую руку вперед — как при ударе (рис. 8.84). Разверните кисть на 90°.
Рис. 8.83. Положение
левой ступни biped
в 40-м кадре
Рис. 8.84. Положение biped
в 40-м кадре
Рис. 8.85.
Заключительный кадр
анимации
Проиграйте анимацию. Можно заметить, что удар правой рукой между 30-м и 40-м кадрами происходит слишком медленно. Поэтому сместите ключ анимации правой руки
с 30-го кадра на 36-й — тогда удар правой рукой будет происходить намного быстрее:
между 36-м и 40-м кадрами. Кроме того, имеется небольшая задержка в движении
левой ноги перед 25-м кадром. Поэтому сместите все ключи анимации левой ступни,
расположенные после 25-го кадра, на три кадра левее (см. файл \scenes\lesson_8.8\
Bip07.max).
Самостоятельно доработайте анимацию на свое усмотрение. Попробуйте выполнить
удар левой рукой, затем выпрямите туловище и поднимите обе руки вверх в знак победы над противником (рис. 8.85). Этому состоянию модели соответствует файл
\scenes\lesson_8.8\Bip08.max.
Сохранение анимации
Выберите любой подобъект biped и на вкладке Motion
в свитке Biped нажмите
— откроется окно Save As, которое позволяет сохранять файлы
кнопку Save File
в форматах BIP, FIG и STP (рис. 8.86).
В области Save Segment at Current Position and Rotation (Сохранить сегмент анимации для текущего положения и вращения) для параметров From (От) и To (До) указывается начальное и конечное значения кадров сохраняемой анимации. Включение
параметра A Keyframe per Frame (Ключевые кадры на каждый кадр) дает возможность
Персонажная анимация
497
сохранить ключевые кадры в каждом кадре анимации — если этот параметр не включить, то анимация не будет сохранена.
Установка флажка для параметра Save MAX Objects (Сохранить MAX-объекты) позволяет сохранить в BIP-файле все объекты сцены, которые связаны с biped (например,
цель, в сторону которой поворачивается голова, или же объекты, которые связаны
), — эти объекты перечисляются в расс biped с помощью команды Select and Link
положенном ниже окне.
(рис. 8.86) открывается диалоговое окно, в котором
Нажатием на кнопку выбора
можно указать дополнительные объекты, которые нужно сохранить в файле. Для нашего примера укажите имя сохраняемого файла: Bip-08, тип файла *.BIP и установите
флажки для параметров Save Segment at Current Position and Rotation и A Keyframe
per Frame (см. файл \sceneassets\animations\Bip08.bip).
Рис. 8.86. Фрагмент окна сохранения BIP-файла
Применение созданного BIP-файла
Откройте новую сцену с файлом \scenes\lesson_8.8\PandaSkinEnd.max. Выполните команду Unhide All, выделите любую кость панды и в свитке Biped нажмите кнопку
. В окне Open отключите опцию Restructure biped to match file (РеструкLoad File
турировать biped для согласования с файлом) и включите опцию Set lowest starting foot
height to Z = 0 (Для положения ступни задать значение Z = 0). Загрузите в сцену ранее
созданный BIP-файл \sceneassets\animations\Bip08.bip и проиграйте анимацию (рис. 8.87).
Таким образом, анимация может создаваться и сохраняться независимо от персонажа,
к которому она затем будет применена. Однако в дальнейшем, возможно, ее придется
доработать, поскольку структура, размеры и форма персонажей могут существенно
различаться. Иногда это можно сделать автоматически, включив в окне Open опцию
Restructure biped to match file.
498
Глава 8
Рис. 8.87. Созданная анимация применена к персонажу
Упражнение № 8-9. Спортсмен на турнике
Создадим анимацию вращения спортсмена на турнике, как показано в файле renderoutput\
lesson_8.9\Bar.avi из папки этого проекта. Для этого создайте турник, на котором будет
крутиться biped, и создайте сам biped — его высота с вытянутыми вверх руками должна
быть несколько ниже перекладины турника.
Перейдите в нулевой кадр и выделите любую кость biped. Зафиксируйте положение
biped в нулевом кадре. Для этого откройте свиток Key Info, выделите кости ступней
Bip01 R Foot и Bip01 L Foot и нажмите кнопку Set Planted Key
. Выделите кисти Bip01
L Hand и Bip01 R Hand и нажмите кнопку Set Key
, чтобы создать для них ключи анимации в нулевом кадре. Этот же ключ установите для таза (Bip01 Pelvis), головы и одного из позвонков спины. Затем в свитке Track Selection сначала нажмите кнопку Lock
COM Keying (Блокировка треков COM-объекта) , а потом активизируйте команды
горизонтального, вертикального и вращательного движения COM-объекта персонажа,
(см. файл \scenes\lesson_8.9\
расположенные левее. Нажмите кнопку Set Key
Bar01.max из той же папки).
В нулевом кадре в свитке Track Selection нажмите только на кнопку Body Horizontal
, а затем в подсвитке Body свитка Key Info установите значение параметра Balance
и задайте значение
Factor = 1. Перейдите к 5-му кадру, нажмите кнопку Set Key
этого параметра равным 2.
Включите режим Auto Key Mode. Перед прыжком на турник biped должен немного
присесть — для этого в свитке Track Selection выделите команду Body Vertical
и
сместите COM-объект biped вниз на 20 см.
Персонажная анимация
499
В свитке Bend Links включите режим Bend Links Mode , выделите любой позвонок
и с помощью команды Select and Rotate
наклоните biped вперед, чтобы он принял
положение, как перед прыжком на турник. Выделите обе кисти и в системе координат
согните руки в локтях.
World с помощью команды Select and Move
и включите
Выделите перекладину турника, перейдите на вкладку Hierarchy
команду Affect Pivot Only. В области Alignment нажмите кнопку Center to Object,
чтобы сместить опорную точку в середину перекладины. Выделите голову и нажмите
кнопку Set Key
. В свитке Key Info раскройте подсвиток Head, нажмите кнопку
Select Look At Target (Указать направление взгляда)
и укажите на перекладину.
В нулевом кадре значение параметра Target Blend (Смещение взгляда) задайте равным 0,
а в пятом кадре задайте его равным 0.2. Благодаря этому голова biped развернется
в сторону перекладины. Поскольку опорная точка перекладины теперь находится в середине, то и голова будет развернута в ту же сторону (рис. 8.88). Этому состоянию
модели соответствует файл \scenes\lesson_8.9\Bar02.max.
Рис. 8.88. Подготовка к прыжку
Рис. 8.89. Руки над головой
Перейдите к кадру с номером 10. Включите команду Body Vertical и сместите COMобъект вверх так, чтобы biped почти выпрямил ноги в коленях. Выделите обе ступни
и поверните их по часовой стрелке на небольшой угол — ступни развернутся вокруг
точки опоры, расположенной между ступней и пальцами ног. Нажмите кнопку Set
Planted Key
.
Выделите голову и нажмите кнопку Set Key
. Установите значение параметра
Target Blend равным 0.5. Выберите обе кисти и поднимите их вверх над головой
(рис. 8.89). Такому состоянию модели соответствует файл \scenes\lesson_8.9\Bar03.max.
500
Глава 8
Перейдите к кадру с номером 15. Выделите команду Body Horizontal, нажмите кнопку
Set Key
и в подсвитке Body задайте Balance Factor равным 1. Выделите команду
Body Vertical, нажмите кнопку Set Key
и там же задайте значение параметра
Dynamics Blend равным 1.
На виде Left выделите правую кисть и в свитке Track Selection нажмите кнопку
. Сместите кисти вверх, чтобы полностью выпрямить руки. Включите
Symmetrical
опцию Body Vertical, поднимите COM-объект так, чтобы кисти biped коснулись пере. Выделите голову и нажмите кнопку Set Key
кладины, и нажмите кнопку Set Key
. Установите значение параметра Target Blend равным 0.
Выделите оба предплечья (кости Bip001 R Forearm и Bip001 L Forearm), установите локальную систему координат и с помощью команды Select and Rotate
разверните
руки так, чтобы кисти стали параллельными перекладине. Выделите обе кисти и на, чтобы зафиксировать их положение относительно
жмите кнопку Set Planted Key
перекладины.
Выполните двойной щелчок на правой кисти, чтобы выделить саму кисть и ее пальцы.
На клавиатуре компьютера нажмите клавишу <Alt> и щелкните на кисти, чтобы отменить ее выделение, — останутся выделенными все пальцы правой кисти. Щелкните на
, чтобы выделить пальцы другой руки. Активизируйте команду
кнопке Symmetrical
Select and Rotate
и в локальной системе координат разверните пальцы обеих рук так, чтобы они обхватили перекладину. Поправьте положение рук относительно перекладины. Выделите обе кисти и щелкните на кнопке Set
. Поправьте положение больших пальцев
Planted Key
так, чтобы они обхватывали перекладину снизу (рис. 8.90).
Выделите обе ступни и нажмите кнопку Set Free Key .
Рис. 8.90. Прыжок на перекладину
Пальцы ног по-прежнему параллельны плоскости опоры. Поэтому в окне Schematic
главной панели инструментов, выView, которое открывается щелчком на кнопке
делите все старшие фаланги на всех пальцах обеих ног и с помощью команды Select
разверните пальцы параллельно ступням ног (рис. 8.91). Выделите
and Rotate
любой позвонок и нажмите кнопку Set Key
, чтобы зафиксировать положение всех
позвонков в этом кадре (см. файл \scenes\lesson_8.9\Bar04.max).
Режим Auto Key по-прежнему включен. Рядом с biped создайте объект Dummy. В окне
свяжите biped с Dummy.
Schematic View c помощью команды Select and Link
Персонажная анимация
501
а
б
Рис. 8.91. Разворот пальцев ног: а — выделены старшие фаланги; б — пальцы развернуты
В кадре 15 на виде Left сместите Dummy так, чтобы вернуть biped и его кисти в прежнее положение. Свяжите Dummy с перекладиной (рис. 8.92). В кадре 15 выделите обе
(на треке
кисти и проверьте, чтобы для них был установлен ключ Set Planted Key
анимации обозначение ключа должно быть оранжевого цвета). Этому состоянию сцены
соответствует файл \scenes\lesson_8.9\Bar07.max.
Перейдите к кадру 20. Поднимите обе ступни, чтобы согнуть ноги в коленях, и поправьте положение ступней (рис. 8.93).
Рис. 8.92. Перекладина стала старшим объектом
Рис. 8.93. Подготовка к вращению
Начиная с этого кадра, анимируем перекладину, заставив ее вращаться в интервале от
20-го до 90-го кадра. Для этого в 20-м кадре выделите перекладину и в нижней области
, а затем рядом кнопинтерфейса программы сначала нажмите кнопку Set Key
502
Глава 8
ку Set Keys
. Перейдите к кадру 30 и установите систему координат View. Поверните перекладину на 60° против часовой стрелки и в видовом окне нажмите кнопку Set
. Поправьте положение головы и нажмите кнопку Set Key
в свитке Key
Keys
Info. В 25-м кадре выделите обе ступни, вытяните ноги вперед, чтобы приготовиться
.
к раскачиванию корпуса biped, и нажмите кнопку Set Key
П РИМЕЧАНИЕ
Следует иметь в виду, что на кнопке Set Keys
в видовом окне изображен ключик зеле-
в свитке Key Info изображен такой же ключик желтого
ного цвета, а на кнопке Set Key
цвета. Но в книге в черно-белом варианте они выглядят одинаково.
Перейдите к 45-му кадру, поверните перекладину на 90° по часовой стрелке и нажмите
. Перейдите к 60-му кадру, поверните перекладину на 160° против
кнопку Set Keys
часовой стрелки и нажмите кнопку Set Keys
. Перейдите к 80-му кадру, поверните
перекладину в обратную сторону на 200° и нажмите кнопку Set Keys
. Перейдите
к 90-му кадру, снова поверните biped против часовой стрелки на 210° и нажмите кноп. Отключите режим Set Key
в нижней части экрана (см. файл
ку Set Keys
\scenes\lesson_8.9\Bar08.max).
Поправим положение туловища в промежуточных кадрах. Перейдите к кадру 30 и
включите режим Auto Key. Выделите COM-объект и сместите его в сторону перекладины, чтобы слегка согнуть руки в локтях, но не сгибать их в кистях. В свитке Bend
Links включите режим Bend Links Mode , выделите один позвонок и разверните
грудь вверх, как показано на рис. 8.94.
Рис. 8.94. Положение biped в 30-м кадре
Перейдите к 35-му кадру, выделите обе ступни и подожмите ноги в коленях. Перейдите
к 40-му кадру, ноги отведите назад, COM-объект поднимите повыше. Продолжайте
уточнять анимации до 90-го кадра. В этом кадре зафиксируйте положение всех частей
, а для обеих кистей в свитке Key Info нажмите кнопку Set
biped кнопкой Set Key
Planted Key
. В 91-м кадре установите для кистей рук ключи Set Free Kee , освободив их от перекладины (см. файл \scenes\lesson_8.9\Bar09.max).
Персонажная анимация
503
Начиная с кадра 91 biped уже не вращается вместе с перекладиной. Поэтому его вращение и перемещение нужно выполнять только путем выделения его COM-объекта.
Пусть после этого кадра biped выполнит один полный оборот в воздухе и приземлится
в 115-м кадре. Включите режим Auto Key и выполните эти движения самостоятельно,
придав его телу естественное положение во время вращения и приземления (см. файл
\scenes\lesson_8.9\Bar10.max).
На виде Left воспроизведите анимацию. Обратите внимание, что вращение biped вокруг перекладины происходит неравномерно, с рывками. Чтобы увидеть поведение
COM-объекта biped при вращении, выделите перекладину, откройте редактор кривых
(Curve Editor) и в области Rotation выделите строку Y Rotation (рис. 8.95).
Рис. 8.95. График вращения COM-объекта вокруг перекладины
Исправим поведение кривой в верхних и нижних точках. Для этого в окне Curve Editor
выделите все эти точки и там же нажмите кнопку Set Tangents to Slow
— вид кривой изменится, и движение biped станет более плавным (рис. 8.96). Этому состоянию
сцены соответствует файл \scenes\lesson_8.9\Bar11.max.
Рис. 8.96. График плавного вращения COM-объекта вокруг перекладины
504
Глава 8
Упражнение № 8-10. Пошаговая анимация biped
Создание шагов
Пошаговая анимация (Footstep Animation) управляет только положением ступней
biped. Откройте из папки этого проекта файл \scenes\lesson_8.10\Footstep_start1.max, содержащий готовую для создания анимации сцену с моделью панды. В окне Perspective
выделите сетку модели, щелкните на ней правой кнопкой мыши и выберите опцию
Hide Selection (Скрыть выделение) — скрытие сетки облегчит дальнейшее построение
анимации (рис. 8.97).
Рис. 8.97. Исходное положение biped
Выделите любой подобъект biped и раскройте вкладку Motion
. В свитке Biped, на, активизируйте режим
жав кнопку Footstep Mode (Режим пошаговой анимации)
пошаговой анимации — откроются несколько новых свитков, с помощью которых
можно создавать пошаговую анимацию.
В свитке Footstep Creation (Создание шагов) имеются три способа создания пошаговой
анимации: Walk (Шагом) , Run (Бегом)
и Jump (Вприпрыжку) . Выберите вариант перемещения персонажа Walk и нажмите с ним рядом кнопку Create Multiple
Footsteps (Создать несколько шагов) . В открывшемся окне можно задать много разных параметров походки. Например, в разделе General (Общие параметры) вы можете
указать, с какой ноги начать движение: с левой (Start Left) или с правой (Start Right), а
в разделе Timing (Временны́е параметры) можно отдельно указать параметры для первого и последнего шагов.
В разделе General введите число шагов Number of Footsteps (Число шагов), равное 8,
и там же нажмите кнопку OK (рис. 8.98) — впереди персонажа появятся следы его походки: зеленые — для правой ноги и синие — для левой. Если в видовом окне не видны
следы biped, то в свитке Biped раскройте дополнительный раздел Modes and Display
Персонажная анимация
505
(Режимы и отображение), нажмите кнопку Hide Footsteps (Скрыть следы)
и из раскрывающегося меню выберите одну из команд Show Footsteps (Показать следы)
.
или Show Footsteps and Numbers (Показать следы и их номера)
Рис. 8.98. Устанавливается число шагов
Сразу после создания следы остаются неактивными — они присутствуют в сцене, но
пока не управляют движением biped. В свитке Footstep Operations (Операции с шагами) нажмите кнопку Create Keys For Inactive Footsteps (Создать ключи анимации для
, чтобы создать ключи анимации для готовых шагов. Обратите
неактивных шагов)
внимание, что после этого biped меняет свою позу. Воспроизведите анимацию
(рис. 8.99). Такому состоянию сцены соответствует файл \scenes\lesson_8.10\Footstep21.max.
Рис. 8.99. Кадр пошаговой анимации
Рис. 8.100. Созданы дополнительные следы
Настройка шагов biped
После включения режима Footstep Mode
можно создавать и редактировать следы
для генерации походки biped. С помощью команды Create Footsteps (append) (Создать
из свитка Footsteps Creation можно также последовательно
дополнительные следы)
добавлять следы, щелкая левой кнопкой мыши в нужном месте сцены (рис. 8.100).
506
Глава 8
Следы можно создавать, начиная с текущего кадра. Для этого используется команда
.
Create Footsteps (at current frame) (Создать следы в текущем кадре)
Рамкой выделите все следы, включая те, что находятся под biped. Поскольку вы работаете в режиме Footstep Mode, то никакие другие объекты выделены не будут. В свитке Footstep Operations (Операции с шагами) подбором значения параметра Scale
(Масштабировать) отрегулируйте значения параметров шагов Length (Длина) и Width
(Ширина) по своему усмотрению. Если отключить любой из флажков: Length или
Width, то соответствующий параметр не будет меняться. Изменение значения параметра Bend (Поворот) приводит к развороту траектории biped (рис. 8.101). Выделяя отможно на свое усмотредельные следы, с помощью инструмента Select and Move
ние редактировать их положение.
Рис. 8.101. Свиток для регулирования параметров шагов
Поясним некоторые параметры в настройках походки шагом (рис. 8.102):
в области General:
• Start Left и Start Right — начать движение с левой или с правой ноги;
• Alternate (Альтернатива) — шаги будут выбираться между правой и левой ногами. Этот вариант всегда активируют при создании походки шагом;
Рис. 8.102. Установка параметров шагов
Персонажная анимация
507
• Number of Footsteps — число вновь создаваемых шагов;
• Parametric Stride Width — определяет ширину шага в виде части от ширины таза (Pelvis) biped. Значение этого параметра, равное 1, соответствует ширине шага,
равной ширине таза biped (рис. 8.103);
Actual Stride Width — устанавливает ширину шага в единицах измерения
программы 3ds Max;
а
б
Рис. 8.103. Ширина шага: а — Parametric Stride Width = 1; б — Parametric Stride Width = 3
в области Timing:
• Interpolate — управляет ускорением или замедлением последовательности шагов. При включении этой опции становятся доступными параметры из области
Last Step. Biped создает шаги, начиная со значения параметров из области First
Step, а заканчивает их при значениях соответствующих параметров из области
Last Step. При отключении опции Interpolate biped будет создавать шаги только
с параметрами из области First Step;
• Start after last footstep — новые шаги будут добавляться в конце существующей
последовательности шагов;
• Start at current frame — новые шаги будут добавляться в текущем кадре после
существующей последовательности шагов, разрешая сделать промежуток во
времени до того, как начнутся следующие шаги;
параметры в областях First Step (Первый шаг) и Last Step (Последний шаг):
• Parametric Stride Length — устанавливает длину шага в виде части от длины
ног biped. Значение этого параметра, равное 1, соответствует длине шага, равной
длине ног biped. Значение, равное 0, приведет к тому, что biped станет маршировать на месте. Отрицательное значение длины заставляет biped передвигаться задом в обратном направлении;
• Actual Stride Length — устанавливает длину шага в единицах измерения программы 3ds Max;
508
Глава 8
• Actual Stride Height — устанавливает величину подъема или понижения между
последующими шагами. Опцию можно использовать для создания шагов biped,
идущего по лестнице или спускающегося с уклона;
• Time to next Footstep — определяет число кадров между шагами. Этот параметр
доступен только при включении опции Auto Timing (Автоматическая настройка
временных интервалов);
• Speed (units per frame) — скорость движения biped в установленных единицах
измерения за один кадр. Это значение не задается, а вычисляется автоматически,
исходя из заданных значений других параметров;
• Walk Footstep — число кадров, в течение которых каждая ступня остается на
земле. При походке шагом по крайней мере одна ступня всегда сохраняет контакт с землей;
• Double Support — число кадров, в течение которых обе ступни остаются на
земле.
Походка шагом
Можно заставить biped подниматься вверх или спускаться вниз. Для этого в свитке
и в отFootstep Operations нужно щелкнуть на кнопке Create Multiple Footsteps
крывшемся окне в области First Step изменить значение параметра Actual Stride
Height. При положительном значении этого параметра biped будет подниматься вверх,
а при отрицательном значении — спускаться вниз.
Чтобы заставить biped шагать на месте, нужно вернуть значение параметра Actual
Stride Height в нулевое значение, а в области First Step установить значение параметра
Parametric Stride Length равным нулю.
Biped может двигаться и задом, т. е. в обратном направлении. Для этого следует установить отрицательным значение параметра Parametric Stride Length. При этом абсолютное значение данного параметра по-прежнему будет определять длину шага.
Чтобы заставить biped ускорить походку, в области Timing (Временны́е параметры)
нужно установить флажок для параметра Interpolate. После этого станут доступными
параметры в области Last Step. Затем в области Last Step установите значение параметра Time to next Footstep меньшим, чем значение этого же параметра в области First
Step. Можно менять значения в любой из этих областей, но для ускорения походки
важно, чтобы значение этого параметра в области Last Time было меньшим, чем в области First Time.
Пример пошаговой анимации
Создадим анимацию длиной 900 кадров, в которой biped сначала медленно делает
8 шагов вверх, затем быстро 8 шагов вниз, потом 6 шагов марширует на месте, затем
8 шагов идет задом наперед вверх, а потом снова 5 шагов идет вперед, после чего разворачивается и возвращается в исходное положение.
1. Медленный проход на 8 шагов вверх: создайте biped высотой 180 см и включите
режим Footstep Mode
. В свитке Footstep Creation установите походку шагом
Персонажная анимация
509
(Walk ) и нажмите кнопку Create Multiple Footstep
. В открывшемся окне нажмите кнопку Default (Установки по умолчанию), чтобы сбросить все предыдущие
настройки. Установите значение параметра Number of Footsteps равным 8. Значение параметра Actual Stride Height задайте положительным и равным 25 см. Установите флажок для параметра Interpolate. В области Last Step установите значение
параметра Time to next Footstep равным 40. Нажмите кнопку OK, чтобы создать
в сцене шаги. Затем в свитке Footstep Creation нажмите кнопку Create Keys For
Inactive Footsteps . Воспроизведите анимацию.
2. Быстрый проход на 8 шагов вниз: снова нажмите кнопку Create Multiple Footstep
. Значение параметра Actual Stride Height задайте отрицательным и равным
15 см. В области Last Step установите значение параметра Time to next Footstep
равным 5. Опция Start after last footstep (Начать после последнего шага) остается
активной. Нажмите кнопку OK, чтобы создать в сцене шаги. В свитке Footstep
Creation нажмите кнопку Create Keys For Inactive Footsteps
и воспроизведите
анимацию.
3. Топтание на месте (6 шагов): нажмите кнопку Create Multiple Footstep и установите значение параметра Number of Footsteps равным 6. Отключите опцию
Interpolate. В области First Step значения параметров Actual Stride Length и Actual
Stride Height определите равными нулю. Нажмите кнопку Create Keys For Inactive
Footsteps
и воспроизведите анимацию.
4. Подъем на 8 шагов задом наперед: Number of Footsteps = 8, Parametric Stride
Length = –0.75, Actual Stride Height = 20 см.
5. Проход на 5 шагов вперед: Number of Footsteps = 5, Parametric Stride Length =
= 0.75, Actual Stride Height = 0.
6. Возврат в исходное положение: создайте 12 шагов со значением параметра Actual
постепенно развораStride Height = –15. С помощью команды Select and Rotate
чивайте следы в сторону исходного положения. Если следов недостаточно, то создайте еще несколько на том же уровне (рис. 8.104). Этому состоянию сцены соответствует файл \scenes\lesson_8.10\Walk.max.
Рис. 8.104. Маршрут biped
510
Глава 8
Состояния ног biped
При движении ступни biped могут находиться в четырех положениях:
Touch — ключевой кадр появляется в кадре, где ступня касается следа и совпадает
с начальным кадром следа в окне Track View. Продолжительность этого состояния
всегда один кадр;
Plant — возникает после касания, перед подъемом ступни;
Lift — появляется в ключевом кадре, когда ступня отрывается от основания. Про-
должительность этого состояния всегда один кадр;
Move — возникает между шагами, когда ступня находится в воздухе.
Чтобы отобразить текущее состояние ступней, нужно перейти в свиток Biped, развернуть там подсвиток Modes and Display и в разделе Display щелкнуть на кнопке Leg
(рис. 8.105).
States (Состояния ступней)
Рис. 8.105. Помечены состояния ступней
При активации следов автоматически генерируются ключи для COM-объекта. В отличие от других подобъектов biped, этот объект имеет три отдельных трека анимации:
два — для движения по горизонтали и вертикали и один — для вращения. Их можно
,
выбрать в свитке Track Selection нажатием одной из кнопок: Body Horizontal
Body Vertical
или Body Rotation
. Чтобы увидеть ключи треков COM-объекта,
и нажать какую-либо из этих кнопок
нужно отключить режим Footstep Mode
(рис. 8.106).
Рис. 8.106. Отображены ключи COM-объекта
Ключи анимации COM-объекта отображаются также в окне Track View - Dope Sheet.
Для этого в левой части окна нужно найти название biped со словом Footsteps (в данном случае Bip001 Footsteps) и выделить это название и строку Transform (рис. 8.107).
Персонажная анимация
511
Рис. 8.107. Ключи COM-объекта в окне Track View - Dope Sheet
Следы biped в окне Track View - Dope Sheet
Следы, созданные в режиме пошаговой анимации, отображаются в окне Track View Dope Sheet в виде цветных прямоугольных блоков (рис. 8.108). Для этого на панели
инструментов данного окна должна быть включена кнопка Edit Keys
.
Рис. 8.108. Отображение следов в окне Dope Sheet
Каждый блок имеет тот же цвет, что и значок следа в видовом окне. Левый край каждого блока обозначает ступню в состоянии касания (Touch), правый край обозначает
состояние подъема (Lift). Промежуток между касанием и подъемом — период, когда
ступня находится на основании (Plant). Расстояние между блоками — время, когда
ступня не касается следа и находится в состоянии движения (Move). Например, на
рис. 8.108 видно, что левая ступня между следами 3 и 5 находится в состоянии движения в течение 12 кадров.
При выделении следа в видовом окне одновременно выделяется блок этого следа в окне
Track View - Dope Sheet и наоборот. При выделении блока по его краям появляются
маркеры — белые кружки (рис. 8.109). Чтобы выделить блок, в окне Track View - Dope
Sheet следует щелкнуть в центре блока. Для выбора нескольких блоков в окне Track
View - Dope Sheet можно очертить их прямоугольником.
Если щелкнуть указателем мыши с одного края блока, то на этой стороне появится
один маркер. Тогда этот край можно перемещать в одну или другую сторону, тем
самым меняя промежуток времени, в течение которого ступня будет соприкасаться
с основанием (рис. 8.110).
В окне Track View - Dope Sheet щелкните правой кнопкой мыши на любом блоке —
откроется окно Footstep Mode (рис. 8.111).
512
Глава 8
Рис. 8.109. По краям появились
маркеры блока
Рис. 8.110. Выделен
левый край блока
Рис. 8.111. Окно выбора следов
В нем можно управлять отображением параметров выбранных блоков. Внизу окна
имеются две стрелки и квадратик посередине. Нажатие левой стрелки выделяет маркер
левого края блока, правой стрелки — правого края, а нажатие квадратика выделяет оба
маркера. Если, например, сразу выбрать несколько блоков и щелкнуть левой стрелкой,
то выделятся все левые маркеры этих блоков (рис. 8.112).
Рис. 8.112. Выделены левые маркеры всех выбранных блоков
Временны́е интервалы между шагами можно менять в окне Track View - Dope Sheet
путем перемещения блоков в одну или другую сторону, изменением их длины или удалением блоков.
Пример движения biped с остановкой
Создайте biped, включите режим Footstep Mode и создайте четыре шага, предварительно нажав кнопку Default в окне Create Multiple Footstep
. В свитке Footstep
Operation нажмите кнопку Create Keys for Inactive Footsteps
, чтобы активизировать созданные шаги. Перемещая ползунок анимации, можно заметить, что анимация biped заканчивается на 63-м кадре.
Пусть после этого кадра biped приостановит свое движение до 100-го кадра, а затем снова пройдет еще четыре шага. Для этого переместите движок анимации
, в открывшемся окне
к 100-му кадру, нажмите кнопку Create Multiple Footstep
в области Timing включите опцию Start at current frame и нажмите кнопку OK. Затем
в свитке Footstep Operations нажмите кнопку Create Keys for Inactive Footsteps
Персонажная анимация
513
и воспроизведите анимацию — после первых нескольких шагов biped оторвется от земли
и опустится на землю только в 100-м кадре (см. файл \scenes\lesson_8.10\WalkStop1.max).
Раскройте окно Track View - Dope Sheet. Обратите внимание, что на диаграмме следов
между кадрами 63 и 100 нет следов (рис. 8.113). Это означает, что в этом промежутке
обе ступни biped оторваны от земли.
Рис. 8.113. Диаграмма следов
Щелкните левой кнопкой мыши с правого края следа 3 и протяните его вправо до
103-го кадра. Затем щелкните с левого края следа 4 и протяните его влево до 60-го кадра. Тем самым мы увеличим число кадров, когда обе ступни будут оставаться на земле
(рис. 8.114).
Рис. 8.114. Устранение зависания biped в воздухе
Воспроизведите анимацию (см. файл \scenes\lesson_8.10\WalkStop2.max) — biped уже не
станет взлетать вверх, однако его анимация по-прежнему будет содержать ошибку.
В режиме Footstep Mode
выделите все следы, в свитке Footstep Operation нажмите
кнопку Deactivate Footsteps (Деактивировать следы) , а затем рядом нажмите кнопку
— теперь biped будет двигаться между 60-м
Create Keys For Inactive Footsteps
и 103-м кадрами с задержкой (см. файл \scenes\lesson_8.10\WalkStop3.max).
Однако остановка biped между третьим и четвертым шагами выглядит неестественно
(рис. 8.115). Поэтому в видовом окне выделите третий след и переместите его немного
Рис. 8.115. Задержка движения между 3-м и 4-м шагами
514
Глава 8
вперед в сторону четвертого следа. Четвертый след сместите слегка назад, поближе
к третьему следу. Второй след немного сместите вперед, чтобы этот шаг не был слишком длинным (рис. 8.116).
Рис. 8.116. Смещение следов при моделировании остановки biped
На всякий случай снова выделите все следы и сначала нажмите кнопку Deactivate
Footsteps , а затем кнопку Create Keys For Inactive Footsteps
— теперь biped
будет двигаться с остановкой между третьим и четвертым шагами (см. файл \scenes\
lesson_8.10\WalkStop4.max).
Походка бегом и вприпрыжку
При беге обе ноги никогда не бывают на земле одновременно. Для организации бега
используются параметры, которые становятся активными только при отключении
опции Auto Timing:
Run Footstep — число кадров, в течение которых при беге каждая ступня остается
на земле;
Airborne — число кадров, в течение которых при беге обе ступни не касаются земли.
и выберите опцию Run (Бегом) .
Создайте biped, включите режим Footstep Mode
Создайте несколько шагов и активизируйте их. Воспроизведите анимацию. Откройте
окно Track View - Dope Sheet и разверните строку Bip001 Footsteps — на диаграмме
следов можно увидеть временны́е параметры этого бега. Передвигая блоки следов или
их края, можно регулировать темп бега (рис. 8.117).
Рис. 8.117. Диаграмма следов при беге
Когда biped перемещается прыжками (Jump), то обе его ноги одновременно касаются
земли и одновременно находятся в воздухе. При этом вертикальное движение biped
зависит от длины прыжка (рис. 8.118).
Для моделирования прыжков используются параметры, которые становятся активными
при отключении опции Auto Timing:
Персонажная анимация
515
Feet Down — число кадров, в течение которых обе ступни на земле;
Airborne — число кадров, в течение которых ступни не касаются земли.
На диаграмме следов при прыжках прямоугольные блоки следов находятся напротив
друг друга (рис. 8.119).
Рис. 8.118. Прыжки biped
Рис. 8.119. Диаграмма следов при прыжках
Деактивация следов
При изменении положения и временны́х интервалов активных следов соответственно
меняется и анимация biped. Деактивация следов временно приостанавливает изменение
анимации. Поэтому, когда вы передвигаете деактивированные шаги или меняете их
временны́е интервалы, biped продолжает выполнять те же самые движения, которые он
делал до того, как эти следы были деактивированы.
Деактивацию следов следует делать во всех случаях, когда вы выполняете существенное редактирование положения следов или их временны́х интервалов. Для деактивации
следов их следует выделить и в свитке Footstep Operations нажать кнопку Deactivate
Footsteps . После внесения изменений в положение следов или их временны́х интервалов в свитке Footstep Operations снова нажмите кнопку Create Keys For Inactive
Footsteps , — благодаря этому вновь будут созданы ключи анимации biped, и он будет следовать по этим шагам.
Можно деактивировать только непрерывную последовательность следов. В видовых
окнах активные следы отображаются бледным цветом, а деактивированные следы
окрашены ярче. То же относится и к их изображениям на диаграмме следов в окне
Track View - Dope Sheet (рис. 8.120).
516
Глава 8
Рис. 8.120. Неактивные следы окрашены ярче
Существует ряд ситуаций, когда приходится прибегать к деактивации шагов:
когда активные шаги перемещаются или вращаются, то может оказаться, что перво-
начальные ключи больше не соответствуют созданной анимации. В таком случае
сначала следует деактивировать следы, затем переместить их в нужное место,
а потом снова активировать;
при изменении временны́х интервалов с помощью диаграммы Track View - Dope
Sheet можно получить сообщение об ошибке, в котором говорится, что вы пытаетесь нарушить некоторые правила перемещения ключей. В этом случае также сначала следует деактивировать следы, в окне Dope Sheet выполнить настройки временны́х интервалов, а затем снова активировать следы;
вы могли активировать следы, а затем изменить автоматически созданную анима-
цию. Если после этого вы захотите вернуться к первоначальной анимации, то можете сначала деактивировать следы, а затем снова активировать их.
При работе со следами проще всего сначала деактивировать их, затем выполнить нужные изменения и после этого заново активировать следы и воспроизвести анимацию,
чтобы убедиться в правильности настроек следов. Такие шаги следует повторять до тех
пор, пока не будут получены нужное размещение следов и их правильные временны́е
интервалы. Однако деактивация следов, а затем их повторная активация могут привести к нежелательным изменениям ключей остальных частей biped. Поэтому рекомендуется сначала работать только со следами, игнорируя анимацию верхней части biped.
Когда эта работа будет завершена, следует вручную настроить анимацию остальных
частей biped. В противном случае вы можете терять всю выполненную вручную анимацию всякий раз, когда выполняете деактивацию и повторную активацию следов.
Пример использования деактивации следов
Откройте файл \scenes\lesson_8.10\BipStep.max и воспроизведите анимацию — biped
будет перемещаться в прямом направлении по неровной поверхности (рис. 8.121).
выделите все следы (нажмите комбинацию клавиш
В режиме Footstep Mode
<Ctrl> + <A>) и в свитке Footstep Operation измените значение параметра Bend (Поворот) на –15°. Поправьте положение следов в вертикальном направлении относительно
поверхности и снова воспроизведите анимацию — может оказаться так, что анимация исказится (рис. 8.122). Этому состоянию сцены соответствует файл \scenes\
lesson_8.10\BipStep1.max.
Чтобы исправить ситуацию, выделите все следы и в свитке Foorstep Operation нажмите кнопку Deactivate Footsteps , а затем нажмите рядом с ней кнопку Create Keys
For Inactive Footsteps .
Персонажная анимация
517
Рис. 8.121. Biped на неровной поверхности
Рис. 8.122. Искажение анимации
Подъем по винтовой лестнице
Создайте винтовую лестницу, по которой будет подниматься biped. Для этого на вклад| Geometry
из выпадающего списка выберите пункт Stairs (Лестницы)
ке Create
и воспользуйтесь вариантом построения лестницы Spiral Stair (Винтовая лестница).
Подберите соответствующие размеры лестницы. При этом нужно правильно оценить
высоту ступенек и высоту ног biped. Поместите лестницу перед biped (рис. 8.123).
Создайте первые 8 шагов. Такому состоянию сцены соответствует файл \scenes\
lesson_8.10\Footstep2-2.max.
Добавим вручную еще несколько шагов. Для этого снова выделите какой-нибудь подобъект biped, включите режим пошаговой анимации и в свитке Footstep Creation на, а затем в видовом окне продолжайте щелжмите кнопку Create Footsteps (append)
кать левой кнопкой мыши, например, еще 14 раз, чтобы продлить создание следов.
— теперь движения
Снова нажмите кнопку Create Keys For Inactive Footsteps
biped будут состоять из 22 шагов.
518
Глава 8
Рис. 8.123. Создана лестница
На видах Top и Front несколько последних следов поднимите и переместите так, чтобы
они расположились на ступеньках лестницы. Следы нужно поднять несколько выше
ступенек, поскольку по следу будут ступать ступни biped. С помощью команды Select
and Rotate
разверните следы в направлении движения biped. Выполните команду
Unhide All и снова воспроизведите анимацию — панда будет подниматься по ступенькам винтовой лестницы (рис. 8.124). Такому состоянию сцены соответствует файл
\scenes\lesson_8.10\Footstep2-3.max.
а
б
Рис. 8.124. Панда на винтовой лестнице: а — следы на виде Top; б — подъем по лестнице
Отключите режим пошаговой анимации. Выделите COM-объект панды — на треке
анимации можно будет видеть все ключи анимации, автоматически созданные для этого объекта (рис. 8.125).
Персонажная анимация
519
Рис. 8.125. Автоматически созданы ключи анимации
Остановка biped
Снова скройте сеточную модель панды. В окне Time Configuration
установите
длину анимации, равную 400 кадрам. Включите режим пошаговой анимации. В меню
Graph Editors откройте диаграмму Track View - Dope Sheet. Внизу левой части диаграммы раскройте строку Panda Footsteps. В меню этого окна откройте опцию View и
выберите команду Frame | Frame Horizontal Extents. — диаграмма следов растянется
на всю длину анимации (рис. 8.126).
Рис. 8.126. Диаграмма следов панды
Сделаем так, чтобы панда остановилась перед подъемом по лестнице. Для этого на диаграмме следов рамкой выделите следы с 11-го по 22-й и сдвиньте их вправо на 60 кадров. Обратите внимание, что на 12-м следе теперь номер кадра 180 изменится на 240.
Щелкните в правой части метки 10-го следа — справа должен появиться кружок. Подведите курсор к правой части этой метки и протяните ее до 230-го кадра. Таким образом, этот шаг будет длиться 78 кадров: со 150-го кадра до 228-го. Щелкните слева
на метке 11-го следа и протяните этот край влево с 205-го кадра до 165-го — этот шаг
будет длиться также 78 кадров: со 165-го до 243-го (рис. 8.127).
Рис. 8.127. Диаграмма следов панды с задержкой после 10-го шага
Воспроизведите анимацию — после 10-го шага панда замедлит движение, а потом снова продолжит движение с прежней скоростью (см. файл \scenes\lesson_8.10\Footstep24.max).
Перейдите в окно Front и воспроизведите анимацию. Обратите внимание, что в промежутке между кадрами 228 и 235 ступни панды одновременно находятся в воздухе,
что не соответствует походке шагом (рис. 8.128).
520
Глава 8
Рис. 8.128. Зависание панды
Чтобы исправить походку, включите режим пошаговой анимации, выделите все следы
и в свитке Footstep Operation нажмите кнопку Deactivate Footsteps , а затем распо— походка испраложенную рядом с ней кнопку Create Keys for Inactive Footsteps
вится (см. файл \scenes\lesson_8.10\Footstep2-41.max).
Хлопок над головой, поворот головы
Пусть после остановки панда хлопнет лапами и помотает головой в разные стороны.
Включите режим Auto Key. Перейдите к кадру 200. Выделите оба плеча (кости Panda R
UpperArm и Panda L UpperArm) и в локальной системе координат с помощью команды
Select and Rotate
поверните плечи так, чтобы панда подняла лапы вверх перед
собой. Скопируйте 200-й кадр в 210-й. Перейдите к кадру 210 и поверните лапы так,
чтобы они сомкнулись над головой.
По-прежнему оставьте включенным режим Auto Key. Перейдите в 180-й кадр и поверните голову панды вправо. Перейдите к кадру 220 и поверните ее голову влево. Воспроизведите анимацию (рис. 8.129).
Пусть теперь панда присядет. Для этого нужно выбрать такой кадр, в котором обе ее
ступни будут на полу. Чтобы найти такой кадр, включите режим пошаговой анимации
Рис. 8.129. Промежуточный кадр анимации
Персонажная анимация
521
и откройте диаграмму следов в окне Track View - Dope Sheet. Выберите, например,
кадр с номером 200 в промежутке между 10-м и 11-м шагами, в котором обе ступни
панды находятся на уровне пола (рис. 8.130).
Рис. 8.130. В 200-м кадре обе ноги панды находятся на уровне пола
Отключите режим Footstep Mode
и включите режим Auto Key. В свитке Track
Selection нажмите кнопку Body Vertical и опустите COM-объект панды так, чтобы
она присела в этом кадре.
В конце движения ноги панды проседают. Чтобы это устранить, в окне Time Confiустановите длину анимации равной 393-м кадрам.
guration
Отключите режим Auto Key и воспроизведите анимацию (см. файл \scenes\lesson_8.10\
Footstep2-6-1.max).
Сохранение анимации с MAX-объектами
и загрузка анимации
Сохраним созданную анимацию. Выполните команду Unhide All, чтобы открыть сеточную модель панды, иначе она не сохранится. Отключите режим пошаговой анимав свитке
ции (в противном случае будет сохраняться FIG-файл) и на вкладке Motion
. В открывшемся окне Save As (см. рис. 8.86)
Biped щелкните на кнопке Save File
введите имя сохраняемого BIP-файла: Footstep. Установите флажки для Save Segment
at Current Position and Rotation и A Keyframe per Frame. В полях From и To проверьте правильность установки интервала сохраняемой анимации. Кроме того, установите флажок для Save MAX Objects, поскольку мы предполагаем сохранить в BIPфайле также сеточную модель панды, плоскость основания и лестницу. В нижней части
— откроется диалоговое окно, в котором укажите доокна нажмите кнопку выбора
полнительные объекты, которые нужно сохранить в файле. Нажмите кнопку Save.
Выполните теперь команду File | Reset, чтобы открыть новое окно программы. На
щелкните на кнопке Biped и создайте объект biped. Выделите лювкладке Systems
бую кость biped и на вкладке Motion
в свитке Biped нажмите кнопку Load File
,
чтобы загрузить сохраненный только что файл Footstep.bip. Чтобы загрузить сохраненные MAX-объекты, установите флажок напротив опции Load MAX Objects и ниже
пометьте опцию All. Щелкните кнопкой Open и воспроизведите анимацию. Движения
biped и размеры MAX-объектов окажутся несогласованными.
Начните снова — создайте biped и при загрузке файла Footstep.bip дополнительно поставьте флажок напротив опции Restructure biped to match file (Согласовать параметры biped с файлом) — пропорции объекта biped автоматически изменятся, и он будет
522
Глава 8
нормально подниматься по лестнице (рис. 8.131). Этому состоянию сцены соответствует файл \scenes\lesson_8.10\Footstep2-7.max.
Если нужно сохранить другие пропорции biped, то можно поступить иначе. Для этого
следует подобрать размеры biped так, чтобы он нормально поднимался по лестнице.
Снова выполните команду Reset, создайте biped и загрузите свой файл Footstep.bip со
всеми MAX-объектами, не устанавливая флажок напротив Restructure biped to match
file. Выделите любую кость biped и включите режим Figure Mode . Раскройте свиток
Structure и установите значение параметра Height = 250. Отключите режим Figure
и проиграйте анимацию — biped будет нормально подниматься по лестнице
Mode
(рис. 8.132). Такому состоянию сцены соответствует файл \scenes\lesson_8.10\Footstep28-1.max.
Рис. 8.131. Пропорции biped
автоматически изменились
Рис. 8.132. Размеры biped согласованы
с размерами MAX-объектов
Анимация лап панды
При наблюдении за походкой панды можно заметить, что ее ноги движутся равномерно, а лапы слишком прямо вытянуты по бокам. Кроме того, если отобразить модель
панды, то окажется, что при движении лапы панды пересекаются с другими частями
тела. Поэтому сейчас будет выполнена более тонкая настройка походки панды.
Дополним движение панды элементами свободной анимации, чтобы придать ее лапам
бо́льшую естественность. Mожно выбрать любую из костей и увидеть, какие ключи
анимации соответствуют ей при движении.
В свитке Biped отключите режим Footstep mode
— теперь можно вращать лапы
панды. Выберите объект Panda L UpperArm. Обратите внимание на положение ключей
в строке трека анимации — повернуть лапы панды нужно в каждом из них.
Включите режим Auto Key и активизируйте переключатель Key Mode Toggle (Режим
переключения кадров анимации)
. Щелкните мышью на правой стрелке ползунка
таймера анимации (рис. 8.133) — он переместится к кадру с номером 30. Поверните
левую лапу на небольшой угол в сторону от тела. То же самое проделайте с правой
лапой.
Персонажная анимация
523
Рис. 8.133. Перемещение по шкале анимации
Снова щелкните мышью на правой стрелке ползунка таймера анимации — он переместится к кадру с номером 45. Поверните лапы панды, чтобы придать им нужное положение. Аналогично поступайте во всех других ключах анимации и не забудьте про нулевой ключ. Параллельно можно слегка согнуть лапы в локтях.
Кстати, в нашем случае можно было бы не пользоваться командой Auto Key и фиксировать положение костей персонажа в ключевых кадрах с помощью команды Set Key
, расположенной в свитке Key Info.
Корректировка походки персонажа
Ключи анимации можно настраивать также при помощи окна просмотра треков анимаи откройте окно Graph
ции. Для этого снова включите режим Footstep mode
Editors (Графические редакторы) | Track View - Dope Sheet (Просмотр треков на диаграмме ключей). Откроется диалоговое окно, в котором раскройте строку Panda
Footsteps с настройкой шагов и включите режим Edit Keys (Редактирование ключей)
(рис. 8.134). Здесь можно увидеть все шаги моделируемого персонажа: синие
для левой ноги и зеленые — для правой.
Рис. 8.134. Диаграмма ключей анимации
Каждый из них можно перемещать в любую сторону, тем самым настраивая походку
персонажа и делая ее более естественной. Например, в синей строке пара 30–48 означает, что левая нога приземляется в 30-м кадре и снова отрывается от земли на следующем шаге в кадре с номером 48. Можно изменить походку так, чтобы она ускорялась
в начале движения, а затем замедлялась в конце, делая первые шаги более быстрыми, а
последующие — медленными. Для этого щелкните правой кнопкой мыши по левому
или правому краю прямоугольника с номерами шагов так, чтобы около этого номера
появился светлый кружок, а затем сместите этот край в нужную сторону, сокращая или
524
Глава 8
увеличивая число кадров в промежутке. Сделайте это как для левой, так и для правой
ноги. Не забывайте, что шаги должны перекрываться, иначе персонаж будет не ходить,
а летать (рис. 8.135).
Рис. 8.135. Походка персонажа откорректирована
Отключите режим Auto Key и проиграйте анимацию. Сохраните полученную анимацию biped для ее повторного использования с другими персонажами (см. файл
\sceneassets\animations\Panda_walk.bip). Для этого выделите любую кость biped, в свитке
и укажите папку, в которой вы храните BIP-файлы.
Biped нажмите кнопку Save File
Визуализация анимации
Выберите все кости объекта biped и выполните команду Hide Selection — система костей biped станет невидимой. Щелкните в окне проекции правой кнопкой мыши и выполните команду Unhide By Name (Показать по имени). Выберите сеточную модель
панды. Перейдите в окно Perspective и воспроизведите анимацию (см. файл \scenes\
esson_8.10\Footstep_end.max).
Практическая работа
Откройте файл \scenes\practice_8.10\Scrambler2.max и создайте произвольную пошаговую анимацию, например, как показано в файле \renderoutput\practice_8.10\steps.mpg.
Упражнение № 8-11.
Клип из нескольких BIP-файлов
Окно Motion Mixer
В этом упражнении с помощью инструментов панели Motion Mixer (Миксер движений) мы соединим несколько BIP-файлов в одну анимацию.
Откройте из папки этого упражнения файл \scenes\lesson_8.11\model1.max с моделью
панды, готовой для анимации. Выберите любую часть скелета модели и перейдите на
. В свитке Biped отключите режим Figure Mode (Режим редактировавкладку Motion
ния фигуры) , если он включен. В свитке Biped Apps нажмите кнопку Mixer
—
откроется окно Motion Mixer (рис. 8.136).
Объект biped (в нашем случае Panda) в этом "миксере" отображается автоматически.
Он имеет группу треков с именем All (Все). Там вы и начнете размещать отдельные
треки, BIP-файлы с движениями и переходы. Метка All означает, что движения, разме-
Персонажная анимация
525
щенные на треках, будут применены к biped в целом, а не к его отдельным частям.
отключает анимацию в треках, расположенных справа.
Левая кнопка под именем All
При открытии окна Motion Mixer в свитке Biped автоматически включается также
.
кнопка Mixer Mode (Миксер-режим)
Рис. 8.136. Окно Motion Mixer
Добавление BIP-файлов в "миксер"
В каждом треке в "миксер" добавляются отдельные клипы в виде BIP-файлов и плавные переходы между ними. Конечный результат всей работы создается в формате MIX.
Сейчас мы добавим два BIP-файла в группу треков с переходом между ними.
Щелкните мышью на самом верхнем треке в группе треков All напротив символов
— после выделения этот трек станет более светлым (рис. 8.137).
и
Рис. 8.137. Выбран верхний трек
По умолчанию самый верхний трек — это трек уровня, который создается для последовательности BIP-файлов без переходов между ними. Если же вы хотите создать переход
между двумя BIP-файлами, то вам понадобится переходный трек.
На панели инструментов окна Motion Mixer откройте меню Tracks (Треки) и выполните команду Convert to Transition Track (Конвертировать в переходный трек)
(рис. 8.138) — в треке появится место для других треков и переходов между ними.
526
Глава 8
Рис. 8.138. Конвертирование в переходный трек
В том же окне выполните команду Tracks (Треки) | New Clips (Новые клипы) | From
Files (Из файлов). Откройте BIP-файл \scenassets\animations\kneebends.bip — к треку добавится BIP-файл, содержащий приседания панды. Щелкните правой кнопкой мыши
в свободной области переходного трека и выполните команду New Clips | From Files.
Выберите файл \sceneassets\animations\Panda_walk.bip — второй клип присоединится
к треку, и автоматически добавится переход между двумя BIP-файлами с временны́м
промежутком между ними. Нажмите кнопку Zoom Extents (Раскрыть на все окно)
панели инструментов окна Motion Mixer, чтобы лучше рассмотреть треки движений
в этом окне (рис. 8.139).
Рис. 8.139. Треки движений в окне Motion Mixer
На панели инструментов Motion Mixer нажмите кнопку Set Range (Установить число
кадров анимации)
. Эта команда автоматически устанавливает число кадров анимации, необходимых для "миксера". В нашем случае будет установлено число кадров
анимации, равное 255 (смотрите линейку кадров анимации внизу экрана).
Чтобы подключить дополнительные BIP-файлы, достаточно в той же области переходного трека щелкнуть правой кнопкой мыши и выполнить команду New Clips | From
Files, затем выбрать новый BIP-файл и снова нажать кнопку Zoom Extents
. А по-
Персонажная анимация
527
сле этого опять нажать кнопку Set Range
ции, необходимых для "миксера".
, чтобы установить число кадров анима-
Для редактирования клипа на панели инструментов окна Motion Mixer нажмите кнопку Move Clips
, щелкните мышью на нужной части клипа и переместите ее в одну
или в другую сторону. Чтобы сделать часть клипа более длинной или короткой, подведите курсор к краю требуемой части клипа и переместите его (рис. 8.140).
Рис. 8.140. Редактирование клипа
Воспроизведение объединенной анимации
Вы создали базовую композицию из двух BIP-файлов и переходом между ними. Теперь
эту анимацию предстоит воспроизвести. В свитке Biped нажмите кнопку Mixer Mode
, если она еще не включена. Нажмите кнопку Play Animation
(Миксер-режим)
и понаблюдайте за анимацией в окне проекции и за ее ходом в окне Motion Mixer.
В первой части клипа панда выполняет несколько приседаний, а затем плавно переходит к походке, созданной во второй части клипа (см. файл \scenes\lesson_8.11\Mixer_
Panda.max).
Сохранение и загрузка анимаций
При выделении названия персонажа в левом столбце окна Motion Mixer становится
доступным меню Mix. Это меню можно раскрыть там же нажатием правой кнопки
мыши на названии персонажа (рис. 141).
Меню Mix используется для добавления и удаления треков анимации, сохранения и
загрузки созданных анимаций в формате MIX. После открытия окна Motion Mixer на
командной панели появляется свиток Mixer, также содержащий команды для загрузки
и сохранения файлов в формате MIX (рис. 142).
В окне Motion Mixer выделите название персонажа Panda, щелкните на этом названии
правой кнопкой мыши и выполните команду Save Mix File. Сохраните созданный MIXфайл под названием Mix2.mix.
528
Глава 8
Рис. 141. Открытие меню Mix
Рис. 142. Свиток Mixer
Откройте из папки этого проекта файл \scenes\lesson_8.11\Mixer_Panda1.max. В нем приведен пример анимации панды, состоящий из четырех BIP-файлов (рис. 8.143). В свитке Mixer выберите команду Save и сохраните созданную анимацию под названием
Mix4.mix.
Рис. 8.143. Анимация состоит из четырех последовательных BIP-файлов
Свиток Mixer можно использовать для анимации одновременно нескольких персонажей. В качестве примера в новой сцене откройте файл \scenes\lesson_8.11\Scrambler2.max.
Выделите любую кость персонажа, перейдите на вкладку Motion и в свитке Biped Apps
щелкните на кнопке Mixer, чтобы открыть окно Motion Mixer. На командной панели
и с помощью команды Load File
из свитка Mixer
включите режим Mixer Mode
загрузите MIX-файл Mix4.mix, созданный ранее для анимации панды. На панели инструментов Motion Mixer нажмите кнопку Set Range (Установить число кадров анима-
Персонажная анимация
529
ции)
. После этого можно скрыть скелет персонажа и воспроизвести анимацию
(рис. 8.144). Этому состоянию сцены соответствует файл \scenes\lesson_8.11\
ScramblerMix4.max.
Теперь в этой же сцене создайте новый biped и откройте окно Motion Mixer. В этом
окне автоматически будет создана группа треков для объекта Bip002 (рис. 8.145).
Создайте там переходной трек, а затем загрузите туда несколько BIP-файлов, выбрав их
все из списка доступных BIP-файлов. В меню окна Motion Mixer щелкните на кнопке
Set Range и воспроизведите анимацию. Если взаимное положение персонажей окажется неудачным, то в персонаже Bip002 выделите любую кость и в свитке Biped включите
команду Move All Mode
. После этого персонаж можно переместить в любое место
(рис. 8.146). Этому состоянию сцены соответствует файл \scenes\lesson_8.11\Anim2Pers.max.
Рис. 8.144. Промежуточный
кадр анимации
Рис. 8.145. Создана
группа треков
для объекта Bip002
Рис. 8.146. Анимация
двух персонажей
Полученную анимацию можно редактировать непосредственно в окне Motion Mixer.
В открытой сцене удалите, например, второй BIP-файл — kneebends.bip — из анимации
петуха и вместо него вставьте BIP-файл \sceneassets\animations\AxeKick.bip. Затем в меню
окна Motion Mixer включите команду Move Clips и перемещайте файлы так, чтобы
получить новую анимацию (рис. 8.147). Этому состоянию сцены соответствует файл
\scenes\lesson_8.11\Anim2Pers1.max.
Самостоятельно создайте сложную анимацию для трех персонажей.
530
Глава 8
Рис. 8.147. Анимация после ее редактирования
Контрольные вопросы
1. Как после создания biped присвоить ему уникальное имя?
2. Как выбрать COM-объект biped?
3. Как настраиваются параметры biped?
4. Назовите типы отображаемых скелетов biped.
5. Как связать произвольный объект с biped?
?
6. В каких случаях используется команда Set Planted Key
7. Как выбрать опорную точку кисти или ступни? Для чего это делается?
8. Как можно управлять величиной гравитации biped?
9. Что такое Rigging и Skinning?
10. Для чего применяется модификатор Physique?
11. Какие параметры biped можно редактировать?
12. Как встроить систему костей скелета внутрь модели двуногого объекта?
13. Как настроить модификатор Physique?
14. Как отредактировать оболочки (Envelopes)?
15. Какую роль играют внутренняя и внешняя области оболочки?
16. Какова роль параметров Parent Overlap и Child Overlap в оболочке?
17. Что такое BIP-файл и как его применить к другому объекту?
Персонажная анимация
18. Как проверить настройки оболочки с помощью BIP-файла?
19. Каков порядок действий при анимации biped в свободной форме?
20. Как откорректировать анимацию biped, созданную в пошаговом режиме?
21. Как создать клип из нескольких BIP-файлов?
22. Какую роль играет инструмент Weight Properties?
23. Как сохранить готовую анимацию?
24. Какие существуют способы создания пошаговой анимации?
25. Какие параметры походки можно задать в режиме пошаговой анимации?
26. Как заставить biped двигаться задом?
27. Как увидеть следы biped в видовом окне и в окне Dope Sheet?
28. Как можно корректировать походку biped в окне Dope Sheet?
29. Как настроить движение biped с остановкой?
30. В каких случаях выполняется деактивация следов biped?
31. Как создается клип из нескольких BIP-файлов?
32. Как редактируется клип в окне Motion Mixer?
531
532
Глава 8
Использованная литература
1. Autodesk 3ds Max 2020. Help. https://help.autodesk.com/view/3DSMAX/2020/ENU
(дата обращения: 08.06.2019.
2. Autodesk 3ds Max 8 Tutorials. [Электронный ресурс]. — Autodesk, Inc., 2008.
3. Didik Wijaya. Моделируем Кунг-фу панду. https://demiart.ru/forum/index.php?
showtopic=57581 (дата обращения: 09.06.2019).
4. Didik Wijaya. Texturing a Dolphin. https://demiart.ru/forum/index.php?
showtopic= 78110 (дата обращения: 09.06.2019).
5. Горелик А. Г. Самоучитель 3ds Max 2012. — СПб.: БХВ-Петербург, 2012. — 544 с.
6. Learning Autodesk 3ds Max Design 2010 (+DVD-ROM). — Focal Press, 2010. — 640 c.
7. Ray-Traced Reflections and Refractions with the mental ray Renderer. Autodesk 3ds
Max 2015. Help.
8. V-Ray Next for 3ds Max 2020. http://torr-nado.ru/details.php?id=58229
(дата обращения: 09.06.2019).
9. Анимация персонажей. https://foxter.ru/showthread.php?t=4717
(дата обращения: 09.06.2019).
10. Бондаренко С. В., Бондаренко М. Ю. 3ds Max 8. Библиотека пользователя (+CD). —
СПб.: Питер, 2006. — 608 с.
11. Бондаренко С. В., Бондаренко М. Ю. 3ds Max 9. Трюки и эффекты (+DVD). —
СПб.: Питер, 2008. — 592 с.
12. Бонни Ш., Анзовин С. Внутренний мир 3ds Max 9 (+DVD): пер. с англ. —
М.: Издат. дом "Вильямс", 2007. — 1072 с.
13. Верстак В. А. Анимация в 3ds Max 8. Секреты мастерства (+CD). — СПб.: Питер,
2006. — 432 с.
14. Верстак В. А. 3ds Max 2008. Трюки и эффекты (+DVD-ROM). — СПб.: Питер,
2009. — 488 с.
15. Горелик А. Г. Основы моделирования и визуализации в 3ds Max (в упражнениях)
(+CD): учебное пособие для студентов специальности "Дизайн". — Минск:
Современные знания, 2009. — 394 с.
16. Горелик А. Г. Самоучитель 3ds Max 2018. — СПб.: БХВ-Петербург, 2017. — 528 с.
534
Использованная литература
17. Маров М. 3ds Max. Реальная анимация и виртуальная реальность (+CD). — СПб.:
Питер, 2005. — 415 с.
18. Эпов Д. Моделирование скатерти. https://www.youtube.com/watch?v=
mmbd-0DVYPc (дата обращения: 09.06.2019).
19. Системные требования для Autodesk 3ds Max 2020. [Электронный ресурс].
20. Анимация кривошипно-шатунного механизма ДВС.
http://createanimation.ru/viewtopic.php?f=20&t=113 (дата обращения: 08.06.2019).
21. Character studio. Урок четвертый: свойства Motion Mixer.
http://www.3dsociety.ru/lessons/character-studio-urok-chetvertyi-svoistva-motionmixer (дата обращения: 09.06.2019).
22. Мэрдок К. Л. 3ds Max 2008. Библия пользователя. М.: Издат. дом "Вильямс",
2008. — 1360 с.
23. Основы 3ds Max 8: учебный курс от Autodesk (+CD): пер. с англ. —
М.: Издат. дом "Вильямс", 2006. — 832 с.
24. Пекарев Л. 3ds Max 9 для архитекторов, дизайнеров и конструкторов (+CD). —
СПб.: БХВ-Петербург, 2007. — 448 с.
25. Преломление (MentalRay). https://render.ru/ru/a.misharin/post/11672
(дата обращения: 08.06.2019).
26. Пронин Г. Технология дизайна в 3ds Max 2011. От моделирования
до визуализации. (+CD). — СПб.: Питер, 2011. — 384 с.
27. Рисуем яблоко. http://aforizm05.narod.ru/index.files/yabloko.htm
(дата обращения: 08.06.2019).
28. Робертс С. Анимация 3D-персонажей. — М.: НТ Пресс, 2006. — 264 с.
29. Рябцев Д. В. Дизайн помещений и интерьеров в 3ds Max 7 (+CD). — СПб.: Питер,
2006. — 272 с.
30. Сиваков И. Vray — что это такое и как этим пользоваться: Часть 1.
http://www.ixbt.com/soft/vray-1.shtml (дата обращения: 08.06.2019).
31. Основы 3ds Max 8 MaxScript: учебный курс от Autodesk. — М.:
Издат. дом "Вильямс", 2006. — 256 с.
32. Тозик В., Меженин А. 3ds Max 8. Трехмерное моделирование и анимация. —
СПб.: БХВ-Петербург, 2006. — 1008 с.
33. Arnold for 3DS Max. User Guide. https://docs.arnoldrenderer.com/display/
A5AF3DSUG/Arnold+for+3DS+Max+User+Guide (дата обращения: 08.06.2019).
34. Шишанов А. В. Дизайн интерьеров в 3ds Max 2008 (+DVD). — СПб.: Питер,
2008. — 272 с.
35. Шляхтина С. 3D Studio MAX: первые шаги. Урок 11. Основы проецирования материалов // КомпьютерПресс. — 2006. — № 12. http://www.compress.ru/article.aspx?
id=17003&iid=786 (дата обращения: 08.06.2019).
36. Шляхтина С. 3D Studio MAX: первые шаги. Урок 21. Иерархия и прямая кинематика // КомпьютерПресс. — 2006. — № 12. https://compress.ru/article.aspx?id=18343
(дата обращения: 08.06.2019).
Использованная литература
535
37. Image Sampler. Anti-Aliasing. https://docs.chaosgroup.com/display/VRAY3MAX/
Image+Sampler+%7C+Anti-Aliasing (дата обращения: 08.06.2019).
38. Arnold. Material Library. https://docs.arnoldrenderer.com/display/A5AF3DSUG/
Material+Library (дата обращения: 08.06.2019).
39. Создание штор в 3ds Max. http://junior3d.ru/lessons/modCurtain.html
(дата обращения: 08.06.2019).
40. Горелик А. Г. Самоучитель 3ds Max 2014. — СПб.: БХВ-Петербург, 2014. — 544 с.
ПРИЛОЖЕНИЕ
Описание электронного архива
Электронный архив, сопровождающий книгу, выложен на FTP-сервер издательства по
адресу: https://zip.bhv.ru/9785977517218.zip. Ссылка на этот архив доступна и со страницы книги на сайте www.bhv.ru.
Содержимое электронного архива приведено в табл. П.1.
Таблица П.1. Содержимое электронного архива
Папки, файлы
Описание
номер_главы\#_project\scenes\
Сцены для упражнений
(файлы с расширением max)
номер_главы\#_project\renderoutput\lesson_#
Видеофайлы
(файлы с расширением avi, mp4, mpg)
номер_главы\#_project\sceneassets\images\
Текстурные карты для сцен
(растровые изображения)
номер_главы\#_project\sceneassets\sounds\
Звуковые файлы
номер_главы\#_project\scenes\practice_#,
номер_главы\#_project\renderoutput\practice_#
Самостоятельные работы к упражнениям
номер_главы\#_images\
Файлы со всеми рисунками в цветном
исполнении
номер_главы\#_video
Видеошпаргалки к упражнениям
(файлы с расширением mp4)
Glossary.pdf
Англо-русский словарь терминов
Предметный указатель
2
2-Sided 250
A
Add Custom Colors 52
AEC Extended 52, 137
Affect Pivot Only 34, 80, 208
Align 59
Align Orientation 45, 59
Align Position 44, 59
Align Selection 59
Amount 369
Angle Snap 64
Angle Snap Toggle 43
Archive 45
Arnold 251
Arnold Light 253, 257
Array 56
Assign Material to Selection 178, 180
Atmosphere Shadows 158
Attach Mult 96
Auto Key Mode 335, 338
AutoGrid 73
B
Bind to Space Warp 403
bip-файл 483, 487, 524–526
Bitmap 195
Body Type 446
C
Caddy-интерфейс 109
Cameras 24
Checker 182, 195, 196
Clipping 317
Color Selector 52
COM 444, 465, 485
Compact Material Editor 178
Configure Project Paths 48
Configure Viewports 25
Convert to Editable Poly 120
Convert to Editable Spline 96
Coordinates 198
Copy 36
Curve Editor 345, 347, 372
D
Default Lights 152
Default Scanline Renderer 249
Displacement 199
Dope Sheet 345
E
Editable Mesh 42
Editable Spline 78, 96
Effector 388
Emission 186
Enable In Renderer 81
Enable In Viewport 81
EndEffector 388
Envelope 473, 483
Environment and Effects 67, 246
Environment Map 246
Export 46
Extended Primitives 63
538
F
Far Attenuation 156
Figure Mode 448, 465, 470, 483, 524
Flatten Mapping 229
Footstep animation 484
FractureVoronoi 437
Free Direct 153
Free Spot 153, 160
Freeform 116
Freeform animation 484
G
Generate Mapping Coordinates 54, 212, 213
Geometry 24
Get Material 179
Get Path 85
Get Shape 85
Gizmo 68, 219, 220
Glossiness 178
Gradient 195
Gradient Ramp 206
Graph Editors 345
Grid and Snap Setting 41
Grid and Snap Settings 42
Group 38
H
HDRI карта 164
Helpers 24
I
Ignore Backfacing 225
IK-цепи 390
Import 47, 216
Inherit 383, 384
Instance 36
Interactive IK 388, 389
K
Key Mode Toggle 333, 522
L
Light Lister 169
Lights 24
Lock Selection Set 31
Предметный указатель
M
Make unique 37
Manage Layers 38
Mask 196
MassFX 417
◊ Multi-Object Editor 422
◊ Physical Fabric Properties 440
◊ Physical Material 424, 429
◊ Simulation Tools 421
◊ Start in Sleep Mode 423
◊ World Parameters 419
◊ виды сеток 425
◊ ограничитель Ball & Socket Constraint
434
◊ ограничитель Hinge 435
Material IDs 192
Material/Map Browser 187
Maximize Viewport Toggle 28
Merge 47
Mirror 37, 64
Modifier List 67
Modify Selection 107
Motion Blur 342
Motion Flow 448
Motion Mixer 524, 527
Motion Path 340, 370
Move Transform Type-In 32, 58
N
Near Attenuation 156
Next Frame 335
NURBS-кривые (NURBS Curves) 75, 143
O
Omni. 154
Opacity 178
P
Pelt Map 238
Physical Camera 278
Physical Camera Exposure Control 168
Physical Material 182
Pick Material from Object 199
Pivot Point 34
Play Animation 335
Previous Frame 335
Project 47
Предметный указатель
Projector Map 174
ProSound 376, 377, 416
Q
Quick Peel 238
R
Real-World Map Size 216
Refections 185
Reference 36
Reflection 194
Render Production 48
Render Setup 63
Render UVW Template 242
Reset XForm 103, 217
Rigging 464
Rotational Joints 389
Roughness 194
S
Save Image 49
Scene Converter 270
Select and Move 32
Select and Place 65
Select and Rotate 33
Select Bitmap Image 197
Select By 31
Select Invert 31
Select Object 30
Set Active Project 48, 54
Set Key Filters 368, 369
Set Key Mode 348, 367
Shaded 487
Shadow Map 157
ShapeMerge 114
Shapes 24
Show Grids 41
Skylight 154, 162, 164
Slate Material Editor 180, 209
Sliding Joints 389
Smooth 53
Snaps 42
539
Snaps Toggle 55
Soft Selection 108, 208
Space Warps 24
Splines 75
Standard Surface 252, 260
Start in Sleep Mode 436
Swirl 195
System Unit Setup 41
Systems 24
T
Target Direct 153, 162
Target Spot 153, 159
Terminator 389
Time Configuration 227, 333, 356
Toggle Set Key Mode 333
Trajectory 374
Translucency 190
Transmission 267
Transparency 185
U
Ungroup 38
Units Setup 40, 54, 64
Unwrap Options 231
Use Pivot Point Center 34, 35, 59, 80
Use Selection Center 35
Use Transform Coordinate Center 35
V
VDB File 415
Viewport Background 49
Viewport Layout Tabs 26
Volume Light 174
V-Ray Frame Buffer 286, 293
V-Ray Material Library 322
VRaySun 299
Z
Zoom 27
540
А
Абсолютные координаты 32
Анимация в свободной форме 484
Архитектурные объекты 52, 133, 137
Б
Базовые объекты 51
Булевы операции 88
В
Весовые коэффициенты вершин 481
Видовая система координат 33
Видовое окно Perspective 22
Визуализатор ART Render 228
Визуализатор Scanline Render 177
Визуализатор V-Ray 177, 285
◊ Region render 294
◊ V-Ray Light Lister 314
◊ интерактивная визуализация 297
◊ панель History 296
◊ свиток Color mapping 290
◊ свиток Environment 289
◊ свиток Global illumination 290
◊ свиток Global switches 286
◊ свиток Image filter 289
◊ свиток Image sampler 287
◊ свиток Irradiance map 291
◊ эффект VRayLightMix 317
Визуализация 62
◊ анимации 339
Вкладка
◊ Create 24
◊ Modify 24
Вкладки компоновки видовых окон 26
Влияние связи 479
Внедрение объектов 47
Всенаправленные источники света 151
Выдавливание текста 113
Г
Габаритный контейнер 42, 68
Главная панель инструментов 22
Глобальная система координат 34
Глобальное освещение 245, 248
Глубина резкости 280
◊ Physical Camera 283
◊ Target Camera 281
Группа объектов 38
Предметный указатель
Д
Двери 136
Двумерные карты 195
Двумерный массив 56
Двуногий объект 465
Дефлектор SDeflector 410
Деформация
◊ Bomb 412
◊ Gravity 403
◊ Path Follow 407
◊ PBomb 406
◊ Wind 405
◊ раскраской 116
Динамические объекты 418, 432
Дополнительные примитивы 63
Драйверы 28
Е
Единицы измерения 40
З
Затухание 155
Звуковое сопровождение анимации 376
Зеркальное отображение объектов 37
И
Иерархическая цепочка (цепь) 381, 383, 388
Иерархия 24, 379
Изменение приращений счетчиков 43
Импорт 45
Инверсная кинематика 388
Инструмент
◊ Loft 84
◊ Weld 79
Источник света
◊ VRayAmbientLight 298
◊ VRayIES 299, 302
◊ VRayLight 298, 299
◊ VRaySun 304, 312
К
Камера VRayPhysicalCamera 310
Канал Bump 194
Каналы 193
Карта
◊ Bump 199
◊ Gradient 210
Предметный указатель
◊ HDRI 247
◊ Splat 211
◊ теней 157
Кинематические объекты 418
Клонирование объектов 36
Ключ анимации 332, 335, 459
Ключевые кадры 332
Командная панель 24
Команды
◊ Attach 96
◊ Bevel 110
◊ Boolean 90
◊ Collapce All 69
◊ Connect 111
◊ Cross Section 132
◊ ProBoolean 88, 98
◊ ProCutter 88, 93
◊ Refine 79
◊ Weld 97
◊ панели Ribbon 116
Конвертировать анимацию 449
Конвертировать в ключи анимации 423
Контроллеры анимации 332, 350, 351
◊ Audio 351, 355
◊ Bezier Float 351
◊ Block 356
◊ Link Constraint 387
◊ Noise 350, 354
◊ Out of Range Types 361
◊ Path Constraint 366
Контрольная точка 478
Конфигурация видовых окон 25
Л
Лестница 140
Локальная система координат 34, 383
Лофтинг 84
М
Масштабирование 33
Масштабировать
◊ все окна 27
◊ активное окно до заполнения 27
◊ все окна до заполнения 27
◊ область 28
◊ все окна до заполнения 55
Материал Double Sided 189
Материал Multi/Sub-Object 190, 223, 227
Материал Standard 182
541
Материал Top/Bottom 188
Материал VRayLightMtl 312
Материал VRayMtl
◊ Fresnel reflections 319, 325
◊ Glossiness 320, 321
◊ Hilight glossiness 325
◊ IOR 328
◊ Reflect 319
◊ Reflection 321
◊ Refraction 320, 321
◊ Self-illumination 320
Метод выдавливания 82
Модификатор 68
◊ Bend 71
◊ Bevel 83
◊ Cloth 129
◊ Edit Mesh 105
◊ Edit Poly 105
◊ Extrude 82
◊ FFD3x3x3 70
◊ Garment maker 128
◊ HSDS 131
◊ Lathe 79
◊ Melt 74
◊ Noise 102, 170
◊ PathDeform 410
◊ Physique 471, 473, 484
◊ ProOptimizer 309
◊ Shell 147, 148
◊ Slice 74
◊ Surface 132
◊ Taper 72
◊ TurboSmooth 73
◊ Unwrap UVW 228
◊ UVW Map 212, 218, 226
Н
Назначение параметров цвета 52
Наследование преобразований 384
Настройка
◊ камер 275
◊ отражений 330
◊ параметров сетки 55
◊ физической камеры 278
Настройки
◊ пользовательского интерфейса 27
◊ расположения файлов проекта 48
Нацеленные источники света 151
Небесное освещение 164
542
О
Объект
◊ типа Scatter 99
◊ типа mCloth 418
Объемное освещение 170
Оказывать влияние только на опорную
точку 80
Окна 135
Окно
◊ Edit UVWs 231, 243
◊ Material/Map Browser 179, 196
Оптимизация сцены 309
Освещение по умолчанию 151
Оснастка скелета 470
Относительные координаты 32
П
Панель Ribbon 107
Переключатель объектных привязок 55
Переместить вид 28
Перемещение объекта 32
Плавное выделение 108
Постобработка визуализации 294
Пошаговая анимация 484, 504
Правила прямой кинематики 381
Проверка настроек 483
Проецированием текстурной карты 212
Процедурные OSL-карты 196
Р
Размытие прозрачности 330
Редактируемый сплайн 78, 96
Режим
◊ изгибания суставов 451
◊ пошаговой анимации 504, 506
Режим отображения 28
◊ Wireframe 28
◊ Edged Faces 28
◊ Realistic 28
Режимы
◊ выбора объектов 30
◊ отображения 28
◊ привязки 42
Резервные копии сцен 46
Решатели инверсной кинематики 389
◊ HD Solver 390, 391
◊ HI Solver 389
◊ SplineIK Solver 390
Предметный указатель
С
Свиток Coordinates 196
Сглаживание 53
Сетка координат 41
Система костей 464, 470
Системы координат 33
Системы частиц 395
◊ метачастицы 401
◊ частицы типа Blizzard 400
◊ частицы типа PArray 411
◊ частицы типа Snow 399
◊ частицы типа Spray 396
Слои 38
Создание
◊ коллекций 453
◊ нового слоя 39
◊ отражений 324
◊ преломлений 328
Создать проект по умолчанию 48
Сохранение коллекции 454
Сохранить изображение 49
Спираль 84
Список модификаторов 67, 68, 79
Сплайн Text 76, 83
Стандартные сплайны 75
Статические объекты 418
Стек модификаторов 68
Стены 133
Строка состояния 61
Т
Текстурная карта 179, 193, 196
◊ Cellular 195, 203
◊ Dent 195
◊ Falloff 195
◊ Marble 195
◊ Noise 195
◊ Smoke 195
◊ Tiles 204
◊ Wood 195
Текстурные координаты 212
Тип вершины сплайна
◊ Bezier 77
◊ Bezier Corner 77
◊ Corner 77
◊ Smooth 77
Типы
◊ единиц измерения 40
◊ камер 274
Предметный указатель
◊ проецирования текстурных карт 218
◊ сплайнов 75
Толщина сплайна 77
Трек анимации 333
Трехмерные карты 195
У
Угловая привязка 43
Удаление анимации 341
Удалить ключевые кадры анимации 432
Управление видовыми окнами 27
Установка системных единиц 41
Ф
Файлы 45
Физический материал 182
543
Фильтрация выборки 31
Фильтры отображения анимации 346
Фон экрана 49
Фоновое освещение 248
Фотометрические источники 165
Ц
Цвет объекта 52
Цветовая гамма окна 27
Цветовая температура 166
Центр преобразования 34
Ш
Шаблоны материалов 183