Comunidad orientada al desarrollo de videojuegos

Unity 3D Editor Window Parte 1 / Serie 1

Bueno me presento soy Kirbyrawr o Jai y estaré escribiendo tutoriales acerca de editores en Unity3D, también haré vídeos acerca de ello, así que no dejéis de seguir esta página.


En Unity3D se nos brinda la posibilidad de poder crear nuestras propias herramientas para extender el editor, tenemos varías que ahora explicaré, así que vamos a empezar con algo sencillo; un visualizador de texturas, pero antes os explicaré los tipos de editores que tiene Unity3D.

Unity 3D tiene dos tipos de editores:

  1. Por un lado tenemos los “inspectores personalizables” (Custom Inspectors), estos inspectores sobrescriben la interfaz del script que queremos personalizar, por lo que dependen de otro script u objeto.
  2. Por otro lado tenemos los “editores de ventana”(Window Editors) que son con los que empezaremos, estos editores por lo general no dependen de ningún otro script.

Bien ahora que sabemos que necesitamos en cada caso vamos a empezar creando nuestro “editor de ventana”, para ello empezaremos creando el script en C#, es importante que creemos una carpeta llamada Editor y metamos ahí el script, o no funcionará.

Aquí tenéis como lo he hecho yo:

Organización editor de ventana

Cuando tengamos esto hecho, nos dispondremos a escribir el código que nos permitirá abrir la ventana del visualizador de texturas, para abrir el IDE de Unity haced doble click en el archivo que hemos creado, nos aparecerá algo como esto:

Código inicial de nuestro visualizador de texturas:

Código inicial del editor de ventana

Para que Unity lo reconozca como un editor de ventana en vez un script normal, tendremos que hacer unas modificaciones a este código, para ello empezaremos añadiendo la librería “UnityEditor”:

using UnityEditor;

Cuando hayamos hecho esto, extenderemos la clase a EditorWindow:

public class TextureVisualizer : EditorWindow {

Con esto, Unity ya lo reconocerá como un editor de ventana, pero necesitamos crear una instancia de esa ventana, para ello añadiremos primero este script al menu window de Unity mediante este código, el cual se insertará dentro de la clase.

[MenuItem("Window/Texture Visualizer")]

Y justo debajo de este código escribiremos la función estática  para crear la instancia de nuestro visualizador de texturas:

static void Init(){
GetWindow();
}

Hecho esto, el script nos quedará así:

 

Y nos habrá aparecido en el menu window de Unity un nuevo botón para abrir la ventana:

 

Si presionamos este botón se nos abrirá la ventana de nuestro futuro visualizador de texturas:

shot_141105_170922

 

Nos vemos en el siguiente tutorial!

Un saludo, Kirbyrawr.

, , ,

Leave a Reply