[Hướng Dẫn] Cách chỉnh tối ưu Import Settings cho Audio Clip trong Unity

Dang_KhoaDang_Khoa Posts: 3,737Administrators
edited August 27 in Unity

Giới Thiệu:

Thông thường làm việc với các settings mặc định của Unity không cần chỉnh sửa gì cũng tương đối ổn, tuy nhiên với Audio Clip thì khác, nếu chỉnh không đúng sẽ ảnh hưởng nghiêm trọng đến hiệu suất game của bạn, trường hợp xấu nhất có thể dẫn đến crash game do hết bộ nhớ!

Do đó trong bài viết này mình sẽ hướng dẫn các bạn tìm hiểu về các settings cho Audio Clip và chỉnh cách nào để tối ưu nhất cho game của bạn.

Hướng Dẫn:

Các settings cơ bản:
  • Force To Mono: Chuyển 2 kênh thành 1 kênh, tức là đeo tai nghe thì 2 loa y hệt nhau, giúp giảm còn 1/2 dung lượng, nên chọn vào đây nếu bạn không cần chia 2 loa.
  • Normalize: Cân bằng âm lượng, nếu clip tiếng nhỏ quá thì tăng lớn lên và ngược lại.
  • Preload Audio Data: Load file ngay khi scene vừa load, nếu bỏ chọn này thì audio sẽ chỉ load sau khi có lệnh Play hoặc LoadAudioData.
  • Load In Background:  Load file dưới nền, không làm game bị đứng, nếu file đang load mà play ngay thì phải đợi load xong. Thích hợp cho nhạc nền, còn tiếng động thì không nên (bạn có muốn vụ nổ xảy ra 1 giây sau mới có tiếng không?).
  • Sample Rate Setting: Tần số của âm thanh, nên chọn Override Sample Rate và chọn giá trị thấp nhất bạn nghe cảm thấy chất lượng chấp nhận được để giảm dung lượng file, theo kinh nghiệm thì chọn giá trị tầm 22k Hz là ổn, game nhạc kiểu 8 bit thì có thể chọn thấp hơn.

Compression Format:
  • Vorbis: Nén cao nhất, chất lượng tương đối thấp, và ngốn CPU nhiều nhất để giải nén. Thích hợp cho nhạc nền và âm thanh có độ dài trung bình.
  • PCM: File không nén, chất lượng cao, chỉ nên dùng cho sound effect ngắn.
  • ADCPM: File nén tốt (nhẹ hơn 3.5 lần so với CPM), tốn ít CPU để giải nén, nhưng hơi nhiễu, phù hợp cho các tiếng động có nhiễu như bước chân, tiếng nổ...

Load Type:
  • Compressed In Memory: File sẽ được đưa vào RAM ở trạng thái nén, chỉ giải nén khi dùng (khi dùng không tốn thêm bộ nhớ).
  • Decompress On Load: File sẽ được giải nén và lưu trong RAM, không tốn nhiều CPU khi dùng.
    Lưu ý, đối với các file nén mạnh như Vorbis hay ADCPM thì nó giải nén đầy đủ sẽ chiếm lượng RAM rất lớn (gấp 3.5 lần lúc nén với ADCPM và khoảng 10 lần với Vorbis)!
  • Streaming:  File lưu trong ổ cứng, dùng tới đâu thì load tới đó, tốn rất ít RAM, nhưng đọc trực tiếp từ ổ cứng rất chậm, có thể ảnh hưởng đến hiệu suất game.

Tóm Lại:

  • Nhạc nền: Vorbis, Compressed In Memory hoặc Streaming. Nếu game bạn vốn nhỏ nhẹ, ít thứ trong RAM thì Compressed In Memory để tăng hiệu suất, còn nếu game đã tốn RAM cho nhiều thứ khác thì chọn Streaming, chấp nhận giảm hiệu suất một chút nhưng đủ RAM cho tác vụ khác.
  • Tiếng động ngắn và thường sử dụng: CPM hoặc ADCPM, Decompress On Load. CPM cho các âm thanh không được nhiễu, ADCPM cho âm thanh cho phép nhiễu
  • Tiếng động dài và ít khi sử dụng: Vorbis, Compressed In Memory. Vì ít khi sử dụng nên tốn CPU giải nén Vorbis không phải vấn đề lớn.
  • Trường hợp còn lại (ngắn và ít dùng /dài và dùng nhiều): ADCPM, Compressed In Memory. Lựa chọn này để cân bằng giữa RAM và CPU.
Tagged:

Comments

  • doreamonhihidoreamonhihi Posts: 5Registered
    Tiện thể ad cho em hỏi cứ import clip trực tiếp vào project là xem được đúng không vậy? Có đợt em import vào xong lúc bật chỉ nghe được tiếng chứ không xem được ảnh :angry:
  • Dang_KhoaDang_Khoa Posts: 3,737Administrators
    Tiện thể ad cho em hỏi cứ import clip trực tiếp vào project là xem được đúng không vậy? Có đợt em import vào xong lúc bật chỉ nghe được tiếng chứ không xem được ảnh :angry:
    Video có cách sử dụng khác chứ, Audio Souce chỉ để play âm thanh thôi, muốn play video thì xem hướng dẫn của Unity ấy bạn.
    https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Attach file
Attach image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file