Эффективная работа с 3ds max 7.5

         

Усовершенствуем стол


Закрепите навыки построения тел экструзии, внеся некоторые усовершенствования в форму столешницы ранее подготовленного в главе 5 стола, ведь мебель нашего «МАХ-кафе» не должна выглядеть примитивно! Кроме того, в этом упражнении вы научитесь модифицировать форму стандартных сплайнов. Итак, повторяйте за мной.

1.   Откройте файл Stol i stul01.max, созданный и сохраненный в главе 5. Если вы не создали такой файл или не сохранили его, загрузите файл с именем Stol i stul01.max из папки Scenes\Glava_06 прилагающегося к книге компакт-диска. Сразу же сохраните файл с инкрементированием имени. Разверните окно проекции Тор (Вид сверху) на весь экран, нажав клавиши Alt+w.

2.   Выберите в категории Shapes (Формы) командной панели Create (Создать) инструмент Rectangle (Прямоугольник), относящийся к разновидности Splines (Сплайны). Установите переключатель Creation Method (Метод создания) в положение Center (От центра), нажмите и удерживайте клавишу Ctrl и постройте квадрат размером 122x122 см, растягивая его из точки начала координат.

3.   Перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке Edit Spline (Правка сплайна) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). Тем самым вы обеспечите возможность правки стандартного сплайна на уровне подобъектов, не преобразуя его в редактируемый объект типа Editable Spline (Редактируемый сплайн).

В окне стека модификаторов щелкните на квадратике со знаком «плюс» слева от имени модификатора Edit Spline (Правка сплайна) и выберите в раскрывшемся дереве подобъектов строку Vertex (Вершина). Прокрутите вверх область свитков командной панели, чтобы стала видна кнопка Refine (Уточнить) в свитке Geometry (Геометрия). Щелкните на этой кнопке, переместите курсор в окно проекции Тор (Вид сверху) и создайте четыре новые вершины точно по серединам сторон прямоугольника. В момент установления курсора на линию сплайна он должен приобретать вид, показанный на рисунке справа, указывая на готовность к вставке вершины.




4.    Выберите инструмент Select and Move (Выделить и переместить) и переместите все четыре новые вершины от центра прямоугольника на края старой столешницы, как показано на рис. 6.45. Более удобный способ выполнить подобную операцию состоит в том, чтобы выделить все четыре новые вершины, активизировать на панели инструментов кнопку выбора центра преобразования Use Selection Center (Использовать центр выделения), затем выбрать инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), щелкнуть на любой из выделенных вершин и за один прием раздвинуть сразу все четыре вершины совершенно симметрично.

Рис. 6.45. Новые вершины сплайна перемещены на края старой столешницы
5.   Выделите все четыре угловые вершины сплайна, щелкните на любой из них правой кнопкой мыши и выберите в разделе tools1 (инструменты1) четвертного меню команду Bezier (Безье), чтобы преобразовать эти вершины к данному типу. Установите в свитке Selection (Выделение) флажок Lock Handles (Блокировать маркеры). Убедитесь в том, чтобы был установлен переключатель All (Все). Выберите инструмент Select and Move (Выделить и переместить), щелкните на маркере любого из касательных векторов четырех выделенных вершин и перемещайте его, стараясь придать сплайну форму, показанную на рис. 6.46. При этом все восемь маркеров будут перемещаться согласованно, обеспечивая требуемую симметрию редактируемой формы.

Рис. 6.46. Синхронное редактирование маркеров касательных векторов всех четырех вершин обеспечивает получение требуемой формы столешницы
6.  Выключите режим выделения подобъектов, щелкнув на строке Edit Spline (Правка сплайна) в окне стека модификаторов, и примените к полученному профилю модификатор Extrude (Выдавливание). Установите в счетчике Amount (Величина) толщину тела экструзии равной 5 см. Назовите объект Stoleshnica, предварительно удалив старую столешницу, и подберите для него коричневый цвет «под дерево». Не забудьте установить флажок Generate Mapping Coords (Проекционные координаты). Переместите новую столешницу в точку (0; 0; 70). Окончательный вид обновленного стола показан на рис. 6.47. Сохраните файл для дальнейшего использования.

Рис. 6.47. Стол с новой столешницей выглядит более стильно

Елочное украшение «Звезда»


Поддерживая начатую новогоднюю тему, выберем в качестве объекта для экспериментов очередное елочное украшение — звезду. Однако будем стараться сделать не геометрически строгую и потому холодную в своей правильности звезду, а как бы мягкую, живую звездочку (рис. 9.67), пять лучей которой можно рассматривать как руки, ноги и голову некоего простейшего трехмерного персонажа. Куски Безье прекрасно подходят для моделирования именно такого типа объектов, относящихся к разряду «органики».

Рис. 9.67. Звездочка, вылепленная из треугольных кусков Безье, машет вам лучом-«рукой»



Наша звезда имеет вертикальную плоскость зеркальной симметрии, разделяющую ее на фронтальную и тыльную половины. Применим в связи с этим уже опробованный нами прием: будем создавать только одну зеркальную половинку звезды, затем выполним ее копирование и соединим половинки вместе.

Выполняйте вместе со мной следующие действия:

1. Как обычно, выполните перезагрузку mах 7.5 и сохраните пустую сцену под именем Zvezda.max.

2.   Создайте в окне проекции Front (Вид спереди) вблизи от начала глобальной системы координат стандартный объект типа Tri Patch (Треугольный кусок) размером приблизительно 12x12 см. Вы, конечно, помните о том, что этот примитив на самом деле представляет собой два треугольных куска Безье, соединяющихся вдоль общей диагонали. Преобразуйте объект к типу Editable Patch (Редактируемый кусок) и поверните сетку на 45°, чтобы диагональ, разделяющая куски, разместилась вертикально. Убедитесь в этом, переключившись на командной панели Modify (Изменить) на уровень выделения подобъектов Patch (Кусок) и выделив один из двух кусков Безье, из которых состоит прямоугольная сетка. Переключитесь на уровень выделения подобъектов-вершин, выделите все четыре угловые вершины двух кусков и преобразуйте их к типу Corner (С изломом), используя четвертное меню. Перемещая вершины и манипулируя маркерами касательных векторов, придайте сетке кусков форму, подобную показанной на рис. 9.68. Это будет заготовка лицевой половины верхнего из пяти лучей звезды. Обратите внимание на то, что верхняя и нижняя вершины, лежащие на концах диагонали, разделяющей два треугольных куска Безье, имеют по три касательных вектора. Это поможет нам на следующем шаге упражнения придать выпуклость заготовке луча.





Рис. 9.68. Форма стандартной сетки из двух треугольных кусков Безье, повернутой на 45°, настроена за счет перемещения угловых вершин и их касательных векторов
3.   На виде спереди сетка приняла нужные формы, но она пока остается совершенно плоской, в чем легко убедиться, заглянув, скажем, в окно проекции Тор (Вид сверху). Чтобы придать сетке нужную выпуклость, придется работать сразу с несколькими окнами проекций. Выделите верхнюю вершину сетки в окне вида спереди. Перейдите в окно проекции вида справа или слева. Пусть для определенности это будет вид справа. Плоская сетка в таком окне будет, естественно, выглядеть как отрезок вертикальной линии. Найдите маркер касательного вектора, исходящего из верхней вершины вниз, вдоль диагонали сетки, и переместите его влево. Контролируйте результат, глядя не только в окно вида справа, но и в окно вида сверху. Затем выделите нижнюю вершину сетки и также переместите ее влево. Теперь поработайте с маркерами касательных векторов двух боковых вершин, придав сетке примерно такую форму, какая показана на рис. 9.69. Ориентировочные направления перемещения вершины и маркеров показаны на рисунке стрелками.

Рис. 9.69. Сетке верхнего луча придана выпуклость за счет перемещения нижней вершины и маркеров нескольких касательных векторов в направлениях, показанных стрелками
4.   Для дальнейшего наращивания сетки можно использовать две альтернативы. Один способ состоит в том, чтобы выделить нужное боковое ребро куска Безье и присоединить к нему новый кусок, используя в нашем случае инструмент Add Tri (Добавить треугольный). Вторая возможность заключается в копировании обоих кусков, из которых состоит верхний луч, перемещении их в нужную позицию и присоединении к исходной сетке. Испытаем в учебных целях оба варианта действий. Сначала попробуем присоединять кусок за куском. Переключитесь на уровень выделения подобъектов Edge (Ребро). Выделите в окне проекции вида спереди правое нижнее ребро сетки и щелкните на кнопке Add Tri (Добавить треугольный) в свитке Geometry (Геометрия). К выделенному ребру автоматически присоединится новый треугольный кусок Безье. Этот кусок размещается программой так, чтобы без перегибов наследовать форму исходной сетки, как показано на рис. 9.70. В нашем случае, однако, это не совсем то, что нам нужно. Форму нового куска требуется подправить.



Рис. 9.70. К правому нижнему ребру сетки присоединен новый треугольный кусок, наследующий ее форму
5.   Переключитесь на уровень выделения подобъектов-вершин. Перемещая на виде спереди крайнюю вершину нового куска и манипулируя маркерами касательных векторов этой и двух других его вершин, придайте сетке форму, похожую на изображенную на рис. 9.71. Не забывайте, что мы создаем пока сетку только одной зеркальной половины звезды, так что на краю сетки, вдоль которого пойдет сшивка зеркальных половинок, вершины кусков должны лежать приблизительно в одной плоскости. Этого следует добиться, настраивая положение крайней вершины и ее векторов в окне вида сверху. На рис. 9.64 видно ориентировочное расположение маркеров касательных векторов угловых вершин добавленного куска Безье.

Рис. 9.71. Вид сетки после редактирования формы нового куска. На виде сверху крайняя вершина нового куска должна лежать на линии симметрии звезды
6.   Переключившись на уровень работы с ребрами, выделите нижнее из свободных ребер только что добавленного куска и снова щелкните на кнопке Add Tri (Добавить треугольный). Произойдет дальнейшее наращивание площади сетки за счет добавления еще одного треугольного куска Безье. Вернувшись на уровень выделения вершин, настройте форму добавленного куска за счет перемещения маркеров касательных векторов. Не забудьте переместить нижнюю угловую вершину нового куска в окне вида сверху на линию зеркальной симметрии половинок создаваемой звезды. В итоге сетка должна принять вид, похожий на рис. 9.72. Можно продолжать дальнейшее наращивание сетки аналогичным способом, начав с ребра, указанного на рисунке стрелкой. Мы, однако, перейдем к освоению второго обозначенного выше способа моделирования сетки из кусков Безье за счет присоединения готовых элементов.

Рис. 9.72. Второй луч звезды сформирован из двух новых треугольных кусков Безье. Стрелка указывает на ребро, с которого следует продолжать наращивание сетки
7.   Чтобы присоединить к сетке целый готовый фрагмент, переключитесь на уровень выделения подобъекта Patch (Кусок). Выделите оба куска, составляющих первый луч звезды. Нажав и удерживая клавишу Shift, переместите копию пары кусков в сторону, а затем поверните и расположите их примерно так, как показано на рис. 9.73. Теперь можно произвести прикрепление нового фрагмента из двух кусков к остальной части сетки. Переключитесь на уровень выделения подобъекта Vertex (Вершина). Выделите две пары вершин на концах тех двух ребер, вдоль которых должно произойти слияние основной сетки и нового фрагмента. Убедитесь, что в нижней части свитка Selection (Выделение) имеется сообщение 4 Vertices Selected (Выделены 4 вершины).



Рис. 9.73. Два куска Безье, образующие верхний луч звезды, скопированы и размещены в нужной позиции для прикрепления. Стрелками показаны вершины, которые нужно слить
8.   В разделе Weld (Слить) свитка Geometry (Геометрия) установите в счетчике справа от кнопки Selected (Выделенные) величину порогового расстояния между вершинами, которые будут слиты в одну после щелчка на упомянутой кнопке. В нашем случае достаточно будет задать пороговое расстояние равным 1 см. Щелкните на кнопке Selected (Выделенные). Вершины попарно сольются, а сообщение в нижней части свитка Selection (Выделение) будет читаться как 2 Vertices Selected (Выделены 2 вершины). Слияние вершин ведет к органичному прикреплению нового фрагмента к основной сетке с заменой двух соединявших пары вершин ребер на одно новое. Остается только настроить форму вновь созданного луча примерно так, как показано на рис. 9.74, перемещая вершины кусков и манипулируя маркерами касательных векторов. При таком способе наращивания сетки не нарушается выравнивание вершин вдоль плоскости симметрии звезды. В этом легко убедиться, заглянув в окно вида сверху. В нашем конкретном случае это, несомненно, удобно, так как сокращает усилия по настройке формы сетки.

Рис. 9.74. Создан еще один луч звезды
9.   Продолжите наращивание сетки, добавляя новые куски любым из возможных способов, показавшимся вам более простым и подходящим. В итоге фронтальная половинка звезды будет выглядеть так, как показано на рис. 9.75.

Рис. 9.75. Сетка фронтальной половинки звезды построена полностью

ЗАМЕЧАНИЕ
Хочу напомнить, что мы задавались целью построить звездочку, напоминающую некий прообраз простейшего компьютерного персонажа. В связи с этим нет никакой необходимости стараться обеспечивать строгую геометрическую правильность конструкции объекта. Очевидно, если бы требовалось сформировать геометрически правильную звезду, нам следовало бы выбрать иной метод моделирования, например выдавливание сплайнового пятиконечного примитива Star (Звезда) с последующей правкой полученной сетки на уровне вершин и граней.
<


10.    Чтобы еще чуть оживить модель, настройте форму одного из лучей-«рук» звезды так, как будто она приветливо помахивает зрителям. Что-то подобное показано ранее на рис. 9.60. Для этого имеет смысл увеличить сегментацию кусков, составляющих этот луч. Выделите нужные куски па уровне подобъекта Patch (Кусок) и щелкните на кнопке Subdivide (Подразделить), расположенной в свитке Geometry (Геометрия) и уже опробованной нами в предыдущем упражнении. Получив в свое распоряжение дополнительные вершины и касательные векторы, настройте форму луча, проявив творческую фантазию (рис. 9.76).

Рис. 9.76. Сегментация одного из лучей увеличена, что позволило звезде помахать нам этим лучом как рукой
11.   Теперь остается только создать зеркальную копию сформированной половинки звезды и соединить обе половины вместе. Переключитесь на уровень выделения объекта Editable Patch (Редактируемый кусок) в целом. Убедитесь, что вся сетка кусков выделена. Активизируйте окно вида справа. Щелкните на кнопке Mirror Selected Objects (Отразить выделенные объекты) главной панели инструментов. В появившемся окне диалога установите переключатель Clone Selection (Тип отражения) в положение Сору (Копия) и щелкните на кнопке ОК. Будет создана зеркальная копия половники звезды. Чтобы слить вершины новой сетки кусков с вершинами первой половины звезды, требуется предварительно включить новую половину в состав исходной сетки. Щелкните на кнопке Attach (Прикрепить) свитка Geometry (Геометрия), а затем — на исходной половинке звезды.
12.   Перейдя на уровень выделения подобъектов-вершин, выделите с помощью рамки в окне вида справа, слева или сверху все вершины кусков, лежащие вдоль линии стыка двух половин звезды. Последите за числом выделенных вершин по сообщению в нижней части свитка Selection (Выделение). У меня оказались выделенными 24 вершины. Щелкните на кнопке Selected (Выделенные) в разделе Weld (Слить) свитка Geometry (Геометрия). Убедитесь в том, что число вершин после слияния уменьшилось ровно в два раза. Если этого не произошло, то проверьте, достаточно ли плотно сдвинуты половинки перед слиянием вершин, или увеличьте пороговое расстояние слияния. В итоге трехмерная звездочка должна получиться похожей на ту, которая была показана ранее на рис. 9.67. Впрочем, допускаю, что ваше произведение будет выглядеть гораздо лучше и интереснее.

ЗАМЕЧАНИЕ
Итоговую модель звезды можно найти в файле Zvezda.max, хранящемся в папке Scenes\ Glava_09 компакт-диска, прилагающегося к книге.                   

Итак, попытка построить объект методом «лепки» из стандартных кусков успешно завершена. Надеюсь, что у творческих натур уже рождаются в голове идеи насчет того, как применить рассмотренный метод для «лепки» более сложных объектов, например, таких, как голова некоего компьютерного существа. Попробуйте самостоятельно поэкспериментировать в данном направлении, используя уже не треугольные, а четырехугольные куски Безье.
Ну а пока мы переходим к освоению следующего продвинутого метода моделирования — метода «натягивания» оболочки в виде сетки кусков Безье на трехмерный сплайновый каркас.

Применяем модификатор Noise к снежным наносам вокруг кафе «МАХ»


Модификатор Noise (Неоднородности) можно с пользой для дела применить в нашем основном проекте — сцене, изображающей кафе «МАХ». Действие сюжета происходит зимой, падает снег, которым покрыта земля вокруг кафе. На выступах фундамента лежат снежные валики. Чтобы этот снежный покров выглядел более естественно, необходимо сделать его несколько неровным.

Выполните следующие действия:

1.   Откройте ранее сохраненную сцену MAX-kafe06.max, включающую две временно скрытые от просмотра системы частиц-снежинок. Если вы не сохранили такой файл, то можете найти нужную сцену на прилагающемся к книге компакт-диске, где она хранится под именем MAX-kafe06.max в папке Scenes\ Glava_07. Сохраните файл сцены с инкрементированием имени.

2.   Для начала превратим основание сцены в снежную равнину с плавными неровностями. Выделите объект Osnovanie sceni и перейдите на командную панель Modify (Изменить). Чтобы модификатор неоднородности смог оказать эффективное действие, нужно значительно увеличить сегментацию плоскости основания. Замените величину 4 в счетчиках Length Segs (Сегментов по длине) и Width Segs (Сегментов по ширине) на 64.

3.   Раскройте список Modifier List (Список модификаторов) и щелкните на строке Noise (Неоднородности). В свитке параметров неоднородностей установите значение характерного масштаба неровностей Scale (Масштаб) равным 30, а в счетчике Z из раздела Strength (Амплитуда) установите амплитуду неровностей равной 20. В качестве остальных параметров оставьте их исходные значения. На рис. 8.17 показано, как должен выглядеть рельеф «снежной равнины». Для наглядности включен режим Edged Faces (Кромки граней).

Рис. 8.17. На основании сцены появились сравнительно плавные неровности

4.   Теперь выделите объект Valik01, изображающий снежный нанос на краю фундамента слева от входной двери кафе. Примените к нему известным порядком модификатор Noise (Неоднородности) и установите следующие параметры зашумления: Scale (Масштаб) = 10; в разделе Strength (Амплитуда) X = 10, Y = 5, Z = 10. Приходится задавать величины неровностей по всем трем координатам, потому что снежные валики должны иметь неровности на всех своих краях.




5.   Повторите действия, описанные в предыдущем пункте, применительно к объектам Valik02 и Valik03. В итоге наша сцена должна принять вид, показанный на рис. 8.18. Сохраните файл под заданным в начале упражнения именем MAX-kafe07.max.

Рис. 8.18. Итоговый вид сцены «МАХ-кафе» после применения модификатора неоднородности
Попробуйте в качестве самостоятельного задания применить модификатор Noise (Неоднородности) к поленьям для камина, которые мы заблаговременно заготовили в главе 5. Файл с поленьями под именем Drova.max вы можете найти в папке Scenes\Glava_05 компакт-диска, прилагающегося к книге. Если у вас что-то не заладится или вы не сможете подобрать подходящие параметры модификатора, загляните в готовый файл, содержащий искаженные за счет применения неод-нородностей поленья. Вы найдете такой файл в папке Scenes\Glava_08 компакт-диска под именем Drova01.max.

Создаем эскиз анимации «МАХ-кафе: наезд камерой»


Чтобы закрепить навыки создания, просмотра и переименования эскизов анимаций, выполним еще одну эскизную визуализацию, относящуюся на этот раз к нашему основному проекту — «МАХ-кафе». Заодно научимся исправлять масштаб времени анимации, если просмотр эскиза показывает, что действие происходит слишком быстро или медленно.

Итак, выполните следующие действия:

1. Загрузите в программу max 7.5 файл анимации, созданной в ходе выполнения упражнения 5. Этот файл был сохранен нами под именем MAX-kafe (naezd kameroy).max. При необходимости можете найти файл с аналогичным именем в папке Scenes\Glava_16 компакт-диска, сопровождающего книгу. Сохраните файл сцены с инкрементированием имени.

2.   Выполните команду меню Animation > Make Preview (Визуализация > Создать эскиз), чтобы вызвать появление окна диалога Make Preview (Создание эскиза). Установите нужное разрешение для эскиза. Я выбрал разрешение 720x540 точек (90 % от разрешения «чистовой» визуализации 800x600 точек). Выберите кодек и степень сжатия. Выполните построение эскиза. По завершении работы программы на экране появится приложение Windows Media Player (Проигрыватель Windows Media) с готовым эскизом анимации.

3.   Когда вы просмотрите этот эскиз, станет очевидно, что движение камеры происходит слишком быстро. Вместо того чтобы наблюдать на экране, как некто спокойно подходит к дверям кафе и неторопливо обводит взглядом его внутреннее убранство, выбирая себе место, мы видим, как тот же некто подбегает к двери и судорожно дергает взглядом по интерьеру кафе влево-вправо. Очевидно, что все движения этой анимации имеет смысл замедлить раза в два-три.

ЗАМЕЧАНИЕ

В этом и есть смысл эскиза. Перед тем как тратить часы на высококачественную визуализацию, создайте простой эскиз и оцените качество движений. Ведь скорость воспроизведения видеоклипа не зависит от качества изображения и будет совершенно одинаковой что для эскиза, что для итоговой визуализации. Разница только в том, что эскиз создается за секунды или минуты, а итоговая визуализация — за десятки минут или часы.

<


4.   

Как же исправить ситуацию? Применим прием изменения масштаба времени. Щелкните на кнопке Time Configuration (Настройка временных интервалов). Появится окно диалога с таким же названием, рассмотренное нами в начале главы. В разделе Animation (Анимация) этого окна имеются инструменты для изменения продолжительности анимации. Если просто изменить длительность анимации с помощью счетчика End Time (Время окончания), то все созданные нами ключи анимации останутся на своих местах и эффекта замедления не получится. Сначала быстро промелькнет та же анимация, а затем мы будем какое-то время наблюдать на экране статическую картинку последнего кадра анимации. Требуется иное: изменение масштаба времени, при котором все ключи анимации сдвигаются по временной шкале пропорционально общей продолжительности анимации. Итак, щелкните на кнопке Re-Scale Time (Сменить масштаб времени). Появится окно диалога Re-scale Time (Смена масштаба времени), показанное на рис. 16.41.

Рис. 16.41. Окно диалога Re-scale Time позволяет изменить продолжительность готовой анимации и пропорционально сдвинуть по времени все ключи
5.   Введите в счетчик End Time (Время окончания) раздела New (Новое) число 300, чтобы увеличить продолжительность анимации в 3 раза. Одновременно должны сдвинуться в 3 раза вправо по шкале времени и все ключи. Двери, которые открывались к тридцатому кадру, теперь будут открываться к кадру № 90. В три раза должны замедлиться также движения камеры и ее мишени. Щелкните на кнопке ОК в окне Re-Scale Time (Смена масштаба времени), а затем — в окне Time Configuration (Настройка временных интервалов). Обратите внимание на то, что в строке треков на шкале времени теперь отмечается наличие 300 кадров анимации. Чтобы убедиться в правильном масштабировании ключей, выделите одну из створок дверей. Ключи анимации этой створки должны находиться в нулевом кадре и кадре № 90. Выделив камеру, вы обнаружите, что она имеет ключи анимации в кадрах № 0, 90, 180 и 300. Итак, масштабирование выполнено, и теперь все временные процессы в нашей анимации должны замедлиться ровно в три раза.


6.    Перед тем как повторять визуализацию эскиза, переименуйте его, назначив имя MAX-kafe (naezd kameroy).avi. При необходимости вы можете найти готовый эскиз такой анимации в папке Animations\Glava_16 компакт-диска, сопровождающего книгу, в файле под именем MAX-kafe (naezd kameroy).avi.
7.   Выполните повторную визуализацию анимации. Просмотрите эскиз и убедитесь, что теперь видеоклип выглядит гораздо приятнее. Переименуйте эскиз, назвав его, скажем, MAX-kafe (naezd kameroy)01.avi. При необходимости вы можете найти готовый эскиз такой анимации под аналогичным именем в папке Animations\Glava_16 компакт-диска, сопровождающего книгу. В заключение, сохраните файл сцены под измененным в начале упражнения именем MAX-kafe (naezd kameroy)01.max.

Создаем кресло


В заключительном упражнении этой главы используем опыт построения тел экструзии для создания одного из главных элементов интерьера нашего «МАХ-кафе» — кресла. Для этого выполните следующие действия:

1. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Сохраните файл под именем Kreslo.max.

2.   Установите в окне проекции Front (Вид спереди) такой масштаб, чтобы вертикальный размер видимой части сетки составлял 95 см. Переместите начало координат сетки в правый нижний угол окна и разверните окно на весь экран.

3.   Нарисуйте сплайн-профиль в виде формы, состоящей из двух кривых, показанных на рис. 6.48. Поместите вершины первой кривой, образующей ножки кресла, в точках со следующими координатами: (50,1; 0; 79,9), (45,8; 0; 67,4), (44,1; 0; 39,9), (45,6; 0;" 18,9), (50,3; 0; 0), (45,6; 0; 0), (40,1; 0; 16,1), (23,9; 0; 34,6), (10,6; 0; 16,3), (4,8; 0; 0), (0; 0; 0), (5,0; 0; 21,4), (5,6; 0; 40,5), (31,9; 0; 40,7), (39,0; 0; 53,6), (43,2; 0; 75,7). Перед тем как начать рисовать вторую кривую, сбросьте флажок справа от кнопки Start New Shape (Начать новую форму) в свитке Object Туре (Тип объекта). Вершины второй кривой, изображающей подлокотник, поместите в точках с координатами (40,3; 0; 61,8), (39,2; 0; 57,3), (28,0; 0; 53,2), (14,7; 0; 52,8), (10,7; 0; 47,6). (13,9; 0; 48,7), (17,4; 0; 46,3), (16,2; 0; 42,1), (11,7; 0; 40,3), (7,2; 0; 42,7), (6,8; 0; 49,8), (14,9; 0; 56,6), (28,4; 0; 57,5). Откорректируйте форму сплайна, используя рис. 6.48 в качестве образца.

Рис. 6.48. Двумерная форма-профиль боковины кресла (вершины пронумерованы для удобства ссылок)

ЗАМЕЧАНИЕ

При рисовании завитка кривой профиля подлокотника в районе вершины № 5 легко допустить случайное самопересечение линии. Если такое произойдет, то, как я уже говорил, после выдавливания кривой ее торцевые поверхности останутся открытыми. Чтобы избежать этого, внимательно следите за формой кривой и не допускайте появления самопересечений.

<


4.   Примените к форме-профилю модификатор Extrude (Выдавливание). Установите в счетчике Amount (Величина) толщину тела экструзии равной 4 см. Назовите объект Bokovina01 и подберите для него коричневый цвет «под дерево». Не забудьте установить флажок Generate Mapping Coords (Проекционные координаты).
5.   Создайте дубликат боковины, выбрав команду меню Edit > Clone (Правка > Дублировать). Не изменяйте предлагаемое по умолчанию название дубликата Bokovina02. Переместите дубликат в направлении глобальной оси Y на 40 см.
6.   Постройте в окне проекции Left (Вид слева) стандартный примитив Box (Параллелепипед) следующих размеров: Length (Длина) = 40 см, Width (Ширина) = 11 см и Height (Высота) = 4 см. Назовите объект Perekladina01 и выберите для него тот же цвет, что и для боковин. Создайте копию перекладины и разместите оба эти объекта между боковинами, как показано на рис. 6.49.

Рис. 6.49. Перекладины помещены между боковинами кресла
7.   Создайте сиденье в виде параллелепипеда с фаской. Выберите инструмент ChamferBox (Параллелепипед с фаской) и постройте этот улучшенный примитив в окне проекции Тор (Вид сверху), придав ему следующие размеры: Length (Длина) = 40 см, Width (Ширина) = 32 см, Height (Высота) = 9 см и Fillet (Фаска) = 2 см. Параметр Fillet Segs (Сегментов по фаске) задайте равным 4. Назовите объект Sidenie, выберите для него подходящий цвет, например темно-красный, и поместите сиденье в пространстве между боковинами и перекладинами, как показано на рис. 6.50.

Рис. 6.50. Сиденье слегка выступает над перекладинами кресла
8. Займемся спинкой кресла. Разверните окно проекции Left (Вид слева) и нарисуйте сплайн-профиль спинки, подобный показанному на рис. 6.51. Это можно сделать как в упражнении 5 при рисовании профиля щита: сначала нарисовать одну половину сплайна спинки относительно вертикальной оси симметрии, затем построить ее зеркальную копию и слить крайние вершины копии сплайна с вершинами оригинала. Примените к профилю модификатор Extrude (Выдавливание). Установите в счетчике Amount (Величина) толщину тела экструзии равной 4 см. Назовите объект Spinka.



Рис. 6.51. Спинка кресла может иметь примерно такую форму
9. Создайте последнюю деталь кресла — подушку спинки. С помощью инструмента ChamferBox (Параллелепипед с фаской) постройте этот примитив в окне проекции Left (Вид слева), придав ему следующие размеры: Length (Длина) -13,5 см, Width (Ширина) = 40 см, Height (Высота) = 5 см и Fillet (Фаска) = 2 см. Параметр Fillet Segs (Сегментов по фаске) задайте равным 4, a Width Segs (Сегментов по ширине) — равным 16. Сегментация по ширине нам потребуется для того, чтобы на следующем шаге слегка изогнуть подушку кресла. Назовите объект Podushka и назначьте ему тот же цвет, что и сиденью. Поместите подушку в центре спинки, чтобы она выступала над ней примерно на половину своей толщины.
10. Придайте спинке кресла небольшой изгиб, использовав для этого новый инструмент — модификатор изгиба. Выделите спинку вместе с подушкой, перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке Bend (Изгиб) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). С этой же целью можно выполнить цепочку команд Modifiers > Parametric Deformers > Bend (Модификаторы > Параметрические деформаторы > Изгиб) главного меню. Оба объекта будут помещены в габаритный контейнер модификатора в виде параллелепипеда коричневого цвета, а на командной панели появится свиток Parameters (Параметры) с элементами настройки изгиба. Переключатель Bend Axis (Ось изгиба) установите в положение Y. Задайте в счетчике Angle (Угол) раздела Bend (Изгиб) величину угла изгиба равной -35°, наблюдая за изгибом выделенных объектов в окне проекции Тор (Вид сверху), как показано на рис, 6.52.

Рис. 6.52. Спинке и подушке придана вогнутая форма с помощью модификатора Bend
11.  Теперь поместите спинку вместе с подушкой на нужное место. Для этого выделите оба объекта в окне проекции Front (Вид спереди), слегка поверните их примерно на -8° ... -10° и переместите, расположив точно между боковинами. Окончательный вид получившегося кресла показан на рис. 6.53.

Рис. 6.53. Окончательный вид кресла
12. Сохраните созданный объект в файле (имя файла, как вы помните, уже было задано в начале упражнения). Не устаю повторять, что именовать файл в начале, а не в конце работы, — это признак хорошего стиля. При желании можете сопоставить получившееся у вас кресло с тем, которое хранится в файле с именем Kreslo.max, располагающемся в папке Scenes\ Glava_06 прилагающегося к книге компакт-диска.

