Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

[Aporte] Hierarchy Icons

Iniciado por COBO, Marzo 12, 2018, 08:33:17 PM

Tema anterior - Siguiente tema
Hola. Aquí les dejo esta simple herramienta para visualizar iconos en la Hierarchy View. Así podrás encontrar los GameObjects mas fácilmente.
 
El enlace de descarga esta en el vídeo:
 


   
eature=oembed" width="480">

 
 
 

Genial! super útil, también muy prolijo el código, es tuyo? Siempre quise meter mano en el hierarchy, es muuuuuy feo y malo el de Unity, cero productividad, cero visual, quizás con esto se puede batallar un poquito más la parte visual.
 
Me tomé el atrevimiento de poner algunos if's en el OnEnable para que se asignen algunos automáticamente (así de cómodo soy) como camaras, luces, canvas, y calculo que más adelante iré agregando (aunque esto es más personal del proyecto que general, sobretodo por managers y esas cosas)
 

void OnEnable()
        {
            m_iconProperty = serializedObject.FindProperty("icon");
            m_tooltipProperty = serializedObject.FindProperty("tooltip");
            m_positionProperty = serializedObject.FindProperty("position");
            if(m_target == null){
                m_target = (HierarchyIcon)target;
                Texture2D iconTexture2D = null;
               
                if(m_target.GetComponent<Camera>()){
                    iconTexture2D = (Texture2D)EditorGUIUtility.Load("Camera Icon");
                }else if(m_target.GetComponent<Light>()){
                    iconTexture2D = (Texture2D)EditorGUIUtility.Load("Light Icon");
                }else if(m_target.GetComponent<Canvas>()){
                    iconTexture2D = (Texture2D)EditorGUIUtility.Load("Canvas Icon");
                }else if(...)){
                    ...
                }
               
                if(iconTexture2D != null)
                    m_target.icon = iconTexture2D;
            }
        }

 
y acá encontre algunos nombres de los iconos internos de Unity:
 
https://gist.github.com/MattRix/c1f7840ae2419d8eb2ec0695448d4321
 
Gracias!


Marzo 13, 2018, 05:10:55 PM #3 Ultima modificación: Marzo 13, 2018, 08:36:37 PM por COBO
Cita de: lightbug date=1520909472Genial! super útil, también muy prolijo el código, es tuyo? Siempre quise meter mano en el hierarchy, es muuuuuy feo y malo el de Unity, cero productividad, cero visual, quizás con esto se puede batallar un poquito más la parte visual.
   
   
      Me tomé el atrevimiento de poner algunos if's en el OnEnable para que se asignen algunos automáticamente (así de cómodo soy) como camaras, luces, canvas, y calculo que más adelante iré agregando (aunque esto es más personal del proyecto que general, sobretodo por managers y esas cosas)
   
   

void OnEnable()
        {
            m_iconProperty = serializedObject.FindProperty("icon");
            m_tooltipProperty = serializedObject.FindProperty("tooltip");
            m_positionProperty = serializedObject.FindProperty("position");
            if(m_target == null){
                m_target = (HierarchyIcon)target;
                Texture2D iconTexture2D = null;
               
                if(m_target.GetComponent<Camera>()){
                    iconTexture2D = (Texture2D)EditorGUIUtility.Load("Camera Icon");
                }else if(m_target.GetComponent<Light>()){
                    iconTexture2D = (Texture2D)EditorGUIUtility.Load("Light Icon");
                }else if(m_target.GetComponent<Canvas>()){
                    iconTexture2D = (Texture2D)EditorGUIUtility.Load("Canvas Icon");
                }else if(...)){
                    ...
                }
               
                if(iconTexture2D != null)
                    m_target.icon = iconTexture2D;
            }
        }

   
      y acá encontre algunos nombres de los iconos internos de Unity:
   
   
      https://gist.github.com/MattRix/c1f7840ae2419d8eb2ec0695448d4321
   
   
      Gracias!
   


Sip. El código es 100% mio. Mi intención al principio solo era mostrar un icono con un tooltip. Como un comentario acerca de la función que cumplía algún gameobject. Pero después me surgió la idea de poder cambiar el icono y agregar mas iconos en diferentes posiciones debido a que por ejemplo el icono del brain de cinemachine en la cámara principal esta siempre a la derecha. Ahora utilizo esta pequeña herramienta en todos mis proyectos :)
 
Sobre los iconos internos de Unity. La herramienta los encuentra todos. Incluso tus texturas en en la vista de proyecto. Solo tienes marcar el checkbox 'All' en la parte inferior derecha de la window para seleccionar los iconos. Entonces podrás seleccionar tus texturas como iconos y otros iconos incorporado de unity.

Etiquetas: