Назад в библиотеку

Использование технологии Unity3D при разработке тренажерно - обучающей системы

Авторы: Галкин А. В., Аноприенко А. Я.
Источник: Информационные управляющие системы и технологии и компьютерный мониторинг (ИУС и КМ 2013) / Материалы III Всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых — Донецк, ДонНТУ — 2013, с.170-176.

Аннотация

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

Общая постановка задачи

Основной задачей проекта является создание собственной тренажерно-обучающей системы, ориентированной на имитацию полета воздушного судна. Внедрение тренажерно-обучающих систем, способных функционировать на персональных компьютерах, в ДонНТУ началось в 80-е года[3,4], целью которых была разработка средств машинной графики для интенсификации учебного процесса. На данный момент ведутся разработки тренажерных систем для шахт, результатом которых стало создание и организация модульного интерактивного приложения для трехмерного моделирования угольных шахт[5,6,7]. В реализуемом в настоящее время проекте технология Unity3D используется для создания сцен ландшафтов, которые будут использоваться в качестве текстур для предполагаемой тренажерной системы.

С ростом популярности плоскопанельных устройств важно достигнуть способности функционирования тренажерных систем на таких устройствах, как планшетные компьютеры или сенсорные телефоны. Выбор технологии Unity3D позволяет разработать двух- или трехмерное приложение, работающее под любыми операционными системами: Windows, OS X, Android, Apple iOS, Linux.

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

Ресурсы проекта – это строительные/составные блоки всех проектов Unity, в качестве которых могут быть использованы файлы изображений или текстур, 3D-моделей, звуков и т.д., которые будут использоваться при создании в качестве ресурсов (рис.1).

Рисунок 1 – Пример отображения ресурсов проекта Unity3d

Рисунок 1 – Пример отображения ресурсов проекта Unity3d

Первый этап практической реализации проекта

В качестве ресурсов для создания изображения неба в проекте были использованы несколько обычных изображений, совмещение которых позволило создать эффект панорамы неба (рис.2).

Рисунок 2 – Созданная панорама неба

Рисунок 2 – Созданная панорама неба

Когда какой-либо ресурс, например геометрическая 3D-модель, используется в сцене приложения, он становится в терминологии Unity игровым объектом. Все эти объекты, изначально, имеют хотя бы один компонент, задающий его положение в сцене и возможные преобразования (компонент Transform). Переменные компонента Transform определяет положение (position), поворот (rotation) и масштаб (scale) объекта в его локальной декартовой прямоугольной системе координат X, Y, Z. Наличие переменных у каждого компонента обуславливает возможность обращения к ним из соответствующей программы.

Компоненты (components) в Unity3d имеют различное назначение – они могут влиять на поведение, внешний вид и многие другие функции объектов, к которым прикрепляются (attaching). Unity предоставляет множество компонентов различного назначения.

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

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

Рисунок 3.б – Окно задания свойств объекта

Рисунок 3.б – Окно задания свойств объекта

Рисунок 4 – Сформированная морская поверхность

Рисунок 4 – Сформированная морская поверхность

Выводы

Создание приложения с помощью технологии Unity3d обеспечивает возможность 3D-визуализации проекта, упрощает процесс разработки, обеспечивает возможность запуска на нескольких платформах, таких как игровые консоли и настольные операционные системы, например, Linux, Mac OS X и Microsoft Windows. Ядро Unity3d имеет компонентную архитектуру, позволяющую заменять или расширять некоторые подсистемы движка более специализированными компонентами, например, для симуляции физической природы взаимодействия, звука или рендеринга.

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

Список использованной литературы

1. Unity-Game Engine [Электронный ресурс]. – Режим доступа: www/ URL: http://www.unity3d.com/
2. Unity3D по-русски! [Электронный ресурс]. – Режим доступа: www/ URL: http://www.unity3d.ru/
3. Башков Е.А., Аноприенко А.Я., Сербиненко А.В., Коба Ю.А., Кухтин А.А. Из опыта разработки средств машинной графики для интенсификации учебного процесса // Республиканский научно-методический сборник «Проблемы высшей школы». Выпуск 66. – Киев: Вища школа. – 1988. С. 112-116.
4. Башков Е.А., Аноприенко А.Я., Коба Ю.А., Кухтин А.А., Мальчева Р.В., Чухонцева Т.В. Система синтеза изображений в реальном времени для испытательных стендов // «Гибридные вычислительные машины и комплексы», вып. 15. – 1992. С. 72-76.
5. Трофимов В.А., Николаев Е.Б., Аноприенко А.Я., Бабенко Е.В., Оверчик О.М., Использование трехмерного интерактивного моделирования угольной шахты для создания тренажера по безопасности и охране труда // Материалы всеукраинской научно-технической конференции «СОВРЕМЕННЫЕ ПРОБЛЕМЫ ОХРАНЫ ТРУДА И АЭРОЛОГИИ ГОРНЫХ ПРЕДПРИЯТИЙ» 24 ноября 2011 г., Донецк, ДонНТУ, 2011. С. 80-84.
6. Tpoфимов В.О., Анопрієнко О.Я., Ніколаєв Є.Б. Розроблення 3D-програм для навчання правил безпеки у вугільних шaxтax // «Уголь Украины», № 12 (672), 2012. С. 29-30.
7. Бабенко Е.В., Аноприенко А.Я. Организация модульного интерактивного приложения для трехмерного моделирования угольных шахт // Материалы III всеукраинской научно-технической конференции «Информационные управляющие системы и компьютерный мониторинг (ИУС и КМ 2012)» – 17-18 апреля 2012 г., Донецк, ДонНТУ, 2012. С. 680-684.
8. Goldstone, W. Unity Game Development Essentials. – Packt Publishing, 2009. –316 с.
9. Creighton, R.-H. Unity 3D Game Development by Example Beginner's Guide – Packt Publishing, 2010. – 384 c




Rambler's Top100