Звук в игре создаётся пачками
есть скрипт для озвучки
 public void PlaySound(int y_soundNum)
    {
        GameObject y_gameObject = Instantiate(y_sfx, Vector3.zero, Quaternion.identity) as GameObject;
        AudioSource y_audioSource = y_gameObject.GetComponent<AudioSource>();
        y_audioSource.clip = y_audioClips[y_soundNum];
        y_audioSource.Play();
        Destroy(y_gameObject, y_audioClips[y_soundNum].length);
    }
но при создании звука он создает сразу пачку объектов. как можно сделать так чтобы звуковой объект создавался только 1? нажатии кнопки, ходьбе, атаке???

Без ответа.


Просмотров: 394

ledoed #1 - 6 месяцев назад (отредактировано ) 0
звук друг на друга накладывается чтоле
да и непонятно каких обьектов,смотри префаб или метод юзаеться оч часто
Tevirp #2 - 6 месяцев назад (отредактировано ) 0
Короче создал скрипт отдельный для создания отдельного звукового объекта
И спомощью ссылки на этот скрипт делаю условия для создания
Но при создании звуковой объект создаётся в нескольких экземплярах
Пример. Прыжок при нажатии на кнопку прыжка. Звуковой объект создаётся при каждом нажатии. Если брать переменную bool определяющую находится ли персонаж на земле или нет. То звуковой объект создаётся несколько раз до тех пор пока не преземлиться.

Подскажите как сделать так чтобы звуковой объект создавался только 1 раз при выполнении условия
ledoed #3 - 6 месяцев назад (отредактировано ) 0
GameObject y_gameObject;

public void PlaySound(int y_soundNum)
{
	if(y_gameObject) Destroy(y_gameObject );
 y_gameObject = Instantiate(y_sfx, Vector3.zero, Quaternion.identity) as GameObject;
AudioSource y_audioSource = y_gameObject.GetComponent<AudioSource>();
y_audioSource.clip = y_audioClips[y_soundNum];
y_audioSource.Play();
Destroy(y_gameObject, y_audioClips[y_soundNum].length);
}
ну конечно ваш вариант очень утечный,лутше уж уже дать юниту аудидорожку и проигрывать уже его из компонента,так как проигрывание будет прикрывать уже проигравшую музыку
Tevirp #4 - 6 месяцев назад 0
Спасибо. попробовал. Теперь звуковые объекты удаляются сразу, но все равно звук удаленых объектов проигрывается до конца
нет не так
Взял полность ваш скрипт попробовал. Но у меня там идёт несколько видов звука под разные условия. И при выполнении остаётся только 1 самый последний когда нужно несколько.
Пример бегал и стрелял. Если бежит. Норм, но при выставлении звук бега прекращается, включается выстрел. И наоборот.
Попробовал в условия поменять на y_audioClips[y_soundNum. Но при этом объекты созданные удаляются, а звук проигрывается до конца
А что за вариант с аудиодорожкой?
ledoed #5 - 6 месяцев назад 0
ну смари есть юнит на него навесил компонент звука,и по обстоятельствам проигрывай его обращаясь непосредственно к этому компоненту,в теории звук запущеный должен прикрывать уже идущий
Tevirp #6 - 6 месяцев назад -2
Делал таким образом компанией звука на персонажа при ходьбе, но весь интерес в том что у меня сделан джойстик для движения.
И сделать условия на передвижения звук все равно проигрывается 1 за другим даже не успев начаться
Ledoe подскажи пожалуйста сайт где можно норм озвучку сделать, ато чувствую моим макаром я каши много не сварю)))
ledoed #7 - 6 месяцев назад 0
а на оф юньке там что нет уроков или материалов как управлять звуком
Tevirp #8 - 6 месяцев назад (отредактировано ) -2
Что то все равно не получается(