Научная статья на тему 'СОЗДАНИЕ AR-ПРИЛОЖЕНИЯ НА БАЗЕ UNITY 3D'

СОЗДАНИЕ AR-ПРИЛОЖЕНИЯ НА БАЗЕ UNITY 3D Текст научной статьи по специальности «Компьютерные и информационные науки»

421
60
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
AR-технология / Компас-3D / UNITY / Blender / Vuforia / Visual Studio / AR-technology / Kompas-3D / UNITY / Blender / Vuforia / Visual Studio.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рововой Эдуард Юрьевич, Иванов Максим Вячеславович, Киселев Иван Александрович

приложение, в котором посредством технологии дополненной реальности (AR-технология) осуществляется анимация сборки-разборки узла машинного агрегата.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Рововой Эдуард Юрьевич, Иванов Максим Вячеславович, Киселев Иван Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CREATING AN AR-APPLICATION BASED ON UNITY 3D

an application in which the assembly and disassembly of a machine assembly unit is animated using augmented reality technology (AR-technology).

Текст научной работы на тему «СОЗДАНИЕ AR-ПРИЛОЖЕНИЯ НА БАЗЕ UNITY 3D»

XII Международная научно-практическая конференция УДК 004.9

Рововой Эдуард Юрьевич Rovovoy Eduard Yurievich, Иванов Максим Вячеславович Ivanov Maxim Vyacheslavovich, Киселев Иван Александрович Kiselev Ivan Aleksandrovich Студент Student

Санкт-Петербургский политехнический университет Петра Великого Peter the Great St.Petersburg Polytechnic University

СОЗДАНИЕ AR-ПРИЛОЖЕНИЯ НА БАЗЕ UNITY 3D CREATING AN AR-APPLICATION BASED ON UNITY 3D

Аннотация: приложение, в котором посредством технологии дополненной реальности (AR-технология) осуществляется анимация сборки-разборки узла машинного агрегата.

Abstract: an application in which the assembly and disassembly of a machine assembly unit is animated using augmented reality technology (AR-technology).

Ключевые слова: AR-технология, Компас-3D, UNITY, Blender, Vuforia, Visual Studio

Key words: AR-technology, Kompas-3D, UNITY, Blender, Vuforia, Visual

Studio.

AR-технологии (технологии дополненной реальности) позволяют инженерам визуализировать созданные ими проекты, выявлять в них недочеты на ранних этапах проектирования. Поэтому разработка AR-программ является крайне перспективной.

Основой проекта послужила модель упругой торообразной муфты, созданной в программе САПР Компас 3D (рис. 1).

Следующим этапом модель была экспортирована в Blender в формате .wrl. Затем создан «скелет» модели (рис. 2), предназначенный для упрощения процесса анимации и беспроблемного переноса этих же анимаций в UNITY.

Рис. 2. Модель с готовым скелетом в Blender

Для демонстрации сборки-разборки муфты необходимо создание анимаций. Они были заданы через кости. В одном положении на временном отрезке (timeline), например, 0, вводилось Insert Keyframes по x,y,z, в другом временно промежутке, например, 30 кадр, деталь перемещалась, и вводились новые Keyframes (рис. 3).

Рис. 3. Модель с готовым скелетом в Blender

В UNITY создаем новый проект. Создаем папку Models, туда переносим нашу модель в формате .fbx, которая содержит в себе все детали и анимации (рис. 4).

Assets > Models

SborKax» Armature Armature... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... No Name Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn...

El О Щ Л Л Л Л * О ¿m ^ о ^ *

Shapejn... Shapejn... S*apeJ,.. Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn...

[ о о ¿m О О ^ ' } ' } О m & О В

