AudioEmitter

사용되지 않는 항목 표시

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

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

요약

속성

메서드

  • Class.AudioEmitter 가 사용하는 각도 변화 곡선을 가져오거나 기본 곡선을 사용하는 경우 빈 테이블을 가져옵니다.

  • GetConnectedWires(pin : string):Instances

    지정된 핀하다연결된 Wires 배열을 반환합니다.

  • Class.AudioEmitter 가 사용하는 거리 부정 곡선을 가져오거나 기본 곡선을 사용하는 경우 빈 테이블을 가져옵니다.

  • Class.AudioEmitter 이 사용할 각도 변화 곡선 설정 또는 제공되지 않은 경우 상수 볼륨 곡선 1 을 사용합니다.

  • Class.AudioEmitter 이 사용할 수 있는 거리 부정 곡선 곡선을 설정하거나 제공되지 않은 경우 역 롤오프 곡선을 사용합니다.

속성

AngleAttenuation

BinaryString
병렬 읽기
Roblox 보안

Class.Audio 의 볼륨 오버 앤글 커브를 나타내며, 이는 각 AudioEmitter 의 각도 및 LookVector 와 연관된 1>Class.AudioEmitter1> 의 볼륨에 영향을 줍니다.

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

AudioInteractionGroup

병렬 읽기

Class.AudioEmitter 및 AudioListener 인터랙션 그룹을 공유하면 듣기 기능이 있습니다.

DistanceAttenuation

BinaryString
병렬 읽기
Roblox 보안

Class.Audio 의 볼륨 대 거리 곡선을 나타내며, 이는 볼륨 AudioEmitter 의 볼륨 Class.Audio 이 볼륨 1>Class.Audio1> 과 얼마나 멀리 떨어져 있는지에 따라 크게 다릅니다.

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

메서드

GetAngleAttenuation

볼륨에 테이블 매핑 각도를 반환합니다. 키는 0180 (포함) 사이의 숫자이며, 값은 0 및 1> 11> (포함) 사이의 숫자입니다. 이 메서드는 기본 각도에 따라


반환

위에 설명된 대로 테이블 맵핑 각도를 볼륨에 대해 조정합니다.

GetConnectedWires

Instances

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

매개 변수

pin: string

반환

Instances

GetDistanceAttenuation

볼륨에 테이블 매핑 거리를 반환합니다. 키는 0보다 큰 숫자이며 값은 0에서 1(포함)까지 범위를 설명하는 볼륨 확장에 대한 기본 거리 확장 커브입니다. 이 메서드는 기본 거리 확장 曲線이 사용되는 경우 빈 테이블을 반환합니다.


반환

GetInteractingListeners

Instances

반환

Instances

SetAngleAttenuation

void

Class.Audio 의 볼륨 오버 앤글 커브를 설정하여 볼륨 AudioEmitter 가 듣기 위한 LookVector 의 볼륨을 조정합니다. 1>Class.Audio1> 와 연결된 4>Datatype.CFrame.LookVector|LookVector4> 에 따라 볼륨

곡선은 볼륨 값에 대한 테이블 매핑 각도 키로 표시됩니다. 키는 0 및 0> 10> (포함) 사이의 독특한 숫자여야 합니다. 값은 0 및 1 (포함) 사이의 독특한

Class.Audio 의 볼륨은 모서리 왼쪽의 모서리 왼쪽의 모서리 왼쪽의 모서리 왼쪽의

이 볼륨은 다른 모든 억제 곡선(수신기 AudioListener 포함)의 볼륨과 곱해 최종 청취 가능성을 얻을 수 있습니다.

테이블이 비어 있거나 nil 는 상수 볼륨 값 1 을 사용하는 각도 변화 곡선을 기본으로 합니다.

매개 변수

curve: Dictionary

반환

void

SetDistanceAttenuation

void

Class.Audio 의 볼륨 대 거리 곡선을 설정하여 거리 간의 대기 시간에 따라 AudioEmitter 가 Class.AudioEmitter 를 얼마나 시끄럽게 듣는지 영향을 미칩니다.

곡선은 볼륨 값에 대한 테이블 매핑 거리 키로 표시됩니다. 키는 0보다 큰 값을 가질 수 있지만 값은 0에서 1(포함) 사이의 숫자여야 합니다. 400개의 키 값 쌍을 포함하는 테이블이 지원됩니다.

Class.Audio 의 볼륨은 원거리가 AudioListener 의 볼륨 수준에 직접 위치한 포인트

이 볼륨은 다른 모든 억제 곡선(수신기 AudioListener 포함)의 볼륨과 곱해 최종 청취 가능성을 얻을 수 있습니다.

테이블이 비어 있거나 nil 이면 AudioEmitter는 역 사각 법칙에 따라 주변 거리 부정 곡선을 사용하도록 기본적으로 설정됩니다.

매개 변수

curve: Dictionary

반환

void

코드 샘플

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

이벤트