วัตถุเสียง

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

การเล่นเสียงเกิดขึ้นผ่าน Sound วัตถุที่เปิดเสียงภายในประสบการณ์ โรบ็อกส์กำหนดเลขรหัสเฉพาะที่คุณสามารถกำหนดได้สำหรับ เสียง

เพื่อปรับแต่งการเล่นของวัตถุ Sound หลายราย คุณสามารถกำหนดไว้ให้พวกเขาไปที่ กลุ่มเสียง เสียง และควบคุมปริมาณเสียงของกลุ่มโดยรวม นอกจากนี้คุณยังสามารถใช้ เอฟเฟ็กต์

การสร้างวัตถุเสียง

มีสามสถานที่ที่คุณสามารถสร้างวัตถุ Sound และแต่ละสถานที่จะกำหนดวิธีที่เสียงปล่อยออกและเปลี่ยนแปลงปริมาณในเชิงสัมพันธ์กับตำแหน่งของผู้ใช้ในประสบการณ์

สถานที่เรื่องเสียงเปลี่ยนแปลงปริมาณ
ลูกบาศก์ของบล็อก BasePartเสียงประกายออกจากพื้นผิวทั้งหมดของชิ้นส่วนการเปลี่ยนแปลงปริมาณขึ้นอยู่กับระยะทางระหว่างผู้ใช้เครื่องฟังเสียงและตำแหน่งของชิ้นส่วน รวมถึงขนาดของมัน
ลูกของ Attachment ลูกของ MeshPart ลูกของ TrussPart ลูกของ 1> Class.WedgePart1> หรือ 4> Class.CornerWedgePart4>เสียงส่งออกจากจุดหนึ่งหรือศูนย์กลางการแขวนติดการเปลี่ยนแปลงปริมาณขึ้นอยู่กับระยะทางระหว่างเครื่องฟังเสียงของผู้ใช้และตำแหน่งอุปกรณ์/ชิ้นส่วน
ภายใน SoundService หรือ Workspaceเสียงประกายทั่วประสบการณ์ตำแหน่งและตำแหน่งของกระทะยังคงเหมือนกันไม่ว่าจะเป็นตำแหน่งของผู้ใช้หรือตำแหน่งการหมุน

เสียงตำแหน่ง

เสียงตำแหน่งเป็นเสียงที่ผู้ใช้สามารถได้ยินได้เฉพาะในตำแหน่งที่กำหนดในประสบการณ์ มีสองประเภทของเสียงตำแหน่งที่คุณสามารถใช้ได้: เสียงตำแหน่ง volumetric และ point แหล่งที่มา

ตัวชี้วัด

เสียงรอบตัวเป็นตัวเลือกเสียงที่เป็นจริงที่สุดเนื่องจากมันเปลี่ยนแปลง

ขนาดของ

เสียงระดับอวกาศเป็นประโยชน์สำหรับเสียงที่ต้องการให้อยู่รอบ ๆ ผู้ใช้และเปลี่ยนแปลงได้ตามตำแหน่งผู้ใช้ เช่นเวทีคอนเสิร์ตหรือเขต

เพื่อสร้างวัตถุ Sound สำหรับเสียงปริมาณ:

  1. ใน หน้าต่าง Explorer เลือก SoundService

  2. ในหน้าต่าง โปรพีเพอร์ตี้ ค้นหาไปยังโปรพีเพอร์ตี้ VolumetricAudio แล้วตั้งค่าให้เป็น เปิดใช้งาน

  3. ใน หน้าต่าง Explorer ห้ามเลื่อนเมาส์ไปที่ BasePart แล้วคลิกปุ่ม ⊕ เมนู上下컨텍สต์จะปรากฏขึ้น หน้าต่างบริบท

  4. จากเมนู ใส่ เสียง

  5. ในหน้าต่าง โปรพีเพอร์ตี้ ค้นหาไปยังสมบัติสมบัติ SoundId และป้อน รหัสสมบัติสมบัติ ที่ถูกต้อง

  6. (อpcional) หากคุณต้องการให้เสียงเริ่มเล่นเมื่อประสบการณ์เริ่มต้นเล่นให้เปิด พรรคเล่น สมบัติสมบัติ

แหล่งจุด

ต่างจากเสียงทรงปริภูมิ, เสียงที่มาจากจุดเดียวเท่านั้นจะปล่อยออกจากจุดเดียว นี่เป็นประเภทของเสียงที่มีประโยชน์สำหรับระเบิดเสียง, เสียงผลกระทบ, อุปกรณ์อิเล็กทรอนิกส์, และการแชท

