Пример #1
0
        static void CSG4Split()
        {
            string layoutsPath = Path.Combine(InternalEditorUtility.unityPreferencesFolder, "Layouts");
            string filePath    = Path.Combine(layoutsPath, "4 Split.wlt");

            EditorUtility.LoadWindowLayout(filePath);

            for (int i = 0; i < 4; i++)
            {
                SceneView sceneView = ((SceneView)SceneView.sceneViews[i]);
                if (EditorHelper.GetSceneViewCamera(sceneView) == EditorHelper.SceneViewCamera.Other)
                {
                    sceneView.orthographic  = false;
                    sceneView.sceneLighting = true;
                }
                else
                {
                    sceneView.orthographic  = true;
                    sceneView.sceneLighting = false;
                    SceneView.SceneViewState state = GetSceneViewState(sceneView);
                    state.SetAllEnabled(false);
                }
            }
            SceneView.RepaintAll();
        }
Пример #2
0
    static bool UpdateSceneViewSkybox ()
    {
        SceneView sceneView = SceneView.lastActiveSceneView;

        if (sceneView == null)
            return false;
        
        SceneView.SceneViewState state = sceneView.sceneViewState;
        state.SetAllEnabled(false);
        sceneView.sceneViewState = state;

        return true;
    }
Пример #3
0
        static Bookmarks()
        {
            instance = new Bookmarks();
            instance.builtin_viewpoints = new List <Viewpoint>();

            var allDisabled = new SceneView.SceneViewState();

            allDisabled.SetAllEnabled(false);

            var perspective_settings = new ViewSettings(Vector3.zero, Quaternion.Euler(30f, -50f, 0), 100f, false, 60f, false, SceneView.GetBuiltinCameraMode(DrawCameraMode.Textured), true, true, new SceneView.SceneViewState(), true);
            var perspective_view     = new Viewpoint("Perspective (Shaded)", perspective_settings, -1 ^ (1 << 5), 0, (Viewpoint.Overrides)(-1) ^ Viewpoint.Overrides.Position);

            instance.builtin_viewpoints.Add(perspective_view);

            var top_settings = new ViewSettings(Vector3.zero, Quaternion.LookRotation(Vector3.down, Vector3.forward), 100f, true, 60f, false, SceneView.GetBuiltinCameraMode(DrawCameraMode.Wireframe), true, false, allDisabled, true);
            var top_view     = new Viewpoint("Top (Wireframe, UI Hidden)", top_settings, -1 ^ (1 << 5), 0, (Viewpoint.Overrides)(-1) ^ Viewpoint.Overrides.Position);

            instance.builtin_viewpoints.Add(top_view);

            var front_settings = new ViewSettings(Vector3.zero, Quaternion.LookRotation(Vector3.forward, Vector3.up), 100f, true, 60f, false, SceneView.GetBuiltinCameraMode(DrawCameraMode.Wireframe), true, false, allDisabled, true);
            var front_view     = new Viewpoint("Front (Wireframe, UI Hidden)", front_settings, -1 ^ (1 << 5), 0, (Viewpoint.Overrides)(-1) ^ Viewpoint.Overrides.Position);

            instance.builtin_viewpoints.Add(front_view);

            var ui_settings = new ViewSettings(Vector3.zero, Quaternion.identity, 100f, true, 60f, true, SceneView.GetBuiltinCameraMode(DrawCameraMode.Textured), true, true, allDisabled, true);
            var ui_view     = new Viewpoint("2D (UI Only)", ui_settings, 0 ^ (1 << 5), 0, () =>
            {
                SceneView.lastActiveSceneView.FrameLayers(Tools.visibleLayers);
            });

            instance.builtin_viewpoints.Add(ui_view);

            instance.viewpoints = new List <Viewpoint>();
            instance.LoadFromJson(path);
            SceneView.duringSceneGui   += SceneView_duringSceneGui;
            EditorApplication.quitting += EditorApplication_quitting;
            EditorSceneManager.activeSceneChangedInEditMode += EditorSceneManager_activeSceneChangedInEditMode;

#if DISCOVERY_MENU
            HotBoxMenuItem hotBoxMenuItem = new HotBoxMenuItem("Views");
            hotBoxMenuItem.Refresh = () => { hotBoxMenuItem.menu = QuickAccessMenu(SceneView.lastActiveSceneView); };
            SceneViewHotBox.menuItems.Add("Views", hotBoxMenuItem);
#endif
        }