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

В этой стате я постараюсь объяснить простыми словами, как можно реализовать простой голосовой чат, не затрагивая программирование на C++. Проведя лишь небольшую настройку, вы можете добавить полностью работающий голосовой чат, используя только Blueprint (визуальное программирование).

Предисловие

Перед началом работы я должен вас предупредить, голосовой чат Unreal Engine работает, только если в многопользовательской игре используется система сессий (сеансов).

Настройка голосового чата

Файлы конфигурации

Чтобы сообщить игровому движку (Unreal Engine), что мы хотим включить функцию голосового чата, необходимо изменить несколько файлов конфигурации (.ini). Файлы, которые нам нужно изменить, - DefaultGame.ini и DefaultEngine.ini. Для изменения этих файлов не требуется никаких дополнительных программ. Блокнота будит достаточно.

Чтобы найти эти файлы, откройте корневую папку проекта и перейдите в папку конфигурации (./Config/).

Вот два файла, которые нам нужно отредактировать:

Чтобы отредактировать их, щелкните пкм (правой кнопкой мыши) и выберите открыть с помощью, к примеру блокнот.

DefaultEngine.ini

После открытия прокрутите вниз до конца файла DefaultEngine.ini и скопируйте текст который представлен ниже. Эти настройки позволят дать указание игровому движку (Unreal Engine), что мы хотим использовать систему голосового чата, для данного проекта.

[Voice]
bEnabled=true

[OnlineSubsystem]
bHasVoiceEnabled=true

DefaultGame.ini

DefaultGame.ini - это последний файл, который необходимо изменить. Откройте этот файл, используя тот же метод, что и DefaultEngine.ini, и вставьте текст, который представлен ниже.

[/Script/Engine.GameSession]
bRequiresPushToTalk=true

Включение этой настройки (push to talk) дает вашим игрокам возможность отправлять свой голос только при нажатии на кнопку.

Отключение этой настройки (push to talk) позволяет отправлять голосовые дынные постоянно, независимо от того, хочет игрок отправлять свой голос или нет.

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

Что бы отключить (push to talk) введите вместо True (правда) на False.

Сохраните и закройте файл.

Откройте свой проект Unreal Engine (.uproject) и дождитесь загрузки движка.

Настройка Blueprint

Если на приведенном выше шаге вы включили функцию (push to talk) в файле DefaultGame.ini, далее вам нужно будит настроить нажатие клавиши ввода для запуска и остановки (push to talk).

Первый шаг - открыть редактор Blueprint, вашего игрового контроллера (PlayerController). Если у вас его нет, и создайте его и назовите, к примеру PlayerControllerVoice. Также не забудьте присвоить его вашему игровому режиму (GameMode).

Добавление кнопки активации голосового чата

После того, как ваш редактор игрового контроллера (Game Controller) будит открыт, щелкните правой кнопкой мыши по пустому месту и введите название клавиш, на которые вы хотите назначить активацию голосового чата. В моем случае это кнопка V.

Далее из пункта Pressed вытяните узел и в поисковой строке напишите (Execute Console Command). И тоже самое с пунктом Released.

На данном этапе должно выглядеть так:

Вводим команду в ноду (Console Command) при нажатой кнопке:

ToggleSpeaking 1

Теперь вводим команду во вторую ноду (Console Command) при отжатой кнопки:

ToggleSpeaking 0

Все готово теперь в вашей игре есть базовый голосовой чат на назначенную кнопку. Спасибо за внимание!

Пример работы (видео)

Комментарии (2)


  1. RandomVertex
    00.00.0000 00:00

    Переводил безграмотный школьник?


    1. mr_maksis Автор
      00.00.0000 00:00

      Проверяйте.