Klatch.media

Обновления Roblox

Roblox добавила загрузку объектов по направлению камеры

Frustum Streaming помогает показывать дальние объекты в прицеле и на дороге. Функция включается отдельно для каждого игрока.

Roblox добавила загрузку объектов по направлению камеры
Roblox / DevForum

Roblox представила Frustum Streaming, загрузку объектов с учётом области, видимой камерой игрока. Обновление опубликовано 29 сентября. Функция предназначена для игр с потоковой загрузкой: она позволяет подгружать дальние объекты перед камерой, не увеличивая обычный радиус во всех направлениях. В примерах компании названы оптические прицелы и движение гоночного автомобиля.

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

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

В примере с прицелом автор может начать загрузку ещё во время анимации экипировки, чтобы дальние объекты появились к моменту приближения. Предельная дальность ограничена меньшим из расстояния отрисовки клиента и 100 тысяч studs. При резком повороте камера сначала получает объекты в центре нового направления, затем область заполняется дальше от центра.

Дополнительные объекты и ландшафт требуют памяти и могут увеличить нагрузку на процессор. При opportunistic-загрузке объекты за пределами обычного радиуса начинают выгружаться вскоре после ухода из поля зрения. В режиме low memory они остаются, пока помещаются в памяти. Для игр, уже хранящих все объекты на устройстве без streaming, функция не требуется.