ProfilerMarker и ProfilerRecorder: профилирование из кода в Unity
Размечаем свои системы маркерами, читаем время кадра, GC-аллокации и draw calls из C#, собираем внутриигровой оверлей и закрепляем результат тестами производительности.
Полезные материалы про Unity ассеты, пайплайны и разработку игр.
Размечаем свои системы маркерами, читаем время кадра, GC-аллокации и draw calls из C#, собираем внутриигровой оверлей и закрепляем результат тестами производительности.
Почему Lerp с Time.deltaTime ведёт себя по-разному при разном FPS, как устроен Mathf.SmoothDamp и как написать свою устойчивую пружину для камеры, UI и процедурной анимации.
Где в Unity-проекте на самом деле утекают пароли и токены и как собрать релиз без ручного ввода ключей. Загрузчик .env, подпись Android, CI на GitHub Actions, проверка билда на утечки и план действий, если ключ уже в истории git.
Почему один и тот же мод для Unity пишется за вечер в Mono-игре и за выходные в IL2CPP-игре. Разбираем загрузчики, Harmony, вырезание кода, обёртки Il2CppInterop и что из этого следует для разработчика.
Как работать с кусками массивов, строк и временными буферами в Unity без выделений в куче: Span<T>, stackalloc, ref struct, MemoryMarshal, мост к NativeArray и бенчмарк с замером байтов.
Глубокий технический разбор механизма fake null в Unity. Объясняем разницу между == null и is null, поведение операторов ?. и ??, а также влияние на производительность.
Spatial Hash ускоряет поиск ближайших объектов там, где Physics.OverlapSphere и полный перебор начинают съедать кадр. Разбираем хэш-сетку, вставку, запрос по радиусу и бенчмарк на C#.
Flow Field решает задачу массового наведения толпы там, где A* начинает тормозить и распухать по памяти. Разбираем поле стоимостей, интеграционное поле и векторное поле, а также их практическую реализацию в Unity.
Разбираем GOAP в Unity как практический подход к поведению NPC: факты о мире, цели, поиск плана и перепланирование без хрупких деревьев состояний. Показаны архитектура, код на C# и типичные ошибки внедрения.
Страница 2 из 12