Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

REASONS FOR CHOOSING A CROSS-PLATFORM ENGINE UNITY 3D TO DEVELOP APPS WITH AUGMENTED REALITY FOR IOS

Umnov M.I. 1 Markin D.A. 2 Denisov D.V. 2 Samokhin A.A. 2
1 Penza State university
2 JSC «Research and Production Enterprise «Rubin»»
Justification of the choice of software "Unity 3D" as the main one when developing programs with elements of reality for the IOS operating system. Main goal to research is analysis existing choices to create apps with augmented reality for IOS. Using Unity 3D allow to developing apps faster because software contains development libraries and allow to applying advanced methods for fixing bugs.
unity
ios
apple
xcode
swift
object-c
c sharp
augmented reality
development environment

Введение

В последние годы доля разработок программ с элементами дополненной реальности увеличилась в десятки, если не в тысячи раз. Данные разработки достаточно сильно влияют на прогресс в развитии приложений, и общества в целом. Их применяют в медицине, моделировании, при обучении, машиностроении, приборостроении, космонавтике, и других немало важных областях. На их основе создаются модели и технологии, позволяющие улучшить уже существующие технологии. Например, при использовании данных технологий в медицине, уменьшается вероятность негативного последствия операции, так как при создании наглядной модели человеческих органов, врачи смогут лучше подготовиться к ней. В то же время 3D модель двигателя внутреннего сгорания позволит будущим механикам с легкостью понять принцип его работы.

В последние годы, наметилась тенденция преимущества компании «Apple» над другими конкурентами в доле разработки приложений с использованием технологий дополненной реальности. Данная компания вкладывает огромные средства в разработку данной технологии. Управление данной компании считает, что это технология очень перспективна и поэтому она делает ставку на ее дальнейшую популяризацию.

Данная технология разрабатывается не только «Apple». «Google» и «Microsoft» также не остались в стороне и тоже вкладывают ресурсы в развитие данного вида технологии. Так как технология компании «Apple» сильно опережает своих ближайших конкурентов, она стала более доступной и качественной.

Амбиции «Apple» в роле монополиста высоки. Данная компания хочет контролировать огромную часть рынка, поэтому старается увеличивать финансирование в те технологии, которые окажутся наиболее востребованными со временем, а также идет на различные уловки, с помощью которых она сможет еще долго оставаться в рядах богатейших компаний мира. Примерами таких уловок может служить создание своей собственной «экосистемы», с помощью которой она может контролировать не только владельцев своей техники, но и разработчиков приложений. В данную «экосистему» входит ее собственный магазин, который она полностью контролирует, а также своя собственная среда разработки «XCODE» и свои собственные языки программирования «Swift» и «Object-c». Отдавая предпочтения тем приложениям, которые будут написаны на этих языках, «Apple» тем самым заставляет разработчиков писать свои приложения именно с помощью их собственных инструментов. Из-за такой политики страдают многие разработчики приложений, так как данные языки не имеют всех возможностей, которые присутствуют в других языках.

В данной статье речь пойдет об альтернативном инструменте разработки приложений под операционную систему «IOS» на которые не будут наложены ограничения в цифровом магазине «Apple».

Альтернатива интегрированной среде разработки «Xcode» при работе с приложениями дополненной реальности

В качестве основного инструмента разработки приложений будет использоваться 3D движок «Unity 3D». Данный инструмент позволяет использовать сторонние инструменты разработки приложений под операционную систему «IOS». Встроенные инструменты данного движка при сборке приложения генерируют проект «Xcode», после чего «Unity» вызывает пользовательские нативные функции, написанные на «Objective-C» прямо из «C SHARP» скриптов.

У данного метода есть как преимущества, так и недостатки. К преимуществам можно отнести «кроссплатформенность» и большое количество вспомогательных библиотек. К недостаткам данного метода можно отнести его производительность. При разработке с помощью данного инструмента часть производительности теряется. Так как функции, написанные на «C#», вначале конвертируются в функции, написанные на «Objective-C», и только потом исполняются. Однако при небольшом приложении, которое не требует сильных быстродействий, такой подход к разработке приложений будет эффективен.

Рассматривая приложения с элементами дополненной реальности, написанные на языках программирования «Swift» или «Object-c» в программной среде разработки «Xcode», можно выявить отсутствие многих дополнительных функций в языках «Swift» и «Object-c», которые негативно сказываются на длительности разработки приложений. Например, при необходимости реализации поворота или вращения 3D Объекта в дополненной реальности в трехмерном пространстве с помощью базовых функций языков «IOS», требуется детальное знание программистом не только синтаксиса языка, но и принципы работы кватернионов, углов Эйлера, а так же матричных вычислений. В совокупности со всеми этими знаниями, необходима детальная отладка, построение анимации, дополнительные математические просчеты и т.д. В «C Sharp» и «Unity 3D» уже существуют библиотеки, в которых уже есть все необходимые функции и операции. В данных библиотеках находится огромное количество вспомогательных функций, использовать которые очень легко. Например, для поворота объекта в трехмерном пространстве, вам просто необходимо задать скорость и направление поворота, все остальное за вас сделает программа самостоятельно.

При использовании специализированных, профессиональных программных средств 3D моделирования, экспорт модели в «Unity» будет более удобен и прост чем в «Xcode». Среда разработки от «Apple» поддерживает только два формата моделей, это «DAE» и «OBJ», в то время «Unity» поддерживает 5 форматов «FBX», «Dae», «3DS», «dxf» и «obj».

При наличии любой анимации в вашем приложении, «Unity» так же будет более удобен и практичен в работе с настройками данной анимации. Вы с легкостью сможете создавать собственную анимацию внутри самой программы, не используя языки программирования.

У данного программного обеспечения также находится в наличии огромное количество литературного материала, статей, которые помогут в решении любого уровня сложности задач.

Вывод

В последнее время наметилась тенденция увеличения дополнительных облегчающих инструментов и дополнительных библиотек для работы в интегрированной среде разработки программного обеспечения для платформ под операционной системой «IOS» «Xcode». К сожалению, данная платформа только «набирает обороты», поэтому непосредственная польза использования «Unity 3D» и языка программирования «C Sharp» в роле стороннего программного обеспечения, нельзя недооценить. Благодаря данной возможности, разработчики значительно ускоряют разработку приложений, удешевляют ее, и делают ее кроссплатформенной.