public void SetEnvironment(Environment environment, PropagationSettings simulationSettings) { ambisonicsFormat.channelLayoutType = ChannelLayoutType.Ambisonics; ambisonicsFormat.ambisonicsOrder = simulationSettings.ambisonicsOrder; ambisonicsFormat.numSpeakers = (ambisonicsFormat.ambisonicsOrder + 1) * (ambisonicsFormat.ambisonicsOrder + 1); ambisonicsFormat.ambisonicsOrdering = AmbisonicsOrdering.ACN; ambisonicsFormat.ambisonicsNormalization = AmbisonicsNormalization.N3D; ambisonicsFormat.channelOrder = ChannelOrder.Deinterleaved; var error = PhononCore.iplCreateEnvironmentalRenderer(Context.GetContext(), environment.GetEnvironment(), RenderingSettings(), ambisonicsFormat, ref environmentalRenderer); if (error != Error.None) { throw new Exception("Unable to create environment renderer [" + error.ToString() + "]"); } }