Вы находитесь на странице: 1из 26

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение


высшего образования
«МИРЭА – Российский технологический университет»
РТУ МИРЭА

Институт информационных технологий (ИТ)


Кафедра инструментального и прикладного программного
обеспечения (ИиППО)

КУРСОВАЯ РАБОТА
по дисциплине: Компьютерная графика
по профилю: Разработка программных продуктов и проектирование
информационных систем
направления профессиональной подготовки: 09.03.04 «Программная
инженерия»

Тема: «Создание программного приложения в среде виртуальной реальности


Unity по чертежу (вариант №69)»

Студент: Крючков Матвей Романович


Группа: ИКБО-01-17
Работа представлена к защите __________ (дата) ________/ Крючков М.Р. /

Руководитель: ________________ доцент Болбаков Р.Г.

Работа допущена к защите _______ (дата) ______/ Болбаков Р.Г. /

Оценка по итогам защиты: __________


_______________ / ________________________________________ /
_______________ / ________________________________________ /
(подписи, дата, ф.и.о., должность, звание, уч. степень двух преподавателей, принявших
защиту)

М. МИРЭА. 2020г.
{{ Подтитул }}
СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ
- ПО – Программное обеспечение
- UI – User Interface
- ЯП – Язык программирования
СОДЕРЖАНИЕ

СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ 3

СОДЕРЖАНИЕ 4

ВВЕДЕНИЕ 5

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 6

1.1 Описание предметной области 6

1.2 Анализ аналогов разрабатываемого приложения 6

1.3 Выводы к разделу 1 7

2. МЕТОДОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ 8

2.1 Выбор среды разработки 8

2.2 Выбор среды моделирования 8

2.2 Выбор инструментов и функций 8

2.3 Выводы к разделу 2 9

3. РАЗРАБОТКА ЦИФРОВОГО ДВОЙНИКА 10

3.1 Создание проекта в 3ds Max 10

3.2 Создание проекта в Unity 18

ЗАКЛЮЧЕНИЕ 24

ИСТОЧНИКИ 25
ВВЕДЕНИЕ
В качестве курсовой работы была выбрана тема «Создание
программного приложения в среде виртуальной реальности Unity по чертежу
(вариант №69)». Чертёж приведён на рисунке 1.

Рисунок 1. Чертёж варианта №69.

Чертёж обладает достаточной информацией для разработки точной


модели. Однако нам не даны некоторые данные, такие как толщина стен и
ширина/высота дверей и окон, поэтому реализация будет выполнена с
некоторыми помарками.
Созданный двойник будет применён в приложении, созданном в
межплатформенной среде разработки компьютерных игр Unity [1].
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Описание предметной области

Предметной областью для данной курсовой работы является тема


создания компьютерной графики. КГ содержит такие функции над
виртуальным объектом как формирование формы, изменение цвета и
текстуры, другие свойства, рендеринг сцены, создание анимации. Существует
множество ПО для создания компьютерных моделей и чертежей:
- 3ds Max [2];
- Blender [3];
- Autodesk Maya [4];
- КОМПАС-3D [5];
- и другие.
Данные программы используются для разработки моделей, которые в
последствии будут использоваться в сторонних приложениях. Не многие
приложения имеют функцию создания анимаций и поддержка текстур и их
настройка.
В нашем случае финальный результат должен быть реализован в Unity,
поэтому наиболее удобным приложением был выбран 3ds Max, в котором
будет разработана модель, которая будет конвертирована в формат “.fbx” и
импортирована в Unity для написания конечного результата.

1.2 Анализ аналогов разрабатываемого приложения

Конечным результатом является интерактивная сцена с домом,


созданным по чертежу из задания. Аналоги разрабатываемой модели не были
обнаружены в интернете, хотя в открытом доступе существует различные
модели домов и апартаментов, но ни один не подходит к данному нам.
1.3 Выводы к разделу 1

В данном разделе были определены задачи курсовой работы,


проанализированы аналоги приложения. В результате будет создано
виртуальная сцена с цифровым двойником модели дома, с которым будет
возможность взаимодействовать.
2. МЕТОДОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ

2.1 Выбор среды разработки

По заданию в качестве среды разработки будет использоваться Unity,


потому что это данная программа позволяет нам наиболее качественно и
быстро реализовывать модели исходя из наших задач.
Так же для написания скриптов для тех или иных задач использовалось
Visual Studio/Sublime Text.

