Ses nesneleri

*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 oynatma, deney içinde ses yayan Sound nesneleri aracılığıyla gerçekleşir. Roblox, her bir ses varlığı için, belirli bir ses efekti veya müzik parçası çalmak için Sound nesnelerine atayabileceğiniz benzersiz bir ID atar. Bu sesi otomatik olarak çalışma zamanı sırasında çalacak şekilde ayarlayabilir veya bunu betikler aracılığıyla çalmayı tetikleyebilirsiniz.

Birden fazla Sound nesnesinin oynatmasını değiştirmek için, bunları bir ses grubuna atayabilir ve grubun tümünün ses seviyesini kontrol edebilir, ayrıca dinamik efektler uygulayabilirsiniz.

Ses nesneleri oluşturun

Bir Sound nesnesi oluşturabileceğiniz üç yer vardır ve bu yerlerden her biri, sesin nasıl yayıldığını ve ses seviyesinin deney içerisindeki kullanıcının konumuna bağlı olarak nasıl değiştiğini belirler.

KonumSesi yayma şekliSes seviyesinin değişme şekli
Bir blok, küre veya silindir BasePart'ın çocuğu.Ses, parçanın tamamının yüzeyinden dışa doğru yayılır.Ses seviyesi, kullanıcının ses dinleyicisi ile parçanın konumu arasındaki mesafeye ve parçanın boyutuna bağlı olarak değişir.
Bir Attachment, MeshPart, TrussPart, WedgePart veya CornerWedgePart çocuğu.Ses, tek bağlama noktasından veya parça merkezinden dışa doğru yayılır.Ses seviyesi, kullanıcının ses dinleyicisi ile bağlama/parça konumu arasındaki mesafeye bağlı olarak değişir.
SoundService veya Workspace içinde.Ses, deney boyunca yayılır.Ses seviyesi ve pan pozisyonu, kullanıcının ses dinleyici pozisyonuna veya dönüşüne bakılmaksızın aynı kalır.

Konumlu ses

Konumlu ses, kullanıcıların deney içinde belirli bir konumun yakınında yalnızca duyabildiği sestir. Kullanabileceğiniz iki tür konumlu ses vardır: hacimsel ve nokta kaynağı.

Hacimsel

Hacimsel ses, kullanıcının ses kaynağına olan konumuna bağlı olarak dinamik olarak değiştiği için en gerçekçi ses seçeneğidir. Örneğin, kullanıcı, içinde bir BasePart bulunan bir Sound nesnesi varsa, ses etrafta tümüyle yayılır, bu da kulaklıkta çalan müziklerin her iki hoparlörde de aynı ses seviyesinde çalması gibidir. Kullanıcı parçadan çıkarken, sesin seviyesi yavaşça azalır ve her hoparlörde daha yönlü hale gelir, dinleyici döndüğünde ses kullanıcının etrafında hareket eder. Sesinizin parçadan farklı mesafelerde ne kadar yüksek olacağını kontrol eden özellikler hakkında bilgi için RollOffMinDistance ve RollOffMaxDistance bölümüne bakın.

BasePart'ın boyutu, sesin seviyesini de etkiler çünkü daha büyük BaseParts, kullanıcıların sesi duyabileceği daha geniş bir alan oluşturur ve bir kullanıcı büyük bir BasePart'dan uzaklaştığında sesin seviyesi daha yavaş azalır. Aşağıdaki örnekte, bir Sound nesnesinin ortam sesinin çaldığı, şehir boyutunda bir BasePart gösterilmektedir. Kullanıcı A ve B sesleri farklı deneyimler: kullanıcı B, büyük BasePart'a daha yakın olduğundan, her iki hoparlörde de neredeyse aynı yüksekliği duyar. Buna karşılık, kullanıcı A şehirden daha uzak olduğu için, duyduğu ses daha sessiz ve kullanıcı B'den daha yönlüdür; her iki hoparlörde de farklı yüksekliklerde çalar.

Hacimsel ses, kullanıcı etrafında etkileyici olması gereken ve kullanıcının konumuna bağlı olarak dinamik olarak değişen her türlü ses için kullanışlıdır; konser sahneleri veya yağmur gibi ortam bölgeleri olacaktır. Farklı boyut ve kullanıcılardan farklı konumlarda bir Sound nesnesi yerleştirme üzerinde deneme yaparken hacimsel sesin ne kadar etkileyici olduğunu duyabilirsiniz.