Создаем проемы для двери и окна на фасаде «МАХ-кафе»


Здание нашего «МАХ-кафе» до сих пор не имеет ни дверей, ни окон. Давайте подготовим дверной и оконный проемы в стене фасада. Выполните следующие действия:

1.   Откройте ранее сохраненный файл MAX-kafe04.max. Если вы по каким-либо причинам не сохранили этот файл, то загрузите файл с именем MAX-kafe04.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.

2.   В окне проекции Front (Вид спереди) постройте два стандартных примитива типа Box (Параллелепипед) со следующими размерами: для оконного проема — Length (Длина) = 175 см, Width (Ширина) - 245 см, Height (Высота) = 30 см, для двери — Length (Длина) - 200 см, Width (Ширина) = 135 см, Height (Высота) = 30 см. Разместите центры объектов в точках с координатами: для окна — X = -150 см, Z = 160 см, для двери — X = 75, Z - 130 см. Затем переместите оба объекта в окне проекции Тор (Вид сверху) вперед, так чтобы они слегка выступали и с наружной, и с внутренней стороны стены фасада. При этом глобальная координата Y центров обоих объектов должна равняться -295 см.

3.   Выделите переднюю стену здания — объект Fasad. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать), выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты) и щелкните на кнопке Boolean (Булевские) в свитке Object Type (Тип объекта). В свитке Pick Boolean (Задать операнд) щелкните на кнопке Pick Operand В (Указать операнд В), а затем в любом из окон проекций щелкните на объекте-параллелепипеде, предназначенном для формирования оконного проема. Переключатель Operation (Операция) установите в положение Subtraction (А-В) (Исключение (А-В)). В стене фасада появится прямоугольное отверстие — оконный проем, сквозь который видна внутренняя часть здания. Щелкните правой кнопкой мыши, чтобы закончить операцию создания булевского объекта, в который превратился теперь объект Fasad.

4. Чтобы создать проем для двери, снова выделите стену фасада, щелкните на кнопке Boolean (Булевские) в свитке Object Type (Тип объекта), затем — на кнопке Pick Operand В (Указать операнд В) в свитке Pick Boolean (Задать операнд) и выделите объект, формирующий дверной проем. В стене фасада появится второе отверстие — проем для двери, как показано на рис. 7.45. Щелкните правой кнопкой мыши, чтобы закончить операцию создания булевского объекта. Как видите, в создании булевских объектов нет ничего хитрого. Сохраните файл под измененным в начале работы именем MAX-kafe05.max.

Рис. 7.45. В стене фасада проделаны два проема для окна и двери

В следующей главе вы сумеете создать дверь и окно, которые будут установлены в эти проемы.



Создание и простейшая настройка параметров нацеленного прожектора


Приступим к освоению практических навыков создания осветителей-прожекторов, воспользовавшись для их отработки моделью трехмерной сцены интерьера «МАХ-кафе».

Выполните следующие действия:

1. Если вы закрыли файл сцены МАХ-кафе09.тах после предыдущего упражнения, то загрузите его заново (такой файл есть и на компакт-диске, сопровождающем книгу, в папке Scenes\Glava_11), если же нет — просто продолжите работу. Сохраните файл под инкрементированным именем.

2.   Скройте от просмотра «лишние предметы», как описано в первом пункте упражнения 1, добавив к числу скрытых объектов еще и все кресла, кроме одного — того, которое стоит у задней стены кафе. Установите в окнах проекций такой масштаб, чтобы здание кафе было видно целиком.

3.   Щелкните на кнопке Lights (Источники света) командной панели Create (Создать), а затем — на кнопке Target Spot (Нацеленный прожектор) в свитке Object Туре (Тип объекта). Переместите курсор в окно проекции Тор (Вид сверху), щелкните чуть ниже и левее центра помещения и перетащите курсор вверх и чуть вправо по экрану, поместив мишень у задней стены, над единственным видимым креслом, как показано на рис. 11.24.

Рис. 11.24. Размещение нацеленного прожектора в окне проекции Тор

4.   Перейдите в окно проекции Front (Вид спереди) и, выделив одновременно со значком прожектора значок его мишени, переместите их вверх, так чтобы прожектор оказался примерно посередине высоты помещения кафе. Нижний край конуса света прожектора должен располагаться несколько ниже уровня пола кафе, как показано на рис. 11.25.

Рис. 11.25. Размещение нацеленного прожектора в окне проекции Front

5.   Переключитесь на командную панель Modify (Изменить) и настройте параметры прожектора. Установите яркость света в счетчике Multiplier (Усилитель) равной 1,5 и включите режим отбрасывания теней, установив флажок On (Вкл.) в разделе Shadows (Тени) свитка General Parameters (Общие параметры). Выберите в качестве типа теней вариант Ray Traced Shadows (Трассированные тени). Выключите все шесть всенаправленных осветителей, ранее введенных в состав сцены.

6.   Увеличьте изображение в окне проекции Perspective (Перспектива), так чтобы пятно света еще умещалось в окне целиком. Выполните визуализацию изображения в этом окне, чтобы получить результат, подобный показанному на рис. 11.26. Пятно света освещает стену и часть пола; вся остальная сцена погружена во мрак.

Рис. 11.26. Одинокое кресло играет роль главного персонажа пьесы, гордо стоящего на подмостках сцены

Не закрывайте max 7.5, мы будем продолжать работу с этим прожектором.



Учимся создавать


Многокомпонентные материалы «Фаянс + позолота» и «Стекло + позолота» создадим из уже готовых образцов, заодно освоив метод преобразования стандартного материала в многокомпонентный. Стекло для окна кафе «МАХ» изготовим путем модификации стекла бокалов и объединим с «деревянным» материалом двери кафе. Учитывая приобретенный вами в предыдущем упражнении опыт создания многокомпонентных материалов, пояснения будем давать более кратко. Выполните следующие действия:

1.   Загрузите в max 7.5 файл MAX-kafe16.max или продолжите работу, если файл сцены уже открыт. При необходимости загрузите готовый файл MAX-kafe16.max, найдя его в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.

2.   В окне Редактора материалов активизируйте ячейку образца материала Faians. Щелкните на кнопке, расположенной правее раскрывающегося списка имен материалов, и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) материал типа Multi/Sub-Object (Многокомпонентный). В окне диалога Replace Material (Заменить материал) оставьте переключатель в положении Keep old material as sub-material (Оставить старый материал как компонент) и щелкните на кнопке ОК. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке Set Number (Задать число) и установите в счетчике Number of Materials (Число материалов) появившегося окна число 2. Щелкните на кнопке ОК. Стандартный материал Faians будет преобразован в многокомпонентный, в котором этому стандартному материалу будет отведена роль первого из двух компонентов. Переименуйте многокомпонентный материал, назвав его Faians+Pozolota.

3.   Щелкните на образце ранее созданного материала Pozolota и перетащите курсор на кнопку свитка Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала), относящуюся ко второму компоненту многокомпонентного материала. Отпустите кнопку мыши. В появившемся окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Instance (Образец) и щелкните на кнопке ОК. Это, собственно, и все! Вид получившегося материала в окне увеличителя показан на рис. 14.81. Сохраните этот материал в библиотеке MAX-kafe.mat. Так как новый материал создан нами на базе того, который уже был применен ко всем восьми тарелкам, применять его заново нет необходимости. Если в окнах проекций у вас установлен режим тонированного отображения, то вы сразу заметите появление золотистых полосок по краям тарелок — как раз вдоль тех граней, которым мы в одной из предыдущих глав назначили идентификатор материала, равный 2.




 

Рис. 14.81. Образец многокомпонентного материала «Фаянс + позолота»
4.   Работу над многокомпонентным материалом «Стекло + позолота» начните с создания «холодной» копии материала Steklo, который понадобится нам для окна кафе. С этой целью просто щелкните на образце материала Steklo, перетащите курсор в свободную ячейку Редактора материалов и отпустите кнопку мыши. Даже если перетащить копию материала не в свободную, а в занятую ячейку, не произойдет ничего страшного: вытесняемый из ячейки материал не исчезнет со сцены, а материал-копия не будет назначен объектам сцены, которым был назначен материал из занятой ячейки. Преобразовывать в многокомпонентный, однако, следует не копию, а оригинал материала, так как это избавит от необходимости заново применять создаваемый материал к бокалам.
5. Преобразуйте материал Steklo в двухкомпонентный, добавив в качестве второго компонента материал Pozolota, действуя совершенно так же, как описано в пп. 1 и 2. Переименуйте получившийся материал (рис. 14.82) в Steklo+Pozolota и сохраните его в текущей библиотеке. Если в окнах проекций установлен режим тонированного отображения, вы сразу же заметите появление пары полосок вдоль верхних кромок каждого из бокалов. Чтобы полоски были видны не только снаружи, но и изнутри бокалов, перейдите на уровень работы с материалом-компонентом Pozolota и установите флажок 2-Sided (2-сторонний). Имеет смысл установить этот флажок и для материала-компонента Steklo. Выполните визуализацию изображения сцены в окне проекции Camera03 (Камера03). Теперь результат совсем не должен отличаться от того изображения, которое показано на рис. 1.22 первой главы.
 

Рис. 14.82. Образец двухкомпонентного материала «Стекло + позолота»

ЗАМЕЧАНИЕ
Теперь сцена «МАХ-кафе» насыщена материалами, в состав которых входят карты текстур типа Reflect/Refract (Отражение/Преломление), Flat Mirror (Плоское зеркало) и Raytrace (Трассируемая). Представьте себе: в стекле бокалов отражаются все окружающие предметы, сами бокалы вместе с отражениями смотрятся как в зеркало в полированные поверхности столешниц, все это в совокупности отражается в висящем на стене зеркале, отражение которого, в свою очередь, также должно быть видно на стенках бокалов и столешницах... Очевидно, что визуализация такой сцены не может пройти быстро, так что, приступая к синтезу изображения, наберитесь терпения. На визуализацию может потребоваться довольно много времени, вплоть до нескольких часов, в зависимости от быстродействия вашего компьютера.
<


6.   Создайте многокомпонентный материал «Дерево + стекло» для окна кафе. Начните с некоторой модификации материала Steklo, копию которого мы сделали в п. 3. Активизируйте ячейку образца этого материала. Во-первых, установите флажок 2-Sided (2-сторонний), так как стекло окна должно визуализироваться с обеих сторон. Далее разверните свиток Maps (Карты текстур) и отмените действие карты Falloff (Спад), используемой в качестве текстуры непрозрачности. Для этого щелкните на кнопке параметра Opacity (Непрозрачность) с надписью Map #... Falloff (Карта №... (Спад)), перейдя на уровень правки этой карты. Щелкните на кнопке Редактора материалов, расположенной правее раскрывающегося списка имен материалов, а в окне просмотра материалов и карт текстур дважды щелкните на строке None (Отсутствует) списка текстурных карт. Произойдет возврат в Редактор материалов, но на кнопке параметра Opacity (Непрозрачность) будет теперь читаться надпись None (Отсутствует) — действие карты текстуры отменено. Можно, конечно, было и просто сбросить флажок слева от параметра Opacity (Непрозрачность), но мы проделали процедуру полной отмены карты в учебных целях.
7.   Теперь щелкните в свитке Maps (Карты текстур) на кнопке параметра Reflection (Зеркальное отражение). В качестве текстуры зеркального отражения у материала Steklo используется карта Reflect/Refract (Отражение/Преломление). Оказавшись на уровне правки этой карты, щелкните на кнопке, расположенной правее раскрывающегося списка имен материалов, и выберите в окне просмотра материалов и карт текстур карту типа Bitmap (Растровая карта). Для оконного стекла мы попробуем применить имитацию зеркального отражения с помощью растровой картинки. Как вы уже не раз проделывали в предыдущих упражнениях, подберите тип файла для растровой карты. Обычно имеет смысл брать тот же файл, который будет в дальнейшем изображать фон сцены. Если бы изображение нашего кафе формировалось на фоне фотографии заката солнца, как показано на рис. 1.19 первой главы, эту фотографию и следовало бы применить в качестве растровой текстуры зеркального отражения оконного стекла. Тем самым было бы создано впечатление, что закатное небо отражается в окне кафе. Но в нашем случае, когда по сценарию на улице идет снег, небо должно быть просто серо-синего цвета. В такой ситуации для имитации отражения может сгодиться растровое изображение морской глади под темно-синим вечерним небом, имеющееся в файле с именем Sea81 .tga в папке Maps\Background компакт-диска, прилагающегося к книге. Не изменяя исходных значений всех параметров растровой карты, вернитесь на уровень составного материала и уменьшите значение в счетчике Amount (Доля вклада) до 30.


8.   Помните, в главе 8 граням объекта, имитирующего окно кафе, были присвоены соответствующие идентификаторы материалов. При этом тем граням, которые изображают раму окна, был назначен Material ID (Идентификатор материала) - 1, а граням, изображающим стекло, — идентификатор 2. В связи с этим нам нужно создать двухкомпонентный материал, у которого первым компонентом будет материал Steklo, а вторым — материал дерева, например lasenevaia doska. Убедившись, что вы находитесь на уровне материала Steklo, щелкните на кнопке, расположенной справа от раскрывающегося списка имен материалов, и измените тип материала со стандартного на многокомпонентный. Задайте число компонентов равным 2. Щелкните на кнопке материала первого компонента, на которой должна читаться надпись Steklo (Standard), перетащите курсор на кнопку второго компонента и отпустите кнопку мыши. В окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Swap (Обмен) и щелкните на кнопке ОК. Произойдет обмен: материал Steklo займет место второго компонента, а на место первого переместится стандартный материал, игравший роль второго компонента по умолчанию. Остается только перетащить на кнопку первого компонента образец материала lasenevaia doska из соответствующей ячейки Редактора материалов. Назовите вновь созданный материал (рис. 14.83) Derevo+Steklo и сохраните его в текущей библиотеке. Восстановите видимость объекта Okno, примените к нему модификатор UVW-тар (UVW-проекция), а затем назначьте ему вновь созданный материал. При этом детали рамы окна приобретут материал с текстурой дерева, а та часть окна, которая изображает стекло, станет прозрачной с отливом цвета темно-синего цвета. Выполните пробную визуализацию изображения в окне проекции Саmera01 (Камера01). Результат должен напоминать изображение, показанное на рис. 1.19-1.20 первой главы. В заключение сохраните файл сцены под измененным в начале упражнения именем MAX-kafe17.max.
 

Рис. 14.83. Образец многокомпонентного материала «Дерево + стекло»

Добавляем вершины к профилю бокала


Бокал без какого-либо украшения выглядел бы на столе нашего кафе «МАХ» слишком примитивно. Чтобы иметь возможность украсить его на этапе применения материала одной-двумя золотыми полосками по верхнему краю, необходимо позаботиться об этом уже сейчас, на этапе редактирования геометрической модели. В данном упражнении вам предоставляется возможность закрепить навыки работы со стеком модификаторов и редактирования сплайнов на уровне вершин.

Итак, выполните следующие действия:

1. Откройте ранее сохраненный файл Bokal.max (при необходимости вы можете найти нужный файл с таким именем в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге). Сохраните файл с инкрементированием имени.

2.   Выделите объект Bokal01, перейдите на командную панель Modify (Изменить) и взгляните на список в окне стека модификаторов. В нижней строке стека модификаторов вы увидите тип исходного объекта, к которому применялся модификатор вращения, — Line (Линия), а выше — имя самого модификатора Lathe (Вращение). Щелкните на строке Line (Линия), и в окнах проекций появится изображение вертикального полупрофиля сечения бокала.

3.   С помощью инструмента Region Zoom (Масштаб области) увеличьте изображение верхней части полупрофиля в окне проекции Front (Вид сверху). Щелкните на квадратике со знаком «плюс» слева от слова Line (Линия) в окне стека модификаторов. В раскрывшемся списке подобъектов выберите подобъ-ект Vertex (Вершина).

4.   Щелкните на кнопке Refine (Уточнить) в свитке Geometry (Геометрия), переместите курсор в окно проекции Front (Вид сверху) и добавьте на наружной линии контура вблизи верхнего края профиля четыре новые вершины. Для добавления вершины установите курсор в нужную точку линии сплайна и щелкните кнопкой мыши. В момент, когда курсор точно указывает на линию сплайна, обеспечивая готовность к вставке вершины, он приобретает вид, показанный на рис. 8.26. Добавив вершины, щелкните правой кнопкой мыши, чтобы завершить действие режима вставки вершин.





Рис. 8.26. Вид курсора в момент готовности к добавлению вершины на линию сплайна-профиля с помощью инструмента Refine
5.   Две верхние из добавленных вершин при вращении профиля создадут набор граней в форме кольца, образующего первую полоску, а две нижние — вторую полоску на поверхности бокала. Останется только применить к этим граням иной материал, чем ко всем остальным. Для этого данные грани нужно будет особым образом пометить, чем мы займемся в упражнении следующего раздела главы. А пока уточните положение вершин, так чтобы ширина верхней полоски составляла примерно 7 мм, нижней — 3 мм, расстояние между полосками было около 4 мм, а от края верхней полоски до края бокала — 7 мм.
6.   Щелкните в стеке модификаторов на строке Line (Линия), чтобы отменить выделение подобъектов-вершин, а затем выберите строку Lathe (Вращение) и убедитесь в появлении на верхнем краю тела бокала дополнительных граней, образовавшихся за счет добавления новых вершин, как показано на рис. 8.27.

Рис. 8.27. На верхнем краю бокала появились две новые группы граней, образующих кольцевые полоски
7.  Сохраните файл под заданным в начале упражнения именем Bokal01.max.

Елочное украшение «Спящий месяц»


Займемся освоением метода сплайновых каркасов на примере очередного украшения для нашей новогодней елки, представляющего собой сказочный месяц, несколько загадочно, на мой взгляд, дремлющий с полузакрытыми глазами, как показано на рис. 9.77.

Рис. 9.77. Елочное украшение «Спящий месяц» построено методом натягивания сетки кусков Безье на сплайновый каркас

1. После обычной перезагрузки max 7.5 сохраните пустую сцену под именем Mesiac.max.

2.   Разверните окно проекции Front (Вид спереди) во весь экран. Выберите на командной панели Create (Создать) категорию объектов Shapes (Формы) и с помощью инструмента Arc (Дуга) нарисуйте в окне проекции дугу радиусом примерно 20-25 см. Чтобы получить доступ к средствам редактирования формы дуги на уровне подобъектов, примените к ней модификатор Edit Spline (Правка сплайна). Стандартная дуга имеет всего четыре вершины (рис. 9.78). Разумеется, подобную дугообразную кривую можно было нарисовать и вручную. Однако в ряде случаев, подобных нашему, бывает удобно начать построение с использования стандартного сплайна.

Рис. 9.78. В качестве основы сплайнового каркаса выбран стандартный сплайн-дуга

3.   Продолжите построение каркаса, дорисовывая сплайны вручную. Чтобы вновь создаваемые сплайны оказывались подобъектами исходной дуги, что является необходимым условием применимости модификатора Surface (Поверхность), будем строить их с помощью инструмента Create Line (Создать линию). Кнопка этого инструмента находится в свитке Geometry (Геометрия) командной панели Modify (Изменить) и доступна на уровне выделения любого подобъ-екта сплайна. Переключитесь на уровень выделения подобъекта Vertex (Вершина), чтобы видеть метки вершин. Установите флажок Automatic Welding (Автоматическое слияние) в разделе End Point Auto-Welding (Автослияние крайних вершин) этого же свитка Geometry (Геометрия). Это обеспечит слияние концевых вершин двух копий сплайна при их сближении на расстояние, меньшее указанного в счетчике Threshold Dist (Пороговое расстояние).




4.   

Сейчас мы должны нарисовать профиль «лица» месяца, замкнув новой кривой сплайн дуги. Щелкните на кнопке Create Line (Создать линию). Укажите курсором на одну из концевых вершин дуги, скажем, на верхнюю. В этот момент курсор должен принять вид, показанный на приведенном справа рисунке, указывая на готовность к началу рисования сплайна, который будет представлять собой продолжение кривой дуги.
Начинайте рисование, используя те же приемы, какие были описаны в главе 6, «Рисуем кривые, осваиваем методы вращения и выдавливания». Используйте в качестве образца рис. 9.79. К этому моменту вы, надеюсь, уже настолько усовершенствовали свои навыки рисования кривых в max 7.5, что нет никакой необходимости диктовать координаты вершин, как это делалось в главе 6. Да к тому же мы перешли из области конструкторского черчения в область творчества, так что ваш месяц может оказаться совсем не таким, как показанный на рисунке, а гораздо интереснее и лучше. Последний щелчок кнопкой мыши сделайте в точке второй концевой вершины дуги. Щелкните на кнопке Yes (Да) в ответ на запрос Close spline? (Замкнуть сплайн?). Не пытайтесь сразу придать рисунку идеальную форму, лучше это сделать на следующем шаге, перемещая отдельные вершины и настраивая положения их касательных векторов. Не пытайтесь и воспроизвести точно такое число вершин, как показано на рисунке. На последующих шагах всегда можно создать на кривой новые вершины с помощью уже знакомого вам по главе 6 инструмента Retine (Уточнить) или удалить лишние вершины. Не выключая действие инструмента Create Line (Создать линию), нарисуйте замкнутый контур, призванный изображать глаз месяца. Для завершения режима создания новых кривых щелкните правой кнопкой мыши.

Рис. 9.79. «Профиль лица» месяца дорисован  вручную так, чтобы замкнуть дугу, затем с помощью того же инструмента нарисован контур глаза
5.   Поработайте над формой кривой, выделяя отдельные вершины и манипулируя их касательными векторами. Теперь добавьте с помощью инструмента Refine (Уточнить) несколько вершин на линии тыльной стороны контура «головы» месяца — той линии, которая еще недавно была простой дугой. При добавлении вершин руководствуйтесь следующими соображениями. Нарисованный нами контур будет служить как бы рамкой сплайнового каркаса. Для создания сетки, на которую будет натягиваться поверхность, нам потребуется добавлять сплайны поперек этой рамки. Для такой цели нужно иметь пары вершин на лицевой и тыльной сторонах контура головы, располагающиеся примерно напротив друг друга. Постарайтесь добавить такие парные вершины примерно так, как показано на рис. 9.80. Впрочем, не забывайте о том, что если при работе над каркасом потребуются новые вершины, создать их в любом требуемом количестве с помощью инструмента Refine (Уточнить) никогда не поздно.



Рис. 9.80. Добавлены новые вершины, которые позволят продолжить построение сплайнового каркаса
6.   Для продолжения работы над снлайновым каркасом необходимо активизировать режим трехмерной привязки. Если вы забыли, как это делается, обратитесь к главе 3. Щелкните на кнопке 3D Snap (Трехмерная привязка), расположенной на главной панели инструментов шах 7.5, чтобы зафиксировать ее в нажатом состоянии. При этом активизируется режим, позволяющий точно выравнивать новые объекты по заданным элементам геометрии сцены во всех трех измерениях одновременно. Чтобы выбрать нужный тип привязки, щелкните на кнопке 3D Snap (Трехмерная привязка) правой кнопкой мыши. Появится окно диалога Grid and Snap Settings (Настройка сетки и привязок). На вкладке Snaps (Привязки) этого окна обязательно сбросьте установленный по умолчанию флажок Grid Points (Узлы сетки), обеспечивающий трехмерную привязку к узлам координатной сетки, и установите флажок Endpoint (Концевые точки) (рис. 9.81). Этот тип привязки обеспечит фиксацию курсора только на вершинах сплайнового каркаса.

Рис. 9.81. В окне диалога Grid and Snap Settings выбран тип привязки, используемый при построении сплайновых каркасов
7.   Приступим к созданию поперечных ребер внутри контурной рамки каркаса. Убедитесь, что активен режим выделения подобъектов-вершин. Щелкните на кнопке инструмента Create Line (Создать линию) и установите курсор на одну из вершин рамки каркаса, скажем, вблизи верхнего рожка месяца. При этом вокруг выбранной вершины должен появиться квадрат голубого цвета — значок привязки. Также в голубой цвет должен окраситься и прилегающий к выбранной вершине сегмент сплайна, как можно видеть на рис. 9.82. Начинайте создание нового сплайна, только когда увидите оба эти сигнала готовности к точной привязке вершины нового сплайна к имеющейся вершине. Если начать создание нового сплайна, не видя сигналов точной привязки, новая вершина может оказаться сколь угодно близко от имеющейся, но не в одной точке с ней, а этого недостаточно для успешного применения к такому каркасу модификатора Surface (Поверхность).



Рис. 9.82. Появление значка привязки в виде голубого квадрата и окрашивание прилегающего к вершине сегмента кривой (показаны стрелками) в голубой цвет — сигналы точной привязки

ЗАМЕЧАНИЕ
Неточное совпадение вершин пересекающихся сплайнов, образующих каркас, — одна из возможных причин появления «дыр» в поверхности, создаваемой на основе такого каркаса модификатором Surface (Поверхность). Если после применения модификатора вы обнаруживаете, что те ячейки, которые имеют, как положено, по три или четыре вершины, вдруг оказались не покрытыми поверхностью, проверьте совпадение вершин сплайнов, ограничивающих эти ячейки. Иногда для этого достаточно слегка повернуть плоскость проекции. Может статься, что вершины, которые казались на виде спереди точно совпадающими по координатам Z и X, окажутся совершенно не совпадающими по координате глубины сцены Y.

8.   Увидев сигналы привязки, щелкните кнопкой мыши и начинайте строить сплайн между двумя противолежащими вершинами рамки каркаса. Создайте у этого сплайна одну промежуточную вершину. Третью вершину нового сплайна точно совместите с вершиной на рамке, как показано на рис. 9.83. Щелкните правой кнопкой мыши для завершения рисования сплайна.

Рис. 9.83. Построен первый поперечный сплайн каркаса, концевые вершины которого за счет трехмерной привязки точно совмещены с вершинами рамки
9.   Продолжите построение новых поперечных сплайнов, соединяя между собой противолежащие вершины рамки, а также вершины рамки — с вершинами контура глаза. Создайте сплайн, который обрисовывает контуры губ, как показано на рис. 9.84. Щелкните правой кнопкой мыши для завершения рисования сплайна и еще раз — для выключения режима создания линий.

Рис. 9.84. Построен ряд поперечных сплайнов, постепенно выявляющих структуру каркаса
10. До сих пор мы проводили все построения в окне вида спереди, так что пока наш каркас является совершенно плоским. В этом легко убедиться, заглянув в окно вида сверху. Сейчас наступает самый важный момент: пора придать каркасу требуемую объемность. Сделать это не так легко, так как придется перемещать маркеры касательных векторов вершин сплайнов в трехмерном пространстве. Перед началом настройки векторов обязательно выключите режим трехмерной привязки, щелкнув на кнопке 3D Snap (Трехмерная привязка) и приведя ее в исходное положение. Попытка перемещать векторы при включенной трехмерной привязке может приводить к непредсказуемым последствиям. Задача состоит в том, чтобы придать выпуклость поперечным сплайнам каркаса, не затрагивая рамку, которая должна остаться плоской. Для придания сплайнам требуемой выпуклости используйте следующий прием. Выделяйте нужную вершину в окне вида спереди, а перемещайте ее в окне вида сверху. Те вершины, в которых пересекаются два или более сплайнов, выделяйте обязательно с помощью рамки. Чтобы выделенные вершины имели касательные векторы, изменяйте их тип на Bezier (Безье) или, где необходимо, на Bezier Corner (Безье с изломом). Начните, скажем, со средней вершины сплайна вблизи верхнего рожка месяца. Выделите ее на виде спереди, преобразуйте к типу вершины Безье, затем в окне вида сверху переместите вершину в сторону от рамки каркаса. Настройте положения ее касательных векторов, чтобы придать сплайну требуемое закругление. Затем поочередно выделите рамкой каждую из концевых вершин этого сплайна, преобразуйте их к типу Безье и настройте касательные векторы концевых вершин. На рис. 9.85 можно видеть, как приблизительно должны выглядеть первые два поперечных сплайна на видах спереди и сверху. Следите за тем, чтобы в ходе настройки не сместить сами концевые вершины. Если такое случится, отмените ошибочные действия.



Рис. 9.85. Первым двум поперечным сплайнам придана выпуклость за счет перемещения их средних вершин в сторону от плоскости каркаса в направлении стрелок

СОВЕТ
Часто после перемещения вершин сплайнов каркаса или их касательных векторов появляется сообщение Weld Coincident Vertices? (Слить совпадающие вершины?). Как правило, на него следует отвечать щелчком на кнопке No (Нет).

11.   Продолжите придавать выпуклость остальным элементам каркаса, включая контуры глаза. Старайтесь при этом мысленно представить, что на создаваемый вами каркас уже «натянута» поверхность. Это помогает понять, как именно следует изогнуть тот или иной элемент каркаса. Меняйте плоскость проекции, рассматривая каркас под разными углами. В итоге у вас должно получиться нечто, напоминающее изображение на рис. 9.86.

Рис. 9.86. Вид на каркас сверху и в произвольной проекции показывает, что поперечным сплайнам придана выпуклость
12.   На данном этапе уже можно применить к каркасу модификатор Surface (Поверхность). При этом куски Безье образуются только на тех ячейках каркаса, которые имеют по три или четыре вершины. Пока таких ячеек немного: вблизи верхнего рожка месяца, справа и слева от глаза и в пределах контура губ, так что поверхность и впрямь будет состоять из отдельных кусков. Тем не менее многие мастера советуют применять модификатор уже на ранней стадии работы над каркасом, чтобы видеть, в нужном ли направлении идет его правка. Попробуйте отыскать на каркасе «правильные» ячейки и применить модификатор, чтобы убедиться в том, что понимаете его действие. Разверните список Modifier List (Список модификаторов) и щелкните на строке Surface (Поверхность) в разделе Patch/Spline Editing (Правка кусков/сплайнов). Обратите внимание на счетчик Threshold (Порог) в свитке параметров модификатора, который появится на панели Modify (Изменить). Если расстояние между какими-то вершинами сплайнового каркаса оказывается меньше величины Threshold (Порог), эти вершины сливаются в одну. В связи с этим величина данного параметра существенным образом влияет на вид поверхности, получающейся после «натягивания» сетки кусков на сплайновый каркас. В нашем примере установленное но умолчанию значение порога в 2,54 см (один дюйм) оказывается великовато, и часть вершин в районе губ месяца сливается, искажая форму сетки (рис. 9.87, слева). Чтобы устранить эти искажения, уменьшите пороговое расстояние слияния, для чего достаточно один раз щелкнуть на нижней стрелке счетчика Threshold (Порог). Параметр принимает значение 1,27 см, и в итоге изображение в окне вида спереди должно выглядеть примерно так, как показано на рис. 9.87, справа. Рассмотрите сформировавшиеся куски под разными углами, чтобы убедиться в том, что они имеют нужную выпуклость.



