Chat Vocale

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Chat Vocale è una funzione che consente la comunicazione verbale in tempo reale tra te e altri giocatori. È disponibile solo per i luoghi che supportano un massimo di 100 giocatori.

Due utenti che comunicano a voce all'interno di un gioco.

Abilitare il Chat Vocale

Il Chat Vocale è abilitato per impostazione predefinita per gli utenti verificati di età superiore ai 13 anni in tutti i nuovi giochi con un massimo di 100 giocatori. Per attivare la voce per i giochi esistenti o disabilitarla per i nuovi:

  1. Apri il tuo gioco in Studio.
  2. Apri File ⟩ Impostazioni Esperienza.
  3. Naviga alla scheda Comunicazione sul lato sinistro della finestra.
  4. Attiva Abilita Chat Vocale con l'impostazione desiderata.
  5. OPZIONALE
    Per una comunicazione migliore tra i giocatori all'interno del tuo gioco, attiva Abilita Camera per consentire ai giocatori idonei di animare il proprio avatar con il loro movimento.
  6. Pubblica il luogo per salvare le modifiche.

Abilitando questa impostazione, gli utenti idonei di età superiore ai 13 anni possono optare per il Chat Vocale all'interno del tuo v. L'abilitazione del Chat Vocale è necessaria per utilizzare l'API di riconoscimento vocale.

Imposta il numero massimo di giocatori

Se hai precedentemente impostato il numero massimo di giocatori in un luogo a più di 100, dovrai ridurlo per supportare il Chat Vocale.

  1. Nella navigazione a sinistra della finestra Impostazioni Esperienza, seleziona Luoghi. Ogni luogo all'interno del tuo gioco viene visualizzato.
  2. Fai clic sul pulsante accanto al luogo con più di 100 giocatori, quindi seleziona Configura Luogo.
  3. Nel campo Max Players, inserisci un numero inferiore o uguale a 100.
  4. Fai clic sul pulsante Salva e poi pubblica per salvare le modifiche.

Quando aggiorni il numero massimo di giocatori in un luogo a meno di 100, potrebbero esserci server già configurati su un numero più alto. Poiché quei server non supporteranno il Chat Vocale, è consigliato riavviare i server.

Personalizza il comportamento vocale

Il Chat Vocale è basato sulla prossimità per impostazione predefinita, regolando il volume dei partecipanti in base alla loro vicinanza. Tuttavia, puoi impostare UseAudioApi su Enabled per controllare come vengono configurate e utilizzate le voci nel tuo gioco.

Se VoiceChatService non appare già:

  1. Fai clic con il tasto destro nella finestra Explorer e seleziona Mostra Servizi… dal menu contestuale.

  2. Seleziona VoiceChatService nella finestra pop-up e fai clic su Inserisci. Il servizio appare nella gerarchia di Explorer.

    VoiceChatService nella gerarchia di Explorer
  3. Con VoiceChatService selezionato, assicurati che UseAudioApi sia impostato su Enabled nella finestra Proprietà. Questo potrebbe già essere stato fatto per te.

Basato su squadre

Per implementare una chat basata su Team in cui solo i membri della squadra possono sentirsi, puoi utilizzare il seguente Script all'interno di ServerScriptService:

Chat di Squadra

local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Presuppone che ci sia solo un AudioDeviceInput per giocatore, parentato all'oggetto Player
-- Questo è fornito per te se VoiceChatService.EnableDefaultVoice è true
-- Potrebbe essere necessario rielaborarlo per la generalità se il tuo luogo colloca gli oggetti AudioDeviceInput altrove
return forPlayer:FindFirstChildWhichIsA("AudioDeviceInput")
end
local function onTeamChanged(player : Player)
local team = player.Team
if not team then return end
local device = findAudioInput(player)
if not device then return end
-- Permetti solo ai membri della squadra di sentirsi
device.AccessType = Enum.AccessModifierType.Allow
local allowed = {}
for _, player : Player in team:GetPlayers() do
table.insert(allowed, player.UserId)
end
device:SetUserIdAccessList(allowed)
end
local function onTeamAdded(team : Team)
team.PlayerAdded:Connect(onTeamChanged)
team.PlayerRemoved:Connect(onTeamChanged)
end
for _, team : Team in Teams:GetTeams() do
onTeamAdded(team)
end
Teams.ChildAdded:Connect(function(child : Instance)
if child:IsA("Team") then
onTeamAdded(child)
end
end)

Non spaziale

A seconda delle necessità del tuo gioco, potrebbe avere più senso sentire gli altri con volume uguale, indipendentemente dalla loro posizione geografica. Se disattivi la chat vocale predefinita, puoi poi implementare la chat vocale non spaziale attraverso il seguente Script all'interno di ServerScriptService:

Chat Non-Prossimale

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function wireUp(source : Instance, target : Instance)
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = source
end
-- Imposta un cursore globale del volume per la voce di tutti
local volumeSlider = Instance.new("AudioFader", Workspace)
local output = Instance.new("AudioDeviceOutput", Workspace)
wireUp(volumeSlider, output)
local function onPlayerAdded(player : Player)
local device = Instance.new("AudioDeviceInput", player)
device.Player = player
-- Inoltra l'input del microfono di ogni nuovo giocatore al cursore del volume globale
wireUp(device, volumeSlider)
end
for _, player in Players:GetPlayers() do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
LocalScript

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local function onDescendantAdded(descendant : Instance)
if descendant:IsA("Wire") then
descendant:Destroy()
end
end
for _, descendant in player:GetDescendants() do
onDescendantAdded(descendant)
end
player.DescendantAdded:Connect(onDescendantAdded)

Disabilita per luogo

Se non vuoi abilitare il Chat Vocale per ogni luogo all'interno del tuo gioco, puoi disabilitarlo all'interno di luoghi specifici che altrimenti sarebbero idonei per la chat vocale.

Per disabilitare il Chat Vocale per un luogo specifico all'interno di un gioco:

  1. Fai clic con il tasto destro nella finestra Explorer e seleziona Mostra Servizi… dal menu contestuale.

  2. Seleziona VoiceChatService nella finestra pop-up e fai clic su Inserisci. Il servizio appare nella gerarchia di Explorer.

    VoiceChatService nella gerarchia di Explorer
  3. Con VoiceChatService selezionato, disabilita EnableDefaultVoice nella finestra Proprietà.

  4. Pubblica il luogo per salvare le modifiche e riavvia i server per assicurarti che la modifica abbia effetto per tutti i server attualmente in esecuzione nel tuo gioco.

Controlla stato

Puoi controllare se un giocatore ha abilitato il Chat Vocale chiamando IsVoiceEnabledForUserIdAsync() in un LocalScript, o in un Script con RunContext impostato su Enum.RunContext.Client.

Script Client - Controlla Stato del Chat Vocale

local Players = game:GetService("Players")
local VoiceChatService = game:GetService("VoiceChatService")
local localPlayer = Players.LocalPlayer
local success, enabled = pcall(function()
return VoiceChatService:IsVoiceEnabledForUserIdAsync(localPlayer.UserId)
end)
if success and enabled then
print("Chat Vocale abilitata!")
end
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.