Игровой движок Unity

Обзор аналогов игрового движка Unity: 2D Light System, 2D Dynamic Lights and Shadows, Light2D - GPU Lighting System, Light2D, 2DVLS (2D Volumetric Lights and Shadows) и Seasons After Fall Rendering System. Игровой движок Ethanon. Система освещения Unity.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.09.2016
Размер файла 58,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Таблица 3. Описание переменных cginc файла, необходимых для работы системы

Имя переменной

Тип

Описание

_AmbientColor

float4

Цвет окружающего света для данного плана

_LightPosition0

float4

Координаты источника освещения

_LightCol0

half4

Цвет источника освещения

_LightIntensity0

float

Интенсивность источника освещения

_LightRange0

float

Радиус источника освещения

_LightWidth0

float

Параметр ширины Area light

_LightHeigth0;

float

Параметр высоты Area light

_LightTex0

sampler2D

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

_LightTRSMatrix0

float4x4

Матрица, необходимая для преобразования cookie-текстуры

_Shadow0

sampler2D

Карта теней данного источника

_ShadowMatrix0

float4x4

Матрица для преобразования карты теней

Также, в данном файле реализованы функции расчета освещения объекта. Эти функции включают вертексное освещение источником Point light и фрагментное освещение Point light, Directional light и Area light. Для всех расчетов используется модель затенения Ламберта. Согласно этой модели результирующее освещение точки вычисляется по формуле , где I - результирующее значение отраженного света, L - направление источника, N - нормаль поверхности, C - цвет источника освещения, IL - интенсивность источника. Это значение интенсивности перемножается со значениями карты теней и Cookie в данной точке, и складывается с аналогичным освещением от других источников, включая окружающее освещение. Затем получившаяся сумма умножается на значение цвета данной точки поверхности, зависящее от текстуры объекта [18].

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

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

5.5 Интерфейс

За отображение в редакторе источников освещения отвечают отдельные скрипты. Эти компоненты наследуются от класса Editor, и позволяют как рисовать на экране какие-либо элементы, так и создавать контроллеры, при помощи которых можно изменять значения каких-либо переменных. В отличии от метода OnDrawGizmos класса источников, данная графическая информация отображается только если объект выделен пользователем.

Point Light

Редактор Point Light строит на сцене окружность с центром в точке положения источника. Эта окружность имеет радиус и цвет равные радиусу и цвету Point Light, что дает наглядно видеть, какая область освещается этим источников. Справа на окружности располагается управляющий элемент, перетаскивая который, можно изменять радиус источника в окне редактора.

Spot Light

Редактор Spot Light аналогичен редактору Point Light за исключением того, что дополнительными линиями ограничивается освещаемый сектор. Управляющий элемент располагается на окружности заданного радиуса, на равном расстоянии между ограничивающими сектор линиями.

Directional Light

Редактор Directional Light не позволяет изменять какие-либо атрибуты источника, так как поворот можно задавать встроенной системой управления компонентами Unity. Данный компонент рисует пять параллельных линий от точки расположения источника. Эти линии имею цвет равный цвету Directional Light. Кроме того, они направлены под соответствующим углом так, чтобы можно было понять, в каком направлении движется свет от источника.

Area Light

Редактор Area Light формирует прямоугольник соответствующий области освещения, а также управляющие элементы для изменения высоты и ширины.

5.6 Документация

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

Документация включает в себя:

- Перечень компонентов системы с описанием их назначения, порядка добавления на сцену и настройки;

- Перечень доступных для использования классов и их публичных атрибутов и методов;

- Перечень и назначение описанных в cginc файле переменных и функций.

Компоненты описываются по следующей структуре:

1. Название;

2. Назначение;

3. Описание всех атрибутов;

4. Примеры использования.

Описание классов состоит из общей информации об их назначении и описании публичных атрибутов и методов по следующей структуре:

1. Название метода или атрибута;

2. Назначение;

3. Для метода: описание всех входных параметров;

4. Пример использования в виде фрагмента написанного кода.

Описание шейдерных функций по своей структуре соответствует описанию методов классов.

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

Заключение

Результатом работы является расширение для игрового движка Unity, позволяющее двухмерным объектам отбрасывать тени и использовать шейдеры. Система состоит из 12 скриптов, написанных на языке C# , одного файла с расширением .cginc и двух шейдеров на языке Cg. Исходные коды представленны в приложении.

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

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

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

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

