Ого, что это тут у нас? Неплохая техническая статья про C# Job System, Burst compiler и BatchRendererGroup в блоге Unity?
#unity
#unity
Unity
BatchRendererGroup sample: Achieve high frame rate even on budget devices
Achieve a high frame rate on a budget phone using GLES 3.0 with BatchRendererGroup, C# Job System, and the Burst compiler.
Явно все уже в курсе, что Джон Ричителло покинул пост главы Unity. На фоне скандала вокруг смены лицензирования ожидаемый ход. Но, что удивило, вижу мнение, даже среди людей из индустрии, что это приведёт к каким-то (позитивным) изменениям. Смею вас расстроить — ничего не изменится. Ричителло просто стал козлом отпущения.
И отдельно отмечу, что смена главы ни на что не повлияет не только потому что на его место придёт такой же корпорат, но и, в основном, потому что роль чисто номинальная. Всем рулит совет директоров, а люди там специфичные. К тому же, финансовая дыра в области ̶п̶а̶х̶ движка никуда не делась, компании всё ещё надо этот вопрос решить.
#unity #скандалы
И отдельно отмечу, что смена главы ни на что не повлияет не только потому что на его место придёт такой же корпорат, но и, в основном, потому что роль чисто номинальная. Всем рулит совет директоров, а люди там специфичные. К тому же, финансовая дыра в области ̶п̶а̶х̶ движка никуда не делась, компании всё ещё надо этот вопрос решить.
#unity #скандалы
В курсе, думаю, про Cities: Skylines 2 и печальную производительность. Хорошая статейка с разбором. Основной момент связан с тем, что такие игры обычно сжирают много CPU, но Cities: Skylines 2 почему-то очень грузит GPU.
А причины две:
1. Слишком много ненужной геометрии. Про это уже кучу мемасиков сделали.
2. Использование DOTS+HDRP (да, игра на Юнити, кто не знал).
Многие проблемы бы решили LOD'ы и дефолтная culling система, вот только...Colossal Order запилили собственную не очень оптимальную реализацию кулинга. А это, в свою очередь, было вызвано тем, что им пришлось пилить много чего самим на стороне рендера, т. к, внезапно, у Unity всё ещё не всё гладко с интеграцией DOTS и HDRP (кек).
Как автор статьи заключает: разрабы, скорей всего, начали пилить на экспериментальной версии DOTS, чтоб не упереться в CPU, что в итоге привело к тому, что игра упёрлась в GPU.
Реализация виртуальных текстур в игре тоже своя, кстати, т. к. Юнитишная в бете.
#unity #DOTS
А причины две:
1. Слишком много ненужной геометрии. Про это уже кучу мемасиков сделали.
2. Использование DOTS+HDRP (да, игра на Юнити, кто не знал).
Многие проблемы бы решили LOD'ы и дефолтная culling система, вот только...Colossal Order запилили собственную не очень оптимальную реализацию кулинга. А это, в свою очередь, было вызвано тем, что им пришлось пилить много чего самим на стороне рендера, т. к, внезапно, у Unity всё ещё не всё гладко с интеграцией DOTS и HDRP (кек).
Как автор статьи заключает: разрабы, скорей всего, начали пилить на экспериментальной версии DOTS, чтоб не упереться в CPU, что в итоге привело к тому, что игра упёрлась в GPU.
Реализация виртуальных текстур в игре тоже своя, кстати, т. к. Юнитишная в бете.
#unity #DOTS
За неделю много всяких новостей по Unity появилось. Поэтому одним постом опубликую.
- Юнитишная команда, занимающаяся Shader Graph, объявила о выпуске новых сэмпловых проектов, доступных для 2021 LTS, 2022 LTS и будущих релизов. В коллекции более 140 Shader Graph.
- Релиз Unity 2023.2 Tech Stream. Улучшения по части графики, Shader Graph для UGUI, поддержка Meta Quest 3, новые AR, VR, MR шаблоны, улучшения по части UI Toolkit и рантайм биндингов, новый модуль Highlights module для профайлинга. И много другого.
- Возврат к корням: следующая версия движка с новыми ИИ-инструментами будет Unity 6. Разработчики получат ранний доступ к инструментам на базе ИИ: Unity Muse и Unity Sentis. Дадут потыкать WebGPU и Unity Cloud для работы в команде.
- Бетка Unity Asset Manager. Все ассеты в одном месте, с просмотрщиком, для удобной работы в команде. Unity Industry subscription включает 120 гиг на место.
#unity
- Юнитишная команда, занимающаяся Shader Graph, объявила о выпуске новых сэмпловых проектов, доступных для 2021 LTS, 2022 LTS и будущих релизов. В коллекции более 140 Shader Graph.
- Релиз Unity 2023.2 Tech Stream. Улучшения по части графики, Shader Graph для UGUI, поддержка Meta Quest 3, новые AR, VR, MR шаблоны, улучшения по части UI Toolkit и рантайм биндингов, новый модуль Highlights module для профайлинга. И много другого.
- Возврат к корням: следующая версия движка с новыми ИИ-инструментами будет Unity 6. Разработчики получат ранний доступ к инструментам на базе ИИ: Unity Muse и Unity Sentis. Дадут потыкать WebGPU и Unity Cloud для работы в команде.
- Бетка Unity Asset Manager. Все ассеты в одном месте, с просмотрщиком, для удобной работы в команде. Unity Industry subscription включает 120 гиг на место.
#unity
Forwarded from Заметки безработного Апанасика (Andrei Apanasik (Balancy))
Трудовые будни с Unity. В WebGL билде
Но если
Обсуждение на форуме.
#unity
UnityWebRequest
посылал порой закарапченный json. Почему? Фиг его знает. Я оборачивал вызов UploadHandlerRaw
в using
, чтобы у меня не было ошибок к редакторе об утечках памяти (нет, ручной Dispose
не помогал).Но если
UploadHandlerRaw
создавать ручками и ручками диспоузить, то в WebGL всё норм. Правда, в редакторе ругается на лики. В итоге пришлось в if/else заворачивать и чекать платформу в рантайме 🙈// for WebGL have to create and clean it manually, 'cause otherwise data will be corrupted
if (Application.platform == RuntimePlatform.WebGLPlayer)
{
uh = new UploadHandlerRaw(body);
request.uploadHandler?.Dispose();
request.uploadHandler = uh;
}
else
{
// looks like Unity internally creates handler,
// so we need to clear this shit to prevent memory leaks 🤦♂️
// https://forum.unity.com/threads/a-native-collection-has-not-been-disposed-resulting-in-a-memory-leak.1136068/
using (var uh2 = new UploadHandlerRaw(body))
{
request.uploadHandler?.Dispose();
request.uploadHandler = uh2;
}
}
Обсуждение на форуме.
#unity
Годная статья про рендеринг облака точек в Unity с использованием кастомного рендер пайплайна. В статье есть ссылочки на различные пейперы по теме:
- Rendering Point Clouds with Compute Shaders and Vertex Order Optimization
- Real-time Rendering of Massive Unstructured Raw Point Clouds using Screen-space Operators
- Real-Time Continuous Level of Detail Rendering of Point Clouds
- Software Rasterization of 2 Billion Points in Real Time
#unity
- Rendering Point Clouds with Compute Shaders and Vertex Order Optimization
- Real-time Rendering of Massive Unstructured Raw Point Clouds using Screen-space Operators
- Real-Time Continuous Level of Detail Rendering of Point Clouds
- Software Rasterization of 2 Billion Points in Real Time
#unity
Magnopus
How We Render Extremely Large Point Clouds — Magnopus
Explore state-of-the-art point cloud rendering techniques and show how we built our custom compute-based render pipeline.
Please open Telegram to view this post
VIEW IN TELEGRAM
Не первый такой твит от бывших сотрудников Unity (Майк в Юнити много лет проработал как тех. дир), мол «компания разваливается на части». Кейсы, которые раньше закрывались за дни, сейчас резолвятся за месяцы.
Учитывая слухи про то, что в Q1 2024 будет новая волна увольнений, что-то как-то и правда насторожено отношусь ко всей этой теме вокруг будущего движка.
#unity
Учитывая слухи про то, что в Q1 2024 будет новая волна увольнений, что-то как-то и правда насторожено отношусь ко всей этой теме вокруг будущего движка.
#unity
Интересная ретроспектива от Араса, который в Unity проработал 16 лет. Моментики:
- В 2005 не смог пройти в NVIDIA, Lionhead, DICE, Rockstar, Epic Games. Чуть позже с ним связалась «неизвестная компания» для работы над новым движком.
- Первые порт на другую платформу был на Nintendo Wii в 2007.
- В 2008 начали порт редактора на Винду, до этого работало только на Маках.
- Весной 2009 выпустили Unity 2.5 с Windows Editor.
- В 2011 в Flash добавили 3d. В Unity на этой теме решили добавить Флеш как платформу, что означало конвертацию C# в ActionScript.
- Позже опыт C# -> ActionScript помог в работе над IL2CPP: C# -> C++.
- В 2019 создали небольшую Quality of Life команду, которая целыми днями занималась улучшением небольших аспектов движка.
#unity
- В 2005 не смог пройти в NVIDIA, Lionhead, DICE, Rockstar, Epic Games. Чуть позже с ним связалась «неизвестная компания» для работы над новым движком.
- Первые порт на другую платформу был на Nintendo Wii в 2007.
- В 2008 начали порт редактора на Винду, до этого работало только на Маках.
- Весной 2009 выпустили Unity 2.5 с Windows Editor.
- В 2011 в Flash добавили 3d. В Unity на этой теме решили добавить Флеш как платформу, что означало конвертацию C# в ActionScript.
- Позже опыт C# -> ActionScript помог в работе над IL2CPP: C# -> C++.
- В 2019 создали небольшую Quality of Life команду, которая целыми днями занималась улучшением небольших аспектов движка.
#unity
Что ж. Unity продолжают резать штат.
О чём и говорил в прошлый раз. 1800 человек на улицу. Ждём следующей волны.
#unity
О чём и говорил в прошлый раз. 1800 человек на улицу. Ждём следующей волны.
#unity
Yahoo Tech
Exclusive-Unity Software to cut 25% of staff in ‘company reset’ continuation
(Reuters) -Videogame software provider Unity Software will target laying off approximately 25% of its workforce, or 1,800 jobs, the company said in a regulatory filing and internal company memo on Monday. While Unity is not widely recognized outside the gaming…
Памятка на будущее при работе с Unity/C#: самому всегда явно приводить enum'ы к нужному типу при отправке запросов, да и в целом.
Столкнулся с тем, что у меня на машине всё работает, а у другого человека в другом проекте нет.
Оказалось, что в том проекте переопределены глобально настройки JsonNET, и оно enum'ы как строки сериализует, а бекенд принимает enum'ы как числа.
Что-то типа:
Лучше перебдеть и везде типизировать всё по максимуму и приводить к нужным типам.
#unity
Столкнулся с тем, что у меня на машине всё работает, а у другого человека в другом проекте нет.
Оказалось, что в том проекте переопределены глобально настройки JsonNET, и оно enum'ы как строки сериализует, а бекенд принимает enum'ы как числа.
Что-то типа:
settings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
Лучше перебдеть и везде типизировать всё по максимуму и приводить к нужным типам.
#unity
Unity опенсорснула Unity Blackmagic package. Либа позволяет использовать карты видеозахвата от Blackmagic Design для ввода и вывода профессионального видео и аудио в редакторе Unity и в рантайме. Само репо.
А чуть ранее опенсорснула Unity Virtual Production tools.
#unity
А чуть ранее опенсорснула Unity Virtual Production tools.
#unity
Хорошие телодвижения у Unity в сторону доступности игр для людей с ограниченными возможностями.
Начиная с Unity 2023.2 Tech Stream и 2023.3 Tech Stream (теперь известной как Unity 6 Beta), разработчики могут преобразовывать свой GUI в данные, которые скрин ридер на мобильных устройствах сможет использовать для навигации и взаимодействия с игрой.
#unity
Начиная с Unity 2023.2 Tech Stream и 2023.3 Tech Stream (теперь известной как Unity 6 Beta), разработчики могут преобразовывать свой GUI в данные, которые скрин ридер на мобильных устройствах сможет использовать для навигации и взаимодействия с игрой.
#unity
Unity
A look at mobile screen reader support in the Unity Engine
Unity game developers can now make mobile games accessible to iOS and Android screen readers with the launch of Mobile Screen Reader support, available from Unity 2023.2 Tech Stream and above. This is the first of many runtime features slated to enhance gamer…
Forwarded from Заметки безработного Апанасика (Andrei Apanasik (Balancy))
This media is not supported in your browser
VIEW IN TELEGRAM
Дописал наконец-то заметку по итогу многих лет работы с Unity с упоминанием смежных новостей и инфоповодов.
Это не пост с целью показать какой Unity плохой движок. Если бы я столько времени проработал с тем же UE, то, думаю, моментиков было бы не меньше. Просто делюсь опытом и интересными (надеюсь) историями из личной практики. А если я сейчас буду опять делать небольшую инди-игру, то, скорей всего, всё ещё выберу Unity.
Если кому-то удобней читать на Хабре, то там тоже опубликовал пост.
#unity #ретроспектива
Это не пост с целью показать какой Unity плохой движок. Если бы я столько времени проработал с тем же UE, то, думаю, моментиков было бы не меньше. Просто делюсь опытом и интересными (надеюсь) историями из личной практики. А если я сейчас буду опять делать небольшую инди-игру, то, скорей всего, всё ещё выберу Unity.
Если кому-то удобней читать на Хабре, то там тоже опубликовал пост.
#unity #ретроспектива
Unity: мы разорвали соглашение с Ветой и уволили несколько сотен сотрудников. За счёт этого доход компании вырос.
No shit, Sherlock.
#unity
No shit, Sherlock.
#unity
Интересный диалог наблюдал между двумя бывшими сотрудниками Unity, которые хорошо известны в узких кругах.
Unity в какой-то момент своей истории всё больше и больше в опенсорс выкладывала куски движка. А потом:
1. По версии Себастьяна эта идея заглохла при выходе на IPO.
2. По версии Араса всё заглохло с началом активной работы над DOTS.
Независимо от причин у нас был шанс получить более доступный движок, у которого, как минимум, какая-то часть была б в опенсорсе, хотя бы в виде кастомизируемых модулей.
#unity
Unity в какой-то момент своей истории всё больше и больше в опенсорс выкладывала куски движка. А потом:
1. По версии Себастьяна эта идея заглохла при выходе на IPO.
2. По версии Араса всё заглохло с началом активной работы над DOTS.
Независимо от причин у нас был шанс получить более доступный движок, у которого, как минимум, какая-то часть была б в опенсорсе, хотя бы в виде кастомизируемых модулей.
#unity
Помните попытки Unity поменять прайсинг и модель лицензирования? Тогда многие, в том числе и Mega Crit, написали, что все следующие игры будут делать на другом движке.
Что ж. Анонсирована Slay the Spire 2. И игра создана с помощью Godot 😎
P.S. про смену лицензии было видео.
#unity #godot #slaythespire
Что ж. Анонсирована Slay the Spire 2. И игра создана с помощью Godot 😎
P.S. про смену лицензии было видео.
#unity #godot #slaythespire
YouTube
Slay the Spire 2 - Reveal Trailer
Civilization has waited 1,000 years for the Spire to reopen its doors...
Return to the Spire and face friends and foes in Slay the Spire 2.
More details to be revealed before launching to Steam Early Access during 2025.
Wishlist on Steam: https://store.…
Return to the Spire and face friends and foes in Slay the Spire 2.
More details to be revealed before launching to Steam Early Access during 2025.
Wishlist on Steam: https://store.…
Так-так-так, вот и превью Unity 6 стало доступно.
- Бустанули перфоманс URP и HDRP. В зависимости от контента нагрузка на CPU «может снизиться на 30–50%».
- GPU Resident Drawer может «оптимизировать CPU frame-time до 50% для GameObjects», когда рендерятся крупные сцены.
- GPU Occlusion Culling улучшили, меньше оверхеда. Spatial-Temporal Post-Processing (STP) в этом плане ещё помочь может.
- Улучшили глобальное освещение и скайбокс за счёт Adaptive Probe Volumes.
- UI Shader Graph'а прокачали.
- Build Profiles завезли. Можно теперь сколько угодно профилей под различные платформы задавать с различными дефайнами и прочим.
- Пишут, что появилась поддержка мобильных Android и iOS браузеров. Используют Emscripten 3.1.38 toolchain с поддержкой WebAssembly 2023 и её плюшками (WASM SIMD, 4GB хипа и другое).
- Экспериментальная поддержка WebGPU.
- По ECS изменения. Поменяли то, как хранятся Entities, их ID теперь глобально уникальны.
- Memory Profiler прокачали. Теперь вместо uncategorized нормальная разбивка по категориям: render textures, compute shaders, и т. д.
- По части сетевых штук много всяких изменений.
#unity
- Бустанули перфоманс URP и HDRP. В зависимости от контента нагрузка на CPU «может снизиться на 30–50%».
- GPU Resident Drawer может «оптимизировать CPU frame-time до 50% для GameObjects», когда рендерятся крупные сцены.
- GPU Occlusion Culling улучшили, меньше оверхеда. Spatial-Temporal Post-Processing (STP) в этом плане ещё помочь может.
- Улучшили глобальное освещение и скайбокс за счёт Adaptive Probe Volumes.
- UI Shader Graph'а прокачали.
- Build Profiles завезли. Можно теперь сколько угодно профилей под различные платформы задавать с различными дефайнами и прочим.
- Пишут, что появилась поддержка мобильных Android и iOS браузеров. Используют Emscripten 3.1.38 toolchain с поддержкой WebAssembly 2023 и её плюшками (WASM SIMD, 4GB хипа и другое).
- Экспериментальная поддержка WebGPU.
- По ECS изменения. Поменяли то, как хранятся Entities, их ID теперь глобально уникальны.
- Memory Profiler прокачали. Теперь вместо uncategorized нормальная разбивка по категориям: render textures, compute shaders, и т. д.
- По части сетевых штук много всяких изменений.
#unity