ПрограммированиеФорумЗвук

GLScene звук

#0
22:14, 20 авг 2015

Всем привет,

гугль послал меня с запросом "комьюнити glscene" т.ч. ищу помощи тут.

беру демку из набора GLScene sounds\3dsound. там все выглядит просто.

когда пытаюсь повторить тоже самое в реалтайм, обламываюсь тишиной на сцене:

вот вырезки из кода:

  eSoundLiberty.Samples.AddFile(path,mask);

  eSoundManager:=TGLSMBASS.Create(eScene);
  with eSoundManager do
  begin
    Listener:=eCameraFirstPerson; // слушаем основной камерой
    Cadencer:=eCadencer;
    Active:=True;
  end;

  eCube:=TGLCube.CreateAsChild(eScene.Objects);
  with eCube do
  begin
    CubeWidth:=1;
    CubeHeight:=1;
    CubeDepth:=1;
    Position.SetPoint(0,0,-3);
    Up.SetVector(0,1,0);
  end;

  with GetOrCreateSoundEmitter(eCube) do
  begin
    with Source do
    begin
      SoundLibrary:=eSoundLiberty;
      SoundName:=mask;
      NbLoops:=999;
      Pause:=False;
    end;
    Playing:=True;
  end;

если делаю пробную программку с добавлением всех объектов в редакторе с панели, то звук работает(хотя только с wav. вылетает ошибка при попытке проиграть mp3).

PS варианты с громкостью звука на компе исключены :)
PS2 если существует что то живое про glscene, прошу поделиться

#1
7:47, 21 авг 2015

Русскоязычное сообщество - сдох сайт... Будем надеяться, что исправятся в ближайшее время.

Насчёт же звука - на опыте Castle Game Engine (GlScene не пользовался) могу предположить: а) нет всех необходимых dll-шек в папке с проектом (Castle Game Engine требует эти для воспроизведения ogg файлов:  vorbis.dll, ogg.dll, vorbisfile.dll, wrap_oal.dll, OpenAL32.dll, zlib1.dll, думаю, для МРЗ ворбисы заменятся на что-то типа lame.dll), б) не установлен OpenAL (иногда он вредничает и хочет быть именно установлен, а не загружен, как dll-ка)

#2
21:33, 23 авг 2015

прям руки опускаются.

создаю проект новый, сую туда компоненты с панели - звук идет.
создаю их в реал-тайм, не фурычит.

ну явно не в DLL-шках дело.

выручайте народ, я уже даже жену достал с этим неработающим звуком

#3
2:34, 24 авг 2015

warsem
> я уже даже жену достал с этим неработающим звуком
Жена с неработающим звуком это же круто. Где достал ? :)

#4
20:42, 24 авг 2015

поковырялся на скорую руку(насколько это возможно, когда все дергают). честно скажу - заинтересовало.

*смущает то, что ссылки на какую то информацию - это все тот же мертвый glscene.ru. Хнык... Есть еще где почитать?
*я не допонял или движком можно только ogg формат петь?
*есть исходники для 3Д GLScene? а то как то плохо представляю себе перегон коогдинат из Single в Byte в Position.

и спасибо за пинок в другом направлении, правда много бился башкой об стену со звуком в GLscene

#5
22:28, 24 авг 2015

нашел исходник, где в 2д матрице шарики друг от друга удаляешь и звук меняет громкость.
пробую у себя на сцене, но звук всегда на одной громкости.
можешь сказать, что я не так делаю?

  with Sounds['song'] do
  begin
    Position:=seFunc.dgVector3f(eCube.position.x,eCube.position.y,eCube.position.z);
    Loop:=true;
    Play;
  end;


// eUserDummyCube удаляю на сцене от объекта
Listener.Position:=seFunc.dgVector3f(eUserDummyCube.Position.x,eUserDummyCube.Position.y,eUserDummyCube.Position.z);
Listener.Direction:=seFunc.dgVector3f(eUserDummyCube.Direction.x,eUserDummyCube.Direction.y,eUserDummyCube.Direction.z);
Listener.Up:=seFunc.dgVector3f(eUserDummyCube.Up.x,eUserDummyCube.Up.y,eUserDummyCube.Up.z);

и попутно вопросы:

  • как задать радиус слышимости звука? эффект от удаления от источника?
  • если я удалюсь на максимальное расстояние, звук продолжит играть на нулевой громкости или он ставиться на паузу? или его самому выключать.
  • очень хочется справку)

    #6
    22:21, 25 авг 2015

    глянь кусок кода выше. обновляю Listener.Position каждый раз, как двигаю камеру, но звук не затихает.

    поэтому начинаю грешить на эффект затихания звука.
    либо я не правильно что-то делаю. ты как автор движка может увидишь мою ошибку?

    В Caption стоят координаты листенера и Sounds['test.ogg'].Position. Должно же при удалении на 50 клеток уже затихание быть заметным? а у меня так и поет во всю.
    Изображение


    з.ы.: пока у меня заработает звук в проекте, я возненавижу эту мелодию))

    #7
    18:14, 26 авг 2015

    > А вообще это телепатия, как я не видя исходников найду ошибку..
    да я понимаю...

    исходник хороший, но до обидного печально то, что я все так же делал. Даже привязку к Listener через DummyCube.

    ща психану и буду игру с субтитрами блин делать)
    уже и на драйвера думал. пробовал на других виндах/машинах.

    #8
    21:10, 27 авг 2015

    Дункан, спасибо за попытку помочь. Сегодня после работы похерил весь класс объектов и написал с нуля новый. Все заработало как положено. Сидел сейчас пол часа буквально по пикселям сравнивал свежий код с первым топиком и не нашел разницы.

    Готов расплакаться. Неделю просто так долбился рогами об монитор.

    А русский глсцен нужно поднимать. Я без него точно сдуюсь.

    #9
    14:12, 30 авг 2015

    и что сейчас модно в связке с делфи?

    #10
    15:54, 30 авг 2015

    Сколько я знаю, GLScene цветёт и пахнет. Обновлена 2015м годом... правда, это не говорит про современность внутренностей, но по крайней мере есть те, которые пользуются. Накрылось только русское сообщество.

    и что сейчас модно в связке с делфи?

    Анализировал много вопрос выбора движка под 3d игру (с точки зрения Lazarus) - реально есть лишь два варианта: GLSCene и Castle Game Engine. Остальные не дотягивают по многим параметрам (типа TERRA с невнятной лицензией и отсутствием документации)... Или давно умерли (типа ZenGL).

    #11
    10:08, 1 сен 2015

    eugeneloza,
    спасибо. успокоил.

    ПрограммированиеФорумЗвук

    Тема в архиве.