СОДЕРЖАНИЕ ВВЕДЕНИЕ .............................................................................................................. 5 ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ФОТОРЕАЛИСТИЧНОЙ ВИЗУАЛИЗАЦИИ .................................................................................................. 6 1.1 Основные понятия трехмерного моделирования и визуализации ........ 6 1.2 Виды трехмерного моделирования ......................................................... 10 1.3 Популярные программы для моделирования ........................................ 14 ГЛАВА 2. ФОТОРЕАЛИСТИЧНАЯ ВИЗУАЛИЗАЦИЯ ОБЪЕКТОВ ........... 17 2.1 Создание моделей ..................................................................................... 17 2.2 Создание материалов ............................................................................... 25 2.3 Расстановка камеры и света..................................................................... 27 2.4 Рендер и постобработка ........................................................................... 28 ЗАКЛЮЧЕНИЕ ..................................................................................................... 32 БИБЛИОГРАФИЧЕСКИЙ СПИСОК ................................................................. 33 4 ВВЕДЕНИЕ Трёхмерное изображение отличается от плоского построением геометрической проекции трёхмерной модели сцены на экране компьютера с помощью специализированных программ. При этом модель может как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция четырёхмерного фрактала). Для получения трёхмерного изображения требуются следующие шаги: − моделирование — создание математической модели сцены и объектов в ней. − рендеринг — построение проекции в соответствии с выбранной физической моделью. Актуальность курсового проекта заключается повсеместным использованием трехмерной графики в различных отраслях и сферах деятельности. Целью курсового проекта является создание фотореалистичной визуализации с помощью ПО Corona Render и 3Ds Max. Задачи курсового проекта: 1. Изучить основные понятия моделирования и рендеринга; 2. Провести анализ доступного ПО на рынке; 3. Создать трехмерную модель фонаря; 4. Сделать фотореалистичную визуализацию. 5 ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ФОТОРЕАЛИСТИЧНОЙ ВИЗУАЛИЗАЦИИ 1.1 Основные понятия трехмерного моделирования и визуализации Трёхмерная графика — раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), призванных обеспечить пространственно-временную непрерывность получаемых изображений. Больше всего применяется для создания изображений в архитектурной визуализации, кинематографе, телевидении, компьютерных играх, печатной продукции, а также в науке. Задача трёхмерного моделирования — описать объекты (геометрия, материалы, свет, камеры, анимация и спецэффекты) и разместить их в сцене с помощью геометрических преобразований в соответствии с требованиями к будущему изображению. Рендеринг в компьютерной графике — процесс получения изображения по модели с помощью компьютерной программы. Здесь модель — это описание любых объектов или явлений на строго определённом языке или в виде структуры данных. Такое описание может содержать геометрические данные, положение точки наблюдателя, информацию об освещении, степени наличия какого-то вещества, напряжённость физического поля и пр. В компьютерной графике под рендерингом понимают создание плоского изображения (картинки) по разработанной 3D-сцене. Изображение — это цифровое растровое изображение. Визуализация — один из наиболее важных разделов в компьютерной графике, и на практике он тесным образом связан с остальными. Обычно, программные пакеты трехмерного моделирования и анимации включают в себя также и функцию рендеринга. Существуют отдельные программные продукты, выполняющие рендеринг. На этапе рендеринга математическая (векторная) пространственная модель превращается в плоскую картинку. Если требуется создать фильм, то рендерится последовательность таких картинок, по одной для каждого кадра. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена по крайней мере тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом, рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции. Обычно этого недостаточно и нужно создать иллюзию материалов, из которых изготовлены объекты, а 6 также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане). Существует несколько технологий рендеринга, часто комбинируемых вместе: − Z-буфер (используется в OpenGL и DirectX); − Растеризация (англ. Rasterization) и метод сканирования строк (англ. Scanline rendering). Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя. При использовании метода сканирования строк происходит расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой поверхности. Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя; − Метод бросания лучей (англ. Ray casting). Сцена рассматривается, как наблюдаемая из определённой точки. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пикселя на двумерном экране. При этом лучи прекращают своё распространение (в отличие от метода обратного трассирования), когда достигают любого объекта сцены либо её фона. − Трассировка лучей (англ. Raytracing) — то же, что и сканлайн, но цвет пиксела уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) От точки пересечения луча взгляда. Метод похож на метод бросания лучей. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пиксела на двумерном экране. Но при этом луч не прекращает своё распространение, а разделяется на три компоненты, луча, каждый из которых вносит свой вклад в цвет пиксела на двумерном экране: отражённый, теневой и преломленный. Количество таких разделений на компоненты определяет глубину трассирования и влияет на качество и фотореалистичность изображения. Благодаря своим концептуальным особенностям, метод позволяет получить очень фотореалистичные изображения, но при этом он очень ресурсоёмкий и процесс визуализации занимает значительные периоды времени. − Глобальная иллюминация (англ. Global illumination, radiosity) — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений. Использует математику конечных элементов, чтобы симулировать диффузное распространение света от поверхностей и при этом достигать эффектов «мягкости» освещения. 7 Примеры рендеров представлены на рисунках 1 – 5. Рис. 1. Трехмерная графика (пример 1) Рис. 2. Трехмерная графика (пример 2) 8 Рис. 3. Трехмерная графика (пример 3) Рис. 4. Трехмерная графика (пример 4) 9 Рис. 5. Трехмерная графика (пример 5) 1.2 Виды трехмерного моделирования Существует несколько видов трехмерных моделей: • полигональная модель (рис. 6); • NURBS поверхности. Полигональное моделирование – это вид 3D-моделирования, который появился в то время, когда для определения местонахождения точки необходимо было вручную вводить ее координаты по осям X, Y, Z. Если три точки координат задать как вершины и соединить их ребрами, то получится треугольник, который в 3D-моделировании называют полигоном. 10 Рис. 6. Полигональная модель NURBS моделирование или технология Non-Uniform Rational B-Spline – это технология неоднородных рациональных В-сплайнов, создание плавных форм и моделей, у которых нет острых краев, как у полигональных моделей. Именно из-за этой отличительной черты технологию NURBS применяют для построения органических моделей и объектов (растений, животных, людей). NURBS-кривые, используемые в моделировании, бывают двух видов: Р (Point) кривые и CV (Control Vertex) кривые. Point кривые управляются вершинами, находящимися непосредственно на самой линии или объекте, а Control Vertex кривые управляются точками, лежащими за пределами линии или объекта. Разницу представлена на рисунках 7 и 8. 11 Рис. 7. Кривые NURBS Рис. 8. Поверхности NURBS Вторые имеют более высокий уровень точности, так что их чаще всего используют инженеры, машиностроители и архитекторы. А вот полигональные модели чаще используются для создания 3D-изображений в мультипликации, кинематографе и компьютерных играх. Они состоят из многочисленных простейших геометрических фигур, которые также называют примитивами. Кроме того, есть три вида 3D-моделирования: • каркасное моделирование; • поверхностное моделирование; • твердотельное моделирование. Первый из них, наиболее простой вид – это каркасное моделирование. Модели, получаемые при создании этого типа воспроизведения, будут называться проволочными или каркасными. Состоят они из линий, дуг и сегментов (рис. 9). Изображения такого типа не передают полную информацию об объекте: ни об объеме, ни о структуре поверхности из такой модели узнать невозможно, зато можно изучить его устройство и 12 функциональность. Главным преимуществом каркасного моделирования является то, что на хранение трехмерных моделей, созданных этим способом, не требуется много оперативной памяти компьютера. Чаще всего каркасная визуализация применяется в специализированных программах для построения предполагаемой траектории движения устройства или инструмента. Рис. 9. Каркасные модели Второй вид 3D-моделирования – это поверхностное моделирование. В отличие от каркасного, здесь имеются не только сегменты, линии и дуги, но и поверхности, образующие контур отображаемого объекта. Поверхностное моделирование используется специалистами для создания сложных форм; применяется для изображения поверхностей деталей внешнего вида – машины, самолеты, бытовая и промышленная техника. Технология применяется для проектировки объектов, изготовляемыми штамповочными или литьевыми способами. Самый точный и достоверный тип 3D-моделирования – твердотельное моделирование. В результате его использования можно получить настоящий образец готового объекта, который передает все данные о нем (рис. 10). Модель, созданная благодаря этому способу визуального воспроизведения, содержит линии, грани, текстуру и данные об объеме и массе тела. Хотя изображения и занимают наибольший объем памяти компьютера по сравнению с остальными, но он полностью описывает готовый объект. Твердотельное моделирование используется повсюду: при создании техники, промышленных деталей, мебели, ювелирных изделий, кино и компьютерных игр. 13 Рис. 10. Твердотельное моделирование Из-за того, что 3D-модели используются практически во всех сферах нашей жизни, можно выделить четыре уровня сложности объемных изображений: • Первый – простейший – не содержит информации о структуре и мелких деталях объекта, например бокалы и простые рамки. • Второй, немного более сложный уровень, содержит более детальную информацию о модели. К такому уровню можно отнести тумбы, столы и другие несложные предметы. • К третьему уровню можно отнести гарнитуры мебели и технику для дома из-за многочисленных мелких деталей и сложной неоднородной структуры. • Четвертый чаще всего используется инженерами, примерами трехмерных моделей этого уровня могут служить модели станков, автомобилей и другой сложной техники. Все уровни модели соотносятся и с видами 3D-моделирования, так первые два – это каркасный, третий – поверхностный, а четвертый – твердотельный способ визуализации. 1.3 Популярные программы для моделирования Программное обеспечение, позволяющее заниматься трехмерным моделированием, очень многообразно. Здесь есть и коммерческие, и открытые 14 (бесплатные) продукты. К первым можно отнести 3Ds Max, Modo, LightWave 3D, именно их на сегодня можно назвать лидерами в области 3Dмоделирования. Среди свободно распространяемых программных продуктов стоит отметить Blender и Wings3D. Список программ для 3D-моделирования пополняется очень быстро. Компании, чтобы завоевать больше потребителей, создают разные программы, которые отвечают различным спецификациям и подойдут для любой задачи. Так, к примеру, компания Autodesk выпустила в мир уже 4 программных продукта по 3D-моделированию: 3Ds Max, Maya, Softimage, Mudbox. Для промышленного 3D-моделирования инженеры чаще всего используют 3Ds MAX, SolidWork и ProEngineering. Другие популярные продукты для 3D-моделирования: Rhino, 3Delight, Sculptris, ZBrush, Houdini, Cinema 4D, LuxRender и прочие. Для определения программы для выполнения курсового проекта необходимо провести анализ следующих программ: ZBrush, 3Ds Max, Cinema 4D, Maya, 3DCoat, Blender. Сравнительный анализ приведен в таблице 1. Таблица 1 – Сравнительный анализ ПО ПО Цена ZBrush 39,95 $ в месяц или бессрочная лицензия за 895 $ 3Ds 279 € / месяц Max 2 245 € / год 6 063 € / 3 года ОС Windows, macOS Плюсы ПО Проверенные инструменты для скульптурирования Windows Простота использования, полноценный функционал. Есть студенческая лицензия Простота использования, интуитивно понятный интерфейс, универсальность Внушительный арсенал инструментов, удобный настраиваемый интерфейс Cinema 2 900 € Windows, 4D единовременно macOS или 600 € в год Maya 279 € / месяц 2 245 € / год 6 063 € / 3 года Windows, macOS, Linux 15 Минусы ПО Относительно высокая цена, сложный процесс обучения Работает только на Windows, высокая цена Высокая цена Сложность освоения, высокая цена 3DCoat 379 € — Windows, бессрочная macOS, лицензия для 1 Linux компьютера Доступная цена, широкий выбор инструментов для ретопологии Мало обучающих материалов, недостаточная поддержка сообщества пользователей по сравнению с конкурентами По результатам анализа, выбор ПО для 3D-моделирования останавливается на программе 3Ds Max. Пользователи выбирают 3Ds Max за простоту и удобство работы, существует большой массив видеоуроков, онлайн-курсов, а также сторонних расширений. Именно поэтому выбор ПО для выполнения курсового проекта остановлен на этой программе. Пользователям доступна подписка на месяц и год, а также бесплатный пробный период (30 дней), при этом студенты и преподаватели могут бесплатно получить программу на три года. 16 ГЛАВА 2. ФОТОРЕАЛИСТИЧНАЯ ВИЗУАЛИЗАЦИЯ ОБЪЕКТОВ 2.1 Создание моделей Получение готовой визуализации начинается с разработки моделей. Первым созданным объектом является каркас фонаря. Создается примитив Plane с сеткой 5х5 (рис. 11). К примитиву применяется модификатор Edit Poly. В режиме редактирования Edge выбираются все грани и применяется функция Flow Connect (рис. 12). Рис. 11. Созданный примитив Рис. 12. Применение Flow Connect 17 Перейдя в режим редактирования Polygon, при сочетании клавиш Ctrl+A выделяются все полигоны, к которым применяется функция Inset (рис. 13). Для создания необходимого каркаса, полигоны, которые остались выделены, удаляются (рис. 14). Рис. 13. Применение Inset Рис. 14. Сетка каркаса клетки Т.к. прутья не могут быть плоскими, к полученной форме применяется модификатор Shell со значением параметра Inner Amount равного 0,7 мм (рис. 15). Для придания каркасу цилиндрической формы использовался модификатор Bend с параметрами Angle 360 по оси X (рис. 16). 18 Рис. 15. Применение модификатора Shell Рис. 16. Применение модификатора Bend Для создания фонаря более интересной формы, полученную клетку повернули вокруг своей оси на -90 градусов по оси X. Далее применяется модификатор Edit Poly, и режиме Vertex масштабируются верхние и нижние выделенные точки, представленные на рисунках 17 и 18. 19 Рис. 17. Масштабирование нижних точек Рис. 18. Масштабирование верхних точек У созданного фонаря отсутствует дно. Дно создается из примитива Cylinder со следующими настройками: радиус 10 мм, высота 1 мм, количество сегментов по высоте 1, количество сторон 10 (рис. 19). Так же примитив Cylinder использовался для создания ручки данного фонаря (рис. 20). 20 Рис. 19. Дно из примитива Cylinder Рис. 20. – Ручка из примитива Cylinder К ручке применялся модификатор Edit Poly. В режиме редактирования Edge были выделены все ребра по высоте, к которым в последствии была применена функция Connect Edges (рис. 21). На рисунках 22 и 23 представлены изменения ручки. Придание итоговой формы производилось в режимах редактирования Vertex и Edge. 21 Рис. 21. Применение функции Connect Edges Рис. 22. Процесс формирования ручки 22 Рис. 23. Итог формирования ручки После того, как необходимая модель была получена, все объекты, из которых создан фонарь, были объедены в один объект через функцию Attach. Далее необходимо сформировать то, на чем будет стоять фонарь, в данном случае – песок. Так же создается примитив Plane с количеством сегментов 20х20 (рис. 24), к которому был применен Edit Poly. Рис. 24. Созданный примитив В режиме редактирования Vertex и при помощи инструмента Move был сформирован ландшафт, процесс создания которого представлен на рисунках 25 и 26. 23 Рис. 25. Процесс создания ландшафта Рис. 26. Созданный ландшафт Для того, чтобы избавиться от угловатости рельефа, был применен модификатор TurboSmooth, результат работы которого представлен на рисунке 27. 24 Рис. 27. Применение модификатора TurboSmooth Предварительное размещение созданных моделей относительно друг друга представлена на рисунке 28. Рис. 28. Расположение объектов 2.2 Создание материалов Corona Renderer — это высокопроизводительный фотореалистический рендер. У Corona Renderer лаконичный интерфейс и предзаданные параметры, позволяющие добиться качественной визуализации без дополнительных 25 усилий. Также у Corona есть богатая и бесплатная библиотека материалов, которая постоянно пополняется. Используя встроенные материалы библиотеки движка визуализации, для фонаря использовался материал под названием «Iron Rough», а для ландшафта – «Soil Garden». Расположение материалов в библиотеке представлены на рисунках 29 и 30. Рис. 29. Расположение материала «Iron Rough» Рис. 30. Расположение материала «Soil Garden» 26 2.3 Расстановка камеры и света Был создан источник света CoronaLight сферической формы, размещенный в центре фонарной клетки (рис. 31). Интенсивность свечения составляет 57 люменов, температура по кельвину 1700 градусов. Рис. 31. Созданный источник света Из Viewport’а подбирается необходимый ракурс и устанавливается камера через Create – Cameras – Create Standard Camera From View (рис. 32 и 33). Рис. 32. Созданный камера 27 Рис. 33. Вид из камеры 2.4 Рендер и постобработка Визуализация изображения происходит при помощи движка визуализации Corona Render. Перед запуском процесса рендеринга, необходимо в настройках Render Setup выбрать движок визуализации во вкладке Common - Assign Render. Так же в настройках можно установить параметры готового изображения (Common – Common Parameters – Output Size). Ширина и высота итогового изображения составляют 1000х1000 пикселей. Для более удобного построения кадра, необходимо нажать Shift+F. После этого Viewport принимает размеры, настроенные в Render Setup (рисунок 34). Т.к. в сцене используется только один источник освещения, то на фон необходимо применить HDRI Map. HDRI – это панорамная фотография, которая охватывает все углы зрения с одной точки и содержит большое количество данных, который может быть использован для освещения сцены. Использованная HDRI карта представлена на рисунке 35. 28 Рис. 34. Render Setup Рис. 35. HDRI карта Для подключения карты, необходимо в Environment and Effects (горячая клавиша «8») поставить галочку Use Map, выбрать в открывающемся списке CoronaBitmap и выбрать подготовленный файл. Окно настройки показан на рисунке 36. 29 Рис. 36. Окно Environment and Effects После нескольких пробных запусков рендера и донастроек всех параметров и объектов, запускается окончательный рендер (рис. 37). По окончанию визуализации происходит постобработка полученного изображения: увеличивается экспозиция и контраст, изменяется насыщенность, подключается вкладка BLOOM AND GLARE (рис. 38). Рис. 37. Процесс визуализации 30 Рис. 38. Постобработка Результат работы представлен на рисунке 39. Рис. 39. – Итоговый кадр 31 ЗАКЛЮЧЕНИЕ В ходе выполнения курсового проекта была достигнута цель: создана фотореалистичная визуализация с помощью ПО Corona Render и 3Ds Max. Так же были выполнены поставленные задачи: 1. Изучены основные понятия моделирования и рендеринга; 2. Было произведен анализ доступных ПО на рынке; 3. Была создана трехмерная модель фонаря; 4. Была выполнена фотореалистичная визуализация. 32 БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Глинский Б. А. Моделирование как метод научного исследования. М., 1965; 2. Кодрянц И. Г. Философские вопросы математического моделирования. Кишинев, 1978; 3. Мамедов Н. М. Моделирование и синтез знаний. Баку, 1978; 4. Самарский А. А., Михайлов А. П. Математическое моделирование: Идеи. Методы. Примеры. — М.: Наука, 1997. — 320 с. — ISBN 5-9221-0120-X. 5. Уемов А. И. Логические основы метода моделирования. М., 1971 6. Аристов А. О. Теория квазиклеточных сетей 7. : научная монография — М: МИСиС, 2014. — 188с. ISBN 978-5-60000321-7 8. Кононюк А. Е. Обобщённая теория моделирования 9. . Начала. К.1. Ч.1. «Освіта України», 2012. — 602 с. ISBN 978-966-759950-8 10. Визуализация // Большой Энциклопедический словарь. — 2000.. //Большой Энциклопедический словарь. 2000. 11. Главный редактор Г.П. Свищев. Визуализация течений // Авиация: Энциклопедия. — М.: Большая Российская Энциклопедия. — 1994.. // Авиация: Энциклопедия. — М.: Большая Российская Энциклопедия. Главный редактор Г. П. Свищев. 1994. 12. Келли Мэрдок. Autodesk 3ds Max 2013. Библия пользователя = Autodesk 3ds Max 2013 Bible. — М.: «Диалектика», 2013. — 816 с. — ISBN 978-5-84591817-8. 13. Келли Мэрдок. 3ds Max 2012. Библия пользователя = 3ds Max 2012 Bible. — М.: «Диалектика», 2012. — 1312 с. — ISBN 978-5-8459-1768-3. 14. Бондаренко М. Ю., Бондаренко С. В., 3ds Max 2008 за 26 уроков (+CD), 1-е издание, Издательский дом «Диалектика», 2008. — 304 стр. ISBN 978-58459-1358-6 15. Кулагин Б. Ю, Яцюк О. Г. 3ds Max в дизайне среды. — 1-е издание. — C.: «БХВ-Петербург», 2008. — С. 976. — ISBN 978-5-94157-779-8. 33