Рис. 9.87. В результате применения модификатора Surface из ячеек с четырьмя вершинами образовались куски Безье, форма которых искажена (слева), что устраняется уменьшением величины Threshold (справа)
Чтобы продолжить работу над каркасом, не нужно удалять модификатор из стека. Достаточно активизировать в окне стека модификаторов строку любого из подобъектов модификатора Edit Spline (Правка сплайна), и каркас снова будет доступен для редактирования. По мере появления новых «правильных» ячеек на них будут «натягиваться» куски Безье. Увидеть эти новые куски можно будет, просто снова щелкнув в окне стека на строке модификатора Surface (Поверхность) для его активизации.
13.   Снова включите режим трехмерной привязки и продолжите добавление новых сплайнов в окне вида спереди, тщательно следя за сигналами привязки вершин новых сплайнов к уже имеющимся вершинам каркаса. Постройте продольный сплайн, соединив сначала две противолежащие вершины в районе нижнего рожка месяца, а затем перемещаясь вверх и щелкая на средних вершинах поперечных сплайнов. Завершите этот продольный сплайн в правом углу глаза. Далее постройте сплайны, обозначающие дополнительную сегментацию каркаса в области губ. В частности, соедините кривыми вершины в серединах губ с уголком рта. Эти кривые позволят придать губам требуемую выпуклость. Соедините угол рта также и с основанием носа, чтобы ячейка каркаса над верхней губой имела допустимое число вершин. В качестве наглядного руководства используйте изображение, показанное на рис. 9.88. Добавив новые сплайны, настройте их выпуклость и кривизну, как было описано выше.

Рис. 9.88. Добавлены сплайны для придания выпуклости губам и разбиения каркаса на треугольные и четырехугольные ячейки
14.   Если вы все делали как нужно, то теперь уже должно было образоваться гораздо больше «правильных» ячеек каркаса. Активизировав в стеке строку модификатора Surface (Поверхность), вы сможете увидеть нечто, подобное изображению на рис. 9.89. Не знаю, как для вас, а для меня этот процесс появления «из ничего» предмета, который кажется вполне осязаемым, представляется основным привлекательным моментом данной техники моделирования. Если получившаяся у вас поверхность не выглядит достаточно гладкой, имеет выступы или впадины, следует снова вернуться к правке формы сплайнов каркаса, разглядывая их под разными углами.



Рис. 9.89. Поверхность вылепливаемого объекта нарастает кусок за куском

СОВЕТ
Обязательно рассматривайте сплайны, образующие каркас, под разными углами зрения. Проекции — такая обманчивая штука! Кажется, все выровнял, но чуть изменишь ракурс, и оказывается, что на самом деле все кривые расположены наперекосяк. Значит, нужно снова манипулировать касательными векторами — а что делать? Кстати, иногда кусок поверхности бывает не виден не из-за неточного совмещения вершин ограничивающих его сплайнов, а из-за того, что его нормаль оказалась перевернутой и он обращен к вам оборотной стороной. Для проверки установите флажок Flip Normals (Перевернуть нормали) в свитке параметров модификатора Surface (Поверхность). Если кусок после этого появится (при этом все остальные куски исчезнут из вида, но это не беда), нужно сбросить этот флажок, вернуться на уровень правки подобъектов Spline (Сплайн), выделить сплайн каркаса, ограничивающий ячейку, и щелкнуть на кнопке Reverse (Обратить). Это приведет к изменению порядка следования вершин сплайна на обратный. Обычно после этого кусок становится виден.

15. Настал черед заняться глазом и носом. Не забыв включить режим трехмерной привязки, постройте в окне вида спереди сплайн, изображающий нижнее веко и проходящий снизу от глаза от одного его угла (вершина 1 на рис. 9.90) к другому (вершина 3). Создайте на этом сплайне одну промежуточную вершину в точке 2. Затем нарисуйте сплайн, тянущийся от кончика носа (вершина 4) к точке на щеке (вершина 5) и имеющий одну промежуточную вершину в точке 6. Соедините точку 6 одним сплайном с передним уголком глаза (вершина 3), а другим — с вершиной 7 на рамке каркаса. Из точки 8 на кончике верхнего рожка месяца протяните сплайн через средние точки двух поперечных сплайнов рожка (вершины 9 и 10), точку 11 на верхнем краю верхнего века, точку 12 на нижнем краю верхнего века, среднюю точку нижнего века (вершина 2), завершив этот сплайн в точке 5 у основания носа. Остается только создать еще два сплайна: один, соединяющий две противолежащие вершины на верхнем веке (точки 13 и 14), и другой, тянущийся от основания носа (точка 5) вверх, к переднему уголку глаза (вершина 3). Теперь выключите режим привязки и настройте выпуклость и кривизну только что созданных сплайнов, изменяя тип их вершин на Bezier (Безье) или Bezier Corner (Безье с изломом). Проверяйте правильность построения, периодически активизируя модификатор Surface (Поверхность). В итоге половинка «Месяца» должна принять вид, показанный ранее на рис. 9.70. Сохраните файл под заданным в начале работы именем Mesiac.max, а затем сохраните файл еще раз, но с инкрементированием имени.



Рис. 9.90. Новые сплайны, завершающие конструкцию каркаса, проходят через вершины, пронумерованные в порядке упоминания в тексте

ЗАМЕЧАНИЕ
Понимая, что никакие двумерные изображения не дают полного представления о трехмерной модели, хочу посоветовать загрузить готовую модель половинки месяца и хорошенько рассмотреть ее с разных сторон. Такую модель можно найти в файле Mesiac.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге. Готовая модель «Месяца» имеется в файле Mesiac01.max в той же папке.

16. В заключение создайте зеркальную копию половинки «Месяца» и переместите ее на нужное место. Присоедините половинку-копию к оригиналу. Выделите в окне вида сверху, справа или слева все вершины вдоль линии стыка и примените к ним инструмент Selected (Выделенные) из раздела Weld (Слить) свитка Geometry (Геометрия). Сохраните файл под заданным в начале работы именем Mesiac.max, а затем сохраните файл еще раз, но с инкрементированием имени.
Надеюсь, что сумел объяснить основные хитрости создания трехмерных тел на основе сплайновых каркасов, и вы сможете использовать полученные навыки при моделировании собственных проектов.
Обратите внимание на то, что при создании каркаса мы старались свести к минимуму число треугольных ячеек, создавая в основном четырехугольные. Как уже говорилось, такой подход обеспечивает получение более ровной и гладкой сетки. Правда, его реализация требует от модельера дополнительных усилий, хорошего пространственного воображения и... умения считать до четырех.
Чтобы придать поверхности нужную форму и одновременно обеспечить ее требуемую гладкость, часто приходится удалять одни вершины сплайнов каркаса и создавать новые. В ходе предыдущего упражнения у вас могло сложиться впечатление, что я заранее знал, где расставлять вершины сплайнов. Это не так, здесь использована маленькая хитрость: вся работа по поиску оптимальной расстановки вершин была проделана заранее методом проб и ошибок и осталась за кадром. В работе над реальным проектом некому будет подсказать вам, сколько промежуточных вершин нужно создать у того или иного сплайна, так что не забывайте о существовании инструмента Refine (Уточнить) и клавиши Delete. Кстати, перед добавлением новых вершин с помощью инструмента Refine (Уточнить) не забывайте выключать режим трехмерной привязки!

Нарезаем зубья на вилке


Закрепим навыки создания булевских объектов, «нарезав» зубья на заготовке вилки, созданной ранее при освоении метода лофтинга. Выполните следующие действия:

1. Откройте ранее сохраненный файл Vilka.max или загрузите файл с аналогичным именем из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.

2.   Активизируйте окно проекции Front (Вид спереди), увеличьте изображение, как показано на рис. 7.46, и создайте усовершенствованный примитив ChamferBox (Параллелепипед с фаской) со следующими размерами: Length (Длина) = 4,0 см, Width (Ширина) - 9,5 см, Height (Высота) = 0,7 см, Fillet (Фаска) = 0,2 см. Этот параллелепипед и два его образца мы вычтем из заготовки, образовав промежутки между зубьями вилки.

Рис. 7.46. Параллелепипед с фаской будет играть роль штампа при «нарезке» зубьев вилки

1.   Чтобы зубья имели клиновидную форму, сузьте параллелепипед на одном из концов, применив к нему еще не использовавшийся нами модификатор заострения. Для этого при выделенном параллелепипеде щелкните на кнопке Taper (Заострение) в раскрывающемся списке Modifier List (Список модификаторов) командной панели Modify (Изменить). Параллелепипед будет заключен в габаритный контейнер модификатора оранжевого цвета. Обратите внимание, что центральная точка модификатора, обозначенная коричневым крестом, находится не в его геометрическом центре, так как совмещена с опорной точкой параллелепипеда, расположенной в середине его основания. Это отчетливо видно в окне проекции Тор (Вид сверху). При таком расположении центра заострение на виде сверху не будет симметричным. Чтобы переместить центр модификатора, щелкните на квадратике со значком «плюс» слева от надписи Taper (Заострение) в окне стека модификаторов и выберите в раскрывшемся дереве подобъектов строку Center (Центр). Крест, обозначающий центральную точку, окрасится в желтый цвет. Щелкните на нем в окне проекции Тор (Вид сверху), выбрав инструмент Select and Move (Выделить и переместить), и перетащите в середину параллелепипеда, как показано на рис. 7.47.





Рис. 7.47. Центр модификатора перемещен в геометрический центр параллелепипеда
2.   Настройте параметры заострения в свитке Parameters (Параметры). Установите в счетчике Amount (Величина) значение 0,55. Переключатель Primary ( Первичная ось) раздела Taper Axis (Ось заострения) установите в положение X, а переключатель Effect (Ось эффекта) — в положение Z. Создайте два образца заостренного параллелепипеда и разместите их на конце заготовки вилки, как показано на рис. 7.48.

Рис. 7.48. Все готово к применению операции булевского вычитания
3. Переходите к булевскому вычитанию. Выделите объект Vilka и выберите на командной панели кнопку Boolean (Булевские). Щелкните на кнопке Pick Operand В (Указать операнд В) в свитке Pick Boolean (Задать операнд) и выделите первый из трех параллелепипедов, предназначенных для формирования промежутков между зубьями вилки. Проследите, чтобы переключатель Operation (Операция) был установлен в положение Subtraction (A-B) (Исключение (А-В)). Параллелепипед исчезнет, оставив после себя щель между двумя зубьями вилки, как показано на рис. 7.49. Щелкните правой кнопкой мыши, завершая операцию булевского вычитания.

Рис. 7.49. Первая пара зубьев сформирована
4. Снова щелкните на кнопке Pick Operand В (Указать операнд В) и выделите следующий параллелепипед. Он также исчезнет, сформировав щель между следующей парой зубьев. Повторите описанные действия применительно к третьему параллелепипеду. Окончательный вид вилки приведен на рис. 7.50. Закончив работу, сохраните файл под измененным в начале работы именем. Готовую вилку можно найти в файле под именем Vilka01.max, хранящемся в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге.

Рис. 7.50. Зубья вилки "нарезаны» методом булевского вычитания
Итак, многократное применение операции создания булевского составного объекта позволяет вырезать множественные отверстия в оболочке трехмерного тела. Недостаток такого способа заключается в том, что после, скажем, трехкратного применения булевского исключения объект становится «трижды булевским», то есть сведения о параметрах булевской операции и ее операндах трижды помещаются в стек объекта. Это увеличивает объем файла и замедляет работу программы по перерисовке сцены.


Впрочем, операцию многократного булевского исключения или объединения сразу нескольких объектов можно выполнить за один прием. Это делается с помощью программного модуля Collapse (Свертка), кнопка активизации которого находится на командной панели Utilities (Сервис).

ВНИМАНИЕ
Булевские операции, выполненные с помощью программного модуля Collapse (Свертка), не подлежат отмене. Так что перед выполнением подобной операции стоит сохранить сцену, чтобы иметь возможность вернуться к сохраненному варианту в случае какой-то ошибки.

Чтобы выполнить за один прием булевское исключение сразу нескольких объектов, проделайте следующие действия:
1. Создайте несколько объектов и разместите их с перекрытием. Предположим для определенности, что объектом, из которого нужно исключить часть объема, будет тело лофтинга в форме заготовки вилки, как в предыдущем упражнении, а исключаемыми объектами будут три параллелепипеда с фаской. Выделите сначала объект, из которого следует произвести исключение, то есть вилку, а затем — исключаемые объекты, то есть параллелепипеды. Их можно выделить или по отдельности, или все сразу с помощью рамки. Важно только то, какой объект был выделен первым. Модуль Collapse (Свертка) построен так, что всегда производит исключение из того объекта, который был выделен первым, тех объектов, которые были выделены во вторую очередь.
2.   Перейдите на командную панель Utilities (Сервис) и щелкните на кнопке Collapse (Свертка). В разделе Collapse To (Свернуть в) свитка Collapse (Свертка) установите переключатель Single Object (Один объект), флажок Boolean (Булевский) и переключатель типа операции — Subtraction (Исключение). Оставьте все остальные элементы управления в исходном состоянии и для выполнения операции щелкните на кнопке Collapse Selected (Свернуть выделенное). Спустя какое-то время, требующееся компьютеру на выполнение этой операции, исключаемые объекты будут ликвидированы, а в объекте, выделенном первым, появятся запланированные вырезы.
3.   Чтобы закончить работу с модулем, снова щелкните на кнопке Collapse (Свертка) или на кнопке Close (Закрыть) внизу свитка.

Регулировка ширины, «резкости» и формы сечения луча прожектора


Края пятна света с принятыми по умолчанию угловыми размерами выглядят чуть-чуть размытыми. Чтобы научиться управлять размерами пятна света и резкостью его кромки, выполните следующие действия в продолжение предыдущего упражнения.

1. Разверните свиток Spotlight Parameters (Параметры прожектора), показанный на рис. 11.27. По умолчанию параметр Hotspot/Beam (Яркое пятно/Луч), задающий размер области, в пределах которой интенсивность падающего света остается постоянной и равной значению, заданному для источника в счетчике Multiplier (Усилитель), равен 43°, а параметр Falloff/Field (Край пятна/Поле), задающий внешний размер пятна света, равен 45°. Кромка пятна света в связи с этим выглядит немного размытой, что повышает естественность картины: в реальной жизни редко встречаются источники света с абсолютной фокусировкой пучка.

Рис. 11.27 В свитке Spotlight Parameters (Параметры прожектора) расположены средства настройки ширины, резкости и формы луча света

ЗАМЕЧАНИЕ

В названиях параметров Hotspot/Beam (Яркое пятно/Луч) и Falloff/Field (Край пятна/ Поле) слова «Hotspot» и «Falloff» относятся к стандартным осветителям, а слова «Beam» и «Field» — к фотометрическим. Смысловое значение понятий «яркое пятно» и «край пятна» объяснено ранее в этой главе. Для фотометрических осветителей счетчик Hotspot/ Beam (Яркое пятно/Луч) задает угловой размер зоны, на границе которой сила излучения фотометрического прожектора спадает до 50 % от максимума. Счетчик Falloff/Field (Край пятна/Поле) задает угловую ширину зоны, за пределами которой сила света равна нулю.

2.   Для увеличения размеров пятна света достаточно увеличить параметр Hotspot/ Beam (Яркое пятно/Луч), при этом параметр Falloff/Field (Край пятна/Поле) будет автоматически возрастать, оставаясь по умолчанию всегда на 2° больше углового размера яркого пятна. Уменьшение размеров яркого пятна не влияет на величину параметра Falloff/Field (Край пятна/Поле). Попробуйте увеличить значение параметра Falloff/Field (Край пятна/Поле), скажем, до 60°. Как видите (рис. 11.28), в результате этого ширина каймы по краю пятна, в пределах которой яркость света спадает до нуля, существенно выросла. Восстановите исходное значение параметра Falloff/Field (Край пятна/Поле).





Рис. 11.28. При увеличении параметра Falloff/ Field луч света выглядит более «расфокусированным»

ЗАМЕЧАНИЕ
Свитки параметров max 7.5 обладают «памятью». Пусть, например, вы создали прожектор и изменили исходные значения параметров Hotspot/Beam (Яркое пятно/Луч), Falloff/Field (Край пятна/Поле), Multiplier (Усилитель) и т. п. Теперь, когда вы захотите создать еще один прожектор, он будет создаваться с установленными вами в предыдущем случае значениями параметров. Это следует иметь в виду при воспроизведении результатов, описываемых в упражнениях.

3.   Установите переключатель, расположенный под счетчиком Falloff/Field (Край пятна/Поле) и по умолчанию устанавливаемый в положение Circle (Круг), в положение Rectangle (Прямоугольник). Как видите, сечение пучка лучей стало прямоугольным. Это дает возможность, скажем, имитировать свет, падающий в темную комнату через открытую дверь, или луч кинопроектора, отбрасывающий свет на экран, как показано на рис. 11.29. Соотношение сторон прямоугольного сечения пучка лучей регулируется счетчиком Aspect (Отношение сторон). Не сохраняйте файл и не выходите из программы, в следующем упражнении мы продолжим работу над сценой.

Рис. 11.29. Пучок лучей света может иметь и прямоугольное сечение
Опробуйте еще одну возможность max 7.5, позволяющую менять размеры параметров Hotspot/Beam (Яркое пятно/Луч) и Falloff/Field (Край пятна/Поле) в интерактивном режиме с помощью мыши прямо в окнах проекций. Чтобы воспользоваться таким способом настройки, создайте осветитель-прожектор, после чего щелкните на кнопке Select and Manipulate (Выделить и манипулировать). Если прожектор выделен, то окружности, изображающие границы яркого пятна и его края, сразу примут зеленую окраску, указывающую на готовность к интерактивной настройке. Если же прожектор не выделен, то для включения режима интерактивной настройки выделите его, щелкнув на значке источника. Установите курсор на одну из окружностей. Она приобретет красный цвет, а во всплывающем окне появится сообщение о текущем размере изменяемого параметра, например: Spot01 [Falloff: 41,44], как показано на рис. 11.30. Щелкните кнопкой мыши и перетаскивайте курсор вверх или вниз по экрану, наблюдая за изменением диаметра окружности и численным значением параметра во всплывающем окне или в соответствующем счетчике командной панели.

Рис. 11.30. Угловой размер пучка лучей можно менять в интерактивном режиме с помощью инструмента Select and Manipulate

Визуализируем анимацию «Летящий шар»


Отработаем на практике итоговую визуализацию анимации с записью результата в файл. Выполните следующие действия:

1. Загрузите в программу max 7.5 файл Letiasshiy shar.max или просто продолжите работу, если он уже открыт. При необходимости загрузите готовый файл этой сцены с прилагающегося к книге компакт-диска, где он хранится в папке Scenes\Glava_16. Активизируйте окно проекции, в котором будет производиться итоговая визуализация.

2.   

Настройте параметры создаваемой анимации. Для этого щелкните на кнопке Render Scene (Визуализировать сцену) главной панели инструментов. В появившемся окне диалога Render Scene (Визуализация сцены) установите переключатель в разделе Time Output (Интервал вывода) в положение Active Time Segment (Активный временной сегмент). В разделе Output Size (Размер кадра) укажите размер кадра анимации в пикселях. На мой взгляд, вполне приемлемое изображение получается при размере кадра 640x380 пикселей. Чтобы визуализированные кадры не пропали (по умолчанию изображения выводятся только в окно виртуального буфера кадров), щелкните на кнопке Files (Файлы) в разделе Render Output (Вывод визуализации), выберите формат выходного файла типа .avi и задайте для него подходящее имя, например Letiasshaia sfera. Щелкните на кнопке Save (Сохранить). В появившемся окне диалога File Compression (Сжатие видеозаписей) выберите в раскрывающемся списке Compressor (Программа сжатия) вариант Uncompressed Frames (Полные кадры (без сжатия)), чтобы получить наилучшее качество изображения видеозаписи, которая при этом может занять несколько десятков мегабайт дисковой памяти, или вариант Microsoft Video1, чтобы существенно сэкономить дисковое пространство при приемлемом качестве изображения. В последнем случае оставьте ползунок параметра Compression Quality (Качество сжатия) в принятом по умолчанию положении 75. Щелкните на кнопке ОК. Закройте окно диалога Render Scene (Визуализировать сцену), щелкнув на кнопке Close (Закрыть).

3.   Запустите процесс визуализации, щелкнув на кнопке Quick Render (Быстрая визуализация) главной панели инструментов, и наблюдайте синтез одного кадра за другим. По завершении визуализации перейдите в папку, в которой сохранялся файл анимации, и щелкните на имени сохраненного файла Letiasshaia sfera.avi, чтобы воспроизвести его для просмотра, как показано на рис. 16.42. Готовый файл этой анимации можно найти в папке Animations\G!ava_16 компакт-диска, прилагающегося к книге.

Рис. 16.42. Просмотр визуализированной анимации в окне приложения Проигрыватель Windows Media



Превращаем стандартную сферу в елочный шар


Выполним простейшее упражнение, в ходе которого ознакомимся с весьма полезным инструментом выдавливания граней сетки, а заодно создадим елочный шар, который пригодится впоследствии для украшения новогодней елки в нашем кафе «МАХ». Более подробное знакомство с этим инструментом, показывающим его неограниченные созидательные возможности, ждет вас в главе 9, «Осваиваем секреты моделирования».

Повторяйте за мной следующие действия:

1.   Перезагрузите программу max 7.5 и сохраните пустую сцену под именем Sharik.max.

2.   Создайте в центре окна проекции Тор (Вид сверху) стандартный примитив Sphere (Сфера) радиусом порядка 10-11 см. Преобразуйте примитив в объект типа Editable Mesh (Редактируемая сетка) любым из известных вам способов. Переключитесь на уровень выделения подобъектов типа Face (Грань).

3.   Достаточно сильно увеличьте изображение сферы в окне вида сверху и выделите рамкой грани, непосредственно примыкающие к верхнему полюсу сферы. Выделенные грани приобретут красный цвет, как показано на рис. 8.33. Так как при этом выделятся и грани, симметрично расположенные в районе нижнего полюса сферы, перейдите в окно проекции Front (Вид спереди) и, нажав и удерживая клавишу Alt, охватите рамкой грани вблизи нижнего полюса, чтобы отменить их выделение.

Рис. 8.33. В окне вида сверху выделены все грани, примыкающие к полюсу сферы

СОВЕТ

В max 7.5 имеется возможность при работе с выделяющей рамкой избежать выделения граней или полигонов, расположенных на противоположной, невидимой стороне объекта. Для этого достаточно перед выделением установить флажок Ignore Backfacing (Игнорировать изнаночные) в свитке Selection (Выделение) на командной панели Modify (Изменить).

4.   Теперь выдавим грани, выделенные в районе верхнего полюса сферы, чтобы сформировать колпачок, в котором у настоящего елочного шара крепится пружинка, используемая для подвески украшения на елку. Щелкните в свитке Edit Geometry (Правка геометрии) на кнопке Extrude (Выдавить). Переместите курсор и окно проекции Front (Вид спереди) и установите его поверх выделенных граней. Когда курсор примет вид, соответствующий режиму выдавливания и показанный на рис. 8.34, щелкните кнопкой мыши и перетаскивайте курсор, наблюдая в окнах проекций за ростом выступа на поверхности сферы. Следите за высотой выступа в счетчике, расположенном справа от кнопки Extrude (Выдавить), и отпустите кнопку мыши, когда высота выступа достигнет значения порядка 3,5-4 см. Щелкните правой кнопкой мыши, чтобы выключить режим выдавливания граней.





Рис. 8.34. Изменившийся вид курсора указывает на готовность к операции выдавливания выделенных граней

ЗАМЕЧАНИЕ
Существует еще один способ выдавливания граней с точным заданием высоты выдавливания. Мы познакомимся с ним в ходе выполнения последующих упражнений этой главы и главы 9, «Осваиваем секреты моделирования».

5. Выключите режим выделения подобъектов, щелкнув в окне стека модификаторов на строке Editable Mesh (Редактируемая сетка), являющейся заголовком дерева подобъектов. На рис. 8.35 показан итоговый вид получившегося елочного шарика. В заключение сохраните файл под заданным в начале работы именем Sharik.max. Можете сравнить то, что у вас получилось, с готовым объектом, хранящимся в файле с таким же именем в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге.

Рис. 8.35. Елочный шарик с выступом на макушке сформирован методом выдавливания граней
Продолжим знакомство с другими инструментами редактирования полигональных сеток на уровнях различных подобъектов.

Прожектор в роли проектора


Имеет смысл разобраться еще в одной интересной возможности, реализуемой с помощью осветителей max 7.5: все типы источников света могут играть роль кинопроекторов или проекторов для слайдов. Это означает, что можно заставить осветитель отбрасывать на предметы сцены пучок лучей света, несущих выбранное изображение. Чтобы проделать это, выполните следующие действия в продолжение предыдущего упражнения:

1. Разверните свиток Advanced Effects (Дополнительные эффекты), установите в разделе Projector Map (Карта проектора) флажок Map (Карта) и щелкните на расположенной справа от него кнопке с надписью None (Отсутствует). Появится окно диалога Material/Map Browser (Просмотр материалов/карт текстур), с которым вы познакомитесь подробнее в последующих главах. В этом окне будет представлен список доступных для использования карт текстур, все элементы которого снабжены значками в виде параллелограммов зеленого цвета. Дважды щелкните в списке окна на второй сверху строке Bitmap (Растровая карта). Выберите подходящее изображение в появившемся окне диалога Select Bitmap Image File (Выбор изображения растровой карты).

2.   Визуализируйте изображение в окне проекции Perspective (Перспектива). В примере, показанном на рис. 11.31, в качестве слайда было использовано изображение из файла Ptiab_22.jpg, входящего в комплект поставки max 7.5. Обратите внимание на то, как изображение проецируется на стоящее на переднем плане кресло с учетом его формы.

Рис. 11.31. Прожектор в роли проектора для слайдов

Закончив эксперименты с нацеленным прожектором, удалите его, но не закрывайте файл сцены, не сохраняйте его и не выходите из программы: нам предстоит выполнить последний этап настройки освещения сцены «МАХ-кафе».



Раз, два, три — елочка, гори!


Выполним теперь упражнение на анимацию параметров материалов. Предметом данного упражнения будет анимация огней гирлянды, украшающей новогоднюю елку нашего кафе «МАХ». В учебном плане это упражнение поможет нам отработать навыки редактирования и копирования ключей анимации с использованием строки треков.

Выполните следующие действия:

1.   Откройте имеющийся у вас файл MAX-kafe22.max или загрузите подходящий файл с компакт-диска, прилагающегося к книге, например все тот же файл MAX-kafe22.max, находящийся в папке Scenes\Glava__15. Разгруппируйте объект-группу Yolka. Выделите саму елку и лампочки гирлянды, а также одну из камер, например Сатега03, и пару всенаправленных осветителей, скажем, Omni01 и Omni05. Сохраните выделенные объекты в отдельном файле, используя команду меню File > Save Selected (Файл > Сохранить выделенные объекты), дав этому файлу подходящее имя. При необходимости вы можете найти подобный файл в папке Scenes\Glava_16 компакт-диска под именем Girlianda.max.

2.   Переориентируйте камеру, поместив в ее поле зрения крупный план новогодней елки, как показано на рис. 16.52. Чтобы ускорить визуализацию, выключите режимы воспроизведения эффектов внешней среды и оптических эффектов, сбросив в окне диалога Render Scene (Визуализация сцены) флажки Atmospherics (Эффекты внешней среды) и Effects (Оптические эффекты). Проверьте, чтобы у обоих осветителей был выбран вариант теней Shadow Maps (Карты теней).

Рис. 16.52. Елка с гирляндой разноцветных лампочек подготовлена к анимации

3.   Будем пытаться выполнить анимацию по такому сценарию: сначала «горят» все красные лампочки, затем — все желтые, потом все зеленые, и, наконец, цикл повторяется. В итоге должно создаваться впечатление огоньков, «бегущих» вдоль по нитке гирлянды. Произведем расчет времени. Продолжительность горения лампочек одного цвета можно принять равной 10 кадрам, то есть около 0,3 с. Тогда за 30 кадров произойдет полный цикл переключения лампочек всех трех цветов. Чтобы в пределах сегмента анимации уложилось целое число таких циклов, увеличим ее продолжительность до 120 кадров, используя для этого окно диалога Time Configuration (Настройка временных интервалов) или уже известный вам интерактивный прием. Включение свечения лампочек будем имитировать установкой параметра Self-Illumination (Самосвечение) равным 100 %, а выключение — приведением этого параметра к нулю.




4.   Итак, приступим. Убедитесь, что текущим является кадр № 0. Раскройте окно Редактора материалов. Активизируйте ячейку с образцом материала зеленых лампочек. Включите режим автоматической анимации, щелкнув на кнопке Auto Key (Автоключ). Обратите внимание на то, что вокруг ячейки образца появляется рамка красного цвета, указывающая на возможность анимации параметров материала. Измените значение счетчика Self-Illumination (Самосвечение) со 100 на 0. Заметьте, что вокруг стрелок счетчика этого параметра появляются красные угловые скобки. Они говорят о том, что данный параметр анимирован. Затем активизируйте ячейку с образцом материала желтых лампочек и проделайте с этим материалом то же, что и с материалом зеленых лампочек — выключите его самосвечение. Теперь в кадре № 0 «горят» только красные лампочки.
5.   Перейдите к кадру № 10. Выключите самосвечение материала красных лампочек, убавив до нуля значение параметра Self-Illumination (Самосвечение). Значение данного параметра желтого материала увеличьте в этом кадре до 100 %, а у зеленого материала оставьте пока равным нулю. Итак, в кадре № 10 красные лампочки «погасли», желтые «загорелись», а зеленые пока ждут своей очереди.
6.   Сделайте текущим кадр № 20 и описанным выше манером «выключите» желтые лампочки, но «включите» зеленые. Наконец, перейдите к кадру № 30, выключите самосвечение зеленого материала, но снова заставьте светиться материал красных лампочек. Цикл завершен. Выключите режим анимации, щелкнув на кнопке Animate (Анимация).
7.   Попробуйте воспроизвести анимацию в окне проекции, перетаскивая ползунок таймера, и убедитесь, что результат не совсем тот, на какой мы рассчитывали. Красные лампочки не «горят» ровным светом все 10 первых кадров, а постепенно «гаснут». Желтые и зеленые лампочки, напротив, медленно «разгораются». Следя за значением параметра Self-Illumination (Самосвечение), вы отметите его равномерное уменьшение для материала красного цвета и увеличение — для материалов желтого и зеленого цветов. В чем дело? Секрет прост: вспомните, что max 7.5 по умолчанию назначает анимируемым параметрам вариант управления типа Flat Tangent (Выровненное управление), приводящий к плавному изменению параметров с устранением скачков.


8.    Как изменять варианты управления, вы уже знаете. Так как все лампочки одного цвета используют один и тот же материал, достаточно выполнить настройку ключей одной из них, чтобы оказать влияние на поведение всех остальных лампочек того же цвета. Итак, выделите любую красную лампочку, скажем, Lampochka01. В строке треков появятся значки ключей анимации в кадрах № 0, 10 и 30. Щелкните на ключе в кадре № 0 правой кнопкой мыши и выберите в появившемся меню команду Lampochka01: Self-Illumination (Лампочка01: Самосвечение). Появится окно справки о ключах анимации самосвечения материала этой лампочки, показанное на рис. 16.53. Измените тип управления параметром на входе и выходе текущего ключа со Smooth (Сглаженное управление) на Step (Скачкообразное управление). Щелкнув на кнопке в левом верхнем углу окна со стрелкой, указывающей вправо, перейдите к ключу № 2, относящемуся к кадру № 10. Измените тип управления на входе и выходе этого ключа также на скачкообразное. В заключение проделайте аналогичную процедуру для ключа № 3, относящегося к кадру № 30.

