Unity 6.3
0 онлайн 101 гостей 3 в системе
Вход
Unity Строительные блоки Шаг 14 из 14

Vivox Строительный блок

Интегрируйте голосовой и текстовый чат в свой проект с помощью готовых элементов UI этого Building Block. Узнайте, что такое каналы Vivox, как подключить к ним игроков и как создать интерфейсы чата и списка из включенных компонентов.

Введение

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

В этом блоке создания показано, как выполнить следующие действия:

  • Присоединяйтесь к голосовым и/или текстовым каналам Vivox.
  • Выберите и настройте аудиоустройства входа и выхода.
  • Отображение списка живых каналов с индикаторами разговора и управлением заглушением.
  • Отправлять и получать текстовые сообщения чата в канале.

Building Block содержит примеры сцен, UI Toolkit ресурсов и компонентов времени выполнения, готовых соединить игроков с помощью голоса и текста.

Предварительные условия

Перед началом работы убедитесь, что выполнены следующие предварительные условия:

  • Установите Vivox Building Block из Unity Asset Store.
  • Связать ваш проект Unity Editor с облачным проектом.
  • Включите службу Vivox в панели Unity для вашего проекта.
    • В отношении Unity Панель управления, учетные данные проекта доступны в разделе Продукты > Vivox голос и текст > Полномочия.
  • В Unity Editor, откройте меню настройки Vivox на Услуги > Вивокс > Конфигурация и заполнить поле учетными данными проекта Конфигурация среды полевых исследований.
    • Если проект Unity с учетными данными Vivox правильно связан с Редактором, но поля Конфигурации Среды не заполняются, вход и выход из режима Игры является вторичным способом принудительного обновления учетных данных.

Первоначальная настройка

Проверьте правильность установки Building Block, открыв сцену , включающую RosterWithVoiceAndText под Ассеты > Blocks > Вивокс > Сцены.

  1. Нажмите Играть, чтобы войти в режим воспроизведения.
  2. Введите отображаемое имя и имя канала, затем выберите Присоединиться к Каналу для подключения.
  3. Список канала теперь заполняется, и может отправлять и получать текстовые сообщения чата.

Каналы Vivox

Канал Vivox — это общее пространство для голосовой и текстовой коммуникации, к которому игроки подключаются по имени. Игроки, которые присоединились к одному и тому же каналу, используя одни и те же учетные данные проекта Unity, могут слышать и общаться друг с другом. Каналы ограничены вашим проектом, то же имя канала, используемое в другом проекте, создает полностью отдельное пространство без связи между ними.

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

Каналы не зависят от синхронизации игры. Они работают вместе с Netcode for GameObjects, Netcode for Entities или любым другим сетевым решением. Типичный поток соединения выглядит следующим образом:

  1. Инициализация Служб Unity.
  2. Аутентификация игрока.
  3. Подключитесь к игровой сети (например, используя Multiplayer Sessions).
  4. Присоединяйтесь к каналу Vivox.
  5. Загрузить игровую сцену.

Включенные ресурсы

Scene Описание
RosterWithVoiceAndText Комбинированный вид, показывающий форму присоединения к каналу, живой список подключенных игроков с говорящими индикаторами и управлением замолчанием, и текстовый чат панели. Настроено по умолчанию с ChatSettings_Group для стандартной группы голоса и текстового канала.
AudioDeviceSelector Автономная панель настройки аудио для выбора устройств входа и выхода и регулировки их громкости.

RosterWithVoiceAndText

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

ChannelRoster UXML:

  • ChannelName: Отображает имя канала, к которому Вы присоединились в данный момент.
  • PlayerCountLabel: Отображает количество участников в канале.
  • RosterList: Прокручиваемый список участников. Каждая запись показывает отображаемое имя игрока, индикатор речи, который анимирует, когда игрок передает аудио, и переключатель звукового сигнала. Переключатель звукового сигнала видим только тогда, когда локальный пользователь подключен к аудио.
  • CopyChannelName: Отображает и копирует текущее имя канала, так что другие игроки могут присоединиться.

TextChat UXML:

  • MessageLog: Прокручиваемая история текстовых сообщений, отправленных в канале.
  • MessageInput: Текстовое поле для составления сообщения.
  • SendButton: Отправляет составленное сообщение на канал.

JoinChannelMenu UXML (используется только для прототипирования и тестирования):

  • PlayerName: Текстовое поле для отображения имени игрока.
  • ChannelName: Текстовое поле для имени канала для присоединения.
  • JoinRoom: Присоединяется к указанному каналу, обрабатывая Vivox вход автоматически.

Примечание: Компоненты списка и текстового чата не зависят от JoinChannelMenu. Эти компоненты просматривают первый активный канал Vivox и заполняются автоматически, независимо от того, был ли этот канал уже присоединён при загрузке компонентов или присоединился позже. Вы можете заменить или удалить JoinChannelMenu полностью, и список и текстовый чат продолжают работать с любым каналом, к которому ваша игра присоединяется через Vivox SDK.

AudioDeviceSelector

AudioDeviceSelector имеет множество настроек для управления устройствами ввода и вывода.

  • InputDeviceDropdown: Список доступных устройств входа микрофона. Выбор одного из них делает его активным устройством входа.
  • InputVolumeSlider: Настройка громкости входного микрофона. Использует кривую звука для естественного управления.
  • OutputDeviceDropdown: Список доступных устройств аудиовывода. Выбор одного из них делает его активным устройством аудиовывода.
  • OutputVolumeSlider: Настраивает громкость выходного сигнала динамика. Использует кривую звука для естественного управления.

Присоединение к нескольким клиентам локально

Используйте Multiplayer Play Mode для тестирования с несколькими игроками прямо из Unity Editor.

Устранение неполадок

Многопользовательские услуги недоступны

Unity Services Core должен быть инициализован, прежде чем Vivox сможет функционировать. VivoxServiceInitializer префаб к вашей сцене для настройки нулевого конфигурирования. префаб включает ServicesInitialization, PlayerAuthenticationи инициализация Vivox в одном GameObjectВ качестве альтернативы добавить: ServicesInitialization и PlayerAuthentication компоненты по отдельности к вашей собственной инициализации GameObject.

Сбой аутентификации

Убедитесь, что Редактор включен и что Project ID установлен в Project Настройки > Услуги. Подтвердите включение службы в Unity Панель управления под аутентификацией и Vivox.

Не могу присоединиться к каналу

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

Игроки не могут слышать или видеть друг друга, несмотря на присоединение к одному и тому же имени канала

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

Нет звука после присоединения

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

Кнопка выключения звука не видна для участника

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

UI не показывает данные канала

Подтвердите корневую учетную запись UXML элемент имеет правильный ChannelSettings ассет, установленный в качестве источника данных в UI Builder. См. Конфигурация раздел для деталей.

Дополнительные ресурсы

  • Unity Услуги: Vivox Unity SDK
  • UI Toolkit
  • Unity Аутентификация