es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Григорий Дядиченко

Григорий Дядиченко

Ir al canal en Telegram

Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR. 100+ проектов за 5 лет. https://whitelabelgames.ru По вопросам сотрудничества писать: @it_bizdev

Mostrar más
2 660
Suscriptores
Sin datos24 horas
Sin datos7 días
-230 días
Archivo de publicaciones
Blippar SDK + Unity Любопытно, надо будет потыкать, как будет свободное время. Новость в том, что WebAR сдк от blippar в котором даже есть SLAM выпустили плагин для Unity. Интересно будет поковырять, как работает их SLAM и что с ним можно делать. Оно вроде сильно подешевле 8стены, но вопрос как всегда в качестве. В общем надо посмотреть, а то вдруг WebAR со SLAM меня станет бесить в разы меньше :)

Метавселенные и их проблемы Что-то последнее время в моей жизни стало так много всяких «метавселенных» что поражаешься хайпоаости темы при том, что называют ими всё подряд. Почему-то связывают их с AR или VR технологиями и так далее. И самое интересное, как сова натягивается на глобус в AR случае-то вообще и он то тут причём) Обсуждаются какие-то проблемы, вопросы этики и т.п. При том что в реальности это всё «уже было» в ММО) Как WoW игрок со стажем (я когда-то был в основном составе топ-3 гильдий европы) я знаю, что такое «жить в игре» :) И современные VR метавселенные с этим имеют очень мало общего :) И все проблемы с мошенничеством, торговлей инсайдерской информацией, ценностью виртуальных предметов и т.п. уже были :) Вов большая метавселенная где люди начинают дружить, общаться, знакомиться, торгуют с друг другом и живут, чем любой «современный VR метаверс» Я в целом не верю, что метавселенные полетят, и что они кому-то так уж нужны в первую очередь) Потому что пресловутая иммерсивность это конечно замечательно, но вопрос всегда в комфорте и удобстве. И играть сидя за компьютером или же лёжа на диване с геймпадом в разы удобнее, чем ходить в VR шлеме с контроллерами) В первые разы это прикольно, есть вау эффект, но потом нет разницы) Поэтому я пока до сих пор не верю, что VR/AR так важен в этой теме) Сублимация и жизнь в другом мире отлично проходит с дивана с джойстиком, без сложных технологических устройств и полного погружения) А в VR и устройства неудобные, и контента по уровню погружения хотя бы приближенного к взрослому геймдеву тоже нет. Особенно мультиплеерного) Возможно это конечно вопрос времени, но пока мне в это не верится :)

Выступление на MIXR 2022 #mixrconf https://www.youtube.com/watch?v=oHzWLasRMys Наконец-то подъехала запись выступления с MIXR 2022 :) Где я рассказываю про графику в мобильном AR и в чём отличия от мобильного геймдева :) Ссылка на презентацию (Сорри за нотификацию лишнюю, думаю одним постом вся инфа будет удобнее) :)

Прикольный туториал по простенькому эффекту https://youtu.be/rB4YMQmO8Mw

Сходил на круглый стол в Совет Федерации. Обсудили аспекты регулирования метавселенных. Было интересно, собрались очень круты
Сходил на круглый стол в Совет Федерации. Обсудили аспекты регулирования метавселенных. Было интересно, собрались очень крутые эксперты :)

Интересное видео по face tracking https://youtu.be/V9bzew8A1tc :)

Очень крутой репозиторий с PathTracer с помощью Compute Shader https://github.com/Pjbomb2/Realtime-Compute-Shader-Unity-PathT
Очень крутой репозиторий с PathTracer с помощью Compute Shader https://github.com/Pjbomb2/Realtime-Compute-Shader-Unity-PathTracer Визуал прям кайф :) Надо будет протестировать насколько быстро работает, но в любом случае любопытно будет на досуге поковырять :)

Выступил на круглом столе и про графику в AR :)
+1
Выступил на круглом столе и про графику в AR :)

Пока закину небольшое превью без особых оптимизаций (хотя сильно оптимизировать я пока и не хочу) Spring Embedded алгоритм укладки графа. Конечно граф который я нашёл — сильно связный. Надо какую-то синтетику сгенерировать. Так как когда связность очень высокая этот алгоритм на 10к ребёр не поедет. Это 1к ребёр :) (граф хранится чисто рёбрами на сайте) Собственно цвет вершины выбирается в зависимости от числа её соседей

