Audio
Только client Аудио API недоступен в server.lua Reflex-модуля.
Как обрабатывается звук
Заголовок раздела «Как обрабатывается звук»GetSound() загружает audio clip из ресурсов текущего модуля. PlaySound2D() передаёт его локальному непространственному проигрывателю, а PlaySound() создаёт пространственное воспроизведение в мировой позиции; сервер и другие игроки этот вызов не получают.
VoiceChat управляет состоянием локального voice-room клиента, а VoiceLinePlayer только раскрывает данные уже запущенной игровой реплики. Отображение subtitle выполняет отдельный встроенный HUD-модуль.
Где слышен и виден результат
Заголовок раздела «Где слышен и виден результат»| Вызов или объект | Результат |
|---|---|
Sounds:GetSound() |
Только загружает ресурс. Звук ещё не воспроизводится. |
Sounds:PlaySound() |
Локально воспроизводит пространственный звук из указанной точки мира. Громкость зависит от расстояния до камеры. |
Sounds:PlaySound2D() |
Локально воспроизводит непространственный звук с одинаковой громкостью в обоих каналах. |
VoiceChat:SetMuted() / ToggleMuted() |
Меняет только то, слышит ли локальный игрок выбранного агента. Отдельного уведомления на экране нет. |
VoiceLinePlayer.Subtitle |
Только возвращает текущий текст. Стандартные субтитры выводит встроенный модуль HudSubtitles в нижней части экрана. |
Окно стандартных субтитров расположено по центру примерно на уровне 75% высоты экрана. Игрок может изменить его положение в редакторе HUD; при отключённом или заменённом HudSubtitles свойство продолжит работать, но стандартный текст не появится.
Быстрый пример
Заголовок раздела «Быстрый пример»Поместите Alert.wav в папку sounds модуля:
local sound = Sounds:GetSound("Alert.wav")
if sound ~= nil then Sounds:PlaySound2D(sound, 0.7, 1)endЗагруженный звуковой ресурс. Объект передаётся в методы Sounds.
Глобальный API загрузки и воспроизведения звуков.
GetSound
Заголовок раздела «GetSound»Sounds:GetSound(soundName: string): SoundИщет файл в папке sounds текущего модуля. Имя указывается с расширением, но без пути к папке. Поддерживаются форматы .wav, .mp3 и .ogg. Для отсутствующего файла возвращает nil.
| Параметр | Тип | Необязательный | Описание |
|---|---|---|---|
soundName |
string | Имя файла, например Alert.wav. |
Возвращает: Sound или nil
PlaySound
Заголовок раздела «PlaySound»Sounds:PlaySound( sound: Sound, position: Vector3, volume: number = 1, minDistance: number = 5, maxDistance: number = 500, pitch: number = 1)Проигрывает пространственный звук в указанной точке мира. Вызов возвращает nil.
| Параметр | Тип | Необязательный | Описание |
|---|---|---|---|
sound |
Sound | Загруженный звуковой ресурс. | |
position |
Vector3 | Позиция источника в мировых координатах. | |
volume |
number | ✅ | Громкость звука. |
minDistance |
number | ✅ | Расстояние, внутри которого сохраняется полная громкость. |
maxDistance |
number | ✅ | Расстояние, к которому звук затихает. |
pitch |
number | ✅ | Высота тона и скорость воспроизведения. |
PlaySound2D
Заголовок раздела «PlaySound2D»Sounds:PlaySound2D(sound: Sound, volume: number = 1, pitch: number = 1)Проигрывает звук без пространственного позиционирования. Вызов возвращает nil.
| Параметр | Тип | Необязательный | Описание |
|---|---|---|---|
sound |
Sound | Загруженный звуковой ресурс. | |
volume |
number | ✅ | Громкость от 0 до 1. |
pitch |
number | ✅ | Высота тона и скорость воспроизведения. |
VoiceChat
Заголовок раздела «VoiceChat»Состояние голосового чата для указанного агента.
IsAvailable
Заголовок раздела «IsAvailable»VoiceChat:IsAvailable(agent: Agent): boolВозвращает true, если агент доступен в текущей голосовой комнате. При недоступном соединении возвращает false.
IsMuted
Заголовок раздела «IsMuted»VoiceChat:IsMuted(agent: Agent): boolВозвращает локальное состояние заглушения агента.
IsSpeaking
Заголовок раздела «IsSpeaking»VoiceChat:IsSpeaking(agent: Agent): boolВозвращает true, если агент сейчас говорит в доступной голосовой комнате.
SetMuted
Заголовок раздела «SetMuted»VoiceChat:SetMuted(agent: Agent, muted: bool): boolЛокально заглушает или разглушает агента. Возвращает true, если EOS принял запрос на изменение состояния. Возвращает false, если агент недоступен, голосовая комната не подключена или запрос нельзя отправить.
ToggleMuted
Заголовок раздела «ToggleMuted»VoiceChat:ToggleMuted(agent: Agent): boolЧитает текущее локальное состояние, переключает его и возвращает результат отправки запроса. При ошибке возвращает false.
Для всех методов параметр agent имеет тип Agent.
VoiceLinePlayer
Заголовок раздела «VoiceLinePlayer»Состояние встроенного проигрывателя голосовых реплик.
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
IsPlaying |
bool | get |
true, если сейчас проигрывается голосовая реплика. |
Subtitle |
string | get |
Текст субтитров текущей реплики. |