จัดการเสียงในเกมด้วย Eazy Sound Manager

00

สวัสดีครับ กลับมาพบกับเทคนิคดีๆในการเขียนเกมด้วย Unity กันอีกเช่นเคย วันนี้ผมก็มี Asset ดีๆฟรีๆมาฝากเพื่อนๆกันอีกครั้งครับ โดย Asset วันนี้มีชื่อว่า  Eazy Sound Manager ครับ

เวลาเขียนเกม สิ่งที่ขาดไม่ได้เลยก็คือเสียงนั่นเองครับ โดยปกติแล้ว Unity ก็มี Script ที่ไว้ใช้จัดการเสียงได้อยู่แล้ว แต่สำหรับมือใหม่บางครั้งก็งงและจัดการลำบาก ไม่ว่าจะเป็นการทำให้เสียง BG อยู่ในทุกๆซีน การเปลี่ยนเสียงแบคกราว การเล่นซาวเอฟเฟค การเปลี่ยนเสียงเป็นต้น ดังนั้นวันนี้ผมเลยนำ Asset ตัวนี้มาช่วยจัดการเสียงในเกมของเพื่อนๆให้เป็นเรื่องง่ายขึ้นครับ โดยสามารถดาวโหลดได้ ที่นี่ ครับ

 

มาดู Scene ตัวอย่างกันครับ

01

ซีนตัวอย่างจะเป็นหน้าที่ทำให้เราควบคุมเสียงทดสอบได้นะครับ เพื่อที่จะได้รู้ว่า Script ตัวนี้สามารถทำอะไรได้บ้าง ก็จะมีพวก Fade เสียงสลับกันได้เป็นต้นครับ

วิธีที่เราจะนำไปใช้เองแค่ Import Asset ตัวนี้มาก็สามารถใช้ได้แล้วครับ เพราะว่าตัว Asset จะดูจาก Script ที่ชื่อว่า SoundManager.cs ครับ

วิธีเล่นเสียงเราก็จะใช้คำสั่งง่ายๆแบบนี้ครับ

int backgroundMusicID = SoundManager.PlayMusic(musicAudioClip, 0.7f, true, false, 1,1, -1);

โดยที่ฟังชั่นก์ PlayMusic จะคืนค่า ID กลับมา เพื่อให้เราเอาไปใช้อ้างอิงในการทำงานส่วนอื่นๆต่อได้ครับ

  • musicAudioClip : คลิปเสียงที่ใช้เล่น
  • 0.7f : ความดังของเสียงว่ากี่เปอเซ็นต์ ค่าระหว่าง 0.0 – 1.0
  • true : เป็นเสียงแบบ Loop หรือไม่
  • false : เสียงนี้จะไปยังซีนอื่นๆต่อไปหรือไม่

 

ซึ่งหากจะหยุดเสียง ก็แค่ใช้คำสั่ง

Audio backgroundMusicAudio = SoundManager.GetAudio(backgroundMusicID);

backgroundMusicAudio.Stop();

และเรายังสามารถควบคุมระดับเสียงทั้งหมดในที่เล่นได้ด้วยฟังชั่นก์

SoundManager.globalMusicVolume = 0.3f;

เพียงเท่านี้ การจัดการเสียงของเกมเราก็จะง่ายขึ้นมากแล้วล่ะครับ

 

เป็นยังไงบ้างครับกับ Asset ที่นำมาฝากกันในวันนี้ หวังว่าจะช่วยให้เพื่อนๆจัดการเสียงในเกมได้ง่ายขึ้นนะครับ แล้วพบกันใหม่โอกาสหน้าครับ