Почему красивый код и оптимальный — это две разные вещи Собственно сейчас всё ещё ковыряя графы, у меня появился пример. Вооб
+1
Почему красивый код и оптимальный — это две разные вещи Собственно сейчас всё ещё ковыряя графы, у меня появился пример. Вообще амбицию засунуть миллион 150к вершин графа в WebGL я оставил. Ну точнее это реально, но с бекендом, правильным маппингом типа BSP и т.п. Так как браузер по памяти тупо не вывезет даже на уровне данных о графе с позициями вершин. Понятное дело что трансформы и прочее можно было бы вынести в пулл, но тут как я считал, что оптимальна система "мозг бек — фронт рисует". Так и собственно оказалось. Но думаю 10к запихаем) А причём здесь оптимальный и красивый код? Ну можно посмотреть на картинку 1 и картинку 2. Я откатился к картинке 2, так как цели теперь не такие зверские и в целом можно пережить, но в чём между ними разница? Кроме компактности записи и каких-то странных буфферов? (хотя всё написано в комментах) Так как приложение однопоточное (веб жеж) мы можем использовать хак заведя просто статические буфферы для некоторых операций (важно чтобы в начале операции буффер очищался, чтобы буфферы были стейтлесс) И тогда вот возникает какой нюанс. На 168к вершин (именно такой граф я по началу ковырял) — Linq каждый расчёт позиций граффа аллоцирует 8мб в кучу. А это 40 байт (можно свести к нулю, но это надо избавится от хешсета, чтобы не было аллокации его итератора) Это очень хитрый контракт, не самый лучший код, но когда мы идём к каким-то краевым задачам, то появляются такие вот вещи. Поэтому оптимальный код и красивый/удобный код — это две разные вещи :) Да, такой код очень опасен и неудобен, но при этом он работает на порядок быстрее реализации на LINQ. Можно конечно изменить модель данных, чтобы получать соседей без LINQ конструкций, но с графами есть такие нюансы, что в зависимости от используемой модели есть свои плюсы и минусы) Скажем если вершины знают своих соседей, а не это ответственность структуры графа. Но в моей задаче это не так важно, так как при решении конкретной задачи я бы подбирал модель данных под неё :)

Кстати, я же завтра выступаю и участвую в панельной дискуссии на https://mixrconf.ru Приходите послушать :) В 10:30 расскажу
Кстати, я же завтра выступаю и участвую в панельной дискуссии на https://mixrconf.ru Приходите послушать :) В 10:30 расскажу про «Работа с графикой в мобильном AR. Трюки и технические нюансы» А в 12:30 будет круглый стол «Технологические вызовы XR-импортозамещения » В общем будет интересно :) Ну и конечно промокод на скидку 15% speaker-gnsbxr-friends :) Так же если нет возможности присутствовать оффлайн будет онлайн часть конференции с трансляцией входящая в любой билет :)

P.S. Да, чуть ошибся. Для теста лучше использовать Low Quality в Compression. Всё время их путаю. Но оно всё равно для того же AO подбирает компрессию ASTC8x8, которое весит в два раза больше, чем RGB Compressed ETC2. Тут же не качество сжатия, а качество выходной текстуры

Оптимизация текстур Последним шагом настройки билда всегда должна быть оптимизация текстур. И первое правило юнити разработчи
+2
Оптимизация текстур Последним шагом настройки билда всегда должна быть оптимизация текстур. И первое правило юнити разработчика — недоверять юнити. В целом оптимизация текстур в проекте это довольно глубокая тема. Но я приведу довольно простой пример из моих утренних изысканий. Сразу оговорюсь. Пользоваться этим как "выставляйте именно такие настройки" нельзя. Всё зависит от целевых платформ и много чего ещё. Я ща ковыряю проект под WebGL и там есть 3д модели. Собственно текстур пока не много 4, и на них проще будет объяснить. Текстуры эти изначально были пожаты, как на картинке один. То есть юнити автоматом подбирало причём достаточно высокие настройки компресии. Я просто заметил, что на визуал модели это не влияет никак. Вес билда 6.44 мб. Во втором случае я переписал настройки для текстур с альфой (albedo + roughness) на картинку 2 и без альфы (metallic и ambient occlusion) на картинку 3. Визуально различия не особо заметны, но тем не менее вес билда теперь 4.44 мб. Два мегабайта, без изменения разрешения текстур чисто на более тонкой настройке текстур. Конечно я не рекомендую ставить именно такие настройки, так как нужно понимать к чему это ведёт. Но для веба 2мб веса — это много и важно. Поэтому последним шагом разработки и для оптимизации билда лучше пройтись по всем текстурам и всё пожать. Если на это есть время. Либо же когда "на фичу не хватает пару мб". Так как то, что выбирает юнити автоматом редко бывает оптимально)