เพื่อสร้างวัตถุ Sound สำหรับเสียงจุด:

  1. ใน หน้าต่าง Explorer ห้ามเลื่อนเมาส์ไปที่อุปกรณ์อื่น ๆ รั้ว ขอค้อน หรือมุมหมุน แล้วคลิกปุ่ม ⊕ เมนูบริบทรรมน์จะปรากฏขึ้น

  2. จากเมนู ใส่ เสียง

  3. ในหน้าต่าง โปรพีเพอร์ตี้ ค้นหาไปยังสมบัติสมบัติ SoundId และป้อน รหัสสมบัติสมบัติ ที่ถูกต้อง

  4. (อpcional) หากคุณต้องการให้เสียงเริ่มเล่นเมื่อประสบการณ์เริ่มต้นเล่นให้เปิด พรรคเล่น สมบัติสมบัติ

เสียงพื้นหลัง

เสียงพื้นหลังเล่นที่เสียงเดียวกันไม่ว่าผู้ใช้จะอยู่ที่ไหนในประสบการณ์ของคุณ ประเภทของเสียงนี้มีประโยชน์สำหรับดนตรีที่คุณต้องการเล่นสำหรับผู้ใช้เป็นพิเศษเมื่อคุณต้องการสร้างเสียงแทร็กขอ

ดีกว่าจะเก็บไว้ทั้งหมด Sound วัตถุสำหรับเสียงพื้นหลังในสถานที่เดียวของ Workspace สำหรับจุดมุ่งหมายขององค์กรเมื่อคุณเพิ่มและ

เพื่อสร้างวัตถุ Sound สำหรับเสียงพื้นหลัง:

  1. ใน หน้าต่าง Explorer ให้เลื่อนเมาส์ไปที่ SoundService แล้วคลิกปุ่ม ⊕ ตัวเรื่อง เมนูบริบทรัพย์แสดงขึ้นมา

  2. จากเมนู ใส่ เสียง

  3. ในหน้าต่าง โปรพีเพอร์ตี้ ค้นหาไปยังสมบัติสมบัติ SoundId และป้อน รหัสสมบัติสมบัติ ที่ถูกต้อง

  4. (อpcional) หากคุณต้องการให้เสียงเริ่มเล่นเมื่อประสบการณ์เริ่มต้นเล่นให้เปิด พรรคเล่น สมบัติสมบัติ

  5. (อpcional) หากวัตถุนี้ Sound นี้เป็นวัตถุเดียวที่คุณต้องการเล่นในสถานที่, เปิด โปรประวัติ ของมัน Looped

การปรับแต่งวัตถุเสียง

Sound ตัวอย่างโครงสร้างของวัตถุทำงานร่วมกันเพื่อส่งผลกระทบต่อวิธีการที่ผู้ใช้ประสบการณ์เสียงของคุณ เช่น:

  • พวกเขาได้ยินเสียงที่แน่นอนในแต่ละรายการและในความสัมพันธ์กัน (ปริมาณ)
  • พวกเขารับรู้ความดังเมื่อพวกเขาเคลื่อนไปออกจากที่อยู่แห่งแหล่งเสียง ( ระยะเวลาการเลื่อนออกของมินิดิสทรัคท์ , ระยะเวลาการเลื่อนออกของมินิดิสทรัคท์ และ ระยะเวลาการเลื่อนออ
  • ส่วนใดของเสียงที่พวกเขาสามารถฟังได้ ( ตําแหน่งเวลา )
  • พวกเขาได้ยินเสียงเร็วแค่ไหนและที่ความเร็วใด ( ความเร็วการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้รับการเล่นได้ร
  • หากเสียงเล่นซ้ำอัตโนมัติเมื่อสำเร็จ ( เชื่อมต่อ )

ปริมาณ

คุณสมบัติ Volume ช่วยให้คุณตั้งค่าปริมาณเสียงของเสียงของคุณทุกที่ตั้งแต่ 0 (ความชู่) ไปยัง 10 (บูม) หากคุณต้

RollOffMinDistance และ RollOffMaxDistance

RollOffMinDistance และ Class.Sound.RollOffMaxDistance|

สำหรับเสียงที่มาจากจุดเริ่มต้นของอินพุต RollOffMinDistance และ RollOffMaxDistance ทำงานได้เหมือนกับเสียงโวลูมิเตอร์ แต่ค่าระยะเวลาที่ควบคุม

โหมดโรลออฟ

คุณสมบัติ RollOffMode ช่วยให้คุณตัดสินใจได้ว่าเสียงจะลดลงเมื่อระยะระหว่างผู้ฟังของผู้ใช้และพ่อของวัตถุ Sound เป็นพ่อของเราเพิ่มขึ

โหมดโรลออฟคำอธิบาย
Inverse (ค่าเริ่มต้น)ปริมาณเริ่มต้นจาก RollOffMinDistance แต่ปริมาณจะเริ่มต้นเป็นลำดับที่เร็วขึ้นเมื่อผู้ใช้ใกล้จะถึง RollOffMaxDistance มากขึ้น เมื
Linearระดับเสียงลดลงอย่างเชิญชวนระหว่าง RollOffMinDistance และ RollOffMaxDistance เมื่อผู้ใช้ไปถึง RollOffMaxDistance แล้ว เสียงจะหยุดทำงาน
InverseTaperedระดับเสียงติดตามรุ่นกลับข้างหลังเมื่อใกล้ถึง RollOffMinDistance และรุ่นเส้นสายเมื่อผู้ใช้อยู่ใกล้ RollOffMaxDistance เสียงจะเข้าสู่สถานะชูติดต่อกันที่จุด
LinearSquareระดับเสียงจะเริ่มต้นที่ RollOffMinDistance และ RollOffMaxDistance ด้วยความสัมพันธ์เส้นสุดที่เป็นลินเนียร์ สื่อเสียงจะหยุดที่จุดสิ้นสุดสูงสุด

ความเร็วในการเล่น

สมบัติ PlaybackSpeed ช่วยให้คุณสามารถกำหนดความเร็วที่เสียงของคุณเล่นได้ เช่น หากคุณตั้งค่า Class.Sound.

ตำแหน่งเวลา

สมบัติข้อมูล TimePosition ประกอบด้วยตำแหน่งในตัวอย่างเสียงที่ผู้ใช้กำลังฟังอยู่ในขณะนี้ สมบัติข้อมูลนี้มีประโยชน์สำหรับการเล่นส่ว


local RunService = game:GetService("RunService")
-- สร้างส่วนใหม่
local part = Instance.new("Part")
part.Anchored = true
part.Color = Color3.new(0.75, 0.2, 0.5)
part.Size = Vector3.new(2, 1, 2)
part.Material = Enum.Material.Neon
part.Position = Vector3.new(0, 4, 0)
part.Parent = workspace
-- สร้างส่วนที่แนบมา
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- สร้างตัวปล่อยอนุภาคบนอุปกรณ์
local emitter = Instance.new("ParticleEmitter")
emitter.Rate = 5
emitter.Lifetime = NumberRange.new(1.5, 1.5)
emitter.Texture = "rbxassetid://1266170131"
emitter.Speed = NumberRange.new(1, 1)
emitter.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(1, 6)}
emitter.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.25, 0), NumberSequenceKeypoint.new(1, 1)}
emitter.Orientation = Enum.ParticleOrientation.VelocityPerpendicular
emitter.Parent = attachment
-- สร้างเสียงบนอุปกรณ์เสริม
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- เล่นเสียง
sound:Play()
-- เริ่มตรวจสอบว่าเอมิตเตอร์ควรเปิดใช้งานหรือไม่
RunService.Heartbeat:Connect(function()
-- เปิดใช้งานตัวออกส่งในช่วงเวลาของเสียง; เปิดใช้งานตัวปิดในช่วงเวลาของเสียง
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)

