Всем привет,
гугль послал меня с запросом "комьюнити 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, прошу поделиться
Русскоязычное сообщество - сдох сайт... Будем надеяться, что исправятся в ближайшее время.
Насчёт же звука - на опыте 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-ка)
прям руки опускаются.
создаю проект новый, сую туда компоненты с панели - звук идет.
создаю их в реал-тайм, не фурычит.
ну явно не в DLL-шках дело.
выручайте народ, я уже даже жену достал с этим неработающим звуком
warsem
> я уже даже жену достал с этим неработающим звуком
Жена с неработающим звуком это же круто. Где достал ? :)
поковырялся на скорую руку(насколько это возможно, когда все дергают). честно скажу - заинтересовало.
*смущает то, что ссылки на какую то информацию - это все тот же мертвый glscene.ru. Хнык... Есть еще где почитать?
*я не допонял или движком можно только ogg формат петь?
*есть исходники для 3Д GLScene? а то как то плохо представляю себе перегон коогдинат из Single в Byte в Position.
и спасибо за пинок в другом направлении, правда много бился башкой об стену со звуком в GLscene
нашел исходник, где в 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);
и попутно вопросы:
очень хочется справку)
глянь кусок кода выше. обновляю Listener.Position каждый раз, как двигаю камеру, но звук не затихает.
поэтому начинаю грешить на эффект затихания звука.
либо я не правильно что-то делаю. ты как автор движка может увидишь мою ошибку?
В Caption стоят координаты листенера и Sounds['test.ogg'].Position. Должно же при удалении на 50 клеток уже затихание быть заметным? а у меня так и поет во всю.
з.ы.: пока у меня заработает звук в проекте, я возненавижу эту мелодию))
> А вообще это телепатия, как я не видя исходников найду ошибку..
да я понимаю...
исходник хороший, но до обидного печально то, что я все так же делал. Даже привязку к Listener через DummyCube.
ща психану и буду игру с субтитрами блин делать)
уже и на драйвера думал. пробовал на других виндах/машинах.
Дункан, спасибо за попытку помочь. Сегодня после работы похерил весь класс объектов и написал с нуля новый. Все заработало как положено. Сидел сейчас пол часа буквально по пикселям сравнивал свежий код с первым топиком и не нашел разницы.
Готов расплакаться. Неделю просто так долбился рогами об монитор.
А русский глсцен нужно поднимать. Я без него точно сдуюсь.
и что сейчас модно в связке с делфи?
Сколько я знаю, GLScene цветёт и пахнет. Обновлена 2015м годом... правда, это не говорит про современность внутренностей, но по крайней мере есть те, которые пользуются. Накрылось только русское сообщество.
и что сейчас модно в связке с делфи?
Анализировал много вопрос выбора движка под 3d игру (с точки зрения Lazarus) - реально есть лишь два варианта: GLSCene и Castle Game Engine. Остальные не дотягивают по многим параметрам (типа TERRA с невнятной лицензией и отсутствием документации)... Или давно умерли (типа ZenGL).
eugeneloza,
спасибо. успокоил.
Тема в архиве.