Called when the window gets keyboard focus.
See Also: OnLostFocus.
Preview your camera in ortographic mode when you select the window.
// Simple script that lets you preview your main camera in Orthographic view // when selected.
class OrthographicPreviewer extends EditorWindow {
var renderTexture : RenderTexture; var camera : Camera;
@MenuItem("Examples/Camera Selector") static function Init() { var window = GetWindow(OrthographicPreviewer); window.Show(); }
function OnEnable() { Debug.Log("OnEnable"); renderTexture = new RenderTexture(position.width, position.height, RenderTextureFormat.ARGB32 ); camera = Camera.main; } function OnInspectorUpdate() { this.Repaint(); }
function OnGUI() { if(GUILayout.Button("Close")) { camera.orthographic = false; this.Close(); } if (renderTexture != null) { GUI.DrawTexture(Rect( 0.0f, 50.0f, position.width, position.height), renderTexture); } }
function OnFocus() { Selection.activeTransform = camera.transform; camera.orthographic = true; }
function Update() { if(camera != null) { camera.targetTexture = renderTexture; camera.Render(); camera.targetTexture = null; } if(renderTexture.width != position.width || renderTexture.height != position.height) renderTexture = new RenderTexture(position.width, position.height, RenderTextureFormat.ARGB32 ); }
function OnLostFocus() { camera.orthographic = false; } }
// Simple script that lets you preview your main camera in // Orthographic view when selected.
using UnityEngine; using UnityEditor;
public class ExampleClass : EditorWindow {
RenderTexture renderTexture; Camera camera;
[MenuItem ("Examples/Orthographic Previewer")] static void Init() { ExampleClass window = (ExampleClass)EditorWindow.GetWindow(typeof(ExampleClass),true, "My Empty Window"); window.Show(); }
void OnEnable() { int w = (int)this.position.width; int h = (int)this.position.height;
renderTexture = new RenderTexture(w, h, 32, RenderTextureFormat.ARGB32 ); camera = Camera.main; }
void OnInspectorUpdate() { this.Repaint(); }
void OnGUI() { if(GUILayout.Button("Close")) { camera.orthographic = false; this.Close(); } if (renderTexture != null) { float w = this.position.width; float h = this.position.height; GUI.DrawTexture(new Rect( 0.0f, 50.0f, w, h), renderTexture); } }
void OnFocus() { Selection.activeTransform = camera.transform; camera.orthographic = true; }
void Update() { if(camera != null) { camera.targetTexture = renderTexture; camera.Render(); camera.targetTexture = null; }
int w = (int)this.position.width; int h = (int)this.position.height; if(renderTexture.width != w || renderTexture.height != h) { renderTexture = new RenderTexture(w, h, 32, RenderTextureFormat.ARGB32 ); } }
void OnLostFocus() { camera.orthographic = false; }
}