Преобразование моего комментария в ответ. Проблема в скрипте связана с пользовательским вводом.
Input.GetMouseButton
возвращает, удерживается ли нажатой указанная кнопка мыши. Следовательно, ваше утверждение if истинно, пока мышь удерживается нажатой. По этой причине у вас постоянно звучит много звуков, потому что вы Input.GetMouseButton
возвращаете true в нескольких кадрах во время взаимодействия.
Вместо Input.GetMouseButtonDown
следует использовать. Поскольку он возвращает true в кадре, пользователь нажал указанную кнопку мыши. Он вернет false, когда мышь удерживается нажатой. Следовательно, он вернет true только один раз при нажатии мыши.