Files
computer-graphics/lab1/report.tex

1436 lines
106 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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}