/// <summary> /// Constructor used to set all 3D channel properties. Please refer to the Vivox Core Unreal Developer Guide for recommendations on picking values for different 3D scenarios. /// </summary> /// <param name="audibleDistance">The maximum distance from the listener that a speaker can be heard. Must be > 0</param> /// <param name="conversationalDistance">The distance from the listener within which a speaker’s voice is heard at its original volume. Must be >= 0 and <= audibleDistance.</param> /// <param name="audioFadeIntensityByDistanceaudio">How strong the effect of the audio fade is as the speaker moves away from the listener. Must be >= 0. This value will be rounded to three decimal places</param> /// <param name="audioFadeModel">The model used to determine how loud a voice is at different distances.</param> public Channel3DProperties(int audibleDistance, int conversationalDistance, float audioFadeIntensityByDistanceaudio, AudioFadeModel audioFadeModel) { _audibleDistance = audibleDistance; _conversationalDistance = conversationalDistance; _audioFadeIntensityByDistance = audioFadeIntensityByDistanceaudio; _audioFadeModel = audioFadeModel; }
/// <summary> /// Default constructor that sets fields to their suggested values. /// </summary> public Channel3DProperties() { _audibleDistance = 32; _conversationalDistance = 1; _audioFadeIntensityByDistance = 1.0f; _audioFadeModel = AudioFadeModel.InverseByDistance; }
internal Channel3DProperties(string properties) { Regex regex = new Regex(@"([^-]+)-([^-]+)-([^-]+)-([^-]+)"); var matches = regex.Matches(properties); _audibleDistance = int.Parse(matches[0].Groups[1].Value); _conversationalDistance = int.Parse(matches[0].Groups[2].Value); _audioFadeIntensityByDistance = float.Parse(matches[0].Groups[3].Value); _audioFadeModel = (AudioFadeModel)int.Parse(matches[0].Groups[4].Value); }