Григорий Дядиченко – Telegram
Григорий Дядиченко
2.83K subscribers
395 photos
159 videos
7 files
1.19K links
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR.

100+ проектов за 5 лет.

По вопросам сотрудничества писать: @it_bizdev
Реклама в канале: https://vk.cc/cNhGLE
Download Telegram
Unity Roadmap for 2023
https://youtu.be/I7YYC796PEs

Наконец-то нашёл время посмотреть это видео. Если есть время, стоит посмотреть чтобы понимать куда юнити движется. А теперь по интересному для меня)

Все будут улучшать и развивать. Аддресаблы, ui toolkit, input system и так далее. Круто и классно, плюс вроде появится адекватный отрисовщик векторной графики для гуя.

UGS — все ещё его воспринимаю как фаербейс с контекстом для игр и реалтайма. Классно, круто, но для старовера типа меня штука новая, и как следствие я ей не доверяю. Ну и пересмотрел я рекламы всех этих серверов, пока следил за новостями.

ECS — теперь будет поддерживаться на всех игровых платформах. Если это означает, что DOTS заработает на вебгл, то прикольно. Может я таки его поковыряю. Плюс разные улучшения и инструменты.

Графика — развитие URP. Много классных функций, оптимизаций. Несколько новых демо сцен с примерами на URP скоро сделают. Примеры это всегда хорошо.

Full Screen Master Node — интересная штука, можно будет делать теперь постпроцесс эффекты удобно судя по всему.

VFX Graph инстансинг — копировать графы в сцене без оверхеда на CPU — кайф.

Custom HLSL nodes — выглядит удобно. Хотеть.

Adaptive Prove Volumes — выглядит интересно, но приедет в URP только в 23.1LTS

Поддержка мобильных браузеров — напишу следующим постом.

AR Foundation on Oculus Quest — кайф, должно быть удобно.

XR Simulation — тоже наконец-то, хотя я и приноровился делать XR проекты без таких удобств.

#новости
Григорий Дядиченко
Unity Roadmap for 2023 https://youtu.be/I7YYC796PEs Наконец-то нашёл время посмотреть это видео. Если есть время, стоит посмотреть чтобы понимать куда юнити движется. А теперь по интересному для меня) Все будут улучшать и развивать. Аддресаблы, ui toolkit…
Поддержка мобильных браузеров в Unity

НАКОНЕЦ-ТО. Меня даже как-то расстроило что это было сказано «буднично между делом», что никто не порадовался и так далее. Будто поддержку ограничат только «поддержкой тач интерфейса». Да, Unity и сейчас работает на мобилках в вебе. Да, на форуме инженеры отвечают на вопросы и т.п. Но всё равно решение без поддержки это как сидеть на пороховой бочке запасаясь всеми доступными воркэраундами, так как что-то может вообще спокойно отвалиться. Так что это для меня в целом главная радость и новость из этого длинного доклада. Если это означало то, что я думаю.

Может сказано было так буднично, так как я пропустил из-за завала какой-то анонс. С весом билдов в Unity WebGL я разобрался, со скоростью загрузки в целом тоже, да и со всеми задачками. Если ещё и поддержка появится, то с http://whitelabelgames.ru можно будет чувствовать себя по спокойнее.

#новости
🔥2
Вопрос-ответ

Попробуем новый формат, чтобы в одном посте отвечать на несколько вопросов. А то мой завал предполагается до середины апреля (что я даже дайджесты не пишу, так как новостей не так уж и много, но я обязательно к ним вернусь!) Итак, поехали.

Можешь рассказать больше про карьеру технического художника и сравнить ее с разработчиком? Особенно интересуют следующие критерии: кто может из них может заработать больше денег и каким образом, какие знания и опыт более важны для инди команды и самое главное, как впечатлить девушку на свидании, если ты технический художник?)

Сильно тут не подскажу, так как это скорее нужно спрашивать у тех. артов. Я всё же в первую очередь именно разработчик, а сейчас вообще технический продюсер. По найму со своей стороны и деталям. Тех. арты конечно дороже. Но тут есть две причины. Первое, их экспертиза действительно сложная, так как это стык инженера и художника. Второе, она нужна в некотором смысле реже. VFX не все себе могут позволить, он не всем проектам нужен сложный и его не всегда в проекте много. Поэтому тут нет такого простого ответа. Инди команды — это такое широкое понятие, что там тоже ответят. Некоторые инди дадут фору многим конторам называющим себя компаниями. Ну девушку впечатлить красивыми эффектами конечно же можно, но это только для избранных девушек :)

