Разработка редактора интерьеров в среде 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