Russian Sound System
Вложений: 1
В играх очень мало уделяется внимания звуку - "ай нахватаю звуков из игр и буду счастлив". Без эффектов окружения звук проигрывается сухо и в большинстве случаев не вписывается в окружение( выстрел в закрытом большом каменном помещении звучит как в чистом поле ). Я решил исправить эти недостатки и сделать чисто русскую звуковую библу - для своих! :russian:
Что пока имеется: 1) Сырая версия умеющая грузить wav файлы. 2) Куча! ( около 113 ) всевозможных эффектов окружения( EAX + EFX ) - начиная от гостинной и заканчивая космической станцией. 3) Специальная фишка( Environment AABB ) меняющая настойки при переходе из одной среды в другую. Все происходит автоматически - слушатель движется - настройки меняются. 4) Разные мелкие плюшки. Библа написана на C++ с использованием OpenAL. Собственно тема планируется как дневник для записи хода разработки. Здравая критика приветствуется. Че в архиве? Демка движка - на блицевском сдк в качестве рендерера. Большая бетонная комната в ней поменьше. Ходим WSAD. "Стреляем" левой кнопкой мыши. Если выдает ошибку - ставим oalinst.exe Ps. это всего лишь начальная стадия - у всех она бывала. тем более звук - это новое для меня поприще. pss. исходники по требованию |
Ответ: Russian Sound System
|
Ответ: Russian Sound System
как я понял, сабж - враппер опенала с ААББ фичей и кучей готовых пресетов окружения?
|
Ответ: Russian Sound System
Ты главное поддержку .ogg сделай. =) А на .mp3 можно смело плюнуть =)
|
Ответ: Russian Sound System
Да! Уже работаю. Парюсь с подзагрузкой файла с диска( чтобы память не лохматить )
|
Ответ: Russian Sound System
Требует загрузку MSVSP100.dll. Сделай без нее.
|
Ответ: Russian Sound System
Ок. У меня студия 10. Потому и требует. Сам движок после полной отладки планируется перенести в отдельную длл'ку
|
Ответ: Russian Sound System
Как вы считаете - требуется ли дозагрузка файла с диска по мере необходимости?
Мне кажется что не очень, т.к. если даже в вашей игре будет около 200 звуков. То при средней длительности в 2 секунды общий объем ИКМ( PCM ) данных будет не более 60 мб. В общем как скажете так и сделаю. |
Ответ: Russian Sound System
стриминг нужен обязательно. но это должны быть две разные вещи - звуки и музыка. звуки небольшие и играются часто - должны быть в оперативке. музыка играется редко и большая - она должна стримиться.
|
Ответ: Russian Sound System
Не обязательно разбивать на звук и музыку, достаточно в функции загрузки поставить флаг стриминга.
И еще... не забудь сделать возможность ручного управления размера буффера для стриминга |
Ответ: Russian Sound System
Хм, запустил - по-моему что в домике, что снаружи звуки играются одинаково.
|
Ответ: Russian Sound System
Ребята, объяните популярно - как правильно сделать стриминг. Я уже мозг сломал.
Кстати загрузку ogg реализовал. Осталось этот стремный стриминг сделать. Насколько я понял нужно делать так: Грузим кусок данных в буфер. Ставим буфер в очередь проигрывания. Как только буфер проигран, убираем его из очереди. Дальше грузим следующий кусок данных и забрасываем их в тот же буфер. Буфер обратно в очередь проигрывания. НО! Как сделать подкачку, если с семплом работают МНОГО источников? Держать вечно открытым файл и в каждом источнике хранить позицию следующего куска данных в буфере и подзагружать их с неё? На геймдеве читал статью http://www.gamedev.ru/code/articles/OpenAL но там говнокод - слишком сильная интеграция загрузчика и OpenAL'a. |
Ответ: Russian Sound System
пользователь зовет функцию OpenSoundStream
библиотека создает новый поток в потоке открывает файл ТОЛЬКО для чтения в функции есть код вида Код:
while(!stream.eof()) |
Ответ: Russian Sound System
Цитата:
|
Ответ: Russian Sound System
вообще все ето работать должно в других потоках, такчто не так уж и важно. ну поиск по файлу до 10мс в худшем случае. на практике етот файл будет в кэше жесткого диска скорее всего и будет почти бесплатно. но ето очень стремно - когда одну музыку надо играть в разных местах. для звуков (повторно проигрывающихся) зачем стриминг? если это звук роде там смены уровня - то пусть стримится. если ето звук выстрела - то грузи в оперативку целиком.
|
Часовой пояс GMT +4, время: 08:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot