Для нашего глаза трехмерные объекты выглядят на экране дисплея «как настоящие», а что они представляют собой с точки зрения компьютера? Что бы ни изображали собой трехмерные объекты, будь то скалистые горы, вода в реке, доисторический ящер, рыцарь в доспехах или трава на лужайке, — все это лишь пустотелые, не имеющие физической толщины оболочки. Эти оболочки становятся видимыми только благодаря тому, что программа 3ds max 7.5 умеет рассчитывать, как от каждой их точки отражаются в направлении глаза наблюдателя воображаемые световые лучи, испускаемые заданными в составе сцены источниками света. Рассмотрим устройство оболочек объектов более подробно.
Итак, мы приступаем к освоению 3ds max 7.5 - одной из лучших и наиболее популярных программ для моделирования трехмерной компьютерной графики или, как ее еще называют, ЗD-графики (от слов «3 Dimensional» — трехмерная). Чем же так привлекательна трехмерная графика, что заставляет множество компаний во всем мире выпускать все новые, более совершенные версии программ для ее моделирования, а множество пользователей — стремиться к их освоению, подобно вам, уважаемый читатель? В первой главе мы постараемся найти ответ на этот вопрос, а также получить те начальные сведения о ЗD-графике, которые послужат более эффективному изучению и практическому усвоению материала последующих глав. Возможно, при этом вам потребуется вспомнить некоторые сведения из школьного курса черчения.
Каждый объект 3ds max 7.5, какую бы сложную форму он ни имел, заключается в габаритный контейнер (bounding box). Габаритный контейнер представляет собой всего-навсего прямоугольный параллелепипед, описанный вокруг объекта, как показано на рис. 1.12. В момент создания объекта стороны его габаритного контейнера ориентируются параллельно координатным плоскостям глобальной системы координат, о которой мы поговорим чуть ниже. При последующих поворотах объекта вместе с ним поворачивается и его габаритный контейнер.
Слово анимация {animation — оживление) имеет в компьютерной графике двоякий смысл. С одной стороны, анимацией часто называют результат «оживления» трехмерной сцены, зафиксированный в виде последовательности кадров. Каждый такой кадр, как мы уже отмечали ранее, представляет собой синтезированное программой изображение определенной стадии меняющегося во времени процесса, например, движения объекта, изменения его формы, прозрачности или цвета. При установке программы 3ds max 7.5 на диске даже создается специальная папка Animations (Анимации), предназначенная для хранения готовых компьютерных мультиков.
С другой стороны, под анимацией подразумевают сам процесс «оживления» трехмерной сцены, в работе над которым программа трехмерной графики способна оказать вам существенную помощь.
Эта помощь состоит в автоматизации синтеза последовательности кадров, представляющих отдельные промежуточные стадии движения того или иного объекта сцены. От пользователя требуется всего лишь установить начальное и конечное положения объекта в пространстве сцены и указать, каким номерам кадров будущей анимации эти положения соответствуют, а все промежуточные положения программа синтезирует автоматически. При синтезе каждого отдельного кадра анимационной последовательности программа выполняет все те же трудоемкие процессы расчета и визуализации изображений с учетом взаимных затенений, изменений освещенности, отражений и переотражений света и т. п., как и при создании отдельного фиксированного изображения. Для примера на рис. 1.13 показаны четыре кадра из последовательности, синтезированной программой 3ds max 7.5 при анимации движения руки кукольного малыша.
Трехмерная графика помогает и там, где выполнение реальной фотосъемки невозможно, затруднительно или требует значительных материальных затрат, а также позволяет синтезировать изображения событий, которые не встречаются в обыденной жизни.
Например, с помощью ЗD-графики можно «заглянуть» внутрь работающего автомобильного двигателя, воссоздать научно-фантастический сюжет из далекого прошлого Земли, вроде прогулки с динозаврами, или из ее туманного будущего, а то и воплотить родившийся в воображении образ неведомых миров, где нам с вами (ну, по крайней мере, мне-то уж точно) дано побывать только мысленно.
Виртуальные объекты не имеют таких физических характеристик, как вес или жесткость, поэтому средствами 3D-графики легко заставить слона «парить» в воздухе, помахивая ушами, или позволить крокодилу «высунуть» голову из экрана телевизора, как в известных образцах рекламы.
Главные аргументы в пользу ЗD-графики появляются тогда, когда речь заходит не о синтезе отдельного фотореалистичного изображения трехмерной сцены, а о создании компьютерной мультипликации.
Те, кто хотя бы немного знаком с технологией создания мультипликационного, или, как его еще называют, анимационного кино, знают, каких трудов стоит заставить персонаж фильма совершить простейшее движение на экране. Каждое элементарное движение разбивается на целый ряд промежуточных стадий, изображаемых в виде отдельных кадров. Затем эти кадры снимаются на кино- или видеопленку и воспроизводятся на экране один за другим, создавая иллюзию движения. При типичной скорости воспроизведения 30 кадров в секунду для мультика продолжительностью всего 10 секунд требуется нарисовать 300 кадров! 3ds max 7.5 позволяет существенно упростить работу над подобными мультипликационными видеофрагментами за счет использования методов анимации трехмерных сцен, введением в которые служит следующий раздел главы.
Областями использования 3D-графики для создания компьютерной мультипликации являются киноиндустрия (вы наверняка видели хотя бы один из таких фильмов, целиком снятых средствами трехмерной компьютерной графики, как «Суперсемейка» («The Incredibles»), «В поисках Немо» («Finding Nemo»), «Роботы» («The Robots»), « Корпорация монстров» («Monster Corporation»), «Шрек» («Shrek») или «Ледниковый период» («Ice Age»)), телевизионная реклама, подготовка видеороликов на научно-популярные или фантастические сюжеты, съемка клипов-прологов к компьютерным играм, разработка анимированных логотипов компаний и т. п.
Вы хотите представить, как будут смотреться на стенах вашей комнаты те или иные обои при дневном свете и вечером, когда включена люстра или стоящий в углу комнаты торшер? А может быть, вы хотите заранее представить, как будет выглядеть ваша квартира или офис после расстановки в них новой мебели? ЗD-графика поможет вам сравнительно быстро и без особых затрат решить такие задачи, относящиеся к области проектирования интерьеров.
ЗD-графика поможет в случаях, когда требуется встроить воображаемую сцену в изображение реального мира. Такая ситуация типична для задач архитектурного проектирования. Одно дело — разглядывать чертеж будущего здания на листе ватмана (это задача для специалистов), и совсем другое дело — видеть зримый трехмерный образ этого здания на фоне реальной застройки с учетом естественного или электрического освещения и теней. В данном случае ЗD-графика устраняет необходимость создания макета и обеспечивает гибкие возможности синтеза изображения сцены для любых погодных условий и под любым углом зрения.
Можно представить и иную ситуацию: не воображаемый объект встраивается в реальный фон, а наоборот, изображение реального объекта встраивается в трехмерную сцену как ее составная часть. Такой способ использования ЗD-графики применяют, например, для создания виртуальных выставочных залов или галерей, по стенам которых развешаны изображения реальных картин. «Бродя» по таким залам, вы можете приблизиться к каждой картине и рассмотреть ее во всех подробностях.
К области автоматизированного проектирования с помощью компьютера (Computer Aided Design — CAD) относятся также применения ЗD-графики в целях синтеза внешнего вида сложных отливок, деталей, изготовляемых методами штамповки, токарных и фрезерных операций, визуального облика проектируемых автомобилей, катеров, самолетов и т. п. Создание трехмерных образов деталей и конструкций — хотя и непростая в целом, но все же менее трудоемкая задача, чем изготовление масштабных или полноразмерных макетов таких объектов.
Разумеется, компьютерные игры — одна из наиболее широких и испытанных областей применения ЗD-графики. Уж если вы потратили массу сил на создание виртуального мира, то почему бы не населить его виртуальными трехмерными персонажами и не заставить их действовать в соответствии с лихим детективным сценарием? По мере совершенствования программных средств моделирования трехмерной графики, роста производительности и увеличения ресурсов памяти компьютеров виртуальные трехмерные миры, в которых действуют персонажи компьютерных игр, становятся все более сложными и похожими на реальную действительность. С точки зрения трехмерной графики игра «Doom» является еще далеко не лучшим, хотя и ярким образцом. Взгляните на игру «Myst». Потрясающее качество проработки используемых в этой игре трехмерных сцен и материалов, впечатляющие эффекты освещения и анимации в совокупности позволили создать невообразимо красивые загадочные миры, выглядящие совершенно реально.
Для того чтобы дальнейшее обучение стало более предметным, нацелим его на создание трехмерной сцены, объединяющей в своем составе объекты различной природы и формы. Это позволит на практических примерах научиться использовать различные инструменты 3ds max 7.5.
Мы уже говорили о том, что 3ds max 7.5 позволяет создать целый воображаемый трехмерный мир. На мир мы не замахиваемся, но попробуем создать маленький мирок. Представьте себе такую картину: промозглый осенний вечер, багровый закат солнца, на улице холодно и туманно, но ярко светятся окна, гостеприимно распахнуты двери и сияет неоновая вывеска кафе «МАХ», как показано на рис. 1.19 (загляните также в папку \lmages\Glava_01 компакт-диска, чтобы увидеть цветные варианты этого и других приведенных ниже изображений).
Выше мы рассмотрели особенности трехмерной графики, которые можно отнести к ее достоинствам по сравнению с обычной двумерной графикой. Но, как известно, не бывает достоинств без недостатков. Недостатками трехмерной графики, которые следует учитывать при выборе средств для разработки ваших будущих графических проектов, можно условно считать:
повышенные требования к аппаратной части компьютера, в частности к объему оперативной памяти, наличию свободного места на жестком диске и быстродействию процессора; необходимость большой подготовительной работы по созданию моделей всех объектов сцены, которые могут попасть в поле зрения камеры, и по присвоению им материалов. Впрочем, эта работа обычно окупается полученным результатом; меньшую, чем при использовании двумерной графики, свободу в формировании изображения. Имеется в виду, что, рисуя картину карандашом на бумаге или средствами двумерной графики на экране компьютера, вы имеете возможность совершенно свободно искажать любые пропорции объектов, нарушать правила перспективы и т. п., если это необходимо для воплощения художественного замысла. В 3ds max 7.5 это также возможно, но требует дополнительных усилий; необходимость контроля за взаимным положением объектов в составе сцены, особенно при выполнении анимации. В связи с тем, что объекты трехмерной графики «бестелесны», легко допустить ошибочное проникновение одного объекта в другой или ошибочное отсутствие нужного контакта между объектами. Это означает, что, например, модель персонажа анимации вместо того, чтобы плотно стоять на «земле», может зависнуть в «воздухе» или провалиться по колено. По этой же причине необходимо принимать специальные меры для деформации объектов при их столкновении или разрушении. Если этого не сделать, то, например, сталкивающиеся модели автомобилей просто проедут друг сквозь друга, а меч одного героя анимации пройдет сквозь тело другого, не причинив ему никакого вреда; необходимость принятия дополнительных мер, обычно применяемых на этапе вторичной обработки синтезированных изображений, чтобы «испортить» картинку, придав ей более правдоподобный вид. Не секрет, что результаты визуализации сцен средствами трехмерной графики выглядят чересчур «прилизанными», идеально правильными, а потому недостаточно жизненными. В связи с этим в состав программ трехмерной графики входит целый ряд фильтров, позволяющих имитировать такие эффекты, как конечная глубина резкости изображений, зернистость воображаемой фотопленки или смаз, вызванный движением объектов в момент съемки.
Рассмотрим несколько типовых областей применения трехмерной графики. Разумеется, приводимый перечень нельзя считать исчерпывающим, и вы можете найти программе 3ds max 7.5 новое применение, которое посчитаете более интересным.
В программе 3ds max 7.5 оболочки всех объектов, независимо от их формы, состоят в конечном счете из треугольных граней (faces), образующих сетку (mesh) с треугольными ячейками, как показано на рис. 1.9.
Что же это такое — компьютерная ЗD-графика, и в чем ее отличия от обычной, двумерной графики? В самых общих словах можно сказать, что двумерная компьютерная графика - это совокупность средств и приемов для рисования изображений с помощью компьютера, в то время как ЗD-графика предназначена для имитации фотографирования или видеосъемки трехмерных образов объектов, которые должны быть предварительно подготовлены в памяти компьютера.
Поясним сказанное на примере. Предположим, вам потребовалось нарисовать деревенский домик. Используя средства двумерной компьютерной графики, вы изображаете видимые контуры элементов домика и окружающего пейзажа наподобие того, как показано на рис. 1.1, слева. Если после этого возникает потребность нарисовать тот же домик с другого ракурса (например, с тыльной стороны), то всю работу приходится повторять заново от начала и до конца: снова рисовать видимые контуры элементов, придумывая детали, наблюдаемые при данном направлении взгляда (рис. 1.1, справа). Полученные эскизы рисунков требуется затем раскрасить в нужные цвета, учитывая воображаемое направление лучей света для правильного воспроизведения теней и бликов.
На этом этапе производится работа, обеспечивающая придание сцене визуального правдоподобия, приближающего качество изображения к реальной фотографии. 3ds max 7.5 предоставляет поистине огромные возможности по созданию новых материалов или выбору готовых из библиотек, распространяемых на компакт-дисках или по сети Интернет. Работая с материалами, можно настраивать такие их свойства, как сила блеска, прозрачность, самосвечение, зеркальность, рельефность и многие другие, о которых вы узнаете, прочтя главу 13. В состав материалов можно включать фотографии реальных объектов окружающего мира, наподобие кирпичной кладки, свежеструганной доски или листвы кустарника живой изгороди. Кроме того, реальные фотографии можно использовать для имитации фона, на котором располагается моделируемая сцена.
Не так уж и плохо для начала! Думаю, теперь вы знаете все или почти все, что необходимо для непосредственного знакомства с 3ds max 7.5, которое ожидает вас в следующей главе.
На этом этапе продумывается состав сцены (домик, живая изгородь, пасущаяся корова и т. п.). Следует предусмотреть все объекты и их детали, которые будут видны с предполагаемых направлений наблюдения. При этом полезно бывает нарисовать один или несколько эскизов будущей сцены, подобных показанным на рис. 1.1.
Если по предусмотренному сценарию взгляд зрителя должен будет проникать и внутрь домика, то следует продумать состав предметов обстановки: мебель (хотя бы стол и стул), светильники (скажем, настольная лампа), предметы быта, посуду и т. п.
На этом этапе с использованием соответствующих средств программы 3ds max 7.5 производится настройка моделей источников освещения создаваемой сцены и расстановка моделей съемочных камер. Правильный подбор источников света позволяет выполнять имитацию фотографирования сцены в любых условиях освещенности, как показано на рис. 1.3. При этом освещенность всех объектов, отбрасываемые ими тени и блики света рассчитываются программой автоматически.
С этими ребрами в 3ds max 7.5 сплошная путаница. Во-первых, как вы уже знаете, в составе сетчатых оболочек имеются два типа ребер. Ребра первого типа разделяют грани, не лежащие в одной плоскости. Они всегда видны в составе сетки и изображаются сплошными линиями. Другие ребра, которые разделяют грани, лежащие в одной плоскости, по умолчанию не видны, а если и отображаются по специальному запросу, то пунктиром. Эти два типа ребер можно было бы охарактеризовать как видимые и невидимые, вкладывая в это определение вполне конкретный смысл, связанный с компланарностью граней. Однако, как выясняется, не все так просто. В 3ds max 7.5 имеются инструменты, позволяющие превратить любое видимое (изображаемое сплошной линией) ребро в невидимое, которое будет отображаться пунктиром только в специальном режиме просмотра невидимых ребер. И наоборот, любое ребро, разделяющее грани, лежащие в одной плоскости, можно сделать видимым постоянно. При этом оно будет отображаться в составе сетки сплошной линией. Такое преобразование, смысл которого не вполне очевиден, становится понятнее, когда узнаешь, что в 3ds max 7.5 есть средство для разрезания ребер, которое по-разному действует на видимые и невидимые ребра сетки.
Итак, видимые ребра — это те, которые изображаются в составе сетки сплошными линиями, а невидимые — те, которые в нормальном режиме не видны, а в специальном режиме отображаются пунктиром.
При использовании средств трехмерной графики синтез изображения той же сцены выполняется по иному алгоритму, включающему в общем случае следующие этапы:
предварительная подготовка; создание геометрической модели сцены; настройка освещения и съемочных камер; подготовка и назначение материалов; визуализация сцены.Из перечисленных этапов только последний посвящен собственно формированию изображения, а все остальные являются подготовительными. Оно и понятно: ведь чтобы выполнить «фотографирование» сцены, ее нужно сначала создать. Это похоже на подготовку макета или строительство декораций, с тем отличием, что и макет, и декорации создаются не в натуре, а только в памяти компьютера.
Следует отметить, что по части освещения программа 3ds max 7.5 коренным образом отличается от своих предшествующих версий. Впервые в ней обеспечена возможность расчета так называемой глобальной освещенности {global illumination), при которой учитывается подсветка объектов сцены не только прямыми лучами света от воображаемых осветителей, но и лучами света, многократно отраженными от других объектов сцены. Это позволяет, к примеру, осветить всю сцену единственным источником, имитирующим свет от затянутого облаками неба, создав атмосферу неяркого пасмурного дня (рис. 1.4).
Модели съемочных камер дают возможность осматривать трехмерную сцену и выполнять ее съемку под любым выбранным углом зрения (рис. 1.5).
Если же вы потрудились смоделировать внутри домика определенную обстановку, скажем, стул, стол со скатертью, на котором стоит лампа и лежит шахматная доска с расставленными фигурами, то съемочные камеры позволят заглянуть внутрь домика и рассмотреть все это в подробностях (рис. 1.6). Гибкость возможностей, предоставляемых программой 3ds max 7.5 в части настройки параметров освещения сцены и ее съемки, не может не вызывать восхищения, в чем вам предстоит убедиться в третьей части книги.
Съемочные камеры, размещенные внутри домика, дают возможность сформировать изображения его интерьера, подобные показанным на рис. 1.8. Цветные копии этих изображений вы можете найти на сопровождающем книгу компакт-диске в папке lmages\Glava_01.
Итак, мы рассмотрели основные этапы работы над трехмерной сценой, позволяющие получить близкое по качеству к фотографическому изображение воображаемого мира, создаваемого в памяти компьютера. Такой воображаемый мир часто называют виртуальным, то есть потенциально возможным. Очевидно, что трудоемкость работ на этапах, предшествующих визуализации изображения виртуальной трехмерной сцены, вряд ли была бы оправдана, если бы речь шла о простом воспроизведении реальной действительности. Не проще ли взять фотоаппарат или видеокамеру и заснять реальный сюжет, подобный рассмотренному выше примеру? Имеются, однако, ситуации, в которых использование ЗD-графики может существенно упростить и удешевить задачу создания нужного изображения и даже оказаться едва ли не единственным средством решения такой задачи.
Каждая грань имеет три вершины (vertices) и три ребра (edges), соединяющих эти вершины. Смежные грани, лежащие в одной плоскости, образуют многоугольник или полигон (polygon). Начиная с четвертой версии в программе 3ds max появился новый тип объектов, в оболочках которых минимальным редактируемым плоским фрагментом является именно полигон, а не треугольная грань. Сетку, образованную из полигонов, называют редактируемой полисеткой (editable poly). В чем состоит удобство использования полисеток по сравнению с традиционными сетками, вам, надеюсь, станет понятно в ходе прочтения последующих глав книги. Несмотря на то что полигон как минимальную ячейку полисетки можно выделить только целиком, он все равно разбивается программой на треугольные грани, недоступные для редактирования.
Ребра между гранями, не лежащими в одной плоскости, изображаются на сетке сплошными линиями, а между гранями, лежащими в одной плоскости, — пунктиром, как показано на рис. 1.10, демонстрирующим увеличенный фрагмент сферической оболочки. На этом рисунке изображен еще один важный элемент грани — ее нормаль (normal), то есть перпендикуляр к поверхности грани. Нормаль позволяет определить, будет данная грань видимой или нет. Видимыми считаются только те грани, нормали которых направлены в сторону наблюдателя. Если нормаль грани перпендикулярна линии взгляда или направлена от наблюдателя, то грань перестает быть видимой. Например, если бы вы заглянули внутрь объекта-сферы (а это легко сделать в 3ds max 7.5 с помощью модели съемочной камеры), то были бы разочарованы, не увидев ничего. Все грани сферы видны только снаружи.
В программе 3ds max 7.5 каждая грань задается координатами своих вершин — как известно, положение любой точки в трехмерном пространстве можно задать тройкой координат: (X, Y, Z). Таким образом, даже для такого простейшего трехмерного объекта, как прямоугольный параллелепипед, программе приходится хранить координаты 8 вершин, то есть 8 троек чисел, с указанием того, какие из этих троек образуют каждую из 12 треугольных граней параллелепипеда. Сложные сцены иногда содержат в своем составе сотни тысяч граней, так что можете представить, какую работу приходится производить компьютеру при визуализации таких сцен!
Зачем же нужно разбивать оболочки на грани? Это делается из соображений единообразия. Точки поверхностей тел простой формы, таких как сфера, цилиндр или конус, можно было задать и не разбивая эти поверхности на грани, но в реальной жизни объекты правильной геометрической формы встречаются редко. Пришлось бы разрабатывать и использовать разные подходы к описанию поверхностей тел простой формы и всех остальных объектов, имеющих произвольную конфигурацию.
Почему используются грани именно треугольной формы? Это просто: через три точки в трехмерном пространстве всегда можно провести плоскость, и притом только одну. Если бы нам приходилось разбивать поверхности объектов на грани вручную, то каждому пользователю 3ds max 7.5 пришлось бы осваивать смежную профессию огранщика алмазов. Само по себе это, может быть, и не плохо, да вот только процесс моделирования мог бы оказаться слишком сложным. К счастью, программа производит такое разбиение самостоятельно.
Объединение граней в группу сглаживания может происходить автоматически с учетом угла между нормалями к этим граням. Любые две соседние грани, угол между нормалями которых не превышает заданного порогового значения, объединяются в одну группу сглаживания и при визуализации на границе между ними не будет видно излома поверхности.
Способ, каким программа производит сглаживание ребер между гранями, относящимися к одной группе сглаживания, зависит от выбора алгоритма тонированной раскраски граней, о чем речь пойдет несколько ниже.
Габаритные контейнеры играют важную роль в программе трехмерной графики и используются ею в целом ряде случаев. Вот лишь некоторые примеры:
использование габаритных контейнеров помогает программе быстро определять, заслоняют ли объекты друг друга при наблюдении сцены с определенного направления; для того чтобы не тратить лишнее время на перерисовку экрана в ходе работы над сценой, часть объектов можно отображать в виде их габаритных контейнеров (как это сделать, вы узнаете в главе 3); когда от программы требуется точно подогнать размер объекта под размер окна, в котором наблюдается этот объект, подгонка делается так, чтобы в окне целиком уместился габаритный контейнер объекта; за геометрический центр объекта сложной формы принимается центр его габаритного контейнера.
Плоскость аксонометрической проекции располагается перпендикулярно всей совокупности проекционных лучей, а плоскость центральной проекции — перпендикулярно только одному, центральному лучу, соответствующему линии визирования сцены. При аксонометрической проекции не происходит искажения горизонтальных и вертикальных размеров, но искажаются размеры, характеризующие «глубину» объекта. При центральной проекции оказываются искаженными все размеры объекта. На рис. 1.15 показано, как выглядит куб на экране 3ds max 7.5 при использовании аксонометрической и центральной проекций.
Частным случаем аксонометрических проекций являются проекции ортографи-ческие, при построении которых плоскость проекции выравнивается параллельно одной из координатных плоскостей трехмерного пространства, в котором размещена сцена. К ортографическим проекциям относятся хорошо знакомые вам «вид сверху», «вид слева» и т. п. Примером перспективной проекции может служить любая фотография, сделанная обычным фотоаппаратом.
Перспективная проекция окружающего мира привычна и естественна для наших глаз, так как в жизни мы все предметы видим в перспективе. При такой проекции, чем дальше объект расположен от глаз наблюдателя, тем меньше он кажется по размерам. При параллельной проекции размеры объектов на изображении не зависят от их удаления от глаз наблюдателя. Это непривычно, но очень удобно: можно точно сопоставлять размеры объектов, на каких бы расстояниях они ни находились. Говоря о трехмерных объектах, мы уже упоминали слова «длина», «ширина», «высота». Теперь к ним добавились еще понятия «вид сверху», «вид слева». Что означают эти понятия применительно к виртуальному трехмерному миру, существующему только в памяти компьютера? Это определяется выбором системы координат.
Если же вам захочется переменить обстановку, нет проблем, все в нашей власти! Пусть будет так: на улице легкий морозец, падает снег, но все так же ярко горит окно, сияет вывеска и распахнута дверь кафе «МАХ» (рис. 1.20). А что там, справа за дверью? Заглянем? Пожалуй, да!
Что ж, внутри не так уж и плохо: мягкие кресла, столы из полированного дерева сервированы и ждут гостей, мягко светятся лампы, сияют столовые приборы, сверкает стекло бокалов, пространство помещения увеличивается за счет висящего на стене зеркала (рис. 1.21). На столы и стены падают причудливые блики света — отчего бы это? И что это неясно виднеется в зеркале, там, в дальнем правом углу зала? Секунду терпения — сейчас все поймете!
Понимаю ваше нетерпение! Самому интересно, что же такое в правой части зала? Но все по порядку, а пока присядем к столу. В ожидании своего заказа полюбуйтесь игрой света на стенках бокалов, причудливым переплетением теней на чистых салфетках, бликами на боках тарелок, металлическим блеском вилок и ложек (рис. 1.22).
Ну а теперь повернем голову и взглянем направо. Елка, украшенная сверкающими игрушками и гирляндой разноцветных лампочек, как живая стоит в углу, почти доставая верхушкой до потолка. Фигурка Деда Мороза с мешком, полным подарков, и волшебным посохом должна принести счастье и удачу всем посетителям нашего кафе. В камине горит огонь, потрескивают поленья (рис. 1.23). Теперь ясно, почему в нашем кафе так тепло и уютно, несмотря на мороз и снег, и откуда взялись эти красноватые блики на стенах, потолке и предметах обстановки.
Но не забывайте, однако, что мир 3ds max 7.5 полностью в вашей власти! Вы в этом мире — маг и волшебник; достаточно вам пожелать — и все оживает. Бокалы, тарелки, вилки и ложки взлетают в воздух и начинают причудливым хороводом кружиться по комнате... (рис. 1.24). Обратите внимание на игру бликов и теней и подумайте о том, легко ли было бы воспроизвести подобную картину средствами обычной двумерной графики.
Если не возражаете, то на протяжении последующих глав мы шаг за шагом попробуем воссоздать представленную сцену. Возможно, что кто-то из вас собирается использовать 3ds max 7.5 для синтеза изображений совсем другого типа. Может быть, это будут автомобили, космические корабли, вымершие доисторические животные или монстры. Надеюсь, вы не будете разочарованы: приемы, которые мы будем рассматривать на протяжении последующих глав, пригодятся, над какой бы сценой вы ни работали.
Попробуйте заглянуть на web-узлы с адресами http://www.3domen.com, http://www.render.ru, http://www.3dcafe.comили http://www.raph.com, и вы найдете там галереи с множеством удивительных, вызывающих истинное восхищение изображений, созданных как профессионалами, так и талантливыми любителями трехмерной графики. Возможно, эти образцы художественного творчества вдохновят вас на создание собственных произведений с использованием того инструментария, который предстоит освоить в процессе изучения книги.
На этом этапе с использованием различных инструментов программы 3ds max 7.5, о которых вы узнаете из глав 4-10, выполняется кропотливая работа — строятся трехмерные геометрические модели объектов сцены. О том, что собой представляют и из чего состоят такие объекты, речь в этой главе пойдет несколько ниже. Пока достаточно понимать, что трехмерными они называются потому, что имеют, как в реальном мире, три измерения — длину, ширину и высоту. После того как модели объектов созданы, их необходимо правильно расположить в трехмерном пространстве. Так, фундамент домика следует установить точно поверх плоскости, изображающей земную твердь, стены — точно на фундаменте, крышу — поверх стен и т. п. Трехмерность объектов позволяет вкладывать их друг в друга на манер матрешек. Например, стол и стул должны быть вложены внутрь домика и выровнены по высоте относительно плоскости пола.
Весь набор инструментов по созданию геометрических моделей объектов называют иногда геометрическим конструктором сцен. Так вот, 3ds max 7.5 обладает одним из самых развитых и удобных геометрических конструкторов из всех программ ЗD-графики. Это позволяет максимально облегчить работу над геометрической моделью сцены и дает возможность воплотить в виде трехмерных моделей практически любые объекты реального или воображаемого мира.
После того как трехмерная геометрическая модель сцены создана, ее можно без труда рассматривать и «фотографировать» с любого требуемого ракурса.
Возможный вид геометрических моделей объектов будущей сцены показан на рис.1.2.
Рассмотрим названные этапы более подробно, используя тот же пример с домиком.
Для определения яркости и цвета каждой точки поверхностей объектов в трехмерной графике используются различные алгоритмы тонированной раскраски (shading) сетчатых оболочек. Программа 3D Studio MAX версии 2.5 поддерживала четыре типа раскраски: постоянная (constant), по Фонгу (Phong), no Блинну (Blinn) и металлическая (metal). В 3ds max 7.5 вариантов раскраски стало гораздо больше, но подробнее об этом вы узнаете из главы 12.
При постоянной раскраске каждая грань оболочки объекта изображается как плоская площадка, яркость которой зависит от ориентации нормали грани по отношению к направлению лучей падающего света и направлению взгляда наблюдателя (рис. 1.17).
После того как материалы подобраны и назначены объектам сцены, выполняется формирование ее изображения. Этот процесс в 3ds max 7.5 называется визуализацией (rendering) и может иногда занимать довольно продолжительное время, зависящее от сложности сцены и быстродействия компьютера. Именно на этапе визуализации программа рассчитывает и наносит на изображение все тени, блики, взаимные отражения объектов и т. п. Для повышения достоверности изображения и создания необходимого эмоционального настроя в ходе визуализации можно выполнить имитацию некоторых природных явлений, таких как дымка, туман или пламя огня. И вот, наконец, готово! На рис. 1.7 показаны примеры визуализации рассматриваемой нами сцены с деревенским домиком на фоне фотографии настоящей лесной опушки. Обратите внимание на тень от коровы, которая падает не только на фундамент и стену домика, но и на траву, запечатленную на фоновой фотографии. Такого эффекта позволяет добиться специальный тип материала, примененный к плоскости основания сцены.