Какие существуют 'Best Practice' для снятия телеметрии игроков и аналитики по производительности в Unity (ReleaseBuild, без участия редактора)? Особенно интересуют с прицелом на PC (Steam) и Nintendo.

Не знаю. Я больше по корпоративным историям, а там у нас есть графана и прочие прелести жизни с полным мониторингом рабочих станций в реальном времени.

Здравствуйте Григорий. Есть несколько тогглов (Toggle) по нажатиям на которые стартуют разные команды: рисования, редактирования 3д объектов. Тогглы в разных группах. Комманду можно прервать по нажатию Esc на клавиатуре - в этом случае нужно обновить статус тоггла, который был нажат. Какая архитектура должна быть, чтобы обновлять статус тогглов (isOn, true/false)? Я сделал статический класс с текущим тогглом и отжимаю его если стартует новая команда или пользователь нажимает Эскейп, но это какой-то костыль.

Да, это какой-то костыль. Задача решается вроде бы просто обсервером. Статический центральный ивентбас, который оповещает о нажатии кнопки интерфейс — это странно. В базовой архитектуре у нас интерфейс всегда отображает состояние модели. Новички обычно в апдейте модель опрашивают, а уже более прошаренные в таких случаях пишут обсервер на изменение модели. Аналог реактив проперти, систему событий и т.п. Так как нет разницы какой источник изменения состояния. Модель по команде ESC изменилась, а может по событию сервера. Суть в том, что изменилось состояние модели игры, соответственно у нас идёт оповещение всего View (а это гуй, модели и так далее) и он меняется в соответствии.

Как перестать писать весь код на монобехах? Или это нормальная практика?

В среднем что нормально, а что нет зависит от проекта и контекста. Меня смущает когда в монобехах классы модели. Ну уж если писать в совсем Unity-way хотя бы Scriptable Object, хотя это тоже не хорошо. Так как Scriptable Object можно воспринимать как репозиторий данных, ну или базу данных и т.п. Это механизм их хранения через юнити сериализацию в качестве статического решения. А модель должна существовать отдельно, так как завтра мы захотим хранить это на сервере в виде json и так далее.

Код должен быть простым и логичным. Я видел и обратную сторону медали, когда люди выносили контроллеры из монобехов и прокидывали события Update через центральный менеджер. Ну повеситься в execution order без регистрации и переплат, чтобы сэкономить пару спичек дело конечно достойное, но мне непонятное. Хотя если кому-то удобно, то на всякий случай не осуждаю. Просто для меня подобное лишняя конструкция ни за чем.
❤‍🔥2
Суть разработчика высокого уровня в том, что он понимает что он делает и главное зачем. Писать можно как угодно, если система работает. Бизнесу плевать. Не плевать будет только команде разработки. Так что если они знают где вы живёте писать лучше простой и логичный код. А отказываться от чего-то? Для этого нужно обоснование и причина. В общем ответ на вопрос "А зачем?".

Где захантить мидла в юнити? Где искать свободных единорогов?)

Я так давно не был в компаниях и корпоративном мире, что не в курсе. Я работаю сдельно, поэтому мне проще. Я ищу всегда хороших фрилансеров, чтобы добавить их в пул исполнителей. Вдруг какой-то проект интересный подвернётся и нужна будет именно эта экспертиза. И человеку работа или подработка. И я сделаю и сдаю классные проекты.

Привет! Можешь поделится опытом по поводу того, как оценивать время на выполнение задачи?

Вообще надо бы пост написать про методолгию этого дела. Если коротко — опыт. Я допустим знаю, что средний экран с резиновой вёрсткой, наполнением контента и тестами я буду верстать 1-2 часа. Без сложных элементов типа аккардеонов и т.п. Когда делал миллиард задач ты понимаешь сколько что делается. А вот с неизвестными задачами интереснее. Тут целую блок схему можно нарисовать.

