sbox — Обновление 27.05.2026
🔊 Неделя была не такой насыщенной, но посвящена в основном техническому обслуживанию: переработка звуковой системы, оптимизация физики и множество исправлений ошибок.
Оригинал (ссылка)
Steamworks & Steamclient
Мы обновили Steamworks SDK до 1.63 и теперь также поставляем последние бинарные файлы steamclient.
Когда вы запускаете выделенный сервер без локальной установки Steam, Steamworks использует бинарные файлы Steam-клиента, которые мы поставляем.
Но оказывается, что мы не обновляли их в течение 2 лет 🥴, что означает, что выделенные серверы без правильной установки Steam или SteamCMD тихо пропустили 2 года обновлений Steam.
Мы подозреваем, что это было одной из причин ошибок "pkt lurch", которые наблюдали некоторые хосты.⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Новые клиенты Steam содержат много исправлений сетевого взаимодействия, так что надеемся, это поможет.
С этого момента мы будем поддерживать обновление запасных бинарных файлов, чтобы они больше не устаревали молча.
Обновление системы звука
Аудиосистема претерпела значительные изменения. Старая модель потоков использовала блокировки повсюду и была причиной множества сбоев - новая полностью свободна от блокировок. Каждую кадр мы создаем снимок состояния аудио и тройно буферизуем его в поток микширования, аналогично тому, как работают графические конвейеры. Это делает нас свободными от блокировок, что должно уменьшить заикания звука и помочь избежать странных сбоев.
Мы также полностью убрали Steam Audio DLL (phonon.dll). Мы использовали лишь несколько его эффектов, поэтому теперь компилируем только их непосредственно в движок. Создание его самостоятельно позволяет нам использовать AVX SIMD - что примерно удваивает производительность пространственного звука. Это также упрощает нам выпуск для Linux.
Ничто из этого не меняет, как работает звук с точки зрения разработчика игр, но это гораздо лучшая основа для аудиофункций, которые мы хотим создать в будущем.
Map Editor: отзеркаливание мэшей во время движения
Теперь работает как инструмент обрезки, как и ожидалось.
Изменения морфинга в runtime
Новое дополнение к построению моделей во время выполнения, используемое в mounts, позволяет предоставлять данные для создания морфов.
Морфы используются для смещения позиций вершин и нормалей, обычно для позирования лиц.
public readonly record struct MorphDelta( int VertexIndex, Vector3 PositionDelta, Vector3 NormalDelta ); Mesh.AddMorph( "name", deltas );
Диалоговое окно для создания моделей
Некоторые пользователи сталкивались с проблемами, когда создание модели из мешей по умолчанию не создавало коллизии, что заставляло их задумываться, почему в игре нет коллизии. Чтобы упростить это, при создании модели из мешей открывается новое диалоговое окно, позволяющее выбрать желаемую коллизию.
Курсор
Страница нашего пользовательского курсора нуждалась в обновлении, теперь проще переопределять системные курсоры, и в качестве бонуса вам больше не нужно добавлять изображения курсоров в список файлов ресурсов, они публикуются автоматически.
Frame Perfomance Overlay
Наш игровой интерфейс производительности не справлялся, много информации было недоступно, а представление было едва действенным.
- Уровни подробности, overlay_frame convar теперь имеет 1-3 уровня детализации.
- Макет, группировка, цвета и т.д. были переработаны для улучшения ясности того, что вы ищете, или даже для выделения того, что вы не ищете.
- Добавлена новая информация о:
Информация о модели
Теперь при нажатии на модель в браузере активов будет отображаться множество полезной информации в инспекторе.
Улучшили траву
Наш шейдер травы имел артефакты, видимые под определёнными углами. Модели травяных комков теперь выглядят лучше.
Догоняем
На этой неделе не так много нововведений, в основном исправления ошибок и вклад сообщества - нам нужно время, чтобы наверстать упущенное. Еженедельный цикл релизов быстрый, и у нас много ожидающих функций, которые мы не хотели объединять перед патчем. Они будут доступны сначала на стейджинг-ветке для правильного тестирования.
Многое впереди на следующей неделе. 👻