Oyun içindeki bir ses oynatma işlemi, Sound nesneleri aracılığıyla gerçekleştirilir. Roblox, her bir ses kaynağı için ayrı bir ID atar ve bu ID'yi Sound nesnelerine oynatmak için kullanabilirsiniz. Ya da oyun
Çok sayıda Sound nesnenin oynatma şeklini değiştirmek için, onlara bir sese grubuna atayabilir ve tüm grupsesini kontrol edebilirsiniz, ayrıca dinamik efektler uygulayabilirsiniz.
Ses Objeleri Oluşturulması
Bir Sound nesnemi oluşturabilirsiniz, her yer aynı anda sesi emittiği ve sesin ses değişikliğiyle kullanıcının konumuna bağlı olarak nasıl değiştiğini belirler.
Yer | Nasıl ses çıkar | Ses Değişiklikleri |
---|---|---|
Bir blokun, kürenin veya silindirin çocuğu BasePart . | Oyun, tüm yüzeyi kaplayan sesi emits. | Kullanıcının ses dinleyicisinin sesiyle kulaklığının konumu, büyüklüğü ve sesi değiştirir. |
Bir Attachment 의 çocuğu, bir MeshPart , bir TrussPart , bir 2>Class.WedgePart2> , bir 5>Class.CornerWedgePart5> veya bir 8>Class.CornerWedgePart8> . | Ses tek bağlantı noktasından veya parça merkezinden çıkar. | Kullanıcının ses dinleyicisi ve bağlantı/parça konumu arasındaki mesafe değişikliğine bağlı olarak hacim değiştirir. |
Class.SoundService veya Workspace içinde. | Oyun boyunca ses yayınlayan ses emitteri. | Ses kaydedici konumu veya dönüşümü kullanıcının ses alıcısı konumu aynı kalır. |
Konumlu Oto
Yerleşik sesler, kullanıcıların deneyiminin belirli bir yerinde sadece duyabileceği ses türüdür. Deneyim içindeki iki ses türü vardır: volüm ve nokta kaynak.
Ses
Ses yumuşak bir şeydir, çünkü ses kaynakbağlı olarak dinamik olarak değişir. Örneğin, kullanıcının bir
Class.
Ses yalnızca bir kullanıcının etrafında batılmak veya değiştirilebilir olarak değiştirilebilir olarak değiştirilebilir olarak değiştirilebilir olarak değiştirilebilir olarak değiştirilebilir olarak değiştirilebilir olarak değiştirilebilir olarak
sesiletişim için bir Sound nesnesi oluşturmak için:
In the Explorer window, select SoundService .
Özellikler Penceresinde , Ses özelliğine gidin ve Etkin olarak ayarlayın.
In the Explorer window, hover over a BasePart , then click the ⊕ button. A contextual menu displays.
Menüden bir Ses ekle.
Özellikler Penceresinde , SoundId özelliğine gidin ve geçerli bir audio varlık ID'si girin.
(Opcional) Eğer deneyim başladığında sesin çalıştırılmasını istiyorsanız, Oynatma özelliğini etkinleştirin.
Nokta Kaynağı
Ses düzeyi sesi, tek bir nokta kaynakyalnızca çıkar. Bu ses türü patlamalar, etkileşim gürültüsü, elektronik cihazlar ve diyalog için kullanışlıdır.
Nokta kaynağı sesi için bir Sound nesnesi oluşturmak için:
In the Explorer window, hover over anattachment, truss, wedge, or corner wedge, then click the ⊕ button. A contextual menu displays.
Menüden bir Ses ekle.
Özellikler Penceresinde , SoundId özelliğine gidin ve geçerli bir audio varlık ID'si girin.
(Opcional) Eğer deneyim başladığında sesin çalıştırılmasını istiyorsanız, Oynatma özelliğini etkinleştirin.
Arka Plan Ses
Kullanıcının deneyiminizde seyahat ettiği herhangi bir yerde aynı ses düzeyinde çalılır. Bu tür bir ses, kullanıcılar için müzik çalmak için kullanışlıdır, özellikle bir ses kaydı oluştururken bir ses kaydı oluştururken.
Yalnızca Workspace for Organization amaçlarıyla deneyiminizdeki sesi eklemek ve düzenlemek için tüm Sound nesnelerini tek bir konumda tutmak en iyidir. Aşağıdaki örnek, yeni Sound nesnini SoundService kapsayıcı olar
sesalanınız için bir Sound nesnesi oluşturmak için:
In the Explorer window, hover over SoundService , then click the ⊕ button. A contextual menu displays.
Menüden bir Ses ekle.
Özellikler Penceresinde , SoundId özelliğine gidin ve geçerli bir audio varlık ID'si girin.
(Opcional) Eğer deneyim başladığında sesin çalıştırılmasını istiyorsanız, Oynatma özelliğini etkinleştirin.
(Opcional) Bu Sound nesnesi dünyaoynatmak istediğiniz tek izciyse, onun Looped özelliğini etkinleştirin.
Ses Objelerini Özelleştirme
Sound nesneler kullanıcıların sesinizi nasıl deneyimleyeceğini etkilemeye çalışır, örneğin:
- Birbirlerine veya birbirlerine ilişkin olarak belirli sesleri ne kadar yüksek duyarlar (Ses).
- Onlar ses kaynağından uzaklaştıklarında hacmi nasıl algılar (RollOffMinDistance, RollOffMaxDistance ve RollOffMode)
- Ne kadarını dinleyebilirler ( SürePosition ).
- Ne kadar hızlı ve ne kadar yüksek tonlama frekansıyla duyarlar (OynatmaHızı).
- Eğer ses otomatik olarak tamamlandığında yeniden oynatılır (Looped).
Ses
Class.Sound.Volume|Volume özelliği, sesinizi 0 (sessizlik) yerine 10 (gürültü) ayarlarınızı herhangi bir yerde değiştirebilirsiniz. Eğer birkaç 1>Class.Sound nesneyi1> aynı anda değiştirmek istiyorsanız
RollOffMinDistance ve RollOffMaxDistance
RollOffMinDistance ve Class.Sound.RollOffMaxDistance|RollOffMax
Nokta kaynağı sesler için, RollOffMinDistance ve RollOffMaxDistance sesleri sessel bakımdan volümiksel bir ses ile çalışır, ancak bu özelliklerin yatış mesafesi bu nesneyi çevrelemez, sadece nokta kaynaksesinden gelen mesafeyi etkiler.
Yatış Modu
Class.Sound.RollOffMode|RollOffMode özelliği, mesafenin Class.Sound nesne'nin ebeveyni ile arasındaki mesafeyi belirlemene izin verir. Bu özelliği dört değer arasından birine ayarlayabilirsiniz.
Yatış Modu | Açıklama |
---|---|
Inverse (Varsayılan) | Ses ilk olarak RollOffMinDistance 'dan ani bir şekilde kaybolur, ancak ses kaybolma daha yavaş hale gelir. Kullanıcı RollOffMaxDistance 'a yaklaştıkça ses daha da yavaş hale gelir. Ses düştüğünde, kullanıcının ses |
Linear | Ses yükseltmesi RollOffMinDistance ve RollOffMaxDistance arasında lineer olarak kaydolur. Bir kullanıcı RollOffMaxDistance değerine ulaştığında, ses kaydedilir. |
InverseTapered | Ses, RollOffMinDistance veya RollOffMaxDistance yakınken eğilimi takip eder ve lineer kare modeli yakınken ses sessizleştirilir. Ses, maksimum mesafe noktasında sessizleştirilir. |
LinearSquare | Ses aralığı RollOffMinDistance ve RollOffMaxDistance arasında yuvarlak biçimiinde kaybolur. Ses, maksimum mesafe noktasında sessizliğe yaklaşır. |
Oynatma Hızı
Class.Sound.PlaybackSpeed|PlaybackSpeed özelliği, sesin oynatma hızını belirlemene izin verir. Örneğin, PlaybackSpeed 'i 2 değerine ayarlarsanız, sesiniz iki kat daha hızlı çalışır ve b
PlaybackSpeed = 0.5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
ZamanPositionu
Class.Sound.TimePosition|TimePosition özelliği, saniyelerde, kullanıcının ses örneğinde bulunan pozisyonu gösterir. Bu özellik, sadece bir bölümü ses örneğinde oynatmak veya bir etkinliğin oluşmasını sağlamak için bir etkinliği tetiklemek için kullanılır. Örneğin
local RunService = game:GetService("RunService")
-- 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çaya bir bağlantı oluştur
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Eklantıda bir parçacık emitter 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
-- Eklantıda bir ses oluştur
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Sesi oynat
sound:Play()
-- Emettin etkinleştirilmesini kontrol etmeye başlayın
RunService.Heartbeat:Connect(function()
-- Otomatik toplama için bir ses seviyesi ayarla; değilse de etkinleştir
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)
Tekrarlanan
Class.Sound.Looped|Looped özelliği, oynatma işlemi bittikten sonra sesi tekrarlar. Setlenmiş true öğesi, Sound objesinin sesini çalar. Bu, deneyiminizin hiçbir anlığa kadar sessiz kalmasını sağlar. İşlemi 1> background audio1> için uygulamak i
Ses Objelerine Kodlama
Oynama Otobüste
Class.Sound.Playing|Play nesnelerinin Playing özelliğini aracılığıyla otomatik oynatma sesi ile birlikte, kontext olarak ses oynatabilirsiniz. Örneğin:
local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = workspacesound:Play()
Alternatif olarak, yer çok sayıda izi özelliştirirse, bir LocalScriptdan belirli bir izi çalabilirsiniz:
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Oyun İçi Ses Oynatma
Kullanıcıların Class.GuiObject|GuiObjects gibi bir Class.Sound nesneyi bağlayarak çalıştırabilirsiniz kullanıcı arayüzü sesi ile etkinleştirilmiş olay dinleyicisi. Bu, kullanıcıların Class.GuiButton.Activated|Activated etkinliğine erişmesine izin veren bir Class.GuiButton
Bir kullanıcı bir Sound nesnelerinin sesini çalmak için bir TextButton veya ImageButton etkinleştirildiğinde:
- In the Explorer window, hover over the TextButton or ImageButton, then click the ⊕ button. A context menu displays.
- Menüden, LocalScript veya Script ile bir RunContext ayarlanmış 2> Class.Script2> veya 5> Class.BaseScript5> ile bir 8> Class.LocalScript8> kaydedin.
- Aşağıdaki kodu kullanıcıya yapıştırın, sonra SOUND_NAME kullanıcının içinde bulunan bir Sound nesnine kullanıcı adınızı 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)