Содержание
1. Автоматизированное рабочего место
1.1 Характеристика основных элементов АРМ
1.2 Системные требования к персональному компьютеру и программному обеспечению
2.2 Состав 3D-модели. Создание 3D-моделей
2.3 Скульптурное моделирование
2.4 Создание 3D-модели: придать простому вид сложного
2.8 3D-анимация: как это делается
2.9 Скелетная анимация, прямая и инверсная кинематика
2.10 Частицы в 3D-графике: Particle Systems
3. Понятие трехмерной графики и программы 3D-моделирования
3.1 Понятие трехмерной графики
3.2 Обзор существующих программ 3D-моделирования
3.3 Применение и преимущества трёхмерного моделирования
4. Создание клипа (3D-анимации) с помощью программы iClone
5. Общие требования по технике безопасности
Список использованной литературы
Введение
В современных условиях для реализации функциональных задач в любой предметной области необходимо использование автоматизированных рабочих мест на базе профессиональных персональных компьютеров. Например, в сфере экономики на таких АРМ можно осуществлять планирование, моделирование, оптимизацию процессов, принятие решений в различных информационных системах и для различных сочетаний задач. Для каждой предметной области необходимо предусматривать АРМ, соответствующие их назначению. Хотя принципы создания любых АРМ должны быть общими: системность, гибкость, устойчивость, эффективность.
До недавнего времени основными методами выполнения графических материалов являлись черчение, рисунок, живопись, макетирование и другие виды работ, выполняемых вручную.
Появление высокопроизводительных персональных компьютеров, создание большого количества графических программ различного назначения, в том числе объёмного моделирования
Средства современной компьютерной графики развиваются стремительными темпами. Это связано с быстрым увеличением аппаратных мощностей графической системы персональных компьютеров. С другой стороны это развитие связано с потребностями конечных пользователей.
Графика в виде 3D (трехмерная) выглядит намного реалистичней чем традиционная двухмерная графика, кроме того, она позволяет представить объект в том виде, в котором он может быть в реальности, рассмотреть его со всех сторон.
Все это позволило трехмерной графике найти широкое применение как в индустрии развлечений, например при создании графики для компьютерных игр, в том числе и браузерных, так и в серьезных системах, которые нашли применение в архитектуре, дизайне, проектировании деталей и целых объектов.
Целью данной работы является рассмотрение существующих программ 3D графики: 3D Studio MAX, iClone, Blender, выявление их возможностей, а так же анализ истории разработки программ 3D, направлений их дальнейшего развития и рассмотрение принципов их функционирования; практическое применение программы iClone для создания 3D-анимации.
Объектом работы является программное обеспечение для работы с графикой и анимацией.
1. Автоматизированное рабочего место
Автоматизированное рабочее место (АРМ), или, в зарубежной терминологии, «рабочая станция» (work-station), представляет собой место пользователя-специалиста той или иной профессии, оборудованное средствами, необходимыми для автоматизации выполнения им определенных функций. Такими средствами, как правило, является ПК, дополняемый по мере необходимости другими вспомогательными электронными устройствами, а именно: дисковыми накопителями, печатающими устройствами, оптическими читающими устройствами или считывателями штрихового кода, устройствами графики, средствами сопряжения с другими АРМ и с локальными вычислительными сетями и т.д. Hаибольшее распространение в мире получили АРМ на базе профессиональных ПК с архитектурой IBM PC.
Для каждого объекта управления необходимо предусматривать АРМ, соответствующие их значению. Однако принципы создания любых АРМ должны быть общими: системность, гибкость, устойчивость, эффективность.
Согласно принципу системности, АРМ следует рассматривать как системы, структура которых определяется функциональным назначением.
Принцип гибкости означает приспособленность системы к возможным перестройкам, благодаря модульности построения всех подсистем и стандартизации их элементов.
Принцип устойчивости заключается в том, что система АРМ должна выполнять основные функции независимо от воздействия на нее внутренних и внешних возмущающих факторов. Это значит, что неполадки в отдельных ее частях должны быть легко устраняемы, а работоспособность системы быстро восстанавливаема.
Эффективность АРМ следует рассматривать как интегральный показатель уровня реализации приведенных выше принципов, отнесенного к затратам на создание и эксплуатацию системы.
Функционирование АРМ может дать желаемый эффект при условии правильного распределения функций и нагрузки между человеком и машинными средствами обработки информации, ядром которой является компьютер.
АРМ могут быть индивидуальными, групповыми, коллективными. Применительно к групповым и коллективным АРМ в целях эффективного функционирования системы ЭВМ - специалистам (коллективу) необходимо ужесточить требования к организации работы АРМ и чётко определить функции администрирования в такой системе. Система АРМ, являющаяся человеком - машиной, должна быть открытой, гибкой, приспособленной к постоянному развитию и совершенствованию. В такой системе должны быть обеспечены:
- максимальная приближённость специалистов к машинным средствам обработки информации;
- работа в диалоговом режиме;
- оснащение АРМ в соответствии с требованиями эргономики;
- высокая производительность компьютера;
- максимальная автоматизация рутинных процессов;
- моральная удовлетворенность специалистов условиями труда, стимулирующая их творческую активность, в частности, в дальнейшем развитии системы;
- возможность самообучения специалистов.
Структура АРМ - это совокупность его подсистем и элементов. К обеспечивающим системам в первую очередь следует отнести: техническое, информационное, программное и организационное обеспечение. Кроме того, существует целый ряд подсистем.
Техническое обеспечение представляет собой комплекс технических средств, основой которого служит профессиональный персональный компьютер, предусматривающий работу специалиста без посредников (программистов, операторов и др.). У групповых АРМ таким компьютером могут пользоваться 4 - 6 человек. В комплект профессионального персонального компьютера входят процессор, дисплей, клавиатура, магнитные накопители информации, печатающие устройства и графопостроители.
Организационное обеспечение предусматривает определение и документальное оформление прав и обязанностей пользователей АРМ.
Программное обеспечение состоит из системного программного обеспечения и прикладного. Основой системного обеспечения является операционная система и системы программирования.
1.1 Характеристика основных элементов АРМ
Рассмотрим основные составляющие элементы АРМ. Основным устройством ПЭВМ является микропроцессор, который обеспечивает выполнение различных операций, содержащихся в программе. В настоящее время наибольшее распространение получили 32- разрядные микропроцессоры, но уже очевидно, что скоро на смену им придут 64-разрядные микропроцессоры. Разрядность означает длину рабочего слова в двоичном коде. Микропроцессоры также различаются по тактовой частоте, с которой они работают. Чем больше тактовая частота и разрядность, тем выше производительность процессора. Выполнение нескольких десятков миллионов операций в секунду является обычным делом для ПЭВМ.
Производительность ПЭВМ зависит также и от количества памяти, с которой она работает. Память бывает основная и внешняя.
Основная память состоит из двух компонентов: постоянного запоминающего устройства (ROM или ПЗУ) и оперативного запоминающего устройства (RAM или ОЗУ). В ОЗУ хранится динамическая информация программы и обрабатываемые данные. При выключении питания содержимое ОЗУ теряется. ПЗУ, как правило, гораздо меньше ОЗУ, информация в нем хранится постоянно и ее изменение либо вообще невозможно, либо возможно только при помощи специальных устройств (программаторов ПЗУ). Емкость памяти 64-разрядных ЭВМ как правило 512 Мб и более.
Внешние запоминающие устройства (ВЗУ) также бывают разных типов.
Ленточные накопители служат для хранения информации на магнитной ленте. В настоящее время могут хранить до нескольких сотен гигабайт (1Гб = 1024 Мб) информации. Несмотря на то, что эти устройства появились довольно давно они до сих пор широко распространены, главным образом из-за большого объема вмещаемых данных, и используются в основном для резервного копирования и длительного хранения информации. Дисковые накопители в настоящее время наиболее широко распространены. Их можно разделить на несколько групп: а) Накопители на гибких дисках (флоппи дисках). Несмотря на сравнительно низкую емкость дискет (от 1 до 3Мб) в настоящее время очень широко распространены главным образом из-за низкой стоимости. б) Накопители на жестких дисках (винчестеры). Распространены также широко, как и накопители на гибких дисках, но имеют гораздо большую скорость передачи данных, большую емкость и надежность хранения информации. Стоимость винчестеров постоянно падает, а скорость, надежность и емкость (жестким диском объемом 100-120 Гб сейчас уже никого не удивишь) возрастают. Все это делает их незаменимым атрибутом любой современной ПЭВМ. в) Все большее распространение в настоящее время получают накопители на лазерных дисках (CD-ROM). г) Существует также целый ряд других ВЗУ по разным причинам не получивших в настоящее время широкого распространения (магнитооптические диски, диски Бернулли, WORM-диски и др.). Некоторые виды накопителей (перфоленты, перфокарты, магнитные барабаны и пр.) сильно устарели и в современных ПЭВМ вообще не используются. Дисплей - основное устройство для отображения информации. Характеризуются размером экрана, максимальным разрешением и пр. Чем больше размер экрана и чем больше разрешение, тем, соответственно больше информации можно на нем разместить. Клавиатура - основное устройство для ввода информации.
Существуют также устройства, облегчающие работу оператора, такие, как мышь, световое перо и пр. Также для ввода информации широко используются сканеры. Большое будущее за устройствами распознавания и синтеза речи, распознавания изображения.
Все устройства ПЭВМ взаимодействуют через системную магистраль. Однако из ВЗУ информация сначала должна быть переписана в ОЗУ и лишь тогда она становиться доступной процессору.
1.2 Системные требования к персональному компьютеру и программному обеспечению
Конфигурация ПК:
Процессор AMD Athlon-64 X2 Socket AM2;
Память DDR2 1024Mb;
Жесткий диск SAMSUNG 400GB SATA-II;
Монитор Acer AL1717, 17" LCD;
Разрешение экрана: 1280 x 1024;
Видеокарта PCI Express 256 Mb GF8600GT 128bit GDDR3;
Тип BIOS: AMI;
Операционная система: Microsoft Windows XP Professional;
Программное обеспечение. Программное обеспечение - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.
Программное обеспечение принято по назначению подразделять на: системное, прикладное и инструментальное.
Системное программное обеспечение – это комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы, такими как: процессор, оперативная память, каналы ввода-вывода, сетевое оборудование. В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.
Прикладная программа или приложение – программа, предназначенная для выполнения определенных пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам компьютера напрямую, а взаимодействуют с оборудованием и прочим, посредством операционной системы.
Инструментальное программное обеспечение – программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ. Обычно этот термин применяется для акцентирования отличия данного класса ПО от прикладного и системного программного обеспечения.
Системные требования к компьютеру для создания 3D-анимации включают в себя следующее. Операционная система: Windows 7 / Windows Vista / Windows XP (с пакетом обновления 2 или более поздней версии). Поддержка 32-битных и 64-разрядной операционной системы.
Минимальные системные требования:
Pentium4 2 ГГц;
1GB RAM;
2 Гб свободного пространства на жестком диске;
Разрешение экрана: 1024 x 768;
Глубина цвета: True Color (32-разрядная версия) ;
Видеокарта: Nvidia GeForce7 серии или выше / ATI X1300 или выше;
Поддержка DirectX 9.0c
Видео память: 512 Мб RAM;
Windows XP SP2 / Vista
Рекомендуемые системные требования;
Двойной ядра процессора или выше;
2GB RAM или выше;
2 Гб свободного пространства на жестком диске или выше;
Разрешение экрана: 1024 x 768 или выше;
Видеокарта: Nvidia GeForce 8 Series или выше / ATI HD 3000 Series и выше;
Видео Память: 512MB RAM или выше;
Windows XP SP2 / Vista
Дополнительные требования:
3-кнопочная мышь;
DirectX 9;
Итернет-соединение, необходимое для онлайн активации;
Особенности:
фото Realistika 3D-модели быстро и легко;
персональная виртуальный вид, характер, масштаб, телом, волосами, предметы, одежду, предметы снабжения и структуры;
анимация захвата движения похожа на реальность танца и естественного человеческого движения;
синхронизация музыки - автоматическая синхронизация движений в ритме музыки;
редактор Движения - творческий потенциал, который не ограничивается только вашей виртуальной возможности при создании модели;
поддержка 2D/3D сцен;
2. 3D–моделирование
3D-моделирование – это создание 3-х мерной модели мира при помощи формы и цвета. 3D-модель – это не изображение, а именно модель мира. Задача художника максимально ярко, объемно и правдоподобно отразить предмет, и не важно – реальный он или вымышленный. Рассмотрим более подробно что такое вершины, грани, полигоны, текстуры и карты нормалей, можно попробовать представить себе, как происходит создание трехмерной модели любого известного нам и неизвестного персонажа для мультфильма, кино, рекламы, компьютерной игры и т.д. в любой студии трехмерной графики.
2.1 3D: три измерения
3D – подразумеваем трехмерная графика. Собственно 3D сокращенное от английского 3 Dimensions, или по-русски – три измерения. Это как в курсе математики в старших классах, есть геометрия, а есть – тригонометрия. Вот геометрия – это фигуры 2D, а тригонометрия – 3D. 3D графика стала следствием развития компьютерной графики вообще. Когда компьютеры научились воспроизводить 2D изображения на достаточно хорошем уровне, дизайнеры захотели из художников превратиться в скульпторов или строителей, но обязательно получить объемное цифровое изображение на компьютере, которое бы можно было рассмотреть со всех сторон. На сегодняшний день 3D называют всю совокупность приемов и инструментов (как программных, так и аппаратных), призванных обеспечить пространственно-временную непрерывность получаемых изображений.
Применяется 3D графика практически во всех отраслях: архитектурной визуализации, кинематографе, телевидении, компьютерных играх, печатной продукции, в науке, медицине и т.д. Где она более заметна и очевидна, где-то мы и не подозреваем, что это компьютерная графика.
Или при просмотре фильма всегда можно отличить, где настоящий человек загримирован под чудовище, а где чудовища целиком и полностью трехмерные. Чаще всего - кинокадр это смешение живой съемки и компьютерной графики.
Рассмотрим, что позволяет 3D-изображению быть трехмерным. Трёхмерное изображение отличается от плоского построением геометрической проекции 3D моделей в сцене на экране компьютера с помощью специальных программ.
При этом в 3D можно создать все, что угодно, любое нечто: это может быть фотореалистичный дом, например, который никто и не отличит, а может быть летающий корабль, который никто никогда не видел. Причем он будет вписан в сцену так, что все поверят. Модели могут быть созданы по образу и подобию конкретного объекта: модель с машины, упаковки любого товара, платья из коллекции, даже человека можно «замоделить» с портретной схожестью. А может быть создано просто дерево, или просто цветок, или просто гора, для этого используются фрактальные генераторы.
Следующий термин, который хочется объяснить: создание 3D. Процесс непростой и состоит из двух основных этапов:
Моделирование – создание модели сцены и объектов в ней.
Рендеринг – построение проекции созданной модели в выбранном ракурсе.
Внутри этих этапов производства 3D есть еще много нюансов, которые послужат темами еще ни одной статьи.
Теперь, когда появилась возможность создавать трехмерные модели, дизайнеры хотят, чтобы эта трехмерность была доступна в полном объеме всем зрителям. Уже созданы 3D кинотеатры, 3D принтеры, 3D мониторы, 3D телевидение. Но над этими разработками еще работать и работать, пока каждый человек в своей картине сможет увидеть 3D изображение в объеме.
2.2 Состав 3D-модели. Создание 3D-моделей
Трёхмерная модель состоит - вершины, грани, полигоны, текстуры, карты нормалей (Рисунок 1). Вообще, если приходится объяснять в подробностях, что из себя представляет трёхмерная модель, неизбежно придётся забираться в геометрические дебри, - без них никак.
Вершина (ед. Vertex, мн. Vertices) - грубо говоря, это абстрактная геометрическая точка с координатами X, Y и Z. Вершиной она называется, впрочем, потому, что является крайней точкой либо замкнутого полигона (плоского многоугольника), либо объёмной фигуры.
Грань (Edge) - отрезок прямой, соединяющий две вершины. Опять же, в трёхмерной графике это не самостоятельное нечто, а лишь ограничитель для полигонов.
Полигон (poly, polygon) - основная функциональная составляющая: плоская многоугольная фигура (обычно трёхмерные редакторы и другие приложения предпочитают оперировать только треугольниками и четырёхугольниками), из множества которых состоит поверхности трёхмерной фигуры.
Любую даже самую сложную фигуру или поверхность можно представить в виде множества простых фигур: такая идеальная фигура, как шар (точнее, сфера), в компьютерной графике в любом случае представляется в виде множества треугольников и четырёхугольников. Чем их будет больше, тем выше степень приближения, то есть, тем более гладкой, тем более сферической будет поверхность. Но опять-таки, это вопрос степени приближения.
Рисунок 1 - Трёхмерная модель
Текстура - изображение, покрывающее поверхность трёхмерной фигуры, используется для придания трёхмерной фигуре материальной достоверности. О текстурах и материалах подробно речь пойдёт в следующей части.
Нормаль и карта нормалей - нормалью называется вектор, перпендикулярный поверхности в каждой данной её точке. Карта нормалей - это определённого рода текстура, цветовая информация которой (то есть, цвет каждого пикселя) считывается как информация о расположении нормали каждой точке того или иного объекта; с помощью карты нормали можно сформировать иллюзию более сложной поверхности, чем она есть на самом деле.
Это нужно для экономии полигонов. Благодаря картам нормалей низкополигональным моделям можно придать вид очень высокополигональных (естественно, с известной долей приближения, но всё-таки). Ранее эта технология не слишком активно применялась по той причине, что карты нормали были крайне сложны в изготовлении - до появления таких пакетов, как MudBoxи ZBrush (и Blender3D), в которых поддерживается технология «скульптурного» моделирования, изготовить правильную карту нормалей было подчас задачей весьма и весьма нетривиальной.
В 2004 году id Software выпустили Doom III, где Normal Mapping использовался повсеместно, и с тех пор эта технология стала уже некоторым образом «общим местом» (Рисунок 2). Особенно в силу того, что «скульптурное» моделирование значительно облегчает жизнь в плане дизайна.
Рисунок 2 – Normal Mapping
2.3 Скульптурное моделирование
Скульптурное моделирование - это имитация ваяния, точнее, лепки из пластилина или глины. Инструментарий, который предоставляют MudBox, ZBrush и Blender, позволяет производить над моделью массу хитроумных манипуляций, в точности так, как если бы она была из глины или какого-то другого подобного материала. В ZBrush даже цвет по умолчанию очень характерный: глинисто-красный (Рисунок 3).
Рисунок 3 – Zbrush
Но это - сотни тысяч, миллионы полигонов. А качественно снятая карта нормалей, как уже сказано выше, позволяет создать иллюзию множества мелких деталей на совсем простой поверхности.
2.4 Создание 3D-модели: придать простому вид сложного
Создадим самое примитивное: кубик (8 вершин, 6 граней, 12 рёбер - базовая структура) (Рисунок 4).
Рисунок 4 - Кубик
Теперь у нас в программе есть режим «лепки». Используем по полной: подвергнем форму кубику ужасным истязаниям (Рисунок 5):
Рисунок 5 - Режим «лепки».
В результате у нас получилось: высокополигональная, детализированная фигура с очень сложной поверхностью, где счёт вершинам и полигонам переваливает за 45 тысяч. А если мы зададим нашему компьютеру задание: «преврати вот эту штуку в плоскую картинку, чтобы мы другу послали ее или напечатали на принтере» – то компьютер будет очень долго думать над этой задачей.
Между тем, с помощью карты нормалей самым простым фигурам можно придавать вид очень сложных. Например, идеально гладкой поверхности придать вид заметной шершавости.
Путём не слишком хитрых (но и не слишком простых) манипуляций получаем пресловутую карту нормалей: в сущности, это не более чем текстура, правда, со своим особым цветовым пространством, где цветовая информация - а именно, комбинация красного (R), зелёного (G) и синего (B) цветов для каждого пикселя – описывает его видимое положение в системе координат X, Y и Z, каждый цвет соответствует одной из осей координат. Вот так выглядит карта нормалей (Рисунок 6):
Рисунок 6 - Карта нормалей
Потому что для её получения потребовалось сделать UV-развёртку, т.е. осуществить развёртку поверхности трёхмерной фигуры на плоскость. Накладываем карту нормалей. (Рисунок 7).
Рисунок 7 - Наложение карты нормалей
Наложение карты нормалей и Voila удалось не полностью, потому что в сложной фигуре были искривлены боковые грани, и существенно. А на простом кубе они остались на месте. Если бы они были скруглены и искажены примерно так же, как у высокополигональной фигуры, карта нормалей смотрелась бы намного более убедительно.
Кроме того: лунки на гранях высокополигональной фигуры слишком глубокие. Карты нормалей хороши для того, чтобы имитировать небольшие шероховатости, а не глубокие рытвины на плоской поверхности. Более того, если поверхность с наложенной картой нормалей оказывается под большим углом к зрителю (как на иллюстрации), обман становится очевиден. Опять-таки: карта нормалей позволяет экономить на полигонах, но лишь до известного предела. Вот так и создается любая 3D модель.
2.5 Трехмерное моделирование
Речь пойдёт о традиционных методах 3D-моделирования, оставляя в стороне пакеты скульптурной трехмерной графики. Наиболее употребительный технический прием – это формирование модели из «примитива», простой геометрической фигуры, плоской или объёмной, которая, путём всевозможных трансформаций приобретает нужные моделлеру очертания.
Иногда 3D модель формируется из нескольких «примитивов», но тут есть свои нюансы: в частности, для текстурирования очень желательно, чтобы у такой модели не было невидимых, «внутренних» граней (или даже их фрагментов), а при стыковке нескольких примитивов подобное – не редкость.
Для борьбы с подобной «напастью» применяются булевы операции (booleans) (Рисунок 8). Если не вдаваться в избыточные подробности, то операция объединения (union) позволяет составить из двух соприкасающихся или пересекающихся объектов один, чья поверхность состоит из суммы поверхностей исходных объектов, за вычетом тех областей, где происходит пересечение.
Что касается деформаций в процессе трехмерного моделирования, то здесь ключевыми можно назвать экструдирование (extrude) отдельных элементов - вершин, рёбер и/или граней. Разделение (subdivide), при котором ребро или грань разбивается на несколько равных частей, и перемещение и вращение отдельных элементов, так что любой кубик можно закрутить в бараний рог, в самом буквальном смысле (Рисунок 9).
Есть и чуть более «экзотические» приёмы, такие, как «разрезание» одной или нескольких граней (или одного или нескольких рёбер) в произвольных местах (Loop Subdivide, Knife Subdivide и т.д., названия могут меняться от пакета к пакету).
Рисунок 8 - Булевы операции
Рисунок 9 – Деформации
Задачу 3D-моделлера можно исчерпывающим образом сформулировать, перефразировав древнее изречение: главное – найти в трехмерном примитиве душу и «убрать всё лишнее».
Форму исходной фигуры, т.е. исходного примитива стоит выбирать, исходя из представлений о конечном облике планируемого 3D творения – это, в общем-то, совершенно очевидные вещи.
Но не на одних только примитивах свет клином сошёлся: помимо них есть смысл использовать при моделировании NURBS и/или кривые и поверхности Безье (Besier Curves, Besier Patches).
«Высшим пилотажем», хотя и не то, чтобы слишком сложно осваиваемым, можно назвать 3D-моделирование с помощью кривых (curves) и направляющих (path) (Рисунок 10).
Рисунок 10 - 3D моделирование с помощью кривых (curves) и направляющих (path)
Показательный пример – это формирование с помощью одной или нескольких кривых контура, вдоль которого потом выстраиваются другие геометрические фигуры. Например, шланг или изогнутый ствол дерева удобнее всего моделировать из множества окружностей, «нанизанных» на направляющую кривую.
Использование кривых и сплайнов позволяет добиться особой гладкости 3D модели, минимизируя заметность полигонов.
Очень полезно также при 3D моделировании использование всевозможных средств дубликации: расхожий пример – формирование винтовой лестницы (Рисунок 11). Вручную её собирать – долго и мучительно. Однако процесс вполне можно автоматизировать – разные 3D-пакеты предоставляют разные средства для этого.
Рисунок 11 - Средство дубликации
В любом случае, чем большим количеством инструментов из числа предоставляемых тем или иным пакетом владеет моделлер, тем проще дается 3D моделирование работать и тем больше времени он сэкономит.
2.6 3D-текстуры
Допустим, у нас созрела некоторая модель – и выглядит она пластмассовой: единый ровный цвет, ровная поверхность. Надо ее раскрасить. Для этого существуют т.н. материалы и текстуры.
Материал – это комбинация физических свойств модели: какой её основной цвет, как она поглощает, преломляет, пропускает, рассеивает или отражает свет, какова фактура поверхности и так далее. Эти параметры регулируются с помощью шейдеров – программ, используемых для определения окончательных параметров объекта или изображения (в том числе произвольной сложности описания поглощения и рассеяния света, отражения и преломления, затенения, смещения поверхности, эффектов пост-обработки и наложения текстур) и самих текстур, – растровых изображений, с помощью которых полигональной поверхности можно придать нужную окраску и/или иллюзию рельефа. В некоторых пакетах с помощью текстур можно воздействовать на карты нормалей и другие характеристики поверхности, связанные с поглощением или отражением света.
Текстурирование – не менее значимый процесс в создании трёхмерной графики, чем непосредственно моделирование, а может быть, и более; и в чём-то он даже более сложен в освоении, нежели работа с полигонами (Рисунок 12).
Подобрать правильную «одёжку» и, самое главное, правильно её расположить на поверхности модели – задача трудоёмкая и каверзная, особенно, если поверхность сложная.
Возьмём два примера. Первый – это текстурирование определённого природного ландшафта. Тут очень уместно вспомнить, как выглядят открытые пространства в таких играх, как World of Warcraft или других фэнтезийных массивно-многопользовательских играх.
На рисунке 12 видно: нерегулярная поверхность, ландшафт с возвышениями и впадинами, имитация грунта – песка, травы, воды, в воздухе вон что-то летает... ну, и так далее. Естественно, тут используется множество текстур достаточно высокого разрешения. Но, естественно, не такого высокого, чтобы покрыть весь ландшафт одним растровым изображением (хотя в id Software разработана технология Megatexture, позволяющая поступать как раз таким образом – одной картинкой накрывать весь огромный ландшафт как стол скатертью).
Рисунок 12 - Текстурирование
По традиции изготавливаются изображения – квадратные или прямоугольные, со сторонами, чьи измерения строго кратны 16 (256х256, 512х512, 2048х2048, 2048х512 и так далее). Чем больше изображения, тем более подробными они будут выглядеть в сцене или в игре, тем больше деталей удастся передать. Но габариты изображения – это ещё и размеры графического файла, и объёмы занимаемой оперативной памяти.В движке Quake III существовало ограничение: 4 мегабайта текстур на всю карту. Что очень и очень немного, особенно по нынешним временам.
Текстуры должны стыковаться друг с другом бесшовно, что требует их особой подготовки. Наиболее простой, но небезотказный способ – это деление исходного изображения, например, фотографии, на четыре равных блока и перекрёстное перемещение этих фрагментов друг относительно друга как на вот этой схеме:
[A]-[B]
[C]-[D]
_____
[D]-[C]
[B]-[A]
После чего надо замазывать (например, с помощью штампа в Photoshop) образовавшиеся внутренние швы. А также маскировать повторяющиеся фрагменты: текстуре (Рисунок 13), изображающей, например, траву или песок, стоит выглядеть насколько возможно реалистично, с одной стороны, и однородно – с другой; при наложении на крупную поверхность повторяющейся текстуры, эффект черепицы (tiling) – явного повторения одних и тех же узоров, увы, неизбежен, но его можно хоть как-то спрятать. Если текстура имеет высокое разрешение, то tiling почти незаметен с близкого расстояния, зато более чем заметен издали.
Рисунок 13 - Текстура
И без особого удовольствия увидим многочисленные «квадратики» на земле – повторяющиеся текстуры. При нахождении вблизи поверхности их почти не заметно.
Способов комбинировать несколько текстур существует множество – например, в трёхмерных редакторах можно назначать разные материалы (и, соответственно, разные текстуры) на разные группы вершин на одной и той же поверхности; можно использовать трафареты (stencil) для того, чтобы указывать, где одна текстура будет полностью или частично прозрачной, а где – нет, и где, соответственно, из-под неё будет выглядывать другая.
Второй пример – это некрупная трёхмерная модель, требующая достаточно сложной, но единой текстуры для всей своей поверхности.
И здесь мы упираемся в UV-развёртку
UV-развёртка – это проекция всей поверхности объёмной фигуры на плоскость для последующего расположения на ней растровых изображений (можно вспомнить старые игры типа Quake I или II и процесс изготовления «скинов» для моделей игроков – это как раз рисование текстур по заданной для каждой модели UV-развёртке). Если совсем «на пальцах», то UV-развёртка – это «разрезание» трёхмерной фигуры по заданным швам, так, чтобы она могла лечь на плоскость с минимальными искажениями пропорций.
Это нужно, чтобы избежать масштабных искажений текстуры – чтобы на разных фрагментах модели одно и то же растровое изображение имело одинаковое разрешение. На практике такого добиться удаётся довольно редко, но нужно добиться хотя бы относительного единообразия.
Первое правило: вся поверхность фигуры должна лечь на плоскость «одним слоем», а то на деле бывает иначе – если швы неправильно выставлены.
Правило второе: развёртка должна быть как можно более непрерывной; просто для того, чтобы художнику проще было ориентироваться по ней. Совсем без «островов» дело вряд ли обойдётся, особенно, если фигура сложная, но и с разбросанными так и сяк маленькими фрагментами радости работать нет никакой.
Правило третье: пропорции развёртки должны соблюдаться. Иначе в одном месте фрагмент текстуры будет иметь одно разрешение, а в другом – другое, и выглядеть это будет ужасающе.
После того, как развёртка готова, её можно экспортировать в любой растровый редактор и использовать в качестве шаблона, поверх которого рисуется текстура со всеми возможными деталями (Рисунок 14).
Далее приведём пример работы с относительно простым объектом:
Рисунок 14 - Развертка
Цельный объект без внутренних граней, без заданного материала и текстур (Рисунок 15).
Рисунок 15 - Объект без внутренних граней, без заданного материала и текстур
Оранжевым цветом обозначены швы (seams), по которым модель будет «разрезаться» для расположения её поверхности на плоскости. По сути дела, UV-развёртка (Рисунок 16) – это примерно то же, что и портновская выкройка или плоская заготовка бумажной модели для склеивания.
Рисунок 16 - UV-развёртка
Модель разрезана; вот как будет выглядеть UV-развёртка (серые линии и красные точки). Сразу поверх неё нарисована текстура. Как видно, «солома» размещена так, чтобы совпадать с ориентацией крыши в пространстве. Без искажений, естественно, не обошлось.
Ну и вот, наконец, вот что получается в итоге:
Рисунок 17 - Отрендеренная модель
Отрендеренная модель (Рисунок 17). Текстура соломы на крыше выглядит так себе, даже, несмотря на хитрость – пакет Blender 3D, в котором данная модель собрана, позволяет регулировать с помощью текстур нормали, добавляя ощущение неровной поверхности. С другой стороны, цели показать супермодель с супертекстурами данный материал и не преследовал. Главное тут – принцип, как это всё делается.
2.7 Риггинг 3D-модели
Риггинг (rigging, animation setup, анимационный сетап). В 3D анимации - это процесс подготовки персонажа к анимации, включающий создание и размещение внутри трёхмерной модели рига (от англ. Rig - оснастка), виртуального «скелета» - набора «костей» или «суставов» (bones, joints), установления иерархической зависимости между ними и значений возможных трансформаций для каждой из этих костей (Рисунок 18).
Рисунок 18 - Персонаж с выстроенным ригом
Скелетная анимация, для которой и применяется риггинг (а с ним и скиннинг) удобна прежде всего тем, что позволяет манипулировать большим количеством составных элементов анимируемой фигуры (конечности, глаза, мышцы лица, губы и т.д.) с помощью относительно малого количества управляющих элементов - тех самых костей и их регулируемых характеристик.
Поскольку между ними устанавливается иерархическая зависимость, то смещение в пространстве каждой кости, находящейся в зависимости от другой, будет представлять собой совокупность её собственных трансформаций и трансформаций, которым подвергается «материнская» кость. Другими словами, за смещением кости бедра должно следовать смещение костей всей ноги. Грамотная настройка зависимостей позволяет аниматорам значительно экономить усилия, указывая, например, траектории смещения только для небольшого количества отдельных костей, которые потянут за собой другие, находящиеся в иерархическом подчинении.
Собственно, структура сочленений виртуального скелета даже внешне очень похожа на сочленения скелета у позвоночных. От сложности этой структуры напрямую зависит, насколько она будет гибкой, и насколько реалистичной получится анимация. С другой стороны, чем больше костей в структуре рига, тем сложнее будет с ним работать. 3D модель с несколькими добавленными «костями» (Рисунок 19). Всё остальное ещё предстоит сделать.
Рисунок 19 - 3D модель с несколькими добавленными «костями»
С риггингом напрямую связан процесс скиннинга (от англ. skin - кожа; интересно, кстати, что в отрыве от контекста 3D графики слово skinning переводится как «свежевание»), - назначения связей между участками поверхности уже самой анимируемой фигуры и костями рига. Иными словами, необходимо, чтобы кость, соответствующая крайней фаланге пальца, влияла только на нужную группу вершин на поверхности анимированную 3D фигуры, и чтобы не получилось, чтобы изменение положения этой фаланги приводило с загибанию всей руки персонажа в рогалик. Хотя, конечно, если именно это вам и нужно...
У этого процесса немало своих нюансов. Например, необходимо точное определение, какая группа вершин (vertices) подвергается воздействию трансформаций отдельных костей, чтобы не зацепить ненароком другие; на какие группы вершин подвергаются воздействиям более чем одной кости и так далее.
Оптимальным вариантом для анимации фигуры «двуногого без перьев» является скелет, упрощённо повторяющий структуру «обычного» человеческого скелета. На него и следует ориентироваться, создавая «кости»; расположение их сочленений должно совпадать с гнущимися участками фигуры (колени, логти и другие суставы).
Рёбра, естественно, ни к чему, каждый позвонок на позвоночнике - тоже, но спина всё-таки должна сохранять какое-то подобие гибкости, так что костей в ней всё равно будет много.
Больше всего «костей», естественно, придётся задавать для рук - а точнее, пальцев. Здесь структура виртуальных костей должна быть в наибольшей степени похожа на структуру костей в реальных руках, просто для того, чтобы пальцы сгибались там и так, как им полагается. Длина их также должна обладать «реалистичными» пропорциями: если взглянем на человеческую руку, то увидим, что фаланги пальцев имеют неодинаковую длину (Рисунок 20).
Рисунок 20 - Модель кисти руки с выстроенным ригом
Далее для костей (отдельных или целых групп, благо в некоторых редакторах предусматриваются специальные управляющие элементы, которые позволяют регулировать характеристики целых групп костей) необходимо задать значения трансформации, в том числе возможных углов поворота и вращения (например, чтобы пальцы не гнулись куда им не положено).
При анимации антропоморфных фигур очень полезно иметь хотя бы примерные познания в анатомии и иметь под рукой фотографии натуральных скелетов, чтобы понимать, в частности, как располагаются кости внутри конечностей и корпуса, так, чтобы позвоночник, например, не оказался ближе к животу, чем к спине; куда могут гнуться конечности, а куда нет, чтобы не происходило каких-нибудь совсем уж противоестественных деформаций.
В свою очередь, если речь идёт о риге для анимации какой-то техники, то нужно представлять себе, как двигаются её составные части, и опять-таки, что с ними может происходить, и чего не может.
Естественно, обзор этот на детальность не претендует: риггинг - это, в сущности, целая отдельная профессиональная область, такая же как текстурирование, например. По риггингу пишутся целые книги и проводятся многодневные обучающие курсы, ибо слишком много тут тонкостей и деталей.
2.8 3D-анимация: как это делается
Определение традиционной рисованной анимации – «технические приёмы получения движущихся изображений, иллюзий движения и/или изменения формы разнообразных объектов живой и не живой природы» – к 3D анимации подходит весьма относительно. Правильнее сказать, что 3D анимация – это автоматизация перемещения и трансформаций 3D модели в пространстве с течением времени.
В основном применяются три способа анимации 3D объектов. Первый и простейший - это перемещение и вращение целого объекта, без изменения его формы. Второй - это динамические деформации (бьющееся сердце - идеальный пример). Третий, самый сложный, и применяемый обыкновенно для анимации персонажей, - это скелетная анимация.
В свою очередь, чаще всего в 3D анимации используются три метода: анимация по ключевым кадрам, анимация по кривым движения, и анимация по траекториям (Path).
Анимация по ключевым кадрам в 3D по своему принципу очень похожа на работу традиционных аниматоров, когда главный художник рисует ключевые позы персонажа, а его подчинённые художники-позировщики заполняют промежуточные кадры, отрисовывая надлежащие трансформации фигуры. Разница в том, что роль позировщика выполняет уже компьютер (а точнее, соответствующие алгоритмы в программе-редакторе). Аниматору достаточно зафиксировать несколько ключевых положений фигуры, интерполяция осуществится автоматически.
Соответственно, процесс выглядит следующим образом: выбираем первый ключевой кадр (А), фиксируем в нём изначальное положение объекта; затем выбираем следующий ключевой кадр (Б), трансформируем объект (перемещаем, вращаем, изменяем размеры), фиксируем. Программа далее рассчитывает промежуточный процесс - траекторию движения и вращения между кадрами А в Б, а также - изменения размеров (но не формы), отображая эти изменения в виде кривых движения (Рисунок 21).
Рисунок 21 - Изменения в виде кривых движения
Кривые движения (Рисунок 22) - это, собственно, представление перемещения или трансформации объекта в виде графиков для каждой из его координат XYZ. Чтобы лучше понять суть этого процесса анимации, придётся вспоминать школьный курс математики. С другой стороны, такие кривые и их редактирование, как правило, чрезвычайно наглядны, и когда понимаешь взаимозависимости, проблем особых уже не возникает.
Рисунок 22 - Кривые движения
Кривые движения (Loc), вращения (Rot) и изменения размеров (Scale), представленные на одном графике. Это всё то, что претерпевает наша фигура. Скриншоты рабочего окна программы Blender 3D.
Кривые очень удобно использовать для точного контроля над каждым параметром; управление ими в современных пакетах реализуется достаточно наглядно, так, чтобы было минимум путаницы. Но без постоянного учёта множества всяких параметров, качественной 3D анимации сделать не получится.
В некоторых пакетах - Blender, например, - функционал ключевых кадров и кривых объединены в одно. В других пакетах помимо кривых отдельно существует ещё и временная таблица, где все изменяемые при анимации параметры представляются как события на временной шкале.
Ну, и наконец, траектории - это, собственно, они и есть: отдельно задаётся путь перемещения объекта (с направлением), определяется его скорость и возможные изменения ориентации объекта в пространстве, каковая регулируется обычно всё теми же вышеупомянутыми кривыми.
Описанные методы и способы как правило используются в комбинациях, особенно, когда речь идёт о более-менее сложной анимации.
Применяются они и при скелетной анимации, но о ней разговор пойдёт в следующей части.
2.9 Скелетная анимация, прямая и инверсная кинематика
Скелетная анимация – это тот самый случай, когда совсем общую теорию объяснить очень просто, а вот добиться реальных результатов, тем более, результатов серьёзных оказывается очень сложно.
Скелетная анимация – это анимирование 3D-фигуры посредством относительно небольшого количества управляющих элементов, и внешне и по принципу работы, напоминающие скелет – или строение марионетки.
Как он «изготавливается», мы рассматривали в статье «Риггинг». От того, насколько разумно и правильно риггинг был выполнен, зависит и результаты первых попыток анимировать что-либо. Если иерархия костей сделана как надо, то и поведение цепочки, равно как и привязанных к ней вершин, будет «жизнеподобным». Ошибки же могут привести к совершенно нелепым последствиям: ноги могут «уехать» за голову, например.
При умелом использовании скелетная анимация позволяет значительнейшим образом экономить на усилиях – естественно, гораздо проще двигать несколько «костей», нежели тягать с места на место группы вершин и полигонов.
Существуют два основных типа планирования движения «скелета» – это прямая кинематика (Forward Kinematics - FK) и инверсная, или обратная кинематика (Inverse Kinematics – IK). Их также выбирают на этапе риггинга, – впрочем, этот процесс от скелетной анимации вообще неотделим.
Создадим отдельно взятую цепочку «костей» (Рисунок 23) – без добавления мяса пока что. Все операции осуществляются в пакете Blender3D, скриншоты, стало быть, тоже оттуда.
Рисунок 23 - Отдельно взятая цепочка «костей»
Видим четыре кости, где первая - «родительская», все последующие – находятся в последовательной иерархической зависимости от предыдущих.
В случае если использовать прямую кинематику, то при попытке сдвинуть какие-либо звенья (кости) ниже уровнем, чем родительская, приведут к тому, что двигаться будут только нижестоящие.
Повернули кость 2, вместе с ней повернулись (но остались на одной прямой) кости 3 и 4 (Рисунок 24).
Рисунок 24 – Поворот «костей»
Это прямая кинематика: перемещение старших по иерархии костей приводят к тому, что перемещаются и младшие.
При использовании обратной кинематики алгоритм получается ровно противоположный (Рисунок 25):
Рисунок 25 - Использовании обратной кинематики
Задав режим автоматического выбора инверсной кинематики (Blender делает вид, что подбирает оптимальный вариант, и иногда вполне успешно), сдвигаем самую младшую в иерархии кость 4; вся цепочка послушно изогнулась.
Звено цепочки, изменение положения которого приводит к изменению положения других звеньев, называется effector (Рисунок 26) (существует диковинный перевод «влиятель»).
Рисунок 26 – Звено effector («влиятель»)
Подвигали кость 3. Звенья 1-2 поменяли своё положение, а 4 – осталось на одной прямой со звеном 3. Кость 3 теперь является effector'ом, и всё, что находится ниже по иерархии, подчиняется алгоритмам прямой кинематики.
Инверсная кинематика применяется главным образом там, где требуется точное расположение конечного звена в нужной точке (например, чтобы при ходьбе ноги персонажа не «проскальзывали» по поверхности или не утопали в полигонах, изображающих твердь земную).
Самое же важное – это грамотная расстановка ограничителей (constraints) для подвижных элементов на этапе риггинга. Конечности модели персонажа должны вести себя «в разумных антропоморфических пределах», например, чтобы колени не прогибались не в ту сторону или пальцы рук не заворачивались за запястье.
Далее начинается процесс автоматизации движений (Рисунок 27) – тут всё делается так же, как и при обычной анимации. Задаются ключевые кадры для отдельных управляющих элементов, и они тащат за собой все остальные. При этом анимационные пакеты вполне могут регистрировать ключевые положения только для индивидуальных костей, для всех звеньев разом или для отдельных их групп. При этом генерируются кривые движения/вращения/масштаба для каждого элемента, участвующего в анимации. Современные пакеты, разумеется, предоставляют в избытке средства, позволяющие экономить на усилиях – например, «глобализовать» управление сразу множеством элементов, группируя их более-менее удобным способом. На скриншоте ниже представлено всё рабочее окно Blender с активированными Action Editor и Timeline Editor.
Рисунок 27 - Процесс автоматизации движений
Тем не менее, сделать качественную анимацию – чудовищно кропотливый процесс, требующий учитывать огромное количество факторов влияния отдельных элементов друг на друга. Как уже сказано в статье про риггинг, при анимации антропо- или зооморфных персонажей следует иметь в виду анатомические особенности их прообразов в реальном мире и соответствующую взаимосвязь элементов.
2.10 Частицы в 3D-графике: Particle Systems
Системы частиц (Рисунок 28) - ещё один инструмент, который облегчает 3D-художникам жизнь (и сильно осложняет её компьютерам).
Рисунок 28 - Системы частиц
В качестве примера можно привести старые компьютерные игры, относящиеся к ранней эпохе 3D: если кто помнит, факельный огонь в Quake и Hexen II (обе игры построены на одном и том же движке) был реализован в качестве вращающихся светящихся многогранников, по форме «напоминающих» пламя. Сейчас, конечно, так никто не делает; для решения задач такого рода применяются частицы (particles).
Пламя в Quake (точнее, мод Dark Places): слева - в виде многогранников, справа - в виде частиц. Particle System – это технология массовой визуализации подобных объектов, в массе своей формирующих более крупномасштабные тела, не имеющие чётких геометрических границ (облака, дым/пар, взрывы, снег, дождь, огонь) и/или сыпучие тела (песок, зерно, пыль, волосы, трава).
То есть всего того, что визуализировать «стандартными методами» – через моделлинг – слишком сложно и просто нерационально: моделировать каждую травинку или каждый волос – лишняя трата времени и сил.
Математически каждая частица представляет собой материальную точку с назначенными атрибутами, как то: скорость, цвет, ориентация в пространстве, угловая скорость, и т. п. В ходе работы программы, моделирующей частицы, каждая частица изменяет своё состояние по определённому, общему для всех частиц системы, закону (физическому).
Например, частица может подвергаться воздействию гравитации, менять размер, цвет, скорость (в том числе под внешним воздействием) и так далее; после проведения всех расчётов, частица визуализируется. Частица может быть визуализирована точкой, треугольником, спрайтом, или даже полноценной трехмерной моделью.
В целом, системы частиц - это достаточно экономный в плане трудозатрат способ реалистичной визуализации физических явлений. При этом единого стандарта реализации системы частиц в мире на данный момент не существует, и едва ли стоит ожидать её скорого появления, учитывая, что на рынке присутствует немало конкурирующих коммерческих пакетов для работы с частицами, и к тому же многие студии, занимающиеся компьютерной анимацией и спецэффектами для кино, пишут ещё и свои собственные решения. Например, на последнем CG Event представители студии A-VFX, рассказывая о мультфильме «Маша и Медведь», неоднократно подчёркивали наличие у них собственной технологии визуализации волос, с помощью которой в мультфильме были выполнены не только сами волосы/мех, но и трава и пр.
3. Понятие трехмерной графики и программы 3D-моделирования
3.1 Понятие трехмерной графики
Для создания трехмерной графики используются специальные программы, которые называются редакторы трехмерной графики, или 3D-редакторы. Результатом работы в любом редакторе трехмерной графики, является анимационный ролик или статическое изображение, просчитанное программой. Чтобы получить изображение трехмерного объекта, необходимо создать в программе его объемную модель.
Для отображения трехмерной модели используются четырех окнах проекций (Рисунок 29). Во многих редакторах трехмерной графики, что дает наиболее полное представление о геометрии объекта. На чертеже объект представлен сверху, сбоку и слева. Однако в отличие от чертежа на бумаге, вид объекта в каждом окне проекций можно изменять и наблюдать: как выглядит объект снизу, справа и т. д. Кроме этого, можно вращать все виртуальное пространство в окнах проекций вместе с созданными в нем объектами. Работа c 3D анимацией напоминает компьютерную игру, в которой пользователь передвигается между трехмерными объектами, изменяет их форму, поворачивает, приближает и т. д.
Рисунок 29 - Четырех окнах проекций
Виртуальное пространство, в котором работает пользователь, называется трехмерной сценой. То, что вы видите в окнах проекций – это отображение рабочей сцены. Работа с трехмерной графикой очень похожа на съемку фильма, при этом разработчик выступает в роли режиссера. Ему приходится расставлять декорации сцены (то есть создавать трехмерные модели и выбирать положение для них), устанавливать освещение, управлять движением трехмерных тел, выбирать точку, с которой будет производиться съемка фильма.
Любые трехмерные объекты в программе создаются на основе имеющихся простейших примитивов – куба, сферы, тора и др. Создание трехмерных объектов называется моделированием. Для отображения простых и сложных объектов используют так называемую полигональную сетку, которая состоит из мельчайших элементов – полигонов. Чем сложнее геометрическая форма объекта, тем больше в нем полигонов и тем больше времени требуется компьютеру для просчета изображения. Если присмотреться к полигональной сетке, то в местах соприкосновения полигонов можно заметить острые ребра. Поэтому чем больше полигонов содержится в оболочке объекта, тем более сглаженной выглядит геометрия тела. Сетку любого объекта можно редактировать, перемещая, удаляя и добавляя ее грани, ребра и вершины. Такой способ создания трехмерных объектов называется моделированием на уровне подобъектов.
В реальной жизни все предметы, окружающие нас, имеют характерный рисунок поверхности и фактуру – шершавость, прозрачность, зеркальность и др. В окнах проекций видны лишь оболочки объектов без учета всех этих свойств. Поэтому изображение в окне проекции далеко от реалистичного. Для каждого объекта в программе можно создать свой материал – набор параметров, которые характеризуют некоторые физические свойства объекта.
Чтобы получить просчитанное изображение, трехмерную сцену необходимо визуализировать. При этом будут учтены освещенность и физические свойства объектов.
Созданная в окне проекции трехмерная сцена визуализируется либо непосредственно из окна проекции, либо через объектив виртуальной камеры. Виртуальная камера представляет собой вспомогательный объект, обозначающий в сцене точку, из которой можно произвести визуализацию проекта. Визуализируя изображение через объектив виртуальной камеры, можно изменять положение точки съемки. Подобного эффекта невозможно добиться, визуализируя сцену из окна проекции. Кроме этого, виртуальная камера позволяет использовать в сценах специфические эффекты, похожие на те, которые можно получить с помощью настоящей камеры (например, эффект глубины резкости).
Качество полученного в результате визуализации изображения во многом зависит от освещения сцены. Когда происходят съемки настоящего фильма, стараются подобрать наиболее удачное положение осветительных приборов таким образом, чтобы главный объект был равномерно освещен со всех сторон, и при этом освещение съемочной площадки выглядело естественно.
Программы 3D-анимации позволяют устанавливать освещение трехмерной сцены, используя виртуальные источники света – направленные и всенаправленные. Источники света являются такими же вспомогательными объектами, как виртуальные камеры.
Работать с источниками света бывает порой очень сложно, поскольку не всегда удается правильно осветить трехмерную сцену. Например, слишком яркие источники света создают сильные и неправдоподобные блики на трехмерных объектах, а большое количество теней, направленных в разные стороны, выглядят неестественно.
Использование трехмерной графики
Область применения трехмерной графики невероятно широка, она простирается от промышленной индустрии до сферы образования. Как правило, для создания мультимедийных проектов, фильмов, широковещательных передач и игровых приложений требуется гораздо больше аниматоров и разработчиков трехмерных моделей, чем в каких-либо исследовательских лабораториях. Приятно осознавать, что возможности данной отрасли настолько многогранны и различны.
3.2 Обзор существующих программ 3D-моделирования
Рассмотрим некоторые из программ 3D-моделирования. Программа 3D Studio Max предназначена для работы с объемной графикой (Рисунок 30). Наверное самый известный и популярный из всех 3D-редакторов. Позволяет делать как статичные сцены так и трехмерную анимацию.
Программа крайне многогранна – соответственно, и область ее применения очень широка: от моделирования простых интерьеров и промышленных изделий до визуализации сложнейших анимированных сцен, от создания фотореалистичных ландшафтов до создания рекламного или обучающего ролика. Кроме собственных средств моделирования, 3DS Max имеет интерфейс для подключения plugin модулей от сторонних фирм. И эти модули постоянно появляются на рынке. Так что возможности базовой версии 3DS Max легко расширяются.
Рисунок 30 – Программа 3D Studio Max
Программа iClone предназначена для работы с 3D-анимацией (Рисунок 31). В ней пользователи могут найти уже готовых 3D-персонажей, а также все, что нужно для создания их виртуального жизненного пространства – одежду, реквизит, ландшафты. В iClone есть также большая библиотека движений, которые можно задавать персонажам. Но самая интересная возможность программы – использовать для лиц 3D-героев фотографии реальных людей. Для этого используется запатентованная технология FaceTrix, превращающая фотографию в 3D. Программа хорошо взаимодействует с редакторами 2D-графики, благодаря чему прощается редактирование текстур, а также поддерживает программы 3ds Max или Maya, при помощи которых можно создавать элементы библиотеки для персонажей. Все сцены могут быть визуализированы в реальном времени с учетом рельефа, отражений и прозрачности.
Рисунок 31 - Программа iClone
Blender - редактор трехмерной графики и анимации, компактный, бесплатный и при этом вполне сопоставимый по возможностям с большинством других 3D-редакторов (Рисунок 32). Несмотря на относительно небольшой размер, функций этого пакета вполне достаточно для работы как обычным пользователям, так и профессионалам. Blender включает в себя средства 3D моделирования, анимации, рендеринга, обработки видео, набор опций для создания интерактивных игр, визуальные 3D эффекты и многое другое. Используя эту программу, можно создавать реалистичные 3D картины, с качеством цифровой фотографии. В этой программе появился есть движок для выполнения 3D моделирования и анимации, улучшена работа с естественными текстурами и структурами (кожа человека, волосы), улучшено создание 3D текста, есть инструменты (например, инструмент Rip для создания визуальных разрезов и разрывов).
Рисунок 32 – Программа Blender
3.3 Применение и преимущества трёхмерного моделирования
Трехмерное моделирование (3d-графика) сегодня применяется в очень многих сферах. Конечно, в первую очередь, это строительство. Это может быть модель будущего дома, как частного, так и многоквартирного или же офисного здания, да и вообще любого промышленного объекта. Кроме того, визуализация активно применяется в дизайн-проектах интерьеров.
3D-модели очень популярны в сайтостроительстве. Для создания особенного эффекта некоторые создатели сайтов добавляют в дизайн не просто графические элементы, а трехмерные модели, иногда даже и анимированные. Программы и технологии трехмерного моделирования широко применяются и в производстве, например, в производстве корпусной мебели, и в строительстве, например, для создания фотореалистичного дизайн-проекта будущего помещения (Рисунок 33). Многие конструкторы уже давно перешли от использования линейки и карандаша к современным трехмерным компьютерным программам. Постепенно новые технологии осваивают и другие компании, прежде всего, производственные и торговые.
Рисунок 33 - Дизайн-проекта будущего помещения
Конечно, в основном трехмерные модели используются в демонстрационных целях. Они незаменимы для презентаций, выставок, а также используются в работе с клиентами, когда необходимо наглядно показать, каким будет итоговый результат. Кроме того, методы трехмерного моделирования нужны там, где нужно показать в объеме уже готовые объекты или те объекты, которые существовали когда-то давно. Трехмерное моделирование это не только будущее, но и прошлое и настоящее.
Преимуществ у трехмерного моделирования перед другими способами визуализации довольно много. Трехмерное моделирование дает очень точную модель, максимально приближенную к реальности. Современные программы помогают достичь высокой детализации. При этом значительно увеличивается наглядность проекта. Выразить трехмерный объект в двухмерной плоскости не просто, тогда как 3D-визуализации дает возможность тщательно проработать и что самое главное, просмотреть все детали. Это более естественный способ визуализации.
В трехмерную модель очень легко вносить практически любые изменения. Можно изменять проект, убирать одни детали и добавлять новые. Фантазия практически ни чем не ограничена, и сможете быстро выбрать именно тот вариант, который подойдет вам наилучшим образом.
Однако трехмерное моделирование удобно не только для клиента. Профессиональные программы дают множество преимуществ и изготовителю. Из трехмерной модели легко можно выделить чертеж каких-либо компонентов или конструкции целиком. Несмотря на то, что создание трехмерной модели довольно трудозатратный процесс, работать с ним в дальнейшем гораздо проще и удобнее чем с традиционными чертежами. В результате значительно сокращаются временные затраты на проектирование, снижаются издержки.
Специальные программы дают возможность интеграции с любым другим профессиональным программным обеспечением, например, с приложениями для инженерных расчетов, программами для станков или бухгалтерскими программами. Внедрение подобных решений на производстве дает существенную экономию ресурсов, значительно расширяет возможности предприятия, упрощает работу и повышает ее качество.
4. Создание клипа (3D-анимации) с помощью программы iClone 4.12
Перед тем как начать работу, нужно запустить программу iClone 4.12. Запустив программу увидим виртуальное пространство, в котором работает пользователь. Это виртуальное пространство называется трехмерной сценой. В верхнем левом углу находится Content manager (права менеджера), в нижнем левом углу Scene manager (сцена менеджера), а с правой стороны находятся Modify (Изменения).
После небольшого ознакомления с программой переходим к созданию видео. Заходим на вкладку Stage (Этап) - 3d Scene (3d сцены). В Content manager (права менеджера) видим уже несколько готовых сцен. Выбираем сцену каньон и эта сцена появится в трехмерной сцене. Теперь зайдем в Atmosphere (Атмосфера) и выберем атмосферу «солнечно». Открываем вкладку Light (Свет) и выберем Directional (Направленный). Теперь в Modify (Изменения) настраиваем свет так, чтобы свет падал на ту область, где будет происходить какое-то действие. После того как свет настроили переходим на вкладку Set (Набор) - Water (Воды) и выбираем воду «легкие волны». В изменениях регулируем размер волны и скорость течения волн. Также можно настроить отражение и преломление. Дальше открываем вкладку Sky (Небо) и выбираем небо, которое больше всего подходит к нашему пейзажу. Так же вместо неба можно поставить анимационное видео, для этого надо зайти в Video (Видео) и выбрать то, которое больше всего понравиться, и подойдет к пейзажу, например «диффузные воды». Можно сказать, что половина видео готова.
Теперь переходим к созданию персонажа. Выбираем вкладку Actor (Актер) и в сцене менеджера есть уже несколько готовых персонажей. Выберем персонажа по имени Dylan. В окне изменения производим настройки. Возьмем стиль тела – средняя, отрегулируем пропорции тела и настроим длину пальцев. Если персонаж стоит не на том месте, где должен, то щелкнув по нему правой кнопкой мыши, выберем преобразование – двигаться. И можем перемещать персонажа. После того как мы сделали все настройки персонажу, то переходим на вкладку Hair (Волосы). Здесь можно выбрать любую прическу для своего героя. Выбрав прическу, переходим дальше на вкладки Upper body (Верхняя часть тела), Lower body (Нижняя часть тела), shoes (обувь) и Accessories (Аксессуары). Тут выбираем одежду для героя, обувь и аксессуары. Если мы хотим поставить вместо персонажа свое лицо, то нужно зайти во вкладку Head (Руководитель) и там уже производить настройки по установлению своего лица на лицо персонажа.
Теперь добавим нашему персонажу движения и для этого зайдем во вкладку Animation (Анимацию) - Motion (Движения). Нам на выбор дается много всяких движений: танцы, боевые искусства, ходьба и т.д. Выберем этому персонажу танец НIP-HOP. Вернемся во вкладку Set (Набор) – Music (Музыка), здесь мы можем поставить стандартную музыку, которую нам предлагает компьютер, либо выбрать свою. Выбираем свою музыку, которая подойдет под танец HIP-HOP.
Запускаем видео и смотрим, все ли работает. Если же все в порядке, то идем на вкладку EXPORT – Video. Здесь выбираем формат видео, разрешение, качество, диапазон мощности. После того как все настроили нажимаем кнопку EXPORT и программа переводит анимацию в видео.
Процесс создания клипа и анимации показан в Приложении.
5. Общие требования по технике безопасности
К работе на персональном компьютере допускаются лица, прошедшие обучение безопасным методам труда, вводный инструктаж, первичный инструктаж на рабочем месте.
При эксплуатации персонального компьютера на работника могут оказывать действие следующие опасные и вредные производственные факторы:
- повышенный уровень электромагнитных излучений;
- повышенный уровень статического электричества;
- пониженная ионизация воздуха;
- статические физические перегрузки;
- перенапряжение зрительных анализаторов.
Работник обязан:
- выполнять только ту работу, которая определена его должностной инструкцией.
- содержать в чистоте рабочее место.
- соблюдать режим труда и отдыха в зависимости от продолжительности, вида и категории трудовой деятельности.
- соблюдать меры пожарной безопасности.
Рабочие места с компьютерами должны размещаться таким образом, чтобы расстояние от экрана одного видеомонитора до тыла другого было не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.
Рабочие места с персональными компьютерами по отношению к световым проемам должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева.
Оконные проемы в помещениях, где используются персональные компьютеры, должны быть оборудованы регулируемыми устройствами типа: жалюзи, занавесей, внешних козырьков и др.
Рабочая мебель для пользователей компьютерной техникой должна отвечать следующим требованиям:
- высота рабочей поверхности стола должна регулироваться в пределах 680 - 800 мм; при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм;
- рабочий стол должен иметь пространство для ног высотой не менее 600 мм, глубиной на уровне колен не менее 450 мм и на уровне вытянутых ног не менее 650 мм;
- рабочий стул (кресло) должен быть подъемно - поворотным и регулируемым по высоте и углам наклона сиденья и спинки, а также - расстоянию спинки от переднего края сиденья;
- рабочее место должно быть оборудовано подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20 градусов; поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм;
- рабочее место с персональным компьютером должно быть оснащено легко перемещаемым пюпитром для документов.
Для нормализации аэроионного фактора помещений с компьютерами необходимо использовать устройства автоматического регулирования ионного режима воздушной среды (например, аэроионизатор стабилизирующий «Москва-СА1»).
Женщины со времени установления беременности и в период кормления грудью к выполнению всех видов работ, связанных с использованием компьютеров, не допускаются.
За невыполнение данной Инструкции виновные привлекаются к ответственности согласно правилам внутреннего трудового распорядка или взысканиям, определенным Кодексом законов о труде Российской Федерации.
Требования безопасности перед началом работы
- подготовить рабочее место.
- отрегулировать освещение на рабочем месте, убедиться в отсутствии бликов на экране.
- проверить правильность подключения оборудования к электросети.
- проверить исправность проводов питания и отсутствие оголенных участков проводов.
- убедиться в наличии заземления системного блока, монитора и защитного экрана.
- протереть антистатической салфеткой поверхность экрана монитора и защитного экрана.
- проверить правильность установки стола, стула, подставки для ног, пюпитра, угла наклона экрана, положение клавиатуры, положение «мыши» на специальном коврике, при необходимости произвести регулировку рабочего стола и кресла, а также расположение элементов компьютера в соответствии с требованиями эргономики и в целях исключения неудобных поз и длительных напряжений тела.
Требования безопасности во время работы
Работнику при работе на ПК запрещается:
- прикасаться к задней панели системного блока (процессора) при включенном питании;
- переключать разъемы интерфейсных кабелей периферийных устройств при включенном питании;
- допускать попадание влаги на поверхность системного блока (процессора), монитора, рабочую поверхность клавиатуры, дисководов, принтеров и других устройств;
- производить самостоятельное вскрытие и ремонт оборудования;
- работать на компьютере при снятых кожухах;
- отключать оборудование от электросети и выдергивать электровилку, держась за шнур.
Продолжительность непрерывной работы с компьютером без регламентированного перерыва не должна превышать 2-х часов.
Во время регламентированных перерывов с целью снижения нервно - эмоционального напряжения, утомления зрительного анализатора, устранения влияния гиподинамии и гипокинезии, предотвращения развития познотонического утомления выполнять комплексы упражнений.
Требования безопасности в аварийных ситуациях
- во всех случаях обрыва проводов питания, неисправности заземления и других повреждений, появления гари, немедленно отключить питание и сообщить об аварийной ситуации руководителю.
- не приступать к работе до устранения неисправностей.
- при получении травм или внезапном заболевании немедленно известить своего руководителя, организовать первую доврачебную помощь или вызвать скорую медицинскую помощь.
Требования безопасности по окончании работы
- отключить питание компьютера.
- привести в порядок рабочее место.
- выполнить упражнения для глаз и пальцев рук на расслабление.
Заключение
В ходе проведенного исследования было установлено, что в данный момент на рынке существует достаточно большое количество программ, предоставляющих возможность создания 3D анимации и 3D графики. История развития всех программ схожа в том, что все они начинались с простых пакетов 3D моделирования и уже в процессе совершенствования, от версии к версии наращивали свои функциональные возможности.
Все пакеты 3D графики состоят из определенного набора подсистем, в которые входят среда моделирования, система рендеринга, библиотеки текстур и объектов и дополнительные модули, что позволяет пакетам 3D графики реализовывать полный цикл создания конечной продукции (картинка или видеофайл).
Существует несколько видов программного обеспечения для 3D графики и анимации. Часть программного обеспечения для разработки 3D создается исключительно для решения задач в конкретной области деятельности человека (например ландшафтный дизайн, архитектура), так же существуют системы автоматического проектирования, включающие в себя 3D моделирование как одну из возможностей максимально улучшить качество разработки объектов. В таких системах создание 3D картинки или анимации не является самоцелью.
Помимо этого существуют универсальные пакеты 3D моделирования различного уровня сложности. Эти пакеты предназначены для широкого круга специалистов и в зависимости от подключенных модулей могут выполнять различные функции. Именно с помощью данных пакетов можно создать наиболее реалистичные 3D картинки и сцены.
3D моделирование развивается по следующим основным направлениям: повышение реалистичности изображений, улучшение быстродействия рендеринга, улучшение рассчета освещения, доступность пакетов 3D моделирования для все более широкого круга специалистов.
Таким образом, из всего вышесказанного можно сделать вывод о том, что современные пакеты 3D моделирования обладают очень широкими возможностями в своей области и развиваются достаточно стремительными темпами, зачастую опережая средний уровень роста возможностей программного обеспечения.
Список использованной литературы
Бендер Б. 3D вокруг нас Спб.: Питер 2002.
Бондаренко С., Бондаренко М. Библиотека пользователя по 3ds Max 8. СПб.: Питер, 2006.
Васнецов В. 133 совета по 3Dmax. СПб.: Питер, 2005.
Верстак Владимир “3ds Max 8 Секреты мастерства” Петербург, 2006.
Иванов В. П., Батраков А. С.. Трехмерная компьютерная графика. М.: Радио и связь, 1995.
Приложение
Трехмерная сцена
Создание 3D сцены
Создание атмосферы
Выбираем воду
Создание персонажа
Задаем движения персонажу
Переводим в видео формат
Смотрим результат