Как создать приложение заметки на юнити
Перейти к содержимому

Как создать приложение заметки на юнити

  • автор:

Android приложение Заметки/Notes

Нужно добавить выбор и размер шрифта. Дополнительные вопросы в личном сообщении.

Преимущественно на Kotlin. Доджны быть комментарии и грамотный код

1 день 1111 UAH

1 день 1111 UAH
Добрый день! Могу сделать. Пишите, обсудим
__________________________________________________
1 день 900 UAH

1 день 900 UAH
Добрый день! Приложение довольно простое , готов взяться за него.
ставка скрыта фрилансером
3 дня 1000 UAH

3 дня 1000 UAH

Еще раз добрый день, нужно будет еще и календарь задач сделать?

Работаю в Unity, Android Studio и работал с Firebase и Mongodb, Unity Ads и Google Ads.

В основном разрабатываю гиперказуальные игры на мобильные устройства!

Создать приложение — стукач

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

Отслеживать
2,252 2 2 золотых знака 10 10 серебряных знаков 37 37 бронзовых знаков
задан 15 ноя 2018 в 9:33
Григорий Татаринов Григорий Татаринов
1 1 1 бронзовый знак
я так понимаю надо оконое приложение. или на мобилку
15 ноя 2018 в 9:36
@Санитариум нужно именно мобильное приложение под Android
15 ноя 2018 в 9:39

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

15 ноя 2018 в 9:46
Вам не unity нужно, а Xamarin.Forms для клиентской части и Asp.Net Core для серверной (web api).
15 ноя 2018 в 9:58

@Bulson спасибо за информацию, я так понял что это выполнимо по срадствам в юнити, если работать с базами данных, например отправлять пакет с информацией в базу данных, а затем из базы данных передавать эту информацию всем администраторам приложения, но такой способ не совсем правильный я так понимаю

Нейронные сети на телефоне (запуск через Unity, Flutter и JS)

Заметки про роботов

Я уже писал большую статью о том как запускать нейронные сети на телефонах. Точнее, статья была про разные аппаратные платформы и библиотеки выполнения нейронных сетей. Но, она абсолютно не рассматривала вопрос запуска нейронных сетей. Ведь библиотеку можно позвать из разных сред, можно из Java разрабатывая на Android studio/Eclipse/Idea. Можно на с++ модулях. Можно из JS, сделав веб-страничку (кстати, на эту тему я тоже делал ролик, а на Хабре была не моя неплохая статья на эту тему). А можно и другими способами.
В этой статье я чуть подробнее расскажу те способы которые мне нравятся и понятны.

Статья будет крайне субъективна. Понятно, что разрабатывая всю жизнь на Java под Android Studio – вам проще будет вызвать нейронку там. Но, если вам, как и мне, не очень знакома мобильная разработка, это может быть интересно. Среднее время запустить все что я тут привожу – один вечер. А это значит – возможность экспериментировать, создать быстрый прототип или самому проверить идею.

Почему не java

Когда-то, свое первое приложение на телефон с распознаванием автомобильных номеров я делал именно под Java. Был это год 2012 где-то. Потом, через год с мелочью мы сделали на эту тему небольшую работу и попробовали развить стартап. Как сейчас помню, что потратил неделю на него.
С тех пор я пару раз пробовал повторить успех и запустить TFLite или его аналоги через Android Studio. Но, оба раза ломался на второй вечер. Процесс лишь усложнялся с 2012 года. Бесконечные конфигурационные файлы, указать все в десяти местах. Указать кучу параметры для сборки, указать версию андроида, и.т.д., и.т.п.
Аааа, паника.

Да, наши заказчики часто запускают TFlite через Java. Но сами мы лишь завариваем модели, не лазя внутрь.

Unity