Фух, ну вроде всем ответил. Сорри, что так долго. Какие-то вопросы задавали в феврале. Но я не забиваю на это дело. Просто я был то в печали, то в творческом кризисе, то в завале, что даже на дискорд сервер как-то подзабил. Чтобы там разводить активность её нужно вести, а я потерял свой маховик времени судя по всему. Напоминаю что задавать вопросы можно вот тут.

#вопросы
❤‍🔥5
Книжка про перфоманс
https://github.com/CyberAgentGameEntertainment/UnityPerformanceTuningBible/blob/main/README_EN.md

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

#новости
🔥26🥱1
Ещё немного про оптимизацию
https://makaka.org/unity-tutorials/optimization

Астрологи объявили неделю оптимизации судя по всему. Число постов про оптимизацию выросло :)

#новости
🔥13
Media is too big
VIEW IN TELEGRAM
Красивый шейдер органики
https://www.reddit.com/r/Unity3D/comments/12fkdrt/procedural_animatedorganic_material_100_shader/?utm_source=share&utm_medium=ios_app&utm_name=ioscss&utm_content=1&utm_term=14

Люблю поглядывать ветку реддита по Unity. Иногда там появляется что-то любопытное. И вот эффект просто топ :)

#новости
🔥22❤‍🔥4
Алгоритмы всему голова
https://github.com/orgs/TheAlgorithms/repositories?type=all

Как я часто говорю во многих задачах разработки это необязательно, но если вы хотите быть гуру, а не просто кодером то алгоритмы знать важно. Хотя движки и библиотеки расслабили программистов, но иногда бывает полезно в таких вещах разбираться самому. Ну и конечно же почти все знают про Кнута, которого я очень рекомендую почитать. Но я тут ещё наткнулся на репозиторий с огромным количеством реализованных алгоритмов на всех языка программирования. Думаю много кому пригодится и стоит куда-нибудь сохранить :)

Ну и отдельная ссылочка на шарп, чтобы не искать https://github.com/TheAlgorithms/C-Sharp

#интересное
🔥13❤‍🔥1
Важнее понимать логику и принципы

Как говорится ещё одна мысль на тему, почему программистов не скоро заменит ChatGPT. Раз уж я с утра затронул тему алгоритмов, да и математику туда же нужно отнести — самое важное понимать их логику. Что это значит? По сути репозиторий выше доказывает, что готовую реализацию можно найти если не для всего и для очень многого.

Я уверен, что нейросети быстро научатся находить и выдавать реализацию на любом языке программирования алгоритмов. Хотя кто хоть раз писал в ручную реализацию алгоритма триангуляции Делоне знает сколько там нюансов.

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

И так со всеми алгоритмами, с математикой и т.п. Чем прикольно программирование и похоже на математику? Чтобы решить задачу вам не нужно знать конкретный путь и решение наизусть. Вам нужно придумать куда вы пойдёте. Это конечно цель достойная и ускоряет работу «всё на свете изучить», но запомнить столько могут только какие-то сверхлюди. В разы эффективнее запомнить информацию о миллиарде того что существует и что решает без детализации как именно это делается.

То есть в алгоритмах и математике важно знать о существовании алгоритмов и их целях. Видите что карта вашей стратегии огромная и обход начинает тормозить, вспоминаете сокращение BSP. Хотите написать свой свет — вспоминаете BRDF для начала. Хотите облако точек в 2д превратить в выпуклый полигон — вспоминаете алгоритм джарвиса и триангуляцию делоне. А как они конкретно пишутся можно спросить у ChatGPT.

#мысли
🔥17
Разбор моторов в блоге Unity
https://blog.unity.com/engine-platform/motors-in-unity-physics

Помню старые времена когда я из джоинтов в Unity собирал верёвки и цепи для игры головоломки. С тех пор я как-то редко сталкивался с джоинтами из-за специфики проектов. Но быть в курсе того, что там нового всё равно нужно :)

#новости
❤‍🔥1
XR гарнитура от Apple
https://80.lv/articles/apple-ar-vr-headset-will-reportedly-launch-at-wwdc-2023/

