Suoni di gioco

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

Oltre alla musica di sottofondo, l'audio in gioco può migliorare l'esperienza di un Giocatore. Questo tutorial tratterà due forme di suoni in gioco: posizione e feedback suoni.

Per il primo esempio, creerai un suono posizionale per una cascata. Nel secondo esempio, uno script verrà utilizzato per riprodurre un jingle quando i giocatori toccano un oggetto da collezione.

Suoni posizionali

Quando un oggetto Suono è parented a part orattachment, diventa posizionale. L'audio emette dalla sua posizione e cresce più forte man mano che i giocatori si avvicinano, come nel caso di questa cascata.

Crea un Suono

  1. In qualsiasi parte desiderata, crea un nuovo oggetto Suono chiamato WaterfallSound .

  2. Nelle proprietà, trova SoundId e cambialo in questa ambientazione waterfall: rbxassetid://6564308795 .

  3. Per il riproduzione continua quando il gioco inizia, attiva Giocando e Looped per essere su .

  4. Prova il gioco per confermare di sentire l'ambiente della cascata.

Regola la distanza del suono

Nota quando testi, l'audio viene riprodotto immediatamente, anche se il giocatore è lontano dall'oggetto. Usando le proprietà di avvolgimento, puoi modificare la distanza in cui un giocatore ascolta un suono per creare effetti di scomparsa.

  1. Cambia il RollOffMaxDistance in 30 . Questa proprietà è misurata in studs.

  2. Per un passaggio più morbido, cambia il RollOffMode in InverseTapered . Ciò rende l'avvicinamento al suono meno improvviso.

  3. Esegui il progetto. Nota come il suono viene ascoltato solo vicino all'oggetto.

Ottimizzazione fine della rollement

A seconda delle tue esigenze, potresti voler regolare diverse proprietà per effetti speciali o realismo aumentato. Vedi le seguenti proprietà:

  • RollOffMinDistance - La distanza minima (in studs) una sona diminuisce in volume.
  • SoundGroup - Usato per regolare il volume tra i gruppi di suoni, come la musica di sottofondo e gli effetti di gioco.

Risposte di feedback

I suoni possono essere riprodotti utilizzando gli script. Puoi collegare i suoni a eventi, come i giocatori che toccano una parte o interagiscono con un menu. Qui, creerai uno script che riproduce un campanello ogni volta che i giocatori toccano oggetti preziosi da toccare.

Configora i collezionabili

Il resto di questo tutorial usa un modello pre-made. Questo modello include parti e script in modo che i giocatori possano raccogliere gemme.

  1. In un browser, apri la pagina Modelli di gemme da collezione e fai clic sul pulsante Ottieni .
  • Nello Studio, vai alla scheda Visualizza e fai clic sulla Toolbox .
  • Nella finestra InToolbox, fai clic sul pulsante Inventario . Quindi, assicurati che il menu a discesa sia selezionato I miei modelli .
  • Seleziona il modello Gemme da collezione per aggiungerlo al Gioco.
  1. In SoundService , crea un nuovo Sound chiamato FeedbackSound .

  2. In FeedbackSound, imposta il SoundId a rbxassetid://4110925712 - il SoundId del semplice chime scaricato dalla pagina del modello.

Configura lo script

  1. In StarterPlayer > StarterPlayerScripts , crea uno script locale nuovo chiamato CollezionabiliSuoni .

  2. Il codice seguente eseguirà la funzione partTouched ogni volta che il giocatore tocca un oggetto da collezione. Copia il codice nel tuo script.


    local pickupObjects = workspace.Collectables.Objects
    local objectsArray = pickupObjects:GetChildren()
    local function partTouched(otherPart, objectPart)
    local whichCharacter = otherPart.Parent
    local humanoid = whichCharacter:FindFirstChildWhichIsA("Humanoid")
    if humanoid and objectPart.CanCollide == true then
    end
    end
    -- Abbina ogni parte dell'oggetto alla funzione di tocco in modo che funzioni su tutte le parti
    for objectIndex = 1, #objectsArray do
    local objectPart = objectsArray[objectIndex]
    objectPart.Touched:Connect(function(otherPart)
    partTouched(otherPart, objectPart)
    end)
    end

Riproduci un suono

  1. Crea una variabile per SoundService , quindi un'altra variabile per memorizzare il feedback sound .


    local pickupObjects = workspace.Collectables.Objects
    local objectsArray = pickupObjects:GetChildren()
    local SoundService = game:GetService("SoundService")
    local feedbackSound = SoundService:FindFirstChild("FeedbackSound")
    local function partTouched(otherPart, objectPart)
  2. Per suonare il campanello, trova la funzione partTouched . All'interno della dichiarazione if, chiama feedbackSound:Play() per suonare il suono.


    local function partTouched(otherPart, objectPart)
    local whichCharacter = otherPart.Parent
    local humanoid = whichCharacter:FindFirstChildWhichIsA("Humanoid")
    -- Riproduci il suono, una volta terminato, distruggi l'oggetto
    if humanoid and objectPart.CanCollide == true then
    feedbackSound:Play()
    end
    end
  3. Prova il gioco per confermare che quando il giocatore tocca un oggetto da collezione, scompare entrambe e riproduce un suono.