Но, году в 2018-2019 произошло первое озарение. По одной из задаче, которой я занимался, надо было запустить программу на Unity. Поставил Unity на винду. Все работает минут через 20 установки. И вдруг, вижу сверху кнопочку “запустить на Android”. Воткнул телефон, нажал, оно заработало.
Ха-ха, подумал я. Как это возможно?
При этом, я знал что под Unity есть TensorFlow. Сделать проект с нуля, с распознаванием данных с камеры на TensorFlow у меня заняло где-то полтора часа. Я был в экстазе. Но, надо понимать, что:

  • Это был не TFlite – это какая-то специальная сборка под Unity
  • Не было поддержки нормальной аппаратной части (GPU или NNAPI)
  • Unity это все же игровая платформа. Хотите захватить картинку с камеры? Расположите её как объект в 3д пространстве:)

К сожалению, первые две проблемы делают возможным использовать Unity лишь на простые задачи. Делали.
Готовя эту заметку я нашел достаточно неплохую реализацию полноценного TFlite под Unity. Надо будет попробовать насколько это работает. Обещают что поддерживается аппаратная часть нормально. И под Android и под IOS.

Пара слов про JS

Второй способ просто использовать модели на мобильных платформах появился в 2019 году, но пользоваться им мы стали лишь в начале 2020. В своей статье я описывал плюсы и минусы такого подхода. В целом – это очень неплохой способ для большинства не нагруженных моделей.

Я смог запустить onnxjs и tfjs где-то за пару часов, написав какую-то свою простейшую программу (на базе этих примеров). Даже при учете того что никогда не писал на JS

Минус этого подхода – приложение не нативно (возможно нет доступа к всем функциям телефона, хотя тут я не специалист). Оnnxjs идет с опозданием от onnx конвертора.

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

Flutter!

В какой-то момент я почитал пару статей про Flutter. И проперся. По сути он делал то же самое что Unity, но для телефонов. Простейшее приложение создается из коробки и пишется в пару строчек.
Больше всего это мне напомнило детство, когда я увидел в восьмом классе Visual Basic и понял, что не надо больше мучиться с непонятными консолями чтобы запустить свою программу. Можно нажать кнопку и сразу будет такая же форма как у взрослых дядей.

Тут почти то же самое. Все требуемые пакеты выкачиваются сами и почти мгновенно. Синтаксис чем-то похож на C#, который я когда-то неплохо знал.

TFlite доступен. Но тут важно не перепутать. Есть два tflite под flutter. Один – набор готовых сетей за рамки которого сложно выйти. Достаточно кустарно, но запускается. Зато просто написан. Если вам подойдет какая-то из сетей, то норм. Подключить новую почти не реально.
Второй – какой-то полуофициальной, где-то на официальном форуме его советуют (и Flutter и TFlite – детища гугла). Тут полноценная поддержка TFlite и любой модели. Авторы так же выложили TFLite_Helper – библиотеку для простейшего препроцессинга изображения. Это значительно ускоряет, не заставляя тратить время на что-то простое..

Что мне ужасно понравилось – весь код абсолютно читаемый (в отличие от java), очень удобный дебаг, который я сходу понимаю (в отличие от того же js), очень удобная конфигурация проектов (чем то напоминает pip автоматический или nuget).

