窗口是否会在场景每次发生变化时自动重绘?
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);
}
}