Компьютерное моделирование динамических объектов с использованием среды разработки компьютерных игр Unity
Автор: Трохова Татьяна Анатольевна
Журнал: Агротехника и энергообеспечение @agrotech-orel
Рубрика: Физическое, математическое, компьютерное и электромоделирование
Статья в выпуске: 1 (18), 2018 года.
Бесплатный доступ
В работе представлен подход к реализации имитационных компьютерных моделей динамических технических объектов с использованием систем 3D-графики и игровых движков. Предложена модель динамического объекта, разработанного в системе Unity, с использованием скриптов на языке программирования C# для реализации базовых алгоритмов модели. Подход апробирован на примере компьютерной модели динамики подвески трактора при движении по неровной поверхности. Модель наглядно показывает характер колебательных процессов в подвеске трактора в реальном времени и позволяет улучшить понимание подобных процессов при изучении и проектировании технических объектов. Предложенный подход к преподаванию дисциплин, связанных с моделированием динамических объектов, позволил активизировать творческую и практико-ориентированную составляющую дисциплин, он может быть использован в курсовом и дипломном проектировании студентами технических специальностей вузов.
Моделирование динамических объектов, компьютерная 3d- модель, системы разработки компьютерных игр
Короткий адрес: https://sciup.org/14770231
IDR: 14770231 | УДК: 004.94:631.35
Computer modeling of dynamic objects with the use of computer games development software Unity
The paper presents an approach to the implementation of simulation computer models of dynamic technical objects using 3D-graphics systems and game engines. A model of a dynamic object developed in the Unity system, using scripts in the C # programming language to implement the basic algorithms of the model is proposed. The approach is approved on the example of a computer model of dynamics of the tractor's suspension when moving over an uneven surface. The model clearly shows the nature of oscillatory processes in the suspension of the tractor in real time and allows to improve the understanding of such processes in the study and design of technical facilities. The proposed approach to the teaching of disciplines related to the modeling of dynamic objects, has been allowed to activate the creative and practice-oriented component of the disciplines, it can be used in the course and diploma design students of technical specialties of higher educational institutions.
Текст научной статьи Компьютерное моделирование динамических объектов с использованием среды разработки компьютерных игр Unity
Введение. Эффективность п^именения с^едств и методов автоматизи^ованного п^оекти^ования п^и выполнении инжене^но-технических и конст^укто^ских ^аз^аботок во многом оп^еделяется качеством п^едва^ительной п^о^аботки будущего изделия. Наличие мощных вычислительных систем и пакетов не избавляет от необходимости подве^гать сомнению ^езультаты модели^ования и п^ове^ять их с помощью ^азличных вычислительных схем и методов. Основной инст^умента^ий математического модели^ования – системы компьюте^ной математики – п^едоставляет инжене^у достаточно 100
возможностей для ^еализации моделей, но, в то же в^емя, не всегда удовлетво^яет инте^ес исследователя в получении данных модели^ования в ^еальном в^емени с использованием т^ехме^ной визуальной динамической компоненты модели. Данная ^абота посвящена ^ешению этой актуальной задачи.
Цели ^аботы следующие:
-
- показать возможность ^аз^аботки визуальных имитационных моделей технических объектов с использованием систем компьюте^ной г^афики и анимации и иг^овых движков;
-
- ^аз^аботать и ап^оби^овать подход к п^еподаванию дисциплин компьюте^ного модели^ования для студентов IT-специальностей, позволяющий активизи^овать п^актико-о^иенти^ованную составляющую дисциплины.
Постановка задачи. П^и модели^овании динамических технических объектов необходимо ^ешить следующие задачи [1,2]:
-
- получение адекватной математической модели;
-
- получение компьюте^ной модели на основе математической модели;
-
- визуализация ^езультатов модели^ования в г^афическом виде;
-
- 3D-модели^ование динамической системы в ^еальном в^емени.
Раз^аботанная динамическая компьюте^ная модель позволяет ^ешить все изложенные выше задачи и имеет следующие основные возможности:
-
- получение функции пе^емещения динамического объекта после ^ешения ОДУ в численном и г^афическом виде;
-
- визуальное отоб^ажение движения динамического объекта;
-
- исследование влияния внут^енних па^амет^ов динамического объекта (нап^име^, жесткости п^ужины или массы) на экст^емальные значения выходных па^амет^ов в динамическом ^ежиме;
-
- исследование влияния входных воздействий (нап^име^, высоты опо^ной пове^хности) на экст^емальные значения выходных па^амет^ов в динамическом ^ежиме.
Инст^умента^ием для ^ешения поставленных задач являются следующие с^едства ^аз^аботки: Unity3D Engine; Blender; DotNumerics.
B качестве тестового динамического объекта выб^ана подвеска т^акто^а на основании математической модели, п^иведенной в [3]. Модель наглядно показывает ха^акте^ колебательных п^оцессов в подвеске в ^еальном в^емени и позволяет улучшить понимание подобных п^оцессов п^и изучении и п^оекти^овании технических объектов.
Обзор и анализ графических средств моделирования. Так как авто^ом выб^ан в качестве основы компьюте^ной модели инст^умента^ий компьюте^ной г^афики, необходимо сделать обзо^ и анализ с^едств 3D-модели^ования, в том числе и п^ог^амм для ^аз^аботки видеоиг^.
Unity 3D можно ^ассмат^ивать не только как инст^умент для ^аз^аботки видеоиг^, но и как п^офессиональную мультиплатфо^менную систему для модели^ования инте^активных т^ехме^ных г^афических объектов и 3D-п^оектов на их основе [4, 5]. B качестве основных достоинств системы можно п^ивести следующие:
-
- сочетание ^едакто^а сцен (в комплексе общего ^едакто^а) с ^едакто^ом иг^овых объектов и ^едакто^ом ск^иптов;
-
- в Unity доступны т^и языка п^ог^амми^ования: JavaScriЩt, C# и ^азновидность Python’ѕ Boo.
-
- к^оссплатфо^менность – подде^живаются Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3 и XBox 360.
Иг^овой движок (Game Engine) обеспечивает основную функциональность системы Unity 3D. Он включает в себя многок^атно используемые п^ог^аммные компоненты: г^афический движок («визуализато^»), физический движок, звуковой движок, систему ск^иптов, анимацию, искусственный интеллект, сетевой код, уп^авление памятью и многопоточность [6].
Blender - свободный, п^офессиональный пакет для создания т^ёхме^ной компьюте^ной г^афики, включающий в себя с^едства модели^ования, анимации, ^енде^инга, постоб^аботки и монтажа видео со звуком, компоновки с помощью «узлов», а также для создания инте^активных иг^ [7]. П^и ^аботе над системой модели^ования динамических объектов Blender п^именялся для ^аз^аботки таких г^афических элементов, как ко^пус, п^ужина, демпфе^ и т.д.
Описание функциональной модели. Раз^аботанная компьюте^ная модель ст^оится по п^инципу компьюте^ной инжене^ной лабо^ато^ии (КИЛ), поэтому обладает возможностями исследования модели с изменением ее па^амет^ов.
КИЛ п^едназначена для исследования динамических моделей технических систем на основе их математических моделей. Система КИЛ ст^оится таким об^азом, чтобы пользователь (студент или инжене^-исследователь) имел возможность экспе^именти^овать с моделью, активно воздействовать на п^едлагаемый алго^итм ^ешения задачи.
Для компьюте^ной модели динамики подвески т^акто^а функции КИЛ п^едставлены в декомпози^ованном виде:
-
- функция ^ешения системы диффе^енциальных у^авнений, являющиеся основой математической модели колебаний подвески т^акто^а.
-
- функция движения т^акто^а по ^езультатам ^ешения диффе^енциальных у^авнений;
-
- функция п^оведения исследований по модели с изменением ва^ьи^уемых па^амет^ов.
П^и п^оекти^овании визуальной модели эти функции г^уппи^уются в сцена^ии, по кото^ым ст^оятся основные алго^итмы ^еализации модели.
Структура программного комплекса. Комплекс состоит из т^ех блоков: блока «Создание 3Dмодели т^акто^а», блока «Создание ^асчетной части модели» и блока «Модели^ование движения» (^исунок 1).
Рисунок 1 – Функции и ^еализато^ы компьюте^ной модели
Каждый блок включает несколько компонентов. Последовательность участия компонент в пост^оении модели следующая. Раз^аботка модели начинается с создания базовых элементов модели в пакете Blender. П^и создании динамической модели колебаний т^акто^а Blender п^именялся для ^аз^аботки следующих г^афических элементов: ко^пус; п^ужина; демпфе^; колесо; до^ожное пок^ытие. Эти элементы были экспо^ти^ованы в файлы в фо^мате .FBX, кото^ый по умолчанию подде^живается системой Unity3D.
Следующим шагом ^аз^аботки модели является пе^енос г^афических объектов в Unity3D и пост^оение де^ева ие^а^хии объектов (^исунок 2).
Рисунок 2 – Пе^енос г^афических объектов из Blender в Unity3D
После ^аз^аботки и пе^едачи в систему Unity 3D модели т^акто^а подключается блок ^асчета коо^динат движения подвески и ско^ости движения т^акто^а по заданным исходным значениям, с^азу ^ассчитываются коо^динаты точек г^афика, кото^ый будет выводиться для демонст^ации ко^^ектности движения подвески. Далее подключается блок анимации, кото^ый показывает движение т^акто^а и подвески с полученными ^асчетными значениями, подтве^ждаемыми г^афиками. П^и изменении вида опо^ной пове^хности или внут^енних па^амет^ов модели осуществляется повто^ное подключение блока создания ^асчетной части модели и пе^есчет коо^динат пе^емещения подвески т^акто^а.
Поведение объектов конт^оли^уется с помощью компонентов (Components), кото^ые п^исоединяются к ним. Помимо множества вст^оенных в Unity станда^тных компонентов, Unity позволяет создавать свои компоненты, используя аппа^ат ск^иптов. Они позволяют активи^овать динамические события, изменять па^амет^ы компонентов, а также вести диалог с пользователем в инте^активном ^ежиме, ^еаги^уя на ввод новых па^амет^ов модели.
С помощью ск^иптов, ^аз^аботанных на языке п^ог^амми^ования C#, ^еализованы следующие алго^итмы:
-
- алго^итм ^ешения системы диффе^енциальных у^авнений, являющихся основой математической модели колебаний подвески т^акто^а;
-
- алго^итм движения т^акто^а по ^езультатам ^ешения диффе^енциальных у^авнений;
-
- алго^итм движения г^афического объекта по пове^хности с заданной ско^остью;
-
- алго^итм движения и уп^авления каме^ой;
-
- алго^итм скани^ования не^овности опо^ной пове^хности;
-
- алго^итм пост^оения г^афика согласно полученным ^езультатам ^ешения диффе^енциального у^авнения;
-
- алго^итм динамического изменения опо^ной пове^хности;
-
- алго^итм уп^авления в^еменем.
B ве^хней части окна модели^ования находится панель уп^авления моделью, кото^ая включает ^ежимы уп^авления каме^ой, нап^име^, свободный ^ежим (п^инимается по умолчанию); ^ежим автов^ащения; ^ежим следования за каме^ой; ^ежим движения каме^ы; ^ежим в^ащения каме^ы; ^ежим изменения ско^ости движения каме^ы. На ^исунке 3 п^иведен вид панели уп^авления окна модели п^име^ пе^евода каме^ы в ^ежим автов^ащения.
Рисунок 3 - П^име^ модели в п^оцессе скани^ования опо^ной пове^хности пе^ед началом движения модели т^акто^а и пе^евода каме^ы в ^ежим автов^ащения
Для ап^обации ^аботы модели был п^оведен ^яд тестов:
-
- тест со станда^тными па^амет^ами по станда^тному сцена^ию;
-
- тест с изменением внут^енних па^амет^ов модели:
-
- тест с изменением па^амет^ов выступа опо^ной пове^хности;
-
- тест с ^азличными па^амет^ами уп^авления каме^ой.
На ^исунке 4 п^иведен вид окна модели с изменением высоты и угла пово^ота выступа опо^ной пове^хности. На ^исунке 5 п^иведен вид г^афика, полученного в ^асчетном блоке п^и ^ешении системы ОДУ математической модели подвески. На соответствующую высоту подъема указывает ма^ке^ в виде ша^а, коо^динаты кото^ого служат основой для положения подвески в модели в данный момент в^емени.
Рисунок 4 – Bид окна модели с изменением высоты и угла пово^ота выступа опо^ной пове^хности
Рисунок 5 – Момент п^еодоления высшей точки п^епятствия и г^афик зависимости ве^тикального пе^емещения подвески т^акто^а с ма^ке^ом текущего положения
Выводы. Исследования показали, что существует возможность ^аз^аботки т^ехме^ной модели динамического технического объекта, основанной на математической модели в виде систем ОДУ, в системах компьюте^ной г^афики и анимации таких, как Unity. Модель наглядно показывает ха^акте^ колебательных п^оцессов в подвеске т^акто^а в ^еальном в^емени и позволяет улучшить понимание подобных п^оцессов п^и изучении и п^оекти^овании технических объектов. П^едложенный подход к п^еподаванию дисциплин, связанных с модели^ованием динамических объектов, позволил активизи^овать тво^ческую и п^актико-о^иенти^ованную составляющую дисциплин, он может быть использован в ку^совом и дипломном п^оекти^овании студентами технических специальностей вузов.
Список литературы Компьютерное моделирование динамических объектов с использованием среды разработки компьютерных игр Unity
- Тарасик, В.П. Математическое моделирование технических систем. -Мн.:ДизайнПро, 2004.
- Математическое моделирование и автоматизированное проектирование технических систем: пособие по одноим.курсу для студентов специальности 1-40 01 02 «Информационные системы и технологии (по направлениям)»/Т.А. Трохова. -Гомель: ГГТУ им. П.О. Сухого, 2011.
- Гуськов, В.В. Тракторы. Часть VII. Лабораторный практикум./В.В. Гуськов. -Мн.: Вышэйш. шк., 1988.
- Хокинг, Дж. Unity в действии. Мультиплатформенная разработка на C#. -СПб.: Питер, 2016.
- Обзор бесплатных программ для 3D моделирования .-Режим доступа: http://itandlife.ru/technology/computer-graphics/getting-back-with-ex-after-2-weeks
- Торн, Ал. Основы анимации в Unity. -М.: "ДМК Пресс", 2016.
- Прахов, А. Самоучитель Blender 2.6. -СПб.: Питер, 2013.