ВВЕДЕНИЕ 4
1 АНАЛИТИЧЕСКИЙ ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 7
1.1 Обзор 3D - игры «Space Attack» 8
1.2 Обзор сред разработки 9
1.2.1 Технические характеристики 11
1.2.2 Достоинства и недостатки 11
1.3 Обзор среды программирования 12
1.4 Язык программирования C# 14
2 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД И ОСНОВНЫЕ
ОПРЕДЕЛЕНИЯ 15
2.1 Основные понятия объектно-ориентированного программирования. 15
2.3 Создание и использование скриптов 17
2.3.1 Структура файла скрипта 18
2.3.2 Управление игровым объектом 20
2.3.3 Функции событий 20
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ «SPACE ATTACK» 24
3.1 Термины и основные принципы 24
3.2 Настройка проекта 25
3.3 Добавление и настройка игрока 28
3.4 Настройка камеры и освещения 30
3.5 Настройка фона в игре 31
3.5.1 Прокрутка фона 32
2.5.2 Создание звездного неба 33
3.6 Создание движения объекта 34
3.7 Создание выстрела и летящей пули 37
3.8 Создание, вращение и уничтожение астероидов 39
3.9 Создание игрового контроллера, генерирующего клоны объектов 43
3.10 Звук 44
3.10.1 Принцип и особенности работы со звуком в Unity3D 44
3.10.2 Работа со звуком 45
3.11 Подсчет набранных очков 46
3.12 Перезагрузка игры 47
3.13 Создание вражеских кораблей 49
3.14 Компиляция проекта и запуск игры 51
ЗАКЛЮЧЕНИЕ 53
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 54
ПРИЛОЖЕНИЕ
Мобильные устройства постепенно захватывают мир. Наличие ноутбука, нетбука или смартфона у рядового человека на сегодняшний день является обычным делом. Поэтому нет ничего удивительного в том, что все больше и больше программного обеспечения требуется именно для таких устройств. В последнее время многие люди хотят видеть полноценный персональный компьютер у себя в телефоне. К полноценному функционалу можно отнести такие задачи как сетевые программы, 3D - игры, GIS - сервисы и т.д. Но все же на данный момент производительность карманных устройств сильно уступает персональным компьютерам, поэтому необходимо применять особые алгоритмы для разработки приложений, а также методы программирования.
Одним из самых распространенных карманных устройств являются устройства на базе операционных систем Android и IOS. Они служат для прослушивания музыки, телефонных звонков, отправки смс и электронной почты, а также многого другого. Многие люди предпочитают игры на мобильных устройствах, поэтому данный рынок ПО развивается очень быстро. Конкуренция порождает более сложные и красочные игры. Новым этапом в разработке игр для карманных устройств стали полноценные 3D - игры, в которых используются шейдеры материалов, тени и большое количество 3D объектов.
В данной дипломной работе было разработано мобильное приложение средствами высокоуровневого языка программирования и 3D графики.
В процессе разработки пришлось столкнуться сразу с несколькими проблемами ограниченной производительности iPhone и Android:
1. Скоростью работы графического ядра устройства;
2. Объемом оперативной памяти для одного запущенного
приложения;
3. Скоростью чтения с диска устройства;
4. Скоростью работы процессора.
Для разработки 3D части был взят движок Unity 5. Данный движок позволяет программировать 3D сцены для IOS, Android, Linux, Windows и т.д. Языком программирования для этой среды был выбран C# как основной скриптовый язык для 3D сцены.
Первая часть дипломной работы посвящена исследованию возможностей мобильных операционных систем, игровых движков и объектно-ориентированному программированию. Вторая часть дипломной работы посвящена разработке приложения “SpaceAttack”, в которой рассматриваются аспекты работы с Unity и высокоуровневым языком программирования C#.
Цель работы - создание игры, удовлетворяющей требованиям начальной спецификации, исследование технологий создания 3D - игр, а также приемов программирования для смартфонов.
В соответствии с поставленной целью задачами выпускной квалификационной работы являются:
• изучить необходимые для работы программные продукты: 3dMax, Unity3D, Visual Studio и т.д.;
• разработать основное содержание и сценарий игры, создать базовые сцены и модели игровых объектов;
• разработать модули и скрипты, определяющие модели поведения объектов;
• скомпоновать и отладить мобильную игру “Space Attack” на игровом движке Unity3D.
Объект исследования - 3D игра, архитектура системы мобильных устройств.
Предмет исследования - процесс создания 3D игр и технологий их разработки.
Область применения - предполагается размещение разработанного программного продукта в интернет магазинах для мобильных операционных систем.
Результаты работы - В результате проделанной работы, была создана 3D - игра “Space Attack”, которая полностью удовлетворяет
начальную спецификацию. Также было проведено исследование
возможностей игрового движка Unity при работе с 3D графикой. Был приобретён опыт в разработке приложений для мобильных телефонов.
В ходе выполнения выпускной квалификационной работы решена научно-техническая задача создания игры, удовлетворяющей требованиям начальной спецификации, исследование технологий создания 3D - игр, а также приемов программирования для смартфонов.
Выводы и результаты работы сводятся к следующему.
1. Спроектирована и реализована 3D - игра “Space Attack”. Получены большие знания в области разработки приложений: работа с графикой, памятью, оптимизацией производительности, искусственным интеллектом.
2. Изучена среда разработки Unity3D: возможности редактора движка, слабые и сильные стороны этого движка. Произведен обзор графических возможностей системы и пользовательского интерфейса.
3. Получен опыт разработки 3D сцен: изучены основные понятия 3D моделирования, изучен язык написания шейдеров, изучена и понята работа с текстурами как в 3D, так и в 2D.
4. Приобретен опыт программирования на языке С# и работы с использованием объектно-ориентированного программирования. Более детально изучена библиотека .NET. Изучена и проанализирована библиотека Unity3D, составлены собственные классы, которые её дополняют.