1

我最近尝试在我的 OpenGL 程序中使用 fmodex 3D 声音库,但我遇到了一些问题。我在我的 3D 世界中放置了一个扬声器,但无论距离有多远,声音都不会衰减源和相机。我也有感觉,当我移动相机时,声音在我的 2 个扬声器(左右)之间切换,我不知道这是否有任何意义!

这里有一些代码:

SoundManager.h

FMOD_SYSTEM *system;
std::vector<Sound*> sounds;
FMOD_VECTOR listenerp;
FMOD_VECTOR velocityp;
FMOD_VECTOR forwardp;
FMOD_VECTOR upp;


//initialisation
FMOD_System_Create(&system);
FMOD_System_Init(system, 32, FMOD_INIT_3D_RIGHTHANDED, NULL);


//update
FMOD_System_Set3DListenerAttributes(system,0, &listenerp, 0, &forwardp, &upp);
FMOD_System_Update(system);




Sound.h
FMOD_SOUND *son;
FMOD_SYSTEM* system;
FMOD_CHANNEL * channel;
FMOD_VECTOR position;
FMOD_VECTOR velocity;

//creating sound
FMOD_RESULT resultat = FMOD_System_CreateSound(system, "data/sounds/forest.wav",     FMOD_3D, 0, &son);

 //playing sound
    FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, son, true, &channel);
    FMOD_Channel_Set3DAttributes(channel,&position, 0);
    FMOD_Channel_SetPaused(channel,false);

我正在更新相机的位置和每帧的来源。如果有人有想法,我将非常感谢!:)

4

0 回答 0