Рис. 16.53. В окне справки о ключах анимации параметра самосвечения материала красной лампочки нужно изменить тип управления на скачкообразный
9.   Теперь, действуя точно так же, как на предыдущем шаге, измените на скачкообразный варианты управления анимацией параметра самосвечения для материала желтых и зеленых лампочек. Воспроизведите анимацию в окне проекции, перетаскивая ползунок таймера. Теперь все должно идти так, как нужно. На протяжении первых 10 кадров «горят» в полную силу красные лампочки, после десятого кадра они «гаснут», но «загораются» желтые. В кадре № 20 желтые лампочки «гаснут», но тут же «вспыхивают» зеленые. Наконец, в кадре № 30 зеленые лампочки «гаснут», но опять «загораются» красные.
10. Остается только «размножить» ключи лампочек каждого цвета. К счастью, так как анимация относится к материалу, используемому всеми лампочками одного цвета, копирование ключей тоже можно сделать для какой-то одной лампочки, обеспечив распространение результата на все объекты, совместно использующие этот материал. Итак, выделите какую-то из красных лампочек. С помощью рамки выделите два последних из трех ключей в строке треков. Удерживая клавишу Shift, перетащите пару ключей так, чтобы первый из ключей-дубликатов переместился в кадр № 40. Тем самым вы распространите действие анимации на интервал с нулевого по шестидесятый кадр. Затем повторите копирование пары ключей еще два раза, обеспечив действие анимации до конца сегмента. В заключение скопируйте единственный ключ из кадра № 70 в кадр № 100, иначе красные лампочки, загоревшись в кадре № 90, будут гореть до конца анимации.

ЗАМЕЧАНИЕ
Попробуйте сами разобраться в том, почему достаточно копировать не все три, а только два последних ключа. С этой целью еще раз проанализируйте логику развития действия нашей анимации. Подсказываю: свойства ключей чередуются. Первый включает лампочку, второй выключает, третий опять включает...
<


11.    Проделайте аналогичные действия для желтых и зеленых лампочек. Выделите второй и третий ключи и трижды скопируйте их, каждый раз перемещая копии ровно на 30 кадров вправо. Готово! Если теперь запустить воспроизведение анимации в окне проекции, то огоньки будут бесконечно взбегать вверх по нитке гирлянды. Чтобы увидеть этот эффект, возможно, придется временно скрыть из виду саму елку, так как ее прорисовка сильно тормозит работу программы.
12.   Выполните визуализацию анимации и сохраните ее в файле. Сопоставьте то, что у вас получилось, с готовым файлом данной анимации. Такой файл под именем Girlianda01.max имеется в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге. В папке Animations\Glava_16 того же диска вы найдете визуализированную анимацию вспышек огней гирлянды в формате avi.
Попробуйте в качестве задания на самостоятельную проработку выполнить анимацию огней гирлянды в принудительном режиме.

Создаем падающий снег в сцене «МАХ-кафе»


Так как время действия создаваемого нами проекта «МАХ-кафе» по сценарию приходится на зимний период, неплохо было бы дополнить сцену падающим с неба легким снежком, который будет попадать в поле зрения камеры, установленной снаружи перед фасадом кафе «МАХ». Пример изображения сцены с падающими снежинками вы могли видеть ранее в главе 1 (см. рис. 1.20).

Чтобы сымитировать падающий снег, выполните следующие действия:

1. Откройте ранее сохраненный файл MAX-kafe05.max, содержащий здание кафе с проемами для окна и двери, или загрузите файл MAX-kafe05.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени. Активизируйте окно проекции Тор (Вид сверху).

2.   Щелкните на кнопке категории Geometry (Геометрия) командной панели Create (Создать) и выберите вариант Particle Systems (Системы частиц) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке Snow (Снег) в свитке Object Type (Тип объекта).

3.   Переместите курсор в окно проекции Тор (Вид сверху), щелкните кнопкой мыши примерно в точке (-500; -390) и растяните по диагонали прямоугольник значка источника частиц примерно до точки (500; -740). Частицы испускаются со всей поверхности источника, так что размеры его значка определяют размеры области пространства, в пределах которой будут наблюдаться снежинки. Хотя и нет необходимости задавать размеры значка источника частиц с высокой точностью, проделаем это в учебных целях. Прокрутите область свитков командной панели Create (Создать) вверх, чтобы стал виден раздел Emitter (Источник). Задайте следующие размеры значка источника частиц: Width (Ширина) = 1000 см, Length (Длина) = 350 см. Затем выберите инструмент Select and Move (Выделить и переместить) и при все еще выделенном значке источника введите в поля отсчета координат строки состояния требуемые значения координат положения центра источника частиц-снежинок: (0; -565; 620). Итоговый вид источника частиц типа Snow (Снег) в составе сцены «МАХ-кафе» показан на рис. 7.53.





Рис. 7.53. Правильное размещение системы частиц типа Snow в составе сцены «МАХ-кафе»
4.   Чтобы падающий снег выглядел более естественно, создадим еще один источник таких же частиц, но разместим его под некоторым углом, чтобы испускаемые им частицы падали не строго вертикально, а так, как будто их слегка сдувает ветром. Снова щелкните на кнопке Snow (Снег) в свитке Object Type (Тип объекта) командной панели Create (Создать). Выделите значок источника первой системы частиц и, нажав и удерживая клавишу Shift, перетащите его вправо примерно на 100 см, создав независимую копию. Затем опустите значок источника вниз также примерно на 100 см и поверните его вокруг глобальной оси Y примерно на 20°. Правильное положение второго источника частиц в составе сцены показано на рис. 7.54.

Рис. 7.54. Правильное размещение второй системы частиц в составе сцены «МАХ-кафе»
5. Итак, два источника снега созданы, но где же снежинки? Все просто. Перетащите вправо-влево ползунок таймера анимации, и вы увидите, как снежинки начнут сыпаться с плоскостей значков источников. По умолчанию снежинки изображаются в окнах проекций крестиками. Теперь самое время настроить обе системы частиц. Выделите значок источника системы частиц Snow01 (Снег01) и перейдите на командную панель Modify (Изменить). Первое, что следует сделать, — это настроить временные характеристики частиц. Чтобы создавалось впечатление, что снег начал падать давно, уже в первом кадре анимации должно быть видно достаточно снежинок. Установите в счетчике Start (Начало) раздела Timing (Расчет времени) значение -200. Это будет означать, что в первом кадре анимации система снежинок будет иметь такой вид, как будто они сыплются из источника уже на протяжении двухсот кадров. В счетчике Life (Время жизни) укажите величину 200. Эта величина задает время жизни (в кадрах) каждой частицы с момента ее испускания до момента исчезновения. Теперь снежинки будут видны даже при крайнем левом положении ползунка таймера анимации. Не сбрасывайте флажок Constant (Постоянный темп), чтобы темп выпадения частиц оставался постоянным на всем интервале времени анимации.


6.    Теперь настройте параметры раздела Particles (Частицы). В счетчике Viewport Count (Число в окне), задающем максимальное число частиц, отображаемых в каждом из окон проекций в любой момент времени, оставьте установленную по умолчанию величину 100. Зато в счетчике Render Count (Число видимых), определяющем максимальное число частиц, видимых в каждом отдельном кадре итоговой визуализации, установите вместо значения 100 число 10 000. Задайте размер каждой частицы в счетчике Flake Size (Размер снежинки) равным порядка 1,3 см. Уменьшите принятое по умолчанию значение средней начальной скорости падения частиц в счетчике Speed (Скорость) до величины 2,5, а значение степени различий начальных скоростей и направлений распространения частиц, задаваемое в счетчике Variation (Вариации), увеличьте до 3,0. В заключение укажите, какой вид должны иметь частицы после визуализации, используя переключатель раздела Render (Конечный вид). Установите его в положение Facing (Грани), при этом частицы визуализируются в виде квадратных граней, размеры которых равны размерам частицы. Это дает возможность нанести на частицы материал с маской прозрачности, придающей каждой частице форму снежинки.
7.   Настройте аналогичным образом и вторую систему частиц. Только задайте для снежинок этой системы несколько более высокую скорость падения Speed (Скорость) = 3,0 и меньшее значение разброса скорости и направлений распространения Variation (Вариации) = 1,0. Итоговый вид сцены с падающим снегом на момент начального кадра анимации показан на рис. 7.55.

Рис. 7.55. В сцене «МАХ-кафе» пошел снег
8.   Активизируйте окно проекции Perspective (Перспектива), щелкните на
кнопке Play Animation (Воспроизвести анимацию) и полюбуйтесь медленно падающими снежинками. Для завершения воспроизведения анимации падающего снега снова щелкните на той же кнопке, которая теперь называется Stop Animation (Остановить анимацию). Насмотревшись на снежинки, выделите оба источника частиц и скройте их от просмотра, чтобы до поры до времени снежинки не мешали нам продолжать работу над сценой. В заключение сохраните файл сцены под заданным в начале упражнения именем MAX-kafe06.max.
Как видите, чтобы вызвать в виртуальном мире осадки в виде снега, требуется не так уж много усилий.

Создаем крестовину для новогодней елки


В этом упражнении мы попробуем слегка отредактировать форму примитива-параллелепипеда, преобразовав его предварительно в редактируемую сетку, с целью формирования довольно простого объекта — крестовины для новогодней елки. В следующей главе вы сможете подробнее узнать о том, что моделирование объектов путем редактирования сетки параллелепипеда является довольно эффективным способом создания трехмерных тел произвольной формы.

Выполните следующие действия:

1. Перезагрузите программу max 7.5 и сохраните пустую сцену под именем Krestovina.max.

2.   Постройте стандартный примитив Box (Параллелепипед) с размерами 25-30 см в длину, 65-70 см в ширину и 9-10 см в высоту. Установите для него число сегментов по ширине равным 4 и превратите в объект типа Editable Mesh (Редактируемая сетка). Этот параллелепипед будет играть роль деревянного бруска, который нам предстоит обработать, чтобы выстроить крестовину.

3.   Переключитесь на уровень выделения подобъекта Edge (Ребро) и аккуратно выделите только два верхних ребра по краям бруска. В свитке Edit Geometry (Правка геометрии) щелкните на кнопке Chamfer (Срез). Действие данного инструмента состоит в том, что он как бы расщепляет выделенное ребро на два, которые раздвигаются в стороны друг от друга. Если ребро находится на краю сетки, то край притупляется. Результат напоминает тот, какой получается, когда пройдешься рубанком, держа его под наклоном, по краю бруска — край срезается и появляется фаска. Переместите курсор в окно проекции и установите на любое из выделенных ребер. Когда указатель мыши примет вид значка режима среза, показанного на рис. 8.36, щелкните кнопкой мыши и начинайте перетаскивать курсор, увеличивая срез в интерактивном режиме. Обратите внимание на то, что срез обоих ребер на противоположных торцах бруска происходит совершенно симметрично. Получив нужную фаску, отпустите кнопку мыши, а для завершения операции щелкните правой кнопкой мыши.

Рис. 8.36. Создание симметричных фасок на месте двух торцевых ребер параллелепипеда с помощью инструмента Chamfer




4. Теперь постройте фаски на месте продольных ребер верхнего края бруска. Выделите эти ребра. Из-за увеличенной продольной сегментации их будет не два, а восемь — по четыре с каждой стороны. Примените к ним тот же инструмент Chamfer (Срез), и «облагораживание» нашего бруска будет завершено, как показано на рис. 8.37.

Рис. 8.37. В дополнение к торцевым срезаны еще и боковые ребра бруска
5.   Чтобы реальная крестовина стояла более устойчиво и не раскачивалась, на концах составляющих ее брусков обычно делают выступы снизу. Сформируем и мы такие выступы, применив для этого инструмент выдавливания граней. Переключитесь на уровень выделения подобъекта Polygon (Полигон). Слегка наклоните плоскость проекции окна вида спереди, чтобы стали видимыми полигоны нижней поверхности бруска. Выделите два крайних полигона и, действуя, как было описано в предыдущем упражнении, выдавите их с помощью инструмента Extrude (Выдавить) примерно на 1,5 см. Полученный результат хорошо виден на рис. 8.38.

Рис. 8.38. С помощью выдавливания полигонов на нижней поверхности бруска сформированы два выступа
6.   Теперь нужно создать дубликат бруска, повернуть его на 90° и объединить с первым бруском, построив собственно крестовину. Выделите брусок в окне проекции Тор (Вид сверху) и выберите команду меню Edit > Clone (Правка > Дублировать), создав дубликат-копию. Затем щелкните на кнопке инструмента Select and Rotate (Выделить и повернуть) и введите число 90 в поле отсчета координаты Z в строке состояния. У вас должна получиться конструкция, подобная показанной на рис. 8.39.

Рис. 8.39. Из бруска и его копии построена крестовина
7. Выделите один из брусков и объедините его со вторым, создав составной объект типа Boolean (Булевский) и применив операцию Union (Объединение). Остается только проделать в центре крестовины отверстие для елки. Это отверстие тоже создайте методом булевского исключения, подготовив предварительно подходящий примитив-цилиндр радиусом порядка 12 см. Назовите полученный объект Krestovina и превратите его в сетку. В заключение сохраните объект в файле под именем Krestovina.max. На рис. 8.40 показан итоговый вид выстроенной крестовины. Можете сравнить то, что у вас получилось, с моделью крестовины, хранящейся в папке Scenes\Glava_08 прилагающегося к книге компакт-диска в файле с таким же именем.

Рис. 8.40. Отверстие в центре крестовины — завершающий штрих модели
Надеюсь, вы получили начальное представление о редактировании стандартных сеток на уровнях различных подобъектов. Теперь немного потренируемся в работе с редактируемыми полисетками, создав для нашего кафе «МАХ» окно и дверь.

Создаем салют над зданием кафе «МАХ»


Тихо падают снежинки на землю, горит неоновая вывеска кафе «МАХ», и в это время раздается громкий хлопок — над крышей здания разлетаются в разные стороны искры новогоднего фейерверка. Взлетая в небо, залп салюта взрывается сотнями светящихся огней. Ну как, впечатляет? Тогда попробуем создать такой салют.

Для его моделирования будем использовать источник частиц PF Source (Источник потока частиц).

1. Загрузите файл MAX-kafe05a.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Он содержит здание кафе с проемами для окна и двери, а также дополнительный объект — направленную камеру, через которую можно наблюдать сцену. Активизируйте окно проекции Perspective (Перспектива). По умолчанию в max 7.5 длина анимации составляет 100 кадров, что равняется примерно трем секундам. Поскольку ни один салют не длится три секунды, необходимо увеличить продолжительность анимации. Для этого нажмите кнопку Time Configuration (Настройка временных интервалов) и установите параметр Length (Продолжительность) равным тремстам кадрам. Подробнее о настройках окна Time Configuration (Настройка временных интервалов) вы узнаете в главе 15.

2. Щелкните на кнопке категории Geometry (Геометрия) командной панели Create (Создать) и выберите вариант Particle Systems (Системы частиц) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке PF Source (Источник потока частиц) в свитке Object Type (Тип объекта). После нажатия кнопки PF Source (Источник потока частиц) вы увидите на командной панели Create (Создать) параметры потока частиц. Перейдите ко второму свитку — Emission (Испускание) и выберите форму значка источника частиц. Для этого раскройте список Icon Type (Тип значка) и выберите вариант Circle (Круг). Щелкните в окне проекции и разместите источник частиц в окне проекции таким образом, чтобы он располагался позади здания кафе «МАХ» (рис. 7.65). Обратите внимание на то, что источник частиц сразу же будет создан в форме круга, так как мы выбрали сто форму заранее. Если же создать объект PF Source (Источник потока частиц) с настройками по умолчанию, он будет создан в виде прямоугольника (Rectangle). Чтобы изменить его форму после создания в окне проекции, перейдите на командную панель Modify (Изменить) и установите вариант Circle (Круг) в списке Icon Type (Тип значка). После выбора круглой формы источника частиц его настройки, расположенные в свитке Emission (Испускание), изменятся. Если при использовании формы Rectangle (Прямоугольник) можно задать длину объекта, то при выборе варианта Circle (Круг) нужно будет указать диаметр. Установите курсор в поле Diameter (Диаметр) и введите значение 152.





Рис. 7.65. Размещение системы частиц типа PF Source в составе сцены «МАХ-кафе»
3. Поскольку при салюте частицы испускаются вверх, а не вниз, нужно перевернуть источник частиц, направив его вверх. Если теперь щелкнуть на кнопке Play Animation (Воспроизвести анимацию), можно увидеть, что движение частиц мало напоминает россыпи настоящего салюта. Поэтому нужно определить события, настроив тем самым желаемый эффект. Для выполнения настройки событий, управляющих поведением настройки частиц, перейдите к свитку Setup (Настройка) и нажмите кнопку Particle View (Просмотр частиц). Вы увидите окно диалога с таким же названием. Для его вызова можно также нажать клавишу 6. В окне Particle View (Просмотр частиц) уже присутствуют два первых события с названиями PF Source 01 (Источник потока частиц 01) и Event 01 (Событие 01). В состав первого события, которое является глобальным, входит оператор Render (Визуализация), благодаря которому все частицы могут быть визуализированы. В состав первого локального события Event 01 (Событие 01) входят операторы Birth (Рождение), Position Icon (Положение значка), Speed (Скорость), Rotation (Вращение), Shape (Форма) и Display (Отображение).
4. Прежде чем создавать праздничный фейерверк, необходимо представить себе, какой должна быть траектория движения частиц. Составление диаграммы событий — задача не из легких. Для того чтобы построить событийную модель и правильно выбрать параметры каждого из событий, необходимо хорошо себе представлять, какие действия должны происходить с частицами. В нашем случае частицы рождаются и летят вверх. Каждый залп праздничного салюта оставляет позади себя немного растянутый хвост. По достижении определенной высоты хвост должен исчезнуть, и в этом месте должен произойти разлет частиц во все стороны. Таким образом, мы будем создавать несколько событий: событие, которое породит частицы (1), событие, которое позволит создать хвост летящего залпа (2), событие, определяющее высоту, на которой произойдет взрыв пиротехнического заряда (3), и, наконец, событие, определяющее поведение частиц при взрыве фейерверка (4). Как видите, сцена довольно сложная, но попробуем шаг за шагом ее воссоздать.


5.   Начнем с первого события. Первое, что необходимо сделать, — увеличить время, в течение которого источником испускаются частицы. Выделите в прямоугольнике Event 01 (Событие 01) оператор Birth (Рождение) и измените значение Emit Stop (Окончание времени испускания частиц) с 30 на 150.

ПРИМЕЧАНИЕ
Обратите внимание, что после того, как будут изменены параметры оператора Birth (Рождение) в списке окна Event 01 (Событие 01), он будет отображаться несколько по-иному — теперь пояснительная надпись рядом с оператором будет содержать новую информацию о продолжительности испускания частиц. Такие пояснительные надписи содержатся рядом со многими другими операторами, использующимися при описании событийной модели. Они помогают быстрее разобраться в общей схеме событий, а также представить себе, как будет происходить движение потока частиц.

6.   Настройки оператора Position Icon (Положение значка), определяющего форму эмитирующей поверхности, оставляем без изменений. Третий по счету, оператор Speed (Скорость) содержит настройки скорости движения частиц. Выделите его в списке окна события Event 01 (Событие 01) и измените значение параметра Speed (Скорость), задав его равным 462. Как видно по вспомогательной надписи Along Icon Arrow (Вдоль указателя стрелки) возле названия данного оператора, направление распространения частиц происходит вдоль схематической стрелки-указателя на значке объекта PFSource (Источник потока частиц). Поскольку направление частиц совпадает с направлением предполагаемого салюта, изменять параметр Direction (Направление) не нужно. Следующий оператор, который нужно настроить, — Rotation (Вращение). Выделите его и выберите на панели параметров в выпадающем списке Orientation Matrix (Ориентация матрицы частиц) строчку Speed Space (Скорость объема). Это позволит сориентировать частицы вдоль вектора скорости потока. Оператор Shape (Форма) по умолчанию содержит тип отображаемой поверхности Tetra (Тетраэдр), который устанавливается в выпадающем списке Shape (Форма). Измените размеры тетраэдра, уменьшив значение параметра Size (Размер) до 0,02. Последний оператор в этом списке, который отвечает за схематическое отображение частиц в окнах проекций, — Display (Отображение). Его настройки оставьте без изменений.


7.   Выберите в библиотеке элементов тест Age Test (Возрастной тест) и, захватив его значок мышкой, перетащите в окно события. Расположите его таким образом, чтобы он располагался сразу после оператора Display (Отображение). На этом этапе мы разделим общий поток частиц, отсортировав те частицы, возраст которых превысил семьдесят пять кадров. Для этого выделите строчку Age Test (Возрастной тест) и на панели параметров задайте значение параметра Test Value (Значение теста) равным 75, а значение Variation (Вариации) — 0. При этом следует проследить, чтобы переключатель Test True If Particle Value (Выполнить тест для частиц) в свитке настроек теста Age Test был установлен в положение Is Greater Than Test Value (Если превышено значение теста). Частицы, для которых не выполняется условие теста Age Test (Возрастной тест), должны перейти к следующему событию.
8.   Добавьте в первое событие еще один тест — Spawn (Порождение). Этот тест вызовет рождение новых частиц, исходящих из первоначальных. Именно благодаря частицам, порожденным в результате использования теста Spawn (Порождение), можно будет наблюдать хвост каждого залпа. Этот тест также позволит направить частицы к следующему событию, описывающему характер поведения новых частиц. Перетащите на свободную область панели событий оператор Speed (Скорость). При этом автоматически будет создано второе событие (рис. 7.66). Соедините тест Spawn (Порождение) со вторым событием. Для этого подведите курсор к синей точке, имеющейся на выходе теста и расположенной слева от значка в форме ромба. Курсор примет вид четырехконечной стрелки. Перетащите курсор ко входу второго события и установите его на кружок над входом.

Рис. 7.66. Создание второго события
9.   Теперь давайте определимся, как должны вести себя частицы, образующие хвост залпа. Они должны возникать по пути следования первоначальных частиц и исчезать через некоторое время. При этом они не должны разлетаться, иначе хвост «развеется». Выделите оператор Speed (Скорость) и установите значение одноименного параметра равным нулю. Благодаря этому частицы будут стоять на месте. Теперь добавьте к событию оператор Delete (Удалить). С его помощью можно ограничить длину хвоста. Выделите его на панели событий и установите переключатель Remove (Убирать) в положение By Particle Age (По возрасту частиц). После этого станут активными параметры Life Span (Время жизни) и Variation (Вариации). Установите значение первого параметра равным 12. Это означает, что частицы будут существовать в течение 12-ти кадров после рождения, после чего будут исчезать. По ходу движения первоначальных частиц постоянно будут появляться новые частицы, порожденные ранее, будут исчезать, а на анимации это будет выглядеть как движущийся хвост. Значение параметра Variation (Вариации) установите равным нулю. Добавьте во второе событие еще один оператор — Shape Facing (Вид частиц). Он служит для того, чтобы частицы, имитирующие салют, все время были обращены к камере плоской стороной. Также с его помощью можно управлять размером этих частиц. Перейдите к параметрам этого оператора и нажмите кнопку Look At Camera/ Object (Связать с камерой/Объектом) и укажите в сцене камеру, через которую будет производиться наблюдение за событиями. В группе настроек Size/Width (Размер/Ширина) проверьте, чтобы переключатель был установлен в положении In World Space (В глобальном пространстве) и в поле Units (Единицы) введите число 3. Для того чтобы наблюдать салют в окне проекции, оператор Shape Facing (Вид частиц) вам не нужен, он понадобится при визуализации эффекта.


10. Перейдем к третьему событию, которое, как вы, наверное, помните, должно определять высоту, на которой произойдет взрыв пиротехнического заряда салюта. Для его создания выберите тест Spawn (Порождение) из библиотеки и перетащите на пустое место в окно событий. В настройках теста установите переключатель Spawn Rate And Amount (Количество и частота порождений) в положение By Travel Distance (По пути следования). Выберите значение параметров Step Size (Размер шага) равным 1,7, Spawnable % % (Процент порождающих частиц) — 100, Offspring # # (Количество новых частиц) — 100, Variation % (Вариации) — 25. В группе настроек Speed (Скорость) установите переключатель в положение Inherited % (Унаследовать) и установите значение 0. Для параметра Variation % (Вариации) в этой группе также выберите значение 0. Параметр Divergence (Дивергенция) установите равным 16. Под влияние третьего события должны попадать только те частицы, возраст которых превышает 75 кадров. Ранее мы создали тест Age Test (Возрастной тест) в первом событии. Именно его нужно связать с третьим событием.
11.   Добавьте к третьему событию уже знакомый вам оператор Speed (Скорость), отвечающий за скорость частиц. Значение параметра Speed (Скорость) установите равным 50, Variation (Вариации) равным нулю, а в раскрывающемся списке Direction (Направление) выберите пункт Along Icon Arrow (Вдоль указателя стрелки). Теперь добавим в событие еще один знакомый нам оператор Delete (Удалить), который будет удалять частицы, достигшие высоты, на которой будет происходить взрыв салюта. В настройках оператора установите переключатель Remove (Убирать) в положение By Particle Age (По возрасту частиц). Значение параметра Life Span (Время жизни) установите равным 80, a Variation (Вариации) равным нулю.
12.   Для того чтобы траектория движения частиц была более реалистичной, на них должна действовать сила земного притяжения. Для имитации эффекта гравитации в сцену необходимо добавить объемную деформацию Gravity (Гравитация). Сверните окно Particle View (Просмотр частиц), после чего щелкните на кнопке категории SpaceWarps (Объемные деформации) командной панели Create (Создать) и выберите вариант Forces (Силы) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке Gravity (Гравитация) и создайте объемную деформацию в произвольном месте сцены. В свитке Parameters (Параметры) установите переключатель в положение Planar (Плоский фронт) и укажите значение параметра Strength (Сила) равным 0,2. Благодаря этому воздействие гравитации будет происходить только в направлении значка. Для того чтобы на частицы воздействовала сила гравитации, добавьте оператор Force (Сила) в третье событие. В настройках оператора с помощью кнопки Add (Добавить) добавьте в список Force Spacewarps (Действующие объемные деформации) созданную объемную деформацию Gravity (Гравитация), а значение параметра Influence % (Процент влияния) установите равным 70. Завершая настройку события, добавьте в него оператор Shape Facing (Вид частиц). Поскольку его параметры практически полностью будут совпадать с настройками одноименного оператора, использующегося во втором событии, проще просто скопировать его. Для этого щелкните по оператору правой кнопкой мыши и в контекстном меню выберите пункт Сору (Копировать) (рис. 7.67). Затем щелкните правой кнопкой в области третьего события и выберите пункт Paste (Вставить). Установите значение параметра Units (Единицы) равным 1.



Рис. 7.67. Копирование оператора Shape Facing
13. Наконец, перейдем к настройке последнего события, которое будет определять поведение частиц при взрыве фейерверка. Для того чтобы частицы разлетелись в разные стороны, необходимо в настройках оператора Speed (Скорость) указать случайное направление вектора скорости каждой частицы. Добавьте этот оператор на панель событий, тем самым создав четвертое событие. В списке Direction (Направление) выберите пункт Random 3D (Случайное 3D). Скопируйте оператор Force (Сила) из третьего события и установите значение параметра Influence % (Процент влияния) равным 500. На некотором расстоянии от эпицентра взрыва фейерверка искры должны потухнуть. Это означает, что частицы, имитирующие их, должны быть удалены. Поэтому снова обратимся к оператору Delete (Удалить). Вы можете создать новый оператор пли же скопировать его из второго или из третьего события. В настройках оператора установите значение параметра Life Span (Время жизни) равным 13. Завершим настройку события, добавив в него оператор Shape Facing (Вид частиц). Установите значение параметра Units (Единицы) равным 7. Используя тест Spawn (Порождение), свяжите третье событие с четвертым. Конечная диаграмма событий будет выглядеть, как на рис. 7.68.

Рис. 7.68. Конечная диаграмма событий
14. Закройте окно Particle View (Просмотр частиц) и нажмите кнопку Play Animation (Воспроизвести анимацию). Вы увидите, что над зданием кафе «МАХ» происходит праздничный салют (рис. 7.69). Сохраните сцену под названием MAX-kafe_salut.max. В папке Animation\Glava07 вы можете посмотреть, как выглядит этот эффект, запустив файл salut.avi.

Рис. 7.69. Праздничный салют над зданием кафе «МАХ»

Всенаправленный осветитель в роли проектора


Теперь попробуем с пользой применить полученные сведения о проекторах для нашего основного проекта «МАХ-кафе». Настроим ранее выключенный Всенаправленный осветитель, призванный имитировать свет от огня горящих поленьев, чтобы он отбрасывал на стены кафе случайные пятна света, подобно настоящему пламени.

Выполните следующие действия:

1.   Включите осветитель, который будет изображать огонь камина, установив флажок On (Вкл.) в верхней части свитка General Parameters (Общие параметры). Настройте параметры осветителя следующим образом. Включите режим отбрасывания теней, установив флажок On (Вкл.) в разделе Shadows (Тени) этого же свитка, и убедитесь в том, что тени имеют тип Shadow Maps (Карты теней). Задайте значение параметра Multiplier (Усилитель) в свитке Intensity/ Color/Attenuation (Интенсивность/цвет/затухание) равным 2,0. Придайте цвету освещения красновато-оранжевый оттенок. С этой целью щелкните на образце цвета освещения и установите следующие значения компонентов цвета осветителя: R - 255, G - 143, В = 87.

2.   Установите в свитке Advanced Effects (Дополнительные эффекты) флажок Map (Карта) и щелкните на расположенной справа от него кнопке с' надписью None (Отсутствует). Появится окно диалога Material/Map Browser (Просмотр материалов/карт текстур). Дважды щелкните в списке окна на строке с именем карты текстуры Noise (Случайные пятна). Основное предназначение этой текстурной карты — «портить» чересчур однородную картину материала или светового пятна, делая ее пятнистой, а значит — более реалистичной. В данном случае эта карта позволит нам смоделировать случайные пятна световых бликов, отбрасываемых огнем камина на стены комнаты.

ЗАМЕЧАНИЕ

Опять мы вынуждены забегать вперед и говорить о картах текстур, с которыми нам предстоит познакомиться только в главе 14, «Учимся применять карты текстур и многокомпонентные материалы». Что поделать, в реальной жизни редко удается действовать по строгому плану.

<


3.    Назначенная карта уже действует, используя установленные по умолчанию значения параметров случайных пятен. Убедитесь в этом, выключив все осветители, кроме настраиваемого Всенаправленного источника, и выполнив пробную визуализацию сцены. Вы должны получить картину, подобную показанной на рис. 11.32. Не будем пока настраивать параметры карты случайных пятен, этим мы займемся в главе 13. Сохраните файл сцены под заданным ранее именем MAX-kafe10.max, но не выходите из программы.

Рис. 11.32. Всенаправленный осветитель с примененной к нему картой текстуры случайных пятен

Заставляем дрова в камине гореть ярким пламенем


Если новогодняя елка «загоралась» иносказательно, то в этом упражнении нам предстоит создать анимацию пламени горящих в камине дров, да так, чтобы этот огонь выглядел «как настоящий». В ходе выполнения упражнения мы, помимо пламени, произведем анимацию материала поленьев и карты неоднородностей, проецируемой источником света, а также узнаем, как заставить тени слегка приплясывать.

Для анимации огня камина выполните следующие действия:

1. Откройте имеющийся у вас файл MAX-kafe22.max или загрузите файл МАХ-kafe22.max, находящийся в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге. Этот файл содержит настроенный в предыдущей главе эффект горения поленьев. Сохраните файл под именем MAX-kafe (gorenie).max.