FFT Быстрое преобразование Фурье — это основа, это знать надо. Я нашёл довольно интересный видос про него https://www.youtube.com/watch?v=h7apO7q16V0 Но вообще это алгоритм который советую изучить в вкурить каждому, так как имеет очень широкий спектр применений) Ещё тут можно почитать статью про него https://towardsdatascience.com/fast-fourier-transform-937926e591cb Как несколько примеров: Сжатие изображений https://www.youtube.com/watch?v=gGEBUdM0PVc Суммирование и фильтрация сигналов https://www.researchgate.net/figure/Fourier-transform-of-a-sum-of-sinusoids-and-filtering-the-highest-frequency_fig3_237061998 Поиск размылия на картинке https://pyimagesearch.com/2020/06/15/opencv-fast-fourier-transform-fft-for-blur-detection-in-images-and-video-streams/#:~:text=The%20Fast%20Fourier%20Transform%20is,mathematics%2C%20science%2C%20and%20engineering. И ещё несколько https://www.quora.com/What-are-some-applications-of-2D-FFT-for-image-processing-computer-vision-computer-graphics Важно понимать, что это только кажется, что понимание "логики сигналов". И того, что звук и картинка — это по сути аналовые сигналы переведённые в цифровые — нужна только тем, кто пишет движки, алгоритмы компрессии и т.п. Не скажу что часто, но периодически встречаются задачи, где это знание бывает весьма полезно. И как всегда. Важно не уметь "написать реализацию из головы". Сам алгоритм известен и его реализацию можно откуда-то скопировать. Важно понимать суть и его применение, чтобы потом было понятно "что искать в гугле"

Интересное видео про рекурсию https://www.youtube.com/watch?v=ngCos392W4w

Unity написали небольшую статью в блоге «как сделать свой кодстайл») Больше кодстайлов богам кодстайлов :) https://blog.unity.com/technology/clean-up-your-code-how-to-create-your-own-c-code-style

Ну и сам парсер, а точнее как он вглядит, для понимания общей картины. Маппинги выкинуть в текстовый конфиг и применять на др
Ну и сам парсер, а точнее как он вглядит, для понимания общей картины. Маппинги выкинуть в текстовый конфиг и применять на другом уровне как опцию :) Лучше только заморочиться с атрибутом, чтобы было вообще симпатично, но мне не настолько нечего делать)

Значит хотел с утра начать писать систему для визуализации графов для статьи по графам. Чтобы загрузить какой-то графовый дат
Значит хотел с утра начать писать систему для визуализации графов для статьи по графам. Чтобы загрузить какой-то графовый датасет и показать как там можно визуализировать) Оптимизации и т.п. С демкой в WebGL) Но сделать же нужно нормально, поэтому я закопался в рефлексию и парсинг CSV с ней. Чтобы система не была заточена прям под конкретный граф, то пришлось написать конструкцию, как на скрине, чтобы элегантно пробрасывать маппинги) Видимо статья будет ещё про подходы к асинхронности на вебгл (такси там юзать as is нельзя, проще на корутинах делать) и ещё примером того, как можно обращаться с рефлексией) Ну либо надо будет один репозиторий использовать, как иллюстрацию для пары статей/постов, когда я допишу этого монстра) Начал я с утра писать проект по графам XD

Пошумим? Если вы работаете с графикой, то все виды шумов должны быть вашими лучшими друзьями. Я делал очень много различных эффектов основываясь чисто на шуме перлина. По этой причине очень важно напомнить про keijiro сана и про его репозиторий, который лежит теперь удобно пакетом в registry https://github.com/keijiro/NoiseShader Рекомендую добавить себе в закладки, запомнить что он есть и пользоваться. Волны делаются шумом, прикольные абстрактные формы делаются шумом. Надеюсь скоро наконец-таки зарелизится один проект, и я смогу показать какую ещё симпатичную штуку можно сделать с помощью шума. Как пример интересных работ, как шумом перлина дистортится пламя https://www.graphicon.ru/html/2008/proceedings/English/S8/Paper_3.pdf :) В общем если заниматься VFX в шуме лучше разбираться) Вообще надо всё же собраться с силами и написать большую обзорную статью про шум и его применения. Так сказать с чем его готовят) Но сейчас пока и так слишком много дел на сентябрь)

Советы по работе с префабами в Unity https://habr.com/ru/post/687416/ Давно я не выпускал статей и вот дошли руки написать о том, о чём больше нельзя молчать! Может кому-то пригодятся мои мысли, соображения, опыт и советы на эту тему :)