Разработка редактора интерьеров в среде Unity 3D

Ознакомление с возможностями платформы Unity 3D. Технические характеристики мультиплатформенного инструмента, предназначенного для разработки приложений и игр. Этапы создания компьютерного приложения. Функции веб-сервера Apache и базы данных MySQL.

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

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

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

Размещено на http://www.allbest.ru/

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

КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра информационных технологий

РЕФЕРАТ

РАЗРАБОТКА РЕДАКТОРА ИНТЕРЬЕРОВ В СРЕДЕ UNITY 3D

Выполнил:

В.И. Рыжак

Руководитель:

С.Г. Синица

Краснодар, 2012 год

Содержание

Введение

1. Возможности платформы и инструментов разработки Unity 3D

2. Разработка редактора интерьеров в среде Unity 3D

3. Реализация сохранения и загрузки интерьера с использованием сервера Apache и базы данных MySQL в среде Unity 3D1

Заключение

Список литературы

Введение

Основная задача данной работы заключалась в том, чтобы реализовать редактор интерьеров, который можно будет с успехов внедрять в различные фирмы и компании, занимающиеся дизайном интерьеров и продажей различных элементов декора. В качестве среды разработки использовался мультиплатформенный инструмент для разработки двух- и трёхмерных приложений и игр Unity 3D. Для реализации сохранения и загрузки интерьеров использовалась также связка сервера HTTP-сервера Apache с реляционной базой данных MySQL.

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

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

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

Постановка задачи:

1. Изучить возможности платформы и инструментов разработки Unity3D;

2. Разработать редактор интерьеров в среде Unity 3D;

3. Реализация сохранения и загрузки интерьера с использованием сервера Apache и базы данных MySQL в среде Unity 3D.

1. Возможности платформы и инструментов разработки Unity 3D

Unity 3D - это мультиплатформенный инструмент для разработки двух- и трёхмерных приложений и игр, работающий под операционными системами Windows и OS X. Созданные с помощью Unity 3D приложения работают под операционными системами Windows, OS X, Android, Apple iOS, Linux, а также на игровых приставках Wii, PlayStation 3 и XBox 360. Есть возможность создавать интернет-приложения с помощью специального подключаемого модуля к браузеру Unity, а также с помощью экспериментальной реализации в рамках модуля Adobe Flash Player. Приложения, созданные с помощью Unity 3D, поддерживают DirectX и OpenGL. Стоить отметить характеристики движка. Во-первых то, что в среду разработки Unity интегрирован игровой движок, иными словами, вы можете протестировать свою игру не выходя из редактора. Во-вторых, Unity поддерживает импорт огромного количества различных форматов, что позволяет разработчику игры конструировать сами модели в более удобном приложении, а Unity использовать по прямому назначению - разработки продукта. В-третьих, написание сценариев (скриптов) осуществляется на наиболее популярных языках программирования - C# и JavaScript.

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

Особым плюсом будет наличие навыков использования различных программ создания и редактирования 3D объектов, например Autodesk 3ds Max или Blender.

В любом случае вам понадобится установленный Autodesk 3ds Max на ваш компьютер, если вы собираетесь импортировать готовые 3D модели.

В большинстве своем, необходимые модели имеют формат проекта, т. е., необходимо будет переформатировать их в соответствующий для Unity3d формат, например, в *.3DS, и только после этого делать импорт в Unity, в противном случае последний выдаст ошибку.

Технические характеристики:

- Сценарии на C#, JavaScript (модификация) и Boo;

- Игровой движок полностью связан со средой разработки. Это позволяет прямо в редакторе испытывать игру;

- Работа с ресурсами возможна через простой Drag&Drop. Интерфейс редактора настраиваем;

- Осуществлена система наследования объектов;

- Поддержка импорта из очень большого количества форматов;

- Встроенный генератор ландшафтов;

- Встроенная поддержка сети;

- Есть решение для совместной разработки - Asset Server;

- Также можно использовать контроль версий. Tortoise SVN или Source Gear к примеру.

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

