Objek suara

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Pemutaran audio terjadi melalui objek Sound yang memancarkan audio dalam sebuah permainan. Roblox memberikan setiap aset audio ID unik yang dapat Anda tetapkan ke objek Sound untuk memutar efek suara atau trek musik tertentu. Anda dapat mengatur audio ini untuk diputar secara otomatis saat runtime, atau memicunya untuk diputar dari skrip.

Untuk memodifikasi pemutaran beberapa objek Sound, Anda dapat menetapkannya ke grup suara dan mengontrol volume seluruh grup, serta menerapkan efek dinamis.

Buat objek suara

Ada tiga lokasi di mana Anda dapat membuat objek Sound, dan setiap lokasi menentukan bagaimana audio dipancarkan dan perubahan volume sehubungan dengan posisi pengguna dalam permainan.

LokasiBagaimana audio dipancarkanBagaimana perubahan volume
Anak dari blok, bola, atau silinder BasePart.Audio dipancarkan ke luar dari seluruh permukaan bagian tersebut.Volume berubah tergantung pada jarak antara pendengar suara pengguna dan posisi bagian tersebut, serta ukurannya.
Anak dari Attachment, MeshPart, TrussPart, WedgePart, atau CornerWedgePart.Audio dipancarkan ke luar dari titik lampiran tunggal atau pusat bagian.Volume berubah tergantung pada jarak antara pendengar suara pengguna dan posisi lampiran/bagian.
Di dalam SoundService atau Workspace.Audio dipancarkan di seluruh permainan.Volume dan posisi pan tetap sama terlepas dari posisi atau rotasi pendengar suara pengguna.

Audio Posisi

Audio posisi adalah audio yang hanya dapat didengar pengguna dekat dengan posisi tertentu dalam permainan. Ada dua jenis audio posisi yang dapat Anda gunakan: volumetrik dan sumber titik.

Volumetrik

Audio volumetrik adalah opsi audio yang paling realistis, karena secara dinamis berubah tergantung pada posisi pengguna terhadap sumber audio. Misalnya, jika pengguna berada di dalam BasePart dengan objek Sound anak, audio diputar di sekitar pengguna, mirip dengan musik di headphone yang diputar dengan volume yang sama di setiap speaker. Ketika pengguna keluar dari bagian tersebut, audio secara bertahap menurun dalam volume dan menjadi lebih arah per speaker, bergerak di sekitar kepala pengguna saat pendengar mereka berputar. Untuk informasi tentang properti yang mengontrol seberapa keras audio Anda pada jarak yang berbeda dari bagian tersebut, lihat RollOffMinDistance dan RollOffMaxDistance.

Ukuran BasePart juga mempengaruhi volume audio, karena BaseParts yang lebih besar menghasilkan area yang lebih luas di mana pengguna dapat mendengar audio dan ketika pengguna menjauh dari BasePart yang besar, volume menurun lebih lambat. Contoh berikut menampilkan BasePart yang berukuran kota dengan objek Sound yang memutar audio ambient. Pengguna A dan B mengalami audio dengan cara yang berbeda: pengguna B lebih dekat ke BasePart yang besar, dan mereka sebagian besar mendengar audio dengan kekuatan yang sama di kedua speaker. Sebaliknya, pengguna A lebih jauh dari kota, sehingga audio yang mereka dengar lebih pelan dan lebih terarah daripada pengguna B, diputar dengan kekuatan yang berbeda di masing-masing speaker mereka.

Audio volumetrik berguna untuk audio apa pun yang perlu imersif di sekitar pengguna dan berubah secara dinamis tergantung pada posisi pengguna, seperti panggung konser atau zona ambience seperti hujan. Ketika Anda bereksperimen dengan menempatkan objek Sound pada BaseParts dengan ukuran dan posisi yang berbeda dari pengguna, Anda dapat mendengar seberapa imersif audio volumetrik dapat menjadi.

Untuk membuat objek Sound untuk audio volumetrik:

  1. Di jendela Explorer, pilih SoundService.

  2. Di jendela Properties, navigasikan ke properti VolumetricAudio, lalu atur ke Enabled.

  3. Di jendela Explorer, arahkan mouse ke BasePart, lalu klik tombol ⊕. Menu kontekstual ditampilkan.

  4. Dari menu, masukkan Sound.

  5. Di jendela Properties, navigasikan ke properti SoundId dan masukkan ID aset audio yang valid.

  6. OPTIONAL
    Jika Anda ingin audio mulai diputar saat permainan dimulai, aktifkan properti Playing.

Sumber titik

