วัตถุเสียง

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

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

ตัวอย่างเช่น แต่ละวัตถุเสียงมีความคิดทางด้านการจัดหมวดหมู่ดังต่อไปนี้:

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

เล่นเสียง

เพื่อเล่นเสียงภายในประสบการณ์ของคุณ สิ่งสำคัญคือต้องเข้าใจบทบาทของแต่ละวัตถุเสียงที่มีอยู่:

  • การโหลดและเล่น AudioPlayer ไฟล์เสียง โดยใช้อินเทอร์เฟซเสียงที่กําหนดไว้ โดยใช้ ID สื่อเสียงที่กําหนดไว้
  • An AudioEmitter เป็น ลำโพงเสมือน ที่ส่งเสียงไปยังสภาพแวดล้อม 3D
  • An AudioListener เป็นไมโครโฟนเสมือน ที่รับเสียงจากสภาพแวดล้อม 3D * An AudioDeviceOutput เป็นอุปกรณ์ฮาร์ดแวร์ทางกายภาพ ภายในโลกแห่งความจริง เช่นลำโพงหรือหูฟัง
  • An AudioDeviceInput เป็น ไมโครโฟนทางกายภาพ ภายในโลกแห่งความจริง
  • A Wire ส่งสตรีมเสียง จากวัตถุเสียงหนึ่งไปยังอีกวัตถุหนึ่ง

วิธีที่คุณจับคู่วัตถุเสียงเหล่านี้ร่วมกันขึ้นอยู่กับว่าคุณต้องการส่งเสียงโดยตรงไปยังลำโพงหรือหูฟังของผู้เล่นหรือจากวัตถุในพื้นที่ 3D หรือไม่ส่วนต่อไปนี้อธิบายทั้งสองสถานการณ์

เสียง 2D

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

  • เครื่องเล่นเสียงเพื่อผลิตสตรีมเสียง
  • อุปกรณ์ฮาร์ดแวร์ทางกายภาพเพื่อเล่นสตรีมเสียงในโลกแห่งความจริง
  • สายเพื่อนำสตรีมเสียงจากเครื่องเล่นเสียงไปยังอุปกรณ์ออก

เพื่อแสดงวิธีการกำหนดค่าวัตถุเสียงเหล่านี้ใน Studio สําหรับเสียง 2D ดิagram ต่อไปนี้เปรียบเทียบแต่ละวัตถุกับอุปกรณ์เครื่องเสียงโลกแบบจริงสรุป:

  • การโหลด AudioPlayer และเล่นสินทรัพย์เสียงของคุณด้วยการตั้งค่าที่กำหนด
  • The AudioDeviceOutput ช่วยให้ผู้เล่นสามารถได้ยินเสียงผ่านลำโพงหรือหูฟังได้
  • การเชื่อมต่อ Wire เชื่อมต่อกับเครื่องเล่นเสียงด้วยคุณสมบัติ SourceInstance และกับอุปกรณ์ฮาร์ดแวร์ทางกายภาพด้วยคุณสมบัติ TargetInstanceจากนั้นก็ทำหน้าที่เป็นสะพานเพื่อส่งสตรีมเสียงจากเครื่องเล่นเสียงไปยังอุปกรณ์ออกผลของผู้เล่น