2.2 Выбор среды моделирования

Средой моделирования был выбран 3ds Max так как является наиболее
удобным средством для моделирования на Windows исходя из личного опыта,
а так же имеет нужную нам функцию для импорта реализованной модели в
формат “.fbx”.

2.2 Выбор инструментов и функций

Для создания нужного нам цифрового двойника мы воспользуемся


такими функциями 3ds Max как:
- Группировка объектов (стены, интерьер, окна, двери и т.п.) в
соответствующие коллекции.
- Модификатор Boolean для создания дверных проемов и оконных
рам.
- Модификатор Extrude для выдавливания полигонов и ребер.
- Модификатор Array для создания множественных копий объектов
на нужном нам расстоянии.
Разработка виртуальной сцены будет происходить в Unity - это мощная
платформа для разработки, и список используемых функций приведён ниже.
- Возможность использования разработанных шейдеров для
визуализации текстур.
- Встроенные средства реализации физических взаимодействий и
освещения(realtime/mixed/baked).
- Аналогичный функционал иерархической группировки объектов
для упрощения процесса разработки.

2.3 Выводы к разделу 2

В данном разделе были определены среды моделирования и разработки,


инструменты реализации модели, и функции нужные для разработки работы.
3. РАЗРАБОТКА ЦИФРОВОГО ДВОЙНИКА

3.1 Создание проекта в 3ds Max

Первым этапом создание цифрового двойника является создание самой


модели дома. Для начала создадим чистый plane по размерам исходного
чертежа, применим на него текстуру чертежа, чтобы в дальнейшем создавать
стены и прочие элементы дома. Чертеж на сцене представлен на рисунке 1.

Рисунок 1. Чертеж дома наложенный на plane.


После этого приступаем к созданию внешних и внутренних стен дома.
Для этого мы обводим по контуру все стены и вытягиваем их до нужной нам
высоты и примерной толщины. Результат можем наблюдать на рисунке 2.
Рисунок 2. Стены дома, сгруппированные в коллекцию.
Далее приступаем к реализации основания дома и его крыши и крыльца.
Версия дома с крышей и фундаментом показана на рисунке 3.

Рисунок 3. Изображение дома с крышей и фундаментом.


Следующим шагом было решено украсить крыльцо и добавить туда забор с
помощью функции Array, а так же ступеньки, чтобы потом было удобно
подниматься моделью в Unity. Крыльцо показано на рисунке 4.

Рисунок 4. Крыльцо с Perspective вида.


Далее оставалось создать двери, ручки, окна и оконные рамы. Для данных
задач использовались объекты Box и примененные на них функции Booleanи
Extrude. Процесс создания показан на рисунках 5, 6 и 7.
Рисунок 5. Создание дверей в доме.

Рисунок 6. Окно в оконной раме.


Рисунок 7. Версия дома с окнами и дверьми.
Оставалось только создать интерьер комнат. Начав с котельной и сделав
там цифровую версию бойлера, которая представлена на рисунке 8.

Рисунок 8. Цифровая версия бойлера в котельной.


После были созданы объекты для других комнат, такие как шкафы,
стулья, полки, диваны и кровати, ванная. Версия с интерьером представлена
на рисунке 9.

Рисунок 9. Интерьер дома.


Остался последний шаг добавление текстур на объекты дома, данный
результат изображен на рисунках 10, 11 и 12.
Рисунок 10. Обшивка дома.

Рисунок 11. Наложенные текстуры на интерьер.


Рисунок 12. Логика связей текстур.
3.2 Создание проекта в Unity

Следующим этапом было сохранение модели дома в “.fbx” и


импортирование в Unity для создание сцены, в которой будет возможность
взаимодействовать. Результат импортирования представлен на рисунке 13.

Рисунок 13. Цифровая модель дома в Unity.


После было решено добавить текстуру травы для более реалистичного
вида дома на сцене. Подобрав наиболее приближенные параметры к
реалистичным, они были нанесены на сцену с помощью кистей. Результат
показан на рисунке 14.
Рисунок 14. Нанесение травы на сцену.
Следующим шагом было создание анимаций для открытия и закрытия
дверей. Реализация выбора опоры двери и прописания логики анимации
представлено на рисунках 15 и 16.