2.   Сначала выполним анимацию собственно пламени. Раскройте окно диалога Environment (Внешняя среда), выполнив команду основного меню Rendering > Environment (Визуализация > Внешняя среда). Щелкните на строке Fog (Туман) и сбросьте флажок Active (Активен), чтобы упростить процесс визуализации. Затем щелкните на строке Fire Effect (Горение) в списке Effects (Эффекты) окна и прокрутите область свитков вверх, чтобы стали видны параметры пламени.

3.   Параметры, управляющие анимацией пламени, находятся в разделе Motion (Движение). Их всего два: Phase (Фаза) — задает частоту мерцания вспышек пламени; Drift (Дрейф) — задает скорость разрастания пламени. Для открытого огня, вроде пламени горящих дров или свечи, параметр Phase (Фаза) рекомендуется устанавливать не слишком большим, скажем, 50-70 на 100 кадров, иначе мелькание языков огня будет слишком частым. Величину дрейфа, напротив, рекомендуется делать побольше, порядка нескольких сотен, чтобы пламя рвалось вверх. Для выполнения анимации горения щелкните на кнопке Auto Key (Автоключ). В кадре № 0 установите нулевые или близкие к нулю значения обоих параметров, фазы и дрейфа. Затем перейдите к кадру № 100 и установите в счетчике Phase (Фаза) значение 60, а в счетчике Drift (Дрейф) — скажем, 200. Выключите режим анимации. Точных рецептов нет: нужно выполнить пробную визуализацию и, если вид пламени вас не устроит, поменять значения параметров и визуализировать изображение снова.




4.    Опыт показывает, что использованное нами в предыдущей главе значение параметра Density (Плотность) пламени, равное 60, подходит для визуализации отдельного статичного кадра, но оказывается чрезмерным при визуализации анимации языков огня. Уменьшим это значение, скажем, до 30. Чтобы эффект горения был более выразителен, уменьшите общий уровень освещенности в помещении кафе. Например, выключите все осветители, кроме трех: одного Всенаправленного, изображающего лампу на стене, противоположной камину (Omni01), и двух (Omni02 и Отп03) — в роли ламп на стене, к которой прилегает камин. Свет этих двух ламп не будет попадать в топку камина и не ослабит эффект пламени. Разумеется, необходимо также оставить включенным осветитель, расположенный внутри топки и призванный имитировать свет от пламени. Кстати, его яркость (параметр Multiplier) имеет смысл увеличить, скажем, до 6, учитывая не слишком светлый оранжевый оттенок цвета.
5.   Выполните пробную визуализацию анимации. К сожалению, по отдельным кадрам, подобным изображению на рис. 16.54, никак нельзя составить впечатления о качестве горения. Оценить его, можно только просматривая анимацию в динамике. В итоге отладка этого эффекта при недостатке опыта может оказаться довольно мучительным процессом.

Рис. 16.54. Свет в помещении притушен, чтобы лучше были видны горящие дрова в камине
6.   Впрочем, нам нужно двигаться дальше. Перейдем к анимации материала поленьев. Анимируемым параметром здесь также явится фаза, только это будет фаза неоднородности цветов градиента и фаза карты случайных неоднородностей, включенной в состав ячеистой карты, которая, в свою очередь, входит в состав карты градиента... (вспомните главу 13). Откройте окно Редактора материалов и активизируйте ячейку с образцом материала под названием Goriachie ugli. Щелкните на кнопке с буквой М справа от образца цвета Diffuse (Диффузный). Появятся свитки параметров карты градиента. В разделе Noise (Неоднородности) свитка Gradient Parameters (Параметры градиента) имеется счетчик Phase (Фаза). По умолчанию в нем установлено значение 0. Включите режим автоматической анимации, перейдите к кадру № 100 и установите в этом счетчике значение 60. Выключите режим анимации.

ЗАМЕЧАНИЕ
Только не перепутайте раздел Noise (Неоднородности) свитка Gradient Parameters (Параметры градиента) и свиток Noise (Неоднородности), который также имеется у карты текстуры градиента. Настройки раздела Noise (Неоднородности) делают неоднородными цвета, создающие градиент, а настройки свитка Noise (Неоднородности) ведут к искажению всей картины градиента в целом.
<


7.   Щелкните в свитке Gradient Parameters (Параметры градиента) на кнопке с надписью Map # 1 (Cellular) (Карта № 1 (Ячеистая)). В появившемся свитке параметров ячеистой карты щелкните на кнопке Map # 2 (Noise) (Карта № 2 (Неоднородности)). В очередном свитке Noise Parameters (Параметры неоднородностей) снова найдите счетчик Phase (Фаза). Включите режим анимации, перейдите к кадру № 100 и установите в этом счетчике значение 40, чтобы обеспечить мерцание ячеек текстуры. Выключите режим анимации. Можете протестировать качество мерцания материала, медленно перетаскивая ползунок таймера и наблюдая за образцом в ячейке Редактора материалов.
8.   Теперь следует настроить анимацию карты неоднородностей, которая назначена осветителю, играющему роль света пламени. Эти пятна будут проецироваться в процессе анимации на стенки топки, пол и стены кафе, создавая впечатление мерцания открытого огня. Выделите источник света Omni05. На командной панели Modify (Изменить) в свитке Projector Parameters (Параметры проектора) этого осветителя на единственной кнопке должна читаться надпись Map #... (Noise) (Карта №... (Неоднородности)). Подобную карту мы применили к этому осветителю в главе 11. Для настройки ее анимации просто перетащите имя карты с кнопки панели Modify (Изменить) в свободную ячейку Редактора материалов, если это еще не сделано до сих пор. Выберите вариант Instance (Образец) в качестве типа дубликата карты, чтобы все изменения, сделанные в Редакторе материалов, автоматически сказывались на карте источника света. Активизируйте ячейку образца карты. В свитке Noise Parameters (Параметры неоднородностей) найдите все тот же счетчик Phase (Фаза). Включите режим анимации, перейдите к кадру № 100 и установите в счетчике значение 40. Частота мерцания пятен должна быть примерно согласована с частотой мерцания материала поленьев и языков пламени. В качестве размера пятен укажите в счетчике Size (Размер) также число 40.
9.   Остается только заставить подергиваться источник света, чтобы отбрасываемые им тени немного плясали, как это бывает вблизи реального огня. Чтобы этого добиться, нужно применить к осветителю модификатор Noise (Неоднородности). Вы уже имели опыт работы с этим модификатором, но, возможно, не подозревали, что его можно применять к источникам света. Итак, выделите осветитель Omni05, раскройте список модификаторов на командной панели Modify (Изменить) и щелкните на строке Noise (Неоднородности). Настройте параметры модификатора в появившемся свитке. Установите Scale (Масштаб) = 10, а в разделе Strength (Амплитуда) задайте значение 15 в каждом из трех счетчиков X, Y и Z. Учитывая размеры топки камина, этого будет достаточно. Теперь настал черед анимации этого модификатора. В разделе Animation (Анимация) свитка параметров модификатора неоднородностей установите флажок Animate Noise (Анимация неоднородностей). Включите режим анимации, перейдите к кадру № 100 и введите значение 60 в магический счетчик Phase (Фаза). Переключите окно проекции в режим каркасного отображения и перетащите влево-вправо ползунок таймера анимации. Вы увидите, как источник света в топке камина покачивается и слегка подпрыгивает.


10. Теперь, когда вся подготовительная работа проделана, произведите визуализацию анимации горения. У вас должно получиться нечто, напоминающее анимацию MAX-kafe (gorenie).avi, которая имеется в папке Animations\Glava_16 компакт-диска, прилагающегося к книге. При необходимости можете загрузить файл описания сцены, по которой выполнена визуализация этой анимации. Такой файл с именем MAX-kafe (gorenie).max находится в папке Scenes\Glava_16 того же компакт-диска.
Каждый раз, когда создается ключ анимации, подвергаемому анимации параметру объекта автоматически назначается тот или иной тип контроллера. Инструменты строки треков позволяют настраивать параметры контроллера анимации в окне справки о ключах, но не дают возможности изменять тип контроллера. Эту возможность, а также полный набор средств настройки анимации предоставляет окно диалога Track View (Просмотр треков).

Создаем окно и дверь для кафе «МАХ» в виде полисеток


В ходе этого упражнения мы освоим некоторые уникальные для редактируемых полисеток инструменты.

1.   Выполните перезагрузку max 7.5 и сохраните пустую сцену под именем Okno.max. Установите в окне вида спереди такой масштаб, чтобы размер координатной сетки по вертикали составлял около двух метров.

2.   Создайте в окне вида спереди стандартный примитив Box (Параллелепипед) размером 180 см в длину (Length), 250 см в ширину (Width) и 22 см в высоту (Height). He изменяйте принятую по умолчанию сегментацию (по одному сегменту на каждое измерение). Превратите параллелепипед в редактируемую полисетку — объект типа Editable Poly — любым из ранее описанных способов.

3.   Разверните дерево подобъектов редактируемой полисетки в окне стека модификаторов и выберите строку Polygon (Полигон). Нажмите клавишу q, чтобы выбрать инструмент Select Object (Выделить объект). Не устанавливая флажка Ignore Backfacing (Игнорировать изнаночные) в свитке Selection (Выделение), выделите рамкой переднюю сторону параллелепипеда в окне Front (Вид спереди). Рамку нужно построить так, чтобы она не пересекала краев параллелепипеда. В этом случае будут одновременно выделены передняя сторона параллелепипеда, обращенная к нам «лицом», и его задняя сторона, обращенная к нам изнанкой, а боковые стороны останутся не выделенными.

4.   Приступим к формированию рамы окна. Для этого сначала воспользуемся новым инструментом Inset (Врезка), чтобы создать дополнительный набор ребер на некотором расстоянии от наружных краев переднего и заднего полигонов параллелепипеда. Это можно сделать и вручную, стоит лишь щелкнуть на кнопке Inset (Врезка) в свитке Edit Polygons (Правка полигонов), а затем установить курсор на выделенный полигон. Курсор примет вид режима врезки, как показано на рис. 8.41. После этого нужно щелкнуть кнопкой мыши и перетаскивать курсор вверх или вниз по экрану, наблюдая за появлением дубликатов ребер, ограничивающих полигон.

Рис. 8.41. Инструмент Inset позволяет создать внутри выделенного полигона уменьшенный дубликат набора ребер, ограничивающих полигон




5.   Однако окно — элемент архитектуры, а это наука точная. Так что давайте освоим точный режим врезки. Для этого следует щелкнуть не на кнопке Inset (Врезка), а на расположенной справа от нее небольшой квадратной кнопке со значком, символизирующим окно системы Windows (взгляните на свиток Edit Polygons (Правка полигонов), показанный ранее на рис. 8.31). Появится окно диалога Inset Polygons (Врезка полигонов), показанное на рис. 8.42. Введите в счетчик Inset Amount (Величина врезки) значение 5 см, наблюдая, как в окнах проекций появляются новые ребра, смещенные относительно краев полигона точно на 5 см. Щелкните на кнопке ОК, чтобы закрыть окно, сохранив сделанную врезку. Кнопка Apply (Применить) позволяет при каждом щелчке на ней создавать новые наборы ребер, смещенных относительно предыдущих к центру полигона на то же самое расстояние, указанное в счетчике Inset Amount (Величина врезки). Если щелкнуть на кнопке Cancel (Отмена), то окно закроется без сохранения врезки.

Рис. 8.42.
Окно диалога Inset Polygons служит для точной настройки инструмента врезки
6.   В результате операции врезки в пределах исходных полигонов передней и задней сторон параллелепипеда сформировалось по новому полигону, уменьшенному с каждой стороны на 5 см, причем оба они остались выделенными.
Выполним выдавливание этих полигонов внутрь параллелепипеда, чтобы на краях окна образовалась выступающая рамка. Выдавливание произведем с использованием окна диалога точной настройки параметров, вызываемого щелчком на маленькой квадратной кнопке со значком окна справа от кнопки Extrude (Выдавить) свитка Edit Polygons (Правка полигонов). Появится окно диалога Extrude Polygons (Выдавливание полигонов), подобное показанному на рис. 8.42 окну Inset Polygons (Врезка полигонов). Введите в счетчик Extrusion Height (Высота выдавливания) значение -1 см, следя за тем, как полигоны на передней и задней сторонах параллелепипеда слегка вдавливаются навстречу друг другу внутрь объекта, и щелкните на кнопке ОК.


7.   Вдавленные полигоны по- прежнему остаются выделенными, так что работу с ними можно продолжать. Произведите еще одну врезку, на этот раз на 3 см, чтобы создать дополнительный уступ рамы окна. Затем, пользуясь тем, что полигоны все еще выделены, выполните выдавливание на -9 см. Тем самым мы сформируем заготовку для стеклянной части будущего окна, которая в итоге должна оказаться толщиной 2 см. На рис. 8.43 показано, как должен выглядеть в данный момент профиль сечения окна на виде сверху.

Рис. 8.43. Рама с двумя выступами и будущее стеклянное полотно окна сформированы за счет двукратного повторения последовательных операций врезки и экструзии
8.   Наконец, применим еще один новый инструмент — Outline (Контур), чтобы сделать внутренние стороны рамы слегка наклонными. Так как два полигона, с которыми мы постоянно работаем и которые теперь представляют собой переднюю и заднюю стороны стеклянной части окна, все еще остаются выделенными, щелкните в свитке Edit Polygons (Правка полигонов) на маленькой квадратной кнопке справа от кнопки Outline (Контур). В появившемся окне диалога Outline Polygons (Оконтуривание полигонов) введите значение -1,5 см в счетчик Outline Amount (Величина оконтуривания) и щелкните на кнопке ОК. Профиль окна на виде сверху должен теперь выглядеть, как на рис. 8.44.

Рис. 8.44. Внутренние края рамы приобрели наклон за счет действия инструмента Outline, уменьшившего размер полигонов, которые изображают стекло окна
9. Назовите полученный объект Okno и сохраните его в файле под заданным в начале работы именем Okno.max. Вид перспективной проекции окна в целом приведен на рис. 8.45.

Рис. 8.45. Готовое окно для кафе «МАХ»
10.   Займемся дверью, сделав ее двустворчатой, чтобы гостям легче было заходить в наше кафе. Теперь, когда вы получили опыт работы с полисетками, изготовление двери не должно вызвать затруднений. Выполните перезагрузку max 7.5 и сохраните пустую сцену под именем Dveri.max.


11.   Создайте в окне вида спереди стандартный примитив Box (Параллелепипед) размером 200 см в длину (Length), 65 см в ширину (Width) и 5 см в высоту (Height). Вы, конечно, уже достаточно опытны и знаете, что понятия «длина», «ширина» и «высота» геометрических примитивов условны и меняются в зависимости от окна проекции, в котором создается объект. В данном случае «длина» соответствует высоте полотна будущей двери, а «высота» — его толщине. Оставьте по одному сегменту на высоту и ширину, как это и принято по умолчанию, а в счетчике Length Segs (Сегментов по длине) установите значение 2 (рис. 8.46). Превратите примитив в редактируемую полисетку.

Рис. 8.46. Заготовка для двери с двумя сегментами по высоте будущего полотна
12.   Давайте сформируем для начала рамку полотна двери, создав на нем две филенки (то есть вставки, которые могут быть и стеклянными) сверху и снизу. Перейдя на уровень работы с подобъектом Polygon (Полигон), выделите рамкой оба передних и оба задних полигона параллелепипеда. Полигоны, ограничивающие полотно двери по бокам, не должны быть выделены. Используя точный вариант операции Inset (Врезка), постройте внутри каждого из четырех выделенных полигонов по новому полигону, который должен быть меньше исходного на 10 см с каждой стороны. Для этого, очевидно, нужно ввести величину 10 в счетчик Inset Amount (Величина врезки) окна диалога Inset Polygons (Врезка полигонов). Однако есть одна тонкость. До сих пор при выполнении операции врезки мы оставляли переключатель Inset Type (Тип врезки) в положении Group (Группой), как видно на приведенном ранее рис. 8.42. Теперь же нам нужно, чтобы между верхним и нижним полигонами створки двери тоже появилась рамка, так что установите данный переключатель в положение By Polygon (По полигонам). В завершение щелкните на кнопке ОК. Получившийся вид дверной створки показан на рис. 8.47.

Рис. 8.47. Выполнена операция врезки полигонов на передней и задней сторонах параллелепипеда


13. Пользуясь тем, что полигоны еще выделены, выполните их точное выдавливание на величину -2 см внутрь объекта. Затем примените к этим же полигонам инструмент Outline (Контур), чтобы сделать внутренние стороны рамы слегка наклонными. Скос на -1,5 см будет вполне достаточным. Вид сверху на профиль двери в данный момент показан на рис. 8.48.

Рис. 8.48. Профиль сечения створки двери а окне вида сверху после операций врезки, выдавливания и оконтуривания переднего и заднего полигонов
14.   Назовите полученный объект Lev-Stvorka. Создайте дубликат данного объекта, назовите его PravStvorka и сместите вправо от оригинала ровно на ширину половинки двери, то есть на 65 см. Общий вид обеих створок двери в окне перспективной проекции показан на рис. 8.49.

Рис. 8.49. Готовые створки двери
15.   Створки готовы, и настало время построить дверную коробку. Начнем с косяка. Создайте в окне вида сверху где-нибудь вблизи от левой створки двери примитив-параллелепипед размером 25x5x201 см. Превратите объект в редактируемую полисетку. Перед тем как продолжить редактирование косяка, выполним его выравнивание относительно левой створки.
16.  

 Для выравнивания косяка выделите его и щелкните на кнопке Align (Выровнять) главной панели инструментов max 7.5. Переместите курсор в окно проекции вида сверху, где он примет вид значка на кнопке инструмента. Укажите курсором на левую створку и, когда рядом с ним появится крестик (рис. 8.50), щелкните кнопкой мыши. Тем самым вы выберете левую створку двери в качестве опорного объекта для выравнивания косяка.

Рис. 8.50. Появление крестика рядом с курсором выравнивания указывает на то, что можно выбрать опорный объект
17.   На экране появится окно диалога Align Selection (Выравнивание выделения), показанное на рис. 8.51. В название окна включается имя выбранного опорного объекта, в данном случае — LevStvorka. Обычно выравнивание по разным осям координат выполняют поочередно. Сначала заставим правый край косяка вплотную прижаться к левому краю створки двери Текущей системой координат является оконная (View). Горизонтальная ось координат окна проекции — это ось X. Чтобы выполнить выравнивание объектов вдоль этой осп, установим флажок X Position (Положение по X) в разделе Align Position (Screen) (Выравнивание положения (По экрану)). Теперь для выравнивания нужно задать какие-то характерные точки выделенного и опорного объектов. Ось X направлена по окну проекции слева направо. Нам нужно, чтобы к двери прижался правый край косяка, который обладает максимальным значением координаты X по сравнению со всеми остальными точками этого объекта. В связи с этим установим переключатель Current Object (Текущий объект) в положение Maximum (Максимум). Косяк должен прижаться к левому краю створки двери, обладающему минимальной координатой по оси X. Поэтому переключатель Target Object (Опорный объект) установим в положение Minimum (Минимум). Щелкнем на кнопке Apply (Применить), и выравнивание по оси X будет выполнено, а окно диалога останется на экране. При этом флажок X Position (Положение по X) будет автоматически сброшен.



Рис. 8.51. Окно диалога Align Selection с набором средств для выравнивания выделенного объекта относительно выбранного опорного объекта
18. Для выравнивания переднего края косяка с передним краем створки двери его нужно подвинуть в направлении оси Y. С этой целью установим флажок Y Position (Положение по Y). Оба переключателя Current Object (Текущий объект) и Target Object (Опорный объект) установим в положение Minimum (Минимум) и щелкнем на кнопке Apply (Применить). В заключение остается только выровнять нижний край косяка и нижний край створки. Это достигается установкой флажка Z Position (Положение по Z). Переключатели выбора характерных точек исходного и опорного объектов уже находятся в нужных положениях — Minimum (Минимум). На этот раз щелкните на кнопке ОК, чтобы после выравнивания окно диалога закрылось. Теперь левый косяк точно выровнен по положению относительно левой створки (рис. 8.52).

Рис. 8.52. Левый косяк двери точно выровнен относительно выбранного опорного объекта — левой створки двери
19. Чтобы посетители кафе не страдали от порывов ветра, задувающих в щели между дверью и косяком, сформируем на косяке выступ. Чтобы выдавить его, нам потребуется создать новое вертикальное ребро, освоив инструмент разрезания полисетки. Активизируйте окно вида справа и разверните его на весь экран. Выберите на дереве подобъектов редактируемой полисетки, играющей роль левого косяка, подобъект Edge (Ребро). Щелкните в свитке Edit Geometry (Правка геометрии) на кнопке Cut (Разрезать). Установите курсор на нижнее ребро косяка вблизи от заднего края створки двери и, когда курсор примет вид крестика со значком канцелярского ножа, щелкните кнопкой мыши и переместите курсор к верхнему ребру косяка. За курсором потянется новое ребро красного цвета, а перед курсором будут тянуться два «резиновых» ребра белого цвета, исходящих из верхних угловых вершин косяка, как показано на рис. 8.53. Если щелкнуть кнопкой мыши где-нибудь на полпути к верхнему ребру, создав новую вершину, то «резиновые» ребра зафиксируются и обеспечат новую сегментацию полигона. Когда вы подведете курсор к верхнему ребру косяка, эти два белых ребра исчезнут. Стараясь сделать новое ребро точно вертикальным, щелкните на верхнем ребре косяка. Затем щелкните правой кнопкой мыши один раз, чтобы закончить текущую операцию разрезки, и еще один раз, чтобы выключить режим разрезания. Если новое ребро получилось у вас не строго вертикальным, перейдите на уровень работы с вершинами полисетки и подвиньте крайние вершины нового ребра так, чтобы они располагались точно друг над другом.



Рис. 8.53. На внутренней стороне левого косяка в окне вида справа строим новое вертикальное ребро
20. Остается переключиться на уровень работы с полигонами, выделить в окне вида справа полигон, ограниченный новым ребром, и выдавить на косяке небольшой выступ высотой сантиметра три в сторону середины двери, как показано на рис. 8.54. Если окажется, что зазор между краем выступа и дверной створкой слишком велик, нужно на уровне подобъектов-вершин в окне вида сверху выделить рамкой пару вершин, показанных стрелкой на рис. 8.54 (на самом деле рамкой выделятся четыре вершины — две вверху и две внизу косяка), и сместить их по стрелке к створке.

Рис. 8.54. Если между выступом на внутренней стороне левого косяка и створкой двери остался зазор, подвиньте пару вершин по стрелке
21. Осталось совсем немного. Создайте зеркальную копию левого косяка с помощью инструмента Mirror Selected Objects (Отразить выделенные объекты), кнопка которого имеется на главной панели инструментов. Проследите, чтобы в окне диалога параметров зеркального отражения переключатель Clone Selection (Тип дубликата) был установлен в положение Сору (Копия). Разместите зеркальный дубликат косяка у правого края правой створки двери. Затем постройте в окне вида сверху еще один примитив-параллелепипед, который будет играть роль притолоки. Его размеры, очевидно, должны быть 25x140x5 см. Выровняйте притолоку, поместив ее сверху над косяками. Теперь освоим еще один инструмент, предназначенный для объединения разрозненных и даже разнотипных объектов в единую полисетку. Выделите один из косяков и щелкните на кнопке Attach (Присоединить). Переместите курсор в любое окно проекции и щелкните на примитиве, играющем роль притолоки. Он будет автоматически преобразован к типу Editable Poly (Редактируемая полисетка) и включен в состав сетки косяка в качестве элемента. Для такой операции совершенно не обязательно, чтобы сетка присоединяемого объекта пространственно пересекалась с сеткой того объекта, к которому он присоединяется. Затем щелкните на другом косяке, и он также будет присоединен к полисетке дверной коробки. Теперь при щелчке на любом из косяков или на притолоке будут выделяться все три объекта, ранее бывших самостоятельными, а теперь представляющих собой единую сетку. Назовите полученный объект Korobka. Сгруппируйте коробку с дверными створками, назвав группу Dveri, и сохраните полученный объект в файле под заданным в начале работы именем Dveri.max. Окончательный вид выстроенных двустворчатых дверей с коробкой и парой декоративных вставок на каждой створке показан на рис. 8.55.



Рис. 8.55. Готовая двустворчатая дверь для кафе «МАХ»
Как видите, работа над окном и дверью была не столько сложной, сколько кропотливой, потому что архитектурные элементы должны быть четко выверены по размерам и тщательно выровнены относительно друг друга. В то же время вы могли убедиться в созидательных возможностях набора инструментов для редактирования полисеток.
Створки наших дверей пока что еще не могут правильным образом открываться, но этот недостаток мы устраним впоследствии, когда понадобится распахнуть двери.
А теперь выполним еще одно упражнение, направленное на освоение инструментов из свитка Surface Properties (Свойства поверхности).

Создание и настройка свободных прожекторов для сцены «МАХ-кафе»


Как не может практически ни одна сцена обойтись без всенаправленных осветителей, так не может она обойтись и без прожекторов. Добавим в состав сцены два свободных прожектора и настроим их параметры, выполнив следующие действия в продолжение предыдущего упражнения:

1. Продолжая работу над той же сценой, восстановите видимость всех кресел, воспользовавшись кнопкой Unhide by Name (Сделать видимыми по имени) командной панели Display (Дисплей).

СОВЕТ

Команда Unhide by Name (Сделать видимыми по имени) имеется теперь в четвертном меню, вызываемом по щелчку правой кнопкой мыши в активном окне проекции max 7.5.

2. Щелкните в свитке Object Type (Тип объекта) командной панели Create (Создать) на кнопке Free Spot (Свободный прожектор). Переместите курсор в окно проекции Тор (Вид сверху) и щелкните в районе точки с координатами (0; -165; 0), создав один свободный прожектор с принятыми по умолчанию параметрами, а затем — в точке (0; 135; 0), создав второй прожектор, как показано на рис. 11.35. Щелкните правой кнопкой мыши, чтобы выключить режим создания прожекторов.

Рис. 11.35. Размещение свободных прожекторов в окне проекции Тор

3.   Перейдите в окно проекции Front (Вид спереди) или Left (Вид слева), выделите значки обоих прожекторов и переместите их вверх, под самый потолок помещения, где координата Z принимает значение примерно 325 см. Только не поднимите значки прожекторов выше потолка, а то будете потом удивляться, почему в помещении нет света...

4.   Настройте параметры прожекторов. Задайте для них следующие размеры конуса света: Hotspot/Beam (Яркое пятно/Луч) = 88,5°, Falloff/Field (Край пятна/Поле) = 92,5°. Включите для обоих прожекторов режим отбрасывания теней, установив флажок On (Вкл.) в разделе Shadows (Тени) свитка Genera! Parameters (Общие параметры). Выберите тип теней Ray Traced Shadows (Трассированные тени). Яркость света пусть пока имеет принятое по умолчанию значение: Multiplier (Усилитель) = 1,0. Выполните визуализацию изображения в окне проекции Perspective (Перспектива), и у вас должно получиться что-то похожее на рис. 11.36. Обратите внимание на увеличенную яркость цвета пола в области, где произошло наложение двух пятен света, а также на разную плотность цвета теней в этой области и вне ее. Все как в реальности! Ну, или почти как в реальности... Ведь стены-то вокруг остались темными, а в жизни они наверняка слегка осветились бы лучами, частично отраженными от пола и кресел. Это и есть отсутствие учета глобальной освещенности, с которой нам еще предстоит познакомиться подробнее.





Рис. 11.36. Перекрывающиеся пятна света от двух свободных прожекторов

СОВЕТ
Чтобы иметь возможность видеть границы световых конусов прожекторов даже тогда, когда их значки не выделены, установите для каждого из них флажок Show Cone (Показывать конус) в свитке Spotlight Parameters (Параметры прожектора).

5. Включите четыре всенаправленных осветителя, размещенных внутри помещения кафе. После этого станет очевидной необходимость уменьшить яркость прожекторов до значения Multiplier (Усилитель) = 0,5. Восстановите видимость всех объектов, кроме основания сцены, стены фасада, окна, двери, снежных валиков, двух систем снежинок и вывески. В итоге левая часть сцены интерьера должна приобрести приблизительно такой вид, какой показан на рис. 11.37. Будем считать, что настройка освещения завершена. Кажется, сцена уже начинает отдаленно напоминать то итоговое изображение, которое было показано в первой главе, хотя и выглядит пока довольно «кукольной». Но то ли еще будет, когда мы добавим материалы! Сохраните файл сцены под заданным ранее именем МАХ-каф10. max.

Рис. 11.37. Полностью готовое освещение интерьера левой части сцены «МАХ-кафе»

ЗАМЕЧАНИЕ
Вы можете сравнить получившуюся у вас настройку освещения с готовым вариантом, имеющимся в файле MAX-kafe10 в папке Scenes\Glava_11 компакт-диска, прилагающегося к книге.

Свободные и нацеленные направленные осветители по своим параметрам и методам создания практически не отличаются от прожекторов, за исключением того, что лучи света у направленных осветителей параллельны, то есть пучок лучей имеет не коническую, а цилиндрическую форму. Направленные осветители чаще всего применяются для имитации солнечных лучей, которые можно считать практически параллельными между собой. Поэкспериментируйте с этими осветителями самостоятельно, имея в виду только одну особенность: значения параметров Hotspot/Beam (Яркое пятно/Луч) и Falloff/Field (Край пятна/Поле) задаются в данном случае не в градусах, а в текущих единицах длины.

Готовим тарелку, бокал, шарик и окно к применению многокомпонентных материалов


В этом упражнении мы должны научиться готовить трехмерные объекты для последующего применения к ним многокомпонентных материалов. Многокомпонентный материал состоит просто из набора разных материалов, пронумерованных по порядку. Порядковый номер каждого компонента называется его идентификатором. Каждой грани объекта при создании по умолчанию также присваивается определенный идентификатор материала. Например, у стандартного параллелепипеда все грани какой-либо одной стороны имеют одинаковые идентификаторы материала. Идентификатор грани определяет, какой компонент многокомпонентного материала будет к ней применен. К граням с идентификатором 1 будет применен первый компонент материала, с идентификатором 2 — второй компонент и т. п. Наша задача — научиться изменять идентификаторы избранных граней для применения к ним иного материала, чем ко всему остальному объекту.

В роли «подопытных кроликов» в нашем упражнении выступят ранее созданные объекты — Tarelka, Bokal, Sharik и Okno. В одном из предыдущих упражнений мы создали два набора дополнительных граней на верхнем краю бокала с целью превратить их в дальнейшем, на этапе применения материала, в золотистые полоски на стекле. Сейчас мы должны будем настроить идентификаторы граней этих полосок. Руководствуясь принципом «от простого к сложному», начнем, однако, с шарика, выступу на верхнем полюсе которого планируется в дальнейшем придать золотистый металлический оттенок. Затем перейдем к окну и тарелке, по краю которой также предполагается пустить золотистую каемочку. На ней довольно просто выделить нужные грани, а вот с бокалом пришлось бы повозиться. Однако учитывая, что бокал — это тело, полученное методом вращения профиля, для настройки его граней мы применим новый прием, основанный на разметке сегментов линии профиля.

Выполняйте вместе со мной следующие действия:

1. Откройте ранее сохраненный в этой главе файл Sharik.max. Если вы по каким-то причинам не создали или не сохранили этот файл, загрузите его из папки Scenes\Glava_08 компакт-диска, прилагающегося к книге. Сохраните сцену с инкрементированием имени.




