Улучшения голосового чата, новая графика сущностей и API блипов

  • Автор темы Автор темы Lev Angel
  • Дата начала Дата начала

Lev Angel

Developer
Команда форума
Скриптер
Привет всем,

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

1722754281894.png

Голосовой чат

Мы понимаем, какую важную роль играет голосовой чат в вашей повседневной игре в RAGE Multiplayer. Независимо от того, играете ли вы роль полицейского, преступника или участвуете в PvP с друзьями, чёткая и надёжная связь имеет решающее значение. С момента введения встроенного голосового чата в версии 0.3.6 несколько лет назад мы постоянно улучшали его производительность. Сегодня мы рады объявить о очередном этапе улучшений голосового чата:

  • Введён новый, продвинутый режим подавления шума: установите mp.voiceChat.advancedNoiseSuppression в true, чтобы включить его. В противном случае используется предыдущий подавитель шума.
  • Мы внедрили новые меры для оптимизации голосового чата в разных сетевых условиях. Установите новую настройку mp.voiceChat.networkOptimisations в true, чтобы включить её. Все клиенты должны иметь одинаковое значение.
  • Теперь битрейт голосового чата настраивается через новое клиентское свойство mp.voiceChat.bitrate.
  • Были проведены различные оптимизации для снижения нагрузки на ЦП и улучшения общего качества голосового чата.
Эти новые функции, включая продвинутое подавление шума и оптимизацию голосового чата для сети, отключены по умолчанию. Разработчики серверов должны активировать их через свои скрипты.

Аудиовыход игры

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

Интеграция API:

  • Добавлено клиентское свойство mp.voiceChat.gameOutputEnabled (get/set) (по умолчанию false)
  • Добавлено клиентское свойство mp.voiceChat.gameOutputCategory (get/set) (по умолчанию mp.game.joaat("SPEECH_SCRIPTED"))
  • Добавлено клиентское свойство player.voiceGameOutputEnabled (get/set) (по умолчанию true, работает только при включённом mp.voiceChat.gameOutputEnabled)
  • Добавлено клиентское свойство player.voiceGameOutputCategory (get/set)
  • Добавлен метод player.closeVoiceStream()
  • Добавлен метод mp.game.audio.getCategoryVariable(categoryHash, fieldNameHash)
  • Добавлен метод mp.game.audio.setCategoryVariable(categoryHash, fieldNameHash, value)
  • Добавлен метод mp.game.audio.copyCategoryVariables(categoryTo, categoryFrom)
  • Добавлен метод mp.game.audio.restoreCategoryVariables(categoryHash)
Категории аудио игры — это базовая функция игры для настройки различных звуков по категориям воспроизведения с различными параметрами. Пожалуйста, ознакомьтесь с файлом игры /platform/audio/config/categories.dat22.rel для получения дополнительной информации. API звуковых эффектов голосового чата, таких как player.setVoiceFxBQF и другие, поддерживаются новым аудиовыходом голосового чата.

Примечание: Функция аудиовыхода игры в настоящее время является экспериментальной.

API наложения сущностей

Мы вводим новый набор API наложения сущностей, который позволяет рисовать наложения на игровые сущности: контур, заполнение, шум и каркас. Он работает пакетами, так что вы можете рисовать сущности либо в одном пакете, либо индивидуально. Вы можете рисовать наложения с включенной или отключенной проверкой глубины.
  • Добавлен клиентский метод mp.game.graphics.createEntityOverlayBatch(overlayParams)
  • Добавлен клиентский метод entityOverlayBatch.update(overlayParams)
  • Добавлен клиентский метод entityOverlayBatch.destroy()
  • Добавлено клиентское свойство entityOverlayBatch.valid (get)
  • Добавлен клиентский метод entityOverlayBatch.add(entity)
  • Добавлен клиентский метод entityOverlayBatch.remove(entity)
  • Добавлен клиентский метод entityOverlayBatch.addThisFrame(entity)
  • Добавлен клиентский метод entityOverlayBatch.removeThisFrame(entity)
  • Добавлен клиентский метод mp.game.graphics.setEntityOverlayPassEnabled(enable) (по умолчанию выключен)
JavaScript:
let overlayParams = {
    enableDepth: true,
    deleteWhenUnused: false,
    keepNonBlurred: true,
    processAttachments: true,
    fill: { enable: false, color: 0xFFFFFFFF },
    noise: { enable: false, size: 0.0, speed: 0.0, intensity: 0.0 },
    outline: { enable: true, color: 0xFF9000FF, width: 5.0, blurRadius: 1.0, blurIntensity: 1.0 },
    wireframe: { enable: false }
};

mp.game.graphics.setEntityOverlayPassEnabled(true);

let batch = mp.game.graphics.createEntityOverlayBatch(overlayParams);

mp.events.add('render', () => {
    batch.addThisFrame(mp.players.local);
});



Обновления API блипов

Мы внедрили новый API блипов, чтобы упростить навигацию по карте в меню паузы, добавив возможность группировать блипы и сортировать их по вашему приоритету:
  • Добавлен клиентский метод mp.game.ui.setBlipCategoryGrouped(category, doGroup)
  • Добавлен клиентский метод mp.game.ui.setBlipCategoryPriority(category, priority)
  • Убрано ограничение легенды карты игры


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

 
Кто-то пробовал свой голосовой чат подключать? Сильно отличается?
 
Мне больше интересно будет поиграться с наложениями. Прикольная фича.
 
Назад
Верх