Подготовка к разработке проекта, сбор сведений
Тема дипломной работы посвящена 3d моделированию, а именно, разработке 3D-модели прибрежной зоны Кармановского водохранилища.
Именно в связи с темой дипломной работы и было выбрано место для прохождения практики: Муниципальное бюджетное учреждение «Управление гражданской защиты городского округа город Нефтекамск Республики Башкортостан». Неравнодушный к судьбе прибрежной зоны Кармановского водохранилища с целью обеспечения безопасного отдыха населению и улучшения инфраструктуры, Ришатом Даутовичем было принято решение по благоустройству этого участка. В задачу входило создание трехмерной модели и создание платформы для дальнейшего проектирования различных объектов и мер по благоустройству данных участков. Данный трехмерный проект предназначен для наглядного представления сложившейся ситуации и запущенности данной территории, для демонстрации предлагаемых улучшений и модернизации объекта, а так же для привлечения вышестоящих учреждений, инвесторов и предпринимателей.
Во время предквалификационной практики, кроме задачи получения профессиональных навыков, одной из основных задач был сбор информации для дипломной работы. Для этого требовалось получить следующие данные:
- требования, предъявляемые к разработке 3D-моделей социально-значимых объектов;
- чертежи (спутниковые снимки, экстерьеры и фасады, узлы и детали и т. п.);
- презентационные материалы (фотореалистические изображения, анимационные фильмы, сцены виртуальной реальности);
- планы коммуникаций, линий электропередач.
Перед тем как приступить к проектированию 3D модели были совершены выезды на объект. Сделаны подробнейшие фото и видеосъемка участка (рисунок 1). Сфотографированы общий вид участка и виды объекта с разных ракурсов. Была произведена фотосъемка мелких элементов — ведь каждая из них является неотъемлемой составляющей будущей картины 3D модели. Видеосъемка носит, так скажем, объединяющий характер – она собирает образ участка, состоящий из множества отдельных фотографий, в единую картину и значительно помогает при создании трехмерной модели объекта.
Рисунок 1 - Фото береговой линии
Были согласованы с предпринимателем, арендующим часть прибрежной зоны Кармановского водохранилища, планируемые постройки и улучшения. Были приняты решения по улучшению инфраструктуры и модернизации участка, возведению новых зданий и объектов, так как ныне стоящие там находятся в аварийном состоянии. С целью увеличения парковки, было решено изменить рельеф местности над берегом.
Следующим шагом в работе был сбор сведений и вычисление масштаба работы. Согласование ее с руководством. Работа была разделена на две части. Построение участка до и после модернизации, благоустройства.
Создание рельефа
На начальном этапе построения трехмерной модели рельефа проектируемого участка, с целью добиться максимальной реалистичности рельефа, использовался набор приложений Google Maps.
Сервис Google Maps представляет собой карту и спутниковые снимки планеты Земля. С сервисом также связано приложение Google Планета Земля - отдельная программа для Microsoft Windows, а также GNU/Linux, Mac OS. Как и Карты Google, программа Google Планета Земля позволяет просматривать снимки земной поверхности, увеличивать и уменьшать масштаб и строить маршруты передвижения. Её достоинством является трёхмерное отображение земной поверхности (с учётом рельефа), возможность наблюдения под произвольным углом (а не только отвесно сверху), постепенное уточнение изображения по мере загрузки более детальных фотоснимков (нет необходимости ждать перед «белыми пятнами», как в Картах Google), возможность плавного изменения масштаба (а не просто выбора из нескольких предопределённых значений).
При помощи сервиса Google Maps был получен подробнейший спутниковый снимок проектируемой местности (рисунок 2).
Рисунок 2 - Спутниковый снимок местности
Далее для редактирования полученного спутникового снимка местности используем приложение Adobe Photoshop.
Adobe Photoshop - многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems. В основном работает с растровыми изображениями, однако имеет некоторые векторные инструменты. Продукт является лидером рынка в области коммерческих средств редактирования растровых изображений, и наиболее известным продуктом фирмы Adobe. В настоящее время Photoshop доступен на платформах Mac OS X/Mac OS и Microsoft Windows. Расширенная версия программы Adobe Photoshop Extended предназначена для более профессионального использования, а именно — при создании фильмов, видео, мультимедийных проектов, трехмерного графического дизайна и веб-дизайна, для работы в областях производства, медицины, архитектуры, при проведении научных исследований.
В программе Adobe Photoshop Extended современных версий (CS4, CS5) можно открывать и работать с 3D-файлами, создаваемыми такими программами, как Adobe Acrobat 3D, 3ds Max, Maya и Google Earth. Photoshop поддерживает следующие форматы файлов 3D: U3D, 3DS, OBJ, KMZ и DAE. Возможно использовать трехмерные файлы для внедрения в двумерное фото. Доступны некоторые операции для обработки 3D-модели как работа с каркасами, выбор материалов из текстурных карт, настройка света. Также можно создавать надписи на 3D-объекте, вращать модели, изменять их размер и положение в пространстве. Программа включает в себя также команды по преобразованию плоских фотографий в трехмерные объекты определенной формы, такие как, например, банка, пирамида, цилиндр, сфера, конус и др.
Отредактированный спутниковый снимок используем как текстуру. Используя модификатор «Edit Poly» натягиваем полученную текстуру на плоскость и получаем спутниковый снимок местности на плоскости (рисунок 3).
Рисунок 3 - Спутниковый снимок на плоскости
Далее, при помощи полигонального моделирования, По снимку (рисунок 3) создем первоначальный вариант рельефа.
На этом этапе работа ведется в основном на спутниковом снимке и в 3D-окне. При необходимости создаются также дополнительные виды (разрезы, фасады). Активно используется способ моделирования - работа с редактируемыми поверхностями.
Программа 3ds Max позволяет работать со следующими типами редактируемых поверхностей:
- Editable Mesh (Редактируемая поверхность);
- Editable Poly (Редактируемая полигональная поверхность);
- Editable Patch (Редактируемая патч-поверхность);
- NURBS Surface (NURBS-поверхность).
Практически любой объект 3ds Max можно преобразовать в один из этих типов поверхностей. Для этого правой кнопкой мыши вызовите контекстное меню, щелкните на пункте Convert To (Преобразовать) и в появившемся подменю выберите один из типов.
Все эти методы построения поверхностей схожи между собой, различаются они настройками моделирования на уровне подобъектов. Переключаясь в различные режимы редактирования подобъектов, можно перемещать, масштабировать, удалять, объединять подобъекты.
В объектах типа Editable Mesh (Редактируемая поверхность) модель состоит из треугольных граней. Для работы с Editable Mesh (Редактируемая поверхность) можно использовать режимы редактирования Vertex (Вершина), Edge (Ребро), Face (Грань), Polygon (Полигон) и Element (Элемент).
В объектах типа Editable Poly (Редактируемая полигональная поверхность) модель состоит из многоугольников. Для работы с такими объектами можно использовать режимы редактирования Vertex (Вершина), Edge (Ребро), Border (Граница), Polygon (Полигон) и Element (Элемент).
В объектах типа Editable Patch (Редактируемая патч-поверхность) модель состоит из лоскутов треугольной или четырехугольной формы, которые создаются сплайнами Безье. Особенность этого типа редактируемой поверхности - гибкость управления формой создаваемого объекта. Для работы с Editable Patch можно использовать режимы редактирования Vertex, Edge, Patch, Element и Handle.
NURBS Surface (NURBS-поверхность) - это поверхность, построенная на NURBS-кривых. Этот метод создания поверхностей основан на неоднородных рациональных В-сплайнах (Non Uniform Rational B-Splines). Чаще всего данный способ используется для моделирования органических объектов, анимации лица персонажей. Этот метод является самым сложным в освоении, но вместе с тем самым гибким.
Объект Editable Mesh (Редактируемая сетка) предназначен для создания основных форм трехмерных моделей. Он не является параметрическим объектом. Практически любой трехмерный объект можно преобразовать в редактируемую сетку. После преобразования его можно использовать для полигонального моделирования.
Настройки режимов редактирования объединены в четыре основных свитка - Selection (Выделение), Soft Selection (Плавное выделение), Edit Geometry (Редактирование геометрических характеристик) и Surface Properties (Свойства поверхности). Эти свитки одинаковы для всех режимов, однако инструменты в них могут отличаться в зависимости от выбранного типа подобъектов.
Свиток Selection содержит настройки выделения подобъектов. С помощью этого свитка можно быстро переключаться между режимами редактирования подобъектов.
При установке флажка Ignore Backfacing (Игнорировать невидимые участки) производится выделение только тех областей объектов, которые обращены к зрителю.
Редактируя поверхность, часто бывает удобно скрыть те или иные элементы оболочки. Поскольку стандартная команда Hide Selection (Скрыть выделение) в данном случае не позволяет этого сделать, эту операцию можно выполнить, используя кнопку Hide (Скрыть). Для отображения всех скрытых объектов сцены необходимо нажать кнопку Unhide All (Отобразить все).
Свиток Soft Selection (Плавное выделение) позволяет использовать функцию плавного выделения. Эта возможность часто применяется в процессе моделирования трехмерных объектов. Суть этого метода состоит в том, чтобы при перемещении одного типа подобъектов на выделенные элементы объекта оказывалось воздействие с силой, зависящей от расстояния, на котором эти элементы находятся от центра выделения. Для включения этого режима нужно установить флажок Use Soft Selection (Использовать плавное выделение). Расстояние, на которое распространяется воздействие в режиме Soft Selection (Плавное выделение), устанавливается параметром Falloff (Спад). Характер распространения воздействия на прилегающие подобъекты определяется параметрами Pinch (Сужение) и Bubble (Выпуклость). В этом же свитке отображается кривая воздействия на выделенную область. При изменении значений параметров этого свитка кривая изменяет свою форму, что позволяет визуально определить характер выделения. Функция плавного выделения доступна во всех режимах редактирования подобъектов.
В свитке Edit Geometry (Редактирование геометрических характеристик) расположены основные инструменты для работы с редактируемыми поверхностями. С помощью инструментов этого свитка вы можете создавать подобъекты (Create (Создать)), удалять их (Delete (Удалить)), присоединять к оболочке (Attach (Присоединить)) или, наоборот, отсоединять их (Detach (Отделить)), создавая отдельные объекты.
Один из инструментов, который часто используется при редактировании поверхностей, - Extrude (Выдавливание). С помощью этой операции можно произвести перемещение выделенных подобъектов на определенную длину. Другой инструмент - Bevel (Выдавливание со скосом) - по своему действию напоминает Extrude (Выдавливание), однако, в отличие от последнего, позволяет производить выдавливание выделенного подобъекта под определенным углом, что позволяет управлять его площадью. Инструмент Bevel (Выдавливание со скосом) используется только в режимах редактирования Polygon (Полигон) и Face (Грань). Инструмент Chamfer (Фаска) используется для создания фаски на месте ребра или вершины.
При использовании инструментов Extrude (Выдавливание) и Bevel (Выдавливание со скосом) результат их воздействия зависит от положения переключателя Normal (Нормаль): Group (Общие) или Local (Выборочные). В первом случае используется усредненная нормаль по всем выделенным подобъектам, а во втором выдавливание происходит в направлении нормалей каждого выделенного подобъекта.
Некоторые инструменты редактируемых поверхностей по своему действию напоминают модификаторы 3ds Max. Кроме рассмотренных выше инструментов Extrude (Выдавливание) и Bevel (Выдавливание со скосом), напоминающих одноименные модификаторы, в свитке Edit Geometry (Редактирование геометрических характеристик) содержится аналог модификатора Slice (Срез). Этот инструмент называется Slice Plane (Плоскость среза). После нажатия кнопки с таким названием в середине объекта появится схематически обозначенная плоскость. С помощью этой плоскости можно разрезать подобъекты, изменяя таким образом топологию редактируемой поверхности.
Плоскость можно перемещать вдоль осей, вращать и масштабировать. После подбора требуемого положения плоскости среза необходимо нажать кнопку Slice (Срез), после чего будет произведена операция разрезания. Если нужно разделить полученные части, проследите, чтобы перед использованием этого инструмента был установлен флажок Split (Разделить).
Если необходимо разрезать оболочку объекта вручную, используется инструмент Cut (Разрез).
В процессе редактирования оболочки Editable Mesh (Редактируемая поверхность) может возникнуть необходимость увеличить плотность полигональной структуры. Это может понадобиться, например, в тех случаях, когда необходимо увеличить разрешение оболочки модели в месте сгиба (представьте локтевой сустав персонажа или лицевой мускул). Для этих целей служит операция Tessellate (Разбиение граней). Топология сетчатой поверхности, образованной в результате использования инструмента разбиения подобъектов, зависит от того, в каком положении находится переключатель by (Разбить по). Если выбран режим уплотнения полигональной структуры Edge (По ребру), то на месте разбиваемой грани образуются четыре новые грани, если же используется режим Face-Center (По центру грани), то на месте разбиваемой грани образуются три новые. Операция Tessellate (Разбиение граней) работает в режимах редактирования подобъектов Face (Грань), Polygon (Полигон) и Element (Элемент).
Инструмент Explode (Взрыв) воздействуя на выделенные подобъекты, преобразовывает их в самостоятельные объекты или элементы редактируемой оболочки.
Инструмент Collapse (Удаление) удаляет выделенный подобъект, стягивая на его место прилегающие подобъекты.
Свиток Surface Properties (Свойства поверхности) используется для определения участков сглаживающих групп.
Группой сглаживания называется совокупность граней, к которым применено автоматическое сглаживание. Примыкающие друг к другу группы сглаживания образуют острые ребра. Чтобы назначить выбранным подобъектам определенную группу сглаживания, необходимо выделить требуемые подобъекты, после чего ввести нужный номер сглаживающей группы и нажать Enter.
Полигональными являются объекты, основанные на сетке полигонов, из которых состоит поверхность этих объектов. Они похожи на объекты Editable Mesh (Редактируемая поверхность), но обладают уникальными возможностями. Эти объекты доступны только как Editable Poly (Редактируемая полигональная поверхность). В них могут быть преобразованы любые геометрические объекты сцены путем конвертации в Editable Poly (Редактируемая полигональная поверхность), а также после применения модификатора Edit Poly (Редактирование полигонов) или Poly Select (Выделение полигонов).
Инструментарий редактируемой поверхности Editable Poly (Редактируемая полигональная поверхность) напоминает средства редактирования поверхности Editable Mesh (Редактируемая поверхность), однако он имеет дополнительные возможности.
Настройки режимов редактирования объединены в шесть свитков - Selection (Выделение), Soft Selection (Плавное выделение), Edit Geometry (Редактирование геометрических характеристик), Subdivision Surface (Поверхность разбиения), Subdivision Displacement (Смещение разбиения) и Paint Deformation (Деформация кистью). Эти свитки одинаковы для всех режимов, однако инструменты в них могут различаться в зависимости от выбранного типа подобъектов. Кроме этого, имеются дополнительные свитки, которые изменяются в зависимости от режима.
Свиток Selection (Выделение) содержит настройки для выделения подобъектов и параметр Ignore Backfacing (Игнорировать невидимые участки).
В отличие от Editable Mesh (Редактируемая поверхность), здесь также есть инструмент Grow (Выращивать). Его очень удобно использовать, когда необходимо увеличить радиус выделения. При каждом последующем нажатии кнопки Grow (Выращивать) к выделенной области добавляются примыкающие подобъекты. Действие Shrink (Сокращать) является обратным операции Grow (Выращивать). Так, если использовать эту функцию для группы выделенных подобъектов, то при каждом последующем нажатии кнопки Shrink (Сокращать) будет убираться выделение крайних подобъектов.
Инструменты Ring (По кругу) и Loop (Кольцо) используются только в режимах редактирования подобъектов Edge (Ребро) и Border (Граница). Первый инструмент позволяет выделить подобъекты по периметру модели, а второй - те, которые расположены на одной линии с выделенными. Удобные инструменты прокрутки, расположенные рядом с кнопками, позволяют перенести выделение на прилегающие области. Каждый щелчок на инструменте прокрутки смещает выделение на одно ребро или на одну границу.
Инструменты свитка Soft Selection (Плавное выделение) повторяют те, которые доступны при редактировании поверхности типа Editable Mesh (Редактируемая поверхность). Однако они дополнены областью Paint Soft Selection (Плавное выделение кистью). С помощью находящихся там инструментов можно вручную определять характер мягкого выделения, используя виртуальную кисть. Чтобы наблюдать выделение с помощью инструмента Paint Soft Selection (Плавное выделение кистью), необходимо до начала его использования, нажав кнопку Shaded Face Toggle (Переключение в режим затененных поверхностей), включить режим, при котором подобъекты будут по-разному окрашиваться в зависимости от степени влияния на них выделения.
Инструменты, которые в Editable Mesh (Редактируемая поверхность) вынесены в свиток Edit Geometry (Редактирование геометрических характеристик), в Editable Poly (Редактируемая полигональная поверхность) разбиты на два свитка. Это объясняется тем, что инструментов редактирования Editable Poly (Редактируемая полигональная поверхность) значительно больше. Первый свиток носит переменное название - Edit Vertices (Редактирование вершин), Edit Polygons (Редактирование полигонов), Edit Edges (Редактирование ребер), Edit Borders (Редактирование границ) и Edit Elements (Редактирование элементов), а второй - постоянное, Edit Geometry (Редактирование геометрических характеристик).
В свитке Edit Geometry (Редактирование геометрических характеристик) присутствуют инструменты создания (Create (Создание)), присоединения к оболочке (Attach (Присоединить)) и отсоединения от нее (Detach (Отделить)), два инструмента разрезания - Slice Plane (Плоскость среза) и Cut (Разрез), а также инструменты разбиения Tessellate (Разбиение граней) и удаления Collapse (Удаление). Сюда еще вынесены инструменты для скрытия (Hide Selected (Скрыть выделенное)) и отображения (Unhide All (Показать все)) выделенных подобъектов.
Некоторые инструменты Editable Poly (Редактируемая полигональная поверхность) содержат небольшой значок Settings (Настройки), расположенный справа от кнопки с названием инструмента. С ее помощью осуществляется доступ к настройкам инструмента. Эта кнопка заменяет поле ввода числовых значений, которое присутствует в инструментах Editable Mesh (Редактируемая поверхность).
Инструмент MSmooth (Сглаживание) является аналогом модификатора MeshSmooth (Сглаживание), однако, в отличие от последнего, работает с выделенными подобъектами. Инструмент Relax (Ослабление) также повторяет действие одноименного модификатора.
Кнопка Repeat Last (Повторить последнее действие) позволяет повторить действие последнего инструмента, использовавшегося при редактировании Editable Poly (Редактируемая полигональная поверхность).
В свитке, название которого, напомним, изменяется в зависимости от того, какой режим редактирования подобъектов выбран, вы увидите уже привычные инструменты Extrude (Выдавливание), Bevel (Выдавливание со скосом), Chamfer (Фаска). По сравнению с подобным инструментом Editable Mesh (Редактируемая поверхность), возможности инструмента Chamfer (Фаска) шире. Например, когда вы используете Chamfer (Фаска) для Editable Poly (Редактируемая полигональная поверхность), поверхности, образованные в результате применения инструмента, можно удалить.
Инструмент Outline (Контур), присутствующий только в режиме редактирования Polygon (Полигон), позволяет управлять площадью выделенного полигона. При помощи Bridge (Мост) можно управлять формой трехмерной оболочки, выстраивая полигоны между двумя и более выделенными элементами сетки модели. Этот инструмент доступен в режимах Polygon (Полигон), Edge (Ребро) и Border (Граница).
Инструмент Hinge From Edge (Поворот вокруг ребра) позволяет повернуть полигон вокруг выделенного ребра. Инструмент Extrude Along Spline (Выдавить по сплайну) позволяет производить операцию выдавливания, используя заданную форму сплайна. Эти инструменты доступны только в режиме редактирования Polygon (Полигон).
Инструмент Flip (Обратить) позволяет обратить нормали выделенного участка. Он доступен в режимах Polygon (Полигон) и Element (Элемент). Инструмент Connect (Соединить) соединяет центры выделенных ребер, а Сар (Замкнуть), присутствующий только в режиме редактирования Border (Граница), замыкает образованные пустоты внутри замкнутых границ полигоном.
Полигональное моделирование - один из самых распространенных способов создания моделей в трехмерной графике. Несмотря на то, что в 3ds Max реализовано достаточно большое количество средств для создания объектов на основе Editable Poly (Редактируемая полигональная поверхность), эти инструменты не всегда удобны.
В 3ds Max в настройках Editable Poly (Редактируемая полигональная поверхность) находится свиток Paint Deformation (Деформация кистью), который позволяет деформировать объект именно таким образом. Он предоставляет в распоряжение разработчика трехмерной графики набор кистей, при помощи которых можно вдавливать и смещать положение вершин сетки объекта. Свиток Paint Deformation очень удобно использовать при работе с оболочками, содержащими большое количество полигонов.
Характером деформации, производимой кистью, можно управлять с помощью параметров Push/Pul Value (Сила вдавливания/вытягивания), Brush Size (Размер кисти) и Brush Strength (Сила воздействия кисти). Если требуется сгладить слишком выступающие части модели, используйте кнопку Relax (Ослабление). Кнопка Revert (Возврат) служит для отмены созданной деформации. Производя движения кистью в режиме Revert (Возврат), вы можете отменить действие Paint Deformation (Деформация кистью) на отдельных участках.
Для более точной настройки параметров кисти можно использовать окно Painter Options (Настройки рисования), которое вызывается кнопкой Brush Options (Настройки кисти).
В объектах типа Editable Patch (Редактируемая патч-поверхность) модель состоит из лоскутов треугольной или четырехугольной формы, которые создаются сплайнами Безье.
Patch Grids (Сетки патчей) - это поверхности Безье, состоящие из четырехугольных (реже треугольных) фрагментов (лоскутов), основанных на сплайнах, которые управляются при помощи манипуляторов Безье.
Меню Create (Создание) содержит два параметрических объекта фрагментов Безье, но большинство объектов создается путем преобразования в Editable Patch (Редактируемая патч-поверхность).
Моделирование при помощи фрагментов Безье имеет следующие преимущества перед другими способами создания объектов:
- автоматическое сглаживание стыков между фрагментами, при котором получается плавный переход от одного фрагмента к другому;
- управление фрагментами при помощи манипуляторов Безье;
- возможность управления топологией (плотностью) фрагментов Безье,
- что позволяет при незначительных затратах получить сглаженную модель;
- окончательная модель представляет собой полностью бесшовный каркас, который легко поддается анимированию.
Однако такое моделирование обладает и определенными недостатками:
- автоматическое сглаживание стыков из преимущества превращается в недостаток, когда необходимо выполнить моделирование излома поверхности (например, ногтя);
- фрагменты Безье слишком велики, поэтому работать с маленькими элементами или деталями объекта неудобно.
NURBS - это поверхности или кривые, форма которых описывается неоднородными рациональными В-сплайнами.
Такие поверхности хорошо подходят для создания органических поверхностей, дают возможность неплохого интерактивного контроля над объектом, хотя и не так просты в использовании. Применение NURBS-поверхностей позволяет достичь лучших результатов при моделировании объектов со сглаженными формами, нежели приемы полигонального моделирования.
NURBS-объекты представлены двумя видами поверхностей и кривых:
- CV-кривые (кривые с контрольными вершинами) - содержат управляющую решетку с вершинами, с помощью которых можно изменять форму отдельной кривой или всей поверхности;
- Точечные кривые - подобно обычным кривым, строятся по контрольным точкам, которые позволяют более тонко, чем в случае с обычными сплайнами, управлять формой кривой или поверхности.
Точно так же поверхности NURBS подразделяются на точечные и CV (с контрольными вершинами), сохраняя свои свойства аналогично кривым. Они состоят из набора NURBS-кривых, связанных между собой. В NURBS-объекты можно преобразовывать сплайны и стандартные примитивы 3ds Max.
NURBS-поверхности предпочтительнее полигональных при моделировании плавных поверхностей объектов, таких, как растения, животные, цветы и т.д.
Рассмотрев литературу по созданию моделей при помощи редактируемых поверхностей можно сказать:
Выделяют такие типы редактируемых поверхностей:
- Editable Mesh (Редактируемая поверхность);
- Editable Poly (Редактируемая полигональная поверхность);
- Editable Patch (Редактируемая патч-поверхность);
- NURBS Surface (NURBS-поверхность).
Эти модели применяются для создания органических моделей, архитектурных сооружений, анимации персонажей.
Таким образом, используя полигональное моделирование, изменяем форму объекта, непосредственно воздействуя на его составляющие. Выдавливая полигоны и поднимая вершины, создается первоначальный вариант рельефа (рисунок 4).
Рисунок 4 - Первоначальный вариант рельефа
Далее полученный рельеф необходимо обклажить текстурами. Для создания текстур используем программу Adobe Photoshop. Некоторые текстуры, для придания реалистичности, вырезаем из фотографий, используя программу для работы с цифровыми фотографиями Picasa.
Создаем текстуру в Photoshop прямо на рисунке - выделяем область и вводим команду Define Pattern в меню Edit. Но гораздо более гибкий инструмент для этого дела - команда Pattern Maker в меню Filter.
Программа для создания текстуры из изображения называется Pattern Maker. С ее помощью можно сделать из прямоугольного фрагмента новую текстуру и залить ею активный слой.
Полученные текстуры сохраняем и далее используем в моделировании рельефа (таблица 1);
Таблица 1 – полученные текстуры для рельефа
Обкладываем первоначальный вариант макета текстурами при помощи модификатора Edit Poly, и получаем готовый рельеф с наложенными на него текстурами (рисунок 5).
Рисунок 5 - Рельеф с наложенными на него текстурами
Детализация
Следующий этап - это моделирование построек, зданий и элементов ландшафта. Последние штрихи элементов рельефа, распределение растительности.
Каждое здание моделируется отдельно друг от друга и от общего рельефа в отдельном файле. Если в построении рельефа мы использовали методы полигонального моделирования, в которое входят Editable mesh (редактируемая поверхность) и Editable poly (редактируемый полигон), то в моделировании объектов и зданий мы используем метод моделирования при помощи примитивов.
Примитивы в 3ds Max создаются при помощи команд пункта главного меню Create (Создание) или одноименной вкладки командной панели. Чаще используется второй способ, так как он является более удобным.
Примитивы служат инструментами построения и моделирования при создании составных объектов.
Простыми геометрическими примитивами (категория Standard Primitives (Простые примитивы)) в 3ds Max являются следующие объекты:
- Box (Параллелепипед) - параллелепипеды и кубы с любым соотношением сторон;
- Sphere (Сфера) - параметрические объекты типа сферы или купола. Базовый объект создает квадратичные секции, похожие на линии долготы и широты глобуса;
- Cylinder (Цилиндр.) - цилиндры, цилиндрические секторы и многогранные призмы любых пропорций;
- Torus (Top) - кольца с круглой формой поперечного сечения. Может быть создан также тороидальный сектор;
- Teapot (Чайник) - объект, демонстрирующий возможности 3ds Max. Чайник является сложным параметрическим объектом, состоящим из частей;
- Cone (Конус) - общие формы, напоминающие цилиндры; два радиуса позволяют в любой момент поместить результирующий объект в управляемый конус;
- GeoSphere (Геосфера) - параметрические объекты, похожие на сферу и представляющие различные способы определения сферических объемов, которые обеспечивают три различных геометрии сферы и купола. Геосфера создает треугольные секции, подобно геодезическим куполам;
- Tube (Труба) - объекты, подобные цилиндру, но с продольным отверстием внутри. Можно также создавать секторы и многогранные призмы с отверстиями;
- Pyramid (Пирамида) - пирамиды (в том числе усеченные) с прямоугольным или квадратным основанием;
- Plane (Плоскость) - прямоугольный фрагмент сетчатой оболочки. Единственный примитив, не являющийся трехмерным объектом.
В число сложных примитивов (категория Extended Primitives (Улучшенные примитивы)) входят следующие объекты:
- Hedra (Многогранник) - пять разновидностей многогранников с множеством управляющих параметров. Все объекты определяются заданием точки центра и величиной радиуса;
- ChamferBox (Параллелепипед с фаской) - параллелепипеды и кубы с любым соотношением сторон. В отличие от объекта Box (Параллелепипед), при использовании объекта ChamferBox (Параллелепипед с фаской) существует возможность задания фасок на краях;
- OHTank (Цистерна) - цилиндры с основаниями в виде сферических сегментов с ярко выраженной границей между основаниями и средней частью объекта;
- Spindle (Веретено) - цилиндры с коническими основаниями, а также цилиндрические секторы на базе этих объектов;
- Gengon (Многогранная призма) - многогранные призмы с фаской и без нее;
- RingWave (Круговая волна) - инструмент для создания труб, внешняя и внутренняя поверхности которых могут быть волнообразно деформированы;
- Prism (Призма) - инструмент для создания призм с различным соотношением сторон основания;
- Torus Knot (Тороидальный узел) - объект, который строится на основе узлов различного вида. Можно изменять как форму сечения, так и базовую форму объекта;
- ChamferCyl (Цилиндр с фаской) - цилиндры, цилиндрические секторы и многогранные призмы любых пропорций с возможностью задания на краях фаски, срезанной под углом 45°;
- Capsule (Капсула) - цилиндры с основаниями в виде полусфер, а также цилиндрические секторы на базе этих объектов;
- L-Extrusion (L-тело экструзии) - плоскость L-образной формы с выдавливанием по высоте;
- C-Extrusion (С-тело экструзии) - объект, аналогичный L-Extrusion (L-тело экструзии), отличающийся базовой формой, представленной в виде буквы "П";
- Hose (Рукав) - инструмент для создания гофрированных рукавов, шлангов и других объектов аналогичной формы. "Привязав" основания Hose (Рукав) к двум другим объектам, можно получить подобие анимированной пружины.
Для создания объекта необходимо:
- Перейти на вкладку Create (Создание) командной панели;
- Выбрать категорию, в которой находится нужный объект, для примитивов это категория Geometry (Геометрия);
- Из раскрывающегося списка выбрать группу, в которой находится нужный объект;
- Нажать кнопку с названием объекта;
- Щелкнуть в любом месте окна проекции и, не отпуская кнопку, передвигать указатель мыши до тех пор, пока не изменится размер объекта до нужного.
Объекты можно создавать и путем ввода параметров объекта в свитке Keyboard Entry (Ввод с клавиатуры). Для этого после нажатия кнопки с названием примитива перейдите в появившийся ниже свиток, введите параметры объекта, координаты точки расположения и нажмите кнопку Create (Создать).
Объект в окне проекции может быть представлен по-разному: сглажено - режим просмотра Smooth + Highlights (Сглаженный), в виде сетчатой оболочки - Wireframe (Каркас), в виде рамки редактирования - Bounding Box (Ограничивающий прямоугольник) и др. Упрощенное отображение объектов в окнах проекций нужно для более легкого управления сложными сценами с большим количеством объектов и полигонов.
Для изменения варианта отображения объекта необходимо щелкнуть правой кнопкой мыши на названии окна проекции и в контекстном меню выбрать нужный режим.
Любой примитив, созданный в 3ds Max, характеризуется набором параметров, которые определяют его геометрическую форму. Изменяя настройки объекта, вы тем самым изменяете его форму. Каждый из примитивов имеет свой уникальный набор параметров. Например, для примитива Box (Параллелепипед) такими настройками являются Length (Длина), Width (Ширина) и Height (Высота).
Одна из характеристик, присущих любому примитиву, - Segments (Количество сегментов). Этот параметр определяет количество полигонов в структуре объекта. Чем большее значение принимает параметр Segments (Количество сегментов), тем точнее отображается поверхность трехмерной модели. Количество сегментов может определяться не одним, а несколькими настройками. Например, объект Box (Параллелепипед) имеет три таких параметра - Length Segs (Количество сегментов по длине), Width Segs (Количество сегментов по ширине) и Height Segs (Количество сегментов по высоте).
В настройках большинства примитивов также присутствует параметр Generate Mapping Coords (Создавать систему проекционных координат). Установка данного флажка обеспечивает создание системы проекционных координат, что необходимо в том случае, если вы собираетесь текстурировать объект. В большинстве случаев необходимо, чтобы данный флажок был снят.
Настройки только что созданного объекта располагаются на вкладке Create (Создание) командной панели. Однако при повторном выделении объекта в сцене его настройки переместятся на вкладку Modify (Изменение).
Чтобы изменить объект, необходимо указать новые значения его параметров следующим образом.
- Выделите требуемый примитив в окне проекции;
- Перейдите на вкладку Modify (Изменение) командной панели;
- Введите новое значение параметра в поле рядом с его названием и нажмите клавишу Enter.
Проанализировав источники можно сказать, что примитивы - инструменты построения и моделирования при создании составных объектов. Такие примитивы, как L-тело экструзии и С-тело экструзии являются базовым материалом для моделирования архитектурных конструкций. Примитивы выделяют двух видов: Standard Primitives (Простые примитивы) и Extended Primitives (Улучшенные примитивы).
Создавая группы различные примитивов и редактируя их с помощью различных модификаторов, мы получаем макеты построек (рисунок 6).
Рисунок 6 - Макет сторожевого домика
Полученные макеты необходимо покрыть текстурами. Для придания реалистичности объектам, используем текстуры, вырезанные с фотографий при помощи приложения Picasa (таблица 2).
Таблица 1 – текстуры объектов полученные при помощи приложения Picasa
Обкладываем макет здания текстурами при помощи модификатора Edit Poly, и получаем готовый объект с наложенными текстурами (рисунок 7).
Рисунок 7 - Сторожевой домик с наложенными текстурами
Так же помимо построек имеются объекты особо значимого характера, такие как спасательная вышка (Рисунок 8) и трансформаторная будка, требуют более детальной проработки и максимально точного расположения на карте. Это те объекты, которые не подлежат модернизации и сносу. Их запрещено изменять и перемещать.
Немаловажную роль в проекте играют деревья (рисунок 9). Создаем мы их при помощи библиотеки стандартных деревьев AEC Extended/ Foliage. По умолчанию деревьям назначаются материалы, но без текстур. Растения, очень детализированные объекты, следовательно, для их визуализации требуется очень мощный компьютер, или же несколько компьютеров объединенных в единый кластер, что затрудняет работу над проектом.
Рисунок 8 - Спасательная вышка
Рисунок 9 - Деревья
Модернизация
Так же в задачу дипломной работы входит разработка модели возможного улучшения объекта.
Перед тем как приступить к модернизации проекта были изучены различные пожелания заинтересованных лиц. В частности руководителя производственной практики Хабибуддина Ришата Даутовича. Так же необходимо было, чтобы проект соответствовал требованиям безопасности, экологической, геофизической составляющих.
Модернизация в себя включает:
- моделирование новых построек;
- изменение рельефа под заданные требования заказчика;
- Создание новых объектов;
- Реставрация уже имеющихся объектов;
- Создание новых элементов экстерьера;
- Удаление не используемых в дальнейшем элементов;
- Подбор новых текстур.
Прежде чем приступить к моделированию новых объектов, необходимо изменить рельеф. Выровнять местность вокруг Автостоянки, а так же увеличить ее площадь. Для начала удаляем лишние элементы ограждения и деревья, затем используя уже упомянутое выше полигональное моделирование, преобразуем рельеф в редактируемую поверхность «Editable Poly». Выделяем нужную нам область и используем модификатор «Make planar». Выделенный участок становится абсолютно плоским, используя инструменты «Select and Move» и «Select and Rotate» выравниваем по высоте и по наклону выделенную поверхность. На полученную поверхность необходимо наложить текстуру асфальта. Создаем ее при помощи программы Adobe Photoshop. Созданную текстуру добавляем в «Material Editor» и, используя вкладку «Assign Material to Selection», натягиваем текстуру на выделенную область. Натянутую текстуру необходимо масштабировать, для этого используем модификатор «UVW Map». Так же должна стоять галочка на модификаторе «UVW Mapping Add». В свитке «Parameters» в полях «Length», «Width» и «Height» вводим значения и масштабируем нашу текстуру асфальта. Далее используя стандартные и улучшенные примитивы, такие как «Box», «Cylinder» и «Railing», мы создаем дополнительные элементы экстерьера автостоянки, и используя инструмент «Select and Move» размещаем их по своим местам. Автостоянка готова (рисунок 10).
Рисунок 10 - Автостоянка
Используя выше приведенные методы, так же редактируем рельеф для небольшой базы отдыха на вершине хребта.
Закончив работы с рельефом, приступаем к моделированию дополнительных объектов.
ЗАКЛЮЧЕНИЕ
Во время прохождения практики был проведён обзор литературы и сбор теоретического и практического материала по теме дипломной работы. Разработана 3D-модель прибрежной зоны Кармановского водохранилища. 3D модель полностью соответствует требованиям, предъявляемые руководителем практики.
Процесс создания 3D модели очень трудоемок. Модель участка создавались в программе 3D Studio Max 2011. Моделирование геометрии и текстурирование модели проводилось вручную. Наложение текстур обычно выполняется наземными фотоснимками и изображениями из библиотек текстур. Текстурирование фотоснимками повышает узнаваемость объектов и облегчает ориентирование. Ручной метод создания 3D моделей является самым старым и хорошо изученным. Достоинствами данного метода является возможность создания моделей с очень высокой геометрической детализацией и высокая метрическая точность. Недостатком является очень высокая трудоемкость. Несмотря на то, что современные 3D редакторы позволяют ускорить некоторые этапы моделирования, все равно все они выполняются вручную.
СПИСОК ЛИТЕРАТУРЫ И ССЫЛОК В ИНТЕРНЕТ
Книги
1. Бондаренко, С., Бондаренко, М. 3ds Max 9 / С. Бондаренко. – СПб.: Библиотека пользователя, 2007. – 640с.
2. Верстак, В.А., 3ds Max 9 на 100 % / В.А. Верстак. – СПб.: Питер, 2007,416 с.
3. Маров, М. Эффективная работа. 3ds Max 9 / М. Маров — издательство «Питер», 2008, 928 с.
4. Сборник информационных модулей по оповещению населения о мерах безопасности / Ф.Р. Гумеров [и др.]. — Уфа, 2008. — 54 с.
5. Указание Главного управления МЧС России по Республике Башкортостан о ходе разработки 3D моделей потенциально опасных объектов и социально значимых объектов от 05.02.2010 г. №661-3-1-2.
Электронные ресурсы
6. Методические рекомендации [Электронный ресурс] — Электрон. дан. URL: http://02.mchs.gov.ru/ (дата обращения 24.12.2011) — ГУ МЧС России по Республике Башкортостан.
7. Основные стратегии создания 3D моделей городов [Электронный ресурс] — Электрон. дан. URL: http://gis-lab.info/qa/3dcities.html (дата обращения 16.01.2011) — GIS-Lab: Основные стратегии создания 3D моделей городов.
8. Трехмерная графика [Электронный ресурс] — Электрон. дан. URL: http://ru.wikipedia.org/wiki/Трёхмерная графика (дата обращения 28.12.2011) — Трёхмерная графика – Википедия.
Приложение А
Вид прибрежной зоны Кармановского водохранилища
Рисунок А.1 – Север 3D объекта
Рисунок А.2 – Юг 3D объекта
Рисунок А.3 – Запад 3D объекта
Рисунок А.4 – Восток 3D объекта
Приложение Б
Вид обновленной прибрежной зоны Кармановского водохранилища
Рисунок Б.1 – Север 3D объекта
Рисунок Б.2 – Юг 3D объекта
Рисунок Б.3 – Запад 3D объекта
Рисунок Б.4 – Восток 3D объекта