Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

EditorSceneManager.OpenPreviewScene

Declaration

public static SceneManagement.Scene OpenPreviewScene(string scenePath);

Параметры

Параметр Описание
scenePath Scene файл для открытия.

Возвращаемое значение

Scene Создан предварительный просмотр Scene.

Описание

Открывает ресурс Scene в предварительном просмотре Scene.

Вы можете использовать эту функцию для инструментов, которые требуют доступа к GameObjects, но где сцена не должна отображаться в Hierarchy. Обязательно вызовите ClosePreviewScene для предотвращения утечки сцен.

Дополнительные ресурсы: NewPreviewScene, ClosePreviewScene.

using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;

public static class TestOpenAsPreviewScene { [MenuItem("Assets/Scene Root Names")] static void OpenContextClickedSceneInAPreviewScene() { SceneAsset sceneAsset = Selection.activeObject as SceneAsset; if (sceneAsset == null) { Debug.Log("Context click on a Scene Asset file"); return; }

var assetPath = AssetDatabase.GetAssetPath(sceneAsset); var scene = EditorSceneManager.OpenPreviewScene(assetPath); try { var rootGameObjects = scene.GetRootGameObjects();

Debug.Log($"Root GameObject Names (count: {rootGameObjects.Length})"); foreach (var gameObject in rootGameObjects) Debug.Log(gameObject.name); } finally { EditorSceneManager.ClosePreviewScene(scene); } } }