[ о * о Ф' о О О BH

Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Shapejn... Armature... Armature... Armature...

Рис. 4. Файлы модели в UNITY

Перетаскиваем в рабочую область модель и настраиваем расположение камеры для лучшего обзора. Открываем меню камеры и нажимаем кнопку Add component. В открывшемся меню выбираем пункт New Script. Автоматически создаётся пустой файл в формате .cs [0]. Для его редактирования переходим в Visual Studio. Суть скрипта -привязать к конкретным клавишам перемещения камеры. При однократном нажатии происходит единичное перемещение вдоль

Инновационные аспекты развития науки и техники базисного вектора в том или ином направлении. За перемещения в горизонтальной плоскости будут отвечать клавиши ",А,Б,В, в горизонтальной плоскости - Q и Е, а поворот вокруг вертикальной оси будет осуществляться при помощи мыши при нажатой средней кнопке (рис.5).

CameraScript.cs -ft X AnimScript.cs

[с*1 Прочие файлы - CameraScript

7 public int par-am = 0;

8 public float speed = 1.0fj

10 // Start is called before the first frame update

11 void Start()

12 {

13

14

15

16 // Update is called once per frame

17 void Update()

18 {

19 float coef = Time.deltaTime * speed;

20 if (Input.6etKey(KeyCode.D))

21 {

22 transform.Translate(Vector3.right*coef);

23 y

24 if (Input-GetKey(KeyCode.A))

25 {

26 transform.Translate(Vector3.left * coef);

27 }

28 if (Input.6etKey(KeyCode.W))

29 {

30 transform.Translate(Vector3.forward * coef);

31 }

32 if (Input.6etKey(KeyCode.S))

33 {

34 transform.Translate(Vector3.back * coef);

35 }

36 if (Input.GetKey(KeyCode.E))

37 {

38 transform.Translate(Vector3.up * coef);

39 >

40 if (Input.6etKey(KeyCode.Q))

41 {

42 transform.Translate(Vector3.down * coef);

43/ >

44 if (Input.GetMouseButton(l)) //right btn

45 transform.Rotate(-Input.6etAxis("House Y"), Input.GetAxis("House X"), 0);

46 }

47 }

48

Рис. 4. Скрипт камеры в Unity

Для управления анимацией создадим кнопки Razborka и Sborka. Для этого в дереве проекта выбираем UI - Button. Располагаем и масштабируем кнопки как нам удобно (рис. 5). Так как приложение планируется использовать на мобильных устройствах с различным расширением экрана, в редакторе настраиваем привязку кнопок к нижнему краю.

Рис. 5. Кнопки управления сборкой/разборкой

Создаём новый скрипт AnimScript и добавляем, как компонент к нашей модели. Данный скрипт будет отвечать за взамодействие между кнопками и анимацией [2]. Открываем его в Visual Studio и создаём 2 публичных класса соответствующих сборке и разборке. Возвращаемся в свойства модели и добавляем скрипт как её компонент. Последовательно переходим в аналогичные меню кнопок и в области On click добавляем модель, а в соседнем раскрывающемся списке в зависимости от назначения кнопки выбираем тот или иной класс скрипта (рис. 6). Во вкладке Project при помощи функции Create создаём объект Animator Controller, управляющий проигрыванием анимации, и в меню модели добавляем его в пункте Controller.

Переходим во вкладку Animator и копируем в её рабочее поле все те анимации, которые были импортированы из Blender'а вместе с моделью (рис. 7). Создаём дубликат анимации, в свойстве Speed которой указываем «-1». Таким образом у нас есть наборы анимаций как для разборки, так и для сборки. В центр схемы помещаем объект Any State, который уже находится в рабочем поле. Его функция -

Инновационные аспекты развития науки и техники переход из одного состояния в другое в зависимости от значения задаваемого параметра.

TieraScript.cs Прочие файлы

22 В

23 I

27 ^

28 В

29

39 В

AnimScript.cs -в X

// Update is called once per frarre

vo id Update ()| {

public void Asm() {

if(State > 0) {

State--;

ani.Setlnteger("StateNumber", State); }

>

public void DisAsmQ {

if (State < 1) {

State++;

ani.Setlnteger("StateNumber", State);

}

Рис. 6. Скрипт работы кнопок управления сборкой/разборкой

Рис. 7. Аниматор

Для работы с дополненной реальностью используем пакет УиГопа. После установки добавляем в проект АК-камеру и плоский объект (картинку4а^е11), на который будет проецироваться модель (рис. 8).

Рис. 8. AR-камера и target

Далее в File-Building Settings задаем платформу Android и создаем APK файл с нашим именем.

Загружаем приложение на Android-смартфон (рис. 9). Открываем приложение, наводим на нашу картинку-target и получаем нашу модель, которую можно разобрать и собрать.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 9. Работа приложения на смартфоне

Мобильное приложение с дополненной реальностью может стать удобным и полезным инструментом в руках инженера. В дальнейшем

Инновационные аспекты развития науки и техники может быть создано полноценное приложение, которое облегчить работу инженеров.

сможет

Библиографический список:

1. Руководство пользователя UNITY [Электронный https://docs.unity3d.com/Manual (дата обращения 10.03.2021).

2. Руководство пользователя Vuforia [Электронный https://docs.unity3d.eom/2019.1/Documentation/Manual/vuforia обращения 09.03.2021).

© Э.Ю. Рововой, 2021 М.В. Иванов, 2021 И. А. Киселев, 2021

ресурс]:

ресурс]: (дата

i Надоели баннеры? Вы всегда можете отключить рекламу.