на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Организация автоматизированного рабочего места 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).

Страницы: 1, 2, 3, 4, 5



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.