Ses çalma, deneyim içinde ses yayan Sound nesneler aracılığıyla gerçekleşir.Roblox, her ses öğesine özel bir ID atar ki bu, belirli bir ses efekti veya müzik parçası çalmak için Sound.Bu sesi otomatik olarak çalmak için yapılandırabilir veya skriptlerden oynatmak için tetikleyebilirsiniz.
Çok sayıda nesneyi oynatmayı değiştirmek için, bunları bir ses grubuna atayabilir ve tüm grupses seviyesini kontrol edebilir, ayrıca dinamik efektler uygulayabilirsiniz.
Ses nesneleri oluşturma
Bir Sound nesnesi oluşturabileceğiniz üç konum var ve her konum sesin nasıl yayıldığını ve deneyim içinde kullanıcının konumuyla ilgili ses değişikliklerini belirler.
Konum | Ses nasıl yayılır | Ses değişiklikleri nasıl olur |
---|---|---|
Bir blok, küre veya silindirin çocuğu BasePart . | Ses, parçanın tüm yüzeyinden dışarı yayılır. | Kullanıcının ses dinleyicisinin ve parçanın konumunun uzaklığına ve büyüklüğüne bağlı olarak hacim değişiklikleri yapılır. |
Bir Attachment , MeshPart , TrussPart , WedgePart veya CornerWedgePart 'in çocuğu. | Ses, tek bağlantı noktasından veya parça merkezinden dışarı yayılır. | Kullanıcının ses dinleyicisi ve bağlantı/parça konumu arasındaki mesafeye bağlı olarak ses değişiklikleri değişir. |
İçinde SoundService veya Workspace . | Ses deneyim boyunca yayılır. | Kullanıcının ses dinleyici konumu veya dönüşüne rağmen ses seviyesi ve tava pozisyonu aynı kalır. |
Pozisyonel ses
Pozisyonel ses, kullanıcıların deneyim içinde belirli bir konuma yakın duyabildiği seslerdir.Kullanabileceğiniz iki konumsal ses türü vardır: volümetrik ve nokta kaynak.
Volümetrik
Hacimsel ses, kullanıcının ses kaynakgöre dinamik olarak değiştiği için en gerçekçi ses seçeneğidir.Örneğin, kullanıcı bir çocuk nesnesi ile içindeyse, seslerin her bir hoparlörde aynı seviyede çalan müziğe benzer olarak tüm kullanıcının etrafında çalar.Kullanıcı parçadan çıktığında, ses yavaş yavaş ses seviyesini azaltır ve dinleyicinin döndüğünde kullanıcının başının etrafında hareket ederek daha yönlü hale gelir.Sesinizin parçadan ne kadar uzakta olduğunu kontrol eden özelliklerle ilgili bilgi için, RollOffMinDistance ve RollOffMaxDistance göz atın.
BasePart ın boyutu da sesin ses düzeyini etkiler, çünkü daha büyük BaseParts daha geniş bir alanda kullanıcıların sesi duyabileceği ve bir kullanıcı büyük bir BasePart 'dan uzaklaştığında ses düzeyi daha yavaş azalır.Aşağıdaki örnek, bir şehrin boyutunu oynayan bir BasePart nesneye sahip bir şehir boyutunu gösterir Sound ambient ses.Kullanıcı A ve B sesi farklı deneyimler: kullanıcı B, büyük BasePart 'ye daha yakındır ve çoğunlukla her iki hoparlörde de aynı sessizlikte ses duyar.Tersine, kullanıcı A şehirden daha uzakta olduğundan, duydukları ses daha sessiz ve daha yönlü kullanıcı B'den, konuşmacıların her birinde farklı sessizlikte oynuyor.