ซ้ำ

คุณสมบัติ Looped ช่วยให้คุณทำซ้ำเสียงหลังจากที่มันจบลงแล้ว เมื่อตั้งค่าไว้ที่ true ตัวเสียงของวัตถุ Sound จะเล่นอีกครั้ง

สคริปต์วัตถุเสียง

เล่นเสียงในบริบท

นอกเหนือจากการเล่นเสียงโดยอัตโนมัติผ่านคุณสมบัติ Sound ของ Playing โดยการเรียก LocalScript ในสถานที่เฉพา


local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()

หากสถานที่จะมีเพลงหลายเพลงคุณสามารถเล่นเพลงเฉพาะจาก LocalScript :


local SoundService = game:GetService("SoundService")
local musicTrack = SoundService:FindFirstChild("LucidDream")
if musicTrack not musicTrack.IsPlaying then
musicTrack:Play()
end

เล่นเสียงระบบ

คุณสามารถเล่นเสียงระบบสำหรับ GuiObjects เช่น ปุ่ม โดยการเชื่อมต่อวัตถุเสียง Class.Sound ไปยังผู้รับการเหยียวโดยตรง นี่ช่วยให้คุณใ

เพื่อเล่นเสียงของวัตถุ Sound เมื่อผู้ใช้เปิดใช้งาน TextButton หรือ ImageButton :

  1. ใน หน้าต่าง Explorer เลื่อนเมาส์ไปที่ TextButton หรือ ImageButton แล้วคลิกปุ่ม ⊕ เมนู上下컨텍สต์จะปรากฏขึ้น หน้าต่างบรรทัดถูกเรียกขึ้น
  2. จากเมนู ใส่ LocalScript หรือ Script ด้วย RunContext ตั้งค่าไว้ที่ 2> 枚.RunContext.Client2>
  3. วางรหัสต่อไปนี้ในสคริปต์, แล้วแทนที่ SOUND_NAME ด้วยชื่อของวัตถุ Sound ที่ตั้งอยู่ภายใน SoundService คอนเทนเนอร์

local SoundService = game:GetService("SoundService")
local button = script.Parent
local sound = SoundService:FindFirstChild("SOUND_NAME")
if not sound.isLoaded then
sound.Loaded:Wait()
end
local function onButtonActivated()
if sound and not sound.IsPlaying then
sound:Play()
end
end
button.Activated:Connect(onButtonActivated)