об играх, разработке на Unity и личном опыте

Buffer icon Проекты
Позднее Ctrl + ↑

Unity 2020 Roadmap. Обзор.

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

Кстати, весь roadmap доступен по адресу https://unity3d.com/ru/unity/roadmap

И так что же нас ожидает в Unity:

  • Версия 2019.4 будет LTS.
  • Начиная с 2020 версии будет по 3 релиза в год (2020.3 будет LTS, 2021.3 — тоже).
  • Всё будет переводится на DOTS рельсы (сеть, анимация, физика), процесс уже давно запущен.
  • Унифицированный менеджер ассетов, с поиском, фильтрами и прочее, с возможностью подгружать библиотеки и ассеты из собственных npm репов.

Unity assets manager

Unity assets manager
  • Обновление и улучшения профайлеров: Profile, Frame Debugger, Physics Debugger, UIElements Debugger, IMGUI.. Профайлер можно запустить, как отдельный процесс. Если вы используете Job System, то с 2020.1 сможете увидеть что происходит внутри с помощью нового инструмента. Документацию вроде тоже обновили.

Updated Unity profiler

Updated Unity profiler
  • Про инструменты для 2D уже писал, это уже доступно. В версии 2020 всё это обещают причесать и пофиксить баги.
  • К Burst Compiler добавятся новые инструменты дебага. Используя встроенный отладчик, подключенный к Unity, можно будет проверять стеки вызовов, переменные, потоки, ставить точки останова и прочее.
  • Возможно к LTS версии допилят наконец визуальное программирование, но это не точно, пока всё ещё разработке.

Unity visual programming

Unity visual programming
  • Новый редактор и тему которые появились в 2019.3 будут дорабатывать и улучшать, фиксить ошибки. В будущих версиях обещают новый «воркфоу» :) Возможно появятся какой-нибудь мультиоконный, мультидокументный режимы. Также будут шаблоны сцен (как пакет), увеличение скорости работы с префабами.

Сейчас вместо «папок» используют обычно пустые объекты, но как известно, чем меньше объектов, тем лучше.

  • Улучшение инспектора, разные режимы вставки и копирования объектов. Превью мешей, текстур, управление списками и массивами, папки в иерархии! — в разработке.
  • Перед полным переходом на DOTS, будет выпущено много обновлений в том числе и для анимации. Новая же система DOTS анимации, гибкая, производительная и легкая в использовании (так говорят), кроме того, её можно полностью заскриптовать.

  • Про ProBuilder и Polybrush тоже не забыли, обновятся и они. В террейне теперь можно делать дырки, ага :)

Unity building tools

Unity building tools
  • Начиная с 2019.3, и версии 7.2.0 Visual Effect Graph больше не превью, это гарантирует стабильность и поддержку основных платформ. Одним из важных моментов является то, что по сравнению с Unity 2020.1 сократилось время загрузки шейдеров примерно на 50%.

Visual Effect Graph

Visual Effect Graph
  • Новая UI система развивается. UI Builder предоставляет знакомый опыт создания пользовательского интерфейса. Пишут, что будет достаточно легко адаптироваться к созданию UI на новый лад. Похожий на CSS синтаксис даёт много возможностей для создания динамичных и красивых интерфейсов. Также, обещают поддержку векторной графики, чтобы всё это выглядило перфекто на разных разрешениях экрана.

New Unity UI system UIElements

New Unity UI system UIElements
  • Добавятся всякие Machine Learning штучки, чтобы поиграться
  • Обновленный аудио/видео стек, можно записывать видео и делать гифки из редактора, плюс API ко всему этому
  • Улучшение Cinemachine и камер, чтобы сделать картинку более живой и красивой
  • Увеличена скорость импорта и работы с ассетами. В будущем будет загрузка ассетов «по требованию» (on demand)
  • Оптимизация и правка багов в URP
  • То же и с HDRP: оптимизация, фиксы, слои декалей и рейтрейсинг. Ещё будет Hybrid Renderer на основе DOTS, Burst Compiler и ECS. В некоторых моментах прирост производительности в 30 раз, скрины ниже
  • Работа по Unity Physics и Havok продолжается. Unity Physics 0.3.0-Preview уже доступен. Это легковесный, настраиваемый движок с детерминированной физикой.
  • Расширение доступных платформ

Unity supported platforms

Unity supported platforms
  • Мультиплеер. Уже доступны: сервис голосовых чатов Vivox, Multiplay (через их сервисы), и deltaDNA (сервис аналитики). Идёт работа над сервером матчмейкина (вместе у Гугл вроде как), а также уже в превью Unity Transport и NetCode. Это новые сетевые подсистемы с поддержкой DOTS и IPV6. В будущем, вероятно, это всё будет представлять из-за себя какой-то единый сервис для многопользовательских игр и приложений.
  • По мобилочкам. Уже доступна Unity Runtime как библиотека, которую можно встраивать в нативные Android и iOS приложения. Работа для Device Simulator продолжается, как и улучшение Universal Render Pipeline (URP) c заточенностью на iOS/Metal и Android/Vulkan.
  • Project Tiny. Текущая превью версия собрана с новым DOTS Runtime, используется такой же редактор с возможностью билдить под iOS, Android и Web (WASM/ASMJS). Включает в себя: 3D rendering, 3D Physics, базовые анимации/аудио/ввод, 2D для рендера и обработки коллизий. Остальные фичи в разработке, поддержка UIElements будет продолжена, а также более специфичные для платформы функции, экспорт одного HTML, который включает Playable Ads и многое другое.

