EditorWindow.autoRepaintOnSceneChange

Switch to Manual
public bool autoRepaintOnSceneChange ;

Description

窗口是否会在场景每次发生变化时自动重绘?


Editor Window that renders what the main camera is "seeing".


// Simple script that lets you render the main camera in an editor Window.

using UnityEngine; using UnityEditor;

public class CameraViewer : EditorWindow { Camera camera = Camera.main; RenderTexture renderTexture;

[MenuItem("Example/Camera viewer")] static void Init() { EditorWindow editorWindow = GetWindow(typeof(CameraViewer)); editorWindow.autoRepaintOnSceneChange = true; editorWindow.Show(); }

public void Awake() { renderTexture = new RenderTexture((int)position.width, (int)position.height, (int)RenderTextureFormat.ARGB32); }

public void Update() { if (camera != null) { camera.targetTexture = renderTexture; camera.Render(); camera.targetTexture = null; } if (renderTexture.width != position.width || renderTexture.height != position.height) renderTexture = new RenderTexture((int)position.width, (int)position.height, (int)RenderTextureFormat.ARGB32); }

void OnGUI() { GUI.DrawTexture(new Rect(0.0f, 0.0f, position.width, position.height), renderTexture); } }