The Immersive Edge: обзор новостей отрасли за февраль
https://unity.com/ru/blog/february-2026-industry-content-wrap-up
В материале обсуждаются тенденции 2026 года, включая практическое внедрение технологий благодаря слиянию ИИ, XR и демократизации 3D-данных, представлены три руководства для команд по работе с промышленными 3D-решениями, а также новые руководства для разработчиков по созданию интерактивных 3D-конфигураторов, оптимизации CAD и ускорению разработки XR. Приведены примеры успешного применения технологий Unity в компаниях Walmart, Mercedes-Benz и Wren Kitchens в сферах иммерсивной коммерции, HMI и VR-выставочных залов.
Достаточно любопытный пост для XR разработчиков. Люблю такие. Кейсы которые можно демонстрировать потенциальным клиентам, обзор каких-то инструментов и тому подобное. Хотя часть кейсов старые, о некоторых я не знал.
#новости
https://unity.com/ru/blog/february-2026-industry-content-wrap-up
В материале обсуждаются тенденции 2026 года, включая практическое внедрение технологий благодаря слиянию ИИ, XR и демократизации 3D-данных, представлены три руководства для команд по работе с промышленными 3D-решениями, а также новые руководства для разработчиков по созданию интерактивных 3D-конфигураторов, оптимизации CAD и ускорению разработки XR. Приведены примеры успешного применения технологий Unity в компаниях Walmart, Mercedes-Benz и Wren Kitchens в сферах иммерсивной коммерции, HMI и VR-выставочных залов.
Достаточно любопытный пост для XR разработчиков. Люблю такие. Кейсы которые можно демонстрировать потенциальным клиентам, обзор каких-то инструментов и тому подобное. Хотя часть кейсов старые, о некоторых я не знал.
#новости
Unity
Иммерсивный край: Unity Industry, февраль 2026 г. Обзор контента
В этом обзоре за февраль 2026 года представлены отчет Unity о тенденциях в отрасли за 2026 год, 3D-справочники, технические руководства и истории клиентов из сферы розничной торговли, автомобилестроения и производства.
🔥1
Онлайн-редактор GLSL шейдеров прямо в браузере
https://fragcoord.xyz
Наткнулся на приятный инструмент для тех, кто пишет фрагментные шейдеры. Веб-редактор на базе WebGL2, где можно писать, отлаживать и шарить GLSL фрагментные шейдеры прямо в браузере без лишних телодвижений. Выглядит минималистично, работает шустро, и удобно то, что можно сразу кидать ссылку на свой шейдер другим — не нужно ничего скачивать и настраивать.
#интересное
https://fragcoord.xyz
Наткнулся на приятный инструмент для тех, кто пишет фрагментные шейдеры. Веб-редактор на базе WebGL2, где можно писать, отлаживать и шарить GLSL фрагментные шейдеры прямо в браузере без лишних телодвижений. Выглядит минималистично, работает шустро, и удобно то, что можно сразу кидать ссылку на свой шейдер другим — не нужно ничего скачивать и настраивать.
#интересное
FragCoord.xyz
A shader editor for writing, debugging, and sharing.
🔥9
Стратегия Unity по рендер-пайплайнам на 2026 год
https://discussions.unity.com/t/render-pipelines-strategy-for-2026/1710004
В 2026 году Unity упростит работу с конвейерами рендеринга: сделает акцент на развитии URP (повышение производительности, стабильности и визуальных возможностей), поддержит HDRP для Nintendo Switch™ 2 и начнёт процесс убийства встроенного конвейера рендеринга.
Тред стоит почитать целиком. Если коротко: URP получает основное развитие — производительность, время сборки, 3D-освещение.
#новости #unity
https://discussions.unity.com/t/render-pipelines-strategy-for-2026/1710004
В 2026 году Unity упростит работу с конвейерами рендеринга: сделает акцент на развитии URP (повышение производительности, стабильности и визуальных возможностей), поддержит HDRP для Nintendo Switch™ 2 и начнёт процесс убийства встроенного конвейера рендеринга.
Тред стоит почитать целиком. Если коротко: URP получает основное развитие — производительность, время сборки, 3D-освещение.
#новости #unity
🔥7
5 способов нарисовать обводку
https://ameye.dev/notes/rendering-outlines/
Задача которая встречается на каждом втором проекте. Статья хорошо раскладывает методы: экструзия вершин, Gaussian Blur, Jump Flood, определение границ. Мой любимый — Gaussian Blur через Custom Render Pass в URP. Прощает любую геометрию. Экструзия проще, но на сложных мешах — беда.
#новости #шейдеры #urp
https://ameye.dev/notes/rendering-outlines/
Задача которая встречается на каждом втором проекте. Статья хорошо раскладывает методы: экструзия вершин, Gaussian Blur, Jump Flood, определение границ. Мой любимый — Gaussian Blur через Custom Render Pass в URP. Прощает любую геометрию. Экструзия проще, но на сложных мешах — беда.
#новости #шейдеры #urp
ameye.dev
5 ways to draw an outline
Explaining multiple techniques for rendering outlines and highlights for real-time applications. This includes vertex object-space as well as screen-space methods. This can be used to render outlines in Unity or Unreal. Outlines can be used for gameplay reasons…
🔥2
Задачка - Исполнение корутин
Давайте попробуем что-то новое. В этом году у меня есть легкое вдохновение на тему блога, поэтому попробуем новую рубрику. Отвечать можно реакциями, так и пойму интерес к рубрике.
Что выведет этот код в Unity?
Варианты:
а) 1, 2, 3 - 🤷♂️
б) 1, 3, 2 - 🤷♀️
в) 3, 1, 2 - 🤷
Ответ завтра 🙂 Если будет интерес, то буду публиковать такие с разной сложностью чисто для разминки мозгов. Это не самая сложная на понимание корутин. Думаю такое прикольно чисто как жевачка для мозгов. А то скоро за вас всё ИИ агенты будут придумывать 🙂 Эмодзи подбирались, чтобы они не давали подсказок 🙂 Ну и огоньки тоже можно поставить
#задачка #unity
Давайте попробуем что-то новое. В этом году у меня есть легкое вдохновение на тему блога, поэтому попробуем новую рубрику. Отвечать можно реакциями, так и пойму интерес к рубрике.
Что выведет этот код в Unity?
void Start()
{
StartCoroutine(A());
Debug.Log("3");
}
IEnumerator A()
{
Debug.Log("1");
yield return null;
Debug.Log("2");
}
Варианты:
а) 1, 2, 3 - 🤷♂️
б) 1, 3, 2 - 🤷♀️
в) 3, 1, 2 - 🤷
Ответ завтра 🙂 Если будет интерес, то буду публиковать такие с разной сложностью чисто для разминки мозгов. Это не самая сложная на понимание корутин. Думаю такое прикольно чисто как жевачка для мозгов. А то скоро за вас всё ИИ агенты будут придумывать 🙂 Эмодзи подбирались, чтобы они не давали подсказок 🙂 Ну и огоньки тоже можно поставить
#задачка #unity
🤷♀80🔥10🤷5🤷♂2
Смотри как могу
Большая проблема начинающих: делать что-то не потому что надо, а потому что «смотри как могу». Я помню как добавлял HTML-теги в школьный проект только чтобы выпендриться что я их знаю. Это были fieldset и legend как я помню. Художественного смысла — ноль. Но ведь я вычитал где-то, что вот такие теги есть.
И тут мы возвращаемся к KISS. С новичками очень часто замечаешь, да и не только с ними, что человек увидел что-то и ему сразу хочется это применить. И это во многом. Я так когда-то смотрел видосы по доте и увидев фишку хотел пойти её опробовать. Но в коммерческой разработке это очень вредно. Самая главная проблема что часто эти "фишки" в разработке бывают сложными для человеческого восприятия. Это красивые и казалось бы элегантные абстракции которые понимает сам человек.
Условно можно написать в простой бродилке класс дверь, интерфейс взаимодействий с дверью и открывать дверь по этому интерфейсу. Но это даже не выдуманный пример, я видел проект в котором двери создавала целая фабрика, которая декорировала двери функционалом открытия через композицию. Элегантно конечно. В теории можно задекорировать чем хочешь, с агруменацией "а вдруг у нас дверь мимик будет". И в целом абстрактно писать классно. И может с ИИ агентами проще будет понять такие безумные замыслы. Но когда код читают люди - пишите проще. Не все разгадают вашу сложную и супер красивую конструкцию. Код должен быть гибким, но простым. А показывать как сложно можно написать какую-то гениальную абстракцию - это не про коммерческую разработку.
#мнение
Большая проблема начинающих: делать что-то не потому что надо, а потому что «смотри как могу». Я помню как добавлял HTML-теги в школьный проект только чтобы выпендриться что я их знаю. Это были fieldset и legend как я помню. Художественного смысла — ноль. Но ведь я вычитал где-то, что вот такие теги есть.
И тут мы возвращаемся к KISS. С новичками очень часто замечаешь, да и не только с ними, что человек увидел что-то и ему сразу хочется это применить. И это во многом. Я так когда-то смотрел видосы по доте и увидев фишку хотел пойти её опробовать. Но в коммерческой разработке это очень вредно. Самая главная проблема что часто эти "фишки" в разработке бывают сложными для человеческого восприятия. Это красивые и казалось бы элегантные абстракции которые понимает сам человек.
Условно можно написать в простой бродилке класс дверь, интерфейс взаимодействий с дверью и открывать дверь по этому интерфейсу. Но это даже не выдуманный пример, я видел проект в котором двери создавала целая фабрика, которая декорировала двери функционалом открытия через композицию. Элегантно конечно. В теории можно задекорировать чем хочешь, с агруменацией "а вдруг у нас дверь мимик будет". И в целом абстрактно писать классно. И может с ИИ агентами проще будет понять такие безумные замыслы. Но когда код читают люди - пишите проще. Не все разгадают вашу сложную и супер красивую конструкцию. Код должен быть гибким, но простым. А показывать как сложно можно написать какую-то гениальную абстракцию - это не про коммерческую разработку.
#мнение
🔥10❤🔥1
Григорий Дядиченко
Задачка - Исполнение корутин Давайте попробуем что-то новое. В этом году у меня есть легкое вдохновение на тему блога, поэтому попробуем новую рубрику. Отвечать можно реакциями, так и пойму интерес к рубрике. Что выведет этот код в Unity? void Start() {…
Ответ на вчерашнюю задачку: б) 1, 3, 2
StartCoroutine запускает корутину. Она выполняется до первого yield return и возвращает управление. То есть Debug.Log("1") выполнится сразу, потом yield return null приостановит корутину, выполнится Debug.Log("3"), и только в следующем кадре — Debug.Log("2").
Корутины это НЕ потоки. Они работают в main thread. yield return null — это "продолжи в следующем кадре". Это было что-то очень простое. Завтра закину посложнее. Чем можно людей на собесах пытать 🙂
#задачка #unity
StartCoroutine запускает корутину. Она выполняется до первого yield return и возвращает управление. То есть Debug.Log("1") выполнится сразу, потом yield return null приостановит корутину, выполнится Debug.Log("3"), и только в следующем кадре — Debug.Log("2").
Корутины это НЕ потоки. Они работают в main thread. yield return null — это "продолжи в следующем кадре". Это было что-то очень простое. Завтра закину посложнее. Чем можно людей на собесах пытать 🙂
#задачка #unity
❤🔥9 4🔥3
2 месяца за 300 тысяч: вайбкодеру платили за ChatGPT
https://habr.com/ru/articles/1003434/
Автор рассказывает о ситуации, как он нанял разработчика Диму, который получал 300 тысяч рублей. Сначала работа Димы впечатляла скоростью и качеством, но автор начал подозревать, что тот использует ChatGPT для решения задач. Подозрения подтвердились, когда автор обнаружил, что стиль кода не соответствует внутренним конвенциям, а Дима не мог объяснить свои решения и не понимал, как работает написанный им код. В итоге автор расстался с Димой, а в процессе найма ввёл изменения: теперь на собеседовании кандидатам предлагают найти баг в коде, а не написать его с нуля, и на испытательном сроке дают задачу на созвоне с шарингом экрана. Автор размышляет о том, что индустрия найма в IT не готова к использованию LLM-инструментов кандидатами и сомневается, станет ли умение правильно промптить LLM легитимным профессиональным навыком.
Давайте будем честны. Разработчики не нужны, мы притворялись что понимаем больше других и вот нейросети пришли и объяснили всем что всё что мы делаем не сложно. Я уверен услышать такую фразу мечтает любой бизнес, а то за что этим ребятам платить так много? Ведь никто не понимает что разработчики делают. Диму поймали конечно, так как он как вайбкодер не тот инструмент выбрал. Я бы выбрал здесь могла быть ваша реклама. Ну, а теперь серьезно.
Кодманки больше не нужны. И мне крайне интересно к чему приведет жадность на долгосроке. И в краткосроке. Как человек который руками уже пишет мало могу сказать одно. Писать код агентами или ЛЛМ это всё равно что вести джуна. Чем лучше ты объясняешь и декомпозируешь задачи, тем лучше результат. Контекст, предметную область фреймворка и даже конкретного языка уже знать не так уж важно, потому что это тебе подскажут.
Нейросети будут развиваться, будут пропадать галлюцинации, фиговые решения, внесения уязвимостей в код из-за старой базы обучения в LLM. И тут можно вставить картинку с моим любимым мемом "А робот может написать хороший код?" "А ты?". Но в чём проблема этого всего на самом деле, и какие риски вижу я со своей колокольни.
Неизвестный код увеличивает энтропию системы. Если вы пользуетесь или начнете пользоваться ИИ агентами, вы заметите что вам почеловечески лень за ними проверять. И у вас весь проект становится черным ящиком, который реализован неизвестно как. А теперь представим. Пусть даже нейросеть пишет код на уровне мидла или сеньора. Но тут у вас падает прод, валятся ошибки и так далее. И условно противные. Рейс кондишен, андефайн бехавьор, чтобы по стектрейсу ваш помощник не мог разобраться. При этом проблема каскадная. И считайте что у вас упал прод, а тот кто писал вообще всю систему в отпуске, и никто не знает как она устроена. И если крутой разраб ещё сможет сесть и разобраться в проблеме в теории. То непрофильный человек не сможет.
Вы не обучаетесь пользуясь нейросетями. Если представить что теперь разрабам не надо учить языки, а надо учить абстрактную логику мышления и понимать как в целом работает комп и код не важно на каком языке, то у меня возникает вопрос. А как учиться будем? Текущая система обучения идёт только через языки и реализацию проектов. А сколько косвенной информации запомнил мой мозг, пока я гуглил, изучал вопрос, разбирался в том почему и решал проблемы на проектах. И это тоже часть обучения. Нейросеть в отличии от поисковика забирает эту работу у вас. Она дает вам ответ, а не помогает прийти к решению. И в этом смысле это плохо.
https://habr.com/ru/articles/1003434/
Автор рассказывает о ситуации, как он нанял разработчика Диму, который получал 300 тысяч рублей. Сначала работа Димы впечатляла скоростью и качеством, но автор начал подозревать, что тот использует ChatGPT для решения задач. Подозрения подтвердились, когда автор обнаружил, что стиль кода не соответствует внутренним конвенциям, а Дима не мог объяснить свои решения и не понимал, как работает написанный им код. В итоге автор расстался с Димой, а в процессе найма ввёл изменения: теперь на собеседовании кандидатам предлагают найти баг в коде, а не написать его с нуля, и на испытательном сроке дают задачу на созвоне с шарингом экрана. Автор размышляет о том, что индустрия найма в IT не готова к использованию LLM-инструментов кандидатами и сомневается, станет ли умение правильно промптить LLM легитимным профессиональным навыком.
Давайте будем честны. Разработчики не нужны, мы притворялись что понимаем больше других и вот нейросети пришли и объяснили всем что всё что мы делаем не сложно. Я уверен услышать такую фразу мечтает любой бизнес, а то за что этим ребятам платить так много? Ведь никто не понимает что разработчики делают. Диму поймали конечно, так как он как вайбкодер не тот инструмент выбрал. Я бы выбрал здесь могла быть ваша реклама. Ну, а теперь серьезно.
Кодманки больше не нужны. И мне крайне интересно к чему приведет жадность на долгосроке. И в краткосроке. Как человек который руками уже пишет мало могу сказать одно. Писать код агентами или ЛЛМ это всё равно что вести джуна. Чем лучше ты объясняешь и декомпозируешь задачи, тем лучше результат. Контекст, предметную область фреймворка и даже конкретного языка уже знать не так уж важно, потому что это тебе подскажут.
Нейросети будут развиваться, будут пропадать галлюцинации, фиговые решения, внесения уязвимостей в код из-за старой базы обучения в LLM. И тут можно вставить картинку с моим любимым мемом "А робот может написать хороший код?" "А ты?". Но в чём проблема этого всего на самом деле, и какие риски вижу я со своей колокольни.
Неизвестный код увеличивает энтропию системы. Если вы пользуетесь или начнете пользоваться ИИ агентами, вы заметите что вам почеловечески лень за ними проверять. И у вас весь проект становится черным ящиком, который реализован неизвестно как. А теперь представим. Пусть даже нейросеть пишет код на уровне мидла или сеньора. Но тут у вас падает прод, валятся ошибки и так далее. И условно противные. Рейс кондишен, андефайн бехавьор, чтобы по стектрейсу ваш помощник не мог разобраться. При этом проблема каскадная. И считайте что у вас упал прод, а тот кто писал вообще всю систему в отпуске, и никто не знает как она устроена. И если крутой разраб ещё сможет сесть и разобраться в проблеме в теории. То непрофильный человек не сможет.
Вы не обучаетесь пользуясь нейросетями. Если представить что теперь разрабам не надо учить языки, а надо учить абстрактную логику мышления и понимать как в целом работает комп и код не важно на каком языке, то у меня возникает вопрос. А как учиться будем? Текущая система обучения идёт только через языки и реализацию проектов. А сколько косвенной информации запомнил мой мозг, пока я гуглил, изучал вопрос, разбирался в том почему и решал проблемы на проектах. И это тоже часть обучения. Нейросеть в отличии от поисковика забирает эту работу у вас. Она дает вам ответ, а не помогает прийти к решению. И в этом смысле это плохо.
🔥10
Рынок джунов умрет из-за таких читеров. И мидлов частично. Проблема вайбкодеров не в том, что они пишут работающий код, который сами не понимают. А в том что в этом процессе они не обучаются. Если сеньор почти всё будет писать GPT-шками, но будет понимать что и зачем он делает, я буду готов платить ему зарплату сеньора. У меня нет любви к ручному труду других людей, и пофиг код "ручной работы" или сгенерированный. В бизнесе есть такое понятие как управление рисками. И ответственностью. Если я знаю что я как техдир могу не вникать в то, что происходит и человек отвечает за работоспособность системы, и в случае кризисов справится. Пиши код как хочешь. Но вот как решится проблема того, что сейчас на рынке и на удаленке будет куча вайбкодеров получать зарплату не обучаясь разработке совсем. Я не представляю. И зная мышление бизнеса видимо нас ждет новый вид бизнеса. Будут команды которые будут заниматься кризис менеджментом проектов. Некий сервисный центр кода других компаний, где сидят махровые технари, которые могут решить любую проблему. Так же пользуюясь всеми благами человечества, но с мозгами.
В общем в любопытное время мы живем. А такие Димы конечно в большом смысле этого слова вредители не осознающие какой вред они наносят индустрии. Но индустрия адаптируется это то, в чём я уверен. Поэтому если вы начинающий вайбкодер или обучаетесь разработке. Читайте что пишет нейросеть и допрашивайте почему она так пишет. Это турбо ветка обучения, так как дайте мне 7 лет назад такой инструмент который мне объяснит что написано в публичном репозитории даже, и я бы не учил шейдеры и рендер разработку практически методом тыка. Но человеческая жадность и лень скорее приведут к тому, что люди не учась просто будут говорить "работает же".
#новости #мнение
В общем в любопытное время мы живем. А такие Димы конечно в большом смысле этого слова вредители не осознающие какой вред они наносят индустрии. Но индустрия адаптируется это то, в чём я уверен. Поэтому если вы начинающий вайбкодер или обучаетесь разработке. Читайте что пишет нейросеть и допрашивайте почему она так пишет. Это турбо ветка обучения, так как дайте мне 7 лет назад такой инструмент который мне объяснит что написано в публичном репозитории даже, и я бы не учил шейдеры и рендер разработку практически методом тыка. Но человеческая жадность и лень скорее приведут к тому, что люди не учась просто будут говорить "работает же".
#новости #мнение
🔥17
Задачка - Математика для шейдеров
Вы хотите нарисовать круг в шейдере. У вас есть UV координаты (0,0 в углу, 1,1 в противоположном). Центр круга в (0.5, 0.5), радиус 0.3.
Напишите формулу (одну строку HLSL) которая вернёт 1.0 внутри круга и 0.0 снаружи.
Ответ завтра :) И давайте наберем сюда🔥
#разминка #шейдеры #математика
Вы хотите нарисовать круг в шейдере. У вас есть UV координаты (0,0 в углу, 1,1 в противоположном). Центр круга в (0.5, 0.5), радиус 0.3.
Напишите формулу (одну строку HLSL) которая вернёт 1.0 внутри круга и 0.0 снаружи.
Ответ завтра :) И давайте наберем сюда
#разминка #шейдеры #математика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29
Ответ - Математика для шейдеров
length(uv - 0.5) — расстояние от текущего пикселя до центра. s
tep(a, b) возвращает 1 если b >= a, и 0 если b < a.
Значит step(length(...), 0.3) вернёт 1 когда 0.3 >= distance — то есть внутри круга. Именно то что нужно.
Альтернативная запись которая читается интуитивнее:
Здесь step(0.3, length(...)) = 1 снаружи, инвертируем — получаем 1 внутри. Оба варианта правильные, первый короче.
Порядок аргументов step — самая частая ошибка в шейдерах. Буквально каждый раз приходится останавливаться и думать 🙂 Решение не единственное, но это довольно компактное.
#разминка #шейдеры #математика
float circle = step(length(uv - 0.5), 0.3);length(uv - 0.5) — расстояние от текущего пикселя до центра. s
tep(a, b) возвращает 1 если b >= a, и 0 если b < a.
Значит step(length(...), 0.3) вернёт 1 когда 0.3 >= distance — то есть внутри круга. Именно то что нужно.
Альтернативная запись которая читается интуитивнее:
float circle = 1.0 - step(0.3, length(uv - 0.5));Здесь step(0.3, length(...)) = 1 снаружи, инвертируем — получаем 1 внутри. Оба варианта правильные, первый короче.
Порядок аргументов step — самая частая ошибка в шейдерах. Буквально каждый раз приходится останавливаться и думать 🙂 Решение не единственное, но это довольно компактное.
#разминка #шейдеры #математика
🔥10 2
This media is not supported in your browser
VIEW IN TELEGRAM
Красивое стекло в Unity
https://www.reddit.com/r/Unity3D/comments/1rli0mu/working_on_a_glass_shader_with_beautiful_and_fast/
Шейдер стекла от MirzaBeig. Автор работает над хроматической дисперсией. Что мне нравится — можно потыкать прямо в браузере.
Отдельно интересно что автор выложил весь R&D публично, включая то как делать быстрые realtime-блюры. Это редкость. Почитать стоит независимо от того нужен ли вам именно шейдер стекла.
#новости
https://www.reddit.com/r/Unity3D/comments/1rli0mu/working_on_a_glass_shader_with_beautiful_and_fast/
Шейдер стекла от MirzaBeig. Автор работает над хроматической дисперсией. Что мне нравится — можно потыкать прямо в браузере.
Отдельно интересно что автор выложил весь R&D публично, включая то как делать быстрые realtime-блюры. Это редкость. Почитать стоит независимо от того нужен ли вам именно шейдер стекла.
#новости
🔥11
Опиши свою логику правки Х
Ковряю ии агентов и по сути самым полезным для меня читать как он думает. Спойлер далеко не всегда верно. На самом деле если понаблюдать как нейросеть решает задачу это похоже на логику программиста. Но сложно объяснить сколько мелкого контекста в работе мы держим в голове.
Мне нужно было поправить один довольно мелкий баг. И обычным текстом нейросеть не справилась. Но зато когда я сказал ей объяснить "а чё ты вообще делаешь и как по твоему работает код - объясни", то условно поняв ход рассуждений я его скореектировал и правка внесена. Прям как работа с джуном на самом деле. Вроде мысли то есть, и логика присутствует, просто из-за того что задача многофакторная, проект не самый простой и так далее - мысли не верные. Но если дать "подсказку", то уже дальше она как-то догадается.
Недавно в одном рилсе услышал хорошую фразу. Все ИИ агенты это по сути не инструменты разработки, а инструменты кодогенерации. И именно поэтому для сеньора+ это просто нереально острая катана, которой он может красиво управлять. А менеджер с такой катаной зарежет и соседей и самого себя.
#мнение
Ковряю ии агентов и по сути самым полезным для меня читать как он думает. Спойлер далеко не всегда верно. На самом деле если понаблюдать как нейросеть решает задачу это похоже на логику программиста. Но сложно объяснить сколько мелкого контекста в работе мы держим в голове.
Мне нужно было поправить один довольно мелкий баг. И обычным текстом нейросеть не справилась. Но зато когда я сказал ей объяснить "а чё ты вообще делаешь и как по твоему работает код - объясни", то условно поняв ход рассуждений я его скореектировал и правка внесена. Прям как работа с джуном на самом деле. Вроде мысли то есть, и логика присутствует, просто из-за того что задача многофакторная, проект не самый простой и так далее - мысли не верные. Но если дать "подсказку", то уже дальше она как-то догадается.
Недавно в одном рилсе услышал хорошую фразу. Все ИИ агенты это по сути не инструменты разработки, а инструменты кодогенерации. И именно поэтому для сеньора+ это просто нереально острая катана, которой он может красиво управлять. А менеджер с такой катаной зарежет и соседей и самого себя.
#мнение
🔥18
Про цифры в игровой индустрии: Деньги, которые вы тратите ещё до первой строчки кода
Продолжаю серию. В прошлых постах разбирали куда деваются деньги с продаж и почему ваше время не бесплатное. Сегодня про деньги, которые утекают ещё до того как проект начат — на найме.
Допустим вы студия. Нашли хорошего технического художника. Он живёт в другой стране. И тут начинается.
Юридическая консультация чтобы правильно оформить договор с иностранным подрядчиком — от 5 000 до 20 000 рублей. Одной. А договоров у вас не один.
Банковские переводы: SWIFT в среднем стоит 30–50$. Плюс конвертация по невыгодному курсу, как разбирали в прошлом посте. На команду из 5 человек — это ещё 150–250$ в месяц просто за факт перевода денег.
Передача прав: и это отдельная история. Без правильно оформленных документов о передаче имущественных и авторских прав — юридически они остаются у фрилансера. Не у студии. Это не очевидно, но именно так работает законодательство. И это не только про иностранцев — судов с фрилансерами по правам на результат работы даже внутри РФ было достаточно. Причём фрилансерам стоит это знать в свою пользу: если договора нет или он составлен криво — права на вашу работу остаются у вас.
Итого скрытый overhead на одного иностранного подрядчика в год: грубо 1 000–2 000$ просто на административку. Для команды в 5–7 человек — 5 000–14 000$ в год только за то, чтобы людям платить.
И это не только инди-история. В средних студиях та же проблема, просто масштаб больше и цена ошибки выше.
Есть разные сервисы которые берут этот кусок на себя — например Arbonum: договоры, выплаты, передача прав. По сути превращает скрытый overhead в понятную строчку бюджета.
Если набираем 70 🔥 — следующий пост про то как считать реальную стоимость разработчика с учётом всех накладных. Там тоже есть неочевидные цифры. Или как я в первый раз разорилися.
#мысли #бизнес #цифры
Продолжаю серию. В прошлых постах разбирали куда деваются деньги с продаж и почему ваше время не бесплатное. Сегодня про деньги, которые утекают ещё до того как проект начат — на найме.
Допустим вы студия. Нашли хорошего технического художника. Он живёт в другой стране. И тут начинается.
Юридическая консультация чтобы правильно оформить договор с иностранным подрядчиком — от 5 000 до 20 000 рублей. Одной. А договоров у вас не один.
Банковские переводы: SWIFT в среднем стоит 30–50$. Плюс конвертация по невыгодному курсу, как разбирали в прошлом посте. На команду из 5 человек — это ещё 150–250$ в месяц просто за факт перевода денег.
Передача прав: и это отдельная история. Без правильно оформленных документов о передаче имущественных и авторских прав — юридически они остаются у фрилансера. Не у студии. Это не очевидно, но именно так работает законодательство. И это не только про иностранцев — судов с фрилансерами по правам на результат работы даже внутри РФ было достаточно. Причём фрилансерам стоит это знать в свою пользу: если договора нет или он составлен криво — права на вашу работу остаются у вас.
Итого скрытый overhead на одного иностранного подрядчика в год: грубо 1 000–2 000$ просто на административку. Для команды в 5–7 человек — 5 000–14 000$ в год только за то, чтобы людям платить.
И это не только инди-история. В средних студиях та же проблема, просто масштаб больше и цена ошибки выше.
Есть разные сервисы которые берут этот кусок на себя — например Arbonum: договоры, выплаты, передача прав. По сути превращает скрытый overhead в понятную строчку бюджета.
Если набираем 70 🔥 — следующий пост про то как считать реальную стоимость разработчика с учётом всех накладных. Там тоже есть неочевидные цифры. Или как я в первый раз разорилися.
#мысли #бизнес #цифры
🔥51😁1
Питон знать конечно теперь ещё важнее
Я всегда продвигал идею о том что Python нужно знать всем. Не на продакшен уровне понимания языка, а чтобы уметь написать простой скрипт, запустить его и чет в нем отредачить. И сейчас этот навык как никогда полезен кстати. И вот почему.
Я продолжаю ковырять Claude и как же он медленно думает над какими-то простыми вопросами на самом деле. Многие "повторяющиеся" операции, которые можно автоматизировать скриптами (особенно в контексте Unity), он не автоматизирует, а будто решает заново. И тут нам на помощь приходит питон. Чтобы не ждать пока Claude почешет репу, всегда для задач у которых есть какое-то периодическое применение просишь его "а выгрузи мне python скрипт" который делает задачу. А не описание самой задачи.
Пока по моему наблюдение конечно он не умеет главное что хотелось бы автоматизировать и будто бы можно - это верстать в Unity. Но может просто я не разобрался как. Так как пытался я дважды в мелких задачках им верстать и собирал он какую-то чушь, даже когда ему подробно объяснишь что от него хочется.
#мысли
Я всегда продвигал идею о том что Python нужно знать всем. Не на продакшен уровне понимания языка, а чтобы уметь написать простой скрипт, запустить его и чет в нем отредачить. И сейчас этот навык как никогда полезен кстати. И вот почему.
Я продолжаю ковырять Claude и как же он медленно думает над какими-то простыми вопросами на самом деле. Многие "повторяющиеся" операции, которые можно автоматизировать скриптами (особенно в контексте Unity), он не автоматизирует, а будто решает заново. И тут нам на помощь приходит питон. Чтобы не ждать пока Claude почешет репу, всегда для задач у которых есть какое-то периодическое применение просишь его "а выгрузи мне python скрипт" который делает задачу. А не описание самой задачи.
Пока по моему наблюдение конечно он не умеет главное что хотелось бы автоматизировать и будто бы можно - это верстать в Unity. Но может просто я не разобрался как. Так как пытался я дважды в мелких задачках им верстать и собирал он какую-то чушь, даже когда ему подробно объяснишь что от него хочется.
#мысли
🔥4🤷♂1❤🔥1
ИИ не заберёт вашу работу. Но кое-что изменит
Как технический продюсер я нанимаю беру людей на проекты. И за последний год что-то сдвинулось.
Раньше джун это был человек которому надо объяснять синтаксис, ждать пока разберётся с документацией, принимать код который надо переписывать. Сейчас джун с Cursor или Copilot закрывает задачи которые раньше требовали мидла. Это не значит что он стал мидлом — он не понимает почему код работает. Но задача закрыта.
Для студий это значит одно: спрос на джунов падает. Зачем брать человека на обучение если ИИ делает ту же механику за час?
Но вот что интересно. Спрос на людей которые умеют правильно поставить задачу — вырос. Архитектурное решение, код ревью, понимание почему вот это решение сломается через месяц, вопросов безопасности — это то что ИИ пока не закрывает. Потому что для этого нужен контекст всего проекта, а не одного файла. Но даже когда он начнёт грузить проект целиком, многие недооценивают сколько неочевидного контекста разработчик держит просто в голове.
Парадокс в том что ИИ сделал дешёвыми именно те навыки за которые джуны конкурировали. И одновременно сделал дороже то за что конкурировали сеньоры. Рост сеньоров станет медленнее, так как будет целая тонна код манки. Бизнес за этим погонится так же, как и он гонится обычно. Сколько "прототипов на выкинуть" стали развивать в продашкен решения потому что сроки горят и нужно срочно запускаться.
Так что если вы только начинаете — учитесь не писать код, а понимать системы. ИИ напишет. Вопрос в том кто будет решать что писать и что написано хорошо.
#мнение #карьера #геймдев
Как технический продюсер я нанимаю беру людей на проекты. И за последний год что-то сдвинулось.
Раньше джун это был человек которому надо объяснять синтаксис, ждать пока разберётся с документацией, принимать код который надо переписывать. Сейчас джун с Cursor или Copilot закрывает задачи которые раньше требовали мидла. Это не значит что он стал мидлом — он не понимает почему код работает. Но задача закрыта.
Для студий это значит одно: спрос на джунов падает. Зачем брать человека на обучение если ИИ делает ту же механику за час?
Но вот что интересно. Спрос на людей которые умеют правильно поставить задачу — вырос. Архитектурное решение, код ревью, понимание почему вот это решение сломается через месяц, вопросов безопасности — это то что ИИ пока не закрывает. Потому что для этого нужен контекст всего проекта, а не одного файла. Но даже когда он начнёт грузить проект целиком, многие недооценивают сколько неочевидного контекста разработчик держит просто в голове.
Парадокс в том что ИИ сделал дешёвыми именно те навыки за которые джуны конкурировали. И одновременно сделал дороже то за что конкурировали сеньоры. Рост сеньоров станет медленнее, так как будет целая тонна код манки. Бизнес за этим погонится так же, как и он гонится обычно. Сколько "прототипов на выкинуть" стали развивать в продашкен решения потому что сроки горят и нужно срочно запускаться.
Так что если вы только начинаете — учитесь не писать код, а понимать системы. ИИ напишет. Вопрос в том кто будет решать что писать и что написано хорошо.
#мнение #карьера #геймдев
🔥10😁3
Задачка: что не так с этим кодом?
Пойдём дальше по каким-то типичным базовым задачкам. В целом этот вопрос хоть и простой, но довольно неплохая проверка на опытность.
Код работает, враг двигается. Но есть проблема которая проявится на разных устройствах. Какая?
Варианты:
а) transform.position нельзя менять напрямую - 🤷♂️
б) Ошибка в формуле - 🤷♀️
в) Нужен Rigidbody для движения - 🤷
#задачка #unity
Пойдём дальше по каким-то типичным базовым задачкам. В целом этот вопрос хоть и простой, но довольно неплохая проверка на опытность.
void Update()
{
transform.position += Vector3.forward * speed;
}
Код работает, враг двигается. Но есть проблема которая проявится на разных устройствах. Какая?
Варианты:
а) transform.position нельзя менять напрямую - 🤷♂️
б) Ошибка в формуле - 🤷♀️
в) Нужен Rigidbody для движения - 🤷
#задачка #unity
🤷♀46🤷♂6🤷2
Ответ: нет Time.deltaTime
Как многие правильно ответили. Без deltaTime объект двигается на
deltaTime — время прошедшее с прошлого кадра. Умножая на него, получаем движение в единицах за секунду, независимо от fps.
Этот баг был даже в игре по франшизе. Woody Woodpecker: Escape from Buzz Buzzard Park — на слабом компьютере игра работала нормально, а на новом Вуди носился по экрану со скоростью света. Разработчики привязали скорость к кадрам, и чем быстрее железо — тем быстрее персонаж. Классика.
Тут можно ещё в режиме прохождения собеседования докопаться до третьего варианта. Так как главный верный ответ дельта тайм, как почти все и ответили. Но самый верный подход на собесе, когда разобрались с таймом, вопрос "а на объекте есть коллайдер? Если да, то нужен rigidbody, а с перемещением Rigidbody лучше работать в методах RigidBody, чтобы физика работала корректно". Не обязательно, но плюсик в карму об этом подумать. Задача на собеседовании показать максимум того что вы знаете.
#задачка #unity
Как многие правильно ответили. Без deltaTime объект двигается на
speed единиц каждый кадр. На 30fps — 30 единиц в секунду. На 144fps — 144 единицы в секунду. Скорость зависит от fps.
// Правильно:
transform.position += Vector3.forward * speed * Time.deltaTime;
deltaTime — время прошедшее с прошлого кадра. Умножая на него, получаем движение в единицах за секунду, независимо от fps.
Этот баг был даже в игре по франшизе. Woody Woodpecker: Escape from Buzz Buzzard Park — на слабом компьютере игра работала нормально, а на новом Вуди носился по экрану со скоростью света. Разработчики привязали скорость к кадрам, и чем быстрее железо — тем быстрее персонаж. Классика.
Тут можно ещё в режиме прохождения собеседования докопаться до третьего варианта. Так как главный верный ответ дельта тайм, как почти все и ответили. Но самый верный подход на собесе, когда разобрались с таймом, вопрос "а на объекте есть коллайдер? Если да, то нужен rigidbody, а с перемещением Rigidbody лучше работать в методах RigidBody, чтобы физика работала корректно". Не обязательно, но плюсик в карму об этом подумать. Задача на собеседовании показать максимум того что вы знаете.
#задачка #unity
❤🔥8🔥4
Пи-день 🥧
Каждый год 14 марта (3.14) математики и программисты по всему миру отмечают день числа π. Традиция началась в 1988 году в музее науки Сан-Франциско — физик Ларри Шоу устроил парад вокруг круглого стола и угощал всех пирогами. Сейчас это неофициальный праздник всех кто любит числа.
Задачка в честь дня: как вычислить π не зная никаких формул — только с помощью случайных точек?
Берём квадрат 2×2. Вписываем в него круг радиуса 1. Бросаем случайные точки. Считаем сколько попало внутрь круга. Отношение попавших к общему числу точек стремится к π/4. Умножаем на 4 — получаем π.
Почему это работает: площадь круга = π·r², площадь квадрата = 4·r². При r=1 отношение = π/4. Случайные точки распределяются равномерно, значит их соотношение повторяет соотношение площадей.
При 1 000 сэмплов получаем ~3.1х. При миллионе — ~3.141х. Сходится медленно, зато наглядно.
Это метод Монте-Карло. Именно он лежит в основе глобального освещения в path tracing — каждый световой луч это случайная выборка, накапливаете достаточно и получаете физически корректную картинку.
С праздником, 3.14 🎉
#математика #шейдеры
Каждый год 14 марта (3.14) математики и программисты по всему миру отмечают день числа π. Традиция началась в 1988 году в музее науки Сан-Франциско — физик Ларри Шоу устроил парад вокруг круглого стола и угощал всех пирогами. Сейчас это неофициальный праздник всех кто любит числа.
Задачка в честь дня: как вычислить π не зная никаких формул — только с помощью случайных точек?
Берём квадрат 2×2. Вписываем в него круг радиуса 1. Бросаем случайные точки. Считаем сколько попало внутрь круга. Отношение попавших к общему числу точек стремится к π/4. Умножаем на 4 — получаем π.
float EstimatePI(int samples)
{
int inside = 0;
for (int i = 0; i < samples; i++)
{
float x = Random.Range(-1f, 1f);
float y = Random.Range(-1f, 1f);
if (x * x + y * y <= 1f) inside++;
}
return 4f * inside / samples;
}
Почему это работает: площадь круга = π·r², площадь квадрата = 4·r². При r=1 отношение = π/4. Случайные точки распределяются равномерно, значит их соотношение повторяет соотношение площадей.
При 1 000 сэмплов получаем ~3.1х. При миллионе — ~3.141х. Сходится медленно, зато наглядно.
Это метод Монте-Карло. Именно он лежит в основе глобального освещения в path tracing — каждый световой луч это случайная выборка, накапливаете достаточно и получаете физически корректную картинку.
С праздником, 3.14 🎉
#математика #шейдеры
🔥26
Path tracing в URP
https://github.com/Kuan-Mi/UnityPathTracing
Нашёл интересный репозиторий — реализация real-time path tracing в Unity URP. Не просто "пустили лучи", а полноценный стек: DXR-пайплайн, шумоподавление от NVIDIA (REBLUR, SIGMA), DLSS Ray Reconstruction, SHARC для кэширования радианса. И всё это работает с динамическими сценами включая скиненные меши.
Что меня зацепило — поддержка VR режима. Path tracing в VR это отдельный круг ада с точки зрения производительности, и то что кто-то это вообще пробует — уже интересно.
В планах у автора ReSTIR DI и объёмное освещение.
#интересное #unity #шейдеры #рендеринг
https://github.com/Kuan-Mi/UnityPathTracing
Нашёл интересный репозиторий — реализация real-time path tracing в Unity URP. Не просто "пустили лучи", а полноценный стек: DXR-пайплайн, шумоподавление от NVIDIA (REBLUR, SIGMA), DLSS Ray Reconstruction, SHARC для кэширования радианса. И всё это работает с динамическими сценами включая скиненные меши.
Что меня зацепило — поддержка VR режима. Path tracing в VR это отдельный круг ада с точки зрения производительности, и то что кто-то это вообще пробует — уже интересно.
В планах у автора ReSTIR DI и объёмное освещение.
#интересное #unity #шейдеры #рендеринг
❤🔥9🔥4