Làm cách nào để giảm âm thanh trong trò chơi 2D nơi bạn có thể phóng to và thu nhỏ?


8

Trong trò chơi 2D của mình, tôi có một số âm thanh xung quanh như tiếng ồn của thác nước hoặc tiếng vo ve của máy phát điện. Tuy nhiên, không thực tế khi phát những âm thanh này mọi lúc với âm lượng đầy đủ vì ở mức độ lớn, sự chồng chéo của nhiều tiếng ồn như vậy sẽ khá khó chịu cho tai.

Tôi hiện đang suy nghĩ về một hệ thống điều chỉnh âm lượng của một số âm thanh nhất định tùy thuộc vào khoảng cách của chúng với người chơi. Tuy nhiên, đây không phải là một giải pháp tuyệt vời vì (ví dụ) ở trạng thái phóng to, người chơi có thể ở khá xa nguồn âm thanh (như tiếng nước rơi) nhưng vẫn có thể nhìn thấy nó trên màn hình nhưng không nghe thấy (do đến khoảng cách) mà khá khó xử.

Có một giải pháp cho một vấn đề như vậy?


3
"Thực tiễn tốt nhất" quá rộng, nhưng có vẻ như mấu chốt của câu hỏi của bạn là xử lý thu phóng, điều này dễ trả lời và thú vị hơn. Vì vậy, tôi đã loại bỏ bit "thực hành tốt nhất".

Câu trả lời:


8

Tôi nghĩ rằng bạn đang đi đúng hướng. Hệ thống đề xuất suy giảm dựa trên khoảng cách của bạn sẽ hoạt động nếu bạn

  • luôn luôn sử dụng khoảng cách trong trò chơi đến đối tượng từ người chơi, vẫn cố định bất kể mức thu phóng (không sử dụng khoảng cách "trên màn hình", thay đổi khi bạn phóng to) và

  • thiết lập hệ thống suy giảm của bạn để bắt đầu phát âm thanh của một đối tượng ngay khi khoảng cách của nó đến người chơi trên thế giới sao cho đối tượng gần như hiển thị với người chơi ở mức thu phóng tối đa.

Bằng cách này, người chơi có thể nghe thấy mọi thứ trước khi họ nhìn thấy, điều này mang đến cảm giác chân thực và khám phá. Nó cũng ngăn chặn hầu hết các kịch bản phát quá nhiều âm thanh xung quanh.

Tất nhiên, bạn vẫn có khả năng làm quá tải kênh âm thanh xung quanh nếu bạn có rất nhiều vật thể phát ra âm thanh ở cùng một vị trí trên thế giới. Điều này có thể được giải quyết bằng

  • thiết kế cấp độ của bạn để không làm điều đó, hoặc, nếu điều đó không khả thi,

  • ưu tiên cho các đối tượng và chỉ lấy các nđối tượng ưu tiên cao nhất hoặc

  • điều chỉnh giảm âm lượng của tất cả các âm thanh xung quanh bằng (nhiều hơn hoặc ít hơn) "chia cho số lượng âm thanh trong cảnh", đảm bảo rằng bạn vẫn làm mờ dần âm thanh khi các vật thể của chúng trở nên xa hơn để tránh "bật" khi bạn ví dụ, nhảy từ năm đối tượng đến bốn đối tượng.

  • tiền xử lý, đối với một cấp độ nhất định hoặc toàn bộ trò chơi, số lượng đối tượng tối đa có thể trong phạm vi và phát âm thanh cùng một lúc (thực hiện điều này như một phần của quy trình xây dựng dữ liệu cấp độ hoặc trò chơi). Dựa vào đó, bạn có thể xác định mức độ lớn để phát bất kỳ đối tượng nào sao cho trường hợp xấu nhất không bao giờ vượt quá âm lượng nhất định.

Tuy nhiên, hai tùy chọn sau giải quyết vấn đề hoàn toàn từ góc độ âm lượng - tuy nhiên, chúng không tính đến thực tế là ngay cả khi bạn phát 500 âm thanh nền đủ để không lấn át màng nhĩ của người chơi, bạn vẫn phát 500 âm thanh, có thể được ồn ào không phải theo nghĩa khối lượng nhưng trong ý nghĩa khó hiểu.

Để xử lý vấn đề đó, tôi nghĩ rằng tốt nhất bạn nên cố gắng giảm tổng số phát ra xung quanh hoặc chỉ lấy các nâm thanh được ưu tiên hàng đầu (để tham khảo, chiếm đỉnh cao nít nhiều là những gì chúng tôi đã giải quyết cho Guild Wars 2).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.