@DedliParkurKillerDark

Как проигрывать звук только на определенном расстоянии (Photon)?

Есть у меня Audio Source. При определенных событиях звук проигрывается через функцию:
[PunRPC] private void PlaySound() {
    GetComponent<AudioSource>().PlayOneShot(<b>звук который нужно проиграть</b>);
}

А потом эта функция вызывается через
photonView.RPC(nameof(PlaySound), RpcTarget.AllBufferedViaServer);

И вот проблема: Если использовать этот метод, то звук будет проигрываться одновременно у всех игроков, по всей карте игры, а надо, чтобы проигрывалось на определенном расстоянии.
Если использовать эту функцию без RPC, то, вроде, всё работает, но тогда этот звук не синхронизируется.
В настройках звуках я сделал минимальную дистанцию 1, а максимальную 20.
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
В AudioSource есть свойство Spatial Blend, которое определяет пространственное распространение.
Крайнее левое положение - это чистый 2D звук. Такой звук играет одинаково по всей сцене. Идеально для фоновой музыки в играх и интерфейса.
Крайнее правое, в свою очередь, чистый 3D звук, дальность распространения которого вы и определили.
Промежуточные состояния, это нечто среднее (зависит от зелёной полосы на графике в разделе 3D Sound Settings).

Вам нужно поставить в крайнее правое положение.
63f268e6e4ebe824615264.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы