Пример #1
0
        /// <summary>
        /// Saves the specified spatializer to the audio settings.
        /// </summary>
        public static void SaveSettings(string spatializer)
        {
            if ((spatializer != null) &&
                !InstalledSpatializers.Contains(spatializer))
            {
                Debug.LogError($"{spatializer} is not an installed spatializer.");
                return;
            }

            if (spatializer == null)
            {
                Debug.LogWarning("No spatializer was specified. The application will not support Spatial Sound.");
            }

            SerializedObject   audioMgrSettings  = MixedRealityOptimizeUtils.GetSettingsObject("AudioManager");
            SerializedProperty spatializerPlugin = audioMgrSettings.FindProperty("m_SpatializerPlugin");

            if (spatializerPlugin == null)
            {
                Debug.LogError("Unable to save the spatializer settings. The field could not be located into the Audio Manager settings object.");
                return;
            }

            AudioSettings.SetSpatializerPluginName(spatializer);
            spatializerPlugin.stringValue = spatializer;
            audioMgrSettings.ApplyModifiedProperties();

            // Cache the count of installed spatializers
            MixedRealityProjectPreferences.AudioSpatializerCount = InstalledSpatializers.Length;
        }
Пример #2
0
        public static void Deactivate()
        {
            AudioSettings.SetSpatializerPluginName(null);
            AudioSettingsExt.SetAmbisonicDecoderPluginName(null);
#pragma warning disable CS0618 // Type or member is obsolete
            PlayerSettings.virtualRealitySupported = false;
#pragma warning restore CS0618 // Type or member is obsolete
            PlayerSettings.Android.androidTVCompatibility = false;
            PlayerSettings.Android.ARCoreEnabled          = false;
            ApplleiOS.RequiresARKitSupport = false;
        }
Пример #3
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,
            });
        }
 public override void PerBuildExecute(BuildReleaseType releaseType, BuildPlatform platform, BuildArchitecture architecture, BuildDistribution distribution, DateTime buildTime, ref BuildOptions options, string configKey, string buildPath)
 {
     // Set spatializer plugin
     AudioSettings.SetSpatializerPluginName(SpatializerPlugin);
 }
Пример #5
0
 public static void SetSpatializerPluginName(string spatializerPluginName) => AudioSettings.SetSpatializerPluginName(spatializerPluginName);
Пример #6
0
        public void Activate()
        {
            if (!string.IsNullOrEmpty(Spatializer))
            {
                var hasSpatializer = AudioSettings
                                     .GetSpatializerPluginNames()
                                     .Contains(Spatializer);

                if (hasSpatializer)
                {
                    AudioSettings.SetSpatializerPluginName(Spatializer);
                    AudioSettingsExt.SetAmbisonicDecoderPluginName(Spatializer);
                }
            }

            var buildTargetGroup = GetTargetGroup();

#pragma warning disable CS0618 // Type or member is obsolete
            var supportedVRSDKs = PlayerSettings.GetAvailableVirtualRealitySDKs(buildTargetGroup);
            var vrSDKs          = XRPlatforms
                                  .Distinct()
                                  .Select(x => x.ToString())
                                  .Where(supportedVRSDKs.Contains)
                                  .ToArray();

            var enableVR = vrSDKs.Any(sdk => sdk != "None");
            if (enableVR != PlayerSettings.GetVirtualRealitySupported(buildTargetGroup))
            {
                PlayerSettings.SetVirtualRealitySupported(buildTargetGroup, enableVR);
                if (enableVR && !vrSDKs.Matches(PlayerSettings.GetVirtualRealitySDKs(buildTargetGroup)))
                {
                    PlayerSettings.SetVirtualRealitySDKs(buildTargetGroup, vrSDKs);
                }
            }
#pragma warning restore CS0618 // Type or member is obsolete

            if (buildTargetGroup == BuildTargetGroup.WSA)
            {
                EditorUserBuildSettings.wsaBuildAndRunDeployTarget = WSABuildAndRunDeployTarget.LocalMachine;
                EditorUserBuildSettings.wsaUWPBuildType            = WSAUWPBuildType.D3D;
                PlayerSettings.WSA.inputSource = PlayerSettings.WSAInputSource.IndependentInputSource;
                if (Enum.TryParse(WsaSubtarget, out WSASubtarget sub))
                {
                    EditorUserBuildSettings.wsaSubtarget = sub;
                    PlayerSettings.WSA.SetCapability(PlayerSettings.WSACapability.SpatialPerception, sub == WSASubtarget.HoloLens);
                }
            }
            else if (buildTargetGroup == BuildTargetGroup.Android &&
                     Enum.TryParse(AndroidSdkVersion, out AndroidSdkVersions sdkVersion))
            {
                PlayerSettings.Android.minSdkVersion = (AndroidSdkVersions)Math.Max(
                    (int)PlayerSettings.Android.minSdkVersion,
                    (int)sdkVersion);
            }
            else if (buildTargetGroup == BuildTargetGroup.iOS &&
                     Version.TryParse(IOSVersion, out var v) &&
                     ApplleiOS.TargetOSVersion < v)
            {
                ApplleiOS.TargetOSVersion = v;
            }

            var curDefines = Project.GetDefines();
            curDefines.AddRange(GetCompilerDefines());
            Project.SetDefines(curDefines);
        }