Volümetrik ses, bir kullanıcının etrafında etkileşimli olması gereken herhangi bir ses veya kullanıcının konumuna bağlı olarak dinamik olarak değişen herhangi bir ses için yararlıdır, örneğin bir konser sahnesi veya yağmur gibi çevresel alanlar.Farklı boyutlardan ve konumlardan kullanıcılara bir nesne yerleştirerek deney yaptığınızda, sürükleyici volümetrik sesin nasıl olabileceğini duyabilirsiniz.
Hacimsel ses için bir Sound nesne oluşturmak için:
Araştırıcı penceresinde Ses Hizmeti seçin.
Özellikler penceresinde, VolumetricAudio özelliğine gidin, ardından onu Etkinleştirilmiş olarak ayarlayın.
Gezgin penceresinde, bir BasePart, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.
Menüden, bir Ses ekleyin.
Özellikler penceresinde, Ses Kimliği özelliğine gidin ve geçerli bir ses kaynağı ID'si girin.
(Opsiyonel) Eğer deneyim başladığında sesin çalmaya başlamasını istiyorsanız, Çalma özelliğini etkinleştirin.
Nokta kaynak
Hacimsel sesin aksine, nokta kaynağı sesi yalnızca tek bir nokta kaynakyayılır.Bu tür ses patlamalar, etki gürültüleri, elektronik cihazlar ve diyalog için yararlıdır.
Nokta kaynağı sesi için bir Sound nesne oluşturmak için:
- Araştırıcı penceresinde, bir ekipman, kancalar, köşe kancaları veya köşe kancalarının üzerine gezinin, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.
- Menüden, bir Ses ekleyin.
- (Opsiyonel) Eğer deneyim başladığında sesin çalmaya başlamasını istiyorsanız, Çalma özelliğini etkinleştirin.
Arka plan sesi
Arka plan sesi, kullanıcının deneyiminizde nereye seyahat ettiğine bakmaksızın aynı seviyede çalar.Bu tür ses, kullanıcılar için çalmak istediğiniz müzik için yararlıdır, özellikle çok sayıda ses dosyasından bir ses çizgisi oluşturmak istediğinizde.
Deneyiminizde ses eklemek ve düzenlemek sürdüğünüz sürece, tüm Sound nesnelerini arka plan sesi için tek bir çalışma alanı konumunda tutmak en iyisidir, organizasyon amaçlarıyla ilgili olarak.Aşağıdaki örnek, yeni nesneyi bu hizmetin deneyimlerde nasıl oynayacağını belirlediği şekilde konteynerine saklar, çünkü bu hizmet deneyimlerde nesnelerin nasıl oynayacağını belirler.
Arka plan sesi için bir Sound nesne oluşturmak için:
- Gezgin penceresinde, Ses Hizmeti üzerine gelin, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.
- Menüden, bir Ses ekleyin.
- (Opsiyonel) Eğer deneyim başladığında sesin çalmaya başlamasını istiyorsanız, Çalma özelliğini etkinleştirin.
- (Opsiyonel) Eğer bu Sound nesne, dünyaoynamak istediğiniz tek iz ise, onun Döngülenmiş özelliğini etkinleştirin.
Ses nesnelerini özelleştirin
Sound nesne özellikleri, kullanıcıların sesinizi nasıl deneyimlediğini etkilemek için birlikte çalışır, örneğin:
- Özel sesleri birbirine ve birbirine ilişkin olarak ne kadar yüksek duyuyorlar ( Ses düzeyi ).
- Ses kaynağından uzaklaştıklarında ses düzeyini nasıl algıladıkları ( RollOffMinDistance , RollOffMaxDistance ve RollOffMode)
- Ne kısmını dinleyebilecekleri ses ( Zaman Konumu ).
- Ne kadar hızlı ve hangi yükseklikte duyuyorlar ( Oynatma Hızı ).
- Ses, bitimde otomatik olarak yeniden oynarsa ( Döngüye alındı ).
Ses düzeyi
The Volume özelliği, sesinizin sessizlikten 0 (sessizlik) ile 10 (gürültü) arasındaki ses seviyesini ayarlamanıza izin verir.Bir kerede birden fazla Sound nesnenin ses seviyesini değiştirmek istiyorsanız, bunları bir ses grubu altında ebeveynleştirin.
RollOffMinDistance ve RollOffMaxDistance
RollOffMinDistance ve RollOffMaxDistance bir kullanıcının pozisyonel seslerden hacmi nasıl algıladığının yelpazesini belirler.Ses hacmi azalmaya başladığında müşterinin dinleyicisinin 'den ayrıldığında, özelliklerinin minimum mesafesi, sesin bir nesnenin yüzeyinden duyulabileceği maksimum mesafe ve özelliği, bir müşterinin dinleyicisinin sesi duyabildiği maksimum mesafe.

Nokta kaynağı ses için, RollOffMinDistance ve RollOffMaxDistance volümetrik sesle benzer şekilde çalışır, ancak bu özelliklerin kontrol ettiği uzaklaşma mesafesi nesneyi etkilemez, sadece nokta kaynakuzak mesafeyi etkiler.

RollOffMode modu
The RollOffMode özelliği, kullanıcının dinleyicisinden ve Sound nesnenin ebeveyninden gelen mesafe arttıkça sesin nasıl azaldığına karar vermenizi sağlar.Bu özelliği, Enum.RollOffMode enum'in dört değerinden birine ayarlayabilirsiniz.