Который год слышно что вот-вот анонсируют и опять мы там же. Чтож, в июле узнаем, но я всё ещё считаю что это не спасёт метавселенные. Так как метавёрс — это мёртвый в своей сути концепт. Фейсбук и остальные игроки потихоньку сворачивают свои направления, но я верю что эпл как и со смарт часами. Быстро поймут что XR шлем — это не Next Big Thing. Сделают себе через него возможно выход на рынок консолей и будут там конкурировать с плойкой и коробкой. И можно будет поиграться с новым устройством.

Сейчас наступила эра хайпа ИИ, а хайп метавёрса ушёл. Но если вдруг эпл запустит новый виток хайпа метавселенных будет любопытно :) Правда сути это не поменяет, что концепт в своей сути пока бесполезен.

#новости
🔥3
Концепция развития мира
https://youtu.be/w-tFdreZB94

Дискуссия под прошлым постом навела на мысли. Если я не верю в метавселенные, то во что я верю? Что будет удобно, классно, будет развиваться и мы к этому прийдём?

И я вспомнил замечательный ролик Microsoft про мир будущего. И я в разы больше верю в тотальную цифровизацию. Появление сверх тонких устройств. Качественных AR устройств, зеркал и т.п. Нейроинтерфейсы очень долго не пройдут через законы и бюрократию, а вот так почти выглядит наше настоящее. И осталось сделать не так много шагов, чтобы оказаться к ролике майкрософта.

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

Я верю что ИИ будут собирать для людей данные, выполнять по сути всю рутину, а человек в этой системе будет центром принятия решений. По сути когда будет понятно, что ИИ до сих пор не умеет думать и принимать решения все перестанут его бояться, и тогда с центром принятия решения в человеке самым ценным навыком станет умение принимать решения и формулировать мысли.

Я верю что первым шагом полная цифровизация всего и все пройдёт QR кодами, а потом придумают бесшовный стандарт меток, который примут производители. Типа айбиконов. И все интеграции станут бесшовными. И будет так же как в ролике. Положил на стол сверхтонкий планшет и на нём открылся сайт с меню автоматом.

Я верю, что чтобы этот концепт стал возможным всю планету покроют интернетом. И тогда такие тонкие устройства будут хорошо работать в любой точке мира.

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

Тут есть и игроки, и выготоприобретатели, и те кому это будет удобно и нужно. И по сути не хватает для этого только грамотного и нового вида интернета с меньшим числом задержек. И по сути все технологии крупных корпораций идут именно к такому миру. Место Unity в этом мире — основной инструмент разработки AR интерфейсов и приложений. Помимо игр и классики. Но в это я верю, что будет возможно при нашей жизни, и к этому хотелось бы прийти.

А сидеть в шлеме в квартире и залипать на цифровое искусство, работать и всё это не выходя из своей коробки. Это явно не мой мир мечты. Мир в котором удобно жить в реальности и технологии упрощают и улучшают этот мир меня прельщает в разы больше, чем мир эскапизма в шлеме.

#мысли
🔥8❤‍🔥2😐1
This media is not supported in your browser
VIEW IN TELEGRAM
Классный составной лук
https://80.lv/articles/unity-powered-compound-bow-created-for-vr/

Круто сделанный лук на физике Unity. Как такое через риг и анимацию сделать понятно и это относительно просто, но если это сделано через физику по логике инвёрсной кинематики — круто. Тут конечно нет деформаций так что ничего нереального в этом нет, но всё равно красивая и качественная работа.

#новости
🤯12🔥8
Nvidia выпустила какую-то магию
https://80.lv/articles/nvidia-s-rtx-remix-has-been-offcially-launched/

Выглядит очень круто и видимо позволит легко ремастерить и переводить старые игры на RTX. Конечно надо смотреть как работает, но ещё и опенсорс. Вообще кайф. Вот видео как оно работает концептуально https://youtu.be/Gr6VOrKiXwU

#новости
🔥12
С прошедшим днём рождения меня :)

Вчера у меня был день рождения и обычно я в такие дни пишу некоторые отсечки "как оно и как всё идет". По сути таких даты две: др и новый год. Но так как я всё ещё в дикой запаре (и так видимо будет до 21 апреля) то напишу небольшой задержкой. И дальше работать, так как собственно вчера я весь день делал дела.

