Компьютерное моделирование динамических объектов с использованием среды разработки компьютерных игр Unity

Бесплатный доступ

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

Еще

Моделирование динамических объектов, компьютерная 3d- модель, системы разработки компьютерных игр

Короткий адрес: https://sciup.org/14770231

IDR: 14770231

Текст научной статьи Компьютерное моделирование динамических объектов с использованием среды разработки компьютерных игр 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.
Статья научная