Рисунок 15. Анимация двери с таймлайном.


Рисунок 16. Логика открытия дверей.
После этого протестировав как это выглядит изнутри нужно было
добавить света внутри комнат. Для этого были добавлены источники света и
поэкспериментировав, и изучив различия в типах света в Unity было решено
использовать Mixed mode для объектов сцены, а также настроены параметры
света для красоты вида. Источник света представлен в виде лампы на рисунке
17, а также настройки на рисунке 18.
Рисунок 17. Источник света в виде лампы.
Рисунок 18. Настройки света в Unity.
Далее оставалось добавить UI элемент меню для удобного запуска
приложения и его прекращения. Настройка UI показана на рисунке 19. А так
же скрипт для меню на рисунке 20.

Рисунок 19. UI Menu

Рисунок 20. Скрипт меню.


ЗАКЛЮЧЕНИЕ
По итогам работы, были достигнуты следующие цели:
- был создан трёхмерный объект;
- реализована виртуальная сцена с возможностью взаимодействия.

В рамках достижения данных целей были выполнены следующие


задачи:
- была создана модель дома в соответствии с предоставленным
чертежом;
- для модели были созданы необходимые материалы;
- разработано приложение со сценой виртуальной реальности, на
которой находится модель дома;
- разработаны необходимые скрипты для организации перемещения
игрока и его взаимодействия с окружением.
ИСТОЧНИКИ
1. Unity, платформа разработки в реальном времени | 3D-, 2D- VR- и
AR-визуализации [Электронный ресурс]. – Режим доступа: https://unity.com/ru.
– Заглавие с экрана. – (Дата обращения: 10.05.2020).
2. Ускорение выполняемых вручную действий для повышения
производительности [Электронный ресурс]. – Режим доступа:
https://www.autodesk.ru/products/3ds-max. – Заглавие с экрана. – (Дата
обращения: 13.05.2020).
3. blender.org - Home of the Blender project - Free and Open 3D Creation
Software [Электронный ресурс]. – Режим доступа: https://www.blender.org. –
Заглавие с экрана. – (Дата обращения: 13.05.2020).
4. Maya | Программа для компьютерной анимации и моделирования
[Электронный ресурс]. – Режим доступа:
https://www.autodesk.ru/products/maya. – Заглавие с экрана. – (Дата обращения:
13.05.2020).
5. КОМПАС-3D v18. Инструмент со3Dателя — официальный сайт
САПР КОМПАС [Электронный ресурс]. – Режим доступа: https://kompas.ru/. –
Заглавие с экрана. – (Дата обращения: 13.05.2020).
6. Васильев В. Е., Морозов А.В. Компьютерная графика: учеб.
пособие. – СПб.: СЗТУ, 2005 – 101 с.
7. Дёмин А.Ю. Основы компьютерной графики: учебное пособие /
А.Ю. Дёмин; Томский политехнический университет. – Томск: Изд-во
Томского политехнического университета, 2011. – 191 с..
8. Казакова Н.Ю. Гейм-дизайн : художественно-проектный подход к
созданию цифровой игровой среды: Автореф… дис. кан. наук. – М.: 2017. –
497 с.
9. Миловская О.С. Max 2018 и 2019. Дизайн интерьеров и
архитектуры. СПб.: Питер, 2019.
10. Доцент В.Н. Быкова, доцент Г.Д. Мефодьева, доцент Л.Я.
Мефодьева, д.т.н, профессор В.И. Сединин Инженерная и компьютерная
графика: Учебное пособие / СибГУТИ. Новосибирск, 2010 290 с
11. Горелик А. Г. Г68 Самоучитель 3ds Max 2016. — СПб.: БХВ-
Петербург, 2016. — 528 с.: ил. — (Самоучитель)
12. Тозик, В. Т. Т50 3ds Max. Трехмерное моделирование и анимация
на примерах / В. Т. Тозик, А. В. Меженин, К. А. Звягин. — СПб.: БХВ-
Петербург, 2008. — 880 с.: ил.
13. Тимофеев Сергей. 3ds Max 2014 БХВ-Петербург, 2013 - 512 с
14. Terry Norton Learning C# by Developing Games with Unity 3D- Packt
Publishing, 2013
15. Яцюк О. Основы графического дизайна на базе компьютерных
технологий. - СПб.: BHV, 2008 – 350с.