Hacimsel ses için bir Sound nesnesi oluşturmak için:

  1. Explorer penceresinde, SoundService'i seçin.

  2. Properties penceresinde, VolumetricAudio özelliğine gidin ve onu Enabled olarak ayarlayın.

  3. Explorer penceresinde, bir BasePart üzerine gelin ve ⊕ düğmesine tıklayın. Bağlam menüsü açılır.

  4. Menüyü açarak bir Sound ekleyin.

  5. Properties penceresinde, SoundId özelliğine gidin ve geçerli bir ses varlığı ID'si girin.

  6. (İsteğe bağlı) Deney başladığında sesin çalmaya başlamasını istiyorsanız, Playing özelliğini etkinleştirin.

Nokta kaynağı

Hacimsel sesin tersine, nokta kaynağı sesi yalnızca tek bir nokta kaynağından yayılır. Bu tür ses, patlamalar, darbe sesleri, elektronik cihazlar ve diyaloglar için kullanışlıdır.

Nokta kaynağı sesi için bir Sound nesnesi oluşturmak için:

  1. Explorer penceresinde, bir bağlantıya, truss'a, wedge'e veya köşe wedge'ine üzerine gelin ve ⊕ butonuna tıklayın. Bir bağlam menüsü açılır.
  2. Menüyü açarak bir Sound ekleyin.
  3. Properties penceresinde, SoundId özelliğine gidin ve geçerli bir ses varlığı ID'si girin.
  4. (İsteğe bağlı) Deney başladığında sesin çalmaya başlamasını istiyorsanız, Playing özelliğini etkinleştirin.

Arka plan sesleri

Arka plan sesleri, kullanıcı deneyim içinde nerede seyahat ederse etsin aynı ses seviyesinde çalar. Bu tür ses, kullanıcılar için çalmak istediğiniz müzikler için faydalıdır, özellikle birden fazla ses dosyasıyla bir ses parçası oluşturmak istediğinizde.

Deneyiniz içinde sesleri eklemeye ve düzenlemeye devam ederken organizasyon amaçları için arka plan sesleri tüm Sound nesnelerini Workspace'in tek bir konumunda tutmak en iyisidir. Aşağıdaki örnekte, yeni Sound nesnesini SoundService kapsayıcısının altında depolamaktadır, çünkü bu hizmet, Sound nesnelerinin deneylerde nasıl çalacağına karar verir.

Arka plan sesi için bir Sound nesnesi oluşturmak için:

  1. Explorer penceresinde, SoundService üzerine gelin ve ⊕ butonuna tıklayın. Bir bağlam menüsü açılır.
  2. Menüyü açarak bir Sound ekleyin.
  3. Properties penceresinde, SoundId özelliğine gidin ve geçerli bir ses varlığı ID'si girin.
  4. (İsteğe bağlı) Deney başladığında sesin çalmaya başlamasını istiyorsanız, Playing özelliğini etkinleştirin.
  5. (İsteğe bağlı) Bu Sound nesnesi beldede çalmak istediğiniz tek parça ise, Looped özelliğini etkinleştirin.

Ses nesnelerini özelleştirin

Sound nesnesi özellikleri, kullanıcıların sesinizi deneylemeleri üzerinde etki eden işbirlikleri oluşturarak bu tür etkiler yaratır:

  • Belirli sesleri tek başına ve birbirleriyle ilişkili olarak ne kadar yüksek duydukları (Ses).
  • Ses kaynağından uzaklaştıklarında sesin seviyesini nasıl algıladıkları (RollOffMinDistance, RollOffMaxDistance ve RollOffMode).
  • Sesin hangi kısmını dinleyebilecekleri (TimePosition).
  • Hızı ve hangi tonla duydukları (PlaybackSpeed).
  • Ses tamamlandığında otomatik olarak yeniden çalıp çalmayacağı (Looped).

Ses

Volume özelliği, sesinizin seviyesini 0 (sessizlik) ile 10 (gürültülü) arasında ayarlamanızı sağlar. Birden fazla Sound nesnesinin ses seviyesini aynı anda değiştirmek istiyorsanız, bunları bir ses grubuna yerleştirin.

RollOffMinDistance ve RollOffMaxDistance

RollOffMinDistance ve RollOffMaxDistance özellikleri, bir kullanıcının konumlu seslerden volume algılaması için olan aralığı belirler. Hacimsel ses için, RollOffMinDistance, kullanıcının dinleyicisi uzaklaştığında ses'in parça BasePart'dan düşmeye başladığı minimum mesafedir, ve RollOffMaxDistance özelliği, bir kullanıcının nesnenin yüzeyinden ne kadar uzakta ses duyabileceği maksimum mesafedir.

Nokta kaynağı sesi için, RollOffMinDistance ve RollOffMaxDistance özellikleri hacimsel sesle benzer şekilde çalışır, fakat bu özelliklerin kontrol ettiği düşüş mesafesi nesneyi çevrelemez, yalnızca nokta kaynağından dışa doğru olan mesafeyi etkiler.