2.    Переключитесь на уровень выделения подобъекта Face (Грань). Выделите рамкой грани всего шарика, который в каркасном режиме отображения должен стать целиком красным. Прокрутите вверх область свитков командной панели, чтобы стал виден свиток Surface Properties (Свойства поверхности), показанный на рис. 8.56. Введите в счетчик Set ID (Установить идентификатор) раздела Material (Материал) число 1. Затем выделите только грани выступа и введите в тот же счетчик значение 2. Готово! Теперь можно будет назначить поверхности всего шарика, кроме выступа, один материал (например, имитирующий зеркальное цветное стекло), а выступу — другой материал (например, в виде золотистого металла). Сохраните файл под заданным в начале работы именем.

Рис. 8.56. В свитке Surface Properties на уровне подобъектов Face и Polygon можно настроить идентификаторы материала граней и полигонов
3.   Откройте файл Okno.max и выделите объект Окnо. Если вы не создали или не сохранили этот файл, загрузите его из папки Scenes\ Glava_08 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
4.   Окно создано нами из стандартного параллелепипеда, а полигонам этих примитивов max 7.5 в момент создания присваивает идентификаторы материала от 1 до 6. После преобразования в редактируемую полисетку эта разметка сохраняется, так что первое, что нам требуется сделать, — это перейти на уровень работы с подобъектами Polygon (Полигон), выделить рамкой все полигоны окна и присвоить им идентификатор материала № 1. У редактируемых полисеток раздел Material (Материал) со счет-чиком Set ID (Установить идентификатор) располагается в свитке Polygon Properties (Свойства полигонов), по составу элементов управления аналогичном свитку Surface Properties (Свойства поверхности) стандартной редактируемой сетки.
5.   Теперь выделите только два центральных полигона окна, которые изображают его будущую стеклянную часть. Такое выделение удобно сделать рамкой в окне вида спереди. Присвойте этим полигонам идентификатор материала № 2. Теперь раме окна можно будет назначить один материал, например изображающий дерево или пластик, а средней части — другой материал, имитирующий стекло. В заключение сохраните файл под именем, измененным в пункте 3.


6.   Теперь откройте файл Tarelka.max и выделите объект Tarelka01, являющийся телом вращения. Если вы не создали или не сохранили этот файл, загрузите его из панки Scenes\Glava_06 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
7.   Перейдите на командную панель Modify (Изменить) и щелкните на имени модификатора Lathe (Вращение) в окне стека модификаторов правой кнопкой мыши. Выполните сворачивание стека модификаторов тарелки, выбрав в появившемся контекстном меню команду Collapse All (Свернуть все). Щелкните на кнопке Yes (Да) в ответ на предупреждение о критичности операции. Тарелка превратится в объект типа Editable Mesh (Редактируемая сетка).
8.   Для начала измените идентификатор материала всех граней тарелки. Дело в том, что mах 7.5 — программа «умная» и граням тел вращения и экструзии назначает три идентификатора: для граней боковых поверхностей — 3, а для «оснований» — 1 и 2. У нашей тарелки есть только боковая поверхность, все грани которой имеют идентификатор 3. Чтобы убедиться в этом, щелкните на кнопке Polygon (Полигон) в свитке Selection (Выделение). Так как мы собираемся выделить полоску из граней, отдельные грани нам выделять не обязательно, и с полигонами будет легче работать. Выделите все грани тарелки с помощью рамки или выбрав команду меню Edit > Select All (Правка > Выделить все). Прокрутите вверх область свитков командной панели, чтобы стал виден свиток Surface Properties (Свойства поверхности). В счетчике Set ID (Установить идентификатор) раздела Material (Материал) вы увидите число 3. Введите в этот счетчик число 1.
9. Теперь настроим идентификаторы граней, образующих будущую каемку. Сбросьте выделение всех граней. Укрупните изображение тарелки в окне проекции Тор (Вид сверху), чтобы отчетливо видеть отдельные грани у края тарелки, а затем разверните окно проекции на весь экран. Удерживая клавишу Ctrl, аккуратно выделите в каждом секторе тарелки шестой от края полигон, образовав полоску выделенных полигонов по всему периметру тарелки, как показано на рис. 8.57. Введите в счетчик Set ID (Установить идентификатор) свитка Surface Properties (Свойства поверхности) число 2. Выключите режим выделения подобъектов, щелкнув в окне стека на строке Editable Mesh (Редактируемая сетка), и сохраните файл.



Рис. 8.57. Группа выделенных полигонов, окрашенных в красный цвет, образует полоску по всему периметру тарелки
10.   Откройте файл Bokal01.max и выделите объект Bokal01. При необходимости можете загрузить нужный файл под именем Bokal01.max из папки Scenes\ Glava_08 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
11.   Далее можно действовать уже известным вам способом. Сверните стек модификаторов этого объекта, являющегося телом вращения, превратив его тем самым в редактируемую сетку. Измените идентификатор материала всех граней бокала. Для этого щелкните на кнопке Polygon (Полигон) в свитке Selection (Выделение). Выделите все грани бокала с помощью рамки или команды меню Edit > Select All (Правка > Выделить все). Измените идентификатор материала всех выделенных граней в свитке Surface Properties (Свойства поверхности) с 3 на 1.
12.   Теперь установите нужный идентификатор для тех граней, которые будут образовывать золотистые полоски по краю бокала. Увеличьте изображение верхней части бокала в окне проекции Front (Вид спереди), чтобы хорошо были видны отдельные грани. Убедитесь, что включен пересекающий режим выделения. С помощью рамки аккуратно выделите все грани верхнего края бокала, захватив и верхнюю полоску, как показано на рис. 8.58. Выделится и окрасится в красный цвет гораздо больше граней, чем нам нужно, но это не беда: в следующем пункте мы все приведем в норму.

Рис. 8.58. Выделяющая рамка должна охватить весь верхний край бокала, включая грани верхней полоски
13. Нажав и удерживая клавишу Alt, выделите верхний край бокала, не захватывая на этот раз грани полоски. Охваченные рамкой грани будут исключены из выделенного набора и выделенными останутся только грани верхней полоски, как показано на рис. 8.59. Работа эта довольно кропотливая, так что если с первого раза у вас не получится, отмените выделение и повторите операцию заново. Установите для выделенных граней полоски идентификатор материала, равный 2.



Рис. 8.59. Выделена верхняя полоска граней

СОВЕТ
Запомните этот прием выделения: сначала выделяются нужные Подобъекты, скажем, вершины или грани вместе с некоторыми лишними, а затем выделение лишних подобъектов отменяется при удерживаемой клавише Alt. Этот прием приходится довольно часто использовать при выделении подобъектов сетки, которые, как правило, перекрываются или расположены слишком близко друг от друга, что затрудняет данную процедуру.

14.   Теперь, также за два приема, выделите грани нижней полоски. Сначала с помощью рамки охватите грани нижней части бокала, включая и грани нижней полоски, как показано на рис. 8.60. Затем, удерживая клавишу Alt, выделите только грани нижней части бокала, не затрагивая грани полоски. Охваченные рамкой грани будут исключены из выделенного набора и выделенными останутся только грани нижней полоски. Установите для них идентификатор материала, равный 2. Выключите режим выделения подобъектов, щелкнув в окне стека на строке Editable Mesh (Редактируемая сетка). Сохраните файл под заданным в начале работы именем Bokal02.max.

Рис. 8.60. Выделяющая рамка должна охватить нижнюю часть бокала, включая грани нижней полоски
15.   Как видите, назначение идентификаторов материала иногда может быть непростой задачей. Именно поэтому в шах 7.5 имеются дополнительные средства, облегчающие ее решение. Давайте освоим их, так как в практической работе они требуются довольно часто. Вместо разметки идентификаторов граней тел, построенных на основе сплайновых профилей методами выдавливания, вращения или лофтинга, можно применять разметку идентификаторов материала сегментов сплайнов-профилей. В итоге все грани оболочки тела, полученные за счет выдавливания, вращения или лофтинга соответствующих сегментов профиля, приобретают идентификаторы материала, назначенные сегментам сплайна. Это очень удобно. Снова загрузите файл Bokal01.max. Разверните в стеке модификаторов дерево подобъектов объекта Line (Линия), имя которого расположено под именем модификатора Lathe (Вращение), и выделите строку Segment (Сегмент). Бокал исчезнет, и в окнах проекций останется только линия профиля.


16.    Выделите рамкой все сегменты профиля, то есть отрезки кривых между соседними вершинами. Прокрутите область свитков вверх и найдите в самом низу командной панели свиток Surface Properties (Свойства поверхности). Для сплайнов этот свиток включает только один раздел Material (Материал) со счетчиком Set ID (Установить идентификатор) и кнопкой Select By ID (Выделить по идентификатору). Введите в счетчик ID (Идентификатор) число 1.
17.   Укрупните в окне вида спереди изображение верхнего края профиля, где установлены дополнительные вершины для образования полосок на бокале. Удерживая клавишу Ctrl, щелкните на втором и четвертом сверху сегментах наружной стороны профиля — тех самых, при вращении которых и будут формироваться грани полосок (рис. 8.61). Введите в счетчик ID (Идентификатор) число 2. Выключите режим работы с подобъектами линии, щелкнув в стеке модификаторов на строке Line (Линия).

Рис. 8.61. Выделены сегменты профиля, которые при вращении будут создавать грани верхней и нижней полосок на краю бокала
18.   Теперь выделите в стеке модификаторов имя модификатора Lathe (Вращение). Установите в самом низу свитка Parameters (Параметры) модификатора вращения флажок Use Shape IDs (Использовать идентификаторы формы). Чтобы он был доступен, обязательно должен быть также установлен флажок Generate Material IDs (Генерировать идентификаторы материала). Установка этих флажков обеспечит наследование гранями тела вращения идентификаторов материала, назначенных сегментам формы профиля. Превратите объект в редактируемую сетку, свернув стек его модификаторов. Сохраните файл под именем Bokal02.max.
При желании можете самостоятельно произвести разметку полигонов створок дверей, чтобы иметь возможность применить к рамке и вставкам створок разные материалы, например, с целью имитировать использование разных пород дерева или сделать вставки стеклянными.
В главе 9 вам представится возможность на практике познакомиться с некоторыми другими инструментами правки полигональных сеток на уровне подобъектов, в частности с появившимися в 3ds max 7 инструментами Bridge (Мост) и свитком Paint Deformation (Деформация кистью). Пока же перейдем к рассмотрению инструментов редактирования сеток, состоящих из кусков Безье.

Применяем алгоритм Light Tracer к осветителю Skylight


Цель данного упражнения состоит не только в том, чтобы познакомить вас с первым из двух алгоритмов расчета глобальной освещенности, но и в том, чтобы научиться включать режим логарифмического управления экспозицией визуализированного изображения, а также освоить применение нового стандартного осветителя Skylight (Свет неба). Этот осветитель замечательно подходит для имитации освещения, создаваемого небосводом, когда свет исходит как бы из каждой точки неба. В силу своей особенности осветитель Skylight (Свет неба) не может формировать зеркальных бликов на поверхностях объектов, однако способен имитировать мягкие полутени. Для этого перед визуализацией должно быть активизировано еще одно новшество max 7.5 — режим расчета глобальной освещенности Light Tracer (Трассировщик света).

Если наружное освещение сцены создается единственным осветителем Skylight (Свет неба), возникает атмосфера пасмурного дня. Если дополнить наружное освещение направленным источником, имитирующим солнце, будет создаваться достоверная атмосфера ясного солнечного дня.

Итак, выполняйте следующие действия:

1. Для экспериментов с глобальной освещенностью можно загрузить сцену МАХ-kafe10.max, сохраненную в конце предыдущего упражнения. Эта сцена содержит все объекты геометрической модели и систему освещения, полностью настроенную нами на традиционный случай отсутствия расчета глобальной освещенности. Для тестирования наружного освещения из всего набора объектов нам понадобятся только основание сцены и элементы конструкции здания кафе, за исключением окна, а для выполнения проб глобального освещения внутри здания — только столы, кресла и два свободных прожектора, размещенных под потолком кафе. Так что скройте лишние объекты и выключите пока все осветители. При необходимости можете загрузить «облегченный» файл сцены, который содержит только нужные для этого упражнения объекты и хранится под именем MAX-kafe+Gl.max в папке Scenes\Glava_11 компакт-диска, прилагающегося к книге. Так как в этой сцене прожекторы пока выключены, то, чтобы изображение в окнах проекций с тонированным режимом просмотра не тонуло во мраке, включено встроенное освещение max 7.5. Как это сделать, подробно объяснялось в главе 3.




2.   Создайте осветитель- имитатор света неба. Кнопка для создания этого осветителя появляется в правом нижнем углу свитка Object Type (Тип объекта), показанного ранее на рис. 11.5, если на командной панели Create (Создать) нажать кнопку Lights (Источники света) и в раскрывающемся списке разновидностей источников света выбрать вариант Standard (Стандартные). Щелкните на кнопке Skylight (Свет неба), а затем щелкните в окне вида сверху перед входом в здание кафе, где-нибудь в районе точки с координатами (100; -500; 0). На командной панели появится свиток параметров осветителя, назначение и порядок настройки которых мы рассмотрим позднее. Значок осветителя Skylight (Свет неба) имеет вид маленькой каркасной полусферы желтого цвета, как показано на рис. 11.40. Вообще говоря, местоположение в сцене, ориентация и размеры значка этого источника освещения не имеют никакого значения. Значок осветителя Skylight (Свет неба) — всего лишь вспомогательный объект, показывающий, что данный осветитель включен в состав сцены. Как уже говорилось в начале главы, при размещении осветителя Skylight (Свет неба) в составе сцены она как бы накрывается сверху (со стороны положительной полуоси Z глобальных координат) воображаемым куполом в виде бесконечно большой полусферы, все точки которой являются источниками световых лучей.

Рис. 11.40. В состав сцены включен осветитель Skylight
Итак, в составе сцены теперь есть осветитель, но он пока не действует. Если активизировать окно перспективной проекции, подобной показанной на рис. 11.40, и выполнить пробную визуализацию, то все объекты сцены будут совершенно черными. Чтобы программа могла рассчитать освещение от источника Skylight (Свет неба), необходимо включить действие алгоритма трассировки света, одного из двух алгоритмов расчета глобальной освещенности. Раскройте меню Rendering (Визуализация) и выберите команду Advanced Lighting (Улучшенное освещение) > Light Tracer (Трассировщик света). Появится окно диалога Render Scene (Визуализация сцены) с открытой вкладкой Advanced Lighting (Улучшенное освещение). Параметры этой вкладки являются основным средством настройки алгоритмов расчета глобальной освещенности. Это окно, показанное на рис. 11.41, содержит два свитка: Select Advanced Lighting (Выберите алгоритм улучшенного освещения) и Parameters (Параметры). В раскрывающемся списке первого свитка уже выбрана строка Light Tracer (Трассировщик света). Флажок активизации действия трассировщика Active (Активен) справа от списка тоже устанавливается автоматически.



Рис. 11.41. Вкладка Advanced Lighting окна диалога Render Scene
4.   Не выполняя никаких настроек в появляющемся свитке Parameters (Параметры) трассировщика, произведите визуализацию сцены в окне перспективной проекции, демонстрирующем общий вид здания кафе. Теперь в сцене появится освещение, и даже возникнут тени с мягкими размытыми краями под буквами вывески, снежными валиками и за створками дверей. Однако изображение в целом будет выглядеть слишком темным, а внутреннее пространство кафе окажется совершенно утонувшим во мраке (рис. 11.42).

Рис. 11.42. Использование осветителя Skylight в режиме расчета глобальной освещенности методом трассировщика света создает явно недостаточное освещение сцены
5.   Включите режим логарифмического управления экспозицией. Для этого выберите команду меню Rendering > Environment (Визуализация > Внешняя среда), чтобы вызвать появление окна диалога Environment and Effects (Внешняя среда и эффекты). Это окно автоматически раскрывается на вкладке Environment (Внешняя среда). В раскрывающемся списке свитка Exposure Control (Управление экспозицией) выберите вариант Logarithmic Exposure Control (Логарифмическое управление экспозицией), как показано на рис. 11.43. Проследите, чтобы был установлен флажок Active (Активно). Не изменяйте принятые по умолчанию значения всех остальных параметров управления экспозицией, которые имеются в свитке Logarithmic Exposure Control Parameters (Параметры логарифмического управления экспозицией). К их настройке мы вернемся несколько позже. Обратите внимание на то, что после щелчка на кнопке Render Preview (Просмотр визуализации) в свитке Exposure Control (Управление экспозицией) в поле над кнопкой через какое-то время появится миниатюрное визуализированное изображение сцены, как можно видеть на рис. 11.43. Эта миниатюра позволяет составить общее впечатление о действии выбранного варианта экспозиции. Ход расчета миниатюры отображается с помощью прогресс-индикатора, появляющегося на месте кнопки, чтобы у вас не сложилось впечатление, будто компьютер завис.



Рис. 11.43. Свитки окна диалога Environment and Effects, содержащие средства управления экспозицией, и миниатюрное изображение сцены
6.   Повторите визуализацию. Теперь освещение станет выглядеть вполне корректно для пасмурного дня: объекты освещены достаточно равномерно, сформированы мягкие полутени, а области, в которые попадает мало света, такие как внутреннее пространство кафе, являются достаточно освещенными для того, чтобы были видны детали внутреннего убранства (рис. 11.44).

Рис. 11.44. Расчет глобальной освещенности объектов источником Skylight при логарифмическом управлении экспозицией создает корректное освещение сцены
7.   Перейдите на командную панель Modify (Изменить) и рассмотрите параметры„осветителя Skylight (Свет неба) в свитке Skylight Parameters (Параметры света неба), показанном на рис. 11.45. Обратите внимание на то, что этот осветитель не может быть преобразован ни в один из других стандартных осветителей и в корне отличается от них по составу параметров. Флажок On (Вкл.) служит для включения осветителя. Если его сбросить, то при отсутствии иных осветителей все объекты сцены, будучи визуализированными, окажутся абсолютно черными. Счетчик Multiplier (Усилитель) задает коэффициент усиления яркости осветителя. Как правило, лучше оставлять значение этого параметра неизменным, чтобы не получить искажения цветов сцены. Для настройки цвета освещения можете использовать следующие элементы управления группы Sky Color (Цвет неба):

Рис. 11.45. Свиток Skylight Parameters содержит набор элементов управления осветителем
Use Scene Environment (Использовать фон сцены) — при установке этого переключателя для окрашивания цвета осветителя будут использованы настройки цвета фона, сделанные в окне диалога Environment (Внешняя среда), вызываемом из меню Rendering (Визуализация). О том, как менять цвет фона с принятого по умолчанию черного цвета на любой иной, вы узнаете в главе 15;
Sky Color (Цвет неба) — при установке этого переключателя в качестве цвета неба используется оттенок, указанный в образце справа от переключателя. Чтобы выбрать иной оттенок цвета неба, просто щелкните на образце цвета для вызова типового окна диалога Color Selector (Выбор цвета);
Map (Карта текстуры) — установка этого флажка позволяет заменить цвет осветителя изображением текстурной карты, выбор которой производится щелчком на кнопке с надписью None (Отсутствует). Если установить в счетчике справа от флажка величину доли вклада карты меньше 100 %, цвет ее рисунка будет смешиваться с цветом неба, заданным в образце.
Не закрывайте программу, мы продолжим работу над этой сценой.

Простейшая настройка алгоритма Light Tracer


Теперь, когда вы умеете включать режим расчета глобальной освещенности от источника Skylight (Свет неба) по методу трассировщика света, попробуем выполнить настройку некоторых параметров алгоритма Light Tracer (Трассировщик света). Для этого рассмотрим освещение, создаваемое тем же источником-имитатором света неба во внутреннем пространстве кафе, куда свет проникает через дверь и оконный проем. Это упражнение, помимо прочего, поможет выявить некоторые принципиальные сложности, возникающие при использовании алгоритма трассировки света, а также даст возможность познакомиться с особыми требованиями со стороны методов расчета глобальной освещенности к геометрическим моделям сцены.

Выполняйте вместе со мной следующие действия:

1.   Продолжите работу над сценой, которая использовалась в предыдущем упражнении. Укрупните масштаб изображения в окне перспективной проекции таким образом, чтобы через дверной проем видеть часть внутреннего помещения кафе со столами и креслами.

2.   Не изменяя принятых по умолчанию настроек параметров трассировщика света, выполните пробную визуализацию сцены. Вы должны получить изображение, подобное показанному на рис. 11.46. Оно имеет ряд явно выраженных недостатков. Во-первых, хотя во внутреннее помещение кафе и проникает свет небосвода, его явно недостаточно. Во-вторых, даже на этом темном изображении отчетливо видны пятна. Причина их появления состоит в случайной ориентации лучей, испускаемых из центра каждого видимого участка сцены при обратной трассировке. В итоге, в какую-то точку одной и той же стены попадает больше света, в какую-то меньше. Наконец, на стыке двух элементов геометрической модели кафе, изображающих левую и заднюю стены, видна вертикальная щель, через которую просачивается свет. Эта щель возникает несмотря на то, что стены пригнаны нами друг к другу достаточно плотно. Все эти недостатки характерны для результатов расчета глобальной освещенности и с ними нужно уметь бороться.

Рис. 11.46. Расчет глобальной освещенности объектов внутри кафе источником Skylight демонстрирует, что помимо достоинств, этот метод имеет и недостатки




3.    Чтобы несколько повысить общий уровень освещенности внутри кафе, сделать более светлыми совершенно затененные области, а также выявить эффект цветового подкрашивания одних объектов сцены лучами света, отраженными от расположенных рядом других объектов, нужно разрешить программе рассчитывать многократные отражения световых лучей. Это делается за счет настройки параметра Bounces (Отражений) в свитке Parameters (Параметры) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены), показанном ранее на рис. 11.41. По умолчанию в счетчике Bounces (Отражений) установлено значение 0. При этом в расчетах не будет учитываться ни одного дополнительного отражения световых лучей, однократно отраженных от объектов сцены. При значении параметра Bounces (Отражений), равном 1, будут рассчитываться возможные двукратные отражения лучей, при значении 2 — трехкратные и т. д., что обеспечивает дополнительную подсветку теневых областей и цветовое окрашивание объектов отраженным светом. Измените число отражений лучей, задаваемое в счетчике Bounces (Отражений), с принятого по умолчанию значения 0 на 2 и выполните тестовую визуализацию сцены. Результат должен быть подобен показанному на рис. 11.47. Сцена выглядит лучше, но пятнистость осталась и, более того, стала видна еще отчетливее.

Рис. 11.47. Учет двукратных дополнительных отражений световых лучей обеспечивает дополнительную подсветку теневых областей и цветовое окрашивание объектов отраженным светом

ЗАМЕЧАНИЕ
Очевидно, увеличение числа отражений существенно увеличивает время визуализации сцены. Что делать, — за всякое усовершенствование нужно платить!

4. Для борьбы с пятнистостью изображения в алгоритме трассировщика света предусмотрено два пути: увеличение числа воображаемых лучей, испускаемых из центра каждого участка проекции сцены, и фильтрация результирующего изображения. Первый способ реализуется за счет увеличения в свитке Parameters (Параметры) значения Rays/Sample (Лучей на отсчет), второй — за счет увеличения параметра Filter Size (Размер фильтра), задающего размер окна сглаживающего фильтра в пикселях. Ясно, что и то и другое ведет к росту времени визуализации сцены. Так что, выполняя первую черновую визуализацию, не увеличивайте размер окна фильтра, а число лучей на отсчет старайтесь задать поменьше. По умолчанию оно равно 250. На рис. 11.48 показан результат сглаживания пятнистости изображения при увеличении размера фильтра с принятого по умолчанию значения 0,5 до 10. Как можно видеть, мелкие пятна сгладились, однако крупные еще имеют место. Попробуйте побороться с ними самостоятельно. Следует, однако, учитывать, что всякая фильтрация в конечном счете ухудшает резкость изображения, так что не следует беспредельно увеличивать размер окна фильтра.



Рис. 11.48. Результат сглаживания пятен на изображении, вызванных случайной природой алгоритма трассировщика света, за счет увеличения размера окна фильтра с 0,5 до 10
5. Для устранения вертикальной щели между стенами, через которую проникает свет, недостаточно оказывается даже слегка задвинуть один параллелепипед, скажем, изображающий левую стену, внутрь другого, изображающего заднюю стену. Особенности алгоритма трассировки света таковы, что даже в этом случае программа усматривает возможность проникновения световых лучей от небосвода между стенами. Выход в том, чтобы объединить объекты, изображающие стены, в один. Это можно сделать, преобразовав их в сетки или полисет-ки, присоединив одну сетку к другой и выполнив слияние вершин на краях параллелепипедов. Другой способ — создать на основе двух параллелепипедов один составной булевский объект, используя для этого операцию Union (Объединение). На рис. 11.49 показан результат визуализации той же цены, что на рис. 11.48, после булевского объединения двух параллелепипедов-стен кафе в единый объект. Как можно видеть, щель в углу кафе больше не светится.

Рис. 11.49. После булевского объединения параллелепипедов, изображающих стены, свет перестает проникать сквозь вертикальную щель в углу кафе

ЗАМЕЧАНИЕ
Как можно видеть, алгоритм расчета глобальной освещенности Light Tracer (Трассировщик света) предъявляет некоторые дополнительные требования к конструкции геометрической модели сцены. Эти требования нужно учитывать при подготовке геометрической модели к визуализации. Кстати, с точки зрения особых требований к геометрии алгоритм Radiosity (Перенос излучения), с которым вам еще предстоит познакомиться, оказывается даже еще более капризным.

6. Последние настройки из тех, что имеются в свитке Parameters (Параметры) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены), с которыми нам предстоит познакомиться, позволяют влиять на освещенность сцены в целом. Это можно делать, изменяя значение в счетчике Global Multiplier (Общий усилитель), который задает общий уровень освещенности изображения сцены. Если в составе сцены есть осветитель-имитатор света неба, как в нашем случае, то можно регулировать значение коэффициента усиления света небосвода, используя счетчик Sky Lights (Осветители неба). На рис. 11.50 показано изображение той же сцены, что на рис. 11.49, сформированное при увеличении параметра Sky Lights (Осветители неба) с принятого по умолчанию значения 1 до 2. Картинка стала светлее в целом, причем это особенно заметно на переднем плане, куда попадает больше света от небосвода через проемы окна и двери.



Рис. 11.50. В результате увеличения параметра Sky Lights внутри кафе стало в целом светлее
7.   Чтобы у вас не создалось впечатления, что глобальную освещенность сцены может создавать только свет небосвода, проделаем еще один опыт. Удалите осветитель Skylight (Свет неба) и включите два имеющихся в сцене осветителя-прожектора. Для их включения, как уже объяснялось ранее, удобно использовать окно диалога Light Lister (Список осветителей). Выключите режим расчета глобальной освещенности методом трассировщика света, сбросив флажок Active (Активен) справа от списка выбора алгоритмов расчета в свитке Select Advanced Lighting (Выберите алгоритм улучшенного освещения) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены). Выполните пробную визуализацию (рис. 11.51). Прожекторы создают яркие пятна света на полу, освещают прямыми лучами фрагменты мебели, однако стены тонут во мраке, а тени под столами и стульями выглядят беспросветно глухими. Привычная картина для ситуации, когда расчет глобальной освещенности не производится. Нечто похожее мы уже видели ранее на рис. 11.36 с той разницей, что при формировании рис. 11.51 действовал еще режим логарифмического управления экспозицией, вызвавший некоторое снижение яркости наиболее освещенных участков.

Рис. 11.51. Результат освещения сцены интерьера кафе двумя прожекторами без учета глобальной освещенности, но при действующем режиме логарифмического управления экспозицией
8.   Теперь снова включите действие трассировщика света, установив флажок Active (Активен) в свитке Select Advanced Lighting (Выберите алгоритм улучшенного освещения) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены). Проследите, чтобы параметр Bounces (Отражений) равнялся 2, a Filter Size (Размер фильтра) был равен 10. Повторите визуализацию. Сопоставьте изображение, показанное на рис. 11.52, с картинкой на рис. 11.51 и, как говорится, почувствуйте разницу. Стены кафе теперь освещены лучами света, отразившимися от пола и мебели. Тени под столами и креслами стали прозрачными, так как тоже подсвечены отраженными лучами. На обвязке столов появились красноватые блики, вызванные отражениями света от красных сидений кресел. Желтоватые блики появились на полу как отражения света от стола и боковин кресел... Чтобы увидеть эти блики, которые, разумеется, не видны на черно-белой иллюстрации, взгляните на цветную версию рисунка, имеющуюся в папке lmages\Glava_11 компакт-диска, прилагающегося к книге. А пока не сохраняйте файл и не закрывайте программу, мы еще продолжим работу с этой сценой.



Рис. 11.52. Результат освещения сцены интерьера кафе двумя прожекторами с учетом глобальной освещенности, рассчитываемой методом трассировщика света
Алгоритм Light Tracer (Трассировщик света) имеет еще много параметров, с которыми вы при необходимости можете познакомиться, обратившись к электронной справочной системе max 7.5 или прочтя мою книгу «3ds max. Материалы, освещение, визуализация», выпущенную издательством «Питер» в 2005 году.
Продолжим практическое знакомство с методами расчета глобальной освещенности, перейдя к рассмотрению алгоритма Radiosity (Перенос излучения).

Применение алгоритма Radiosity к свету прожекторов


Целью данного упражнения будет научиться включать и настраивать алгоритм Radiosity (Перенос излучения) расчета глобальной освещенности, а также освоить некоторые элементы настройки режима логарифмического управления экспозицией формируемого изображения.

1. Продолжите работу над сценой, которая использовалась в предыдущем упражнении. При желании можете выполнить повторную загрузку сцены из файла MAX-kafe+Gl.max, имеющегося в папке Scenes\Glava_11 компакт-диска, прилагающегося к книге. В этом случае включите два имеющихся в сцене осветителя-прожектора.

2.   Активизируйте режим логарифмического управления экспозицией, как это было описано в упражнении 12 предыдущего раздела применительно к алгоритму трассировщика света. Обычно перед выполнением расчетов глобальной освещенности методом переноса излучения рекомендуется производить пробную визуализацию, чтобы убедиться в правильном расположении источников прямых световых лучей. Мы это уже проделывали в предыдущем упражнении, так что просто еще раз взгляните на рис. 11.51.

ЗАМЕЧАНИЕ

Освещение, создаваемое переотраженными лучами света, как вы понимаете, является довольно слабым. Поэтому включение режима логарифмического управления экспозицией является обязательным условием получения не просто качественных, а вообще каких-либо результатов при расчете глобальной освещенности методом переноса излучения. Если вы забудете включить этот режим, то рискуете получить что-то, напоминающее результаты традиционной визуализации, наподобие картинки, показанной ранее на рис. 11.51.

3.   Выполните команду меню Rendering > Advanced Lighting > Radiosity... (Визуализация > Улучшенное освещение > Перенос излучения), чтобы вызвать появление уже знакомого вам окна диалога Render Scene (Визуализация сцены) с открытой вкладкой Advanced Lighting (Улучшенное освещение). На этот раз в списке свитка Select Advanced Lighting (Выберите алгоритм улучшенного освещения) будет автоматически выбрана строка Radiosity (Перенос излучения). Флажок активизации действия трассировщика Active (Активен) справа от списка опять-таки устанавливается автоматически. В нижней части окна вы увидите свитки Radiosity Processing Parameters (Параметры обработки переноса излучения), Radiosity Meshing Parameters (Параметры разбиения сеток для переноса излучения), Light Painting (Раскраска светом), Rendering Parameters (Параметры визуализации) и Statistics (Статистика), показанные на рис. 11.53.





