Пример #1
0
        private void OnGUI()
        {
            GUILayout.Space(20);

            GUIStyle firstLevelStyle = new GUIStyle(GUI.skin.label);

            firstLevelStyle.fontStyle = FontStyle.Bold;
            EditorGUILayout.LabelField("Quality settings :", firstLevelStyle);
            qualityLevel = (QualityLevel)EditorGUILayout.EnumPopup("", qualityLevel);
            GUILayout.Space(20);
            if (qualityLevel == QualityLevel.Low)
            {
                QualitySettings.antiAliasing     = 0;
                QualitySettings.shadowResolution = ShadowResolution.Low;
            }
            else if (qualityLevel == QualityLevel.Middle)
            {
                QualitySettings.antiAliasing     = 0;
                QualitySettings.shadowResolution = ShadowResolution.Medium;
            }
            else if (qualityLevel == QualityLevel.High)
            {
                QualitySettings.antiAliasing     = 0;
                QualitySettings.shadowResolution = ShadowResolution.High;
            }

            EditorGUILayout.LabelField("HMD type :", firstLevelStyle);
            hmdType = (HMD_TYPE)EditorGUILayout.EnumPopup("", hmdType);
            GUILayout.Space(20);

            EditorGUILayout.LabelField("Target Architectures :", firstLevelStyle);
            targetArchitectures = (Target_Architectures)EditorGUILayout.EnumPopup("", targetArchitectures);
            GUILayout.Space(20);

            EditorGUILayout.LabelField("Player settings :", firstLevelStyle);

            EditorGUILayout.LabelField("Orientation   :  LandscapeLeft");
            EditorGUILayout.LabelField("GraphicsAPIs : OpenglEs2.0");
            EditorGUILayout.LabelField("V Sync Count : Don't Sync");
            EditorGUILayout.LabelField("MultiThreadRendering : Disable ");
            EditorGUILayout.LabelField("Blit Type : Never");
            EditorGUILayout.LabelField("Use 32-bit Display Buffer");
            if (GUILayout.Button("Confirm", GUILayout.Width(100), GUILayout.Height(20)))
            {
                PlayerSettings.defaultInterfaceOrientation = UIOrientation.LandscapeLeft;
                PlayerSettings.SetUseDefaultGraphicsAPIs(BuildTarget.Android, false);
                PlayerSettings.SetGraphicsAPIs(BuildTarget.Android, new UnityEngine.Rendering.GraphicsDeviceType[] {
                    UnityEngine.Rendering.GraphicsDeviceType.OpenGLES2
                });
                PlayerSettings.use32BitDisplayBuffer = true;
#if UNITY_2017_4_OR_NEWER
                PlayerSettings.SetMobileMTRendering(BuildTargetGroup.Android, false);
#else
                PlayerSettings.mobileMTRendering = false;
#endif

#if UNITY_2017_4_OR_NEWER
                PlayerSettings.Android.blitType         = AndroidBlitType.Never;
                PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevel22;
#endif

#if UNITY_2018_4_OR_NEWER
                PlayerSettings.Android.startInFullscreen = true;
                if (targetArchitectures == Target_Architectures.ARMV7)
                {
                    PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARMv7;
                    ReleaseARM64So(false);
                }
                else if (targetArchitectures == Target_Architectures.ARMV7_AND_ARM64)
                {
                    PlayerSettings.Android.targetArchitectures = AndroidArchitecture.All;
                    ReleaseARM64So(true);
                }
#endif

                PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel21;
                PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, "NIBIRU_" + hmdType.ToString());
                if (hmdType == HMD_TYPE.AR)
                {
                    PlayerSettings.productName = PRODUCT_NAME_AR;
                }
                else if (hmdType == HMD_TYPE.VR)
                {
                    PlayerSettings.productName = PRODUCT_NAME_VR;
                }

#if UNITY_2017_1_OR_NEWER
                PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, PACKAGE_NAME_XR);
#else
                PlayerSettings.bundleIdentifier = PACKAGE_NAME_XR;
#endif

                QualitySettings.pixelLightCount      = 1;
                QualitySettings.masterTextureLimit   = 0;
                QualitySettings.anisotropicFiltering = AnisotropicFiltering.ForceEnable;
#if UNITY_5_5_OR_NEWER
                QualitySettings.shadows = ShadowQuality.Disable;
#endif
                // Don't Sync
                QualitySettings.vSyncCount = 0;

                SaveHmdType();
                Close();
            }
        }
Пример #2
0
 void RefreshTargetArchitectures()
 {
     targetArchitectures = IsARM64Enabled() ? Target_Architectures.ARMV7_AND_ARM64 : Target_Architectures.ARMV7;
 }