Divine Skins
Divine Skins Wiki

Trung bình - Bank tùy chỉnh

Hướng dẫn tạo bank âm thanh tùy chỉnh bằng Wwise.

Công cụ cần có:

Wwise 2022.1.3

Tải từ Audiokinetic. Dùng bản 2022.1.3. Các bank hiện tại của Liên Minh được tạo bằng Wwise 2022.1, và bank từ phiên bản khác có thể không load được.

Tài liệu hữu ích:

Wwise 101

Khóa học chính thức cho người mới. Xem để học cách dùng Wwise.

Wwise 201

Khóa học nâng cao chính thức.

League Wwise Hierarchy Reference

Xem các bank chính thức được tổ chức ra sao và bạn có thể tận dụng những gì để âm thanh của mình hay hơn.

Custom Announcer Template của aurecueil và Jessibee

Template miễn phí. Thả âm thanh của bạn vào để dựng một bank phát thanh viên tùy chỉnh hoàn chỉnh.

Thông tin

Hướng dẫn này chỉ cách dựng bank tùy chỉnh chạy được trong hệ thống âm thanh của Liên Minh. Nếu cần kiến thức cơ bản về Wwise, hãy bắt đầu với Wwise 101 ở trên.


Cấu trúc bank và xuất tách riêng

Liên Minh chia âm thanh thành hai file riêng:

  • audio.bnk / audio.wpk: chỉ chứa media (các file âm thanh .wem thô).
  • events.bnk: chứa hierarchy logic (event, chuỗi action, container, switch và định tuyến bus).

Hierarchy của Wwise là dạng phẳng. Mỗi element có một ID và một ParentID. Nhờ vậy bạn có thể chèn element mới tự gắn vào các element cha có sẵn trong hierarchy của Liên Minh, mà không phải thay cả cây.

Tách âm thanh và event trong bank tùy chỉnh

Khi tạo SoundBank, Wwise có thể gộp cấu trúc và media vào một bank. Bạn có thể tùy chọn tách âm thanh khỏi event và cấu trúc. Tách ra giúp người khác sau này sửa được bank tùy chỉnh của bạn bằng Quartz.

Nếu tách, hãy tạo:

  1. Một file _audio.bnk chỉ chứa media.
  2. Một file _events.bnk chứa cấu trúc và định nghĩa event.

Nếu không tách, hãy tạo:

  1. Một file _events.bnk chứa media, cấu trúc và định nghĩa event. Nói gọn là tất cả.

Cách tổ chức hierarchy trong project

Tránh đặt sound object ngay dưới một Work Unit:

❌ Sai:
Work Unit -> Sound SFX

✅ Đúng:
Work Unit -> Actor-Mixer -> Random / Sequence Container -> Sound SFX

Vì sao nên dùng Actor-Mixer?

Actor-Mixer đóng vai trò bộ điều khiển trung tâm cho bộ kỹ năng của một nhân vật hoặc một nhóm phép. Bạn chỉ cần đặt giá trị mặc định trên Actor-Mixer một lần:

  • Định tuyến bus đầu ra (daad0rhm cho SFX)
  • Shareset attenuation
  • Độ ưu tiên phát
  • Make-up Gain cơ bản

Các container con tự động kế thừa những thiết lập này. Nếu một âm thanh cần hoạt động khác, hãy bật Override parent trên đúng element con đó.

Chỉnh âm lượng bằng Make-up Gain

Khi cân mức âm lượng trong Wwise, hãy chỉnh Make-up Gain thay vì Voice Volume. Voice Volume tương tác với các fader lúc chạy và khoảng trống dành cho ducking. Make-up Gain cho bạn mức gain tĩnh sạch, dễ đoán và không bị clipping.

Thêm biến thiên pitch ngẫu nhiên

Riot thường thêm một chút thay đổi pitch ngẫu nhiên cho các hành động lặp lại để nghe tự nhiên hơn (ví dụ các biến thể W của Sett hoặc lúc Quyền Năng Bất Diệt kích hoạt):

  1. Chọn container hoặc sound object của bạn.
  2. Bấm chuột phải vào biểu tượng bên phải Pitch.
  3. Đặt một khoảng, ví dụ từ -100 đến +100 cent.

Định tuyến âm thanh: bus đầu ra

Bạn không thể sửa hay thay các bus có sẵn của game. Tuy nhiên, bạn có thể định tuyến thẳng tới các bus đó hoặc tạo bus con của riêng mình bên dưới chúng.

