Pemutaran audio terjadi melalui Sound objek yang menyiarkan audio dalam pengalaman. Roblox menetapkan setiap audio aset unik yang dapat Anda atribusikan ke objek Sound untuk memutar efek suara atau lagu tertentu. Anda dapat mengatur audio ini untuk dimainkan secara otomatis sa
Untuk mengubah pemutaran banyak objek Sound, Anda dapat menetapkan mereka ke kelompok suara dan mengontrol volume grupsecara keseluruhan, serta menerapkan efek dinamis .
Menciptakan Objek Suara
Ada tiga lokasi di mana Anda dapat membuat objek Sound, dan setiap lokasi menentukan cara audio bermitsar dan perubahan volume dalam hubungannya dengan posisi pengguna dalam pengalaman.
Lokasi | Bagaimana Audio Emits | Bagaimana Perubahan Volume |
---|---|---|
Anak dari blok, bola, atau silinder BasePart . | Audio menyuar dari seluruh permukaan bagian. | Volume berubah tergantung pada jarak antara pendengar suara pengguna dan posisi bagian, serta ukurannya. |
Anak dari Class.附Child , Class.MeshPart , Class.TrussPart , Class.WedgePart , atau Class.CornerWedgePart . | Audio berkeluar dari satu titik atau pusat penghubung tunggal. | Volume berubah tergantung pada jarak antara pendengar suara pengguna dan posisi lampiran/bagian. |
Dalam SoundService atau Workspace . | Audio berkembang di seluruh pengalaman. | Volume dan posisi pan tetap sama terlepas dari posisi pendengar suara pengguna atau rotasi. |
Audio Posisional
Audio posisional adalah audio yang hanya dapat didengar pengguna hanya dekat lokasi tertentu dalam pengalaman. Ada dua jenis posisional audio yang dapat Anda gunakan: volumetrik dan sumber titik.
Volume
Audio volumetrik adalah pilihan audio yang paling realistis, karena berubah secara dinamis tergantung pada posisi pengguna terhadap sumber audio. Misalnya, jika pengguna berada dalam
Ukuran <
Audio volumetrik berguna untuk setiap audio yang perlu menjadi imersif di sekitar pengguna dan berubah secara dinamis tergantung pada posisi pengguna, seperti panggung konser atau zona ambient seperti hujan. Saat Anda bereksperimen dengan menempatkan objek Sound di Class.BasePart|BaseParts dari berbagai ukuran dan posisi dari peng
Untuk membuat objek Sound untuk audio volumetrik:
Di jendela Explorer , pilih SoundService .
Di jendela Properti , navigasikan ke Audio Volumetrik property, lalu atur ke Aktif .
Di jendela Explorer , geser atas BasePart, lalu klik tombol ⊕. Menu konteks dibuat.
Dari menu, sisipkan Suara .
Di jendela Properti , navigasikan ke SoundId property dan masukkan ID 资源音效 yang valid.
(Opsional) Jika Anda ingin audio dimulai bermain ketika pengalaman dimulai, aktifkan properti Bermain .
Sumber Titik
Sebagai alternatif dari audio volumetrik, audio sumber titik hanya bermunculan dari satu titik sumber. Jenis audio ini berguna untuk ledakan, bising pengaruh, perangkat elektronik, dan dialog.
Untuk membuat objek Sound untuk menciptakan audio sumber daya poin:
Di jendela Explorer , geser over an lampiran, truss, wedge, atau corner wedge, lalu klik tombol ⊕. Menu konteks ditampilkan.
Dari menu, sisipkan Suara .
Di jendela Properti , navigasikan ke SoundId property dan masukkan ID 资源音效 yang valid.
(Opsional) Jika Anda ingin audio dimulai bermain ketika pengalaman dimulai, aktifkan properti Bermain .
Audio Latar Belakang
Audio latar belakang bermain dengan volume yang sama di mana pun pengguna bepergian dalam pengalaman Anda. Jenis audio ini berguna untuk musik yang ingin Anda mainkan untuk pengguna, terutama ketika Anda ingin membuat soundtrack dari banyak file audio.
Sangat penting untuk menyimpan semua objek Sound untuk audio latar belakang di lokasi tunggal Workspace for organization purpose as you continue to menambahkan dan mengedit audio dalam pengalaman Anda. Berikut adalah contoh yang menyimpan objek baru Sound di bawah kontainer SoundService, karena lay
Untuk membuat objek Sound untuk audio latar belakang:
Di jendela Explorer , geser atas SoundService , lalu klik tombol ⊕. Menu konteks dapat ditampilkan.
Dari menu, sisipkan Suara .
Di jendela Properti , navigasikan ke SoundId property dan masukkan ID 资源音效 yang valid.
(Opsional) Jika Anda ingin audio dimulai bermain ketika pengalaman dimulai, aktifkan properti Bermain .
(Opsional) Jika objek Sound ini adalah satu-satunya jalur yang ingin Anda mainkan di tempat ini, aktifkan prop性 Looped nya.
Mengesesuaikan Objek Suara
Sound objek kepemilikan bekerja bersama-sama untuk mengubah cara pengguna mengalami audio Anda, seperti:
- Seberapa keras mereka mendengar audio spesifik secara individual dan dalam hubungan satu sama lain ( Volume ).
- Bagaimana mereka mengalami volume saat mereka bergerak menjauh dari sumber audio ( RollOffMinDistance , RollOffMaxDistance , dan RollOffMode )
- Bagian mana dari audio yang dapat mereka dengarkan ( TimePosition ).
- Seberapa cepat dan pada pitch apa mereka mendengarnya ( Kecepatan Pemutar ).
- Jika audio secara otomatis diputar ulang setelah selesai (Looped).
Volume
Properti Volume memungkinkan Anda untuk menetapkan volume audio Anda di mana saja dari 0 (keheningan) hingga 10 (ledakan). Jika Anda ingin mengubah volume beberapa objek 1> Class.Sound1> di satu waktu, bawalah mereka di bawah kelompok <
RollOffMinDistance dan RollOffMaxDistance
RollOffMinDistance dan Class.Sound.RollOffMaxDistance|RollOffMin
Untuk audio sumber titik, RollOffMinDistance dan RollOffMaxDistance bekerja secara serupa dengan audio volumetrik, tetapi jarak roll off dari kepribadian ini tidak mengelilingi objek, hanya meng影响距离 dari kepribadian sumber daya.
Mode Off
Propiedad RollOffMode memungkinkan Anda untuk memutuskan bagaimana audio memudar saat jarak antara pendengar pengguna dan objek Sound objek. Anda dapat menetapkan propiedad ini ke salah satu dari empat nilai dari Enum.RollOffMode 枚.
Mode Off | Deskripsi |
---|---|
Inverse (default) | Volume pada awalnya memudar secara diam-diam dari RollOffMinDistance, tetapi volume pudar menjadi lebih perlahan saat pengguna mendekati untuk mencapai RollOffMaxDistance . Setelah mereka mencapai RollOffMaxDistance, volume jatuh diam. |
Linear | Volume menurun secara lini antara RollOffMinDistance dan RollOffMaxDistance . Setelah seorang pengguna mencapai RollOffMaxDistance, audio menjadi diam. |
InverseTapered | Volume mengikuti model terbalik saat dekat dengan RollOffMinDistance dan model liniatur persegi saat seorang pengguna dekat dengan RollOffMaxDistance . Audio mendekati diam pada titik jarak maksimal. |
LinearSquare | Volume menurun antara RollOffMinDistance dan RollOffMaxDistance dengan hubungan silang linier. Audio mencapai kesunyian di titik jarak maksimum. |
Kecepatan Putar Ulang
Properti PlaybackSpeed memungkinkan Anda untuk menentukan kecepatan bermain audio Anda. Misalnya, jika Anda menetapkan PlaybackSpeed ke nilai 2 , audio Anda bermain dua kali lebih cep
PlaybackSpeed = 0,5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
Posisi Waktu
Properti TimePosition menunjukkan, dalam detik, posisi di dalam sampel audio yang saat ini dengar pengguna. Properti ini berguna untuk memutar bagian dari sampel audio, atau memicu acara untuk terjadi setelah audio mencapai posisi tertentu dalam rentang waktu terbatas. Misalnya, kode berikut menyebabkan partikel emitter
local RunService = game:GetService("RunService")
-- 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 di 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
-- Mainkan suaranya
sound:Play()
-- Mulai memeriksa apakah emitter harus diaktifkan
RunService.Heartbeat:Connect(function()
-- Aktifkan emitter dalam rentang waktu audio; jika tidak, nonaktifkan
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)
Berulang
Properti Looped memungkinkan Anda mengulangi audio setelah selesai bermain. Saat diatur ke true, objek audio Sound di set ke 1> Class.Sound1> untuk memutar ulang. Ini berguna untuk menerapkan pada 4> audio latar belakang4> untuk memastikan pengalaman Anda tidak pernah m
Objek Suara Skrip
Bermain Audio Secara Kontekstual
Selain dari bermain otomatis audio melalui objek Sound , Anda dapat bermain audio konteksual dari objek Playing dengan memanggil LocalScript di objek 1> Class.Sound:Play1> yang sesuai. Misalnya:
local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = workspacesound:Play()
Jika tempatnya akan menampilkan beberapa lagu, Anda dapat memainkan lagu tertentu dari LocalScript :
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Bermain Interface Audio
Anda dapat memutar audio antarmuka untuk GuiObjects seperti tombol dengan menghubungkan objek Sound ke penerima acara 1> Class.GuiButton.Activated|Activated1> . Ini memungkinkan Anda untuk memberikan umpan balik audio kepada pengguna, seperti ketika mereka menaiki atau menek
Untuk memutar audio objek Sound ketika pengguna mengaktifkan TextButton atau ImageButton :
- Di jendela Explorer, geser atas TextButton atau ImageButton, lalu klik tombol ⊕. Menu konteks dibuat.
- Dari menu, sisipkan LocalScript atau Script dengan RunContext yang diatur ke 2>Enum.RunContext.Client2> .
- Tempastekode berikut ke dalam script, lalu ganti SOUND_NAME dengan nama objek Sound yang berada di dalam kontainer 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)