Главная страница
Навигация по странице:

  • ФАКУЛЬТЕТ « ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ » СПЕЦИАЛЬНОСТЬ «ПРОГРАММНАЯ ИНЖЕНЕРИЯ» Семестровая работа по предмету «

  • Введение в ИИ »

  • Глава 1 Обзор игрового движка Unity 3D.

  • Подготовка к разработке видеоигры на Unity3D.

  • Процесс разработки игры на платформе Unity3D

  • Подготовка рабочего поля.

  • Поведение персонажа .

  • Поведение противника.

  • Графический интерфейс пользователя (GUI) в UnityEngine.

  • Солуянова Семестровая Марио. Введение в ии


    Скачать 0.58 Mb.
    НазваниеВведение в ии
    Дата12.06.2022
    Размер0.58 Mb.
    Формат файлаdocx
    Имя файлаСолуянова Семестровая Марио.docx
    ТипДокументы
    #586456
    страница1 из 8
      1   2   3   4   5   6   7   8


    КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

    ФАКУЛЬТЕТ «ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ»

    СПЕЦИАЛЬНОСТЬ «ПРОГРАММНАЯ ИНЖЕНЕРИЯ»
    Семестровая работа
    по предмету «
    Введение в ИИ»

    Выполнил:

    Студент группы 11-005

    Солуянова З.М

    Кузнецова А.А.

    Преподаватель:

    Костюк Д.И.

    Казань 2022
    Введение. Компьютерные игры появились в середине 70-х годов и за несколько десятилетий набрали огромную популярность с годовой прибылью в 10 миллиардов долларов США. Разработкой игр занимаются как крупные компании, так и небольшие фирмы, а также независимые частные сообщества.

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

    Ни одна игра не обходится без игрового движка, который является основополагающим элементом для реализации проектов. Его основная задача - обеспечить базовыми технологиями, а так же упростить работу над проектом для разработчика; игровой движок дает возможность кроссплатформенности (запуск и разработка игр на нескольких платформах одновременно). Обычно игровой движок включает в себя:

    • движок рендеринга;

    • физический движок;

    • звук;

    • система скриптов;

    • анимация;

    • искусственный интеллект;

    • сетевой код; - управление памятью; - многопоточность.

    Unity – это мультиплатформенный игровой движок для разработки двух- и трехмерных игр, работающих под операционными системами Windows OS X, Windows Phone, Android, Apple IOS, Linux, а так же на игровых приставках Wii, PS 3, PS 4, Xbox 360, Xbox One. Есть возможность создания браузерных приложений с помощью модулей Unity (Unity Web Player). Unity поддерживает 2 языка программирования JavaScript, C#. Для

    физических расчетов используется встроенный движок PhysX, разработанный компанией NVIDIA.

    Целью работы является разработка игры на движке Unity 3D.

    Тема является актуальной в связи с высоким ростом игровой индустрии в наше время. На рынке компьютерных технологий существуют как крупные компании (EA, Valve, Ubisoft), так и отдельные инди-разработчики. В большинстве случаев крупные компании используют собственные движки для разработки проектов, а Инди-разработчики же предпочитают готовые, среди которых есть и бесплатные (Unity, Unreal Engine и т.д.)

    В связи с поставленной целью в работе решаются следующие задачи:

    Изучить интерфейс платформы Unity3D

    Описать сценарии видеоигры на языке программирования C#

    Провести окончательную сборку проекта

    Объектом исследования являются видеоигры и принципы их разработки на платформе Unity 3D.

    Предметом исследования является разработка игры на Unity.

    В первой главе «Обзор игрового движка Unity3D» рассмотрены достоинства и недостатки платформы Unity3D и кратко описаны ее

    инструменты и интерфейс.

    Вторая глава «Подготовка в разработке видеоигры на платформе Unity3D» включает в себя этапы подготовки платформы, план разработки видеоигры и подробное описание интерфейса программы Unity3D.

    Третья глава содержит в себе весь цикл разработки, подробно описаны возможности платформы, создана видеоигра, сценарии для объектов и сами объекты.

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

    Краткое содержание работы


    Глава 1 Обзор игрового движка Unity 3D. В настоящее время существует большое количество инструментов для разработчика игр, для исследования был выбран один из самых новых и мощных движков – Unity 3D. У данного инструмента существуют как преимущества, так и недостатки.

    Что мы можем в Unity:

    • моделировать физическую среду моделировать карты нормалей

    • моделировать преграждение окружающего света в экранном

    пространстве (SSAO)

    • моделировать динамические тени и т. д.

    Данный функционал существует во многих игровых движках, преимущества Unity в том, что в нем есть чрезвычайно производительный визуальный процесс и мощная межплатформенная поддержка.

    Визуальный редактор Unity значительно упрощает взаимодействие объектов на сцене и процесс сборки проекта. Благодаря Unity разработчики избавляют себя от такой проблемы, как ограниченная и недостаточно гибкая поддержка возможности написания сценариев. Особенно полезен этот редактор при разработке проектов с последовательным улучшением, например, в циклах создания прототипов или тестирования.

    Дополнительным преимуществом платформы Unity является присутствие сильной межплатформенной поддержки, которая подразумевает собой возможность создания и развертывания игры на различных платформах

    Третьим, менее значимым преимуществом является обеспечиваемое модульной системой компонентов, которая необходима для создания игровых объектов.

    Имея большое количество преимуществ, в Unity присутствуют и недостатки. Например, сочетание визуального редактора и сложного кода может вызвать массу затруднений у разработчика. В обширных сценах можно потерять некоторые присоединенные компоненты.

    Вторым и самым неожиданным недостатком для большинства опытных программистов является отсутствие возможности обращения к внешним библиотекам кода.

    Также обзор игрового движка не обойдется без описания окна и интерфейса. Компонентами интерфейса Unity являются:

    вкладка Scene вкладка Game вкладка Hierarchy панель Inspector вкладки Project и Console

    Верхнюю часть занимает панель инструментов, слева кнопки для осмотра и перемещения объектов, а в центре располагается кнопка Play. С правой стороны панель, отображающая информацию о выделенном в данный момент объекте.

    На начальном этапе работы с движком необходимо выбрать язык, с помощью которого будет проходить разработка игры. В Unity поддерживаются всего 2 языка программирования JavaScript и C#. Язык C# имеет больше преимуществ чем недостатков перед языком JavaScript, особенно с точки зрения профессионального разработчика.

    1. Подготовка к разработке видеоигры на Unity3D. Для того чтобы начать работать над проектом в Unity, не нужно быть профессиональным разработчиком видеоигр, но необходимо тщательно продумать и обговорить все нюансы игры. Даже имея под рукой такой гибкий инструмент как Unity, все равно нужно представлять, что должно получиться в итоге.

    Для того, чтобы полностью разобраться с работой инструмента Unity, в данной работе будет разработана двухмерная видеоигра. Выбор пал на жанр платформер для того, чтобы охватить как можно больше возможностей Unity

    за довольно короткий промежуток времени и невысокой сложностью разработки.

    1. Процесс разработки игры на платформе Unity3D

    Перед началом работы необходимо подготовить рабочее поле программы, выставить необходимые настройки и изучить ее интерфейс.

    Подготовка рабочего поля. Выставляем настройки рабочей области, для этого нужно создать новый проект, выбрать шаблон, место хранения, добавить дополнительные Asset в проект, если это необходимо. Далее, создав проект, открывается пустая сцена в которой будет лишь один объект – камера, сохраняем результат. После этого начинаем с ней работать: импортируем объекты сцены, добавляем им свойства, элементы сцены. Сделав эту работу, приступаем к созданию фона. В первую очередь нужно импортировать спрайты (однотонный фон, элементы заднего плана, платформы), и настроить их для использования. Получив составной спрайт из нескольких текстур, каждую из них можем использовать как отдельный спрайт, сделав его нарезку. В каждый из них добавляем элементы сцены и объекты так, чтобы они перекрывали фоновое изображение в нужном порядке. Далее настраиваем положение фона в сцене и слои. Создаем персонажа, импортировав необходимые текстуры в Unity, добавляем элементы анимации и настраиваем параметры.

    Логика игры. Описанных выше свойств недостаточно для создания полноценной видеоигры. Необходимо описать логику поведения объектов сцены и их взаимодействие между собой. Для этого в Unity используется два языка программирования JavaScript и C#. В этой работе будет использован язык C#. В качестве редактора кода будет выступать Visual Studio Code.

    Поведение персонажа. Создаем в папке Assets C# script. В окне Inspector существует предпросмотр кода, но для его редактирования необходимо зайти в редактор кода. Для того, чтобы управлять объектом player с клавиатуры, необходимо написать скрипт и переместить его на объект в окне Hierarchi.
    Поведение камеры. По стандарту камера на сцене является статичной, нам же необходимо, чтобы камеры следила за движением компонента player. Для этого напишем скрипт, в соответствии с рисунком 3.12, который в последствии перенесем на элемент Main Camera.

    Поведение противника. Для полноценной картины необходимо создать врагов и написать сценарий их передвижения.

    Создание меню. Обычно при запуске готовой видеоигры пользователь попадает на главное меню, из которого запускает непосредственно игровой процесс. Создадим меню, которое будет являться стартовой сценой при запуске проекта. Для этого создаем новую сцену, в которой присутствует лишь MainCamera и пишем для нее скрипт.

    Анимация. Благодаря Unity, разработчикам предоставляется огромная возможность для работы с анимацией. У персонажа уже есть компонент Animator, как показано на рисунке 3.17. Теперь надо сделать анимации и настроить контроллер анимации.

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

    Графический интерфейс пользователя (GUI) в UnityEngine. Практически ни одна игра не обходится без графического интерфейса. Стартовое меню, надписи, HUD (полоса здоровья и обозначения характеристик персонажа на экране) и многое другое называется – GUI.





    Редактор уровней

    4 Сборка проекта. На этапе завершения основной работы над проектом была произведена его сборка. Это происходит так: сперва процесс сборки размещает пустую копию игры. Затем он будет прорабатываться список сцен в настройках сборки: открывать в редакторе одну из них за раз, оптимизировать их и интегрировать их в пакет приложения. Он также подсчитает все ассеты, необходимые включенным в сборку сценам и сохранит эти данные в отдельном файле внутри пакета приложения.

    Заключение. При выполнении данной работы разработана игра на платформе Unity 3D, а также описан сам процесс разработки. Данная игра является законченным продуктом, но при регулярной поддержке можно сделать его конкурентоспособным на рынке. Также можно использовать любой из элементов данной игры в любом другом проекте Unity, или же выложить их в магазин Unity, чтобы поделиться с сообществом или же для получения прибыли. Были рассмотрены основные аспекты разработки игр в целом и на Unity в частности. Платформа показала себя как очень гибкий, удобный и простой инструмент для создания игр, не требующий установки дополнительного программного обеспечения (для разработки игры использовался только Unity), при этом значительных недостатков при работе с платформой замечено не было. Unity постоянно развивается и довольно часто выходят обновления, в которых появляются новые возможности, а также улучшаются старые, поэтому некоторые аспекты данной работы могут не совпадать с версией новейшей платформы.

    Приложение

    using System;







    using System.Collections.Generic;




    using System.Windows.Forms;









    namespace MarioLevelEditor




    {




    static class Program




    {




    ///




    /// The main entry point for the application.




    ///




    [STAThread]




    static void Main()




    {




    Application.EnableVisualStyles();




    Application.SetCompatibleTextRenderingDefault(false);




    Application.Run(new MainForm());




    }




    }




    }
      1   2   3   4   5   6   7   8


    написать администратору сайта