Normal Mapping в Unity URP: освещение в Tangent Space
Повышение качества 3D-модели в конечном итоге приводит к желанию отобразить и неровности, вмятины и выпуклости объекта.
Воспроизведение этого с помощью геометрии обходится дорого. Мелкие детали, такие как морщины на коже или узор на небольшом предмете, означают увеличение количества полигонов, и, соответственно, возрастают и затраты на рендеринг.
Кроме того, на его создание уходит меньше времени, чем кажется. Объект, построенный из миллионов многоугольников, занимает ту же площадь экрана, что и любой другой, и после его отрисовки большинство этих с трудом созданных многоугольников оказываются меньше одного пикселя.
Таким образом, идея заключается в том, что мелкие детали должны выглядеть правильно — и из этой имитации создается карта нормалей, или карта рельефа, построенная на основе карты нормалей.
Геометрия поверхности никогда не изменяется, поэтому она действительно остается плоской. Она просто отражает свет, создавая впечатление неровности, и именно игра света и тени создает это впечатление.
Повышение качества 3D-модели в конечном итоге приводит к желанию отобразить и неровности, вмятины и выпуклости объекта.
Воспроизведение этого с помощью геометрии обходится дорого. Мелкие детали, такие как морщины на коже или узор на небольшом предмете, означают увеличение количества полигонов, и, соответственно, возрастают и затраты на рендеринг.
Кроме того, на его создание уходит меньше времени, чем кажется. Объект, построенный из миллионов многоугольников, занимает ту же площадь экрана, что и любой другой, и после его отрисовки большинство этих с трудом созданных многоугольников оказываются меньше одного пикселя.
Таким образом, идея заключается в том, что мелкие детали должны выглядеть правильно — и из этой имитации создается карта нормалей, или карта рельефа, построенная на основе карты нормалей.
Геометрия поверхности никогда не изменяется, поэтому она действительно остается плоской. Она просто отражает свет, создавая впечатление неровности, и именно игра света и тени создает это впечатление.
❤5
6000.3.25f1
https://unity.com/releases/editor/whats-new/6000.3.25f1
https://beta.unity3d.com/download/e1dba0a9aba4/download.html
unityhub://6000.3.25f1/e1dba0a9aba4
#releases #tech
https://unity.com/releases/editor/whats-new/6000.3.25f1
https://beta.unity3d.com/download/e1dba0a9aba4/download.html
unityhub://6000.3.25f1/e1dba0a9aba4
#releases #tech
❤2
Превратите пустыню в цветущий уголок на ландшафте Unity.
Карта воды (маска) генерируется из нативного массива Color32 размером 2x2k, который я синхронизирую с графическим процессором по частям (копируются только отредактированные данные, иначе метод Apply() будет слишком долго зависать). Я намеренно избегал вычислительных буферов, чтобы сохранить возможности для портирования на низкопроизводительное или старое оборудование. Маска кодируется в формате RGB, поэтому r — это текущий уровень влажности, g — целевой уровень, а b — скорость изменения. На основе этих данных шейдер может определить состояние анимации.
Самое интересное, что анимация значений происходит в нативном массиве, поэтому моя игра может управлять состоянием влажности и запрашивать его в любое время без задержки со стороны ЦП. Это обеспечивает большую гибкость и отлично работает на огромных ландшафтах (протестировано с разрешением 4x4k, и системе это не мешает).
Карта воды (маска) генерируется из нативного массива Color32 размером 2x2k, который я синхронизирую с графическим процессором по частям (копируются только отредактированные данные, иначе метод Apply() будет слишком долго зависать). Я намеренно избегал вычислительных буферов, чтобы сохранить возможности для портирования на низкопроизводительное или старое оборудование. Маска кодируется в формате RGB, поэтому r — это текущий уровень влажности, g — целевой уровень, а b — скорость изменения. На основе этих данных шейдер может определить состояние анимации.
Самое интересное, что анимация значений происходит в нативном массиве, поэтому моя игра может управлять состоянием влажности и запрашивать его в любое время без задержки со стороны ЦП. Это обеспечивает большую гибкость и отлично работает на огромных ландшафтах (протестировано с разрешением 4x4k, и системе это не мешает).
❤4🔥3
Акции Unity упали на 5% после анонса игровых ИИ-инструментов Meta
Horizon Create — мобильное приложение, которое даёт возможность генерировать игры на телефоне. Horizon Studio предлагает создание через браузер с более детальным управлением. Оба инструмента поддерживают бесшовный перенос проектов между платформами — создатели могут переключаться между мобильной и веб-разработкой без потери прогресса.
Анонс знаменует выход Meta в сферу упрощённой разработки игр, где сейчас работают Unity, Roblox и AppLovin. Unity предоставляет программное обеспечение для разработки игр, Roblox — платформу для пользовательских игр, а AppLovin фокусируется на маркетинге и монетизации мобильных игр.
Horizon Create — мобильное приложение, которое даёт возможность генерировать игры на телефоне. Horizon Studio предлагает создание через браузер с более детальным управлением. Оба инструмента поддерживают бесшовный перенос проектов между платформами — создатели могут переключаться между мобильной и веб-разработкой без потери прогресса.
Анонс знаменует выход Meta в сферу упрощённой разработки игр, где сейчас работают Unity, Roblox и AppLovin. Unity предоставляет программное обеспечение для разработки игр, Roblox — платформу для пользовательских игр, а AppLovin фокусируется на маркетинге и монетизации мобильных игр.
🔥4🤔1
Держи хотпас в холоде, а кеш в тепле
В играх, особенно разных стратегиях, симуляторах и факторингах, потоковая задача прогнать через кеш как можно больше данных остро не стоит, зато вылезают разные latency‑задачи, которым нужно, чтобы данные этих задач из кеша по возможности не выкидывали, а работая в группе по возможности избегать кешканибализма и драки за шину.
В играх, особенно разных стратегиях, симуляторах и факторингах, потоковая задача прогнать через кеш как можно больше данных остро не стоит, зато вылезают разные latency‑задачи, которым нужно, чтобы данные этих задач из кеша по возможности не выкидывали, а работая в группе по возможности избегать кешканибализма и драки за шину.
Два читмода за выходные: Mono против IL2CPP и восемь мест, где ломается моддинг Unity
За выходные я написал два чит-мода: меню для Valheim (Mono, BepInEx) и трейнер для демки Go Next! (IL2CPP, MelonLoader). Задачи почти одинаковые: бессмертие, ресурсы, разблокировка прогресса, оверлей с хоткеями. Код получился настолько разный, что имеет смысл разобрать по пунктам — что именно ломается, когда у игры нет managed-кода.
За выходные я написал два чит-мода: меню для Valheim (Mono, BepInEx) и трейнер для демки Go Next! (IL2CPP, MelonLoader). Задачи почти одинаковые: бессмертие, ресурсы, разблокировка прогресса, оверлей с хоткеями. Код получился настолько разный, что имеет смысл разобрать по пунктам — что именно ломается, когда у игры нет managed-кода.
👍4
Создание уютного песочного замка с акцентом на имитацию воды и песка.
Сама симуляция — вода и песок — полностью создана мной. Я не использовал никаких плагинов, потому что практически ни один из них не подходил под мои нужды. А ещё потому, что мне интересно создавать что-то самостоятельно. Вначале я не знал, как реализовать уравнения для моделирования жидкостей, поэтому мне пришлось искать научные статьи в интернете и пытаться понять, что сейчас в этой области. Я нашёл несколько действительно интересных работ и решил построить свой симулятор на их основе, особенно для воды. Для песка мне пришлось немного поработать над формулой. В игре он тоже считается жидкостью, но с гораздо большей вязкостью и демпфированием, чтобы выглядеть больше похожим на твёрдое тело. Но общие принципы те же.
Сама симуляция — вода и песок — полностью создана мной. Я не использовал никаких плагинов, потому что практически ни один из них не подходил под мои нужды. А ещё потому, что мне интересно создавать что-то самостоятельно. Вначале я не знал, как реализовать уравнения для моделирования жидкостей, поэтому мне пришлось искать научные статьи в интернете и пытаться понять, что сейчас в этой области. Я нашёл несколько действительно интересных работ и решил построить свой симулятор на их основе, особенно для воды. Для песка мне пришлось немного поработать над формулой. В игре он тоже считается жидкостью, но с гораздо большей вязкостью и демпфированием, чтобы выглядеть больше похожим на твёрдое тело. Но общие принципы те же.
🔥9❤2👎1
ruccho/YAUI
Быстрая система пользовательского интерфейса для Unity на основе Flexbox, построенная на GameObjects.
uGUI в Unity работает с префабами, аниматором и инспектором, но работает медленно: сетки перестраиваются и обрабатываются пакетами в основном потоке, группы компоновки ресурсоемки, а пользовательские шейдеры нарушают пакетную обработку. UI Toolkit работает быстро, но он отделен от игровых объектов.
YAUI сохраняет модель создания игровых объектов и отказывается от совместимости с uGUI, чтобы обеспечить производительность современного движка пользовательского интерфейса.
Быстрая система пользовательского интерфейса для Unity на основе Flexbox, построенная на GameObjects.
uGUI в Unity работает с префабами, аниматором и инспектором, но работает медленно: сетки перестраиваются и обрабатываются пакетами в основном потоке, группы компоновки ресурсоемки, а пользовательские шейдеры нарушают пакетную обработку. UI Toolkit работает быстро, но он отделен от игровых объектов.
YAUI сохраняет модель создания игровых объектов и отказывается от совместимости с uGUI, чтобы обеспечить производительность современного движка пользовательского интерфейса.
❤5👎1🤔1
Оптимизация glTF в Unity — 9. Из файла в память.
Одно поверхностное исправление превратилось в два, и ускорило импорт некоторых файлов glTF в редактор более чем на 50%.
Одно поверхностное исправление превратилось в два, и ускорило импорт некоторых файлов glTF в редактор более чем на 50%.
⚡3
Искусственный интеллект ускоряет разработку игр. Но кто делает их интересными?
Прототип игры на Unity, созданный менее чем за 48 часов — с использованием ИИ для написания кода, существующих графических ресурсов и множества недоработок. Джейсон показывает космический отель Джо, от покраски и чистки кораблей до строительства станции, а Эндрю демонстрирует свою карточную игру и Legend of the Stones. Космический отель Джо был создан с помощью Claude; прототип карточной игры Эндрю использует Codex. Мы сравниваем два совершенно разных рабочих процесса с использованием ИИ, показываем, что действительно работает (и что ломается), и обсуждаем, что делает игру стоящей, когда процесс разработки ускоряется. Это реальный разговор о разработке, а не демонстрация готовой игры или пошаговое руководство.
Прототип игры на Unity, созданный менее чем за 48 часов — с использованием ИИ для написания кода, существующих графических ресурсов и множества недоработок. Джейсон показывает космический отель Джо, от покраски и чистки кораблей до строительства станции, а Эндрю демонстрирует свою карточную игру и Legend of the Stones. Космический отель Джо был создан с помощью Claude; прототип карточной игры Эндрю использует Codex. Мы сравниваем два совершенно разных рабочих процесса с использованием ИИ, показываем, что действительно работает (и что ломается), и обсуждаем, что делает игру стоящей, когда процесс разработки ускоряется. Это реальный разговор о разработке, а не демонстрация готовой игры или пошаговое руководство.
YouTube
Claude vs Codex: Two Very Different Ways to Build a Unity Game
Watch next: Chris and I compare how we organize AI agents and review what they build: https://youtu.be/hA4Eg-4nXgc
A Unity game prototype in under 48 hours—with AI writing the code, existing art assets, and plenty of things still to fix. Jason shows Joe's…
A Unity game prototype in under 48 hours—with AI writing the code, existing art assets, and plenty of things still to fix. Jason shows Joe's…
👎7👍4
Шаблоны для многопользовательской игры в Unity
Узнайте, как использовать официальные шаблоны для многопользовательской игры, чтобы создавать готовые к производству игры от первого и третьего лица. Получите доступ к шаблонам в Unity Hub и изучите различные доступные технические архитектуры: от высокопроизводительного шаблона для многопользовательской игры в жанре FPS на основе сетевого кода для объектов до модульного шаблона для многопользовательской игры от третьего лица на основе сетевого кода для игровых объектов.
Узнайте, как использовать официальные шаблоны для многопользовательской игры, чтобы создавать готовые к производству игры от первого и третьего лица. Получите доступ к шаблонам в Unity Hub и изучите различные доступные технические архитектуры: от высокопроизводительного шаблона для многопользовательской игры в жанре FPS на основе сетевого кода для объектов до модульного шаблона для многопользовательской игры от третьего лица на основе сетевого кода для игровых объектов.
YouTube
Multiplayer templates on Unity
Learn how to use the official Multiplayer templates to build produc...
👍5
Как мой шейдер ландшафта создает каждый пиксель моего мира из 14 слоев
Сегодня мы сосредоточимся на том, что происходит дальше: как шейдер берет все эти данные и преобразует их в отдельные пиксели реалистичного, бесшовного ландшафта. И, как оказалось, создание одного такого пикселя может включать до 14 различных слоев. Итак, давайте разберем ландшафт и посмотрим, что входит в каждый пиксель. Хотя объекты, которые вы отображаете поверх ландшафта, также нарушают текстурные узоры, пока давайте оставим только ландшафт и не будем отображать на нем всевозможные объекты, чтобы мы могли четко видеть, что происходит на самом ландшафте. Прежде чем перейти к слоям, несколько слов о базовых сетках. Если для каждого пикселя мы просто выберем квадрат и шестиугольник, на который он попадает, и получим данные о погоде и другие визуальные данные для этого квадрата и шестиугольника, мы четко увидим эти сетки, визуализированные в ландшафте. Например, ясно, что растительный покров определяется для большего шестиугольника, в то время как скалы и края пляжа определяются для меньшего квадрата. Чтобы избавиться от этих сеток, шейдер выполняет два набора билинейных интерполяций для каждого пикселя, чтобы получить взвешенные средние значения для четырех ближайших шестиугольников и четырех ближайших квадратов. Я реализовал ползунок, который показывает, как добавление интерполяции устраняет наиболее резкие края, полностью скрывая сетки. Это отличное начало, так что давайте вернемся к слоям.
Сегодня мы сосредоточимся на том, что происходит дальше: как шейдер берет все эти данные и преобразует их в отдельные пиксели реалистичного, бесшовного ландшафта. И, как оказалось, создание одного такого пикселя может включать до 14 различных слоев. Итак, давайте разберем ландшафт и посмотрим, что входит в каждый пиксель. Хотя объекты, которые вы отображаете поверх ландшафта, также нарушают текстурные узоры, пока давайте оставим только ландшафт и не будем отображать на нем всевозможные объекты, чтобы мы могли четко видеть, что происходит на самом ландшафте. Прежде чем перейти к слоям, несколько слов о базовых сетках. Если для каждого пикселя мы просто выберем квадрат и шестиугольник, на который он попадает, и получим данные о погоде и другие визуальные данные для этого квадрата и шестиугольника, мы четко увидим эти сетки, визуализированные в ландшафте. Например, ясно, что растительный покров определяется для большего шестиугольника, в то время как скалы и края пляжа определяются для меньшего квадрата. Чтобы избавиться от этих сеток, шейдер выполняет два набора билинейных интерполяций для каждого пикселя, чтобы получить взвешенные средние значения для четырех ближайших шестиугольников и четырех ближайших квадратов. Я реализовал ползунок, который показывает, как добавление интерполяции устраняет наиболее резкие края, полностью скрывая сетки. Это отличное начало, так что давайте вернемся к слоям.
YouTube
How My Terrain Shader Builds Up Every Pixel of My World from 14 Layers
This is the story of implementing what I've learned into a gridless, interactive, world-building sandbox game called Minor Deity.
Minor Deity on Steam: https://store.steampowered.com/app/3876240/Minor_Deity/
Minor Deity Discord Server: https://discord.gg/2NEb4HxwhF…
Minor Deity on Steam: https://store.steampowered.com/app/3876240/Minor_Deity/
Minor Deity Discord Server: https://discord.gg/2NEb4HxwhF…
❤2🤯1
Unity анонсировала пакет управления внешними зависимостями.
пакете Unity для обработки нативных зависимостей Android и iOS, распространяемом через Unity Package Manager (UPM). Кроме того, Google объявил о прекращении поддержки EDM4U 26 октября 2026 года. Мы сотрудничаем с Google, чтобы сделать переход гладким как для разработчиков игр, так и для сопровождающих SDK.
Если вы в настоящее время используете External Dependency Manager для Unity (EDM4U), EDM покажется вам знакомым. Он построен на форке EDM4U и интегрирован в Unity как официальный пакет. Он будет активно поддерживаться Unity, с совместимостью движка, обновлениями функций и исправлениями ошибок.
Продолжайте читать, чтобы узнать, что меняется, почему это важно и что это значит для вас. Для технических деталей, часто задаваемых вопросов и полной информации о миграции перейдите к нашему посту в обсуждениях и к нашей официальной документации EDM.
пакете Unity для обработки нативных зависимостей Android и iOS, распространяемом через Unity Package Manager (UPM). Кроме того, Google объявил о прекращении поддержки EDM4U 26 октября 2026 года. Мы сотрудничаем с Google, чтобы сделать переход гладким как для разработчиков игр, так и для сопровождающих SDK.
Если вы в настоящее время используете External Dependency Manager для Unity (EDM4U), EDM покажется вам знакомым. Он построен на форке EDM4U и интегрирован в Unity как официальный пакет. Он будет активно поддерживаться Unity, с совместимостью движка, обновлениями функций и исправлениями ошибок.
Продолжайте читать, чтобы узнать, что меняется, почему это важно и что это значит для вас. Для технических деталей, часто задаваемых вопросов и полной информации о миграции перейдите к нашему посту в обсуждениях и к нашей официальной документации EDM.
❤8
Оцените эту игру в стиле комиксов, в которой используется всего четыре цвета.
Кенджи Ма представил трехмерную экшен-игру, в которой персонаж, держа кисть, разбрызгивает краску по полю боя. В результате получилась крутая трехмерная экшен-игра в стиле комиксов, где персонаж, владеющий гигантской кистью, разбрызгивает чернила по полю боя и сражается со своими врагами. «Нарисуйте персонажа своей кистью, и этот персонаж станет вашим навыком», — объясняет разработчик основную идею игры.
Кенджи Ма представил трехмерную экшен-игру, в которой персонаж, держа кисть, разбрызгивает краску по полю боя. В результате получилась крутая трехмерная экшен-игра в стиле комиксов, где персонаж, владеющий гигантской кистью, разбрызгивает чернила по полю боя и сражается со своими врагами. «Нарисуйте персонажа своей кистью, и этот персонаж станет вашим навыком», — объясняет разработчик основную идею игры.
1👍6👎2
6000.6.4f1
https://unity.com/releases/editor/whats-new/6000.6.4f1
https://beta.unity3d.com/download/12bfff696524/download.html
unityhub://6000.6.4f1/12bfff696524
#releases #supported
https://unity.com/releases/editor/whats-new/6000.6.4f1
https://beta.unity3d.com/download/12bfff696524/download.html
unityhub://6000.6.4f1/12bfff696524
#releases #supported
❤2
AppLovin подала в суд на Unity из-за сбора рекламных данных
https://app2top.ru/news/applovin-podala-v-sud-na-unity-iz-za-sbora-reklamny-h-danny-h-244236.html
Между компаниями AppLovin и Unity разгорелся конфликт.
https://app2top.ru/news/applovin-podala-v-sud-na-unity-iz-za-sbora-reklamny-h-danny-h-244236.html
Между компаниями AppLovin и Unity разгорелся конфликт.
😁6
Официальный плагин Unity для Grok Build
Сегодня мы рады объявить, что официальный плагин Unity доступен для Grok Build, что делает его третьим кодовым агентом, использующим собственное инженерное руководство Unity. Grok Build получает те же 30+ навыков, которые наши инженеры написали для Claude Code и Codex, охватывая UI Toolkit и uGUI, 2D и тайлмапы, URP и Shader Graph, аудио, навигацию и физику, IAP и LevelPlay, Multiplayer, веб и Localization. Мы поддерживаем все три плагина из одного репозитория, поэтому обновления поступают трем агентам. Начать работу можно одной командой в терминале, без необходимости чего-либо настраивать и без необходимости копировать что-либо при переходе на новую машину. Он работает с Unity 6 и выше, а документация охватывает остальное. Мы уже видели некоторые потрясающие примеры того, как люди использовали Grok Build с Unity, и мы надеемся увидеть, что вы сможете сделать дальше!
Сегодня мы рады объявить, что официальный плагин Unity доступен для Grok Build, что делает его третьим кодовым агентом, использующим собственное инженерное руководство Unity. Grok Build получает те же 30+ навыков, которые наши инженеры написали для Claude Code и Codex, охватывая UI Toolkit и uGUI, 2D и тайлмапы, URP и Shader Graph, аудио, навигацию и физику, IAP и LevelPlay, Multiplayer, веб и Localization. Мы поддерживаем все три плагина из одного репозитория, поэтому обновления поступают трем агентам. Начать работу можно одной командой в терминале, без необходимости чего-либо настраивать и без необходимости копировать что-либо при переходе на новую машину. Он работает с Unity 6 и выше, а документация охватывает остальное. Мы уже видели некоторые потрясающие примеры того, как люди использовали Grok Build с Unity, и мы надеемся увидеть, что вы сможете сделать дальше!
👍4😁1