sbox
October 23

sbox — Обновление 22.10.2025

Множество изменений в редакторе, предварительная загрузка контента, перенастройка системы материалов, отчеты о сбоях и многое другое

Оригинал (ссылка)

Предзагрузка

Автор: Гарри

s&box — это облачно-ориентированный движок. Когда мы создаем модель в Facepunch, мы загружаем её в облако, а не в папку с игрой.

Это значит, что когда вы хотите поиграть, вам нужно скачать всё из облака. Это не лучший пользовательский опыт, сидеть и ждать загрузки, когда вы просто хотите попробовать Sandbox Mode.

Теперь мы выпускаем на Steam с набором предзагруженных файлов. Это значит, что когда вы загружаете игру, они доступны мгновенно. Вам не нужно ничего скачивать, вы пропускаете этот шаг. Вы можете сразу начать играть.

Мы будем корректировать это со временем на основе метрик, чтобы предзагружать файлы, которые имеют наибольший смысл.

Material API

Автор: Гарри

Мы делаем шаги в системе материалов, которая оставалась практически нетронутой с самого начала.

Это обновление заставляет Material.Set действительно работать. Теперь вы сможете устанавливать любые параметры шейдера с помощью этого API, и они должны обновляться.

Ранее вам приходилось выполнять дикий танец, где нужно было установить что-то в качестве атрибута и задать атрибут на Renderer. Это должно сделать все гораздо более логичным.

Material Expressions

Автор: Гарри

В редакторе материалов была функция, где можно было нажать кнопку и написать код для выполнения действий. Некоторые более увлеченные члены сообщества это нашли и начали использовать.

Мы не хотим поддерживать это в долгосрочной перспективе. Поэтому мы решили, что лучше убрать это раньше, чем позже. И мы это сделали. Это исчезло.

Мы определенно хотим заменить эту функциональность чем-то лучшим и сделаем это в какой-то момент. Мне не нравится убирать вещи до завершения замены, но в этом случае я считаю, что лучше убрать это - прежде чем люди начнут на это полагаться все больше и больше.

Отчёты о сбоях

Автор: Мэтт

Ранее не было обратной связи при сбое. Игра просто закрывалась, без диалогов и прочего. Сбои всегда загружались на наш сервер Sentry, теперь, когда у вас произошел сбой, мы откроем страницу с информацией о вашем сбое.

Вы можете поделиться этой ссылкой с другими, посмотреть, сколько людей столкнулись с этой ошибкой, и узнать некоторые основные детали о ней.

Ивенты у Спрайтов

Автор: Карсон

У компонента SpriteRenderer теперь есть несколько Actions (ивентов), которые он может вызывать:

  • OnAnimationStart(string name)
  • OnAnimationEnd(string name)
  • OnBroadcastMessage(string message)

Действие OnBroadcastMessage используется для пользовательских событий, которые вы хотите вызвать в определенном кадре анимации. Это полезно для таких вещей, как шаги или анимация, в которой снаряд должен появиться в определенном кадре

Существует несколько различных типов широковещательных сообщений, которые вы можете выбрать, если хотите делать все быстро и легко, не прибегая к какому-либо коду

Ресурсы в окне Инспектора

Автор: Тони

Продолжение нашего блога 2 недели назад: мы добавили возможность ссылаться на компоненты, если они реализуют интерфейс. Теперь вы можете сделать то же самое, но с Ресурсами.

HashSet в Инспекторе

Автор: lolleko

Теперь вы можете редактировать свойства HashSet<T> прямо в инспекторе.
Они выглядят как списки, за исключением порядка.

/// <summary>/// На каких территориях агенту разрешено перемещаться. 
Если пусто, разрешены все территории.
/// </summary>

[Group( "Movement" )]
[Property] 
public HashSet<NavMeshAreaDefinition> AllowedAreas { get; set; } = new();

Исправление BBox.Transform

Автор: lolleko

Мы узнали (на собственном опыте), что наша текущая BBox.Transform() реализация неверна, когда вы пытаетесь трансформировать асимметричную коробку с неравномерным масштабом. Мы исправили функцию и добавили тесты, чтобы зафиксировать это на будущее.

Это не должно вызвать проблем в большинстве существующих игр. Но если вы активно используете BBox.Transform() и, возможно, полагались на неправильное поведение, дважды проверьте, что ваша игра работает как ожидалось.

Улучшения Whitelist

Автор: solwllms

Мы улучшили интеграцию между нашими проверками API whitelist и компилятором s&box. Теперь вы увидите эти ошибки, как обычные ошибки компиляции, и если вы не пройдете эти проверки, это заблокирует вашу сборку - как и ожидалось.

Некоторые могут помнить, что мы ранее экспериментировали с способами получения этих проверок в вашей IDE. Это не совсем так далеко, но мы продолжим искать способы улучшить обратную связь с этой системой. На данный момент эти изменения должны сделать более ясным, когда вы используете недопустимые API - и, надеюсь, менее запутанным в целом.

Новые оружия

Автор: MaxL

В нашей библиотеке оружия доступны три новых ближних оружия для ваших игр!

Это лом (известный), тренч-нож и нож-байонет M9. Ножи имеют переключаемую стойку: тяжелые атаки, похожие на удар в спину.

Как обычно, вы можете найти документацию здесь, и все наши готовые к использованию активы от первого лица в этой коллекции.

Исправления у Bloom

Автор: Сэм

Bloom имел недавний регресс, когда всё было слишком ярким.

Мы применили аппаратное ограничение BORDER, чтобы заблокировать выбор текстур за пределами границ во время уменьшения для bloom , но это также должно быть сделано при генерации bloom, более высокие мипы абсолютно уничтожат видимость.

Теперь выглядит красиво, даже когда вы злоупотребляете этим до нелепых уровней.

Исправление DoF

Автор: Сэм

Глубина резкости имела небольшую линию, которая выглядела плохо и вызывала виньетирование вокруг объектов, проход по уменьшению не учитывал центр DoF, вместо этого он двигался к нижнему правому углу

Теперь это исправлено и выглядит супер, кроме того, настройки качества DoF наконец-то дают прирост производительности.

💙 Русскоязычное сообщество s&box