Собственно сабж, делаю что-то типа стратегии, на каждый выстрел свой честный звук выстрела. Когда хотя бы 2 юнита начинают стреляться, автоматическим оружием, друг с другом - звук выстрелов просто игнорируется. Я слегка удивлен... я думал юнити само разберется кому пищать, а кому нет, а не просто выключит звук.
Что делать?
UnityMind
> я думал юнити
Unity просто движок, он никому ничего не должен.
используйте библиотеки или ассеты для этого предназначенные как например WWise. Она решает эти вопросы (как и много других) путём настроек. Можно и свой сделать вариант. Никогда не задумывались почему только 1ой камере разрешено иметь AudioListenner?
Человеческий слух не способен отделить больше 3х одинаковых звуков с разницей в миллисекунды. Тут наверное больше зависит от слуха (сколько). Думаю вы в курсе фильма про снайперов которые специально стреляли из двух позиций одновременно, чтобы их тяжело было найти. Это из-за особенностей слуха. Даже небольшая задержка, даст лишь эффект перехода звука из одной позиции в другую, как шлейф, даже если они немного отличались по звучанию.
В конце концов вы делаете просто игру, учитесь упрощать игру, ведь игры это лишь симуляция.
Можете собрать фокус группу и протестировать, если есть возможность, так у Вас точно будет уже своё мнение на этот счёт.
Если несколько одинаковых звуков с разницей в миллисекунды, то это будет эхо и повышение громкости. На определённых звуках очень даже заметно, что звучание изменилось. С разных сторон стреляли чтобы заглушить направление, а не чтобы звучание не изменилось. Громкий звук прекрасно глушит эхолокацию направления более тихого, мозг недостаточно в этом плане развит, чтобы обрабатывать слишком много информации. Проблема здесь в другом - не каждое устройство раньше было рассчитано на проигрывание больше чем 8 стереозвуков одновременно. Какой сейчас лимит, хз. А уж какие звуки будет глушить движок, чтобы вписаться в лимит, это дело вкуса его разрабов. Просто попробуй обмануть свой движок - сделай 3 разных звука выстрела и через процедуру рули какой кому использовать.
Может их оглушило/контузия
Звук стрельбы очередью это совсем другой звук чем частый повтор одиночного выстрела.
Играет роль даже направление выстрела по отношению к слушателю.
У каждой пули свой AudioSource или AudioSource.PlayOneShot используется? Оптимально использовать звук очереди на персонаже (1 источник звука), вместо звука выстрела для каждой пули (10-30+ источников звука, в зависимости от продолжительности звука и скорострельности). Если конечно не требуется слышать полет пули с доплер эффектом, но это не применяется в стратегиях, если конечно нет какого-то функционала типо взять персонажа под свой личный контроль. Использование AudioSource.PlayOneShot ресурсозатратно при спаме звуков. Кстати даже если требуется использование звука с доплер эффектом лучше это заменить на обычный звук (пролета пули) и скрипт по пролету пули в радиусе от персонажа или центра взгляда камеры и то лучше не для каждой пули включать а с рандомным куллдауном между звуками.