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

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

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

Сообщение Flink 22 янв 2020, 14:46

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

UPD: сделал все через transform.hasChanged, спасибо всем за помощь, ВЫ лучшие! :-c
Последний раз редактировалось Flink 25 янв 2020, 13:42, всего редактировалось 2 раз(а).
Flink
UNец
 
Сообщения: 6
Зарегистрирован: 22 янв 2020, 14:39

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

Сообщение 1max1 22 янв 2020, 15:23

Божи, audioSource.Play(), гугл он перечитал, ага...
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Flink 22 янв 2020, 15:49

1max1 писал(а):Божи, audioSource.Play(), гугл он перечитал, ага...

Спасибо, конечно, но я это и использовал, когда пытался сделать сам. Нужно проигрывать это при вращении... У меня это не получается. Именно условие вращения. Прошу прощение за неправильно построенный вопрос.
Flink
UNец
 
Сообщения: 6
Зарегистрирован: 22 янв 2020, 14:39

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

Сообщение 1max1 22 янв 2020, 15:55

А что есть вращение? Опиши что происходит и как должен происходить звук. У тебя вращение физикой или кодом? Можно ведь проверять угол поворота и от его поведения воспроизводить звук.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Jarico 22 янв 2020, 16:11

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


Можно еще AudioSource = true и крутить момент звука в зависимости от скорости вращения переменными AudioSource.time и AudioSource.pitch
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

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

Сообщение Flink 23 янв 2020, 12:33

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

Вообщем: есть скрипт от SteamVR - с его помощью происходит вращение и определенные события (Circular Drive). Мне нужно, чтобы, если вентель поворачивается на любой градус - воспроизводился звук, но только во время вращения. Вот...
Flink
UNец
 
Сообщения: 6
Зарегистрирован: 22 янв 2020, 14:39

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

Сообщение Flink 23 янв 2020, 12:35

Вообще такая фигня: я не знаю как именно задать условие вращения. То есть если поворот больше, скажем, чем на 1 градус - воспроизводится звук. Если нет - звук останавливается.
Flink
UNец
 
Сообщения: 6
Зарегистрирован: 22 янв 2020, 14:39

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

Сообщение 1max1 23 янв 2020, 18:00

Скрипт на объект, который крутишь кинь.
Вектор 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();
        }
    }
}
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Flink 23 янв 2020, 19:51

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:
Flink
UNец
 
Сообщения: 6
Зарегистрирован: 22 янв 2020, 14:39

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

Сообщение 1max1 23 янв 2020, 20:17

Если делать через transform.hasChanged, то надо таймер делать (либо ждать завершение звука) чтобы звук не проигрывался каждый фрейм.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Flink 25 янв 2020, 13:15

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

Спасибо за помощь! Вообщем сделал через transform.hasChanged, просто разбирался в нем долго. Вообщем теперь все работает так, как нужно! :-bd :-bd :-bd
Flink
UNец
 
Сообщения: 6
Зарегистрирован: 22 янв 2020, 14:39


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 21