배우기
엔진 클래스
AudioEmitter

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.


코드 샘플
여러 3D 위치에서 한 자산 동시에 재생하기
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()

API 참조
속성
AcousticSimulationEnabled
병렬 읽기
기능: Audio
AudioEmitter.AcousticSimulationEnabled:boolean

AngleAttenuation
Roblox 보안
병렬 읽기
기능: Audio
AudioEmitter.AngleAttenuation:Flyweight

AudioInteractionGroup
병렬 읽기
기능: Audio
AudioEmitter.AudioInteractionGroup:string

DistanceAttenuation
Roblox 보안
병렬 읽기
기능: Audio
AudioEmitter.DistanceAttenuation:Flyweight

PositionInstance
병렬 읽기
기능: Audio
AudioEmitter.PositionInstance:Instance

PositionType
병렬 읽기
기능: Audio
AudioEmitter.PositionType:Enum.EmitterPositionType

SimulationFidelity
사용되지 않음

메서드
GetAngleAttenuation
기능: Audio
AudioEmitter:GetAngleAttenuation():Dictionary

GetAudibilityFor
기능: Audio
AudioEmitter:GetAudibilityFor(listener:AudioListener):number
매개 변수
listener:AudioListener
반환

GetConnectedWires
기능: Audio
AudioEmitter:GetConnectedWires(pin:string):{Wire}
매개 변수
pin:string
반환

GetDistanceAttenuation
기능: Audio
AudioEmitter:GetDistanceAttenuation():Dictionary

GetInputPins
기능: Audio
AudioEmitter:GetInputPins():{any}
반환

GetInteractingListeners
기능: Audio
AudioEmitter:GetInteractingListeners():{AudioListener}

GetOutputPins
기능: Audio
AudioEmitter:GetOutputPins():{any}
반환

SetAngleAttenuation
기능: Audio
AudioEmitter:SetAngleAttenuation(curve:Dictionary):()
매개 변수
반환
()

SetDistanceAttenuation
기능: Audio
AudioEmitter:SetDistanceAttenuation(curve:Dictionary):()
매개 변수
반환
()
코드 샘플
사용자 정의 거리 감쇠
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 -- 10 스터드 내에서 청취자는 이 발신기를 최대 볼륨으로 들을 수 있습니다.
curve[100] = 0.4 -- 100 스터드 거리에서 청취자는 이 발신기를 40% 볼륨으로 들을 수 있습니다.
curve[300] = 0 -- 300 스터드보다 먼 거리에서는 청취자가 이 발신기를 들을 수 없습니다.
emitter:SetDistanceAttenuation(curve)
-- 이전 음성 구현의 롤오프 곡선을 복제합니다.
-- 새 오디오 API 없이 기본 음성은 7에서 80 스터드까지의 이차 롤오프를 사용합니다.
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

이벤트
WiringChanged
기능: Audio
AudioEmitter.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
매개 변수
connected:boolean
pin:string
wire:Wire
instance:Instance

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.