/// <summary>
        /// Checks critical project settings and suggests changes to optimize performance via logged warnings
        /// </summary>
        private static void LogConfigurationWarnings()
        {
            if (!PlayerSettings.virtualRealitySupported)
            {
                Debug.LogWarning("<b>Virtual reality supported</b> not enabled. Check <i>XR Settings</i> under <i>Player Settings</i>");
            }

            if (!MixedRealityOptimizeUtils.IsSinglePassInstanced())
            {
                Debug.LogWarning("XR stereo rendering mode not set to <b>Single Pass Instanced</b>. See <i>Mixed Reality Toolkit</i> > <i>Utilities</i> > <i>Optimize Window</i> tool for more information to improve performance");
            }

            // If targeting Windows Mixed Reality platform
            if (MixedRealityOptimizeUtils.IsBuildTargetUWP())
            {
                if (!MixedRealityOptimizeUtils.IsDepthBufferSharingEnabled())
                {
                    // If depth buffer sharing not enabled, advise to enable setting
                    Debug.LogWarning("<b>Depth Buffer Sharing</b> is not enabled to improve hologram stabilization. See <i>Mixed Reality Toolkit</i> > <i>Utilities</i> > <i>Optimize Window</i> tool for more information to improve performance");
                }

                if (!MixedRealityOptimizeUtils.IsWMRDepthBufferFormat16bit())
                {
                    // If depth format is 24-bit, advise to consider 16-bit for performance.
                    Debug.LogWarning("<b>Depth Buffer Sharing</b> has 24-bit depth format selected. Consider using 16-bit for performance. See <i>Mixed Reality Toolkit</i> > <i>Utilities</i> > <i>Optimize Window</i> tool for more information to improve performance");
                }

                if (!AudioSettings.GetSpatializerPluginName().Equals(MSFT_AudioSpatializerPlugin))
                {
                    // If using UWP, developers should use the Microsoft Audio Spatilizer plugin
                    Debug.LogWarning("<b>Audio Spatializer Plugin</b> not currently set to <i>" + MSFT_AudioSpatializerPlugin + "</i>. Switch to <i>" + MSFT_AudioSpatializerPlugin + "</i> under <i>Project Settings</i> > <i>Audio</i> > <i>Spatializer Plugin</i>");
                }
            }
        }
Пример #2
0
 private void Awake()
 {
     audioSource = this.GetComponent <AudioSource>();
     if (!audioSource)
     {
         audioSource = this.gameObject.AddComponent <AudioSource>();
     }
     audioSource.spatialBlend = 1;
     audioSource.playOnAwake  = false;
     if (AudioSettings.GetSpatializerPluginName() != null)
     {
         audioSource.spatialize = true;
     }
     lowPassFilter = this.GetComponent <AudioLowPassFilter>();
     if (!lowPassFilter)
     {
         lowPassFilter = this.gameObject.AddComponent <AudioLowPassFilter>();
     }
     lowPassFilter.enabled = false;
     highPassFilter        = this.GetComponent <AudioHighPassFilter>();
     if (!highPassFilter)
     {
         highPassFilter = this.gameObject.AddComponent <AudioHighPassFilter>();
     }
     highPassFilter.enabled = false;
     reverbFilter           = this.GetComponent <AudioReverbFilter>();
     if (!reverbFilter)
     {
         reverbFilter = this.gameObject.AddComponent <AudioReverbFilter>();
     }
     reverbFilter.reverbPreset = AudioReverbPreset.Off;
     reverbFilter.enabled      = false;
 }
Пример #3
0
        private bool ShouldIncludeSpatializerPluginsInBuild(string path)
        {
            string currentSpatializerPluginName = AudioSettings.GetSpatializerPluginName();

            if (string.Compare(spatializerReadableName, currentSpatializerPluginName, true) == 0)
            {
                return(true);
            }

            return(false);
        }
    void OnEnable()
    {
#if UNITY_2017_2_OR_NEWER
        // Validate the spatializer plugin selection.
        if (AudioSettings.GetSpatializerPluginName() != HoaLibrary.spatializerPluginName)
        {
            Debug.LogWarning(HoaLibrary.spatializerPluginName + " must be selected as the " +
                             "Spatializer Plugin in Edit > Project Settings > Audio.");
        }
#endif  // UNITY_2017_2_OR_NEWER
        // Validate the source output mixer route.
        if (HoaLibrary.MixerGroup == null || audioSource.outputAudioMixerGroup != HoaLibrary.MixerGroup)
        {
            Debug.LogWarning("Make sure AudioSource is routed to a mixer that " + HoaLibrary.rendererPluginName + " is attached to.");
        }
    }
Пример #5
0
        static List <Item> GetAudioItems()
        {
            var spatializerPlugin = new Item("Spatializer Plugin", "Oculus Spatializer")
            {
                IsCorrect  = () => { return(AudioSettings.GetSpatializerPluginName() == "OculusSpatializer"); },
                GetCurrent = () => { return(AudioSettings.GetSpatializerPluginName()); },
                Set        = () => { AudioSettings.SetSpatializerPluginName("OculusSpatializer"); }
            };

            /* No scripting reference for Ambisonic Decoder Plugin
             * var ambisonicDecoderPlugin = new Item("Ambisonic Decoder", "Oculus Spatializer")
             * {
             *      IsCorrect = () => { return AudioSettings.ambi == "OculusSpatializer"; },
             *      GetCurrent = () => { return AudioSettings.GetSpatializerPluginName(); },
             *      Set = () => { AudioSettings.SetSpatializerPluginName("OculusSpatializer"); }
             * };   */

            return(new List <Item>()
            {
                spatializerPlugin,
            });
        }