Unity Как мне захватить GameView в моем окне EditorWindow - PullRequest
1 голос
/ 18 марта 2019

Я делаю простое окно leveleditor для своей игры и хочу захватить изображение GameView в это окно leveleditor.Я использую ScreenCapture.CaptureScreenshotAsTexture (), но он дает изображение окна leveleditor, я также пробую Texture2d.ReadPixels, но он дает тот же результат.

enter image description here

1 Ответ

2 голосов
/ 18 марта 2019

Вы можете взглянуть на мой ответ здесь .Я написал скрипт, который может захватывать любое окно, которое в данный момент находится в фокусе.

Вы можете легко применить его, чтобы всегда сделать GameView захваченным окном.Например, используя такое отражение ( источник )

public static EditorWindow GetMainGameView()
{
    var assembly = typeof(EditorWindow).Assembly;
    var type = assembly.GetType("UnityEditor.GameView");
    var gameview = EditorWindow.GetWindow(type);
    return gameview;
}

и заменив

var activeWindow = EditorWindow.focusedWindow;

на

var activeWindow = EditorWindow.GetMainGameView();

Обратите внимание, чтоэто откроет новое окно GameView, если его там еще не было.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...