Dźwięki w grze

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Oprócz muzyki tła, w grze audio może ulepszyć doświadczenie gracza. Ten samouczek pokrywa dwa rodzaje dźwięków w grze: pozycjonalne i opinii dźwięki.

Dla pierwszego przykładu stworzysz pozycyjny dźwięk dla wodospadu. W drugim przykładzie zostanie użyty skrypt, aby odtwarzać dzwonek, gdy gracze dotykają zbieralnego.

Dźwięki pozycjonalne

Gdy obiekt Dźwięk jest powiązany z częścią lub załącznikiem, staje się pozycyjny. Dźwięk będzie emitować z jego lokalizacji i będzie rosło głośniej, gdy gracze zbliżają się, jak w przypadku tego wodospadu.

Utwórz Dźwięk

  1. W dowolnej pożądanej części, utwórz nowy obiekt Dźwięk o nazwie WaterfallSound .

  2. W właściwościach znajdź SoundId i zmień go na tę wodną ambientę: rbxassetid://6564308795 .

  3. Dla ciągłego odtwarzania, gdy gra się uruchamia, przełącz Graszenie i Pętanie aby być na .

  4. Sprawdź grę, aby potwierdzić, że słyszysz atmosferę wodnego upadku.

Dostosuj dystans dźwiękowy

Zauważ, gdy testujesz, grający dźwięk natychmiastowo, nawet jeśli gracz jest daleko od obiektu. Używając właściwości roll-off, możesz zmienić dystans, w którym słucha dźwięku gracz, aby stworzyć efekty zanikania.

  1. Zmień RollOffMaxDistance na 30 . Ta wartość jest mierzona w studs.

  2. Dla gładszego zanikania zmień RollOffMode na InverseTapered . To sprawia, że podejście do dźwięku czuje się mniej niespodziewane.

  3. Zacznij projekt. Zauważ, jak dźwięk słyszalny jest tylko w pobliżu obiektu.

Doskonała optymalizacja zatrzymania

W zależności od potrzeb możesz dostosować różne właściwości do efektów specjalnych lub zwiększonej rzeczywistości. Zobacz następujące właściwości:

  • RollOffMinDistance - Minimalna odległość (w studs) zmniejsza wolumen dźwięku.
  • SoundGroup - Używany do dostosowania i zrównoważenia głośności pomiędzy grupami dźwięków, takimi jak muzyka tła i efekty w grze.

Dźwięki zwrotów

Dźwięki można odtwarzać przy użyciu skryptów. Możesz powiązać dźwięki z wydarzeniami, takimi jak dotykanie części lub interakcja z menu. Tutaj stworzysz skrypt, który odtwarza dzwonek, gdy gracze dotykają zbieralnych przedmiotów.

Ustaw kolekcjonatki

Pozostała część tego samouczka używa gotowego modelu. Ten model zawiera części i skrypcje, aby gracze mogli zbierać klejnoty.

  1. W przeglądarkaotwórz stronę Model klejnotów do zbierania i kliknij przycisk Zdobądź.
  • W Studio, przejdź do zakładki Zobacz i kliknij na Skrzynię narzędzi.
  • W oknie Skrzynki narzędzi, kliknij na przycisk Inventar. Następnie upewnij się, że menu rozwinięte jest na Mój model.
  • Wybierz model Kolczyki do zbierania , aby dodać go do gra.
  1. W SoundService utwórz nowy Dźwięk o nazwie FeedbackSound .

  2. W FeedbackSound ustaw SoundId na rbxassetid://4110925712 - SoundId prostego dzwonu z modelu.

Konfiguruj Skrypt

  1. W StarterPlayer > StarterPlayerScripts , utwórz nowy lokalny skrypt nazyający się CollectableSounds .

  2. Poniżej kod będzie wykonywał funkcję partTouched, gdy gracz dotknie zbieralnego. Kopiuj kod w swoim skrypcie.


    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
    -- Związuje każdą część obiektu z funkcją dotykową, aby działał na wszystkich częściach
    for objectIndex = 1, #objectsArray do
    local objectPart = objectsArray[objectIndex]
    objectPart.Touched:Connect(function(otherPart)
    partTouched(otherPart, objectPart)
    end)
    end

Odtwarzanie dźwięku

  1. Utwórz zmienne dla SoundService , a następnie inną zmienną do przechowywania dźwięku zwrotnego .


    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. Aby grać na dzwoneczku, znajdź funkcję partTouched. W feedbackSound:Play() wezwij feedbackSound:Play() , aby odtwarzyć dźwięk.


    local function partTouched(otherPart, objectPart)
    local whichCharacter = otherPart.Parent
    local humanoid = whichCharacter:FindFirstChildWhichIsA("Humanoid")
    -- Zagraj dźwięk, po zakończeniu, zniszcz obiekt
    if humanoid and objectPart.CanCollide == true then
    feedbackSound:Play()
    end
    end
  3. Sprawdź grę, aby potwierdzić, że gdy gracz dotyka zbieralnego, zniknie i odtwarza dźwięk.