SoundService

사용되지 않는 항목 표시

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

만들 수 없음
서비스

경험에서 플레이하는 방법의 다양한 측면을 결정하는 서비스입니다. Sounds``Class.SoundService 는 그룹이 작동하는 데 필수적이지 않기 때문에 종종 SoundGroups 을 저장하는 데 사용됩니다.

SoundService 속성(AmbientReverb, DistanceFactor, DopplerScaleRolloffScale)은 경험에서 모든 Sounds 플레이 방식을 변경하는 데 사용할 수 있으며, SetListener() 함수를 사용하면 소리가 들리는 위치를 설정할 수 있습니다.

코드 샘플

이 샘플의 코드는 에서 실행될 때, 플레이어가 태그를 사용하여 태그 내에 있을 때 속성을 변경합니다.

태그 및 리버브 유형을 추가하거나 제거하려면 '리버브Tags' 테이블의 항목을 변경하십시오.

동적 리버브 시스템

local Players = game:GetService("Players")
local CollectionService = game:GetService("CollectionService")
local SoundService = game:GetService("SoundService")
local localPlayer = Players.LocalPlayer
local reverbTags = {
["reverb_Cave"] = Enum.ReverbType.Cave,
}
-- 부품을 수집하고 태그로 그룹화
local parts = {}
for reverbTag, reverbType in pairs(reverbTags) do
for _, part in pairs(CollectionService:GetTagged(reverbTag)) do
parts[part] = reverbType
end
end
-- 위치가 부품의 범위 내에 있는지 확인하는 함수
local function positionInPart(part, position)
local extents = part.Size / 2
local offset = part.CFrame:PointToObjectSpace(position)
return offset.x < extents.x and offset.y < extents.y and offset.z < extents.z
end
local reverbType = SoundService.AmbientReverb
while true do
task.wait()
if not localPlayer then
return
end
local character = localPlayer.Character
-- 기본값으로 잔향 없음
local newReverbType = Enum.ReverbType.NoReverb
if character and character.PrimaryPart then
local position = character.PrimaryPart.Position
-- 인덱싱된 모든 부품을 통과하기
for part, type in pairs(parts) do
-- 문자가 들어 있는지 확인하십시오
if positionInPart(part, position) then
-- 그렇다면, 그 재앙 유형을 선택하십시오
newReverbType = type
break
end
end
end
-- 변경된 경우 잔향 유형 설정
if newReverbType ~= reverbType then
SoundService.AmbientReverb = newReverbType
reverbType = newReverbType
end
end

요약

속성

메서드

속성

AmbientReverb

병렬 읽기

CharacterSoundsUseNewApi

플러그인 보안
병렬 읽기

DefaultListenerLocation

플러그인 보안
병렬 읽기

DistanceFactor

병렬 읽기

DopplerScale

병렬 읽기

RespectFilteringEnabled

병렬 읽기

RolloffScale

병렬 읽기

VolumetricAudio

스크립팅할 수 없음
병렬 읽기

메서드

GetListener


반환

OpenAttenuationCurveEditor

()
플러그인 보안

매개 변수

selectedCurveObjects: Instances
기본값: ""

반환

()

OpenDirectionalCurveEditor

()
플러그인 보안

매개 변수

selectedCurveObjects: Instances
기본값: ""

반환

()

PlayLocalSound

()

매개 변수

sound: Instance
기본값: ""

반환

()

SetListener

()

매개 변수

listenerType: Enum.ListenerType
기본값: ""
listener: Tuple
기본값: ""

반환

()

이벤트