Как создавать неигровые приложения в Unity
Unity – это игровой движок и интегрированная среда разработки, используемые миллионами разработчиков для вывода игр на Android, iOS, Windows, консоли и многие другие платформы. В настоящее время это самый популярный игровой движок на платформе Android благодаря оптимизированному интерфейсу и рабочему процессу, а также богатому набору функций и отличной универсальности.
Читайте также: Начните создавать игры на Unity менее чем за 3 часа
Хотя Unity в первую очередь нацелена на разработку игр, она не ограничивается только играми. На самом деле нет причин, по которым вы не можете использовать Unity для создания множества других инструментов, утилит, бизнес-приложений и тому подобного. И для этого есть несколько веских причин! В этом посте я объясню, почему вы можете захотеть создать неигровое приложение в Unity и как вы можете это сделать.
Причины создания неигровых приложений в Unity
Зачем вам разрабатывать неигры с помощью Unity, если у вас есть отличная IDE в Android Studio? Есть несколько веских причин.
Быстрое развитие
Первый вариант использования заключается в том, что Unity во многих ситуациях ускоряет и упрощает разработку приложений для Android. Например, Unity позволяет использовать C #, а не Java или Kotlin. Хотя C # не всем нравится, обычно считается, что с ним немного проще разобраться, чем с Java. Более того, если вы уже знакомы с C #, вы обнаружите, что это гораздо более простой переход. IDE также скрывает файловую структуру вашего Android-приложения, и вам не нужно беспокоиться о таких вещах, как AndroidManifest или папка ресурсов.
Для создания приложения в Unity требуется гораздо меньше кода, чем для большинства традиционных альтернатив.
Вдобавок к этому Unity использует особенно интуитивно понятный и быстрый пользовательский интерфейс. Во многом это связано с перетаскиванием, и для создания пользовательского интерфейса не требуется знания XML. При создании неигровых приложений в Unity вам нужно будет делать гораздо менее реальное кодирование, и многие вещи, такие как добавление изображения к кнопке или использование пользовательского шрифта, чрезвычайно просты. Так и должно быть, но если вы попробуете что-то из этого с Android Studio, вы обнаружите, что это вызывает головную боль!
Также чрезвычайно эффективно тестировать и развертывать приложения. Добавление «активов», созданных другими пользователями, не может быть проще. Даже установка и настройка выполняются быстро и легко!
Кросс-платформенная разработка
Unity – это кроссплатформенный инструмент, а это означает, что вы можете легко создавать приложения для Android, iOS и Windows с минимальными изменениями. Если вы разработчик и хотите охватить максимально широкую аудиторию, это значительное преимущество (хотя справедливо отметить, что другие инструменты, такие как Xamarin, также позволят вам это сделать).
Читайте также: Как создать приложение для Android с Xamarin
Мощные функции
Несмотря на то, что большинство его функций разработаны с учетом разработки игр, существует также ряд мощных функций, которые могут быть полезны для разработки неигровых приложений в Unity. В первую очередь это графические функции, поэтому, если вы хотите включить трехмерные элементы в свое приложение, Unity может быть очень хорошим выбором.
Причины не создавать неигровые приложения в Unity
Хотя с помощью Unity вы можете создавать множество мощных неигровых приложений, вы обнаружите, что у него есть свои ограничения. Как и во всем остальном, это случай выбора правильного инструмента для работы.
Вот несколько причин, по которым Unity может быть не лучшим выбором для вашего приложения.
Большие размеры приложений
Unity – это игровой движок, и он включает в себя много кода для поддержки различных функций, которые он предоставляет разработчику. Это означает, что вы мгновенно увеличите размер своего приложения, полагаясь на него.
Это заставит некоторых разработчиков отказаться от использования Unity без крайней необходимости. Но на самом деле разница в размерах довольно незначительна и вряд ли существенно повлияет на субъективный пользовательский опыт.
Отсутствие встроенной поддержки некоторых функций
Кроссплатформенный характер Unity означает, что он не может успевать за каждой новой разработкой для каждой операционной системы или любого оборудования. Аналогичным образом, игровой характер инструмента означает, что поддержка таких устройств, как датчики отпечатков пальцев, не является приоритетом.
Хотите создать приложение на языке материального дизайна, которое включает стандартный набор кнопок и текстовых полей и позволяет пользователям делать такие вещи, как отключение Wi-Fi или отправку текста? Вам будет намного проще использовать Android Studio.
Если для вас это не важно, то Unity все равно стоит рассмотреть.
Как создать неигровое приложение в Unity: краткое руководство
Теперь вы знаете, почему Unity – ценный инструмент для создания неигровых приложений, следующий шаг – просто начать. Как вы можете использовать Unity для создания тестов, калькуляторов, бизнес-приложений и тому подобного? Вот краткое руководство на примере простого приложения для тренировок.
Использование холста
Сначала создайте новый 2D-проект Unity. Отсюда мы в основном будем использовать холст, поэтому вам нужно добавить его в свою сцену.
Для этого перейдите в GameObject> UI> Canvas.
Холст – это большой невидимый слой, закрывающий экран. Обычно это используется для отображения элементов управления, рекордов и т.д. Однако его также можно использовать в качестве основного представления при создании меню и т.п.
Вы также можете изменить цвет фона для своего приложения, найдя основную камеру в окне иерархии, дважды щелкнув по ней, а затем выбрав «Фон» в инспекторе. Это цвет по умолчанию, который игровая камера видит, когда в сцене нет элементов, и он будет служить фоном для вашего текста и кнопок.
Теперь мы собираемся добавить наш первый фрагмент текста, выбрав GameObject> UI> Text. Это будет наше название, и, поскольку я создаю приложение для тренировок, я назову свое «Динамическая тренировка». Вы можете изменить цвет этого текста в инспекторе вместе со шрифтом. Чтобы изменить шрифт, просто найдите файл .ttf, который вы хотите использовать, и поместите его в новую папку, которую вы назовете «шрифты» в своих активах. Теперь вы можете просто перетащить этот файл в нужное поле, чтобы начать его использовать. Опять же, это так гораздо проще, чем делать то же самое в Android Studio!
Масштабирование под разные размеры устройств
Вам также необходимо убедиться, что текст остается в одном и том же положении на устройствах любого размера. Это можно сделать, открыв текст в Инспекторе, а затем щелкнув изображение квадратов в левом верхнем углу с надписью «Якоря» внизу. Это позволит вам закрепить положение любого элемента пользовательского интерфейса на экран, таким образом, что все значения будут по отношению к этой позиции.
Например, если вы привязываете текст к центру экрана, то координаты X и Y будут равны 0, если он находится точно в центре. Теперь текст всегда будет посередине, независимо от размера устройства. Вы также можете привязать к левому верхнему или правому нижнему углу, а затем построить вокруг этого другие элементы.
Для дополнительных параметров масштабирования щелкните GameObject Canvas в своей иерархии, чтобы он открылся в инспекторе. Здесь вы сможете выбрать «Режим масштабирования пользовательского интерфейса». По умолчанию для него установлено значение «Постоянный размер пикселя», который указывает на то, как размер фактических элементов на холсте изменяется по форме и размеру. Поэкспериментируйте и протестируйте приложение на нескольких устройствах, чтобы создать то, что вам подходит.
Создание интерактивности
Затем вам нужно будет обрабатывать клики и позволить людям действительно взаимодействовать с созданным вами пользовательским интерфейсом.
Для этого вам нужно добавить несколько изображений на экран. Перейдите в GameObject> UI> Image, и на вашей сцене появится белый объект. Здесь вы можете добавить изображение, представляющее кнопку, которая будет что-то делать в вашем приложении. Воспользуйтесь Инспектором и поместите любое изображение в поле «Исходное изображение», чтобы соответствующим образом изменить внешний вид этого белого поля. Я добавляю кнопку «Воспроизвести», которую собираюсь привязать к нижней центральной части экрана.
Возможно, на данный момент лучшим вариантом было бы просто, чтобы эта кнопка переводила нас к следующей сцене, которая может, например, воспроизводить нашу тренировку.
Для этого нам нужно написать сценарий. Создайте новый сценарий C # (и новую папку сценариев, если вам нравится организованность) и назовите его MenuControl. Все, что вам нужно добавить, это единственный метод под названием Play(). Это будет выглядеть так:
public void Play()
Вам также необходимо добавить следующую строку вверху:
Using UnityEngine.SceneManagement;
Это говорит Unity, что мы хотим получить доступ к функциям, связанным с переключением уровней и экранов.
В будущем «Уровень 1» будет именем файла для следующей «сцены». Сцены часто являются уровнями в Unity, но они содержат копию всего, что есть в вашем проекте в данный момент времени, включая не только сам макет уровня, но и экземпляр персонажа игрока, меню, элементы пользовательского интерфейса и т.д. Другими словами, сцена – это больше, чем уровень, потому что она содержит вещи, которые мы обычно не считаем «частью» уровня.
И в этом есть большой смысл, если вы начнете пытаться использовать Unity как нечто большее, чем просто инструмент для создания игр: потому что сцена также может быть меню или другим экраном служебного приложения. Элементы, используемые от одной сцены к другой, могут быть совершенно разными!
Сцены в Unity обычно являются игровыми уровнями, но их можно использовать для разных экранов служебного приложения.
Воспользуйтесь этой возможностью, чтобы сохранить текущую сцену и назвать ее «Титульная страница» или что-то в этом роде.
Теперь у нас есть ситуация, когда вызов метода MenuControl.Play () запускает следующий экран (где мы теоретически начинаем тренировку). Все, что нам нужно сделать сейчас, это привязать этот метод к кнопке. Для этого вам нужно добавить компонент Event> Event Trigger к кнопке в иерархии, затем выбрать «Указатель вниз», чтобы обнаруживать нажатия кнопки.
Затем создайте пустой GameObject, в котором будет размещен ваш скрипт, а затем добавьте его в поле с надписью None (Object). К сожалению, вы не можете просто перетащить скрипт сюда, потому что вам нужен экземпляр класса, на который нужно ссылаться. После этого вы можете использовать раскрывающееся меню рядом с этим полем справа, чтобы выбрать метод, который вы хотите активировать. В данном случае это будет MenuControl.Play ().
Теперь сохраните вашу сцену как «Уровень 1» и внесите некоторые изменения (покажите все, что вы хотите на этом экране), чтобы вы могли сказать, когда она была загружена. Помните, что вам нужно добавить все сцены в настройки сборки, прежде чем вы сможете ссылаться на них – даже во время тестирования.
Как видите, это довольно простой процесс, и так же легко добавить сюда столько других методов, сколько захотите. Теперь у вас есть возможность добавлять кнопки и текст, а затем добавлять взаимодействия с этими элементами, вы можете делать практически все!
Еще больше хитростей
Кнопки в разных сценах могут делать множество разных вещей. Например, вы можете заставить их показать или переместить трехмерный объект или воспроизвести короткое видео. Вы также можете манипулировать переменными и значениями и отображать их как часть строки с помощью текстовой метки. Сохранение файлов работает так же, как и при создании игры, как и воспроизведение звуков.
Если вы хотите получить доступ к встроенным функциям и по-прежнему использовать Unity, просто выполните быстрый поиск в Google или в магазине ресурсов. Вот, например, быстрое решение для отправки сообщений через SMSManager. Помните, что вам нужно изменить эти аспекты, если вы собираетесь строить для нескольких платформ.
Если вы знаете, как использовать Unity для разработки игр, вы можете применить все эти навыки здесь.
Вы также найдете множество полезных компонентов пользовательского интерфейса, которые можно добавить на холст, например флажки, которые полезны при создании онлайн-формы или анкеты.
Другими словами, если вы знаете, как использовать Unity для разработки игр, вы можете применить все эти навыки и здесь. Надеюсь, это руководство дало вам краткий обзор того, как думать о Unity в этом контексте, так что вы можете выйти и создать свое собственное неигровое приложение в Unity уже сегодня!
Источник записи: https://www.androidauthority.com