В этом дайджесте магазины приложений, борющиеся с коронавирусом, Dynamic Delivery и Create ML, мобильные интерфейсы и онбординг, мультиплатформенный Kotlin и дизайнерский Flutter.
Рубрика «unity3d» - 3
Дайджест интересных материалов для мобильного разработчика #336 (2 — 9 марта)
2020-03-09 в 7:58, admin, рубрики: android studio, apple, flutter, Google Play, kotlin, swift, unity3d, xcode, Блог компании Цифровые Экосистемы, искусственный интеллект, маркетинг мобильных приложений, разработка мобильных приложений, Разработка под android, разработка под iOSВалидация ассетов в Unity3D
2020-03-06 в 8:46, admin, рубрики: C#, game development, Gamedev, unity, unity3d, ассеты, Блог компании Pixonic, валидация, геймдев, оптимизация кода, оптимизация рабочего времени, разработка игр, сериализация
Начнём с того, что я обожаю сериализацию в Unity. Она надёжна и очень проста в использовании. Я просто расширяю MonoBehaviour, ScriptableObject и подобные классы и настраиваю сериализуемые поля экземпляров в инспекторе.
Но у неё есть и слабости. Одна из них ― человеческий фактор. Представьте себе огромный проект, который живёт несколько лет и над которым работает около сотни человек. И любой из них может совершить ошибку: оставить пустую ссылку на объект, указать число вне диапазона, ввести строку в неверном формате, заполнить массив слишком маленьким или, наоборот, слишком большим количеством объектов. Уверен, у каждого из вас найдутся такие примеры из своего опыта. Причин и оправданий тоже множество: невнимательность, неожиданные последствия слияния веток, сбои редактора… И никто от этого не застрахован.
Такие ошибки до поры до времени остаются незаметными: компилятору до них нет дела, в отличие от опечаток в коде. Особенно неприятны они тем, что проявляются часто уже во время выполнения кода. Только тогда вы начинаете читать журнал сообщений и идёте проверять данные: тыкать их в редакторе или листать YAML. Но объектов может быть достаточно много, есть риск что-то пропустить или попросту залениться.
Конечно, можно добавить проверок в коде, но от этого он загрязнится. Иногда эти проверки негативно влияют на производительность. А ещё не всегда однозначно понятно, как именно обработать каждую конкретную ошибку.
Универсального или даже штатного метода бороться с подобным в Unity нет. Поэтому мы в Pixonic реализовали свою систему валидации ассетов. И это очень помогает нам жить.
Сейчас я опишу, как там всё устроено.
Читать полностью »
Блендинг и Unity Terrain: как избавиться от пересечений и перестать делать глазам больно
2020-02-28 в 7:24, admin, рубрики: 3d-моделирование, Gamedev, shaders, snapping, unity, unity3d, блендинг, Блог компании Pixonic, геймдев, игровая разработка, разработка игр, снэппинг, шейдерыДля того, чтобы получить реалистичный мир внутри игры, необходимо учитывать взаимодействие различных форм рельефа между собой и с другими моделями. И если видимые линии пересечения между 3D-моделями портят органичность изображения, стоит задуматься над тем, как их устранить. Самый распространенный случай таких линий, который может быть знаком многим, — пересечение билбордов частиц с непрозрачной геометрией.
Другой пример — нарушающие естественность композиции пересечения скал и растительности с поверхностью ландшафта в сценах «на открытом воздухе».
Помимо разнообразных методов сглаживания (SSAA, MSAA, CSAA, FXAA, NFAA, CMAA, DLAA, TAA и др.), которые пусть и смягчают вызывающий внешний вид таких линий пересечений, но не исправляют ситуацию в полной мере, существуют и более действенные приемы. Их мы и рассмотрим.
Читать полностью »
Невангеры: Division impossible
2020-01-31 в 12:12, admin, рубрики: Gamedev, unity, unity3d, Анимация и 3D графика, вангеры, Дизайн игр, игровые механики, игростроение, история создания, концепты, ностальгия, прототипирование, Работа с 3D-графикой, разработка игрДоброго дня!
Статья познакомит вас с очередными обновлениями проекта, посвящённого биомеханическим машинкам, с нотками ностальгии по различным произведениям винтажного игропрома.
В этот раз в игру пришли артефакты, появилась доставка грузов, киберпространство, новые декоративные элементы, редизайн отдельных объектов и участков уровней, а также прочие мелочи и сюрпризы.
Зрение Хищника: эффект термального видения
2020-01-15 в 9:40, admin, рубрики: shaders, unity, unity3d, Дизайн игр, постобработка, Работа с 3D-графикой, разработка игр, спецэффекты, шейдерыВ процессе поисков наилучшей реализации термального шейдера я наткнулся на matcap-шейдер, опубликованный пользователем bgolus в форумах Unity — неплохая отправная точка.
Я сильно изменил его, чтобы модели выглядели более целостными под разными углами, привязав cap к вершинам и нормалям. То есть по сути это уже не matcap, но мне всё равно хотелось бы отдать должное этому шейдеру, с которого всё началось.
Будем двигаться по порядку, сначала вершинная функция:
Читать полностью »
Наша с девушкой первая видеоигра. Разработка на Unity. Часть 2
2020-01-09 в 22:50, admin, рубрики: Cubicity, unity, unity3d, баг или фича, баги, головоломка, игры, издатели, издательство игр, первая игра, продвижение игр, разработка игр, Разработка под android, разработка под iOS, релизУ-у-у… Кто обитает на дне океана? Cubicity — квадратная игра.
Привет всем, кто ждал продолжения первой части нашей статьи. Настало время подвести итоги релиза Cubicity. Это был долгий путь с довольно полезным хоть и местами болезненным опытом, которым хотим с вами поделиться.
Невангеры: Feed for speed
2019-12-22 в 14:27, admin, рубрики: Gamedev, unity, unity3d, вангеры, Дизайн игр, игровые механики, игростроение, история создания, кин-дза-дза, концепты, ностальгия, прототипирование, разработка игрДоброго дня! Который к концу декабря так похож на ночь.
Новый год всё приближается, тем временем прототип с приключениями биомашинок продолжает развиваться. С очередными обновлениями в игру добавилось семь новых средств передвижения, автосохранение, новый водный уровень, машинки-боты, возможность плести паутину и говорить Ку.
Knight’s life — онлайн Aрена с элементами RPG
2019-12-06 в 17:40, admin, рубрики: unity, unity3d, разработка игр, разработка мобильных приложений, Разработка под androidВсем доброго времени суток!
Для тех кто не читал мои предыдущие посты, я разрабатываю мобильную игру. Онлайн арену с элементами РПГ. Основная идея игры состоит в арене и в развитие своих персонажей. Под персонажами имеется ввиду 3 основных класса. Воин. Маг. Разбойник.
Немного про классы
У каждого класса есть 4 вида способностей и 3 основные характеристики (сила, ловкость, интеллект). Помимо способностей и характеристик у каждого класса имеется свое оружие. У воина щит и меч, маг двигается с посохом а у разбойника клинки в обеих руках. У воина основной атрибут в характеристиках — это сила. У мага — интеллект. У разбойника соответственно ловкость.
Читать полностью »
Процедурные дороги в Houdini и Unity
2019-12-04 в 9:01, admin, рубрики: Houdini, unity, unity3d, процедурная генерация карт, процедурная генерация мешей, Работа с 3D-графикой, разработка игр, рельефДля моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini!
Раньше, когда не знал о Houdini, я писал на C# собственные инструменты процедурной генерации мешей для Unity. Добавление новых функций было очень долгим процессом, и когда я однажды услышал, что Houdini предназначен для подобных задач, то сразу перешёл на него. Я поэкспериментировал с разными способами генерации городов и улиц, и в этой статье я вкратце расскажу о методике, которая в конечном итоге была использовала для игры.
Сначала я создал инструмент для генерации сети улиц, которые можно было бы использовать в городе. Моё решение основано на изложенных здесь концепциях, а также на использованной по ссылке статье. Там много говорится о тензорных полях и собственных векторах, и всё написано очень технически, но вкратце это можно объяснить так: для моего случая (генерации дорожной сети на рельефе) мне нужно было сгенерировать контурные линии рельефа, а также линии, перпендикулярные им.
Читать полностью »