Unity project Tiny

Unity project Tiny
  • С помощью Unity и так сейчас делается очень много игр и приложений для AR/VR, это направление они также не оставили без обновлений и улучшений. Добавятся всякие интерактивные штуки, без строчки кода, лучшая совместимость с платформами, поддержка Vulkan, Magic Leap (вроде загибается), шаблоны XR проектов, и прочее.

AR and XR options

AR and XR options

В общем, это будет релиз с работой над ошибками и некоторыми приятными (если допилят) дополнениями. В любом случае, не стоит переводить рабочие проекты на самые последние версии Unity, обязательно что-то сломается (проверено не раз).

Следим за обновлениями!

Апрельский выпуск рассылки собирается!

Unity Learn Premium на 3 месяца

Unity learn premium

Unity learn premium

Многие сервисы делают скидки и открывают доступ к своим инструментам на время борьбы с вирусом. Unity — не исключение.

Unity Learn Premium на 3 месяца стал бесплатным. Пользуйтесь на здоровье!

Рассылка #3

Мартовский выпуск рассылки доступен! Если вы подписаны, он ещё вчера должен был быть у вас в почте, проверяйте. Если нет — читайте веб-версию и подписывайтесь.

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

Game level building

Game level building

Читать выпуск №3 📩
Читать выпуск №2 📩
Читать выпуск №1 📩

→→ Подписаться ←←

Установка сразу на несколько Android устройств

При тестировании приложений часто приходится переустанавливать приложение, это очевидно. Когда я делал для себя мини CI\CD, то там уведомление с ссылкой на APK или IPA, приходило в телеграм. Это удобно, когда на девайсах уже всё настроено и есть доступ к телеге. Скачал и установил.

Но есть у меня и много девайсов на Android, которые периодически сбрасываются до заводских настроек. Каждый раз устанавливать и настраивать телеграм на каждом — как-то утомительно. Поэтому, я написал небольшой баш-скрипт который устанавливает/удаляет приложение сразу со всех подключенных андроид устройств. Было б нужное количество портов и проводов :)

Console APK install tool

Console APK install tool

Если необходимо, то эти функции можно добавить и в прошлый скрипт для CI\CD, если не нужно закачивать APK на сервер и отправлять уведомление.

Исходник на Github

Рассылка #2

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

Atomic Heart

Atomic Heart

Немного статистики.
Процент открытий чуть больше 50%, что странно :( Ребзи, вы же сами подписались на рассылку? Она выходит один раз в месяц! А вы не читаете... Грустно. Но зато те, кто читают, активно кликают по ссылкам.

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

Читать выпуск №2 📩
Читать выпуск №1 📩

Подписаться

TabsView для Unity

Сегодня у нас раздел «Велосипедостроение» :)

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

Когда-то давно понадобилось сделать в UI горизонтальную прокрутку табами. В iOS есть такой стандартный элемент. В Android по-моему тоже. Для Unity как известно стандартные UI компоненты довольно скудны. Поэтому каждый придумывает себе, по мере надобности. Вот и получилось когда-то такое, довольно простое решение.

  • Управляется свайпами
  • Есть индикаторы состояния табов
  • Анимации можно делать любые, с помощью DOTween
  • На переключение таба можно повесить хук

Исходники на Github

 1 комментарий    152   4 мес   git   unity   разработка   с#

Релиз Unity 2019.3

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

Пресеты

Пресеты позволяют кастомизировать любую сущность в Unity и потом использовать её с уже настроенными свойствами. Например, вам нужно создать несколько разных объектов/префабов с компонентом Rigidbody, для которых вы каждый раз будете настраивать массу и ещё какие-то свойства. Теперь можно сохранить Rigidbody в пресет и использовать. Работает drag-and-drop и есть API.

Unity presets feature

Unity presets feature

Сторонние материалы

Теперь можно использовать материалы сделанные в других программах. Пока поддерживаются: Autodesk Arnold Standard Surface shader, Autodesk 3ds Max physical material и Autodesk Interactive shader. Но в будущем список скорее всего будет расширен.

Работа с 2D

Куча обновлений для работы с 2D проектами:

Про Data-Oriented Technology Stack (DOTS) ничего не пишу, потому что он мне пока не интересен, но там тоже много нового и в итоге, Unity всё переведёт на него и откажется от старой идеологии.

  • 2D PSD Importer — позволяет импортировать файлы Photoshop сразу в Unity, сохраняя информацию о спрайтах и слоях, что особенно актуально если вы будет использовать пакет 2D Animation.
  • 2D Animation — предоставляет все инструменты для создания скелетной анимации прямо в Sprite Editor (создание костей, риг, и т. д.)
  • 2D Tilemap Editor — позволяет быстро создавать квардратные, шестиугольные (hex) и изометрические тайлмапы.
  • 2D Sprite Shape — поможет создавать красивые 2D-ландшафты и объекты с помощью кривых.
  • 2D Pixel Perfect — гарантирует, что ваша пиксельная графика останется чёткой и стабильной в движении при различных разрешениях, а Cinemachine теперь включает расширение виртуальной камеры Pixel Perfect для улучшения совместимости с пакетом.
  • 2D Lights и 2D Shadows — включены в Universal Render Pipeline, как чaсть 2D Renderer.

Как результат, юнитеки сделали специальный демо проект, который показывает все эти возможности.

2D spline

2D spline

Штуки для программеров

  • SerializeReference — новый атрибут позволяет сериализовать классы C# как ссылки, а не как типы значений.
  • Обновили физический движок с v3.4 до v4.1 — улучшенный MeshCollider и Cloth.
  • Настраиваемый Play Mode — сейчас перед запуском, скрипты и сцена перезагружаются, что может отнимать время, если скриптов много, а сцена «тяжелая». Теперь, можно настроить Play Mode так, чтобы сцена или скрипты не перезагружались, если они например не менялись. Это позволит сэкономить 50-90% времени, как пишут.
  • Улучшили профайлер — теперь можно настраивать отображаемое количество фреймов. А ещё, теперь можно смотреть стек вызовов которые выделяют память. Это классно, можно найти критичные места.

Profile allocation manager

Profile allocation manager

Редактор

  • Новый Editor UI — всё плоское, иконки, шрифты, производительность, поддержка высоких разрешений.
  • Быстрый поиск — Alt + ’ для поиска по файлам, префабам, настройкам и объектам на сцене.
  • UIElements и UI Builder — новая концепция построения интерфейсов, я бы не торопился её использовать, пока нет отзывов о багах и производительности новой системы. Но я думаю, что там всё грустно.

Остальное

Trello для gamedev

Trello — удивительный сервис, при всей свой простоте, в нём можно вести практически любые процессы, например, процесс разработки игры.

Trello board kanban gamedev

Trello board kanban gamedev

У меня есть как рабочие доски, так и личные, где я веду проект в одного, как например доска на превью. Это достаточная простая доска: есть бэклог, куда скидываю все подряд, задачи, мысли, какие-то замечания, ссылки, баги и т. д. Ну а дальше, карточка начинает свой путь по столбцам: to do, doing (progress), need test, done (complete), future, canceled. Для меня стал удобен такой набор столбцов, но это всё индивидуально.

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

Trello plugins

Trello plugins

Также, к каждой доске можно подключить дополнительные сервисы для автоматизации, аналитики и прочее. Я пользовался такими расширениями:

  • Сountdown
  • Voting
  • Board Export

И всё это бесплатно. Платные расширения конечно есть, как и «Gold» тариф, который снимает некоторые ограничения и добавляет расширенные функции автоматизации.

Что ещё можно попробовать для управления процессом разработки?

https://hacknplan.com
Заточенный именно под gamedev сервис: канбан доски, ведение ГД и прочее.

https://basecamp.com
Стал бесплатным для персонального использования.

https://asana.com
Старый, но годный сервис от чувака из Фейсбука.

https://notion.so
Уже писал про него. Не смог туда перелезть в итоге :( Хотя внешне нравится.

https://www.openproject.org
Упомянул про этот сервис в рассылке. Попробую поставить на свой сервер и посмотреть, как оно работает.

Первый выпуск рассылки

Mopsicus Unity Newsletter

Mopsicus Unity Newsletter

Я сделяль :) 🎉🎉🎉

После объявления, что будет рассылка по Unity, набралось несколько десятков подписчиков, кто-то даже в телеграмм спросил, когда будет. Так что, решение было одно — делать и выпускать!

Вообще, интересный опыт, буду продолжать. В первом выпуске было около 20 мини-заметок с комментами. Если кому-то не дошла, проверьте папку «Спам», может туда случайно попала. После выпуска буду через несколько дней выкладывать в блог ссылку, ну а подписчики естественно могут прочитать первыми.

Жду обратную связь на mail@mopsicus.ru или сюда в комментарии. Второй выпуск уже готовится...

Читать первый выпуск 📩

Pocket

Pocket logo

Pocket logo

Пользуюсь Pocket уже несколько лет. Это просто, это удобно, это стало необходимо. Потому что в текущем потоке информации, успеть прочитать всё нужное и интересное — невозможно. Pocket, как приложение для закладок и чтения — самое то.

Одно время, я что-то интересное скидывал в Избранное в Телеграмм. Но потом всё стал скидывать в Pocket. Если на андроиде или айос, можно поделиться с помощью стандартного механизма и ссылка окажется в Pocket. Если в браузере — тоже. Для мака есть официальное приложение. На любом девайсе можно читать в офлайн режиме. Крутота.

Ранее Ctrl + ↓