วิธีการประหยัดพื้นที่ App โดยการลดขนาดไฟล์เสียง by

28
Jan
0

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

• Load Type ที่แบ่งได้เป็น 3 ตัวเลือก (เพิ่มเติมดูได้ที่ Blog ก่อนหน้า Click)

ถัดมาขอข้ามไปหัวข้อที่ 3 ก่อน คือ Sample Rate Setting ซึ่งสามารถใช้ลดขนาดได้เหมือนกัน เพราะการลด Sample Rate ของเสียงจะทำให้ลดขนาดและคุณภาพเสียงได้ โดยมี 3 ตัวเลือกคือ

  1. Preserve Sample Rate คือใช้ Sample Rate จากเสียงโดยตรง
  2. Optimize Sample Rate ให้ตัว Unity คำนวนหา Sample Rate ที่รองรับความถี่สูงสุดของเสียงนี้ให้เองอัตโนมัคิ
  3. Override Sample Rate เลือก Sample Rate เองเลย

ซึ่งวิธีนี้สามารถเลือกลด Sample Rate เองเลยก็ได้ หรือจะทำเองจากโปรแกรมตัดต่อเสียงอื่นจากภายนอกก็ได้ซึ่งเสียงทั่วๆไปแล้ว Sample Rate จะอยู่ราวๆ 44.1k – 48k ซึ่งถ้าอยากให้ไฟล์ขนาดลดลง เราสามารถลดเหลือ 22.05k ได้อยู่ แต่คุณภาพจะแย่ลงไปเยอะมากๆเทียบกับขนาดไฟล์ที่ลดลง

มาข้อที่ 2 กัน ซึ่งจะเป็นวิธีที่แนะนำ คือการเลือก Compression Format ซึ่ง Default ของ Unity จะเลือกให้เป็น PCM ซึ่งจะลดขนาดได้ไม่มาก ทีนี้ตัวเลือกจะมีทั้งหมด 4 แบบดังนี้

  1. PCM เป็นตัวที่บีบอัดน้อยที่สุดจึงให้เสียงที่คุณภาพดีที่สุด ไม่ควรใช้กับเสียงขนาดใหญ่ ใช้ CPU ไม่มาก
  2. ADPCM ขนาดเล็กกว่า PCM 3.5 เท่าแต่มี Noise บ้างเล็กน้อย เหมาะกับการใช้กับเสียงที่ต้องเล่นซ้ำๆ ใช้ CPU น้อยกว่า Vorbis/MP3
  3. Vorbis/MP3 เป็นตัวที่บีบอัดได้ดีมากๆ และมี Slide Quality ให้เลือกระดับคุณภาพ (1-100) จากประสบการณ์จริง Quality 100 ฟังแล้วแยกแทบไม่ออกเลย เป็นตัวเลือกกลางๆที่ดีมาก
  4. HEVAG คล้ายๆ ADPCM เป็นวิธีพื้นฐานของ PS Vita

ซึ่งจากการที่ใช้มา Vorbis/MP3 เป็นตัวเลือกที่ดีมากจริงๆ เพราะเทียบขนาดต่อคุณภาพแล้ว ลดขนาดได้เยอะมากโดยที่คุณภาพตกไปไม่เยอะเท่าไร ที่เหลือก็อยู่ที่เราจะเลือกปรับ Quality ซึ่งจากลองที่ฟังมาเองนั้น BGM 1 เพลงสรุปคร่าวๆได้ว่า

  • Quality  25 – ฟังแล้วแทบแยกไม่ออกจากเสียงปกติเลย ขนาดเล็กลงเหลือ 21% จากขนาดเต็ม
  • Quality 20 – ฟังแล้วแยกออกเล็กน้อยว่าไม่ได้คุณภาพดีเท่าเสียงปกติ ขนาดเล็กลงเหลือ 16% จากขนาดเต็ม
  • Quality 1 – ฟังแล้วแยกออกชัดเจนอยู่แต่ไม่ได้ถึงกับแย่มาก ขนาดเล็กลงเหลือ 13%

