Двумерный звук из трехмерного(Решено)

Программирование на Юнити.

Двумерный звук из трехмерного(Решено)

Сообщение ][@FF 27 апр 2011, 21:47

Доброго дня.
Загружая через веб музыку , столкнулся с такой задачей. Необходимо чтобы звук не изменялся в зависимости от движения и поворота камеры ГГ, и удаления от ГО (источника музыки), загрузка через веб возможна только для файлов с расширением .ogg
Возможно ли как то реализовать чтобы музыка в сцене проигрывалась "статично" (не изменялся в зависимости от движения и поворота камеры ГГ, и удаления от ГО). или может какие то настройки нужно включить в аудио сорсе на ГО?
Заранее благодарен за любую посильную помощь.
Последний раз редактировалось ][@FF 27 апр 2011, 22:49, всего редактировалось 1 раз.
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Двумерный звук из трехмерного

Сообщение Zaicheg 27 апр 2011, 22:08

WWW.GetAudioClip(bool threeD)
Use the parameter (threeD) to specify whether the clip should be a 2D or 3D clip the .audioClip property defaults to 3D.

Если не потратили полчаса на поиск в справке — создавайте тему сразу в «Почемучке».
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Двумерный звук из трехмерного

Сообщение DbIMok 27 апр 2011, 22:10

1. GetAudioClip (threeD : bool) // 2D
2. AudioSource.panLevel // 2D
3. зачем музыка "где-то", если от положения не зависит?
- проигрывать там же где Listener
- AudioSource.PlayClipAtPoint
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Двумерный звук из трехмерного

Сообщение ][@FF 27 апр 2011, 22:43

просматрел
http://unity3d.com/support/documentatio ... oClip.html
прочитал
function GetAudioClip (threeD : bool) : AudioClip
как пользоваться так и не понял, расскажу как есть на данном моменте


Синтаксис:
Используется csharp
public class MusikScenes : MonoBehaviour
{
    AudioClip MusikRoomClip;//будущий файл с музыкой
    GameObject goMusikScenes;//ГО сцены на котором будет проигрываться музыка
    public bool MusikScenesBool; //звук включить/отключить
    public string WhereMyCam;//играть музыку в в зависимости от того  какой комнате находимся
    public bool AllPlayBool; //загружать/не загружать мелодию
    string thisRoom;//поиск комнаты по местоположению камеры
    bool OneTimeMusik;//запускается один раз при старте, но играет вечно по кругу 5 мелодий (об этом ниже)

    void Start ()
    {
        goMusikScenes = GameObject.Find("MusikScenes");//нашли наш ГО в сцене
        MusikScenesBool = true; // включили звук
        AllPlayBool = true; //разрешили загрузку мелодии
        OneTimeMusik = true;//разрешили один раз
    }

    void Update()
    {
        if (OneTimeMusik)
        {
            StartCoroutine(GiveMeMusik());//загружаем музыку
            OneTimeMusik = false;
        }
//контроль звука (вкл/выкл)
        if (MusikScenesBool == true)
        {
            goMusikScenes.audio.mute = false;
        }
        else
        {
            goMusikScenes.audio.mute = true;
        }
   }

IEnumerator GiveMeMusik()
    {
        int cycle = 0;//первая мелодия
        int nMusik = 5;//всего мелодий 4 = )
        // если камера находится в точке 6 или 7 или 8 или 12, то комната называется коридор
        if ((WhereMyCam == "6") || (WhereMyCam == "7") || (WhereMyCam == "8") || (WhereMyCam == "12"))
        {
            thisRoom = "MusikKoridor";
        }

        if (AllPlayBool == true)// запускаем загрузку и проигрывание
        {
            while (cycle < nMusik) // если нынешняя мелодия меньше максимально возможного их количества
            {
                 // грузим с сайта песенку в зависимости от комнаты и значения цикла (1-5)
                WWW wwwMusik = new WWW("http://192.168.22.146/tempery/" + thisRoom + "_" + cycle + ".ogg");
                //WWW wwwMusik = new WWW("http://192.168.22.146/tempery/MusikRoom1" + "_" + cycle + ".ogg");
                yield return wwwMusik;

                MusikRoomClip = wwwMusik.audioClip;

                goMusikScenes.audio.clip = MusikRoomClip;
                // если музыка еще не играет и уже готова проигрываться запускаем
                if (!goMusikScenes.audio.isPlaying && goMusikScenes.audio.clip.isReadyToPlay)
                {
                    //MainCamPers.audio.PlayOneShot(impact);
                    goMusikScenes.audio.Play();
                    //если уже проигрывается то ждем пока не проиграется до конца
                    if (goMusikScenes.audio.clip)
                    {
                        yield return new WaitForSeconds(goMusikScenes.audio.clip.length);
                    }
                }
                cycle++;//следущая мелодия
                // если мелодия стала 5 то сбрасываем счетчик и идем заново по кругу
                if (cycle >= 5)//отправили в бесконечный цикл по кругу 5 мелодий
                {
                    cycle = 0;
                }
            }
        }
    }
}


вот как и куда и с чем мне засунуть function GetAudioClip (threeD : bool) : AudioClip
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Двумерный звук из трехмерного

Сообщение ][@FF 27 апр 2011, 22:44

DbIMok Сегодня, 22:10
простите, пока писал свое вы добавили, сейчас попробую
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Двумерный звук из трехмерного

Сообщение ][@FF 27 апр 2011, 22:49

Все всем Большой спасибо
добавляем строчку
goMusikScenes.audio.panLevel = 0;//0 - это 2D, 1 - 3D.
сразу после
goMusikScenes.audio.clip = MusikRoomClip;

и будет нам счастье = )
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ


Вернуться в Скрипты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14