Список использованных источников

1. Unity Technologies Made with Unity. URL: http://madewith.unity.com/ (дата обращения: 16.03.2016)

2. Unity Technologies Card Life: Blizzard goes mobile with its online card battle game, Hearthstone: Heroes of Warcraft. URL: http://unity3d.com/ru/showcase/case-stories/hearthstone (дата обращения: 16.03.2016)

3. Unity Technologies Industries. URL: http://unity3d.com/unity/industries (дата обращения: 16.03.2016)

4. Hurwitz M. Bare Necessities. URL: http://www.icgmagazine.com/web/bare-necessities/ (дата обращения: 20.05.2016)

5. Lyubimov M. 2D Light System. URL: https://www.assetstore.unity3d.com/en/#!/content/20461 (дата обращения: 20.05.2016)

6. Ysa M. 2D Dynamic Lights and Shadows - 2DDL PRO. URL: https://www.assetstore.unity3d.com/en/#!/content/25933 (дата обращения: 20.05.2016)

7. Penkin A. Light2D - GPU Lighting System URL: https://www.assetstore.unity3d.com/en/#!/content/30953 (дата обращения: 20.05.2016)

8. Moran D.J. Light2D. URL: https://www.assetstore.unity3d.com/en/#!/content/48539 (дата обращения: 20.05.2016)

9. Fletcher J. VLS2D. URL: https://github.com/reveriejake/vls2d (дата обращения: 20.05.2016)

10. Fouletier B., Martin G. Game Connection Paris - Swing Swing Submarine on Modern 2D Techniques. URL: http://www.youtube.com/watch?v=bUGbXThraVM (дата обращения: 20.05.2016)

11 Santee A., Fernandes B. About Ethanon Engine. URL: http://doc.ethanonengine.com/ (дата обращения: 20.05.2016)

12. Lengyel E. Mathematics for 3D game programming and computer graphics. - Cengage Learning, 2005.

13. Gregory J. Game engine architecture. - CRC Press, 2009.

14. Engel K., Hadwiger M., Kniss J., Rezk-Salama C. Real-time volume graphics. - CRC Press, 2006.

15. Unity Scripting Reference URL: http://docs.unity3d.com/ScriptReference/ (дата обращения: 24.05.2016)

16. Jimenez J.J., Feito F.R., Segura R.J. Robust and Optimized Algorithms for the Point?in?Polygon Inclusion Test without Pre?processing //Computer Graphics Forum. - Blackwell Publishing Ltd, 2009., V. 28., N. 8., pp. 2264-2274.

17. Wood K. Arbitrary Quadrilaterals in OpenGL ES 2.0. URL: http://www.bitlush.com/posts/arbitrary-quadrilaterals-in-opengl-es-2-0 (дата обращения: 02.05.2016)

18. DesLauriers M. Shaders. Lesson 6: Normal Mapping. URL: https://github.com/mattdesl/lwjgl-basics/wiki/ShaderLesson6 (дата обращения: 16.03.2016)

Размещено на Allbest.ru

...

