sbox
November 11

s&box — Новый путь

🏆 Объявили дату бесплатной платформы и на этот раз навсегда! Новое меню кастомизации аватара, Новый AnimGraph 2 - ещё один инструмент Source 2 заменён. Новое главное меню, но пока что по желанию, быстрая загрузка, новый войс чат.

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

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

Опыт платформы

Автор: devultj

В рамках перехода на платформу, управляемую через Workshop, мы полностью переписали систему меню, приблизив её к принципу работы Garry's Mod.

При запуске вы либо попадете в главное меню Sandbox, либо сразу в главное меню последней сыгранной игры. Разработчики могут захватить весь этот экран и оформить его по своему вкусу.

В Steam Workshop вы можете легко находить и скачивать игры. Добавляйте их в избранное и подписывайтесь на них, а также легко переключаться между ними.

Это предварительная версия, и она пока не является настройкой по умолчанию. Мы планируем включить её в следующем крупном обновлении. Чтобы попробовать её сейчас, перейдите в Настройки → Игра → Меню «Новое» .

РАЗРАБОТЧИКАМ: Поиск будет осуществляться через Steam Workshop. Ваши игры и карты не будут доступны для поиска, если вы не опубликовали их в Workshop до того, как эта новая система пользовательского интерфейса станет стандартной.

Новое меню аватара

Автор: devultj

Меню выбора аватара было полностью переработано и интегрировано с магазином, что упрощает примерку и позволяет точно знать, что вы собираетесь купить

Новая консоль

Автор: devultj

Консоль теперь преобразована в окно, стала немного проще и удобнее.

Бесплатная s&box

Автор: matt

Ещё в октябре Гарри объявил, что мы сделаем s&box бесплатной до конца года. Теперь у нас есть точная дата: s&box станет бесплатной 10 декабря.

Если вы уже купили s&box, спасибо вам. Вы рискнули, и мы вас не забыли. Все, кто приобрел игру до перехода на Switch, получат эксклюзивные предметы инвентаря Steam, которые станут недоступны после 10 декабря. Мы скоро объявим, что именно это будет.

Вид от первого лица (тени)

Автор: Carson

Если параметр "Скрыть тело от первого лица" отключен, ваше тело будет отображаться без головы и рук (с возможностью добавления рук, что полезно для сидений или транспортных средств).

Вы также можете рисовать тени, даже когда тело скрыто.

Player Air Strafe

Автор: Carson

Теперь контроллер игрока имеет опции для управления движением в воздухе, что позволяет выполнять прыжки «bhop» и серфинг.

Теперь показатель трения в воздухе игрока по умолчанию равен 0, что позволяет выполнять бхоппинг/серфинг по умолчанию при включенном режиме бокового перемещения в воздухе.

Более плавная и быстрая загрузка

Автор: Lorenzo

Загрузка теперь происходит быстрее и реже сопровождается зависаниями.

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

Симуляция звука

Автор: Lorenzo

Мы улучшили нашу акустическую симуляцию:

  • Теперь движущиеся звуки обладают эффектом Доплера.
  • Звук распространяется за углы и через дверные проемы более надежно.
  • Стены приглушают звук более реалистично.
  • Реверберация лучше соответствует акустике помещения.
  • Звуки затухают более естественно с расстоянием.

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

Built-in Voice Chat

Автор: ziks

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

Новое наложение голосового чата располагается справа на экране и отображает до восьми человек, говорящих одновременно. Игры могут отключить наложение или настроить голосовой чат в новом разделе «Голосовой чат» в настройках платформы проекта.

Ползунок громкости входящего голоса перемещен в раздел «Голос» в настройках, и мы добавили ползунок громкости игры, чтобы вы могли уменьшить её, если вам трудно расслышать голоса. Также теперь есть переключатель, который одним щелчком отключает отправку, приём голосовых сообщений и оверлей.

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

Наконец, мы добавили упрощенную функцию «Нажми и говори», которая позволяет оставлять микрофон включенным между нажатиями (но не передавать сигнал). Это должно помочь устройствам, которые долго загружаются, особенно Bluetooth-гарнитурам.

AnimGraph 2

Автор: Layla

AnimGraph 2 — это совершенно новая система анимации, построенная на основе Esoterica, с собственной средой выполнения и совершенно новым набором инструментов для создания анимации.

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

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

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

Renderer.Animation.ExternalGraphs.Connect( "action" , ActionGraph);

Существующий контент AnimGraph 1 продолжает работать. Старые API устарели, а старый редактор графов теперь доступен только для чтения.

Типизированные события анимаций

Автор: Layla

Теперь события анимации в клипах AnimGraph 2 могут быть типизированы в виде классов C# со своими собственными свойствами, а не с именем и набором параметров. Создайте класс, содержащий только данные:

public  sealed  class  ReloadEvent : AnimationEvent
{
	[ Свойство ] public  int Ammo { get ; set ; } = 30 ;
}

Добавьте дорожку событий анимации в редактор клипов, разместите событие, выберите ReloadEventи отредактируйте его свойства, как в любом другом инспекторе. Любой включенный компонент на объекте GameObject рендерера или на одном из его родительских объектов, реализующих интерфейс, Component.IAnimationEventполучает его автоматически. Вам не нужна ссылка на рендерер или какая-либо подписка:

public  void  OnAnimationEvent ( AnimationEvent data )
{
	если (данные являются событием перезагрузки)
		Ammo += reload.Ammo;
}

Профайлинг рендеринга

Автор: matt

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

Идея состоит в том, чтобы сделать этот вид временной шкалы доступным и для общего профилирования ЦП.

Map Editor: Редактор стен

Автор: bakstractch

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

Ускоренная компиляция ассетов

Автор: Lorenzo

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

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

На моей машине чистая сборка наших основных ресурсов заняла меньше 4 минут , а пиковое использование памяти снизилось примерно с 30 ГБ до 10 ГБ.

Более надёжная связь в P2P сети

Автор: Lorenzo

В наших лобби используется полномасштабная P2P-сеть: каждый игрок может отправлять обновления напрямую каждому другому игроку. Однако NAT, VPN или ограничения провайдера иногда могут препятствовать прямому соединению между двумя участниками.

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

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

Меньше мусора

Автор: Lorenzo

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

Пакетная отрисовка

Автор: Antopilo

TextRendererТеперь компоненты обрабатываются пакетами через обработчик спрайтов, вместо того чтобы каждая метка отрисовывалась отдельно. В тестовой сцене с текстом в игровом мире время отрисовки кадра сократилось с 25 мс до 3 мс.

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

Захват ввода с клавиатуры

Автор: devultj

Игры могут перехватывать ввод с клавиатуры с помощью команды Input.Keyboard.Capture`.`. Во время перехвата нажатия клавиш передаются в игру, а не запускают действия ввода, что полезно, например, для переназначения кнопок управления.

Нажатие клавиши Escape всегда завершает перехват, как и открытие меню, поэтому игра никогда не сможет перехватить ввод с клавиатуры.

Исправления анимация игрока

Автор: Carson

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

Это было особенно очевидно при попытке очень быстро развернуться на 180 градусов:

Теперь прицеливание стало немного более скованным, но гораздо точнее, и нет ни наведения на цель, ни прицеливания в собственную голову:

Player Duck Timing

Автор: Carson

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

Настройки прыжка игрока

Автор: Carson

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

Также можно включить функцию «Удерживать для прыжка», что означает, что вы можете просто удерживать кнопку прыжка, чтобы совершать несколько прыжков подряд, вместо того, чтобы рассчитывать время каждого прыжка при приземлении (отлично подходит для бхоппинга).