Войти
UnityФорумОбщее

Звук глохнет совсем когда слишком много источников звука

#0
23:38, 9 апр 2023

Собственно сабж, делаю что-то типа стратегии, на каждый выстрел свой честный звук выстрела. Когда хотя бы 2 юнита начинают стреляться, автоматическим оружием, друг с другом - звук выстрелов просто игнорируется. Я слегка удивлен... я думал юнити само разберется кому пищать, а кому нет, а не просто выключит звук.

Что делать?

#1
(Правка: 8:08) 8:03, 10 апр 2023

UnityMind
> я думал юнити
Unity просто движок, он никому ничего не должен.

используйте библиотеки или ассеты для этого предназначенные как например WWise. Она решает эти вопросы (как и много других) путём настроек. Можно и свой сделать вариант. Никогда не задумывались почему только 1ой камере разрешено иметь AudioListenner?
Человеческий слух не способен отделить больше 3х одинаковых звуков с разницей в миллисекунды. Тут наверное больше зависит от слуха (сколько). Думаю вы в курсе фильма про снайперов которые специально стреляли из двух позиций одновременно, чтобы их тяжело было найти. Это из-за особенностей слуха. Даже небольшая задержка, даст лишь эффект перехода звука из одной позиции в другую, как шлейф, даже если они немного отличались по звучанию.
В конце концов вы делаете просто игру, учитесь упрощать игру, ведь игры это лишь симуляция.

Можете собрать фокус группу и протестировать, если есть возможность, так у Вас точно будет уже своё мнение на этот счёт.

#2
11:08, 10 апр 2023

Если несколько одинаковых звуков с разницей в миллисекунды, то это будет эхо и повышение громкости. На определённых звуках очень даже заметно, что звучание изменилось. С разных сторон стреляли чтобы заглушить направление, а не чтобы звучание не изменилось. Громкий звук прекрасно глушит эхолокацию направления более тихого, мозг недостаточно в этом плане развит, чтобы обрабатывать слишком много информации. Проблема здесь в другом - не каждое устройство раньше было рассчитано на проигрывание больше чем 8 стереозвуков одновременно. Какой сейчас лимит, хз. А уж какие звуки будет глушить движок, чтобы  вписаться в лимит, это дело вкуса его разрабов. Просто попробуй обмануть свой движок - сделай 3 разных звука выстрела и через процедуру рули какой кому использовать.

#3
11:44, 10 апр 2023

Может их оглушило/контузия

#4
10:37, 11 апр 2023

Звук стрельбы очередью это совсем другой звук чем частый повтор одиночного выстрела.
Играет роль даже направление выстрела по отношению к слушателю.

#5
18:09, 11 апр 2023

У каждой пули свой AudioSource или AudioSource.PlayOneShot используется? Оптимально использовать звук очереди на персонаже (1 источник звука), вместо звука выстрела для каждой пули (10-30+ источников звука, в зависимости от продолжительности звука и скорострельности). Если конечно не требуется слышать полет пули с доплер эффектом, но это не применяется в стратегиях, если конечно нет какого-то функционала типо взять персонажа под свой личный контроль. Использование AudioSource.PlayOneShot ресурсозатратно при спаме звуков. Кстати даже если требуется использование звука с доплер эффектом лучше это заменить на обычный звук (пролета пули) и скрипт по пролету пули в радиусе от персонажа или центра взгляда камеры и то лучше не для каждой пули включать а с рандомным куллдауном между звуками.

UnityФорумОбщее