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 > Вивокс > Сцены.
- Нажмите Играть, чтобы войти в режим воспроизведения.
- Введите отображаемое имя и имя канала, затем выберите Присоединиться к Каналу для подключения.
- Список канала теперь заполняется, и может отправлять и получать текстовые сообщения чата.
Каналы Vivox
Канал Vivox — это общее пространство для голосовой и текстовой коммуникации, к которому игроки подключаются по имени. Игроки, которые присоединились к одному и тому же каналу, используя одни и те же учетные данные проекта Unity, могут слышать и общаться друг с другом. Каналы ограничены вашим проектом, то же имя канала, используемое в другом проекте, создает полностью отдельное пространство без связи между ними.
Каналы легкие, они не требуют хоста, выделенного сервера или сессии, что делает их простыми в использовании в любой многопользовательской настройке.
Каналы не зависят от синхронизации игры. Они работают вместе с Netcode for GameObjects, Netcode for Entities или любым другим сетевым решением. Типичный поток соединения выглядит следующим образом:
- Инициализация Служб Unity.
- Аутентификация игрока.
- Подключитесь к игровой сети (например, используя Multiplayer Sessions).
- Присоединяйтесь к каналу Vivox.
- Загрузить игровую сцену.
Включенные ресурсы
| 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 Аутентификация