AudioEmitter

사용되지 않는 항목 표시

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

AudioEmitter 세계에 오디오 스트림을 방송합니다.하나 이상의 입력 핀에 연결할 수 있는 단일 Wires 핀을 제공합니다.모든 스트림은 송신자의 부모 위치에서 세계로 방송됩니다. AudioEmitter부모가 Attachment 또는 Camera 또는 PVInstance인 경우, 부모의 세계 위치가 사용됩니다.부모가 이러한 클래스 중 하나가 아니면 AudioEmitter 는 실제로 침묵합니다.

AudioEmitters 는 3D 공간화를 구현하기 위해 AudioListeners 에서 듣습니다.

코드 샘플

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()

요약

속성

메서드

이벤트

속성

AngleAttenuation

BinaryString
Roblox 보안
병렬 읽기

각도와 관련된 볼륨-오버-앤젤 곡선을 나타내며, 이는 서로 간의 각도와 관련된 AudioListener 와 연관된 AudioEmitter 의 소리를 얼마나 크게 들을지에 영향을 줍니다, 그리고 이는 LookVector 와 연관된 AudioEmitter 에 관련된 것입니다.

이 속성은 내부이며 스크립트에서 액세스할 수 없습니다; 복제를 지원하기 위해 존재합니다. 사용 세부 정보는 SetAngleAttenuation() 참조하십시오.

AudioInteractionGroup

병렬 읽기

및 상호 작용 그룹을 공유하면 수신기가 발신자를 들을 수 있습니다.

DistanceAttenuation

BinaryString
Roblox 보안
병렬 읽기

서로 사이의 거리에 따라 어떻게 크게 들리는지에 영향을 미치는 볼륨-거리 곡선을 나타냅니다.Represents a volume-over-distance curve that affects how loudly a AudioListener will hear the AudioEmitter , based on the distance between them.

이 속성은 내부이며 스크립트에서 액세스할 수 없습니다; 복제를 지원하기 위해 존재합니다. 사용 세부 정보는 SetDistanceAttenuation() 참조하십시오.

병렬 읽기

오디오 시뮬레이션의 세부 정도가 이 AudioEmitter , 비슷하게 MeshPart.CollisionFidelity 또는 MeshPart.RenderFidelity 에 대해 어떻게 제어되어야 하는지 제어합니다.

AudioEmittersAudioListeners 필요한 수준의 세부 정보에 대해 동의하지 않는 옵션을 사용합니다.

메서드

GetAngleAttenuation

테이블 매핑 각도를 볼륨으로 반환합니다.키는 0180 사이의 숫자이며, 값은 01 사이의 숫자로 볼륨이 방향에 따라 감소하는 방법을 설명합니다.기본 각도 감소 곡선이 사용되는 경우 이 메서드는 빈 테이블을 반환합니다.


반환

위에 설명한 대로 테이블 매핑 각도를 볼륨으로 변환합니다.

GetAudibilityFor

매개 변수

listener: AudioListener
기본값: ""

반환

GetConnectedWires

Instances

지정된 핀하다연결된 배열 Wires 을 반환합니다. AudioEmitter 에는 "입력" 핀하다하나 있습니다.

매개 변수

pin: string
기본값: ""

반환

Instances

GetDistanceAttenuation

테이블 매핑 거리를 볼륨으로 반환합니다.키는 0보다 큰 또는 같은 숫자이며, 값은 0에서 1(포함)까지의 숫자로 볼륨이 거리에서 어떻게 감소하는지 설명합니다.기본 거리 감소 곡선이 사용되는 경우 이 메서드는 빈 테이블을 반환합니다.


반환

GetInputPins


반환

GetInteractingListeners

Instances

반환

Instances

GetOutputPins


반환

SetAngleAttenuation

()

서로 간의 각도와 관련된 음량 위에 각도 곡선을 설정하여 가 어떻게 크게 들을 수 있는지, 그리고 관련된 와 함께 연결된 에 따라 영향을 줍니다.

곡선은 볼륨 값에 대한 테이블 매핑 각도 키로 표시됩니다.키는 0180 (포함) 사이의 고유한 숫자로 예상되며, 값은 01 (포함) 사이의 숫자로 예상됩니다.최대 400개의 키-값 쌍이 포함된 테이블이 지원됩니다.

각도 에서 곡선의 점의 각도 값이 직접 위쪽과 아래쪽에 있는 볼륨 레벨 사이에서 선형으로 인터폴레이션되어 볼륨의 크기가 결정됩니다. The volume of the from the perspective of a at an angle is determined by linearly interpolating between the volume levels for the points on the curve whose angle values are directly above and below .아래에 a 포인트가 없거나 위에 a 포인트가 없으면 다른 포인트의 용량 수준이 선택됩니다.본질적으로 곡선은 직선으로 연결된 점의 시퀀스이며, 왼쪽과 오른쪽 끝점을 넘어서 곡선은 각각의 볼륨 수준에서 외부로 확장됩니다.

이 볼륨은 모든 다른 공격 곡선의 볼륨(수신 AudioListener 포함)과 곱해서 최종 청각을 얻습니다.

테이블이 비어 있거나 인 경우, 기본값은 상수 용량 값의 각도 감소 곡선을 사용하도록 설정됩니다.

매개 변수

curve: Dictionary
기본값: ""

반환

()

SetDistanceAttenuation

()

서로 사이의 거리에 따라 어떻게 크게 들리는지에 영향을 미치는 볼륨-거리 곡선을 설정합니다.Sets a volume-over-distance curve that affects how loudly a AudioListener will hear the AudioEmitter , based on the distance between them.

곡선은 테이블 매핑 거리 키와 볼륨 값으로 표시됩니다.키는 0보다 큰 또는 같은 유일한 숫자로 예상되며, 값은 0에서 1(포함) 사이의 숫자로 예상됩니다.최대 400개의 키-값 쌍이 포함된 테이블이 지원됩니다.

원거리에서 커브의 점의 거리 값이 직접 위쪽과 아래쪽에 있는 볼륨 레벨 사이에서 선형으로 간격을 채우면 AudioEmitter 의 볼륨 용량이 결정됩니다.The volume of the from the perspective of a AudioListener at a distance d is determined by linearly interpolating between the volume levels for the points on the curve whose distance values are directly above and below d.아래에 d 포인트가 없거나 위에 d 포인트가 없으면 다른 포인트의 용량 수준이 선택됩니다.본질적으로 곡선은 직선으로 연결된 점의 시퀀스이며, 왼쪽과 오른쪽 끝점을 넘어서 곡선은 각각의 볼륨 수준에서 무한대로 확장됩니다.

이 볼륨은 모든 다른 공격 곡선의 볼륨(수신 AudioListener 포함)과 곱해서 최종 청각을 얻습니다.

테이블이 비어 있거나 nil 이면, AudioEmitter 기본값은 역삼각 법칙에 의해 결정된 거리 감소 곡선을 사용하도록 설정됩니다.

매개 변수

curve: Dictionary
기본값: ""

반환

()

코드 샘플

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

이벤트

WiringChanged

연결되거나 연결 해제된 Wire 후 발생하는 이벤트로, Wire 는 현재 또는 이전에 AudioEmitter 및 다른 연결 가능한 인스턴스에 고정되었거나 고정되었습니다.

매개 변수

connected: boolean

인스턴스가 연결되었거나 연결 해제되었는지 여부.

pin: string

타겟 AudioEmitter 에 있는 핀은 다음과 같습니다.The pin on the that the Wire targets.

wire: Wire

Wire 와 다른 인스턴스 사이의 AudioEmitter.

instance: Instance

Wire를 통해 연결된 다른 인스턴스.