AudioEmitter

Artık kullanılmayanları göster

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

AudioEmitter emits audio streams into the world. It provides a single Input pin that can be

AudioEmitters 3D yerleştirmeyi uygulamak için AudioListeners tarafından duyulur.

Kod Örnekleri

Playing one asset from multiple 3d locations at once

local part1 : BasePart = workspace.Speakers.Left
local part2 : BasePart = workspace.Speakers.Right
local player : AudioPlayer = workspace.AudioPlayer
local leftEmitter = Instance.new("AudioEmitter")
local rightEmitter = Instance.new("AudioEmitter")
local toLeft = Instance.new("Wire")
local toRight = Instance.new("Wire")
leftEmitter.Parent = part1
rightEmitter.Parent = part2
toLeft.Parent = leftEmitter
toLeft.SourceInstance = player
toLeft.TargetInstance = leftEmitter
toRight.Parent = rightEmitter
toRight.SourceInstance = player
toRight.TargetInstance = rightEmitter
player:Play()

Özet

Özellikler

Yöntemler

Özellikler

AngleAttenuation

BinaryString
Roblox Güvenliği
Paralel oku

Bir Class.AudioEmitter``Datatype.CFrame.LookVector|LookVector ın duyduğu 1> Class.Audio1> ın duyduğunu belirten bir hacim yanığını temsil eder, bu da onun ortasındaki 4> Class.Audio4> ile ilgilidir.

Bu özellik içidir ve kullanıcı tarafından erişilemez; Replikasyonu desteklemek için mevcut. Ayrıntılar için SetAngleAttenuation() görün.

AudioInteractionGroup

Paralel oku

Bir AudioEmitter ve bir AudioListener etkileşim gruppaylaşırsa, dinleyici emitter'ı duyabilir.

DistanceAttenuation

BinaryString
Roblox Güvenliği
Paralel oku

Mesafeleri aralarındaki uzaklığa bağlı olarak Class.AudioListener``Class.AudioEmitter 'ın duyduğu Class.Audio 'ı ne kadar yüksek sesle duyacağını etkileyen bir hacim dalgası temsil eder.

Bu özellik içidir ve kullanıcı tarafından erişilemez; Replikasyonu desteklemek için mevcut. Ayrıntılar için SetDistanceAttenuation() görün.

Yöntemler

GetAngleAttenuation

Bir tablo hizalama açısını hacme döndürür. Tuşlar 0 ve 180 (dahil) arasındaki sayılardır, değerler 0 ve 1> 11> (dahil) arasındaki sayılardır, hacme hizalama açısının azalması


Dönüşler

Yukarıda açıklanan gibi tablo hacmi için gölgeleme açısı.

GetConnectedWires

Instances

Belirli bir sabitle'e bağlanan Wires bir matrisi iade eder. AudioEmitter 'in bir "Giriş" sabitle'i vardır.

Parametreler

pin: string

Dönüşler

Instances

GetDistanceAttenuation

Bir tablo hacmiyle ilgili bir mesafe döndürür. Tuşlar 0'den büyük veya eşit olarak 0 olan sayılardır, değerler 0 ile 1 arasındaki bir hacim değiştirme aracı olarak açıklanır. Bu yöntem, varsayılan mesafe azaltma eğrisi kullanılıyorsa boş bir tablo döndürür.


Dönüşler

GetInteractingListeners

Instances

Dönüşler

Instances

SetAngleAttenuation

void

Bir Class.AudioEmitter``Datatype.CFrame.LookVector|LookVector ın duyduğu 1> Class.Audio1> ın duyduğunu belirleyen bir hacim-üstü köşe曲線si ayarlar, bu da 4> Class.Audio4> ile ilgili 7> Class.Audio7> ın duyduğunu belirleyen bir hacim-üstü köşe曲線si

Kurva, hacim değerlerine göre hacim değerlerine göre bir tablo açılır. Tuşların eşsiz olmasını bekleriz, böylece değerler arasında 0 ve 180 (dahil) arasında bir sayı olarak görülür. 0 ve 1>

a ile eğilmiş olan kurva eksenindeki noktalar için hacim seviyesi belirlenir. Bu, eğilmiş noktaların hacim se

Bu ses seviyesi, alıcı AudioListener 'deki ses seviyesi ile çarpanılacak.

Eğer masa boşsa veya nil , AudioEmitter varsayılır bir açı azaltma曲線i kullanmak için sürekli hacim değeri 1 ile.

Parametreler

curve: Dictionary

Dönüşler

void

SetDistanceAttenuation

void

Mesafeleri aralarındaki uzaklığa bağlı olarak Class.AudioListener``Class.AudioEmitter 'ın duyduğu Class.Audio 'ı ne kadar yüksek sesle duyacağını etkileyen bir hacim dalgası ayarlar.

Kurva, bir tablo hacı gösteren uzaklık anahtarı değerleriyle ifade edilir. Anahtarlar 0'dan büyük veya eşit olacak şekilde benzersiz sayılar olmalıdır, değerler 0 ile 1 arasındaki sayılar arasında (dahil) olmalıdır. 400'den fazla anahtar değeri olan tablolar desteklenir.

Bir mesafedeki bir Class.AudioEmitter``Class.AudioListener volumunun yanı sıra hızlı bir şekilde yanı sıra hı

Bu ses seviyesi, alıcı AudioListener 'deki ses seviyesi ile çarpanılacak.

Tablo boşsa veya nil , AudioEmitter , yersizleme kademesi olarak belirlenen uzaklık azaltma eğrisini kullanır.

Parametreler

curve: Dictionary

Dönüşler

void

Kod Örnekleri

Custom Distance Attenuation

local Players = game:GetService("Players")
local emitterPart = Instance.new("Part")
emitterPart.Anchored = true
emitterPart.Position = Vector3.new(0, 0, 0)
emitterPart.Parent = workspace
local emitter : AudioEmitter = Instance.new("AudioEmitter")
emitter.Parent = emitterPart
local curve = {}
curve[10] = 1 -- Within a distance of 10 studs, listeners hear this emitter at full volume
curve[100] = 0.4 -- At a distance of 100 studs, listeners hear this emitter at 40% volume
curve[300] = 0 -- At any distance farther than 300 studs, listeners cannot hear this emitter
emitter:SetDistanceAttenuation(curve)
-- Replicate the rolloff curve from the old voice implementation
-- Default voice without the new audio API uses quadratic rolloff ranging from 7 to 80 studs
local MIN_DISTANCE = 7
local MAX_DISTANCE = 80
local CURVE_STEP_SIZE = 2
local voiceCurve = {}
for i = MIN_DISTANCE, MAX_DISTANCE, CURVE_STEP_SIZE do
voiceCurve[i] = ((i - MIN_DISTANCE) - (MAX_DISTANCE - MIN_DISTANCE))^2 / (MAX_DISTANCE - MIN_DISTANCE)^2
end
voiceCurve[MAX_DISTANCE] = 0
local function setVoiceCurve(character)
local voiceEmitter : AudioEmitter = character:WaitForChild("AudioEmitter")
voiceEmitter:SetDistanceAttenuation(voiceCurve)
end
for _, player in Players:GetPlayers() do
if player.Character then
setVoiceCurve(player.Character)
end
player.CharacterAdded:Connect(setVoiceCurve)
end

Etkinlikler