Страница 1 из 1

Звук при вращении объекта [РЕШЕНО!]

СообщениеДобавлено: 22 янв 2020, 14:46
Flink
Hello World! \m/ Нужна Ваша помощь! :ymbringiton: Есть такая проблема: стоит бандурина в VR для стерилизации тары, а на этом агрегате - вентель и крышка. При вращении вентеля - должен проигрываться звук металла. И каким образ проигрывать звук при вращении - я понятия не имею. Помогите, пожалуйста, если не сложно. Заранее спасибо! :ymhug:
P.S. Прочесал весь Хугл - ничего так и не нашел((( [curved_hands]

UPD: сделал все через transform.hasChanged, спасибо всем за помощь, ВЫ лучшие! :-c

Re: Звук при вращении объекта

СообщениеДобавлено: 22 янв 2020, 15:23
1max1
Божи, audioSource.Play(), гугл он перечитал, ага...

Re: Звук при вращении объекта

СообщениеДобавлено: 22 янв 2020, 15:49
Flink
1max1 писал(а):Божи, audioSource.Play(), гугл он перечитал, ага...

Спасибо, конечно, но я это и использовал, когда пытался сделать сам. Нужно проигрывать это при вращении... У меня это не получается. Именно условие вращения. Прошу прощение за неправильно построенный вопрос.

Re: Звук при вращении объекта

СообщениеДобавлено: 22 янв 2020, 15:55
1max1
А что есть вращение? Опиши что происходит и как должен происходить звук. У тебя вращение физикой или кодом? Можно ведь проверять угол поворота и от его поведения воспроизводить звук.

Re: Звук при вращении объекта

СообщениеДобавлено: 22 янв 2020, 16:11
Jarico
1max1 писал(а):А что есть вращение? Опиши что происходит и как должен происходить звук. У тебя вращение физикой или кодом? Можно ведь проверять угол поворота и от его поведения воспроизводить звук.


Можно еще AudioSource = true и крутить момент звука в зависимости от скорости вращения переменными AudioSource.time и AudioSource.pitch

Re: Звук при вращении объекта

СообщениеДобавлено: 23 янв 2020, 12:33
Flink
1max1 писал(а):А что есть вращение? Опиши что происходит и как должен происходить звук. У тебя вращение физикой или кодом? Можно ведь проверять угол поворота и от его поведения воспроизводить звук.

Вообщем: есть скрипт от SteamVR - с его помощью происходит вращение и определенные события (Circular Drive). Мне нужно, чтобы, если вентель поворачивается на любой градус - воспроизводился звук, но только во время вращения. Вот...

Re: Звук при вращении объекта

СообщениеДобавлено: 23 янв 2020, 12:35
Flink
Вообще такая фигня: я не знаю как именно задать условие вращения. То есть если поворот больше, скажем, чем на 1 градус - воспроизводится звук. Если нет - звук останавливается.

Re: Звук при вращении объекта

СообщениеДобавлено: 23 янв 2020, 18:00
1max1
Скрипт на объект, который крутишь кинь.
Вектор right это вектор перпендикулярный оси вращения, у тебя он может быть другим.

Синтаксис:
Используется csharp
class XXX : MonoBehaviour
{
    [SerializeField] AudioSource audioSource;

    Vector3 right;

    void Start()
    {
        right = transform.right;
    }

    void Update()
    {
        var delta = Vector3.Angle(transform.right, right);

        if (delta > 1.0f)
        {
            right = transform.right;

            audioSource.PlayOneShot(audioSource.clip);
            // or
            // audioSource.Play();
        }
    }
}

Re: Звук при вращении объекта

СообщениеДобавлено: 23 янв 2020, 19:51
Flink
1max1 писал(а):Скрипт на объект, который крутишь кинь.
Вектор right это вектор перпендикулярный оси вращения, у тебя он может быть другим.

Синтаксис:
Используется csharp
class XXX : MonoBehaviour
{
    [SerializeField] AudioSource audioSource;

    Vector3 right;

    void Start()
    {
        right = transform.right;
    }

    void Update()
    {
        var delta = Vector3.Angle(transform.right, right);

        if (delta > 1.0f)
        {
            right = transform.right;

            audioSource.PlayOneShot(audioSource.clip);
            // or
            // audioSource.Play();
        }
    }
}

Спасибо, завтра попробую. Но я, кстати, нашел такую фичу, как transform.hasChanged. Что-то даже получилось (Звук хоть и отрывками, но проигрывается). Завтра разберусь. Еще раз спасибо!!! :-bd :ymhug:

Re: Звук при вращении объекта

СообщениеДобавлено: 23 янв 2020, 20:17
1max1
Если делать через transform.hasChanged, то надо таймер делать (либо ждать завершение звука) чтобы звук не проигрывался каждый фрейм.

Re: Звук при вращении объекта

СообщениеДобавлено: 25 янв 2020, 13:15
Flink
1max1 писал(а):Если делать через transform.hasChanged, то надо таймер делать (либо ждать завершение звука) чтобы звук не проигрывался каждый фрейм.

Спасибо за помощь! Вообщем сделал через transform.hasChanged, просто разбирался в нем долго. Вообщем теперь все работает так, как нужно! :-bd :-bd :-bd