เพื่อเล่นเสียงที่ไม่มีทิศทาง:

  1. ในหน้าต่าง สํารวจ ค้นหาไปที่ SoundService จากนั้น
    1. ใส่วัตถุ เล่นเสียง แหล่งที่มา
    2. ใส่วัตถุ AudioDeviceOutput เพื่อสร้างลำโพงที่เล่นตลอดประสบการณ์
    3. ใส่วัตถุ สาย เพื่อเชื่อมต่อสตรีมจากเครื่องเล่นเสียงไปยังลำโพง
  2. เลือก ผู้เล่นเสียง จากนั้นในหน้าต่าง คุณสมบัติ 1. ตั้ง AssetID เป็นรหัส ID เสียงที่ถูกต้อง หากคุณไม่มีเสียงที่กำหนดเองของคุณเอง คุณสามารถค้นหาเสียงที่ใช้ได้ฟรีในร้านค้าผู้สร้าง 2. เปิดใช้งาน การเล่นซ้ำ หากต้องการให้เสียงของคุณซ้ำอย่างต่อเนื่อง 3. ตั้ง ระดับเสียง ให้เป็นหน่วยของความถี่ที่คุณต้องการเล่นเสียงของคุณ
  3. เลือก สาย จากนั้นในหน้าต่าง คุณสมบัติ 1. ตั้ง SourceInstance ให้กับ AudioPlayer ผู้เล่น 2. ตั้ง เป้าหมายInstance ให้เป็น AudioDeviceOutput เพื่อระบุว่าคุณต้องการเล่นเสียงจากลำโพงเฉพาะนี้

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

เสียง 3D

เสียง 3D เป็นเสียงทิศทางที่เล่นจากตำแหน่งที่เฉพาะในพื้นที่ 3D เพิ่มขึ้นหรือลดลงตามตำแหน่งและทิศทางของผู้เล่นต่อเสียงประเภทเสียงนี้ต้องการวัตถุเสียงหกตัว:

  • เครื่องเล่นเสียงเพื่อผลิตสตรีมเสียง
  • ตัวส่งสัญญาณเสียงเพื่อส่งสตรีมเสียงภายในสภาพแวดล้อม
  • ผู้ฟังที่จะรับสตรีมเสียงจากสภาพแวดล้อม
  • อุปกรณ์ฮาร์ดแวร์ทางกายภาพเพื่อเล่นสตรีมเสียงในโลกแห่งความจริง
  • สายสองเส้น: หนึ่งเพื่อนําสตรีมเสียงจากเครื่องเล่นเสียงไปยังตัวส่งและอีกหนึ่งเพื่อนํามันจากผู้ฟังไปยังอุปกรณ์ออก

เพื่อแสดงวิธีการกำหนดค่าวัตถุเสียงเหล่านี้ใน Studio สําหรับเสียงเสมือนจริง 3D ไดอะแกรมต่อไปนี้เปรียบเทียบแต่ละวัตถุกับอุปกรณ์เสียงจริงของพวกเขาสรุป:

  • การโหลด AudioPlayer และเล่นสินทรัพย์เสียงของคุณด้วยการตั้งค่าที่กำหนด
  • ตำแหน่งพ่อของ AudioEmitter ในพื้นที่ 3D กำหนดตำแหน่งที่เสียงนั้นปล่อยออกมาภายในสภาพแวดล้อม
  • The AudioListener รับเสียงจากตัวส่งจากกล้องท้องถิ่นหรือภายในตัวละครผู้เล่น Humanoid.RootPart ขึ้นอยู่กับที่ที่คุณตั้งตำแหน่งผู้ฟังเริ่มต้น
  • The AudioDeviceOutput ช่วยให้ผู้เล่นสามารถได้ยินเสียงผ่านลำโพงหรือหูฟังได้
  • คอนเน็กเตอร์แรก Wire เชื่อมต่อกับเครื่องเล่นเสียงด้วยคุณสมบัติ SourceInstance และกับเอมิตเตอร์ด้วยคุณสมบัติ TargetInstanceจากนั้นก็ทำหน้าที่เป็นสะพานเพื่อส่งสตรีมเสียงจากผู้เล่นเสียงไปยังผู้ส่ง
  • คู่ที่สอง Wire เชื่อมต่อกับผู้ฟังด้วยคุณสมบัติ SourceInstance และกับอุปกรณ์ฮาร์ดแวร์ทางกายภาพด้วยคุณสมบัติ TargetInstanceจากนั้นก็ทำหน้าที่เป็นสะพานเพื่อส่งสตรีมเสียงจากผู้ฟังไปยังอุปกรณ์ออกผลของผู้เล่น

