I am trying to get the latest OSP plugin working in Unreal with FMOD, and I set up some of the ambisonic samples like they said in the documentation (placed the node on the audio track not the master, verified that it is going from 4 channels down to 2), but the sound in the Rift doesnt change at all as I turn. Point sources using the normal oculus spatializer work fine, and I can pinpoint their positions accurately with my eyes closed, but the ambisonics seems to be doing nothing but playing a stereo downmix. I tried it with some of the samples with strong directionality like the ones with the nearby stream, and it was clearly headlocked.
Are there any extra steps we need to take? It looks as if the C++ code for the plugin has been removed, so is it true that we no longer manually initialize the plugin in Unreal? What am I missing.
I am using FMOD Studio 1.08.03, UE 4.12.4, and FMODStudio plugin 1.08.07 with OSP 1.1.1.
edit: It seems like it is worse than that, if I add a second point source into my scene, the spatialization breaks down completely. I put one source in front of me, and that plays just fine, then I put a second source behind me and the first source starts cutting in and out, and also sounds like it is coming from behind me. I tried it with a brand new fmod project, where all I did was add two looping mono sounds, replaced the spatializer and return reverb with the oculus variants.
edit2: This is happening even in a new project with fresh build of the latest release UE4 from Git (before 4.14), and the latest download of the FMOD plugin.
Hi @owenwp did you manage to find a solution for this yet? I haven't tried it out myself at the moment, but I was looking into using UE4.14 + FMOD + Oculus Audio SDK and so I am curious as to whether this is an issue specific to your setup or an issue with the Oculus Audio SDK.
I'll be trying the UE+FMOD+Oculus approach myself within the next few days and will let you know if I encounter a similar issue.
The point source spatialization seems to be fixed in 1.1.2. The ambisonics kinda work, but only if you follow the alternate instructions in the docs. If you place the ambisonics effect on the audio track directly as they recommend, it does not have any headtracking at all. You must change your project to 5.1 surround sound and place the ambisonics effect on the master track.
It also feels like the ambisonics do not track well with head pitch, I get much more change when I turn side to side but barely any up and down.
Has the first solution with ambix been solve yet? i'm trying to get my ambisonics ambience files to work with Unity but no luck there. I keep getting a headlocked stereo version, FMOD isnt getting my head rotation to move around the ambix files. is this due to FMOD new version 1.09? is there a fix coming soon?
The behavior is a bit counter intuitive so let me explain what is going on here.
To get head tracking for ambisonics our plugin needs to know the listener rotation. FMOD only propagates the 3D attributes for the source and listener to effects which are on the master track. That is why when you have it on the audio track it will not have head tracking. Putting the spatializer on the master track resolves that issue but introduces a more subtle issue where the ambisonics is treated as quadraphonic by FMOD and upmixed to 5.1, this upmix will (slightly) distort the 3D sound field.
There is a better workaround for the problem. Since the listener orientation is shared between all spatialized sounds it only needs to be set once, so as long as there is one active event with a spatializer on the master track all of the ambisonic sounds will get the listener rotation updated correctly. So the best solution is to put the ambisonic spatializer on the audio track to avoid the 5.1 upmix, then have another event (even if it's playing silence) that has the normal Oculus Spatializer on the master so that it can capture the listener rotation.
Glad to hear your issue is resolved. We should update the documentation, it was my expectation that most people would use ambisonics as a bed with other spatial sounds and we didn't need clutter the docs explaining this particular edge case - but since a couple of people have run into it now it seems like it's worth explaining in more detail.