Рис. 11.53. Вид окна диалога Advanced Lighting после выбора алгоритма расчета глобальной освещенности Radiosity
4. Раскройте свиток Radiosity Meshing Parameters (Параметры разбиения сеток для переноса излучения) и установите флажок Enabled (Разрешено), чтобы разрешить алгоритму переноса излучения произвести дополнительное разбиение всех граней сеток объектов на треугольные элементы, размер которых задается в счетчике Initial Meshing size (Исходный размер элемента). Установите размер элемента равным 30 см. Не сбрасывайте флажок Display Radiosity in Viewport (Показывать перенос излучения в окнах проекций), это обеспечит возможность видеть примерное качество результатов расчета глобальной освещенности в окнах проекций с тонированным режимом отображения. Щелкните на кнопке Start (Начать) в свитке Radiosity Processing Parameters (Параметры обработки переноса излучения), чтобы запустить расчет глобальной освещенности методом переноса излучения при исходных значениях всех остальных параметров. Ход расчета отображается прогресс-индикатором. Расчет продолжается шаг за шагом до тех пор, пока не будет достигнуто качество результата, заданное в счетчике Initial Quality (Качество решения) свитка Radiosity Processing Parameters (Параметры обработки переноса излучения). Текущий уровень качества, достигнутый после очередного этапа работы алгоритма, отображается над прогресс-индикатором правее надписи Initial Quality (Качество решения). Этот параметр задает уровень точности расчета распределения световой энергии, но не визуальное качество итогового изображения, которое может оказаться зашумленным. Обычно для начала устанавливают значения порядка 80-85 %. Для итоговой визуализации можно устанавливать величину качества порядка 95-99 %. Спустя какое-то время, которое может оказаться и достаточно продолжительным, расчет завершится, и его результаты будут видны в окнах проекций (рис. 11.54). Теперь можно щелкнуть на кнопке Quick Render (Быстрая визуализация) главной панели инструментов max 7.5. Синтез изображения пойдет быстро, ведь расчеты-то уже выполнены. Однако полученный в нашем конкретном случае результат будет отличаться от изображения, сформированного без учета глобальной освещенности и показанного ранее на рис. 11.51, настолько незначительно, что я даже не стал помещать его в книгу: все равно, к сожалению, после печати эти тонкие отличия не будут видны.



Рис. 11.54. В окнах проекций виден результат разбиения сеток на треугольные элементы, произведенного алгоритмом расчета глобальной освещенности Radiosity
5. Кажется, яркости прожекторов явно недостаточно для освещения стен и мебели кафе отраженным светом. Кстати, вспомните, что в предыдущем упражнении те же два прожектора прекрасно освещали интерьер при использовании алгоритма трассировщика света. Но трассировщик света просто придает картинке похожесть на реальное фотоизображение, а алгоритм переноса излучения пытается воспроизвести физически точную картину освещенности. Что же делать? Можно изменить яркость прожекторов, но иногда это нецелесообразно, скажем, если бы вместо стандартных прожекторов были использованы фотометрические осветители с заданной мощностью, для которых нам требовалось бы оценить освещенность помещения. Впрочем, опытный фотограф наверняка скажет нам, что дело не в том, что мало света, а в том, что наш «снимок» загублен из-за неправильно выбранной экспозиции. Попробуем настроить параметры логарифмического управления экспозицией. Эти настройки производятся в свитке Logarithmic Exposure Control Parameters (Параметры логарифмического управления экспозицией) окна диалога Environment (Внешняя среда), показанном ранее на рис. 11.43. Вызвать это окно можно прямо из свитка Radiosity Processing Parameters (Параметры обработки переноса излучения) окна диалога Advanced Lighting (Улучшенное освещение). Для этого достаточно щелкнуть на кнопке Setup (Настройка) в разделе Interactive Tools (Интерактивные средства). Для начала изменим значение в счетчике Physical Scale (Физическая шкала) с принятой по умолчанию величины 1500 на 4500. На эту величину умножается интенсивность света, задаваемая счетчиком Multiplyer (Усилитель) любого стандартного осветителя в составе сцены. Если представить себе, что синтезированная программой картинка фиксируется на воображаемую пленку, то увеличение данного параметра эквивалентно увеличению чувствительности этой пленки. После повторной визуализации, перед которой программа повторит расчет глобальной освещенности, получим изображение, показанное на рис. 11.55. Стены выглянули из темноты, и тени перестали быть глухими. На цветном изображении можно видеть цветовые блики на деталях стола от красных сидений кресел. Но все же изображение в целом выглядит недостаточно светлым и излишне контрастным, поэтому продолжим настройку.



Рис. 11.55. Вид той же сцены, что на рис. 11.51, после расчета глобальной освещенности методом переноса излучения и настройки параметра Physical Scale

ЗАМЕЧАНИЕ
Обратите внимание на то, что в окне перспективной проекции с тонированным режимом отображения тоже виден результат расчета глобальной освещенности, хотя и несколько упрощенно.

6. Изменение параметров яркости и контраста изображения в свитке Logarithmic Exposure Control Parameters (Параметры логарифмического управления экспозицией) не вызывает необходимости повторного расчета глобальной освещенности, так что с этими величинами можно экспериментировать, быстро получая тестовые результаты. Чтобы несколько повысить яркость изображения, увеличьте значение параметра Brightness (Яркость) с 65 до 70. Диапазон допустимых значений этого параметра — от 0 до 200, причем результат очень чувствителен даже к небольшим изменениям яркости. Для снижения контрастности картинки уменьшите значение параметра Contrast (Контраст), которое может изменяться от 0 до 100, с 50 до 40. Повторите визуализацию, результатом которой должно быть изображение, подобное показанному на рис. 11.56. Полученная картинка пока что далека от идеала. Она даже проигрывает с точки зрения передачи полутонов изображению, сформированному методом трассировщика света, хоть он считается упрощенным. Экспериментирование с настройками логарифмического режима управления экспозицией можно и нужно продолжить. Надеюсь, вы уже уловили общий подход.

Рис. 11.56. Вид той же сцены, что на рис. 11.51, после расчета глобальной освещенности методом переноса излучения и настройки яркости и контраста логарифмической экспозиции

ЗАМЕЧАНИЕ
Полученные нами результаты расчетов освещенности не совсем корректны, поскольку на них должны влиять свойства материалов, назначенных объектам. Пока же в сцене совсем нет никаких материалов.

У алгоритма переноса излучения есть еще масса не рассмотренных нами параметров. Однако нам следует двигаться дальше, так что при желании или необходимости попробуйте познакомиться с ними самостоятельно, используя для этого электронную справочную систему шах 7.5. Справочное описание отдельных параметров этого алгоритма можно также найти в моей книге «3ds max. Материалы, освещение, визуализация», выпущенной издательством «Питер» в 2005 году.
Закончив упражнения с расчетом глобальной освещенности, можете сохранить результаты в учебных целях. Однако в дальнейшей работе над нашим проектом «МАХ-кафе» мы ограничимся традиционным набором стандартных осветителей, которые расставили и настроили в упражнениях 6 и 11. Это позволит нам избежать дополнительных сложностей с настройкой освещения в процессе предстоящего изучения таких важных разделов, как создание материалов и анимация сцены.

Создаем модели камер


На мой взгляд, нацеленными камерами управлять легче и удобнее, поэтому предлагаю использовать именно их. Создадим в сцене нашего основного проекта «МАХ-кафе» четыре нацеленные камеры: одну — «на улице», для получения обзорного изображения фасада кафе, вторую — в дверях, она будет давать общий план левой части интерьера, третью — вблизи от окна, нацелив ее в правую часть помещения, и четвертую — над столом, чтобы получить вид сервировки с точки зрения посетителя, сидящего в кресле. Однако для начала освоим общий порядок создания и настройки параметров камер.

Выполните следующие действия:

1.

Произведите перезагрузку max 7.5, чтобы все параметры приняли свои исходные значения. Щелкните на кнопке Cameras (Камеры) командной панели Create (Создать). Раскрывающийся список разновидностей камер содержит всего один вариант — Standard (Стандартные). В свитке Object Type (Тип объекта) появятся кнопки инструментов создания двух типов камер — Target (Нацеленная) и Free (Свободная). Щелкните на кнопке Target (Нацеленная), и в нижней части командной панели появится свиток Parameters (Параметры) с параметрами камер, показанный на рис. 11.58, а также свиток Depth of Field Parameters (Параметры глубины резкости). С помощью последнего свитка можно производить настройку эффекта глубины резкости изображения, рассмотрение которого мы произведем несколько ниже.

Рис. 11.58. Свиток Parameters включает все инструменты для настройки камер

2. Создайте нацеленную камеру, используя полученные ранее навыки создания нацеленных прожекторов. Для этого переместите курсор в окно проекции Тор (Вид сверху), щелкните, обозначив точку расположения значка камеры, и перетащите курсор, обозначая положение мишени. Отпустите кнопку мыши, чтобы зафиксировать положение мишени. Как и нацеленный прожектор, нацеленная камера и ее мишень создаются на координатной плоскости текущего окна проекции, при этом вы видите пирамиду видимости в ее продольном сечении.

3.   Для настройки параметров камеры поступайте одним из двух способов. Можно не выключать режим создания камер (а выключается он щелчком правой кнопкой мыши в активном окне проекции) и выполнять настройку прямо на панели Create (Создать). Можно выключить режим создания камер, тогда для доступа к свиткам параметров камеры придется перейти на командную панель Modify (Изменить).




4.   

Задайте фокусное расстояние объектива камеры в миллиметрах в счетчике Lens (Объектив) или установите размер поля зрения камеры в счетчике FOV (Поле зрения). Можно задавать размеры поля зрения по горизонтали, по вертикали или по диагонали. Выбор нужного варианта производится щелчком на кнопке слева от счетчика FOV (Поле зрения), которая снабжена раскрывающейся панелью с двумя дополнительными кнопками. Вместо настройки параметров Lens (Линза) и FOV (Поле зрения) можно выбрать один из готовых объективов с заданным фокусным расстоянием и соответствующим полем зрения с помощью группы кнопок Stock Lenses (Сменные линзы), надписи на которых соответствуют фокусному расстоянию. Щелчок на любой из кнопок меняет значения в нолях обоих счетчиков — Lens (Линза) и FOV (Поле зрения). На рис. 11.59 приведены примеры камер с типовыми значениями названных параметров. Мишени камер разнесены на рисунке только для наглядности — как мы уже говорили, расстояние от камеры до мишени никак не влияет на величину поля зрения.

Рис. 11.59. Набор камер с типовыми значениями фокусных расстояний
5.   Приступим к работе со сценой «МАХ-кафе». Перезапустите или перезагрузите max 7.5 и откройте файл МАХ-кафе10.mах, содержащий теперь полную геометрическую модель сцены и все осветители. На компакт-диске, прилагающемся к книге, нужную сцену можно найти в папке Scenes\Glava_11 под тем же именем МАХ-кафе10.mах. Сохраните сцену с инкрементированием имени файла.
6.   Восстановите видимость всех элементов геометрической модели, оставив скрытыми окно и две системы снежинок. Уменьшите изображение в окне проекции Тор (Вид сверху), чтобы вертикальный размер видимой части сетки составлял примерно 15 м. Прокрутите изображение, переместив проекцию здания кафе в верхнюю часть окна.
7.   Переместите курсор в окно проекции Тор (Вид сверху), щелкните в районе точки с координатами (145; -790; 0) и перетащите курсор в точку (-160; -130; 0), где будет располагаться мишень камеры, как показано на рис. 11.60. Настройте величину поля зрения камеры, щелкнув на кнопке 28 mm в разделе Stock Lenses (Сменные линзы) свитка Parameters (Параметры).



Рис. 11.60. Расположение нацеленной камеры в окне проекции Тор
8.   Перейдите в окно проекции Front (Вид спереди) и переместите значок камеры вверх по экрану до отметки Z - 165 см. Хочется расположить камеру на высоте среднего человеческого роста, чтобы взгляд на сцену был естественным и привычным для глаз зрителей. Мишень камеры приподнимите до отметки Z = 140 см. Теперь, чтобы увидеть изображение, формируемое этой камерой, следует переключить тип проекции в любом из окон на проекцию Camera01 (Камера01). Проделав это, выполните визуализацию изображения в окне камеры. У вас должно получиться нечто похожее на рис. 11.61.

Рис. 11.61. Визуализированное изображение в окне проекции Camera01

СОВЕТ
Чтобы переключить активное окно проекции на показ сцены через окно камеры, просто нажмите клавишу с. Если вы забыли, какие еще есть способы переключать проекции, обратитесь к главе 3.

9.   Создайте вторую камеру в дверях кафе «МАХ». Щелкните в районе точки (ПО; -310; 0) и перетащите курсор в точку (-110; -30; 0), где будет располагаться мишень камеры, как показано на рис. 11.62. Перейдите в окно проекции Front (Вид сверху) или Left (Вид слева) и приподнимите значок камеры до отметки Z - 175 см, а значок мишени — до отметки Z = 40 см. Настройте поле зрения камеры, щелкнув на кнопке 24 mm в разделе Stock Lenses (Сменные линзы) свитка Parameters (Параметры).

Рис. 11.62. Вторая нацеленная камера помещена в дверях кафе «МАХ»
10. Переключите любое из окон проекций на проекцию Camera02 (Камера02) и выполните пробную визуализацию. Должно получиться изображение, похожее на рис. 11.63. Обратите внимание на искажения в виде наклонных вертикальных линий рамы зеркала и крайнего левого кресла. Это неизбежно при использовании такого широкоугольного объектива на малых расстояниях от предметов съемки.

Рис. 11.63. Визуализированное изображение в окне проекции Camera02
11. Усвоив приемы создания камер, включите в состав сцены еще одну, третью, камеру, расположив ее в районе точки (-205; -295; 260), а ее мишень — в районе точки (164; 12; 178). Оставьте для этой камеры исходное значение поля зрения объектива, равное 45°. Переключите любое из окон проекций на проекцию Сатега03 (Камера03) и визуализируйте изображение. Примерный результат показан на рис. 11.64.



Рис. 11.64. Визуализированное изображение в окне проекции Сатега03
12. Наконец, создайте последнюю из запланированных, четвертую камеру. Расположите ее в районе точки (-15; -255; 150), а мишень — в районе точки (-60; -140; 95). Установите для этой камеры фокусное расстояние объектива равным 35 мм, щелкнув на соответствующей кнопке из группы Stock Lenses (Сменные линзы). Так как в данном случае будет визуализироваться крупный план сцены, то лучшие результаты будут получены в случае, если для всенаправленных осветителей у левой стены кафе применить режим трассированных теней. Переключите любое из окон проекций на проекцию Camera04 (Камера04) и визуализируйте изображение. Примерный результат показан на рис. 11.65. Итак, все нужные камеры созданы. В заключение сохраните файл проекта под заданным в пункте 5 именем МАХ-кафе11.max.

Рис. 11.65. Визуализированное изображение в окне проекции Camera04

Регулируем глубину резкости снимка интерьера «МАХ-кафе»


Попробуем применить эффект конечной глубины резкости к изображению сцены нашего основного проекта, с которой мы работали в предыдущем упражнении. Для освоения эффекта выполните следующие действия:

1. Работайте с той же сценой МАХ-кафе11 .max, какая использовалась в предыдущем упражнении. Для простоты и наглядности скройте от просмотра все объекты внутреннего убранства кафе, кроме кресел, зеркала и настенных ламп.

2.   Выделите нужную камеру. Пусть для определенности это будет камера Camera02. Для этого проще и надежнее всего активизировать окно проекции, демонстрирующее изображение сцены через объектив выбранной камеры, щелкнуть на имени окна правой кнопкой мыши и выбрать в меню команду Select Camera (Выделить камеру).

3.   Перейдите на командную панель Modify (Изменить) и установите флажок Enable (Включить) в разделе Multipass Effect (Эффект многолучевости). В раскрывающемся списке этого раздела по умолчанию как раз выбран вариант эффекта Depth of Field (Глубина резкости). Прокрутите область свитков вверх, чтобы стал виден свиток Depth of Field Parameters (Параметры глубины резкости), показанный на рис. 11.66.

Рис. 11.66. Свиток Depth of Field Parameters содержит все необходимые элементы управления эффектом конечной глубины резкости

4.   Установите в разделе Focal Depth (Расстояние фокусировки) флажок Use Target Distance (Использовать расстояние до мишени). В качестве альтернативы можно не устанавливать этот флажок, а указать нужное расстояние в счетчике Focal Depth (Расстояние фокусировки).

5.   Степень расфокусировки изображения определяется величиной, указанной в счетчике Sample Radius (Радиус выборки) раздела Sampling (Выборка). Эта величина задает расстояние, на которое смещается камера относительно исходного положения в ходе многократного построения изображения. Установим в качестве этой величины значение 2. В счетчике Total Passes (Всего лучей) по умолчанию указывается число 12 — именно столько раз программа будет производить сдвиг камеры в разные стороны от исходной точки, формируя многолучевой эффект расфокусировки. Чем больше лучей, тем более сглаженным выглядит эффект, но тем большее время требуется для его реализации. Оставьте в качестве этого, а также всех остальных параметров их исходные, принятые по умолчанию значения.




6.   Чтобы увидеть результат в окне камеры, щелкните на кнопке Preview (Просмотр). Мах 7.5 двенадцать раз построит изображение сцены в окне проекции Camera02 (Камера02), каждый раз с небольшим смещением, заданным нами и счетчике Sample Radius (Радиус выборки), а затем отобразит итоговую картину, показанную на рис. 11.67, слева. Если щелкнуть на кнопке Quick Render (Быстрая визуализация) главной панели инструментов, то max 7.5 произведет визуализацию итогового изображения сцены, также повторив ее 12 раз и сформировав картину, показанную на рис. 11.67, справа. Не сохраняйте сцену, завершая работу с ней.

Рис. 11.67. Эффект конечной глубины резкости виден как в окне камеры (слева), так и на итоговом визуализированном изображении сцены (справа)

ЗАМЕЧАНИЕ
Если в качестве драйвера дисплея используется Direct3D, то вы можете не увидеть результат смаза изображения в окне проекции.                                

Надеюсь, после этих объяснений вам не составит труда применить эффект конечной глубины резкости в случаях, когда по замыслу вашего проекта имеет смысл сосредоточить внимание зрителя на определенном элементе сцены.

в каждой главе вам будут


Почти в каждой главе вам будут встречаться упражнения, цель которых — подкрепить полученные теоретические познания твердыми практическими навыками. Чтобы сделать эти упражнения более осмысленными, большая часть из них будет связана единым замыслом воплощения в виде трехмерной модели некоторого графического проекта, о котором вы узнаете из первой главы.
Настоятельно рекомендую вам выполнять эти упражнения, если вы действительно хотите научиться пользоваться программой 3ds max 7.5, а не просто познакомиться с ней.
Некоторые из упражнений достаточно сложны, и нужно время, чтобы разобраться в нюансах и правильно воспроизвести описанные действия. Не жалейте этого времени — оно не будет потрачено напрасно. Не забывайте о том, что многочисленные инструменты трехмерной графики и анимации — не более чем карандаши и кисти для художника или стеки для скульптора. Пока вы не овладеете ими на практике в такой мере, чтобы технические трудности перестали мешать воплощению художественных замыслов, ваша работа в трехмерной графике не перейдет из области азов ремесла в область творчества. Так что упорство и еще раз упорство — и желанное мастерство обязательно придет!
Чтобы облегчить работу над упражнениями, трехмерные модели всех объектов, над которыми будет вестись работа, набор материалов, необходимых для визуализации этих моделей, а также примеры анимаций помещены на сопровождающий книгу компакт-диск. Разбирая эти модели и примеры «по косточкам», анализируя их параметры и пытаясь самостоятельно воспроизвести их, можно ускорить путь к освоению азов мастерства.

Утилита reactor


Сервисная программа-утилита reactor (Реактор) расположена на командной панели Utilities (Утилиты). Если по умолчанию кнопка reactor (Реактор) будет отсутствовать на панели Utilities (Утилиты), то следует щелкнуть на кнопке More (Дополнительно) и в появившемся окне дважды щелкнуть на строке reactor (Реактор). На панели Utilities (Утилиты) появятся свитки параметров утилиты reactor (Реактор): Preview & Animation (Просмотр и анимация), World (Реальность), Collisions (Столкновения), Display (Дисплей), Utils (Утилиты) и Properties (Свойства) (рис. 17.2).

Рис. 17.2. Свитки параметров модуля reactor на командной панели Utilities



Увеличение и уменьшение масштаба всего изображения


Диапазон масштабов изображений, которые можно просматривать в окне проекции, огромен. При наибольшем увеличении размер участка сцены, который будет виден в окне, составляет всего лишь около 0,35x0,5 мм, а при наименьшем увеличении — приблизительно 70x100 км, Нетрудно подсчитать, что разница в размерах объектов, которые могут целиком отображаться в окне проекции, составляет 200 миллионов раз! Вполне хватит, чтобы охватить взглядом Маленького принца вместе с его небольшой планетой, как показано на рис. 3.8, даже если эта планета будет размером с Землю (попробуйте сами — сцена, показанная на рисунке, хранится в папке Scenes\Glava_03 компакт-диска, прилагающегося к книге, файл Ris3-08.max).

Рис. 3.8. Изменяя масштаб изображения, в окне проекции можно в подробностях рассмотреть как малыша, шагающего по своей маленькой планете {слева), так и его планету целиком (справа)

ЗАМЕЧАНИЕ

Кстати, хранение в памяти объектов большого и даже очень большого размера не составляет для max 7.5 никакого труда. Например, объем памяти, требуемый для хранения сферы диаметром 1 мм, совершенно не отличается от объема памяти, требуемого для хранения сферы диаметром, скажем, 1 000 000 мм, если и у той и у другой сферы будет одинаковое число вершин, граней и ребер.

Чтобы изменить масштаб изображения в окнах проекций, поступайте следующим образом:

Если нужно изменить масштаб только в отдельном окне, то щелкните на кнопке Zoom (Масштаб) в группе кнопок управления окнами проекций в правой нижней части окна max 7.5. Если же требуется одновременно изменить масштаб изображения во всех окнах ортографических проекций и в окне Perspective (Перспектива), то щелкните на кнопке Zoom All (Масштаб всех окон). Кнопка зафиксируется и подсветится желтым цветом.

СОВЕТ

Для переключения в режим Zoom (Масштаб) достаточно нажать клавиши Alt+z. Для выключения режима изменения масштаба следует щелкнуть правой кнопкой мыши.

Для изменения масштаба в отдельном окне проекции переместите курсор в это окно, и он примет вид значка на кнопке. Для изменения масштаба сразу всех окон курсор можно поместить в любое из окон проекций. Щелкните кнопкой мыши и, удерживая ее, переместите курсор вверх для увеличения масштаба или вниз — для уменьшения. Мах 7.5 поддерживает автоматический перенос курсора, означающий следующее. Выполняя увеличение масштаба окна проекции, вы перетаскиваете курсор вверх. Когда курсор достигает верхнего края экрана, он автоматически переносится к его нижнему краю. Это позволяет продолжать непрерывно перетаскивать курсор вверх для дальнейшего увеличения масштаба.




СОВЕТ

Менять масштаб изображения в окне проекции лучше всего с помощью мыши, имеющей колесико вместо средней кнопки. Поместите курсор в окно проекции, щелкните на колесике и вращайте его к себе для уменьшения масштаба или от себя — для увеличения.

Щелкните в окне проекции правой кнопкой мыши, чтобы выключить режим масштабирования.

ЗАМЕЧАНИЕ

Для изменения масштаба изображения в окне проекции совсем не обязательно, чтобы в этом окне присутствовали какие-то объекты. О смене масштаба пустого окна можно судить по изменениям размеров клеток координатной сетки.


В чем состоит автоматизация анимации и зачем нужны контроллеры


Автоматизация процесса анимации состоит в том, что пользователю требуется задать значения анимируемых параметров только в некоторых кадрах, называемых ключевыми {keyframes). Ключевые кадры могут разделяться десятками промежуточных {in-betweens) кадров. Например, для создания анимации продолжительностью в 300 кадров, изображающей простейшее перемещение объекта, бывает достаточно задать положение объекта всего в двух ключевых кадрах: в начале и в конце анимации. Значения анимируемых параметров в ключевых кадрах называются ключами анимации {animation keys). Значения этих параметров в промежуточных кадрах max 7.5 рассчитывает автоматически. В каждом кадре ключи анимации могут быть заданы для произвольного числа объектов сцены, а каждый из объектов может иметь ключи анимации для любых своих параметров.

Можно обойтись и без ключевых кадров, если указать программе max 7.5 алгоритм изменения анимируемого параметра. Способ управления изменением параметров (посредством настройки формы графика изменений, путем задания траектории изменений, за счет описания изменений алгоритмическим выражением и т. п.), а также характер этих изменений (равномерно в интервале между ключевыми кадрами, с ускорением в начале или в конце интервала и т. п.) определяется выбором контроллера анимации {animation controller). Max 7.5 поддерживает большое количество (более 25) разнообразных контроллеров анимации. Для каждого параметра и преобразования max 7.5, которые допускают анимацию, определен тип контроллера анимации, назначаемый им по умолчанию. Учиться заменять контроллеры и настраивать некоторые из них мы будем в следующей главе.



Варианты раскраски объектов трехмерного мира


Для определения яркости и цвета каждой точки поверхностей объектов в трехмерной графике используются различные алгоритмы тонированной раскраски (shading) сетчатых оболочек. Программа 3D Studio MAX версии 2.5 поддерживала четыре типа раскраски: постоянная (constant), по Фонгу (Phong), no Блинну (Blinn) и металлическая (metal). В 3ds max 7.5 вариантов раскраски стало гораздо больше, но подробнее об этом вы узнаете из главы 12.

При постоянной раскраске каждая грань оболочки объекта изображается как плоская площадка, яркость которой зависит от ориентации нормали грани по отношению к направлению лучей падающего света и направлению взгляда наблюдателя (рис. 1.17).

Рис. 1.17. Так выглядят трехмерные объекты при использовании алгоритма постоянной раскраски

ЗАМЕЧАНИЕ

В 3ds max 7.5 вместо алгоритма постоянной раскраски применяется режим Faceted (Огранка), который можно включать при использовании любого из имеющихся алгоритмов раскраски.

Поскольку, как указывалось ранее, оболочки трехмерных объектов разбиты на треугольные грани искусственно, необходимо принимать специальные меры, обеспечивающие сглаживание ребер между гранями, принадлежащими к одной и той же группе сглаживания. В различных алгоритмах раскраски сглаживание ребер при выключенном режиме Faceted (Огранка) реализуется по-разному. Например, при раскраске по Фонгу сглаживание достигается за счет того, что ориентация нормали в каждой точке плоской грани считается переменной и рассчитывается как промежуточная между исходными ориентациями нормали данной грани и трех соседних. Такой подход обеспечивает достаточно высокое качество сглаживания ребер, как показано на рис. 1.18. Различия во внешнем виде объектов, связанные с выбором того или иного алгоритма тонированной раскраски, мы рассмотрим в главе 12, когда будем осваивать настройку материалов объектов.

Рис. 1.18. При использовании раскраски по Фонгу происходит сглаживание ребер между гранями сетчатой оболочки



используются два вида проекций:


В 3ds max 7. 5 используются два вида проекций: параллельные (аксонометрические) и центральные (перспективные). При построении аксонометрической проекции трехмерного объекта его отдельные точки сносятся на плоскость проекции параллельным пучком лучей (рис. 1.14, слева), а при построении центральной проекции — пучком лучей, исходящих из одной точки, соответствующей положению глаза наблюдателя (рис. 1.14, справа).



Рис. 1.14. Аксонометрическая проекция строится с помощью параллельных лучей (слева), а центральная — с помощью лучей, исходящих из одной точки (справа)

Плоскость аксонометрической проекции располагается перпендикулярно всей совокупности проекционных лучей, а плоскость центральной проекции — перпендикулярно только одному, центральному лучу, соответствующему линии визирования сцены. При аксонометрической проекции не происходит искажения горизонтальных и вертикальных размеров, но искажаются размеры, характеризующие «глубину» объекта. При центральной проекции оказываются искаженными все размеры объекта. На рис. 1.15 показано, как выглядит куб на экране 3ds max 7.5 при использовании аксонометрической и центральной проекций.



Рис. 1.15. Размеры объекта, параллельные плоскости аксонометрической проекции, передаются без искажений (слева); при центральной проекции искажаются все размеры (справа)

Частным случаем аксонометрических проекций являются проекции ортографи-ческие, при построении которых плоскость проекции выравнивается параллельно одной из координатных плоскостей трехмерного пространства, в котором размещена сцена. К ортографическим проекциям относятся хорошо знакомые вам «вид сверху», «вид слева» и т. п. Примером перспективной проекции может служить любая фотография, сделанная обычным фотоаппаратом.

Перспективная проекция окружающего мира привычна и естественна для наших глаз, так как в жизни мы все предметы видим в перспективе. При такой проекции, чем дальше объект расположен от глаз наблюдателя, тем меньше он кажется по размерам. При параллельной проекции размеры объектов на изображении не зависят от их удаления от глаз наблюдателя. Это непривычно, но очень удобно: можно точно сопоставлять размеры объектов, на каких бы расстояниях они ни находились. Говоря о трехмерных объектах, мы уже упоминали слова «длина», «ширина», «высота». Теперь к ним добавились еще понятия «вид сверху», «вид слева». Что означают эти понятия применительно к виртуальному трехмерному миру, существующему только в памяти компьютера? Это определяется выбором системы координат.


Визуализация с прорисовкой контуров


Помимо оптических эффектов, средства свитка Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) позволяют реализовывать визуализацию с прорисовкой контуров объектов (рис. 15.19).

Рис. 15.19. Визуализация модели с прорисовкой только контуров объектов (слева) и в режиме тонированной раскраски без прорисовки контуров (справа)

С помощью группы элементов управления Contours (Контуры) можно заставить модуль mental ray выполнять визуализацию изображений объектов с обводкой их контуров линиями заданного стиля.

Необходимым условием получения оконтуренных изображений объектов является соответствующая подготовка материалов этих объектов в свитке mental ray Connection (Подключение mental ray) Редактора материалов. Подготовка сводится к помещению одного из доступных шейдеров mental ray, таких как Simple (Простой), Combi (Комбинированный), Width from Color (Толщина по цвету), Width from Light (Толщина по освещению) и т. п., в раздел Countur (Контур) этого свитка. За счет выбора шейдера можно управлять стилем линий контуров.

Чтобы включить визуализацию контуров, установите флажок Enable (Включить) в разделе Contours (Контуры) свитка Camera Effects (Эффекты камеры). С помощью трех кнопок Contour Contrast (Контраст контуров), Contour Store (Хранение контуров) и Contour Output (Вывод контуров) производится выбор шейдеров для поддержки соответствующей функции визуализатора.



Включение и выключение сетки


Сетка координат очень полезна в процессе создания объектов, но иногда мешает рассматривать готовые объекты. Впрочем, это не проблема — изображение сетки в окне проекции можно в любой момент выключить и снова включить. Для выключения сетки достаточно всего лишь вызвать меню окна проекции одним из уже известных вам способов и выбрать команду Show Grid (Показывать сетку). Чтобы вновь включить показ сетки, повторите эти же действия.

СОВЕТ

Еще более простым способом удаления и восстановления линий сетки в активном окне проекции является нажатие клавиши G.