Так как в этой среде разработки доступно создание игр, которые будут запускаться прямо в браузере, любой начинающий разработчик может моментально донести свой продукт до всех, желающих с ним ознакомиться. Мощнейшие системы оптимизированного ядра Unity3D способны на колоссальное быстродействие и не будут поднимать скорость игры в ущерб ее качеству. Рендеринг игры в Unity3D изначально ориентирован на быстроту и качество. Динамическое освещение создаваемых в этом пакете игр просто поражает и даже игра, спроектированная для браузера, выглядит так, будто она сделана как Desktop-версия.

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

Тени и эффекты освещения в Unity3D делают игры, создаваемые с использованием этого пакета просто неповторимыми.

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

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

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

Что касается физики в Ваших играх, то для этих целей в Unity имеется встроенный движок NVIDIA® PhysX®. Надо заметить, что на сегодняшнее время это самый лучший физический движок для создания реалистичной физики в игровых приложениях. Физика Unity поддерживает твердые и мягкие тела, эмулирует поддержку физики гоночных симуляторов, ragdoll-объекты и много другое.

В настоящий момент на движке Unity3D начинают создаваться и браузерные игры. Ярким примером может служить игра - Джаггернаут отечественных разработчиков (IT Territory LLC под эгидой mail.ru).

Одним из основных компонентов Unity3D является коллайдер. Коллайдер - это область пространства, при взаимодействии с которой выполняются те или иные скрипты, действия.

Чтобы лучше понять что это такое, представьте, что вы подходите к автоматически открывающимся дверям универмага.

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

Полезным инструментом также является Unity Asset Server. Это инструментарий для совместной разработки на базе Unity. Сущность разработки игр - это работа в команде. Сервер ресурсов Unity это add-on, который добавляет контроль версий в функционал Unity. Сервер ресурсов Unity это полнофункциональное решение для контроля версий для всех игровых скриптов и ресурсов. Как и все остальное в Unity, он прост в использовании. Много гигабайтные проекты с тысячами много мегабайтных файлов управляются с изяществом.

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

Если файлы подвергаются изменениям, их статус немедленно обновляется. Переименование и перемещение ресурсов не создает каких-либо препятствий для непрерывного рабочего процесса. Сервер ресурсов Unity управляется базой данных PostgreSQL. PostgreSQL известен своей надежностью, целостностью данных и легкостью администрирования и отлично справляется с рабочей нагрузкой гигантских проектов. Сервер ресурсов доступен как для Mac OS X Installer, так и для Linux RPMs. Поддержка нескольких платформ дает вам гибкость в том, как внедрить Сервер ресурсов Unity в вашу существующую IT-инфраструктуру.

Около месяца назад вышла новая версия Unity3D - 4. Основные изменения, произошедшие с платформой:

- Система анимации «Mecanim»;

- Поддержка DirectX 11;

- Сборка приложений под Linux;

- Поддержка 3D текстур;

- Навигация: динамические препятствия и приоритет уклонения;

- Большая оптимизация в производительности и потреблении памяти UnityGUI;

- Динамичные шрифты с HTML-разметкой на всех платформах;

- Удаленная отладка Unity Web Player;

- Новый вид «Project Window;

- Поэтапное «запекание» карты освещения;

- Расширяемый инспектор по пользовательским классам;

- Поиск, просмотр и покупка дополнений в «Asset Store» в окне «Project Window.

2. Разработка редактора интерьеров в среде Unity 3D

Разработка редактора интерьеров проходила в несколько этапов.

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

Я обнаружил, что на сегодняшний день таких решений достаточно немного. В основном преобладают онлайн сервисы, но некоторые их них платные. Также существуют прикладные программы для редактирования интерьеров, но абсолютно все они либо платные, либо с временным доступом, а в своем большинстве предназначены исключительно под конкретные фирмы и организации. В Unity3D все приложения состоят из сцен. Каждая сцена представляет собой совокупность игровых объектов, взаимосвязанных друг с другом. Вторым этапом была разработка самого редактора. Он состоит из двух сцен. Сцена «start» служит стартовым окном запуска программы (рис. 1).

Рисунок 1. - Окно запуска программы:

При нажатии на кнопку «Start» откроется основное окно программы.

Рисунок 2. - Основное окно программы:

Основное окно представлено двумя частями. В левой части этого окна расположено основное меню.

В этом меню можно выбрать объекты, которые мы хотим разместить на поверхности.

При нажатии на кнопки «prev» или «next» станет доступен новый объект, соответственно предыдущий или следующий.

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