เพื่อเล่นเสียงตำแหน่ง:

  1. เลือกที่ที่คุณต้องการสร้าง ผู้ฟังเสียง เมื่อผู้เล่นเกิดในประสบการณ์

    1. ในหน้าต่าง สํารวจ เลือก SoundService 2. ในหน้าต่าง คุณสมบัติ ตั้ง ตำแหน่งผู้ฟัง กำลังติดตาม:
      • ค่าเริ่มต้น - สร้างและเป็นพ่อของผู้ฟังให้กับ Workspace.CurrentCamera ในประสบการณ์ที่เปิดใช้งานการแชทด้วยเสียง
      • ไม่มี - ไม่สร้างผู้ฟัง ตัวเลือกนี้มีประโยชน์หากคุณต้องการสร้างผู้ฟังผ่านสคริปต์
      • ตัวละคร - สร้างและเป็นพ่อแม่ของผู้ฟังต่อตัวละครของผู้เล่นท้องถิ่น
      • กล้อง - สร้างและเป็นพ่อของผู้ฟังไปยัง Workspace.CurrentCamera
  2. ในหน้าต่าง สํารวจ ค้นหาวัตถุ 3D เสียงจากนั้น:

    1. ใส่วัตถุ เล่นเสียง แหล่งที่มา
    2. ใส่วัตถุ เอาต์พุตเสียง เพื่อส่งสตรีมตำแหน่งจากวัตถุ 3D
    3. ใส่วัตถุ สาย เพื่อเชื่อมต่อสตรีมจากเล่นเพลงไปยังเอมิตเตอร์เสียง
  3. เลือก ผู้เล่นเสียง จากนั้นในหน้าต่าง คุณสมบัติ 1. ตั้ง AssetID เป็นรหัส ID เสียงที่ถูกต้อง หากคุณไม่มีเสียงที่กำหนดเองของคุณเอง คุณสามารถค้นหาเสียงที่ใช้ได้ฟรีในร้านค้าผู้สร้าง 2. เปิดใช้งาน การเล่นซ้ำ หากต้องการให้เสียงของคุณซ้ำอย่างต่อเนื่อง 3. ตั้ง ระดับเสียง ให้เป็นหน่วยของความถี่ที่คุณต้องการเล่นเสียงของคุณ

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

    ตัวอย่างเช่น สัญญาณโค้งต่อไปนี้ลดระดับเสียงของเสียงลงครึ่งหนึ่งเมื่อผู้ฟังอยู่ห่างจากเอมิตเตอร์ 50 สตัด จากนั้นจะลดระดับเสียงลงเป็นศูนย์เมื่อผู้ฟังอยู่ห่างจากเอมิตเตอร์ 70 สตัด

  5. เลือก สาย จากนั้นในหน้าต่าง คุณสมบัติ 1. ตั้ง SourceInstance ให้กับ AudioPlayer ผู้เล่น 2. ตั้ง เป้าหมายInstance ให้กับ AudioEmitter เพื่อระบุว่าคุณต้องการเล่นเสียงจากตัวเร่งเสียงเฉพาะนี้

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

ปรับแต่งเสียง

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

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

เรียกเสียง

คุณสามารถเรียกบริบทเสียงได้โดยใช้สคริปต์โดยการเรียก Play() บนวัตถุ AudioPlayer ที่เชื่อมต่อถูกต้องตัวอย่างเช่น ผู้เล่นคุณสามารถเรียกใช้สินทรัพย์เสียงผ่านสิ่งเช่นนี้ได้:


local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)

สำหรับตัวอย่างโค้ดที่ซับซ้อนมากขึ้นเพื่อเรียกการเล่นเสียง เช่น สำหรับความคิดเห็นเกี่ยวกับเกม การโต้ตอบระหว่างผู้ใช้ และเสียงพื้นหลังการเล่นซ้ำ ดูวิธีการ เพิ่มเสียง 2D และ เพิ่มเสียง 3D ในบทสอน