Да, после питона много кода лишнего и некрасивого (но так как я прогал когда-то давно на Delphi/C# – как то нормально это все воспринимается).
Да, 2/3 программы будет занимать интерфейсная часть и отрисовка. Но где не так.

Я запустил пример на базе tflite_flutter, который использует какой-то мобилнет. В целом, без особых проблем подключил какой-то другой аналогичный детектор (взял что-то из списка). Специально обучать ничего не стал, скорее это был тест на поиграть и что все работает.

Итого

Как результат могу сказать:

  • За последний год запускать нейронки на мобильниках стало значительно проще. Это не вызывает отвращения.
  • Уже не надо быть крутым мобильным разработчиком чтобы что-то сделать
  • Возможно для какого-то из следующих проектов которые я делаю ради забавы я уже буду рассматривать мобильную платформу

Что использовать как среду для написания? Unity я не тестировал, скорее всего как-нибудь опробую. Из остальных двух – думаю что надо смотреть свои предпочтения по кодингу. Мне очевидно проще заходит flutter. Но смотря как просто и быстро многие пишут на JS – может быть это и разумнее. Плюс, он поддерживает куда больше платформ.

И, по старинке, видео:

Recent Posts

  • Cherry picking и его родственники
  • Где обучать модели?
  • Чем заменить RealSense?
  • Про статьи в ML
  • OAK от DepthAI

5 бесплатных ассетов для Unity3D, которые облегчат процесс разработки

Недавно мы выпустили обзор некоторых Unity ассетов для начинающего 2D разработчика.
Сегодня предлагаем вашему вниманию подборку из 5 бесплатных ассетов для Unity3D, максимально простых в использовании и полезных в работе. Данные ассеты призваны упростить некоторые аспекты разработки, а также сэкономить вам время за счет автоматизации определенных нудных задач.

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

Для того чтобы просмотреть параметры сохранения, зайдите в File/Preferences/Autosave
В меню «Настройки» доступны следующие параметры:

  • Включение/Выключение
  • Сообщения о сохранении в консоли
  • Временной интервал, через который будет производиться сохранение (от одной до тридцати минут)
  • Сохранение ассетов
  • Сохранение каждой новой сцены
  • Сохранение после определенного количества изменений в окне иерархии

Небольшой ассет, способный облегчить работу с PlayersPrefs в Unity. Он позволяет просматривать в окне редактора все сохраненные ключи и их значения. Также можно добавлять новые Players-ы и редактировать значения во время выполнения.

PlayersPrefs Editor and Utilities включает в себя поддержку шифрования для защиты от случайного взлома. Для записи и чтения шифрованных данных используйте следующий код:

Окно редактора PlayersPrefs выглядит так:

И вишенка на торте: через класс PlayerPrefsUtility можно записывать значения Bool, DateTime, TimeSpan, Enum:

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

Чтобы свести такие ситуации к минимуму, на помощь приходит Simple Note. Ассет предназначен для создания заметок прямо в редакторе. Эта возможность особенно ценна, если разработку одновременно ведут двое и более человек.

Как можно догадаться по названию, ассет очень прост в использовании, но при этом имеет массу преимуществ.

Функционал Simple Note включает:

1. Глобальный редактор заметок SimpleNote
Здесь можно добавлять и редактировать общие заметки. Окно вы найдете в меню Window/SimpleNote/ShowNotes

2. Заметки для GameObject – отображаются в окне Scene, когда объект выделен:

Добавить заметку непосредственно на нужный объект можно через меню GameObject/SimpleNote/Add Or Remove Note.

3. Заметки для скриптов в инспекторе:

Для использования нужно добавить атрибуты:

Также в меню File/Preferences/SimpleNote есть возможность задать следующие настройки для отображения заметок:

  • Отступ от края, сторона отображения заметки в окне Scene
  • Цвет отображения заметок

Этот ассет может быть весьма полезен при работе с большим количеством объектов на сцене. Сами знаете, сколько времени можно убить просто копаясь в иерархии сцены или проекта в поисках объекта, который вы редактировали минуту назад.

Данный ассет представляет собой так называемую History – окно, где отображаются все объекты, с которыми вы взаимодействовали в последнее время. Вы с легкостью сможете вернуться к любому из них без лихорадочных поисков в окне иерархии или проекта.

Также Inspector Navigator может сохранять историю изменений. Так что при переходе между сценами или после перезапуска проекта можете быть спокойны: все сохранится в должном виде.

Ez Files Renamer поможет держать имена объектов в чистоте и порядке.

Просто выделите нужные объекты в окне иерархии или проекта, заполните строку New Name – и готово! Кроме того, можно добавлять префиксы и выбирать знак разделяющий имя с префиксом. Пронумеруйте объекты, установите знак разделения для нумерации. Это прекрасно работает как в окне иерархии, так и в окне самого проекта и не отанимает много времени.

В дополнение можно сказать, что в ассете есть функция упорядочивания объектов по разным признакам: по нумерации (возрастание и убывание) и по позиции (возрастание и убывание).

Для того чтобы открыть окно Ez Files Renamer, пройдите по следующему пути: Window/BDOAssets/ EzFilesRenamer

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

  • Блог компании Productivity Inside
  • Разработка мобильных приложений
  • Разработка игр
  • Unity

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *