sbox — Обновление 08.09.2026
🤑 Нам завезли 2D физику, новая система UI и много изменений с ней.
Оригинал (ссылка)
2D Физика
Теперь в s&box реализована 2D-физика на основе Box2D (да, как Box3D). Переключите режим физики в настройках сцены, и тела будут моделироваться в плоскости XY, используя те же компоненты и API физики, которые вам уже знакомы, вместо разделения на 2D и 3D API.
Game Jam III
Начался Game Jam III с призовым фондом в 50 000 фунтов стерлингов. Тема конкурса — «ЕЩЕ ОДИН РАУНД», прием заявок заканчивается в пятницу, 25 сентября .
Мы интегрировали это в меню платформы, где участники могут играть и голосовать за свои работы.
Прощай, Yoga
С самого начала мы использовали Yoga в качестве движка компоновки пользовательского интерфейса. Он берет весь ваш HTML и CSS и определяет, где они должны располагаться на экране, точно так же, как это делает ваш браузер на этой странице прямо сейчас.
Однако Yoga мог работать только с компоновкой Flexbox, а нам хотелось большего. Поэтому мы заменили его собственным открытым движком компоновки на C# — Sandbox.Layout .
Благодаря этому мы можем поддерживать больше различных способов размещения элементов пользовательского интерфейса, таких как display: block<p>, display: grid<div> и <div>.display: inline
Существующие структуры должны остаться неизменными, а производительность должна быть немного выше даже при переходе с C++ на C#.
CSS Grid Layout
Теперь мы поддерживаем CSS-сетчатую компоновку (grid layout) , это похоже на Flex, но упрощает размещение контента в точно заданной сетке.
Inline текст
Раньше у нас никогда не было по-настоящему удобного и полноценного способа работы с форматированным текстом; простые вещи, такие как перенос текста по строкам, были просто невозможны, всё представляло собой единый блок контента.
Теперь вы можете использовать display: inlineформатированный текст для любого элемента контента, и он будет вести себя так же, как и в интернете, позволяя вам стилизовать любой фрагмент текста, не беспокоясь о макете.
Position Fixed
Мы добавили position: fixedфункцию, аналогичную абсолютному позиционированию, но точка привязки всегда находится на экране. Это особенно полезно для всплывающих меню, например...
Menu
Введена новая Sandbox.UI.Menuсистема для панелей меню и самих меню. Она поддерживает все функции редактора, но вы можете использовать её и в своих играх!
var file = new Menu( "File" ); file.AddOption( "New" , "note_add" , New ).Shortcut = "Ctrl+N" ; file.AddOption( "Открыть..." , "folder_open" , Открыть ); file.AddSeparator(); file.AddOption( "Save" , "save" , Save).Enabled = false ;
Цель состоит в том, чтобы они выглядели максимально естественно... и сейчас это так. Вы можете изменить их стиль с помощью CSS, как и следовало ожидать.
Скроллбары
Наконец-то появились полосы прокрутки! Они встроены в систему панелей, и вы переключаете их с помощью scrollbar-width. Предлагаю использовать , scollbar-width: autoесли хотите, чтобы они были видны.
Я категорически против изобретения собственных CSS-стилей, поэтому они используют стандартные CSS-стили, например...
scrollbar-width- определяет ширинуscrollbar-color- определяет цвет тыльной стороны ладони и большого пальцаscrollbar-gutter- наложение против встроенного
TreeView
В системе интерфейса панели теперь есть элемент управления TreeView, как и в интерфейсе редактора. Он работает так, как вы ожидаете, подобно стандартному элементу управления Windows. Он виртуализирован, имеет функцию выделения, навигацию с помощью клавиатуры, стилизацию при наведении курсора и строк, переименование, контекстные меню, прокрутку к элементу... всё, что вы ожидаете.
Tooltips
Всплывающие подсказки теперь работают лучше. Они работают в PanelWindows (который использует новый лаунчер).
Мы добавили Panel.OnTooltip— который можно использовать для создания всплывающих подсказок. Это означает, что вы можете создавать красивые, насыщенные всплывающие подсказки, вместо того чтобы ограничиваться строкой текста, как раньше.
Color Picker
Я обновил палитру цветов, добавив несколько различных вариантов расположения цветов: квадратный, кольцо оттенков, диск оттенков, HSV и RGB.
Movie Maker keyframes
В Movie Maker стало проще редактировать временную шкалу. С помощью комбинации клавиш Shift+клик+перетаскивание можно размещать блоки ключевых кадров в заданном диапазоне или удалять их, что значительно упрощает повторную работу с таймингом.
Предварительный просмотр при экспорте также потребляет меньше ресурсов, оставляя больше времени для рендеринга сцены и остальной части редактора.
Map Editor: Дверной проём
В инструментах построения карт появился новый примитив для создания дверного проема. Он создает дверной проем за одну редактируемую операцию, вместо того чтобы заставлять вас вырезать и заново строить базовый дверной проем вручную.
Новый формат сжатия нормалей
В моделях нормали и касательные теперь используются кодировка в виде знакового октаэдра и ромба, что, по сути, означает улучшение качества изображения.
Вкратце, старый формат кодировки имел погрешность точности до 1-2 градусов, что приводило к различным неприятным артефактам, которые художники компенсировали, используя ресурсоемкие касательные в ModelDoc (что плохо из-за большего потребления памяти).
Я заменил эту кодировку новым форматом: знаковый октаэдр + ромбовидная касательная, который обеспечивает гораздо лучшую точность (погрешность около ~0,2 градуса) при сохранении того же объема памяти.
Что вам нужно сделать как художнику/разработчику:
- Просто перекомпилируйте все свои модели. Пока модели не будут перекомпилированы, они будут продолжать использовать старый формат сжатия.
- Думаю, ваши пользовательские шейдеры автоматически перекомпилируются при следующем запуске редактора, но всё же убедитесь, что они обновлены.
- Старые облачные ресурсы с устаревшими моделями и шейдерами останутся работоспособными, но за счет увеличения объема используемой памяти. Если у вас есть какие-либо модели, загруженные в облако, пожалуйста, перекомпилируйте и загрузите их заново, если это возможно!
Это довольно существенное изменение, но оно не должно повлиять на существующие ресурсы, поэтому даже если вы ничего не будете делать, всё должно остаться в норме. Пожалуйста, сообщите мне, если я сломал какие-либо ваши ресурсы; прикрепление любых логов/ресурсов/проектов для воспроизведения ошибки будет полезно.
Улучшенная синхронизация кадров
Некоторые пользователи сообщали о сильных подтормаживаниях, даже когда частота кадров отображалась нормально. Это было особенно заметно у пользователей, у которых в Windows было отключено аппаратное ускорение планирования задач на графическом процессоре (HAGS). Мы переработали синхронизацию кадров, чтобы они более равномерно достигали экрана, что делает движение более плавным.
Если проблемы с темпом работы сохраняются, пожалуйста, сообщите нам об этом, так как проблема может проявляться на определенных конфигурациях оборудования.
Также исправлена ошибка в эксклюзивном полноэкранном режиме, и теперь он корректно запрашивается драйвером.
Навигация
Мы заменили оставшиеся функции поиска пути и моделирования толпы DotRecast собственной реализацией.
В синтетических тестах обновление очереди поиска пути оказалось в 8,4 раза быстрее , а создание и планирование путей для 100 агентов использовало на 63% меньше памяти в вызывающем потоке . Обновление агентов также может выполняться на нескольких ядрах.
Также появился новый CalculatePathAsyncAPI, а также исправлены ошибки, связанные с зависанием агентов, обходом ссылок и генерацией навигационной сетки.
Улучшения префабов
Небольшие изменения в больших префабах приводили к копированию гораздо большего объема данных, чем было необходимо. Мы ускорили вычисление переопределений и запись отмены, благодаря чему захват отмены для свойств/компонентов стал примерно в 4–5 раз быстрее , а количество выделений памяти в синтетических тестах сократилось примерно на 75% .
Для префаба с 500 объектами и 1500 компонентами время записи изменений компонента для отмены действия сократилось с 383 мс до 78 мс .
Мы также исправили проблемы с исчезновением мешей сцены при применении или сохранении префабов, а также проблемы с вложенными экземплярами и порядком объектов.
Документация
И наконец, документация получила столь необходимое обновление, чтобы сделать информацию более доступной и читаемой. В боковой панели теперь есть быстрый фильтр, контент представлен оглавлением, а также более единообразные размеры шрифтов и контрастный цвет текста.