Ses objeleri

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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.

KonumSes nasıl yayılırSes 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:

  1. Araştırıcı penceresinde Ses Hizmeti seçin.

  2. Özellikler penceresinde, VolumetricAudio özelliğine gidin, ardından onu Etkinleştirilmiş olarak ayarlayın.

  3. Gezgin penceresinde, bir BasePart, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.

  4. Menüden, bir Ses ekleyin.

  5. Özellikler penceresinde, Ses Kimliği özelliğine gidin ve geçerli bir ses kaynağı ID'si girin.

  6. (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:

  1. 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.
  2. Menüden, bir Ses ekleyin.
  3. Özellikler penceresinde, Ses Kimliği özelliğine gidin ve geçerli bir ses kaynağı ID'si girin.
  4. (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:

  1. Gezgin penceresinde, Ses Hizmeti üzerine gelin, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.
  2. Menüden, bir Ses ekleyin.
  3. Özellikler penceresinde, Ses Kimliği özelliğine gidin ve geçerli bir ses kaynağı ID'si girin.
  4. (Opsiyonel) Eğer deneyim başladığında sesin çalmaya başlamasını istiyorsanız, Çalma özelliğini etkinleştirin.
  5. (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:

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 moduAçı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.
LinearSes, RollOffMinDistance ve RollOffMaxDistance arasında lineer olarak kaybolur. Bir kullanıcı RollOffMaxDistance 'a ulaştığında, ses sessiz kalır.
InverseTaperedSes, 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.
LinearSquareSes, 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.

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 = true
sound.Parent = Workspace
sound: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 then
musicTrack: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:

  1. Kâşif penceresinde, TextButton veya ImageButton üzerine gelin, ardından ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.
  2. Menüden, bir LocalScript veya bir Script ile RunContext ayarlanmış bir Enum.RunContext.Client girin.
  3. 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)