Первый квартал этого года начался конечно забавно. В марте я большую часть денег вообще заработал вернувшись ненадолго к старому хобби. Онлайн покеру (скриншотик прилагается, но таких было несколько) :) Да, не советую никому играть в азартные игры, вы вероятнее всего проиграете без опыта. Я этим занимался 4 года профессионально, поэтому я немного умею играть.

Начало года прошло под флагом консалта + несколько долгосрочных контрактов. А сейчас наконец-то пошла классика. Игры, стоечки и прочее, чем я обычно под заказ занимаюсь :)

В блоге с января прибавилось больше 700 подписчиков, и я всех рад видеть. Я сейчас чуть разгружусь и у меня есть уже идеи для пары статей и других вещей, которые надо бы написать + буду и дальше собирать какие-то интересные новости из мира Unity.

В общем год начинается неплохо и довольно бодро. Плюс минус так, как я и думал (кроме месяца покера). Посмотрим уже на новый год к чему получится дойти к концу года. Ну и постараюсь сюда побольше писать чего-то интересного и полезного :)
🔥28❤‍🔥2🥱1
Moebius-style 3D Rendering
https://youtu.be/jlKNOirh66E

Шикарное видео разбирающее много прикольных концепций. Sobel Filter, Edge Filter и так далее. Заодно можно понять по какой логике работает размытие гаусса, ну либо самое простое. В общем очень классный ролик про рендер и шейдера, где по сути всё объяснено на пальцах.

Итоговый визуал конечно получился немного шумноватый (мне чуть не нравится как ведут себя линии в движении), и ещё это можно покрутить, чтобы был совсем кайф. Но для сцен с неподвижной камерой вообще идеально. Ну и это не главное, а главное разбор концепций используемых в screen space эффектах :)

#интересное
🔥12❤‍🔥1
Странный пост Unity про SO
https://blog.unity.com/engine-platform/6-ways-noscriptableobjects-can-benefit-your-team-and-your-code

Итак, я немного выдохнул и возвращаюсь в информационные потоки. Решил я полистать блог Unity. Ну что там нового вышло, вдруг что полезное. А там вот такое. К первым двум пунктам у меня ноль вопросов. К 3-4 ну допустим. А вот 5-6 «а зачем?»

Не, ну вдруг кто-то понимает эти концепты. Я не представляю зачем мне в рантайме делать сторадж в SO или каналы событий через SO и делать лишний оверхед, когда тоже самое можно сделать без SO без потерь. Будто нужно было просто придумать 6 пунктов.

Для меня всегда SO был и останется удобным хранилищем данных по своей сути. А точнее статических ресурсов в ПО. Они неизменяемы в рантайме, они хранят в себе просто данные ну и возможно логику валидации данных и что-то ещё утилитарное и полезное.

Вообще все вот эти better и benefit автоматом должны вызывать вопрос «а с чем мы сравниваем?». Скажем данные можно так же хранить в json, bson, xml ну и там будет длиинный список. Что даёт SO?

Перед текстовыми форматами сериализации — бинарную сериализацию из коробки.
Перед всеми форматами сериализации — пользовательский интерфейс внутри Unity из коробки. И его проще доработать, чем делать кастомное эдитор окно.

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

Потому что в отличии от того же json сделать SO удобно поставляемым и редактируемым в рантайме нельзя. Ну только бандлами, но под это для удобства нужна целая CI система.

Ну типа в 6 сравнивается с FindObjectOfType, но как бы есть более разумный путь под названием статический контейнер объектов без всяких SO, а SO тут причём? В общем непонятно.

#новости
🔥8
UGC от Unity
https://blog.unity.com/engine-platform/power-player-creativity-with-user-generated-content

User Generated Content (UGC) крутая штука, которая может в разы сильнее вовлечь игроков в игру. Моды для моровинда, всякие шмотки в играх, кастомные карты или игры целиком построенные на UGC, типа роблокса, кербела и так далее. Эдакие песочницы.

И судя по всему Unity решили сделать группу сервисов, чтобы добавить UGC в свою игру было проще. Система публикации и хостинга контента, модерации и дистрибуции. Круто, надо будет понаблюдать что из этого получится.

#новости
🔥7❤‍🔥2