Berlawanan dengan audio volumetrik, audio sumber titik hanya dipancarkan dari satu sumber titik tunggal. Jenis audio ini berguna untuk ledakan, suara dampak, perangkat elektronik, dan dialog.

Untuk membuat objek Sound untuk audio sumber titik:

  1. Di jendela Explorer, arahkan mouse ke lampiran, truss, wedge, atau corner wedge, lalu klik tombol ⊕. Menu kontekstual ditampilkan.
  2. Dari menu, masukkan Sound.
  3. Di jendela Properties, navigasikan ke properti SoundId dan masukkan ID aset audio yang valid.
  4. OPTIONAL
    Jika Anda ingin audio mulai diputar saat permainan dimulai, aktifkan properti Playing.

Audio Latar Belakang

Audio latar belakang diputar dengan volume yang sama tidak peduli ke mana pengguna pergi dalam permainan Anda. Jenis audio ini berguna untuk musik yang ingin Anda putar untuk pengguna, terutama ketika Anda ingin membuat soundtrack dari beberapa file audio.

Sebaiknya simpan semua objek Sound untuk audio latar belakang di satu lokasi dalam Workspace untuk tujuan organisasi saat Anda terus menambahkan dan mengedit audio dalam permainan Anda. Contoh berikut menyimpan objek Sound baru di bawah wadah SoundService, karena layanan ini menentukan bagaimana objek Sound diputar dalam permainan.

Untuk membuat objek Sound untuk audio latar belakang:

  1. Di jendela Explorer, arahkan mouse ke SoundService, lalu klik tombol ⊕. Menu kontekstual ditampilkan.
  2. Dari menu, masukkan Sound.
  3. Di jendela Properties, navigasikan ke properti SoundId dan masukkan ID aset audio yang valid.
  4. OPTIONAL
    Jika Anda ingin audio mulai diputar saat permainan dimulai, aktifkan properti Playing.
  5. OPTIONAL
    Jika objek Sound ini adalah satu-satunya trek yang ingin Anda putar di tempat tersebut, aktifkan properti Looped.

Kustomisasi objek suara

Properti objek Sound bekerja sama untuk mempengaruhi bagaimana pengguna mengalami audio Anda, seperti:

  • Seberapa keras mereka mendengar audio tertentu secara individu dan sehubungan satu sama lain (Volume).
  • Bagaimana mereka mempersepsikan volume saat mereka menjauh dari sumber audio (RollOffMinDistance, RollOffMaxDistance, dan RollOffMode)
  • Bagian mana dari audio yang dapat mereka dengar (TimePosition).
  • Seberapa cepat dan pada nada apa mereka mendengarnya (PlaybackSpeed).
  • Jika audio secara otomatis diputar ulang setelah selesai (Looped).

Volume

Properti Volume memungkinkan Anda mengatur volume audio Anda dari 0 (diam) hingga 10 (menggelegar). Jika Anda ingin mengubah volume beberapa objek Sound sekaligus, tempatkan mereka di bawah grup suara.

RollOffMinDistance dan RollOffMaxDistance

RollOffMinDistance dan RollOffMaxDistance menentukan rentang bagaimana pengguna mempersepsikan volume dari audio posisi. Untuk audio volumetrik, RollOffMinDistance adalah jarak minimum dalam stud di mana audio mulai menurun dalam volume ketika pendengar klien menjauh dari BasePart induk, dan properti RollOffMaxDistance adalah jarak maksimum dalam stud di mana pendengar klien dapat mendengar audio dari permukaan objek.

Untuk audio sumber titik, RollOffMinDistance dan RollOffMaxDistance bekerja mirip dengan audio volumetrik, tetapi jarak roll off yang dikontrol oleh properti ini tidak mengelilingi objek, hanya mempengaruhi jarak ke luar dari sumber titik.

RollOffMode

Properti RollOffMode memungkinkan Anda memutuskan bagaimana audio memudar seiring dengan meningkatnya jarak antara pendengar pengguna dan induk objek Sound. Anda dapat mengatur properti ini ke salah satu dari empat nilai enum Enum.RollOffMode.

RollOffModeDeskripsi
Inverse (default)Volume awalnya memudar secara mendadak dari RollOffMinDistance, tetapi pemudaran volume menjadi lebih bertahap semakin dekat pengguna mencapai RollOffMaxDistance. Setelah mereka mencapai RollOffMaxDistance, audio menjadi hening.
LinearVolume memudar secara linier antara RollOffMinDistance dan RollOffMaxDistance. Setelah pengguna mencapai RollOffMaxDistance, audio menjadi hening.
InverseTaperedVolume mengikuti model invers ketika dekat dengan RollOffMinDistance dan model kuadrat linier ketika pengguna dekat dengan RollOffMaxDistance. Audio mendekati keheningan di titik jarak maksimum.
LinearSquareVolume memudar antara RollOffMinDistance dan RollOffMaxDistance dengan hubungan kuadrat linier. Audio mendekati keheningan di titik jarak maksimum.

PlaybackSpeed

Properti PlaybackSpeed memungkinkan Anda menentukan kecepatan audio Anda diputar. Misalnya, jika Anda mengatur PlaybackSpeed ke nilai 2, audio Anda diputar dua kali lebih cepat dan satu oktaf lebih tinggi dalam nada. Demikian pula, jika Anda mengatur ke nilai 0.5, audio Anda diputar dua kali lebih lambat dan satu oktaf lebih rendah dalam nada.

TimePosition

Properti TimePosition menampilkan, dalam detik, posisi mana dalam sampel audio yang saat ini didengar pengguna. Properti ini berguna untuk hanya memutar bagian dari sampel audio, atau memicu suatu peristiwa terjadi setelah audio mencapai posisi tertentu. Misalnya, cuplikan kode berikut menyebabkan emitter partikel memancarkan partikel cincin putih di atas bagian dalam rentang waktu terbatas dari trek audio.

local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
-- Buat bagian baru
local part = Instance.new("Part")
part.Anchored = true
part.Color = Color3.new(0.75, 0.2, 0.5)
part.Size = Vector3.new(2, 1, 2)
part.Material = Enum.Material.Neon
part.Position = Vector3.new(0, 4, 0)
part.Parent = Workspace
-- Buat lampiran pada bagian
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Buat emitter partikel pada lampiran
local emitter = Instance.new("ParticleEmitter")
emitter.Rate = 5
emitter.Lifetime = NumberRange.new(1.5, 1.5)
emitter.Texture = "rbxassetid://1266170131"
emitter.Speed = NumberRange.new(1, 1)
emitter.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(1, 6)}
emitter.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.25, 0), NumberSequenceKeypoint.new(1, 1)}
emitter.Orientation = Enum.ParticleOrientation.VelocityPerpendicular
emitter.Parent = attachment
-- Buat suara pada lampiran
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Putar suara
sound:Play()
-- Mulai memeriksa apakah emitter harus diaktifkan
RunService.Heartbeat:Connect(function()
-- Aktifkan emitter dalam rentang waktu audio; jika tidak, nonaktifkan
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)

Looped

Properti Looped memungkinkan Anda mengulang audio setelah selesai diputar. Ketika diatur ke true, audio objek Sound diputar lagi. Ini berguna untuk diterapkan pada audio latar belakang untuk memastikan permainan Anda tidak pernah mengalami keheningan mendadak.

Objek suara skrip

Putar audio secara kontekstual

Selain memutar audio secara otomatis melalui properti Sound objek Playing, Anda dapat memutar audio secara kontekstual dari LocalScript dengan memanggil Play() pada objek Sound yang sesuai. Misalnya:

local Workspace = game:GetService("Workspace")
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = Workspace
sound:Play()

Sebagai alternatif, jika tempat tersebut akan menampilkan beberapa trek, Anda dapat memutar trek tertentu dari LocalScript:

local SoundService = game:GetService("SoundService")
local musicTrack = SoundService:FindFirstChild("LucidDream")
if not musicTrack.IsPlaying then
musicTrack:Play()
end

Putar audio antarmuka

Anda dapat memutar audio antarmuka untuk GuiObjects seperti tombol dengan menghubungkan objek Sound ke pendengar acara Activated. Ini memungkinkan Anda memberikan umpan balik auditori kepada pengguna, seperti saat mereka mengarahkan mouse atau menekannya.

Untuk memutar audio objek Sound saat pengguna mengaktifkan TextButton atau ImageButton:

  1. Di jendela Explorer, arahkan mouse ke TextButton atau ImageButton, lalu klik tombol ⊕. Menu kontekstual ditampilkan.
  2. Dari menu, masukkan baik LocalScript atau Script dengan RunContext diatur ke Enum.RunContext.Client.
  3. Tempelkan kode berikut ke dalam skrip, lalu ganti SOUND_NAME dengan nama objek Sound yang terletak di dalam wadah SoundService.
local SoundService = game:GetService("SoundService")
local button = script.Parent
local sound = SoundService:FindFirstChild("SOUND_NAME")
if not sound.isLoaded then
sound.Loaded:Wait()
end
local function onButtonActivated()
if sound and not sound.IsPlaying then
sound:Play()
end
end
button.Activated:Connect(onButtonActivated)
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.