Настройка координатной сетки позволяет использовать режим привязки создаваемых объектов к узлам сетки (точкам пересечения линий) в целях повышения точности построения геометрических моделей объектов. О том, как пользоваться привязками, наш следующий разговор.



Включение режима активной раскраски


Для включения режима активной раскраски в окне проекции необходимо выполнить одно из следующих действий:

активизировать нужное окно проекции и выполнить команду меню Rendering > ActiveShade Viewport (Визуализация > Активная раскраска в окне проекции);

щелкнуть на заголовке активного окна проекции правой кнопкой мыши и выбрать в подменю Views (Проекции) меню окна команду ActiveShade (Активная раскраска).

Сразу же вслед за этим окно проекции заливается цветом, установленным в данный момент в качестве фонового, то есть по умолчанию черным, и начинается процесс визуализации, за ходом которого можно следить по сообщениям в строке состояния mах 7.5. Сформированное изображение выводится в окно проекции не построчно, как в случае итоговой визуализации, а сразу целиком. При последующих обновлениях картинки в окне активной раскраски следить за ходом этого процесса также можно по сообщениям в строке состояния, как показано на рис. 15.10. Кроме того, процесс инициализации изображения сопровождается отображением прогресс-индикатора в виде одной строки пикселей красного цвета вдоль верхнего края окна. Ход этапа обновления изображения сопровождается отображением прогресс-индикатора в виде одной строки пикселей зеленого цвета вдоль правого края окна. По завершении визуализации в строке состояния появляется сообщение о затраченном на эту операцию времени в миллисекундах.

Рис. 15.10. Идет обновление изображения сцены, сформированного в режиме активной раскраски в окне проекции, о чем можно судить по сообщению в строке состояния

ЗАМЕЧАНИЕ

Окно проекции, в котором включен режим активной раскраски, не имеет заголовка и его нельзя развернуть во весь экран. В окне проекции, развернутом во весь экран, режим активной раскраски установить нельзя.

Для включения режима активной раскраски в отдельном плавающем окне необходимо выполнить команду меню Rendering > ActiveShade Floater (Визуализация > Плавающее окно Активная раскраска) или щелкнуть на кнопке Quick Render (ActiveShade) (Быстрая визуализация (Активная раскраска)) главной панели инструментов. Эта кнопка расположена на раскрывающейся панели инструмента Quick Render (Production). Отдельное окно ActiveShade (Активная раскраска) имеет панель инструментов, ничем не отличающуюся от панели окна виртуального буфера кадров, с которым мы подробно познакомимся ниже в разделе «Заглядываем в окно визуализированного кадра». Рассмотрим особенности управления режимом активной раскраски в окне проекции или в отдельном окне.

ЗАМЕЧАНИЕ

Размер изображения в отдельном окне ActiveShade (Активная раскраска) определяется установкой соответствующего параметра в окне диалога Render Scene (Визуализация сцены).



Включение в сцену внешних ссылок на объекты


Чтобы включить в текущую сцену ссылки на объекты из имеющихся сцен, выполните следующие действия:

1. Выберите команду главного меню File > XRef Objects (Файл > Ссылки на объекты). Появится окно диалога XRef Objects (Ссылки на объекты), показанное на рис. 3.32.

Рис. 3.32. Окно диалога XRef Objects позволяет включать в текущую сцену ссылки на объекты из готовых файлов трехмерных сцен

2.   Щелкните на кнопке Add (Добавить) и выберите в появившемся окне диалога Open File (Открытие файла) файл сцены, на объекты которой будут установлены внешние ссылки. Щелкните на кнопке Open (Открыть), и появится новое окно диалога - XRef Merge (Присоединение ссылок), подобное окну Select Objects (Выделение объектов), которое мы рассмотрим в главе 4, «Учимся выделять, дублировать и преобразовывать объекты». В списке этого окна диалога перечисляются все объекты выбранной сцены, на которые можно установить ссылки.

3.   Выделите в списке нужные объекты и щелкните на кнопке ОК. Имя выбранной сцены появится в списке XRef Files (Файлы ссылок), а имена объектов — в списке XRef Objects (Ссылки на объекты) окна диалога настройки ссылок, как показано на рис. 3.32. Щелкните па кнопке Close (Закрыть), и объекты, выбранные в качестве ссылок, появятся в составе текущей сцепы.

В случае если имена каких-то из выбранных в качестве ссылок объектов совпадают с именами объектов, уже имеющихся и составе сцепы, появится окно диалога Duplicate Name (Совпадающее имя), показанное ранее на рис. 3.30. Если, далее, какие-то из присоединяемых в качестве ссылок объекты имеют материалы, наименования которых совпадают с именами материалов, уже имеющихся в составе сцены, появится окно диалога Duplicate Material Name (Совпадающее имя материала), показанное ранее на рис. 3.31. В предыдущем разделе, где мы рассматривали порядок присоединения к сцепе готовых объектов, подробно описано, как нужно поступать в таких случаях.



Включение в сцену внешних ссылок на сцены


Для включения в текущую сцену внешних ссылок на уже существующие файлы трехмерных сцен проделайте следующее:

Выберите команду главного меню File > XRef Scenes (Файл > Ссылки на сцены). Появится окно диалога XRef Scenes (Ссылки на сцены), подобное окну, показанному ранее на рис. 3.32, но без списка XRef Objects (Ссылки на объекты) в нижней части.

Щелкните на кнопке Add (Добавить) и выберите в появившемся типовом окне диалога Open File (Открытие файла) файл сцены, на который будет сделана ссылка. Щелкните на кнопке Open (Открыть). Имя выбранной сцепы появится в списке XRef Files (Файлы ссылок) окна диалога XRef Scenes (Ссылки на сцены).

Для завершения процедуры присоединения внешней ссылки щелкните на кнопке Close (Закрыть).



Включение в сцену внешних ссылок на сцены и объекты


В max 7.5 реализована возможность включения в текущую разрабатываемую сцену внешних ссылок (eXtemal References — XRefs) на существующие сцены или отдельные объекты из таких сцен. Сцены, включенные в текущую сцену в качестве внешних ссылок, наблюдаются в окнах проекций, их можно дополнять новыми объектами, но ни один объект сцены-ссылки нельзя не только изменить, но даже выделить. Вот несколько причин, по которым это бывает удобно:

если работа над сложной сценой ведется группой разработчиков, один из команды может создавать фон сцены, а остальные — заниматься анимацией персонажей на этом фоне, присоединив его в качестве внешней ссылки и не опасаясь случайно внести изменения в фоновые объекты;

объекты сцен-ссылок не включаются в текущую сцену, а значит, не увеличивают ее объем. Таким образом, создав один раз удачную сцену, вы можете широко использовать ссылки на нее в других своих проектах;

при изменении сцены-ссылки ее вид в текущей сцене, в которую включена эта ссылка, также обновляется (по умолчанию это происходит автоматически).

Объекты, присоединенные к сцене в качестве внешних ссылок, можно выделять, перемещать, поворачивать, масштабировать и даже применять к ним различные модификаторы. Нельзя только внести изменения в те параметры объектов-ссылок, которые были присвоены им до использования ссылки.



Вникаем в тонкости модуля Cloth


Как вы уже смогли убедиться, существует достаточно много ситуаций, когда при решении той или иной задачи в max 7.5 не обойтись без имитации взаимодействий ткани с другими объектами. Рассмотренные нами выше упражнения являются достаточно простыми примерами подобных взаимодействий. Пользователи, работающие с max 7.5 на более серьезном уровне (к которым, я надеюсь, скоро можно будет причислить и вас, уважаемые читатели), нередко сталкиваются и с более сложными проблемами. И хотя возможности модуля reactor (Реактор) достаточно широки, все же иногда их не хватает. Это относится, например, к решению такого серьезного задания, как анимация одежды трехмерного персонажа. Проблема заключается в том, что одежда должна стать как бы частью персонажа и, с одной стороны, вести себя как настоящая ткань, а с другой — двигаться в соответствии с движениями персонажа. Модуль reactor (Реактор), который, кстати, впервые появился в 3ds max 5, располагает довольно ограниченными по возможности инструментами для воссоздания подобных ситуаций. Именно поэтому в состав последней версии max 7.5 был включен еще один модуль для имитации поведения ткани в трехмерных сценах — Cloth (Ткань). Он представлен двумя модификаторами: Garment Maker (Создатель одежды) для превращения сплайнов в подобие ткани и Cloth (Ткань) для имитации динамики ткани.

«Пошив» одежды для трехмерных персонажей и анимация ее в движении — вот основные задачи этого модуля. Однако он позволяет также решить ряд других, более простых заданий, связанных с имитацией поведения ткани. Поскольку рассмотрение возможностей 3ds max, которые касаются создания персонажной анимации, выходит за рамки этого издания, то и процесс создания одежды для персонажа тут рассматриваться не будет. Вы можете попытаться освоить эту тему самостоятельно, используя справочную систему max 7.5. Команда Cloth Extension Help (Справка по расширению Ткань) находится в окне диалога, появляющемся после выбора команды меню Help > Additional Help (Справка > Дополнительная справка). В рамках этого раздела рассмотрим пример использования модуля Cloth (Ткань) для имитации развевающегося на ветру флага.



Вода


С помощью модуля reactor (Реактор) можно имитировать деформацию поверхности воды и эффект плавучести тел с учетом их удельного веса, включая возникновение реалистичных волн на воде, взаимодействие волн между собой и действие их на плавающие объекты.



Воспроизведение эффектов внешней среды


Мах 7.5 позволяет в ходе визуализации имитировать четыре типа природных явлений, называемых иногда атмосферными эффектами:

однородный туман (Fog) — использование этого эффекта позволяет имитировать обычный однородный туман типа дымки или смога, который постепенно скрывает объекты по мере их удаления от наблюдателя, или создавать слой тумана, располагающегося на заданной высоте над основанием сцены. Пример такого тумана можно было видеть на рис. 1.19 первой главы. Ниже нам предстоит научиться его моделировать;

объемный туман (Volume Fog) — распределение такого тумана не является однородным в пределах трехмерного пространства сцены, что делает его изображение более реалистичным, чем эффект однородной дымки;

объемное освещение (Volume Light) — это пучок световых лучей, которые распространяются как бы в туманной атмосфере, благодаря чему светится вся область пространства, занимаемого лучами, как показано на рис. 15.43. Если вас заинтересовал этот эффект, не упустите шанс освоить его при выполнении приведенного ниже упражнения;

Рис. 15.43. Конус света от источника-прожектора высвечивает туманную атмосферу осеннего вечера

горение {Fire Effect) — может применяться для имитации языков пламени, клубов дыма или вспышек взрывов. Поскольку для воспроизведения данного эффекта не требуется никаких геометрических моделей, то расход оперативной памяти оказывается минимальным, а визуализация происходит намного быстрее, чем, скажем, при использовании систем частиц. С помощью данного эффекта нам предстоит смоделировать огонь в камине, способный придать еще больший уют нашему кафе «МАХ».

Для выбора типов природных явлений, подлежащих имитации в составе текущей сцены, а также управления порядком их визуализации служит свиток Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты).



Возможности редактирования NURBS-кривых и поверхностей на уровнях подобъектов


В mах 7.5 реализовано очень много инструментов для редактирования NURBS-кривых и поверхностей. Так, инструменты для правки NURBS-кривых на уровне объектов сгруппированы в целых шесть свитков: Rendering (Визуализация), General (Общие параметры), Curve Approximation (Аппроксимация кривой), Create Points (Создать точки), Create Curves (Создать кривые) и Create Surfaces (Создать поверхности). При редактировании NURBS-поверхностей на уровне объектов свиток Rendering (Визуализация) не появляется, но зато к перечисленным выше свиткам добавляются еще два: Display Line Parameters (Параметры отображения линий) и Surface Approximation (Аппроксимация поверхности).

При редактировании NURBS-кривых и поверхностей на уровне различных подобъектов на командной панели Modify (Изменить) могут появляться свитки CV, Point (Точка), Soft Selection (Плавное выделение), Point Curve (Точечная кривая), CV Curve ( CV-кривая), Curve Common (Кривая в целом), Surface Common (Поверхность в целом), Material Properties (Свойства материала) и т. д.

Подробному рассмотрению этих инструментов следовало бы посвятить отдельную книгу. Поэтому, как и в случаях ознакомления с возможностями правки других объектов mах 7.5, только перечислим некоторые инструменты редактирования NURBS-кривых и поверхностей на уровнях подобъектов. В главе 10, «Продолжаем постигать секреты NURBS-моделирования», вам будет дана возможность ознакомиться с некоторыми из перечисляемых ниже инструментов на практике в ходе выполнения упражнений по NURBS-моделированию.

В свитке General (Общие параметры), показанном на рис. 8.64, содержатся следующие инструменты:

Рис. 8.64. Свиток General с инструментами редактирования NURBS-поверхностей

Attach (Присоединить) — позволяет присоединить к выделенному NURBS-объекту любой объект сцены, a Attach Multiple (Присоединить несколько) — несколько новых объектов любого типа, которые при этом преобразуются к типу NURBS;

NURBS Creation Toolbox (Инструменты создания NURBS-объектов) — вызывает появление плавающей палитры NURBS, которой вам уже приходилось пользоваться в главе 6. Многие кнопки свитков Create Points (Создать точки), Create Curves (Создать кривые) и Create Surfaces (Создать поверхности) дублируются соответствующими инструментами данной палитры.




В свитке Create Points (Создать точки), показанном на рис. 8.65, вы найдете следующие инструменты:



Рис. 8.65. Свиток Create Points

Point (Точка) — позволяет добавлять к кривой или поверхности новые независимые точки, через которые потом можно построить новые кривые или поверхности;

Curve-Curve (Кривая-кривая) — позволяет создавать зависимые точки в местах пересечения кривых;

Surf-Curve (Кривая-поверхность) — позволяет создавать зависимые точки, являющиеся точками пересечения поверхности и кривой.

В свитке Create Curves (Создать кривые), показанном на рис. 8.66, имеются, в частности, следующие инструменты:



Рис. 8.66. Свиток Create Curves включает инструменты для создания различных NURBS-кривых

CV Curve (CV-кривая) — позволяет создать независимую CV-кривую;

Point Curve (Точечная кривая) — позволяет создать независимую точечную кривую;

Blend (Переходная) — позволяет создать зависимую кривую, соединяющую конец одной выделенной кривой с началом другой;

Offset (Смещенная) — позволяет создать зависимую кривую, представляющую собой линию обводки контура исходной кривой;

Mirror (Зеркальная) — позволяет создать зависимую кривую, представляющую собой зеркальную копию исходной кривой.

В свитке Create Surfaces (Создать поверхности), показанном на рис. 8.67, содержатся среди прочих следующие инструменты:



Рис. 8.67. Свиток Create Surfaces содержит инструменты для построения NURBS-поверхностей

CV/Point Surf (CV/Точечная поверхность) — позволяет создавать независимые CV- и точечные поверхности;

Blend (Переходная) — позволяет создать зависимую поверхность, соединяющую край одной выделенной поверхности с другой;

Offset (Смещенная) — позволяет создать зависимую поверхность, повторяющую форму исходной поверхности и смещенную относительно нее на заданное расстояние;

Mirror (Зеркальная) — позволяет создать зависимую поверхность, представляющую собой зеркальную копию исходной поверхности;

Extrude (Выдавленная) — позволяет создать зависимую поверхность методом выдавливания контура, заданного NURBS-кривой;



Lathe (Тело вращения) — позволяет создать зависимую поверхность методом вращения контура, заданного NURBS-кривой;

U Loft/UV Loft (Тело U-лофтинга/UV-лофтинга) — позволяет создать зависимую поверхность методом интерполяции огибающей множества сечений, заданных кривыми вдоль локальной оси U (этот инструмент вам уже приходилось использовать) или вдоль осей U и V.

В свитке Curve Common (Кривая в целом), показанном на рис. 8.68, имеются следующие инструменты:



Рис. 8.68. Свиток Curve Common содержит инструменты для модификации NURBS-кривых

Delete (Удалить) — удаляет выделенную кривую;

Break (Разбить) — разбивает выделенную кривую в указанной точке на две отдельные кривые;

Detach (Отделить) -- позволяет отделить выделенную кривую, превратив ее в самостоятельный объект;

Join (Прикрепить) — позволяет соединить концевую вершину одной кривой с концевой вершиной другой кривой.

В свитке Surface Common (Поверхность в целом), показанном на рис. 8.69, содержатся следующие инструменты:



Рис. 8.69. Свиток Surface Common содержит инструменты для модификации NURBS-поверхностей

Break Row (Разбить строку), Break Col (Разбить столбец), Break Both (Разбить строку и столбец) — позволяют разбить выделенную поверхность на две части «по строке» (по оси U), «по столбцу» (по оси V) или на четыре части «по строке» и «по столбцу» в указанной точке;

Extend (Растянуть) — позволяет растянуть поверхность за счет изменения ее размеров.

В свитке Material Properties (Свойства материала), показанном на рис. 8.70, вы найдете следующие инструменты:



Рис. 8.70. В свитке Material Properties размещаются инструменты для настройки идентификаторов материала NURBS-поверхностей

Material ID (Идентификатор материала) — позволяет контролировать и изменять идентификаторы материала выделенных частей поверхности для применения многокомпонентных материалов;

Select By ID (Выделить по идентификатору) — обеспечивает выделение участков поверхности с одинаковыми идентификаторами материала;

Gen. Mapping Coords. (Проекционные координаты) — установка этого флажка обеспечивает генерацию проекционных координат для выделенной поверхности.

За подробными сведениями о всех инструментах редактирования NURBS-кривых и поверхностей на уровнях различных подобъектов и о методах работы с ними вам следует обратиться к электронной справочной системе max 7.5.


Возможности редактирования полисеток на уровнях подобъектов


Перечисленные выше инструменты доступны и при работе с полисетками. Однако, как уже говорилось, полисетки по сравнению со стандартными сетками имеют ряд дополнительных инструментов для редактирования подобъектов разного типа.

В частности, на уровне подобъектов-полигонов в свитке Edit Polygons (Правка полигонов), показанном на рис. 8.31, появляются следующие полезные инструменты:

Рис. 8.31. Свиток Edit Polygons с дополнительными инструментами правки полигонов редактируемых полисеток

Outline (Контур) — позволяет уменьшить или увеличить размер ребер, образующих внешнюю границу группы смежных выделенных полигонов. При этом размер всех полигонов, лежащих внутри этой границы, не меняется, что отличает данную операцию от простого масштабирования группы выделенных смежных полигонов. Эту операцию часто применяют после выдавливания полигонов;

Inset (Врезка) — создает внутри выделенного полигона уменьшенный дубликат цепочки ребер, образующих внешнюю границу полигона. В результате полигон как бы приобретает рамку вдоль краев;

Hinge From Edge (Качка на ребре) — позволяет повернуть выделенный полигон вокруг любого из его ребер, как будто он подвешен к ребру на петлях наподобие двери или створки окна. При этом между остальными ребрами поворачиваемого полигона и остальной неподвижной частью сетки формируются новые грани, чтобы целостность сетки не разрушалась;

Extrude Along Spline (Выдавить вдоль сплайна) — позволяет выдавить выделенный полигон или совокупность выделенных полигонов вдоль траектории, задаваемой сплайном. При этом можно дополнительно обеспечить уменьшение или увеличение масштаба полигона по мере выдавливания (рис. 8.32), а также закрутить выдавленный выступ винтом.

Рис. 8.32. Журнальный столик в стиле барокко, ножки которого выдавлены из полигонов столешницы вдоль двух зеркальных сплайнов, показанных белым цветом (слева), вполне мог бы вписаться в интерьер нашего кафе «МАХ» (справа)

Свиток Subdivision Surface (Разбиение поверхности), как уже указывалось, содержит инструменты сглаживания угловатой конструкции полисетки, получающейся после редактирования на уровне подобъектов. Для сглаживания полисетки нужно установить флажок Use NURMS Subdivision (Разбиение типа NURMS) и задать число итераций разбиения в счетчике Iterations (Итераций). Чем больше число итераций сглаживания, тем более гладкой становится сетка, но тем сложнее для компьютера становится задача прорисовки объекта и его визуализации. Как правило, бывает достаточно указать в этом счетчике число 2.

ЗАМЕЧАНИЕ

Подробнее о сглаживании сеток мы поговорим в главе 9, «Осваиваем секреты моделирования».



Возможности редактирования сеток кусков Безье на уровнях подобъектов


Перечислим некоторые полезные инструменты из свитка Geometry (Геометрия), позволяющие редактировать сетки кусков Безье:

Subdivide (Подразделить) — увеличивает детальность поверхности, состоящей из кусков Безье;

Add Tri (Добавить треугольный) — позволяет добавить треугольный кусок Безье, a Add Quad (Добавить четырехугольный) — добавить четырехугольный кусок к выделенному ребру текущего куска;

Detach (Отделить) — превращает выделенную часть поверхности (один или несколько кусков Безье) в отдельный объект, которому можно назначить свое имя;

Attach (Присоединить) — позволяет присоединить к выделенной сетке кусков Безье любой другой объект mах 7.5, который при этом преобразуется в редактируемую сетку кусков Безье;

Delete (Удалить) — удаляет выделенную часть объекта, составленного из кусков поверхности Безье;

Selected (Выделенные), Target (С указанной) — две кнопки из раздела Weld (Слить), позволяют выполнять слияние вершин двух различных кусков Безье. Перед щелчком на кнопке Selected (Выделенные) требуется выделить пару вершим. После щелчка на кнопке Target (С указанной) требуется щелкнуть на одной вершине, перетащить курсор к другой и отпустить кнопку мыши;

Extrude (Выдавить) — позволяет выдавить выделенные куски Безье, Bevel (Скос) — выдавить и обеспечить скос боковых граней за счет изменения масштаба куска.

За подробными сведениями о всех инструментах редактирования подобъектов сеток кусков Безье и методах работы с ними вам следует обратиться к электронной справочной системе mах 7.5. Некоторые из перечисленных инструментов будут опробованы нами на практике при выполнении упражнений главы 9, «Осваиваем секреты моделирования».



Возможности редактирования сплайнов на уровнях подобъектов


К сожалению, в связи с ограниченным объемом материала нашей книги мы не можем рассмотреть все возможные операции редактирования сплайнов на уровне подобъектов и методы их практического осуществления. За такими подробностями вам придется обратиться к справочной системе max 7.5.

Вместо этого мы вкратце перечислим некоторые инструменты, находящиеся в свитке Geometry (Геометрия), и назовем операции, которые можно выполнять с их помощью при редактировании сплайнов на уровнях подобъектов. При выполнении практических упражнений этой, а также следующей глав вам будет предоставлена возможность испытать в деле некоторые из следующих инструментов:

Create Line (Создать линию) — позволяет создавать новые линии, которые будут добавляться к текущей онлайновой форме;

Break (Разбить) — позволяет разбить любую, кроме концевых, вершину сплайна на две совпадающие, но не соединяющиеся вершины, тем самым разомкнув замкнутый сплайн или разбив разомкнутый сплайн на два новых;

Attach (Присоединить) — позволяет присоединить к выделенной сплайновой форме один из существующих сплайнов, a Attach Multiple (Присоединить несколько) — несколько готовых сплайнов. Такое присоединение необходимо, например, чтобы иметь возможность применить к нескольким сплайнам одну из булевских операций или модификаторы выдавливания либо вращения;

Insert (Вставить) — позволяет вставить вершину в некоторой точке сплайна, переместить ее в новое положение и продолжить добавление новых вершин и сегментов сплайна;

Refine (Уточнить) — позволяет вставить дополнительную вершину в произвольной точке сплайна без изменения его формы. Это часто бывает нужно при создании сплайновых каркасов, о которых пойдет речь в главе 9;

Connect (Соединить) — позволяет соединить две вершины на концах разомкнутого сплайна прямой линией;

Weld (Слить) — позволяет слить две концевые вершины или несколько расположенных близко друг от друга вершин сплайна в одну. Этот инструмент часто используется для удаления излишней сегментации сетки после ее редактирования на уровне подобъектов-вершин;




Outline (Контур) — позволяет построить замкнутый сплайн, представляющий собой линию обводки внешнего контура выделенного сплайна;

Boolean (Булевские операции) — позволяет выполнить над двумя замкнутыми сплайнами, являющимися составными частями одной и той же двумерной формы, одну из трех логических операций: Intersection (Пересечение), Union (Объединение) пли Subtraction (Исключение);

Mirror (Отразить) — позволяет выполнить операцию зеркального отражения выделенного сплайна или его дубликата;

Delete (Удалить) — позволяет удалить одну или несколько выделенных вершин и объединяет сегменты, на стыке которых они располагались, в один сегмент. Эта операция также очень часто используется при создании сплайновых каркасов;

Close (Замкнуть) — позволяет замкнуть выделенный разомкнутый сплайн, состоящий из двух и более сегментов, соединяя его начальную и конечную вершины сегментом в виде прямой линии;

Detach (Отделить) — позволяет отделить сегмент сплайна, превратив его в самостоятельный объект.

Комбинирование методов редактирования сплайнов на уровне различных подобъектов позволяет взять простой сплайн, наподобие стандартного прямоугольника или круга, и преобразовать его практически в любую плоскую форму. Подобный метод рисования часто рекомендуется в руководствах по использованию пакетов векторной графики, подобных программе CorelDRAW.


Возможности редактирования стандартных сеток на уровнях подобъектов


Мы уже упомянули инструмент Cut (Разрезать), применяемый на уровне подобъекта Edge (Ребро) для разрезания существующих и создания новых ребер. Перечислим некоторые другие инструменты свитка Edit Geometry (Правка геометрии) и операции, которые с их помощью можно выполнять над сетками и полисетками на уровнях различных подобъектов. В ходе выполнения упражнений этой и следующей глав нам будет предоставлена возможность использовать на практике некоторые из следующих инструментов:

Create (Создать) — на уровне вершин позволяет создавать изолированные, то есть не принадлежащие никаким граням, вершины на текущей координатной плоскости, а на уровне граней, полигонов и элементов позволяет создавать новые грани, прикрепляемые к имеющимся или вновь создаваемым вершинам;

Delete (Удалить) — удаляет выделенную вершину или группу вершин, выделенное ребро или группу ребер с удалением всех граней, которым они принадлежали. На уровне граней, полигонов или элементов удаляет все выделенные Подобъекты;

Attach (Присоединить) — позволяет присоединить к текущей сетке любой объект сцены, a Attach Multiple (Присоединить несколько) — несколько новых объектов любого тина, которые при этом преобразуются к типу Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка);

Detach (Отделить) — позволяет отделить выделенную вершину или группу вершин вместе с гранями, которым принадлежат эти вершины, превратив набор граней в отдельный объект. На уровне граней, полигонов или элементов отделяет все выделенные Подобъекты, также превращая их в отдельные объекты;

Break (Разбить) — разбивает каждую выделенную вершину на новые совпадающие в пространстве вершины по числу граней, которым принадлежала выделенная вершина, позволяя тем самым свободно перемещать углы граней;

Divide (Разделить) — разбивает выделенное ребро на два отдельных ребра;

Bridge (Мост) — соединяет полигоны, находящиеся на расстоянии друг от друга, выстраивая, таким образом, своеобразный «мостик» между ними;




Extrude (Выдавить) — позволяет выдавить выделенные грани или ребра сетки, a Bevel (Скос) — выдавить и обеспечить скос боковых граней за счет изменения масштаба выдавливаемой грани;

Weld (Слить) — группа инструментов, позволяющих выполнить слияние вершин сетки двумя способами: Selected (Выделенные) — обеспечивает слияние выделенных вершин, удаленных друг от друга на расстояние, меньшее заданного в счетчике справа от кнопки; Target (С выбранной) — позволяет слить две любые вершины;

Tessellate (Разбить) — позволяет разбить выделенные грани на более мелкие части;

Remove Isolated Vertices (Удалить изолированные вершины) -- удаляет все изолированные вершины в составе объекта вне зависимости от текущего выделения;

Create Shape from Edges (Создать форму из ребер) — создает кривую, повторяющую форму совокупности выделенных ребер;

View Align (Выровнять по окну) — позволяет выровнять нормали выделенных вершин или граней перпендикулярно плоскости активного окна проекции;

Make Planar (Привести к плоскости) — превращает поверхность, состоящую из выделенных вершин, граней или ребер, в плоскость;

Collapse (Свернуть) — сворачивает выделенные грани, сливая все их вершины в одну центральную вершину.

Свиток Surface Properties (Свойства поверхности) на уровне работы с гранями или полигонами также содержит ряд полезных инструментов. Например, в группе Normals (Нормали) расположены следующие инструменты:

Flip (Перевернуть) — изменяет направление нормалей выделенных граней на противоположное;

Unify (Выровнять) — заставляет нормали выделенного набора граней указывать в одном и том же направлении, как правило, от центра объекта наружу.

СОВЕТ

Чтобы сделать видимыми нормали граней, отображаемые в виде исходящих из центра граней отрезков голубого цвета, выделите нужные грани и установите флажок Show Normals (Показать нормали) в свитке Selection (Выделение).

В группе Material (Материал) имеются такие инструменты:

Set ID (Установить идентификатор) — задает идентификатор материала для выделенного набора граней, о чем подробнее будет рассказано ниже при выполнении упражнения 10;

Select ID (Выделить по идентификатору) — позволяет выделять наборы граней объекта, имеющие определенный идентификатор материала.

За подробными сведениями о всех инструментах редактирования подобъектов стандартных сеток и методах работы с ними вам следует обратиться к электронной справочной системе max 7.5.


Вспомогательные объекты


С помощью вспомогательных объектов модуля reactor (Реактор) в составе сцены создаются коллекции, позволяющие отнести объекты геометрической модели трехмерной сцены к типу жестких или деформируемых тел (см. раздел «Понятие коллекций модуля reactor»), а также ограничители, предназначенные для ограничения движений и поворотов жестких тел. Прочие вспомогательные объекты служат для имитации сил и решения специфических задач наподобие разрушения тел при столкновении или моделирования автомобиля с крутящимися колесами.

Для доступа к инструментам создания двадцати вспомогательных объектов модуля reactor можно щелкнуть на кнопке Helpers (Вспомогательные объекты) командной панели Create (Создать) и выбрать в появившемся списке строку reactor (Реактор). После этого становится доступным свиток Object Type (Тип объекта) (рис. 17.1). Помимо данного свитка для создания этих объектов можно использовать команды подменю Create Object (Создать объект) меню reactor (Реактор) и кнопки панели инструментов reactor (Реактор).

Рис. 17.1. Свиток Object Type командной панели Create с инструментами для создания вспомогательных объектов модуля reactor

Если заранее выделить объекты геометрической модели сцены, которые должны быть поставлены в соответствие вспомогательному объекту модуля reactor (Реактор), то значок вспомогательного объекта создается автоматически сразу же после выбора нужной команды подменю Create Object (Создать объект) меню reactor (Реактор) или после щелчка на нужной кнопке панели инструментов reactor (Реактор).

Если в составе геометрической модели сцены нет выделенных объектов, то для создания вспомогательного объекта модуля reactor (Реактор) после выбора нужной команды или кнопки требуется просто щелкнуть кнопкой мыши в нужной точке любого из окон проекций.

Значки всех вспомогательных объектов модуля reactor (Реактор) в окнах проекций max 7.5 выглядят как символическое изображение с соответствующей кнопки панели инструментов reactor (Реактор), заключенное в круглую рамку. Такие значки не являются визуализируемыми объектами и не включаются в изображение трехмерной сцены, формируемое в ходе визуализации.