В центральной части основного окна программы можно видеть проекцию комнаты сверху.

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

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

Рисунок 3:

При нажатии на управляющий элемент «view in 3D» откроется трехмерное представление только что созданной комнаты (рис. 4).

Рисунок 4. - Функция движения стульев:

При нажатии на кнопку «save» текущее расположение предметов интерьера через веб-сервер сохранится в базу данных MySQL.

При нажатии на кнопку «load» ранее сохраненные предметы интерьера будут загружены из базы данных и вновь расположены на поверхности.

Рисунок 5. - 3D представление комнаты:

Рисунок 6. - Функция 3D вида:

3. Реализация сохранения и загрузки интерьера с использованием сервера Apache и базы данных MySQL в среде Unity 3D1

База данных приложения для временного хранения расположения выбранных предметов интерьера содержит таблицу.

Табл. - Сохраненные объекты:

Название поля

Тип

Описание

ID

Integer

Идентификатор

Name

Varchar

Имя объекта

posX

Float

Позиция по оси Х

posY

Float

Позиция по оси У

posZ

Float

Позиция по оси Z

rotX

Float

Угол наклона по оси Х

rotY

Float

Угол наклона по оси Y

rotZ

Float

Угол наклона по оси Z

scaleX

Float

Масштабирование по оси Х

scaleY

Float

Масштабирование по оси У

scaleZ

Float

Масштабирование по оси Z

Рисунок 7. - Php скрипт сохранения информации об объектах в базу данных:

При нажатии на кнопку «save» платформа Unity 3D обращается к веб-серверу Apache и передает необходимые параметры о расположенных объектах через POST параметры в скрипт «save.php», который в свою очередь соединяется с базой данных MySQL и добавляет в таблицу необходимые данные.

При нажатии на кнопку «load» среда Unity3D обращается к веб-серверу Apache и вызывает скрипт «loadToFile.php», который в свою очередь делает выборку из таблицы, где хранятся объекты, а затем записывает всю информацию в текстовый файл. Это сделано из-за того, что в Unity3D отсутствует работа с базой данных напрямую. Затем Unity3D считывает данные из этого текстового файла и располагает сохраненные ранее предметы интерьера на экране.

Заключение

компьютерный веб сервер

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

Реализовано сохранение и загрузка интерьера с использованием сервера Apache и базы данных MySQL.

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

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

Список литературы

1. Ryan Henson Creighton, Unity 3D Game Development by Example Beginner's Guide - PacktPublishing, 2010.

2. Will Goldstone, Unity 3.x Game Development Essentials - PacktPublishing, 2011.

3. Volodymyr Gerasimov, Devon Kraczla, Unity 3.x Scripting - PacktPublishing, 2012.

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


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

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

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

  • Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.

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

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

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

  • Установка и настройка локального web–сервера и его компонентов. Конфигурационные файлы сервера Apache и их натройка. Настройка PHP, MySQL и Sendmail. Проверка работоспособности виртуальных серверов. Создание виртуальных хостов. Тест Server Side Includes.

    учебное пособие [6,2 M], добавлен 27.04.2009

  • Характеристика и технические возможности СУБД MySQL. Трехуровневая структура MySQL. Требования к аппаратному обеспечению. Создание таблицы, триггеров, генераторов, хранимых процедур в MySQL. Разработка приложения для базы данных с помощью Borland Delphi.

    курсовая работа [940,7 K], добавлен 20.12.2011

  • Методы и технологии создания виртуальных магазинов. Программные средства для создания сайта. Разработка php-модуля. Технические возможности СУБД MySQL. Приложения для создания графики и дизайна. Логическая структура сайта. Разработка базы данных.

    курсовая работа [248,1 K], добавлен 24.04.2012

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

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

  • Отличительные особенности языков программирования PHP и CSS. Возможности компактного многопоточного сервера баз данных MySQL. Системный анализ предметной области, проектирование ее инфологической модели. Создание базы данных и web-страниц сайта магазина.

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

  • Основные технологии веб-программирования. Методы отправки данных на сервер с помощью HTML-формы. PHP - Препроцессор Гипертекста. Сохранение данных в базе данных MySQL. Клиент-Сервер и технология CGI. Примеры использования PHP совместно с MySQL.

    лекция [2,9 M], добавлен 27.04.2009

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

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

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