Подобные документы

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

    дипломная работа [2,5 M], добавлен 11.02.2017

  • Разработка игрового "движка" с использованием языка C++ для написания кода, графического пакета DirectX9 для вывода графики. Использование физического "движка" PhysX для взаимодействия объектов. Технико-математическое описание задачи, листинг программы.

    дипломная работа [4,5 M], добавлен 02.09.2013

  • Разработка компьютерной игры "Эволюция" с помощью игрового движка Unit. Сравнение критериев игры-аналога и разрабатываемой игры. Разработка графического интерфейса пользователя. Настройки камеры в редакторе Unity. Структура файла сохранения игры.

    дипломная работа [3,6 M], добавлен 11.02.2017

  • Разработка игрового проекта на игровом движке Unity 3D в среде программирования MS Visual Studio 2017. Блок-схема алгоритма работы приема сообщений с сервера на клиенте с упрощенным описанием выполняемых команд. Реализация пользовательского интерфейса.

    курсовая работа [1,5 M], добавлен 10.07.2017

  • Игровые технологии; назначение, классификация и цель создания мобильных игр. Развлекательные, коммуникативные, терапевтические, диагностические функции игровой деятельности. Создание мобильного программного приложения "Angry Crane" в среде Java Android.

    курсовая работа [1,5 M], добавлен 09.12.2014

  • Особливості Unity у створенні віртуального робочого середовища. Моделювання у віртуальному середовищі навчальних проектів у вигляді лабораторних робіт з фізики, які спрямовані на покращення і спрощення навчального та практичного процесу навчання.

    курсовая работа [74,0 K], добавлен 30.08.2014

  • Платформа Unity 3D как средство разработки компьютерных деловых игр. Рассмотрение реализации взаимодействия между подсистемой проведения деловых игр и модулем визуализации. Формирование игровых уровней на примере компьютерной игры "Проезд перекрестка".

    дипломная работа [2,8 M], добавлен 22.08.2017

  • Общая характеристика игровых движков, история их создания и совершенствования, современное состояние и перспективы. Сущность и значение шейдерных эффектов, программирование данных программ. Механизм и этапы разработки 3D-приложения, его тестирование.

    дипломная работа [2,2 M], добавлен 16.06.2011

  • История Network File System. Общие опции экспорта иерархий каталогов. Описание протокола NFS при монтировании удаленного каталога. Монтирование файловой системы Network Files System командой mount. Конфигурации, обмен данными между клиентом и сервером.

    курсовая работа [1,3 M], добавлен 16.06.2014

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

    дипломная работа [3,4 M], добавлен 12.08.2017

  • Развитие Internet и новых способов общения между людьми. Система управления сайтом Content Manager System. Процесс создания, редактирования и оформления сайтов. Возможность создания различных по правам доступа частей сайта. Критерии выбора CMS.

    реферат [35,5 K], добавлен 03.04.2011

  • Модель релейной системы регулирования и идентификации структуры отдельного характерного элемента ЭКС зубца Р в системе MatLab. Анализ линейных звеньев с применением Control System Toolbox и Simulink. Методы построения переходных и частотных характеристик.

    дипломная работа [1,1 M], добавлен 28.01.2015

  • Overview history of company and structure of organization. Characterization of complex tasks and necessity of automation. Database specifications and system security. The calculation of economic efficiency of the project. Safety measures during work.

    дипломная работа [1009,6 K], добавлен 09.03.2015

  • Разработка информационной системы Dentist control system для работы стоматологической клиники - ведения записей о клиентах и врачах. Использование средства автоматизированной разработки приложений Borland C++ Builder 6.0 для работы с базой данных.

    курсовая работа [2,3 M], добавлен 29.12.2012

  • Изменение пользовательского интерфейса приложения Microsoft Office system 2007. Увеличение функциональности приложений для поддержки совместной работы (Office Word 2007, Office Excel 2007, Office PowerPoint 2007, Office Access 2007 и Office Outlook 2007).

    контрольная работа [1,5 M], добавлен 13.12.2009

  • Program game "Tic-tac-toe" with multiplayer system on visual basic. Text of source code for program functions. View of main interface. There are functions for entering a Players name and Game Name, keep local copy of player, graiting message in chat.

    лабораторная работа [592,2 K], добавлен 05.07.2009

  • Общая характеристика приложения Microsoft Office system 2007. Особенности форматов Microsoft Office Open XML. Технологии управления миграцией на новую версию. Возможности приложений Office Word, Excel, Access и Office PowerPoint 2007, их интеграция.

    реферат [1,0 M], добавлен 13.09.2011

  • Обзор системного и прикладного программного обеспечения используемого в ООО "Игровые системы". Описание компьютерной сети предприятия. Разработка игрового продукта для планшетов Apple iPad. Реализация визуального интерфейса и алгоритма работы модуля.

    отчет по практике [1,4 M], добавлен 18.01.2015

  • Разработка адресных и технических требований к игре. Написание сценария. Общая концепция разработки приложения. Разработка схем алгоритмов приложения. Игровые технологии. Выбор среды и программированного языка. Описание пользовательского интерфейса.

    курсовая работа [1,6 M], добавлен 14.06.2014

  • Исследование основных требований к пользовательскому интерфейсу. Краткая характеристика используемой операционной системы Windows 7 и языка программирования. Особенность создания удобного управления в игре. Главные требования к аппаратному обеспечению.

    курсовая работа [453,0 K], добавлен 02.06.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.