s&box - Июнь 2025
Titanovsky
• Garry's Mod 2 будет в июне? 4.275.042 рублей выплат всем разработчикам игр, новая игра от Facepunch, обновлённый сайт, женский аватар с грудями и префабы из Unity? Бегом читать девблог, что же там вкусного!
Оригинал (ссылка)
Переработка префабов
Автор: Lolleko
Когда мы создавали систему префабов, мы хотели попробовать что-то новое. Мы хотели рассматривать префабы больше как интерфейсы, где вы бы открывали только определенные свойства и объекты для доступа и редактирования извне.
Оказалось, что это было полным бредом. Поэтому мы переработали это так, как все и ожидали. Теперь, когда вы помещаете префаб в сцену, вы увидите все GameObjects, как и ожидали. Вы сможете изменить этот экземпляр и применить изменения обратно к префабу или вернуть эти изменения к значениям префаба.



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





Тематический парк доступен прямо сейчас, проверьте это!
Интерфейс редактора
Автор: Alex
Мы внесли некоторые первоначальные итеративные изменения в интерфейс редактора - это первый из многих шагов к более целостному опыту работы с редактором. Мы в основном сосредоточились на основах, пытаясь создать языковую основу для будущих изменений.
- На данный момент мы: Унифицировали нашу цветовую палитру, переменные размеров, закругления и т.д.
- Перешли на более красивый шрифт
- Обновили виджеты, элементы управления, панели, чтобы они соответствовали друг другу для согласованности
В качестве примера - вот как сейчас выглядит облачный браузер:

Рендер в битмап
Автор: garry
Мы добавили класс Bitmap некоторое время назад. Это действительно классный класс. Он позволяет создавать битмап, загружать jpg/png, очищать его, рисовать на нем, поворачивать, сохранять как png/jpg. Это полезный маленький класс.
Теперь вы можете отрисовать сцену на нем. Просто вызовите CameraComponent.RenderToBitmap, чтобы рисовать прямо на нем.
Это особенно полезно, если вы хотите создать миниатюры или что-то подобное. Он работает как в редакторе, так и в игре.
Настройка аватара
Автор: garry
В этом месяце я работал над системой аватаров. Моя конечная цель - сделать так, чтобы мы могли добавлять косметику, созданную сообществом, так же, как это делается в Rust. Это был шаг к возможности просмотра и оценки их в сцене редактирования аватара.

Конечный результат этой работы - это гораздо более чистый и понятный опыт при настройке вашего аватара. Цвет кожи и возраст гражданина - это ползунки. Изменять оттенок вещей стало намного проще. Одежда организована по группам и категориям.

Корректировки к Людям
Автор: danduw
Мы внесли изменения в женские головы и тело, сделав их более естественными. Изначально мы сосредоточились на том, чтобы волосы и бороды работали как для мужчин, так и для женщин; что означало изменение челюсти и черепа, в результате чего женские лица выглядели странно. На картинке ниже показаны изменения до и после.
Мы решили переработать женские головы, создав результаты, которыми мы гораздо более довольны.
Кроме того, мы работаем над тем, как мы подходим к волосам для женских персонажей. Многие наши прически были созданы с намерением быть андрогинными, чтобы подходить как для мужских, так и для женских типов голов. Мы отходим от этого и гарантируем, что все волосы имеют женские альтернативы, которые более уместно дополняют женские лица.
Здесь вы можете увидеть новую прическу, над которой мы работаем, которая задает планку качества, к которой мы стремимся, создавая наши скорректированные женские версии существующих причесок.



Задержка компиляции шейдеров
Автор: matt

У нас была большая проблема с подтормаживанием, как и у многих современных игр, различные комбинации шейдеров компилировались во время отрисовки, вызывая задержки от 100 мс до 3000 мс.
Большинство игр обычно решают это, предварительно прогревая каждую возможную комбинацию на экране загрузки, что является долгим "компилированием шейдеров" на начальном этапе игры. Нам сложно выяснить все комбинации, которые могут быть использованы на платформе UGC, и, честно говоря, это ожидание довольно неприятно.
Решение
Source 2 предлагает лучшее решение с VK_EXT_graphics_pipeline_library, вместо того чтобы перекомпилировать весь шейдер каждый раз, шейдер разбивается на стадии (вход, вершинный, фрагментный, выходной), которые могут быть быстро связаны во время отрисовки.
Это делает количество компиляций шейдеров аддитивным, а не мультипликативным, что значительно снижает объем работы.
Ранее мы не могли воспользоваться этим, потому что шейдеры должны были настраиваться очень статично, что не подходит для платформы UGC или удобного в использовании движка.
Мы поговорили с Valve о том, как лучше поддерживать это динамически, и через несколько дней они сделали решение в Source 2 🎉 Мы перенесли это в наш движок, и результаты были фантастическими.
Сломанные шейдеры
Игры с устаревшими шейдерами будут скрыты, пока вы не перекомпилируете и не перепубликуете свою игру.
Если ваша игра затронута, вы получите уведомление.
Это неприятно, но это фундаментальное изменение, и мы добавили новую систему, чтобы избежать этого в будущем.

Новый сайт
Автор: garry
Я снова подправил сайт. Я зашел в ад сайдбаров, и хотел выбраться оттуда. Я хотел сделать сайт более дружелюбным для новых пользователей, объяснить немного больше и сделать его менее подавляющим.
Это новое изменение позволило мне разделить сайт на отдельные секции, каждая из которых имеет свой собственный заголовок. Я чувствую, что это сделало сайт менее загроможденным и более усваиваемым.
Улучшения видеозаписи
Автор: lolleko
Мы улучшили встроенный экранный рекордер (F6), оптимизировали производительность и исправили различные сбои.
Качество видео теперь можно регулировать с помощью cvar video_bitrate.
Кроме того, мы повысили стабильность и производительность всех наших мультимедийных компонентов (VideoWriter, MusicPlayer, VideoPlayer).
::before ::after
Автор: garry
Наша система стилей UI теперь поддерживает ::before и ::after.
Я хотел реализовать это около года, и наконец-то дошел до этого. Это работает так же, как и в вебе, и приятно иметь эту функциональность в нашей системе UI.. это так полезно.


Razor Outro
Автор: garry
Ранее, когда панели razor обновлялись и удаляли своих детей, они не вызывали :outro. Это было сделано намеренно, так как я предполагал, что это сломает всё и будет ненадежно/неработоспособно.
Оказалось, что это предположение было ошибочным. Иногда это ненадежно и иногда неработоспособно, но в остальное время всё работает нормально. Так что теперь вы можете рискнуть.
Списки команд рендера
Автор: garry
Компонент рендерера теперь имеет две новые функции, которые позволяют установить CommandList для выполнения сразу перед и после рендеринга.
Зачем это нужно? Возможно, вы хотите отрендерить что-то на текстуру рендеринга и передать это рендереру, но только когда объект будет отрендерен. Может быть, вы хотите нарисовать что-то сразу перед или сразу после?
Компонент отражений в пространстве экрана
Автор: Sam
Наша предыдущая система SSR была разработана на ранних этапах, когда у нас не было системы сцен или контроля над рендерингом, используя растровый конвейер для маскировки объектов, и вам нужен был специальный набор для работы с вашим шейдером. Хотя это было неплохо, это было совершенно неуправляемо.
Она была переработана в компонент, использующий вычислительные шейдеры, с той же системой G-Buffer prepass, с помощью которой мы можем извлекать всю информацию о материалах для трассировки на экране.
Мы придерживаемся той же идеи, как мы обрабатываем окклюзию окружающей среды; как постобработка для непрямого диффузного освещения, мы рассматриваем SSR как постобработку для непрямого зеркального отражения, так что это просто работает на любых объектах, к которым это применено в сцене, API стал гораздо чище, так что его можно расширить для экспонирования любого метода отражения, который вы хотите композитировать к объекту.


Апрельский Playfund
Автор: garry
Фонд Play Fund увеличился в апреле. Пользователь с наибольшим доходом получил выплату чуть более $5,000.
Понимаю, что это не большие деньги, не по сравнению с Roblox и Fortnite. Мы все еще находимся на этапе предварительной разработки и продолжаем развивать Play Fund - поэтому фонд сейчас относительно мал.
Хорошая новость в том, что в мае мы также увеличили фонд. И снова сделаем это в июне.
Время симуляции ParticleEffect
Автор: Layla
Эффекты частиц теперь могут использовать игровое или реальное время, для ситуаций, когда вы хотите, чтобы частицы воспроизводились нормально при паузе или в замедленном режиме.
Удалён Particle Editor из Source 2
Автор: garry
Несколько месяцев назад мы удалили редактор частиц vpcf из движка source. Эти частицы все еще работали, но вы не могли их создавать или редактировать. Это обновление полностью удаляет устаревшие частицы. Если игра все еще их использует, они просто будут невидимыми.
Несомненно, в старой системе частиц были вещи, которые вы могли сделать, но не можете в системе на основе компонентов. Хорошая новость в том, что новая система частиц модифицируема, так что если вы не можете что-то сделать, вы можете написать компонент, который это сделает. И поскольку это компонент, это значит, что его гораздо проще сделать настраиваемым, чтобы вы могли повторно использовать его в разных ситуациях.
Я никогда не хочу, чтобы у нас был движок, в котором работают несколько систем параллельно с разными уровнями поддержки. В общем, лучше улучшать систему постепенно, чем полностью заменять ее. В этом случае мы заменили ее, потому что знали, что итерации будут невозможны.
Dresser Компонент
Автор: garry
Движок теперь включает компонент для легкой настройки ваших персонажей. Это позволяет вам выбирать конкретную одежду или использовать одежду, настроенную игроком. Также вы можете использовать рост, возраст и оттенок кожи для кастомизации ваших персонажей. Ранее это требовало ручного кодирования, так что надеемся, это значительно упростит процесс.
Вы также можете выбрать одежду из сообщества, загруженную из мастерской.

Выводы
Автор: Гарри
Дела идут хорошо. Всё снова кажется новым. Наша цель - посмотреть на то, что у нас есть, и найти способы это улучшить. Каждый день. Сообщество здесь очень помогает - спасибо всем, кто использует движок и дает обратную связь, это огромная помощь.
Я собираюсь взять себя в руки и начать делать Sandbox Mode (Garry's Mod 2) в июне. Ожидаю, что это начнется с привычного, затем станет экспериментальным, а потом вернется в хорошее русло. Есть несколько основных моментов в песочнице, которые я хочу реализовать, например, чтобы аддоны снова заработали.
💙 Русскоязычное сообщество s&box

Перевод сделан благодаря: