For my first-person 3D game, I have quad ambiences which I would like to be locked to the world position - so when the player rotates, the sounds are “world-locked” and do not rotate with the player.
I have done a lot of digging into past posts on here, and it seems the only way to do this is via the spatializer. However, I am hearing phasing when I do this. My understanding is that this is caused by the spatializer collapsing the quad sounds to mono, before doing the desired rotation and upmixing them back to the user’s output format.
However, removing the spatializer, I am actually hearing phasing regardless - anytime I am playing back my quad files in FMOD Studio, even via the asset browser. Not sure why this would be happening. Maybe I have something configured incorrectly?
Here is a sample of 3 files. two are captured via fmod studio set to Desktop->Stereo in the project settings - then I routed it thru loopback to record it. the other file is directly exported from reaper, I set the channel count to 2 in the export even though its a quad file. The reaper file is how it should sound, the fmod ones sound phasey to me, particularly with the spatializer enabled. Please note that all of these files are accurate to how I hear playback in FMOD studio so you can rule out capturing weirdness from Loopback.
fmod - with spatializer: rain_basic_quad_quad_fmoddownmix.mp3 - Google Drive
fmod - no spatializer: rain_basic_quad_fmod_nospatializer_quad_fmoddownmix_nospatializer.mp3 - Google Drive
reaper: rain_basic_quad_quad_stereodownmix.mp3 - Google Drive
One alternative I’ve read about: create a system in Unity where we have 4 mono emitters a bit away from the player, and locked to the relative world position. I haven’t tested this out fully, since it would require a fair bit of implementation logic in unity – but I’m assuming that, to prevent this solution from also causing phasing issues, I’d have to send each of these emitters to a transceiver bus? Should there be any further steps? It’s unclear to me whether this would fix the issue.
I’d appreciate any advice or insight into the correct workflow for this! Please let me know if I’m misunderstanding or overlooking a simpler solution. Happier also to provide more details about my FMOD Studio setup if needed. Thank you.