\documentclass[a4paper, final]{article} %\usepackage{literat} % Нормальные шрифты \usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта \usepackage{tabularx} \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[russian]{babel} \usepackage{amsmath} \usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry} \usepackage{ragged2e} %для растягивания по ширине \usepackage{setspace} %для межстрочно го интервала \usepackage{moreverb} %для работы с листингами \usepackage{indentfirst} % для абзацного отступа \usepackage{moreverb} %для печати в листинге исходного кода программ \usepackage{pdfpages} %для вставки других pdf файлов \usepackage{tikz} \usepackage{graphicx} \usepackage{afterpage} \usepackage{longtable} \usepackage{float} \usepackage{graphicx} \usepackage{subcaption} % \usepackage[paper=A4,DIV=12]{typearea} \usepackage{pdflscape} % \usepackage{lscape} \usepackage{array} \usepackage{multirow} \renewcommand\verbatimtabsize{4\relax} \renewcommand\listingoffset{0.2em} %отступ от номеров строк в листинге \renewcommand{\arraystretch}{1.4} % изменяю высоту строки в таблице \usepackage[font=small, singlelinecheck=false, justification=centering, format=plain, labelsep=period]{caption} %для настройки заголовка таблицы \usepackage{listings} %листинги \usepackage{xcolor} % цвета \usepackage{hyperref}% для гиперссылок \usepackage{enumitem} %для перечислений \newcommand{\specialcell}[2][l]{\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}} \setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях \hypersetup{colorlinks, allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные) % подгружаемые языки — подробнее в документации listings (это всё для листингов) \lstloadlanguages{ SQL} % включаем кириллицу и добавляем кое−какие опции \lstset{tabsize=2, breaklines, basicstyle=\footnotesize, columns=fullflexible, flexiblecolumns, numbers=left, numberstyle={\footnotesize}, keywordstyle=\color{blue}, inputencoding=cp1251, extendedchars=true } \lstdefinelanguage{MyC}{ language=SQL, % ndkeywordstyle=\color{darkgray}\bfseries, % identifierstyle=\color{black}, % morecomment=[n]{/**}{*/}, % commentstyle=\color{blue}\ttfamily, % stringstyle=\color{red}\ttfamily, % morestring=[b]", % showstringspaces=false, % morecomment=[l][\color{gray}]{//}, keepspaces=true, escapechar=\%, texcl=true } \textheight=24cm % высота текста \textwidth=16cm % ширина текста \oddsidemargin=0pt % отступ от левого края \topmargin=-1.5cm % отступ от верхнего края \parindent=24pt % абзацный отступ \parskip=5pt % интервал между абзацами \tolerance=2000 % терпимость к "жидким" строкам \flushbottom % выравнивание высоты страниц % Настройка листингов \lstset{ language=C++, extendedchars=\true, inputencoding=utf8, keepspaces=true, % captionpos=b, % подписи листингов снизу } \begin{document} % начало документа % НАЧАЛО ТИТУЛЬНОГО ЛИСТА \begin{center} \hfill \break \hfill \break \normalsize{МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ\\ федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»\\[10pt]} \normalsize{Институт компьютерных наук и кибербезопасности}\\[10pt] \normalsize{Высшая школа технологий искусственного интеллекта}\\[10pt] \normalsize{Направление: 02.03.01 <<Математика и компьютерные науки>>}\\ \hfill \break \hfill \break \hfill \break \hfill \break \large{Лабораторная работа №1}\\ \large{<<Изучение технологии создания реалистического объекта в среде Blender 3D>>}\\ \large{по дисциплине}\\ \large{<<Комьютерная графика>>}\\ % \hfill \break % \hfill \break \hfill \break \end{center} \small{ \begin{tabular}{lrrl} \!\!\!Студент, & \hspace{2cm} & & \\ \!\!\!группы 5130201/20102 & \hspace{2cm} & \underline{\hspace{3cm}} &Тищенко А. А. \\\\ \!\!\!Преподаватель & \hspace{2cm} & \underline{\hspace{3cm}} & Курочкин М. А. \\\\ &&\hspace{4cm} \end{tabular} \begin{flushright} <<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г. \end{flushright} } \hfill \break % \hfill \break \begin{center} \small{Санкт-Петербург, 2025} \end{center} \thispagestyle{empty} % выключаем отображение номера для этой страницы % КОНЕЦ ТИТУЛЬНОГО ЛИСТА \newpage \tableofcontents \newpage \section*{Введение} \addcontentsline{toc}{section}{Введение} 3D-моделирование — это процесс создания трёхмерной модели объекта. В современном мире 3D-моделирование играет важную роль. Трёхмерная компьютерная графика позволяет создавать максимально реалистичные модели объекта. Сегодня 3D-моделирование используется в проектировании зданий, в ландшафтном дизайне, дизайне интерьеров, а также в компьютерных играх и программах, в промышленности и медицине, а также во многих других сферах. Примером использования компьютерной графики является реставрация янтарной комнаты. Одной из задач 3D-моделирования является построение реалистических моделей объектов реального мира. Реалистичность модели определяется следующими параметрами: \begin{enumerate} \item Соответствие формы объекта реальной форме. \item Соответствие материала объекта особенностям объекта: цвет, текстура, шероховатость, отражаемость и другие. \end{enumerate} Программные пакеты, позволяющие моделировать объекты виртуальной реальности и создавать на основе этих моделей изображения, очень разнообразны, и различаются по функционалу, сложности, аппаратным требованиям, цене и так далее. В данной работе будет рассматриваться программный пакет Blender 4.3. \newpage \section {Постановка задачи} В данной работе необходимо: \begin{enumerate} \item Ознакомиться с возможностями пакета Blender, которые позволяют создавать реалистическую модель; \item Выбрать три объекта реального мира и построить их визуализации в пакете Blender с учётом уникальных особенностей моделируемого объекта; \item Отразить характерные особенности объекта, такие как: \begin{itemize} \item Геометрическая форма \item Текстура и материал \item Цвет \item Освещение \end{itemize} \item Предоставить пошаговое руководство пользователя по получению результата. \end{enumerate} \newpage \section{Описание функциональных возможностей пакета Blender} Blender — это мощный и универсальный пакет для 3D-моделирования, анимации, рендеринга, скульптинга, композитинга и видео-монтажа. Он является бесплатным и с открытым исходным кодом, что делает его доступным для профессионалов и любителей. Blender используется в различных областях: \begin{itemize} \item 3D-моделирование — создание и редактирование трехмерных объектов. \item Анимация — разработка движущихся персонажей, эффектов и сцен. \item Рендеринг — визуализация изображений с использованием движков Cycles и Eevee. \item Скульптинг — цифровая лепка сложных форм. \item Текстурирование и UV-развертка — нанесение текстур на 3D-объекты. \item Физическая симуляция — моделирование воды, дыма, огня, тканей и т. д. \item Композитинг и постобработка — редактирование изображений и видео. \item Монтаж видео — встроенный видеоредактор для базового монтажа. \item Программирование (Python API) — создание аддонов и автоматизация процессов. \end{itemize} \subsection{Возможности программы} \subsubsection{3D-моделирование} Blender предлагает широкий набор инструментов для моделирования: \begin{itemize} \item Полигональное моделирование — редактирование вершин, рёбер и граней. \item NURBS и кривые — моделирование с использованием кривых Безье. \item Метаболлы — создание органических форм. \item Booleans (булевы операции) — вычитание, объединение и пересечение объектов. \item Модификаторы — неразрушающее изменение геометрии (Subdivision Surface, Mirror, Array и др.). \item Ретопология — оптимизация сетки для анимации и рендеринга. \end{itemize} \subsubsection{Цифровой скульптинг} Blender позволяет создавать детализированные модели с высокой точностью: \begin{itemize} \item Dyntopo (динамическая топология) — адаптивное деление сетки. \item Remesh — улучшение геометрии для дальнейшей работы. \item Маскировка — изоляция областей при скульптинге. \item Мультиразрешение — детализация сетки без потери формы. \item Кисти (Brushes) — набор инструментов для лепки (Clay, Inflate, Grab и др.). \end{itemize} \subsubsection{Анимация и риггинг} Blender имеет мощные инструменты для анимации: \begin{itemize} \item Keyframe Animation — покадровая анимация с интерполяцией. \item Armature (Кости) — создание скелетов для персонажей. \item Inverse Kinematics (IK) — автоматическое вычисление движения конечностей. \item Shape Keys (Формы ключей) — создание мимики и морфинга объектов. \item Graph Editor — контроль кривых анимации. \item Grease Pencil — 2D-анимация в 3D-пространстве. \end{itemize} \subsubsection{Рендеринг} Blender поддерживает несколько рендер-движков: \begin{itemize} \item Cycles — физически точный рендерер с трассировкой лучей (поддерживает GPU/CPU). \item Eevee — рендеринг в реальном времени с использованием растеризации. \item Workbench — быстрый рендер для предпросмотра моделей. \item Freestyle — стилизованный рендер (например, для комиксов). \end{itemize} \subsubsection{Текстурирование и UV-развертка} Blender предоставляет мощные инструменты для работы с текстурами: \begin{itemize} \item UV Mapping — развертка модели для наложения текстур. \item Texture Painting — рисование текстур прямо на модели. \item Shader Editor — создание сложных материалов с помощью узлов (nodes). \item Procedural Textures — генерация текстур на основе алгоритмов. \end{itemize} \subsubsection{Физическая симуляция} Blender позволяет имитировать физические явления: \begin{itemize} \item Cloth Simulation — симуляция тканей. \item Fluid \& Smoke Simulation — симуляция воды, дыма, огня. \item Soft Body — деформации мягких тел. \item Rigid Body — симуляция твердых тел. \item Particles — система частиц (пыль, искры, снег и т. д.). \end{itemize} \subsubsection{Композитинг и постобработка} Blender включает узловую систему композитинга: \begin{itemize} \item Color Correction — корректировка цветов и уровней. \item Blur \& Glare Effects — эффекты размытия и свечения. \item Depth of Field (DOF) — имитация фокусировки камеры. \item Green Screen (Chroma Key) — работа с хромакеем. \end{itemize} \subsubsection{Видеомонтаж (VSE - Video Sequence Editor)} Blender также может использоваться как видеоредактор: \begin{itemize} \item Обрезка и склейка клипов. \item Добавление эффектов и переходов. \item Работа с аудиодорожками. \end{itemize} \subsubsection{Программирование и автоматизация (Python API)} Blender позволяет создавать скрипты и аддоны: \begin{itemize} \item Автоматизация рутинных задач. \item Создание новых инструментов. \item Редактирование сцен и объектов через код. \end{itemize} \newpage \section{Описание объектов моделирования} \subsection{Объект моделирования №1} Объектом №1 является покерная фишка (Рис.~\ref{fig:chip/real/front}-\ref{fig:chip/real/side-view-right}). \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/real/front.jpg} \caption{Объект моделирования №1, вид с лицевой стороны.} \label{fig:chip/real/front} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/real/back.jpg} \caption{Объект моделирования №1, вид с обратной стороны.} \label{fig:chip/real/back} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/real/side-view-left.jpg} \caption{Объект моделирования №1, вид на лицевую сторону под углом слева.} \label{fig:chip/real/side-view-left} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/real/side-view-right.jpg} \caption{Объект моделирования №1, вид на лицевую сторону под углом справа.} \label{fig:chip/real/side-view-right} \end{figure} \newpage \textbf{Форма:} Покерная фишка представляет собой круглую плоскую дисковидную форму. На поверхности фишки есть небольшое колцевидное углубление. \textbf{Материал:} Фишка изготовлена из пластика и покрыта белой краской. Номинал и узоры нанесены синей краской. Поверхность ближе к матовой. \textbf{Особенности:} На фишке видны множественные дефекты покраски - отдельные точки и пятна синей краски, в особенности на лицевой стороне. \newpage \subsection{Объект моделирования №2} Объектом №2 является зажим от пакета с хлебом (Рис.~\ref{fig:clamp/real/front}-\ref{fig:clamp/real/writing}). \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/clamp/real/front.jpg} \caption{Объект моделирования №2, вид с лицевой стороны.} \label{fig:clamp/real/front} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/clamp/real/back.jpg} \caption{Объект моделирования №2, вид с обратной стороны.} \label{fig:clamp/real/back} \end{figure} \newpage \begin{figure}[h!] \centering \includegraphics[width=0.35\linewidth]{img/clamp/real/top.jpg} \caption{Объект моделирования №2, вид сверху.} \label{fig:clamp/real/top} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/clamp/real/writing.jpg} \caption{Объект моделирования №2, развёртка для демонстрации надписи.} \label{fig:clamp/real/writing} \end{figure} \textbf{Форма:} Зажим от пакета имеет форму деформированной плоскости с двумя цилиндрическими ободками сверху и снизу. \textbf{Материал:} Зажим изготовлен из пластика и покрыта красной краской. Внутри ободков находятся кусочки проволоки, за счёт которых зажим запоминает приданную ему форму. Надпись со сроком годности нанесена белой краской. \textbf{Особенности:} Объект имеет уникальную форму, которая была придана ему вручную специально для этой лабораторной работы. Также уникальной особенностью является надпись на объекте. В ней содержится срок годности и номер бригады -- <<09.03.25.2 - 1>>. \newpage \subsection{Объект моделирования №3} Объектом №3 является сломанная линейка (Рис.~\ref{fig:ruler/real/front}-\ref{fig:ruler/real/back-side}). \begin{figure}[h!] \centering \includegraphics[width=0.2\linewidth]{img/ruler/real/front.jpg} \caption{Объект моделирования №3, вид с лицевой стороны.} \label{fig:ruler/real/front} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.2\linewidth]{img/ruler/real/back.jpg} \caption{Объект моделирования №3, вид с обратной стороны.} \label{fig:ruler/real/back} \end{figure} \newpage \begin{figure}[h!] \centering \includegraphics[width=0.6\linewidth]{img/ruler/real/side.jpg} \caption{Объект моделирования №3, вид сбоку на лицевую сторону.} \label{fig:ruler/real/side} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/ruler/real/back-side.jpg} \caption{Объект моделирования №3, вид сбоку на обратную сторону.} \label{fig:ruler/real/back-side} \end{figure} \textbf{Форма:} Линейка имеет форму удлинённой плоской пластины с прямыми параллельными краями. Торец, на котором нанесены измерительные деления, скошен. \textbf{Материал:} Линейка изготовлена из пластика и покрыта чёрной краской. Измерительные деления и отметки нанесены белой краской. \textbf{Особенности:} Линейка имеет уникальный излом. Также она слегка погнута по всей длине. Видны следы продолжительной эксплуатации -- в некоторых местах стёрта краска, а в некоторых видны царапины. \newpage \section{Описание технологии разработки моделей} \subsection{Объект моделирования №1} \subsubsection{Реальные размеры изделия} Диаметр - 40 мм Высота - 2 мм Ложбинка - 0.4 мм \subsubsection{Моделирование} Добавим изображение фишки в сцену, чтобы использовать его как визуальный ориентир. Нажимаем на цифру 7 на Num Pad (или выбираем "Top" в меню View - Viewpoint), чтобы перейти на вид сверху. Затем нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и в разделе Image выбираем Reference. В открывшемся окне проводника выбираем изображение лицевой стороны покерной фишки и нажимаем Add~Image~(Рис.~\ref{fig:chip/modeling/1-add-reference}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/modeling/1-add-reference.png} \caption{Добавление изображения фишки.} \label{fig:chip/modeling/1-add-reference} \end{figure} \newpage Создадим цилиндрическую основу для будущей фишки. Нажимаем сочетание клавиш Shift + A (либо используем меню Add) и в разделе Mesh выбираем Cylinder (Рис.~\ref{fig:chip/modeling/2-add-cylinder}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/modeling/2-add-cylinder.png} \caption{Добавление цилиндра.} \label{fig:chip/modeling/2-add-cylinder} \end{figure} Активируем режим прозрачности для точного совмещения объектов. Нажимаем сочетание клавиш Alt + Z (или выбираем "X-Ray" в правом нижнем меню Viewport Shading), чтобы видеть изображение сквозь цилиндр. \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/modeling/3-alt-z.png} \caption{Режим прозрачности.} \label{fig:chip/modeling/3-alt-z} \end{figure} Подгоним размеры и позицию изображения под геометрию цилиндра. Выбираем изображение, затем используем масштабирование (клавиша S) и перемещение (клавиша G), совмещая центр цилиндра с центром фишки на референсе. Для точной настройки перемещаем курсор с зажатой клавишей Shift. Результат на Рис.~\ref{fig:chip/modeling/4-positioning}. \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/modeling/4-positioning.png} \caption{Результат подгонки изображения под размер цилиндра.} \label{fig:chip/modeling/4-positioning} \end{figure} \newpage Подготовим грани для формирования ложбинки. Нажимаем на цилиндр и переходим в режим редактирования (клавиша Tab или кнопка Edit Mode в верхнем меню). В режиме выбора граней (клавиша 3 или иконка Face Select) с зажатой клавишей Shift выбираем верхнюю и нижнюю грани цилиндра (Рис.~\ref{fig:chip/modeling/5-select-faces}). \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/modeling/5-select-faces.png} \caption{Выбор верхней и нижней граней цилиндра.} \label{fig:chip/modeling/5-select-faces} \end{figure} \newpage Создадим контур внешнего края ложбинки. Возвращаемся на вид сверху (клавиша 7 на Num Pad). Нажимаем клавишу I (или выбираем Inset Faces в меню Mesh > Faces), чтобы добавить внутреннюю грань. Выравниваем её по внешнему краю ложбинки, используя референс для точности позиционирования. \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/modeling/6-insert-faces.png} \caption{Добавление новых рёбер на верхней и нижней гранях цилиндра.} \label{fig:chip/modeling/6-insert-faces} \end{figure} Сформируем внутренний контур ложбинки. Снова нажимаем клавишу I и создаём вторую грань, выравнивая её по внутреннему краю ложбинки (Рис.~\ref{fig:img/chip/modeling/7-insert-inner-faces}). \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/modeling/7-insert-inner-faces.png} \caption{Добавление новых рёбер на верхней и нижней гранях цилиндра.} \label{fig:img/chip/modeling/7-insert-inner-faces} \end{figure} Уберём референс из рабочей области для удобства. Возвращаемся в объектный режим (клавиша Tab), выбираем изображение и нажимаем клавишу H (или используем меню Object > Show/Hide > Hide Selected). Зададим реальные размеры для модели. Нажимаем на цилиндр, затем клавишу N (или открываем меню View > Sidebar). В разделе Dimensions указываем: X/Y = 40mm, Z = 2mm. Нажимаем точку на Num Pad (или кнопку Frame Selected в правом верхнем углу) для фокусировки на модели (Рис.~\ref{fig:chip/modeling/8-sizing}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/chip/modeling/8-sizing.png} \caption{Указание размеров фишки.} \label{fig:chip/modeling/8-sizing} \end{figure} Применим масштабирование для корректной работы с размерами. Нажимаем сочетание клавиш Ctrl + A (или выбираем Apply > Scale в меню Object) и выбираем Scale (Рис.~\ref{fig:chip/modeling/9-scale}). \begin{figure}[h!] \centering \includegraphics[width=0.6\linewidth]{img/chip/modeling/9-scale.png} \caption{Применение функции Scale к модели.} \label{fig:chip/modeling/9-scale} \end{figure} \newpage Создадим углубления для ложбинки. В режиме редактирования (клавиша Tab) с зажатой Alt выделяем грани ложбинки. Переключаемся на вид сбоку (клавиша 1 на Num Pad), нажимаем E (или Extrude в меню Mesh), задаём Z = 0.6mm в панели Median. Повторяем для нижней части: вид снизу (Ctrl + 7), выделение граней, углубление с Z = -0.6mm (Рис.~\ref{fig:chip/modeling/10-trench}). \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/chip/modeling/10-trench.png} \caption{Формирование углублений ложбинки.} \label{fig:chip/modeling/10-trench} \end{figure} Сгладим геометрию для реалистичного вида. Отключаем X-Ray (Alt + Z), в объектном режиме добавляем модификатор Subdivision Surface (меню Modifier Properties > Add Modifier). Устанавливаем Levels Viewport/Render = 3. Применяем Shade Smooth через контекстное меню объекта (Рис.~\ref{fig:chip/modeling/11-shade-smooth}). \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/chip/modeling/11-shade-smooth.png} \caption{Сглаживание модели.} \label{fig:chip/modeling/11-shade-smooth} \end{figure} Добавим контрольные рёбра для сохранения чётких граней. В режиме редактирования используем инструмент Loop Cut (сочетание клавиш Ctrl + R) возле перепадов высот. На верхней и нижней поверхностях создаём дополнительные грани инструментом Inset (клавиша I) (Рис.~\ref{fig:chip/modeling/12-new-edges}). \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/chip/modeling/12-new-edges.png} \caption{Добавление новых рёбер для уточнения модели.} \label{fig:chip/modeling/12-new-edges} \end{figure} Теперь добавим подложку, на которой разместим текстуру стола. В боковом меню (клавиша N) в разделе Location в поле Z указываем значение 1mm, чтобы приподнять модель. Затем нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Mesh выбираем Plane (Рис.~\ref{fig:chip/modeling/13-plane}). Затем нажимаем H, чтобы временно скрыть добавленную поверхность. \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/chip/modeling/13-plane.png} \caption{Добавление плоскости.} \label{fig:chip/modeling/13-plane} \end{figure} \newpage \subsubsection{Текстурирование} Приступим к наложению текстур на модель фишки для придания ей реалистичного внешнего вида. Переходим в раздел UV Editing через верхнее меню программы. В правом окне активируем объектный режим с помощью клавиши Tab (либо через выпадающее меню в левом нижнем углу окна). Выделяем модель и приближаемся к ней, нажав клавишу точки на Num Pad (Рис.~\ref{fig:chip/texturing/1-start}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/chip/texturing/1-start.png} \caption{Раздел UV Editing.} \label{fig:chip/texturing/1-start} \end{figure} Настроим рендер-движок для корректного отображения материалов. В разделе Render Properties выбираем EEVEE в поле Render Engine. Активируем Raytracing, устанавливаем значение Threshold в 1 в подразделе Fast GI Approximation. Переключаемся в режим предпросмотра материалов с помощью сочетания клавиш Z + 2 (либо выбираем режим Material Preview через меню Viewport Shading в верхней панели) (Рис.~\ref{fig:chip/texturing/2-settings}). \begin{figure}[h!] \centering \includegraphics[width=0.6\linewidth]{img/chip/texturing/2-settings.png} \caption{Настройка движка EEVEE для корректного отображения текстур.} \label{fig:chip/texturing/2-settings} \end{figure} Создадим материалы для текстур фишки. Открываем раздел Material Properties и добавляем новый материал, нажимая на кнопку New. В поле Base Color указываем значение \#9FAAB1FF. Затем нажимаем на + и снова на New, чтобы добавить ещё один материал. В разделе Base Color нажимаем на жёлтый кружок и выбираем пункт Image Texture (Рис.~\ref{fig:chip/texturing/3-image-texture}). В открывшемся окне проводника выбираем изображение фишки сверху. Изображение фишки снизу добавляем аналогичным образом. \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/chip/texturing/3-image-texture.png} \caption{Добавление изображения текстуры.} \label{fig:chip/texturing/3-image-texture} \end{figure} Выполним UV-развёртку для точного наложения текстур. Переходим в режим редактирования клавишей Tab (либо через меню Mode). Активируем вид сверху клавишей 7 на Num Pad (меню View → Top). Выделяем все видимые грани в режиме выбора поверхностей (клавиша 3) и назначаем материал с текстурой фишки кнопкой Assign (Рис.~\ref{fig:chip/texturing/4-assigning}). \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/chip/texturing/4-assigning.png} \caption{Применение материалов с текстурой к выбранным граням.} \label{fig:chip/texturing/4-assigning} \end{figure} Отредактируем UV-координаты для точного совпадения с изображением. На панели слева распологаем проекцию поверхностей на текстуре таким образом, чтобы форма поверхности совпадала с изображением. Аналогичным образом накладываем материал с текстурой обратной стороны фишки (Рис.~\ref{fig:chip/texturing/5-uv-editing}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/texturing/5-uv-editing.png} \caption{Подгонка изображения текстуры.} \label{fig:chip/texturing/5-uv-editing} \end{figure} Добавим текстуру для поверхности стола. Возвращаем скрытую ранее плоскость стола сочетанием клавиш Alt + H (меню Object → Show/Hide → Show Hidden). В разделе Material Properties добавляем новый материал и в поле Base Color указываем текстуру стола. С помощью клавишы S в левом окне можно подогнать размеры текстуры (Рис.~\ref{fig:chip/texturing/6-table}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/texturing/6-table.png} \caption{Добавление текстуры стола.} \label{fig:chip/texturing/6-table} \end{figure} \newpage \subsubsection{Освещение и камера} Настроим освещение сцены для финального рендеринга. Переходим в раздел Shading в верхнем меню программы. Нажимаем на модель и нажимаем на точку на Num Pad, чтобы приблизиться к ней. После чего используем сочетание клавиш Z + 8, чтобы перейти в режим предпросмотра результата. Создадим фоновое освещение через HDRI-карту. На панели редактирования материалов нужно переключиться на вкладку World. Нажать сочетание клавиш Shift + A и в разделе Texture выбрать Image Texture (меню Add → Texture → Image Texture). Выход Color узла Image Texture необходимо подключить ко входу Color узла Background. В Image Texture указывается путь до HDRI текстуры окружения, которая поставляется вместе с Blender -- \texttt{C:\textbackslash Program Files\textbackslash Blender Foundation\textbackslash Blender 4.3\textbackslash 4.3\textbackslash datafiles\textbackslash studiolights\textbackslash world\textbackslash }. В параметре Strength узла Background указываем значение 0.200 (Рис.~\ref{fig:chip/lighting/1_start}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/lighting/1_start.png} \caption{Настройка общего освещения сцены.} \label{fig:chip/lighting/1_start} \end{figure} Добавим дополнительные источники света для создания теней как на исходных изображениях. Переключаемся на вид сбоку (клавиша 1 на Num Pad), нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Light выбираем Point. С помощью клавиши G располагаем источник света слева сверху над моделью. Для этого в боковом меню (клавиша N) в разделе Location в поле X указываем -0.3m, в поле Z указываем 0.2m. В разделе Object Data Properties в поле Power устанавливаем значение 4.5W. Затем дублируем источник света с помощью сочетания клавиш Shift + D и располагаем с противоположной стороны. Источнику света слева задаём синеватый оттенок (\#C5FBFF) в поле Color раздела Object Data Properties (Рис.~\ref{fig:chip/lighting/2_points}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/lighting/2_points.png} \caption{Расположение дополнительных источников освещения.} \label{fig:chip/lighting/2_points} \end{figure} \newpage Теперь добавим камеру, чтобы зафиксировать ракурс для рендеринга. Для этого нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и выбираем пункт Camera. Теперь располагаем её ровно над моделью, чтобы получить изображение вида сверху. В боковом меню (клавиша N) в разделе Location в Z указываем значение 0.15m, а в разделе Rotation в поле X укажем значение 0. В разделе Object Data Properties в подразделе Lens в поле Focal Length указываем значение 110mm. Нажимаем 0 на Num Pad, чтобы переключиться на вид с камеры (Рис.~\ref{fig:chip/lighting/3_camera}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/chip/lighting/3_camera.png} \caption{Расположение камеры.} \label{fig:chip/lighting/3_camera} \end{figure} \newpage \subsubsection{Рендеринг финальных изображений} Для настройки рендеринга открываем Render Properties. В поле Render Engine выбираем значение Cycles. В разделе Sampling/Render в поле Max Samples указываем значение 128, чтобы ускорить рендеринг (Рис.~\ref{fig:chip/render/1_settings}). \begin{figure}[h!] \centering \includegraphics[width=0.33\linewidth]{img/chip/render/1_settings.png} \caption{Настройки рендеринга.} \label{fig:chip/render/1_settings} \end{figure} Нажимаем клавишу F12 и ожидаем некоторое время до окончания процесса рендеринга. Результаты представлены на Рис.~\ref{fig:compare-front}--\ref{fig:compare-side}. \begin{figure}[h!] \centering \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/chip/render/front.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/chip/real/front.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид с лицевой стороны.} \label{fig:compare-front} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/chip/render/back.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/chip/real/back.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид с обратной стороны.} \label{fig:compare-back} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/chip/render/side-view.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/chip/real/side-view-right.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сбоку справа.} \label{fig:compare-side} \end{figure} \newpage \phantom{text} \newpage \subsection{Объект моделирования №2} \subsubsection{Реальные размеры изделия} Ширина - 21 мм Высота - 7 мм Диаметр ободков - 1 мм Толщина пластика между ободками - 0.3 мм \subsubsection{Моделирование} Для точного воссоздания формы добавим референсное изображение. Нажимаем на цифру 7 на Num Pad (или выбираем вид сверху через меню View), чтобы перейти на вид сверху. Затем нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и в разделе Image выбираем Reference. В открывшемся окне проводника выбираем изображение зажима и нажимаем Add~Image~(Рис.~\ref{fig:clamp/modeling/1-add-reference}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/modeling/1-add-reference.png} \caption{Добавление изображения зажима.} \label{fig:clamp/modeling/1-add-reference} \end{figure} Создадим базовую плоскость для построения контура. Нажимаем сочетание клавиш Shift + A (либо открываем меню Add) и в разделе Mesh выбираем Plane (Рис.~\ref{fig:clamp/modeling/2-add-plane}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/modeling/2-add-plane.png} \caption{Добавление плоскости.} \label{fig:clamp/modeling/2-add-plane} \end{figure} Приступим к формированию контура зажима по референсу. Переходим в режим редактирования (клавиша Tab) и в режиме выбора вершин (клавиша 1) с зажатой клавишей Shift выбираем три любых вершины добавленной плоскости. Нажимаем на клавишу X (либо используем опцию Delete в контекстном меню) и в появившемся меню выбираем пункт Vertex, чтобы удалить эти вершины. Выделяем оставшуюся вершину и с помощью клавишы G переносим её в крайнюю точку ободка зажима. Затем нажимаем клавишу E, чтобы добавить новую точку. Таким образом делаем окантовку для всего зажима (Рис.~\ref{fig:clamp/modeling/3-border}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/modeling/3-border.png} \caption{Создание окантовки.} \label{fig:clamp/modeling/3-border} \end{figure} \newpage Зададим реальные размеры модели. Переходим в объектный режим (клавиша Tab). Выделяем изображение и скрываем (клавиша H), оно больше не понадобится. Теперь выделяем полученную линию окантовки и в боковом меню (клавиша N) в разделе Dimensions в поле X указываем реальную ширину объекта -- 21mm. После чего значение поля X из раздела Scale копируем в поле Y того же раздела, чтобы сохранить пропорции при масштабировании (Рис.~\ref{fig:clamp/modeling/4-sizes}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/clamp/modeling/4-sizes.png} \caption{Задание реальных размеров.} \label{fig:clamp/modeling/4-sizes} \end{figure} Перейдём к созданию объёмных ободков. Переключаемся на вид сбоку (клавиша 1 на Num Pad или меню View), копируем контур сочетанием клавиш Shift + D (через меню Object > Duplicate). Поднимаем копию выше исходного контура, затем конвертируем её в кривую через правый клик > Convert To > Curve. Сформируем профиль для будущего ободка. Нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и в разделе Mesh выбираем Circle. В боковом меню (клавиша N) в разделе Dimensions задаём диаметр ободков -- 1mm в полях X и Y. Конвертируем круг в кривую через правый клик > Convert To > Curve (Рис.~\ref{fig:clamp/modeling/5-circle}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/clamp/modeling/5-circle.png} \caption{Конвертация круга из меша в кривую.} \label{fig:clamp/modeling/5-circle} \end{figure} Создадим трёхмерный ободок. Выбираем добавленный круг и нажимаем сочетание клавиш Ctrl + A и в появившемся списке выбираем пункт Scale. Затем выбираем скопированную окантовку, открваем раздел Object Data Properties и в подразделе Geometry/Bevel выбираем вариант Object. Нажимаем на иконку пипетки и выбираем круг и нажимаем на галочку у поля Fill Caps (Рис.~\ref{fig:clamp/modeling/6-bevel}). \begin{figure}[h!] \centering \includegraphics[width=0.85\linewidth]{img/clamp/modeling/6-bevel.png} \caption{Создание ободка.} \label{fig:clamp/modeling/6-bevel} \end{figure} Сформируем боковые стенки зажима. Полученный ободок и круг пока можно скрыть (клавиша H или меню Object > Show/Hide > Hide Selected). В объектном режиме выбираем исходную окантовку зажима и переходим в режим редактирования (клавиша Tab). Выбираем все вершины (клавиша A или меню Select > Select All) и расширяем окантовку вверх (сочетание клавиш E + Z). Возвращаемся в объектный режим (клавиша Tab). В боковом меню (клавиша N) в разделе Dimensions в поле Z указываем высоту чуть меньше реальной высоты объекта -- 6.5mm. В разделе Location в поле Z указываем значение 0.5mm. Нажимаем сочетание клавиш Ctrl + A и выбираем пункт Scale (Рис.~\ref{fig:clamp/modeling/7-sides}). \begin{figure}[h!] \centering \includegraphics[width=0.75\linewidth]{img/clamp/modeling/7-sides.png} \caption{Создание боковых сторон зажима.} \label{fig:clamp/modeling/7-sides} \end{figure} Продолжаем работать с боковыми стенками. Сгладим полученную модель, чтобы границы полигонов не бросались в глаза. В разделе Modifier Properties нажимаем на кнопку Add Modifier и добавляем модификатор Subdivision Surface из раздела Generate. В поле Level указываем значение 2. Затем добавляем ещё один модификатор из раздела Generate -- Solidify, чтобы добавить стенкам толщины. В поле Mode выбираем значение Complex. В поле Thickness указываем половину от толщины пластика -- 0.15mm. В поле Offset указываем значение 0. Затем нажимаем сочетание клавиш Ctrl + A, чтобы применить модификатор Solidify (Рис.~\ref{fig:clamp/modeling/8-modifiers}). \begin{figure}[h!] \centering \includegraphics[width=0.85\linewidth]{img/clamp/modeling/8-modifiers.png} \caption{Придание толщины зажиму.} \label{fig:clamp/modeling/8-modifiers} \end{figure} Добавим рёбра для сохранения чётких граней. Переходим в режим редактирования (клавиша Tab). Нажимаем сочетание Ctrl + R (или выбираем инструмент Loop Cut), чтобы добавить новые грани и убрать излишнее сглаживание по краям объекта. Возвращаемся в объектный режим (клавиша Tab). Нажимаем на объект правой кнопкой мыши и выбираем пункт Shade Smooth,чтобы сгладить стыки граней (Рис.~\ref{fig:clamp/modeling/9-new-edges}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/clamp/modeling/9-new-edges.png} \caption{Добавление новых граней.} \label{fig:clamp/modeling/9-new-edges} \end{figure} Теперь сгладим ободок. Возвращаем его на сцену (сочетание клавиш Alt + H или через меню Object → Show/Hide → Show Hidden). В Modifier Properties добавляем модификатор Subdivision Surface из раздела Generate. В поле Levels указываем значение 2. Нажимаем на ободок правой кнопкой мыши и выбираем пункт Shade Smooth. В боковом меню (клавиша N) в разделе Location в поле Z указываем значение 0.5mm (Рис.~\ref{fig:clamp/modeling/10-bottom}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/clamp/modeling/10-bottom.png} \caption{Установка и сглаживание нижнего ободка.} \label{fig:clamp/modeling/10-bottom} \end{figure} Устраним артефакты на месте пересечения граней. Переходим в режим редактирования (клавиша Tab). Выделяем крайние точки на ободке и чуть-чуть сдвигаем (клавиша G) с зажатой клавишей Shift, чтобы грани ободка и основной части зажима не накладывались друг на друга (Рис.~\ref{fig:clamp/modeling/11-faces}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/clamp/modeling/11-faces.png} \caption{Устранение артефактов на стыке граней.} \label{fig:clamp/modeling/11-faces} \end{figure} Создадим верхний ободок дублированием. Возвращаемся в объектный режим (клавиша Tab). Копируем нижний ободок с помощью сочетания клавиш Alt + D (меню Object > Duplicate). В боковом меню (клавиша N) в разделе Locataion в поле Z указываем значение 7mm (Рис.~\ref{fig:clamp/modeling/12-copy}). \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/clamp/modeling/12-copy.png} \caption{Установка верхнего ободка.} \label{fig:clamp/modeling/12-copy} \end{figure} Теперь добавим плоскость, на которой разместим текстуру стола. Нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Mesh выбираем Plane (Рис.~\ref{fig:clamp/modeling/13-plane}). Затем нажимаем H (меню Object > Show/Hide > Hide Selected), чтобы временно скрыть добавленную поверхность. \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/clamp/modeling/13-plane.png} \caption{Добавление плоскости.} \label{fig:clamp/modeling/13-plane} \end{figure} \newpage \subsubsection{Текстурирование} Для наложения текстур на модель необходимо подготовить UV-развёртку и настроить материалы.Переходим в раздел UV Editing в верхнем меню программы. В правом окне переключаемся в объектный режим (клавиша Tab), нажимаем на модель и нажимаем на точку на Num Pad, чтобы приблизиться к ней (Рис.~\ref{fig:clamp/texturing/1-start}). \begin{figure}[h!] \centering \includegraphics[width=0.85\linewidth]{img/clamp/texturing/1-start.png} \caption{Раздел UV Editing.} \label{fig:clamp/texturing/1-start} \end{figure} Настроим рендер-движок для корректного отображения материалов. В разделе Render Properties в поле Render Engine выбираем EEVEE, ставим галочку на разделе Raytracing и в его подразделе Fast GI Approximation в поле Threshold указыем значение 1. После чего нажимаем сочетание клавиш Z + 2 (либо выбираем режим Material Preview через меню Viewport Shading в верхней панели), чтобы переключиться в режим предпросмотра материалов (Рис.~\ref{fig:clamp/texturing/2-settings}). \begin{figure}[h!] \centering \includegraphics[width=0.65\linewidth]{img/clamp/texturing/2-settings.png} \caption{Настройка движка EEVEE для корректного отображения текстур.} \label{fig:clamp/texturing/2-settings} \end{figure} Создадим материал для нижнего ободка. Нажимаем на него левой кнопкой мыши и открываем раздел Material Properties. Нажимаем на кнопку New, чтобы добавить новый материал. В поле Base Color указываем значение \#A61625 (Рис.~\ref{fig:clamp/texturing/3-color}). \begin{figure}[h!] \centering \includegraphics[width=0.75\linewidth]{img/clamp/texturing/3-color.png} \caption{Покраска ободков.} \label{fig:clamp/texturing/3-color} \end{figure} Перейдём к созданию сложного материала для основной части с текстурированной надписью. Переходим в раздел Shading. Выбираем основную часть зажима и добавляем новый материал для него. Для этого нажимаем на кнопку New на панели ниже. Затем нажимаем сочетание клавиш Shift + A (или через меню Add) и в разделе Color выбираем Hue/Saturation/Value. В поле Color добавленного узла указываем значение \#A61625. Снова нажимаем Shift + A и в разделе Texture выбираем Image Texture, в которой указываем путь до текстуры с надписью (Рис.~\ref{fig:clamp/real/writing-no-bg}), в поле Extension указываем значение Clip, чтобы изображение с надписью не повторялось. Добавляем ещё один узел из раздела Color -- Mix Color. Соединяем узлы как показано на Рис.~\ref{fig:clamp/texturing/4-nodes}. \begin{figure}[h!] \centering \includegraphics[width=0.85\linewidth]{img/clamp/texturing/4-nodes.png} \caption{Графовое представление материала основной части зажима.} \label{fig:clamp/texturing/4-nodes} \end{figure} \begin{figure}[h!] \centering \includegraphics[width=0.5\linewidth]{img/clamp/real/writing-no-bg.png} \caption{Текстура надписи на объекте моделирования.} \label{fig:clamp/real/writing-no-bg} \end{figure} Возвращаемся на вкладку UV Editing. Переключаемся в режим выбора граней (клавиша 3) и выделяем все грани, на которых будет расположена надпись. Нажимаем клавишу U и в разделе Unwrap выбираем пункт Angle Based, чтобы создать развёртку этих граней. Теперь в левом окне подгоняем развёртку под изображение, используя клавишы G, S и R (Рис.~\ref{fig:clamp/texturing/5-uv}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/texturing/5-uv.png} \caption{Корректировка UV развёртки текстуры с надписью.} \label{fig:clamp/texturing/5-uv} \end{figure} Теперь можно вернуть поверхность, созданную на этапе моделирования (Alt~+~H или через меню Object → Show/Hide → Show Hidden), и добавить к ней материал с текстурой стола. В разделе Material Properties добавляем новый материал и в поле Base Color указываем текстуру стола. С помощью клавишы S в левом окне можно подогнать размеры текстуры (Рис.~\ref{fig:clamp/texturing/6-table}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/texturing/6-table.png} \caption{Добавление текстуры стола.} \label{fig:clamp/texturing/6-table} \end{figure} \newpage \subsubsection{Освещение и камера} Настроим освещение сцены для финального рендеринга. Переходим в раздел Shading в верхнем меню программы. После чего используем сочетание клавиш Z + 8, чтобы перейти в режим предпросмотра результата. Создадим фоновое освещение через HDRI-карту. На панели редактирования материалов нужно переключиться на вкладку World. Нажать сочетание клавиш Shift + A и в разделе Texture выбрать Image Texture (меню Add → Texture → Image Texture). Выход Color узла Image Texture необходимо подключить ко входу Color узла Background. В Image Texture указывается путь до HDRI текстуры окружения, которая поставляется вместе с Blender -- \texttt{C:\textbackslash Program Files\textbackslash Blender Foundation\textbackslash Blender 4.3\textbackslash 4.3\textbackslash datafiles\textbackslash studiolights\textbackslash world\textbackslash interior.exr} (Рис.~\ref{fig:clamp/lighting/1-start}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/lighting/1-start.png} \caption{Настройка общего освещения сцены.} \label{fig:clamp/lighting/1-start} \end{figure} Добавим дополнительные источники света для создания теней как на исходных изображениях. Нажимаем Shift + A и в разделе Light выбираем Point (меню Add → Light → Point). В боковом меню (клавиша N) в разделе Location в поле X указываем 0.01m, в поле Y указываем -0.4m, в поле Z указываем 0.5m. В разделе Object Data Properties в поле Power устанавливаем значение 4.5W. Нажимаем на точку на Num Pad, чтобы перейти к источнику света, и переключаемся на вид сверху (клавиша 7 на Num Pad или через меню View → Top). Затем дублируем источник света дважды с помощью сочетания клавиш Shift + D. Копии располагаем рядом с исходным источником для имитации лампочек в люстре, именно такое освещения было в момент создания фотографий. Источникам света задаём цвет \#CCDEFF в поле Color раздела Object Data Properties (Рис.~\ref{fig:clamp/lighting/2-points}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/lighting/2-points.png} \caption{Расположение дополнительных источников освещения.} \label{fig:clamp/lighting/2-points} \end{figure} \newpage Теперь добавим камеру, чтобы зафиксировать ракурс для рендеринга. Для этого нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и выбираем пункт Camera. Теперь располагаем перед моделью, чтобы получить вида сбоку как на фотографии. В боковом меню (клавиша N) в разделе Location в поле X указываем 0.062m, в поле Y указываем -0.09m, в поле Z указываем 0.066m, а в разделе Rotation в поле X укажем значение 60, в поле Z -- 34. В разделе Object Data Properties в подразделе Lens в поле Focal Length указываем значение 140mm. Нажимаем 0 на Num Pad, чтобы переключиться на вид с камеры (Рис.~\ref{fig:clamp/lighting/3-camera}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/clamp/lighting/3-camera.png} \caption{Расположение камеры.} \label{fig:clamp/lighting/3-camera} \end{figure} \newpage \subsubsection{Рендеринг финальных изображений} Для настройки рендеринга открываем Render Properties. В поле Render Engine выбираем значение Cycles. В разделе Sampling/Render в поле Max Samples указываем значение 128, чтобы ускорить рендеринг (Рис.~\ref{fig:chip/render/1_settings}). \begin{figure}[h!] \centering \includegraphics[width=0.33\linewidth]{img/chip/render/1_settings.png} \caption{Настройки рендеринга.} \label{fig:chip/render/1_settings} \end{figure} Нажимаем клавишу F12 и ожидаем некоторое время до окончания процесса рендеринга. Результаты представлены на Рис.~\ref{fig:clamp-compare-front}--\ref{fig:clamp-compare-top}. \begin{figure}[h!] \centering \begin{subfigure}{0.46\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/render/front.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/real/front.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид с лицевой стороны.} \label{fig:clamp-compare-front} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.425\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/render/other-side.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/real/other-side.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сбоку справа.} \label{fig:clamp-compare-back} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/render/side.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.40\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/real/side.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сбоку слева.} \label{fig:clamp-compare-side} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.54\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/render/top.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.35\linewidth} \centering \includegraphics[width=\linewidth]{img/clamp/real/top.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сверху.} \label{fig:clamp-compare-top} \end{figure} \newpage \subsection{Объект моделирования №3} \subsubsection{Реальные размеры изделия} Ширина - 27 мм Длина - 126 мм Толщина - 2 мм \subsubsection{Моделирование} Создадим основу будущей линейки, используя примитив куб. Нажимаем сочетание клавиш Shift + A (либо выбираем Add в верхнем меню) и в разделе Mesh выбираем Cube. Затем в боковом меню (клавиша N) задаём ему реальные размеры линейки. В разделе Dimensions в поле X указываем 126mm, в поле Y -- 27mm, в поле Z -- 2mm. Нажимаем на точку на Num Pad, чтобы приблизиться к модели (Рис.~\ref{fig:ruler/modeling/1-add-cube}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/modeling/1-add-cube.png} \caption{Добавление основы для линейки.} \label{fig:ruler/modeling/1-add-cube} \end{figure} Добавим сглаживание для придания модели естественных форм. В разделе Modifier Properties нажимаем на кнопку Add Modifier и добавляем модификатор Subdivision Surface из раздела Generate. В поле Levels Viewport и Render указываем значение 3 (Рис.~\ref{fig:ruler/modeling/2-subdivision}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/modeling/2-subdivision.png} \caption{Добавление модификатора Subdivision Surface.} \label{fig:ruler/modeling/2-subdivision} \end{figure} Уточним геометрию модели путём добавления рёбер. Переключаемся на вид сверху (клавиша 7 на Num Pad или через меню View → Top). Переходим в режим редактирования (клавиша Tab). Нажимаем сочетание клавиш Ctrl + R (инструмент Loop Cut) и добавляем новые рёбра по краям линейки (Рис.~\ref{fig:ruler/modeling/3-edges}). \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/ruler/modeling/3-edges.png} \caption{Добавление новых рёбер.} \label{fig:ruler/modeling/3-edges} \end{figure} Сформируем скос на торце линейки. Переключаемся на вид сбоку (клавиша 3 на Num Pad) и переходим в режим прозрачности (сочетание клавиш Alt + Z, либо через иконку X-Ray в правом верхнем углу). Выделяем две крайние верхние вершины с левой стороны линейки и сдвигаем вправо по горизонтали (сочетание клавиш G + Y) (Рис.~\ref{fig:ruler/modeling/4-skew}). \begin{figure}[h!] \centering \includegraphics[width=0.9\linewidth]{img/ruler/modeling/4-skew.png} \caption{Создание скоса.} \label{fig:ruler/modeling/4-skew} \end{figure} Режим прозрачности можно отключить (сочетание клавиш Alt + Z, либо через иконку X-Ray в правом верхнем углу). Возвращаемся в объектный режим (клавиша Tab). Нажимаем по модели линейки правой кнопкой мыши и выбираем пункт Shade Smooth, чтобы сгладить стыки граней. Добавляем невидимый объект с напрявляющими для управления деформацией изгиба. Нажимаем сочетание клавиш Shift + A (либо выбираем Add в верхнем меню) и в разделе Empty выбираем Arrows. В разделе Object Properties в подразделе Rotation в поле X указываем значение -90, в поле Z 90 (Рис.~\ref{fig:ruler/modeling/5-arrows}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/modeling/5-arrows.png} \caption{Добавление объекта Arrows.} \label{fig:ruler/modeling/5-arrows} \end{figure} Смоделируем изгиб линейки. Выбираем линейку и в разделе Modifier Properties добавляем модификатор Simple Deform из раздела Deform. В настройках модификатора выбираем вариант Bend, в поле Angle указываем значени 10, в поле Object выбираем только что добавленный объект Arrows (Рис.~\ref{fig:ruler/modeling/6-bend}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/modeling/6-bend.png} \caption{Создание изгиба линейки.} \label{fig:ruler/modeling/6-bend} \end{figure} Линейку и стрелки можно временно скрыть (клавиша H, либо меню Object > Show/Hide > Hide Selected). Перейдём к моделированию излома. Добавим плоскость, для этого нажимаем сочетание клавиш Shift + A (либо выбираем Add в верхнем меню) и в разделе Mesh выбираем Plane. В боковом меню (клавиша N) задаём её размеры. В разделе Dimensions в поле X указываем 126mm, в поле Y -- 27mm (Рис.~\ref{fig:ruler/modeling/7-plane}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/modeling/7-plane.png} \caption{Добавление плоскости.} \label{fig:ruler/modeling/7-plane} \end{figure} \newpage Импортируем референсное изображение для точного моделирования. Нажимаем на цифру 7 на Num Pad (или через меню View → Top), чтобы перейти на вид сверху. Затем нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Image выбираем Reference. В открывшемся окне проводника выбираем изображение линейки и нажимаем Add~Image. Затем масштабируем линейку под размер плоскости. Для этого в боковом меню (клавиша N) в разделе Scale достаточно указать значение 0.025 по всем осям (Рис.~\ref{fig:ruler/modeling/8-reference}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/modeling/8-reference.png} \caption{Добавление изображения линейки.} \label{fig:ruler/modeling/8-reference} \end{figure} Включаем режим прозрачности сочетанием клавиш Alt + Z. Переходим в режим редактирования (клавиша Tab). Выделяем угловые вершины плоскости и располагаем на краях линейки. Затем переходим в режим выделения рёбер (клавиша 2), выбираем ребро со стороны излома, нажимаем клавишу X и выбираем пункт Edges, чтобы удалить его (Рис.~\ref{fig:ruler/modeling/9-remove-edge}). \begin{figure}[h!] \centering \includegraphics[width=0.55\linewidth]{img/ruler/modeling/9-remove-edge.png} \caption{Удаление ребра.} \label{fig:ruler/modeling/9-remove-edge} \end{figure} Переходим в режим выделения вершин (клавиша 1) и выбираем левую нижнюю вершину. С помощью клавишы E создаём новые рёбра по изображению линейки (Рис.~\ref{fig:ruler/modeling/10-break}). \begin{figure}[h!] \centering \includegraphics[width=0.55\linewidth]{img/ruler/modeling/10-break.png} \caption{Воссоздание нижней части излома линейки.} \label{fig:ruler/modeling/10-break} \end{figure} Затем выбираем две вершины в левом верхнем углу и объединяем. Для этого нажимаем на клавишу M и выбираем пункт At Last (Рис.~\ref{fig:ruler/modeling/11-merge}). \begin{figure}[h!] \centering \includegraphics[width=0.6\linewidth]{img/ruler/modeling/11-merge.png} \caption{Объединение вершин.} \label{fig:ruler/modeling/11-merge} \end{figure} Переходим на вид сбоку, нажимаем клавишу E и приподнимаем появишуюся копию плоскости (Рис.~\ref{fig:ruler/modeling/12-select}). \begin{figure}[h!] \centering \includegraphics[width=0.6\linewidth]{img/ruler/modeling/12-select.png} \caption{Придание толщины для плоскости.} \label{fig:ruler/modeling/12-select} \end{figure} Переключаемся на вид сверху (клавиша 7 на Num Pad или через меню View → Top). И с помощью сочетания клавиш G + X по отдельности выравниваем точки по верхней части излома (Рис.~\ref{fig:ruler/modeling/13-break-top}). \begin{figure}[h!] \centering \includegraphics[width=0.55\linewidth]{img/ruler/modeling/13-break-top.png} \caption{Воссоздание верхней части излома линейки.} \label{fig:ruler/modeling/13-break-top} \end{figure} \newpage С зажатой клавишей Alt выделяем любую вершну на нижней грани излома и нажимаем на клавишу F. Затем проделываем аналогичную операцию с любой вершиной верхней грани (Рис.~\ref{fig:ruler/modeling/14-fill}). \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/ruler/modeling/14-fill.png} \caption{Создание верхней и нижней граней у объекта с изломом.} \label{fig:ruler/modeling/14-fill} \end{figure} Переходим в объектный режим (клавиша Tab) и в боковом меню (клавиша N) в разделе Dimensions в поле Z указываем 2.1mm, а в поле Y -- 28mm. Нажимаем по объекту правой кнопкой мыши, в разделе Set Origin выбраем пункт Origin to Geometry. Затем в боковом меню в поле Z раздела Location указываем значение 0. Изображение больше не понадобится и его можно скрыть (клавиша H) (Рис.~\ref{fig:ruler/modeling/15-scale-locale}). \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/ruler/modeling/15-scale-locale.png} \caption{Задание нужной позиции и размеров.} \label{fig:ruler/modeling/15-scale-locale} \end{figure} Нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Mesh выбираем Cube. В боковом меню (клавиша N) указываем его размеры и позицию. В разделе Dimensions в поле X указываем 20mm, в поле Y -- 275mm, в поле Z -- 2.05mm. В разделе Locataion в поле X указываем -0.06m (Рис.~\ref{fig:ruler/modeling/16-cube}). \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/ruler/modeling/16-cube.png} \caption{Добавление ещё одного объекта для отражения излома.} \label{fig:ruler/modeling/16-cube} \end{figure} Затем в разделе Modifier Properties добавляем модификатор Boolean из раздела Generate. В поле Object указываем объект с изломом. После этого объект с изломом можно скрыть (клавиша H) (Рис.~\ref{fig:ruler/modeling/17-diff}). \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/ruler/modeling/17-diff.png} \caption{Результат вычитания излома из объекта.} \label{fig:ruler/modeling/17-diff} \end{figure} Возвращаем скрытую модель линейки (Alt + H) и в разделе Modifier Properties добавляем модификатор Boolean из раздела Generate. В поле Object указываем новый объект с изломом, полученный на предыдущем шаге. Модификатор располагаем Boolean располагаем между модификаторами Subdivision Surface и Simple Deform, которые были добавлены ранее. Объект с изломом можно скрыть (клавиша H) (Рис.~\ref{fig:ruler/modeling/18-final-diff}). \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/ruler/modeling/18-final-diff.png} \caption{Вычитание излома из объекта линейки.} \label{fig:ruler/modeling/18-final-diff} \end{figure} \newpage \subsubsection{Текстурирование} Перед началом текстурирования модификаторы Subdivision Surface и Boolean нужно применить. Для этого выделяем их в разделе Modifier Properties и нажимаем сочетание клавиш Ctrl + A. Затем переходим в режим редактирования (клавиша Tab). Модификатор Simple Deform можно временно отключить, для этого нужно нажать на иконку компьютера в его настройках (Рис.~\ref{fig:ruler/texturing/1-apply}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/texturing/1-apply.png} \caption{Применение модификаторов.} \label{fig:ruler/texturing/1-apply} \end{figure} Переходим во вкладку UV Editing. В разделе Render Properties в поле Render Engine выбираем EEVEE, ставим галочку на разделе Raytracing и в его подразделе Fast GI Approximation в поле Threshold указыем значение 1. После чего нажимаем сочетание клавиш Z + 2, чтобы переключиться в режим предпросмотра материалов (Рис.~\ref{fig:ruler/texturing/2-settings}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/texturing/2-settings.png} \caption{Настройка движка EEVEE для корректного отображения текстур.} \label{fig:ruler/texturing/2-settings} \end{figure} Переходим в раздел Material Properties и создаём новый материал. В поле Base Color указываем ему цвет \#142735. Нажимаем на иконку плюса рядом со списком материалов и добавляем ещё два слота. В обоих слотах создаём материалы и в поле Base Color выбираем Image Texture и указываем пути до текстур верхней и нижней граней линейки (Рис.~\ref{fig:ruler/texturing/3-materials}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/ruler/texturing/3-materials.png} \caption{Создание материалов.} \label{fig:ruler/texturing/3-materials} \end{figure} Переходим в режим редактирования (клавиша Tab). И в режиме выбора граней (клавиша 3) выделяем все грани на верхней стороне линейки. Затем в разделе Material Properties выбираем материал с текстурой лицевой стороны линейки и нажимаем Assign. Затем переключаемся на вид сверху (клавиша 7 на Num Pad или через меню View → Top), нажимаем клавишу U и выбираем пункт Project from View (Bounds), чтобы создать UV развёртку верхней поверхности линейки (Рис.~\ref{fig:ruler/texturing/4-top-uv}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/texturing/4-top-uv.png} \caption{Наложение текстуры на лицевую сторону линейки.} \label{fig:ruler/texturing/4-top-uv} \end{figure} \newpage В левом окне подгоняем UV развёртку под текстуру используя клавишы G и S (Рис.~\ref{fig:ruler/texturing/5-top-uv-tuning}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/ruler/texturing/5-top-uv-tuning.png} \caption{Подгонка UV развёртки под текстуру.} \label{fig:ruler/texturing/5-top-uv-tuning} \end{figure} Теперь проделываем аналогичные операции с обратной стороной линейки. Выбираем все вершины нижней грани, прикрепляем к ним материал с текстурой обратной стороны линейки, создаём UV развёртку и подгоняем (Рис.~\ref{fig:ruler/texturing/6-back-uv}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/ruler/texturing/6-back-uv.png} \caption{Наложение текстуры на обратную сторону линейки.} \label{fig:ruler/texturing/6-back-uv} \end{figure} Переходим в раздел Modifier Properties и применяе модификатор Simple Deform с помощью сочетания клавиш Ctrl + A (Рис.~\ref{fig:ruler/texturing/7-apply}). \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{img/ruler/texturing/7-apply.png} \caption{Применение модификаторов.} \label{fig:ruler/texturing/7-apply} \end{figure} Нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Mesh выбираем Plane, чтобы добавить плоскость, на которой будет расопложена текстура стола. В разделе Material Properties добавляем материал. В поле Base Color указываем Image Texture и указываем путь до текстуры стола. Переходим в режим редактирования (клавиша Tab) и подгоняем размеры текстуры (Рис.~\ref{fig:ruler/texturing/8-table}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/ruler/texturing/8-table.png} \caption{Добавление текстуры стола.} \label{fig:ruler/texturing/8-table} \end{figure} Перехдоим в объектный режим (клавиша Tab). Переключаемся на вид сбоку (клавиша 1 на Num Pad). Затем выбираем линейку и немного приподнимаем её, чтобы она лежала на столе (Рис.~\ref{fig:ruler/texturing/9-up}). \begin{figure}[h!] \centering \includegraphics[width=0.8\linewidth]{img/ruler/texturing/9-up.png} \caption{Результат этапа текстурирования сцены.} \label{fig:ruler/texturing/9-up} \end{figure} \subsubsection{Освещение и камера} Переходим в раздел Shading в верхнем меню программы. Нажимаем на модель и нажимаем на точку на Num Pad, чтобы приблизиться к ней. После чего используем сочетание клавиш Z + 8, чтобы перейти в режим предпросмотра результата. Затем на панели редактирования материалов нужно переключиться на вкладку World. Нажать сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и в разделе Texture выбрать Image Texture. Выход Color узла Image Texture необходимо подключить ко входу Color узла Background. В Image Texture указывается путь до HDRI текстуры окружения, которая поставляется вместе с Blender -- \texttt{C:\textbackslash Program Files\textbackslash Blender Foundation\textbackslash Blender 4.3\textbackslash 4.3\textbackslash datafiles\textbackslash studiolights\textbackslash world\textbackslash interior.exr } (Рис.~\ref{fig:ruler/lighting/1-world}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/lighting/1-world.png} \caption{Настройка общего освещения сцены.} \label{fig:ruler/lighting/1-world} \end{figure} Нажимаем Shift + A (либо открываем список Add в верхнем меню) и в разделе Light выбираем Point. В боковом меню (клавиша N) в разделе Location в поле X указываем 0.01m, в поле Y указываем -0.4m, в поле Z указываем 0.5m. В разделе Object Data Properties в поле Power устанавливаем значение 4.5W. Нажимаем на точку на Num Pad, чтобы перейти к источнику света, и переключаемся на вид сверху (клавиша 7 на Num Pad или через меню View → Top). Затем дублируем источник света дважды с помощью сочетания клавиш Shift + D. Копии располагаем рядом с исходным источником для имитации лампочек в люстре, именно такое освещения было в момент создания фотографий. Источникам света задаём цвет \#CCDEFF в поле Color раздела Object Data Properties (Рис.~\ref{fig:ruler/lighting/2-points}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/lighting/2-points.png} \caption{Расположение дополнительных источников освещения.} \label{fig:ruler/lighting/2-points} \end{figure} \newpage Теперь добавим камеру. Для этого нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и выбираем пункт Camera. Теперь располагаем перед моделью, чтобы получить вида сбоку как на фотографии. В боковом меню (клавиша N) в разделе Location в поле X указываем -0.105m, в поле Y указываем -0.073m, в поле Z указываем 0.011m, а в разделе Rotation в поле X укажем значение 47, в поле Y -- -1, в поле Z -- -50. В разделе Object Data Properties в подразделе Lens в поле Focal Length указываем значение 60mm. Нажимаем 0 на Num Pad, чтобы переключиться на вид с камеры (Рис.~\ref{fig:ruler/lighting/3-camera}). \begin{figure}[h!] \centering \includegraphics[width=1\linewidth]{img/ruler/lighting/3-camera.png} \caption{Расположение камеры.} \label{fig:ruler/lighting/3-camera} \end{figure} \subsubsection{Рендеринг финальных изображений} Для настройки рендеринга открываем Render Properties. В поле Render Engine выбираем значение Cycles. В разделе Sampling/Render в поле Max Samples указываем значение 128, чтобы ускорить рендеринг (Рис.~\ref{fig:chip/render/1_settings}). \begin{figure}[h!] \centering \includegraphics[width=0.33\linewidth]{img/chip/render/1_settings.png} \caption{Настройки рендеринга.} \label{fig:chip/render/1_settings} \end{figure} Нажимаем клавишу F12 и ожидаем некоторое время до окончания процесса рендеринга. Результаты представлены на Рис.~\ref{fig:ruler-compare-front}--\ref{fig:ruler-compare-back}. \begin{figure}[h!] \centering \begin{subfigure}{0.425\linewidth} \centering \includegraphics[width=\linewidth]{img/ruler/render/side.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.5\linewidth} \centering \includegraphics[width=\linewidth]{img/ruler/real/side.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сбоку слева на лицевую сторону.} \label{fig:ruler-compare-side} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.48\linewidth} \centering \includegraphics[width=0.55\linewidth]{img/ruler/render/front.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.48\linewidth} \centering \includegraphics[width=0.4\linewidth]{img/ruler/real/front.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сверху.} \label{fig:ruler-compare-front} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.56\linewidth} \centering \includegraphics[width=\linewidth]{img/ruler/render/back-side.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.41\linewidth} \centering \includegraphics[width=\linewidth]{img/ruler/real/back-side.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сбоку слева на обратную сторону.} \label{fig:ruler-compare-back-side} \end{figure} \begin{figure}[h!] \centering \begin{subfigure}{0.47\linewidth} \centering \includegraphics[width=0.55\linewidth]{img/ruler/render/back.png} \caption{Модель объекта.} \end{subfigure} \hfill \begin{subfigure}{0.40\linewidth} \centering \includegraphics[width=0.6\linewidth]{img/ruler/real/back.jpg} \caption{Объект моделирования.} \end{subfigure} \caption{Сравнение модели объекта и объекта моделирования. Вид сверху на обратную сторону.} \label{fig:ruler-compare-back} \end{figure} \newpage \phantom{text} \newpage \phantom{text} \newpage \section*{Заключение} \addcontentsline{toc}{section}{Заключение} В ходе работы были успешно созданы реалистичные модели трёх объектов: покерной фишки, зажима от пакета с хлебом и сломанной линейки. Использование программы Blender 4.3 позволило освоить различные аспекты 3D-моделирования, включая построение геометрии, текстурирование, освещение и рендеринг. Каждый объект был смоделирован с учётом его уникальных характеристик, что способствовало достижению высокой степени реалистичности. Работа над проектом способствовала развитию навыков полигонального моделирования, а также работе с модификаторами, такими как Simple Deform для создания изгибов и изломов. Освоены методы UV-развёртки и текстурирования, включая наложение текстур с реалистичными дефектами и маркировкой. При настройке освещения использовались HDRI-карты и дополнительные источники света, что позволило добиться естественных отражений и теней. Рендеринг в Cycles дал возможность изучить параметры качества изображения и оптимизации времени обработки. Развитые навыки могут быть применены в различных областях, таких как, например, игровой дизайн и архитектура. Для дальнейшего совершенствования качества моделей можно углубить работу с текстурами, использовать более детализированные сетки и изучить дополнительные возможности Blender. Работа продемонстрировала потенциал программы для создания фотореалистичных сцен и способствовала расширению компетенций в области компьютерной графики. \newpage \section*{Список литературы} \addcontentsline{toc}{section}{Список литературы} \vspace{-1.5cm} \begin{thebibliography}{0} \bibitem{blender} Официальный сайт Blender 3D. Документация URL: \url{https://www.blender.org/}, Дата обращения: 18.03.2025 \end{thebibliography} \end{document}