RollOffMode modu | Açıklama |
---|---|
Inverse (varsayılan) | Hacim başlangıçta aniden RollOffMinDistance 'dan kaybolur, ancak hacim azalması, bir kullanıcının RollOffMaxDistance 'a ulaşmasına daha yakın olmasıyla daha yavaş hale gelir.Bir kez RollOffMaxDistance ulaştıklarında, ses sessiz kalır. |
Linear | Ses, RollOffMinDistance ve RollOffMaxDistance arasında lineer olarak kaybolur. Bir kullanıcı RollOffMaxDistance 'a ulaştığında, ses sessiz kalır. |
InverseTapered | Ses, RollOffMinDistance yakın olduğunda ters modeli takip eder ve bir kullanıcı RollOffMaxDistance yakın olduğunda lineer kare modelini takip eder.Ses, maksimum mesafe noktasında sessizliğe yaklaşır. |
LinearSquare | Ses, RollOffMinDistance ve RollOffMaxDistance lineer kare ilişki ile arasında kaybolur. Ses, maksimum mesafe noktasında sessizliğe yaklaşır. |
Oynatma Hızı
The PlaybackSpeed özelliği, sesinizin oynadığı hızı belirlemenize izin verir.Örneğin, PlaybackSpeed 'yi 2 değerine ayarlarsanız, sesiniz iki kat daha hızlı ve bir oktav daha yüksek tonlarda çalar.Benzer şekilde, bunu 0.5 değerine ayarlarsanız, sesiniz iki kat daha yavaş ve bir oktav daha düşük tonlarda çalar.
PlaybackSpeed = 0.5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
Zaman Konumu
TimePosition özelliği, saniyeler içinde, bir kullanıcının şu anda ses örneği içindeki hangi pozisyonu duyduğunu görüntüler.Bu özellik, sadece bir bölümü ses örneği oynatmak veya ses bir noktaya ulaştığında bir olay tetiklemek için yararlıdır veya ses bir noktaya ulaştığında bir olay oluşturmak için bir etkinliği tetikler.Örneğin, aşağıdaki kod örneği bir ses parçasının sınırlı bir ses kaydı aralığında bulunan bir kısmının üzerinde beyaz bir parçacık yaymasına neden olan bir parçacık yayıcısına neden olur.
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
-- Yeni bir parça oluştur
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
-- Parçada bir ek dosya oluştur
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Eklente üzerinde bir parçacık yayıcı oluştur
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
-- Eklente üzerinde bir ses oluştur
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Sesi oynat
sound:Play()
-- Yayıncının etkinleştirilmesi gerektiğini kontrol etmeye başla
RunService.Heartbeat:Connect(function()
-- sesaralığındaki yayıncıyı etkinleştir; aksi takdirde devre dışı bırak
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)
Döngüsel
The Looped özelliği, oynatıldıktan sonra sesi tekrarlamanıza izin verir.true olarak ayarlanırsa, Sound nesnenin sesi tekrar çalınır.Bu, deneyiminizin asla kesintili olmadığından emin olmak için arka plan sesine uygulanmasına yararlıdır.
Senaryo ses nesneleri
Sesleri bağlantısal olarak çal
nesnenin özellikleri aracılığıyla otomatik olarak ses çalmak dışında, sesi bir nesneye bağlantı kurarak kapsayıcı olarak çalabilirsiniz.Örneğin:
local Workspace = game:GetService("Workspace")local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = Workspacesound:Play()
Alternatif olarak, eğer yer çoklu izler içerecekse, belirli bir izi bir LocalScript 'dan oynayabilirsiniz:
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Oynatma arayüz sesi çal
Arayüz sesini GuiObjects örneğin düğmeler bağlayarak bir Sound nesneyi Activated etkinlik dinleyicisine bağlayarak çalabilirsiniz.Bu, kullanıcılara, örneğin fare üzerinde gezindiklerinde veya tıkladıklarında sesli geri bildirim vermenizi sağlar.
Bir kullanıcı bir Sound veya TextButton veya ImageButton aktifleştirdiğinde bir nesnenin sesini çalmak için:
- Kâşif penceresinde, TextButton veya ImageButton üzerine gelin, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.
- Menüden, bir LocalScript veya bir Script ile RunContext ayarlanmış bir Enum.RunContext.Client girin.
- Senaryoya aşağıdaki kodu yapıştırın, ardından SOUND_NAME içinde bulunan bir Sound nesneyi SoundService konteynerinin adıyla değiştirin.
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)