Всем привет!
Расставляя источники звука на сцене, я сталкнулся с тем, что они проявляют свои свойства по прямой, вне зависимости от геометрии пространства. Соответственно, возник вопрос как в играх программируются свойства источников звука в контексте препятствий. Ну, чтобы элементарно заворачивая за угол звук резко затихал. Ну и не орал из-за стены.
В Unity есть стандартная "зона реверберации", но почему то нет управления звуком согласно геометрии пространства.
Подскажите какие применяются решения в данном случае. Что то не могу ничего найти. Похоже опять не так и не там ищу(
Рейкастами. Забавная ситуация - светом заморачиваются настолько что даже выпускают бесполезное железо под сомнительные фишки, а на звук всем насрать.
Нет пока что отработанных популярных технологий для вашей задачи.
sledo
Рейкастами - это в смысле вычислять расстояние до источника звука, и смотреть находится ли он в прямой видимости?
Тут проблема ещё в том, что надо определять каким образом поместить источник в панораме.
Неужели нет готовых библиотек? Это вроде бы банальнейшие задачи...
MSA2
Были бы, уже давно бы использовали б их повсеместно. Распространение звука имеет в целом туже природу что и распространение света. Как следствие и вычислительные мощности требует тех же.
Но тратить столько вычислений на то что не видишь - ни один здравомыслящий человек не будет. ВОт мы и имеем не развитую звуковую систему.
Даже если кто то и когда то создал готовое решение которое учитывает преодоление звуком препятствий, все это будет съедать столько ресурсов, что вы подумаете что в принципе, можно и довольствоваться тем что есть.
Тем более, что это не нужно.
Предположим что источник звука закрывает объект. Какой эффект будет от этого? Отражение звуковых волн от поверхности объекта, потом от другого которые и будет слышать слушатель. В итоге мы имеем проваленные ожидания человека который думает, например, что должен гудеть трансформатор, а не стенка которая в десяти метрах от него. МОжете потом ему долго объяснять что у вас очень развитая система звука и поэтому гудит трансформатор, а стенка просто отражает его гундеж.
В обычном случае, если источник звука скрыт препятствием, то его громкость просто будет ниже обычного. На ту степень, на которую он имеет звукоизоляцию, если это строение. Стреляем рейкастом в источник звука (конечно если у вас не овер 100500 источников звука), приглушаем если не попали. Вот и вся хитрость.
Тема в архиве.