Mục đíchTên bus
SFX của tướng (tung chiêu thông thường, va chạm và đòn đánh thường)daad0rhm
VO của tướngvo_champions
Thông báo của phát thanh viênvo_announcer_default
Nhạc chủ đề của tướng (tạo một bus con tùy chỉnh bên dưới bus này)mus_champion
Nhạc nền / nhạc bản đồmus_map
Thông báo và âm thanh UIsfx_hud
Ping chiến thuậtsfx_pings
Âm thanh môi trường và không giansfx_environment
Nhạc Đấu Trường Chân Lý (TFT)tft_mus_default
Thông tin

Âm thanh chiến đấu của tướng luôn nên đi qua daad0rhm. Các bus wet chạy qua reverb và bộ lọc méo tiếng toàn cục của môi trường (như hiệu ứng méo tiếng từ nội tại của Evelynn). Định tuyến tới daad0rhm giúp SFX của bạn luôn rõ.


Auto-ducking các bus chính thức

Nếu âm thanh tùy chỉnh của bạn cần làm nhỏ âm thanh nền (ví dụ một câu thoại đặc biệt khi dùng chiêu cuối hoặc một bản nhạc tùy chỉnh):

  1. Định tuyến âm thanh của bạn qua một bus con tùy chỉnh.
  2. Trong tab Auto-Ducking của bus tùy chỉnh, thêm bus chính thức cần duck (ví dụ mus_map).
  3. Đặt bus đó duck bằng Bus Volume, không bao giờ dùng Voice Volume. Duck bằng Voice Volume có thể làm các âm thanh đang phát bị tắt hẳn.

Định vị và attenuation

Attenuation quyết định âm thanh nhỏ dần theo khoảng cách như thế nào. Không có attenuation, âm thanh sẽ phát khắp bản đồ với âm lượng tối đa.

Thiết lập định vị trong Wwise Thiết lập attenuation trong Wwise

Các thiết lập quan trọng

  • Đơn vị khoảng cách: Đơn vị khoảng cách của Wwise tương ứng trực tiếp với đơn vị tầm đánh trong Liên Minh (tầm Tốc Biến là 400; đòn đánh thường tầm xa từ 500 đến 650).
  • Tắt Height Spread: Liên Minh được chơi trên mặt phẳng với camera isometric. Luôn tắt Height Spread trong phần định vị 3D để tránh lỗi panning theo chiều dọc.
  • Tái tạo đường cong chính thức: Bạn không thể tham chiếu asset attenuation chính thức bằng ID. Thay vào đó, xem League Wwise Hierarchy Reference để biết khoảng cách tối đa, đường cong roll-off và cone mà các tướng gốc dùng, rồi dựng lại đường cong tương tự trong shareset attenuation của project.

Thứ tự load và override qua .bin

Trong Liên Minh, cái nào load trước thì thắng. Nếu hai bank cùng định nghĩa một element, element của bank thứ hai sẽ bị bỏ qua mà không báo gì.

Bạn đặt thứ tự load trong file .bin của skin:

bankPath: list[string] = {
    "ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Custom_VO_audio.bnk"  ← Bank tùy chỉnh load trước
    "ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Base_VO_audio.bnk"
    "ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Base_VO_audio.wpk"
    "ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Base_VO_events.bnk"
}

Quy tắc đặt tên bank

  • Override event chính thức: Nếu bạn chỉ thay những event đã có sẵn trong game, tên file bank của bạn không cần có _events. Engine đã đăng ký tên các event đó từ bank gốc của game, nên bank của bạn sẽ chặn được chúng miễn là nó load trước.
  • Thêm event mới: Nếu bạn thêm event hoàn toàn mới mà tướng gốc không có, tên file bank của bạn bắt buộc phải chứa _events (ví dụ Yone_Custom_events.bnk). Bộ load âm thanh của Liên Minh chỉ đọc định nghĩa event từ những bank có _events trong tên file.
  • State và switch tùy chỉnh: Tạo state hoặc switch tùy chỉnh cần phải tạo và load một file Init.bnk. (Chèn hoặc đổi tên một Init.bnk tùy chỉnh trong Liên Minh vẫn đang thử nghiệm và chưa được kiểm chứng. Hãy dùng các state và switch chính thức có sẵn khi có thể.)

Mẹo thêm: thiết lập chuyển đổi

Bạn có thể dùng thiết lập chuyển đổi tùy chỉnh trong project Wwise (nén Vorbis, giảm chất lượng hoặc sample rate) để giảm đáng kể dung lượng cuối cùng của các file .bnk và .wem được xuất ra.


Hướng dẫn bởi aurecueil