RollOffMode

RollOffMode özelliği, kullanıcının dinleyicisi ile Sound nesnesinin ana konumu arasındaki mesafe arttıkça sesin nasıl solacağını belirlemenizi sağlar. Bu özelliği Enum.RollOffMode enum'unun dört değerinden birine ayarlayabilirsiniz.

RollOffModeAçıklama
Inverse (varsayılan)Ses, kullanıcı RollOffMinDistance'ye yaklaşırken birden soluyor, ancak sesin solması, kullanıcı RollOffMaxDistance'ye yaklaşırken daha yavaş hale gelir. Kullanıcı RollOffMaxDistance'ye ulaştığında ses tamamen kesilir.
LinearSes, RollOffMinDistance ve RollOffMaxDistance arasında doğrusal olarak soluyor. Kullanıcı RollOffMaxDistance'ye ulaştığında ses tamamen kesilir.
InverseTaperedSes, RollOffMinDistance yakınında ters model izler ve kullanıcı RollOffMaxDistance yakınında doğrusal kare model izler. Ses, maksimum mesafe noktasında sessizliğe yaklaşır.
LinearSquareSes, RollOffMinDistance ve RollOffMaxDistance arasında doğrusal kare ilişki ile soluyor. Ses, maksimum mesafe noktasında sessizliğe yaklaşır.

PlaybackSpeed

PlaybackSpeed özelliği, sesinizin ne hızda çaldığını belirlemenizi sağlar. Örneğin, PlaybackSpeed değerini 2 olarak ayarlarsanız, sesiniz iki kat hızlı ve bir oktav daha yüksek bir tonla çalar. Benzer şekilde, onu 0.5 değerine ayarlarsanız, sesiniz iki kat daha yavaş ve bir oktav daha düşük bir tonla çalar.

TimePosition

TimePosition özelliği, bir kullanıcının şu anda ses örneğinde hangi konumda olduğunu saniye cinsinden gösterir. Bu özellik, yalnızca ses örneğinin bir bölümünü çalmanın veya ses belirli bir konuma ulaştığında bir olayın tetiklenmesini sağlamanın faydalıdır. Örneğin, aşağıdaki kod örneği, bir ses parçası içindeki sınırlı zaman aralığında bir parçanın üstünde beyaz halka parçacığı yaymasına neden olur.


local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
-- Yeni bir parçanın oluşturulması
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 bileşen oluşturun
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Ekleme üzerine bir parçacık yayımcı oluşturun
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
-- Eklemeye bir ses oluşturun
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Sesi çal
sound:Play()
-- Yayımcının etkin olması gerekip gerekmediğini kontrol etmeye başla
RunService.Heartbeat:Connect(function()
-- Sesin zaman aralığı içinde yayımcının etkin olup olmayacağı; aksi takdirde devre dışı bırak
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)

Looped

Looped özelliği, ses çaldıktan sonra tekrar etmesine olanak tanır. true olarak ayarlandığında, Sound nesnesinin sesi yeniden çalınır. Bu, deneyiminizde asla ani bir sessizlik olmamasını sağlamak için arka plan seslerine uygulanabilir.

Betik ses nesneleri

Sesleri bağlamsal olarak çal

Sound nesnesinin Playing özelliği aracılığıyla sesleri otomatik olarak çalmanın yanı sıra, bir LocalScript üzerinden bağlamsal olarak sesleri çalabilirsiniz; buna, ilgili Sound nesnesine Play() çağırarak yapılır. Ö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, yer, birden fazla parçayı içerecekse, belirli bir parçayı bir LocalScript üzerinden çalabilirsiniz:


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

Arayüz seslerini çal

Arayüz seslerini GuiObjects için çalabilirsiniz; örneğin, butonlar ile Sound nesnesini Activated olay dinleyicisine bağlayarak. Bu, kullanıcıların üzerine geldikleri veya bastıkları zaman işitsel geri bildirim sağlamanızı sağlar.

Bir kullanıcı bir TextButton veya ImageButton'ı etkinleştirdiğinde bir Sound nesnesinin sesini çalmak için:

  1. Explorer penceresinde, TextButton veya ImageButton üzerine gelin ve ⊕ butonuna tıklayın. Bir bağlam menüsü açılır.
  2. Menüyü açarak, LocalScript veya 'Class.Script' ile RunContext'in Enum.RunContext.Client olarak ayarlandığı bir nesne ekleyin.
  3. Aşağıdaki kodu betiğe yapıştırın ve ardından SOUND_NAME'i SoundService kapsayıcı içinde bulunan Sound nesnesinin 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)
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.