ดังนั้นจากการที่ทดสอบเอง จึงยึดราวๆ Quality 20 เป็นหลัง เพราะฟังแล้วแยกออกได้เพียงเล็กน้อยว่าเสียคุณภาพไปแต่ขนาดที่ลดลงนั้นยังนับว่าคุ้มมากๆ ส่วนต่ำกว่า 20 นั้นน่าจะไม่คุ้มละเพราะจากที่ทดสอบแล้วลด Quality เหลือ 1 ยังลดจาก Quality 20 แค่ 3% เท่านั้น

ที่เหลือก็อยู่ที่คุณภาพเสียงกับการลองฟังดูแล้วล่ะครับว่า App ของคุณเหมาะกับ Quality เท่าไหร่ :)

Default ของ Unity ที่เลือก PCM มาให้ จะเห็นได้ว่าขนาด 100.03% จากขนาดไฟล์ปกติ

เลือก Vorbis ที่ Quality 100 จะเห็นได้ว่าขนาดเหลือเพียง 28.87% จากขนาดไฟล์ปกติ ซึ่งลองฟังแล้วเสียงยังปกติมากๆ

ลด Quality เหลือ 19 ขนาดลดเหลือเพียง 5.25% จากขนาดไฟล์ปกติ ซึ่งเล็กมากๆ และถ้าไม่ใช่ลำโพงหรือหูฟังดีๆจะแยกแทบไม่ออกเลย เรียกได้ว่าคุ้มกับขนาดที่ลดลงไปมากๆ

[Unity] การเลือก LoadType ของ AudioClip ให้เหมาะกับ App ของเรา by

28
Jan
1

โดยปกติแล้วไฟล์เสียงที่เราใส่มาใน Unity ทาง Unity จะเรียกใช้งานเป็น AudioClip ซึ่งจะมีการปรับแต่ง Load Type หรือรูปแบบในการโหลดข้อมูลเสียงไว้ 3 แบบ คือ

  1. Decompress On Load
    จะทำการแกะการบีบอัดในตอนที่ทำการโหลดเสร็จ หรือก็คือการแกะการบีบอัดแล้วเก็บไว้ใน Memory เลย ข้อดีคือใช้ CPU ไม่มากเพราะประมวลผลตอนโหลดก่อนเล่นเลย ข้อเสียคือจะใช้พื้นที่ใน Memory เยอะ จึงควรใช้กับเสียงที่ไม่ยาวมากนัก
    สรุปใช้กับเสียงที่เล่นซ้ำบ่อยๆ และเป็นช่วงที่ Memory เหลือค่อนข้างเยอะ ไฟล์เสียงไม่ใหญ่
  2. Compressed In Memory
    จะทำการบีบอัดไว้ใน Memory แล้วทำการแกะการบีบอัดในขณะที่เล่นจริง ข้อดีคือใช้พื้นที่ใน Memory น้อยกว่าเพราะเก็บไว้ใน Memory แบบบีบอัด ข้อเสียงคือใช้ CPU บ่อยครั้งตามจำนวนที่เล่นเพราะต้องแกการบีบอัดทุกครั้ง
    สรุป ใช้ในจังหวะที่เล่นเสียงเพลงที่มีขนาดใหญ่ เล่นซ้ำไม่บ่อย หรือช่วงที่มี Memory เหลือไม่มาก
  3. Streaming
    จะเป็นการเล่นเสียงแบบตามข้อมูลเสียงจริงๆ ณ เวลานั้นเลย ข้อดีคือแทบจะไม่กิน Memory เลยเพราะเก็บแค่ Buffer ในการเล่นเสียงแต่ละช่วง ข้อเสียคือใช้ CPU ตลอดเวลาในการเล่นเสียง
    สรุป ใช้กับเสียงที่มีขนาดใหญ่มาก และควรเป็นช่วงที่มีระบบอื่นๆกิน Process CPU ไม่มากเท่าไร

ปรับปรุง Sound Effect ของฉากต่อสู้ by

27
Nov
0

เกม Warrior Tales Fantasy ในตอนแรกมีปัญหาว่าฉากต่อสู้ดูไม่ค่อยมันส์เท่าไร ทีมก็เลยมาช่วยกันคิดว่าจะแก้ไขอย่างไรดี ประเด็นหนึ่งที่ทีมพิจารณาว่าควรต้องแก้ไขก็คือเรื่อง SFX

