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 chattano con la 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 secondo le tue impostazioni desiderate.
  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 loro 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 attivare il Chat vocale in qualsiasi gioco che supporti la funzione. L'abilitazione del Chat vocale è necessaria per utilizzare l'API di riconoscimento vocale.

Imposta il numero massimo di giocatori

Se in precedenza hai 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 verrà 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 a un numero diverso e più alto. Poiché quei server non supporteranno il Chat vocale, è consigliabile riavviare i server.

Personalizza il comportamento vocale

Il Chat vocale è basato sulla prossimità per impostazione predefinita, regolando il volume dei partecipanti in base a quanto sono vicini tra loro. Tuttavia, puoi impostare UseAudioApi su Enabled per controllare come le voci sono impostate e utilizzate nel tuo gioco.

Se VoiceChatService non appare già:

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

  2. Seleziona VoiceChatService nella finestra popup e fai clic su Inserisci. Il servizio appare nella gerarchia di Esplora.

    VoiceChatService nella gerarchia di Esplora
  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 generalità se il tuo luogo posiziona 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 esigenze del tuo gioco, potrebbe avere più senso sentire gli altri con lo stesso volume, indipendentemente dalla loro posizione geografica. Se disattivi il Chat vocale predefinito, puoi quindi implementare il Chat vocale non spaziale attraverso il seguente Script all'interno di ServerScriptService:

Chat non-prossimità
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 di volume globale 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 di 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 desideri 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 voce.

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

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

  2. Seleziona VoiceChatService nella finestra popup e fai clic su Inserisci. Il servizio appare nella gerarchia di Esplora.

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

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

Controlla lo 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 lo 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.