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.3Tả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 101Khóa học chính thức cho người mới. Xem để học cách dùng Wwise.
Wwise 201Khóa học nâng cao chính thức.
League Wwise Hierarchy ReferenceXem 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à JessibeeTemplate 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.
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.wemthô).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:
- Một file
_audio.bnkchỉ chứa media. - Một file
_events.bnkchứa cấu trúc và định nghĩa event.
Nếu không tách, hãy tạo:
- Một file
_events.bnkchứ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 SFXVì 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 (
daad0rhmcho 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):
- Chọn container hoặc sound object của bạn.
- Bấm chuột phải vào biểu tượng bên phải Pitch.
- Đặt một khoảng, ví dụ từ
-100đến+100cent.
Đị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 đích | Tê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ướng | vo_champions |
| Thông báo của phát thanh viên | vo_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 UI | sfx_hud |
| Ping chiến thuật | sfx_pings |
| Âm thanh môi trường và không gian | sfx_environment |
| Nhạc Đấu Trường Chân Lý (TFT) | tft_mus_default |
Â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):
- Định tuyến âm thanh của bạn qua một bus con tùy chỉnh.
- 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). - Đặ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.
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ó_eventstrong 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ộtInit.bnktù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