วิธีการที่ทีมคิดว่าจะทำคือ
เปลี่ยนจาก SFX แบบเดิมที่เล่นเสียง hit เพียงเสียงเดียว เปลี่ยนเป็น
1.เพิ่มเสียง Swing ของอาวุธ
2.เพิ่มเสียงhit ของอาวุธนั้นๆเข้ามาด้วย
3.เพิ่มเสียงร้องของ unit ที่โดนโจมตี

ผลที่ได้เป็นแบบนี้ครับ

ปล.ในไฟล์ตัวอย่าง มีการทำให้ฉากเขย่าเมื่อโดนโจมตีด้วย

8 เว็บไซต์เพื่อหา Sound Effect & Music Loop สำหรับใช้ในเกม by

30
Jul
3

entryนี้ ผมรวมลิ้งค์เว็บต่างๆที่สามารถโหลด sound effect และ music loop สำหรับทำเกม ซึ่งมีทั้งฟรีและเสียเงินไว้นะครับ

1.Soundsnaphttp://www.soundsnap.com/
มีทั้ง sound effect และ music loop แต่ไม่ใช่เฉพาะทางสำหรับทำเกมเท่าไร ต้องไป search เอาในเว็บดู เว็บนี้จ่ายเิงินสมัครสมาชิกแล้วจะโหลดได้เป็นไฟล์ครับ เช่น 5 sounds – $9 USD

2.Freesoundhttp://www.freesound.org/
ขึ้นชื่อเว็บว่าฟรี แต่ว่าไม่ใช่ว่าฟรีทุกไฟล์นะครับ ต้องเข้าไปอ่านเงื่อนไขของคนทำเอา ซึ่งก็ต่างๆกันไป เว็บนี้มีทั้ง Sound Effect และ Music Loop เช่นกัน คล้ายๆ Soundsnap

3.PlayonLoophttp://www.playonloop.com/music-loops-category/videogame/
เว็บนี้มี Music Loop สำหรับเกมโดยเฉพาะ แต่จะมีแต่เพลงที่เป็น 8bit กับ 16bit แบบเกมเก่าๆเท่านั้น สามารถโหลดฟรีได้เฉพาะที่เป็น Loop สั้นๆ ถ้าอยากได้เต็มๆก็จ่ายเอาครับ

4.Sound Biblehttp://soundbible.com/tags-game.html
เว็บนี้หลักๆผมเอาไว้หา Sound Effect ที่หาไม่ได้จาก Soundsnap และ Freesound ครับ มีให้เลือกไม่เยอะ แต่ว่าก็มีเสียงที่ใช้ได้อยู่เหมือนกัน

5.Incompetechhttp://incompetech.com/music/royalty-free/
เว็บนี้เด็ดมากครับ ตรงที่มันสามารถหาเพลงตามอารมณ์ได้! เช่น เพลง เศร้า สนุกสนาน ลึกลับ ตื่นเต้น แต่ว่ามีเฉพาะ Music Loop เท่านั้นนะครับ

6.RPG Games Essentials Vol.1http://www.premiumbeat.com/sfx/collection_details/rpg-games-sfx-1
อันนี้เป็นแพคเสียงที่จำเป็นสำหรับเกม RPG โดยเฉพาะครับ สามารถเลือกซื้อเป็นอันๆหรือซื้อเหมาแพคไปเลยก็ได้

7.RPG Music Pack by Aaron Krogh
เป็นแพคเพลงสำหรับเกม RPG ครับ โหลดไปใช้ได้ฟรี แต่ว่าไม่ใช่ Loop ต้องมานั่งตัดเอาเองนะครับ โหลดได้ที่นี่ -> Download Link
ลิ้งค์ศิลปินเจ้าของผลงาน https://soundcloud.com/aaron-anderson-11

8.McFarland Beatshttp://www.mattmcfarland.com/royalty-free-music.html
เป็นเว็บบลอคของศิลปินท่านนึงครับ ซึ่งพี่แกปล่อยเพลงให้โหลดฟรีด้วย

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน