В статье предложена концепция трёхмерного моделирования технических систем и процессов с помощью программных средств разработки компьютерных игр, одним из которых является среда Unity 3D. Применение указной концепции открывает широкие возможности по моделированию различных сценариев функционирования технических систем, как на этапах проектирования, так и в процессе эксплуатации. Разработка виртуальных средств моделирования технических систем открывает новые возможности по комплексному прогнозированию результатов отработки сценариев характерных для моделируемых систем, в том числе и сценариев чрезвычайных происшествий.
Ключевые слова: моделирование, Unity 3D, технические системы, программирование, автоматика.
Введение. Поступательное развитие средств вычислительной техники обуславливает все большее проникновение информационных технологий во все сферы человеческой деятельности. За последние 20 лет вычислительная мощность ЭВМ увеличилась более чем в десятки раз, что открывает возможности для все более и более детального моделирования виртуальной реальности. Следует отметить, что появление электронных средств вычислительной техники (СВТ) обусловило разработку моделей и программных средств позволяющих проводить анализ в меру доступных технических возможностей. Базируясь на принципах математического моделирования компьютерное моделирование использовалось для решения различных задач от имитации игрового автомата, до моделирования транспортной системы [1; с. 145–183]. В данной статье будут рассмотрены общие подходы к моделированию и возможность их апробации в виртуальной среде созданной с помощью средства компьютерной разработку Unity 3D.
Компьютерное моделирование технических систем. Компьютерное моделирование применяется для решения различных задач в области анализа технических систем. Также разнообразны и способы перевода патетических моделей в форму программы ПЭВМ. Одним из распространённых средств может являться моделирование технических систем с помощью графов [2], однако данный метод решает ограниченный круг задач и не может в полной мере решить задачи виртуального моделирования. Другим распространенным способом компьютерного моделирования является перевод математической (физической) модели технической системы, в программный код написанный на одном из распространённых языков программирования. В зависимости от возможностей среды разработки и степени доступности реализации программных элементов, возможно достижение той или иной степени детализации модели. Ярким примером программного моделирования различных технических систем от системы автоматического управления, до модели движения мотоцикла с помощью языка free Pascal, представлен в соответствующей работе Р. В. Майера [3]. Однако, как видно результаты моделирования может быть сложно интерпретировать неподготовленному человеку, также может вызвать затруднение изменение параметров моделирования. С точки зрения доступности составления модели и обработки результатов моделирования более перспективными являются системы имитационного моделирования позволяющие человеку имеющему минимальные познания в области программирования создавать модели имитирующие различные технические процессы. Примером такой модели может являться имитация процесса строительных и транспортные работ [4,5]. В рамках которой наглядно оценивается загрузка тех или ключевых элементов системы в зависимости от количества действующих объектов системы. Однако рассмотрим результаты моделирования (Таблица 1)
Таблица 1
Результаты моделирования, модели при наличии 4 панелевозов в системе
FACILITY |
ENTRIES |
UTIL |
AVE.TIME |
AVAIL. |
OWNER |
INTER |
RETRY |
DELAY |
KRAN_1 |
38 |
0.860 |
10.865 |
3 |
3 |
0 |
0 |
0 |
ROAD_1 |
37 |
0.773 |
10.024 |
5 |
5 |
0 |
0 |
0 |
KRAN_2 |
36 |
0.595 |
7.931 |
4 |
4 |
0 |
0 |
0 |
ROAD_2 |
35 |
0.559 |
7.661 |
1 |
1 |
0 |
0 |
0 |
QUEUE |
MAX |
CONT |
ENTRY |
ENTRY(0) |
AVE.CONT |
AVE.TIME |
AVE.(-0) |
RETRY |
POGR_1 |
3 |
0 |
38 |
21 |
0.214 |
6.055 |
6.055 |
0 |
WAY_1 |
1 |
0 |
37 |
26 |
0.033 |
0.426 |
1.433 |
0 |
POGR_2 |
1 |
0 |
36 |
35 |
0.001 |
0.019 |
0.672 |
0 |
WAY_2 |
1 |
0 |
35 |
31 |
0.006 |
0.088 |
0.774 |
0 |
В данной таблице представлены результаты моделирования системы кран — панелевозы, следует отметить, что результаты моделирования будут очевидны и доступны к интерпретации только людям знакомым с исходными условиями модели и умеющими интерпретировать данные полученные в результате работы GPSS WORLD. Как видно из представленных выше способов компьютерного моделирования ни один не представляет должного уровня наглядности. С точки зрения демонстрации результатов моделирования наиболее перспективен путь виртуализации технических систем, так, например с помощью методов трехмерного моделирования возможно рассчитать и визуализировать перемещение «лунохода-1» по поверхности Луны [6]. Следующим этапом развития данных систем должна стать возможность интерактивного взаимодействия пользователя со средой моделирования непосредственно в процессе ее исполнения.
Виртуальное моделирование технических средств с помощью системы Unity 3D. С точки зрения методологии разработки создание виртуальной модели во многом идентично другим способам компьютерного моделирования. Так, например при разработке виртуальной системы необходимо разработать полную ее модель. Важным фактором при разработке модели является составление ее иерархической структуры, системный синтез и анализ, математический и физический аппарат составления модели. Пример иерархической структуры модели представлен на рисунке 1, составление анной структуры является одним из первых этапов разработки виртуальной модели.
Основной особенностью, усложняющей разработку виртуальной модели, является необходимость проработки модели функционирования окружающего пространства включая законы взаимодействия объектов в нем. Таким образом создание интерактивной виртуальной модели является сложным процессом, однако разработка стандартизованных моделей окружения (в том числе применяемых и в компьютерных играх) способны облегчить процесс разработки. Так созданная модель ранее трехмерного окружающего пространства может быть перенесена и на другие модели технических систем [7] Инструментарий среды разработки Unity 3D позволяет разработать виртуальное окружение, в том числе и действующее в рамках определённых законов физики, после чего поместить в это окружение управляемый пользователем объект наделив его функциями интерактивного взаимодействия с окружающим пространством и объектами [8; с. 100–126].
Рис. 1. Иерархическая структура технической системы
Рассмотрим основные преимущества Unity 3D с точки зрения разработки игр [9]:
Первое преимущество — язык C#. Данный язык высокоуровневый и позволяет программисту легко войти в разработку игры. Это важный момент, потому что в отличие от других движков, где используется язык C++, в C# есть много элементов и приемов, которые уже реализованы, и программисту нужно только воспользоваться ими.
Второе преимущество — кроссплатформенность, т. е. один и тот же код, написанный на движке Unity, с минимальными изменениями может быть перенесен на различные платформы (PC, Mac, Android, iOS, Web, игровые консоли). Это огромный плюс, который сокращает время на разработку игры в несколько раз.
Третье преимущество — хорошее Community. Это означает, что у различных функций движка есть четкое описание с примерами на сайте разработчика, обратиться к которому можно в любой момент.
И четвертым преимуществом является Asset Store, где имеется огромное количество различных плагинов и ресурсов для создания игры. Разумеется, какие-то из них бесплатные, какие-то платные, но все они собраны в одном месте с удобным поиском и возможностью загрузить, интегрировать и получить сразу рабочий функционал.
Следует отметить, что поскольку у процесса виртуального моделирования множество точечек пересечения с процессором разработки современных компьютерных игр, то указанные преимущества справедливы и для задач, рассматриваемых в данной статье.
Заключение. Виртуальное моделирование технических систем с помощью средств разработки компьютерных игр является перспективной задачей. Применение широко известных инструментов разработки, и привлечение сообщества программистов может дать существенный толчок к развитию данного направления.
Литература:
1. Лисиенко В. Г. Моделирование сложных вероятностных систем: учеб. пособие. / В. Г. Лисиенко, О. Г. Трофимова, С. П. Трофимов, и др. Екатеринбург: УРФУ, — 2011. — 200 с.
2. Радченко С. А. Моделирование поведения технических систем на графах
2. / С. А. Радченко // Известия Южного федерального университета. Технические науки. — 2008. — № 1. — С. 28–29.
3. Майер Р. В. О компьютерном моделировании технических систем в среде Free Pascal / Р. В. Майер // Перспективы науки и образования — 2014. — № 1. — С. 88–84.
4. Кудрявцев Е. М. Обоснование применения системы автоматически регулируемого освещения на базе светодиодов при производстве землеройно-транспортных работ [Текст] / Е. М. Кудрявцев, Р. С. Ульянов, И. А. Шиколенко // Технические науки: традиции и инновации: материалы II междунар. науч. конф. (г. Челябинск, октябрь 2013 г.). — Челябинск: Два комсомольца, 2013. — С. 62–67.
5. Кудрявцев Е. М. Применения системы освещения на базе автоматически управляемых светодиодов при производстве строительно-транспортных работ [Текст] / Е. М. Кудрявцев, Р. С. Ульянов, И. А. Шиколенко // Молодой ученый. — 2013. — № 10. — С. 149–156.
6. Стоволосов Е. В. Моделирование передвижения «лунохода-1» по поверхности луны
6. / Стоволосов Е. В., Быстров А. Ю. // ИНТЕРЭКСПО ГЕО-СИБИРЬ — 2013. — № 1. — С. 54–58.
7. Ромин Е. Создание трехмерной модели местности в Unity 3D [Электронный ресурс] / Е. Ромин, Н. Галкин // URL: http://brainy.pro/ru/blog-ru/51-terrain_editor_ru (дата обращения 29.05.2015)
8. Goldstone W. Unity Game Development Essentials. / W Goldstone. Birmingham: Packt Publishing Ltd., — 2009. — 316 с.
9. Портал habrahabr.ru. 4 преимущества Unity3D, а также полезный инструмент для ускорения процесса разработки приложений // URL: http://habrahabr.ru/company/ximad/blog/252525/ (дата обращения 29.05.2015)